vendor: 2,248 bytes, lines 1-79
1/*! 2 * jQuery JavaScript Library v3.7.1 3 * https://jquery.com/ 4 * 5 * Copyright OpenJS Foundation and other contributors 6 * Released under the MIT license 7 * https://jquery.org/license 8 * 9 * Date: 2023-08-28T13:37Z 10 */ 11( function( global, factory ) { 12 13 "use strict"; 14 15 if ( typeof module === "object" && typeof module.exports === "object" ) { 16 17 // For CommonJS and CommonJS-like environments where a proper `window` 18 // is present, execute the factory and get jQuery. 19 // For environments that do not have a `window` with a `document` 20 // (such as Node.js), expose a factory as module.exports. 21 // This accentuates the need for the creation of a real `window`. 22 // e.g. var jQuery = require("jquery")(window); 23 // See ticket trac-14549 for more info. 24 module.exports = global.document ? 25 factory( global, true ) : 26 function( w ) { 27 if ( !w.document ) { 28 throw new Error( "jQuery requires a window with a document" ); 29 } 30 return factory( w ); 31 }; 32 } else { 33 factory( global ); 34 } 35 36// Pass this if window is not defined yet 37} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) { 38 39// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1 40// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode 41// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common 42// enough that all such attempts are guarded in a try block. 43"use strict"; 44 45var arr = []; 46 47var getProto = Object.getPrototypeOf; 48 49var slice = arr.slice; 50 51var flat = arr.flat ? function( array ) { 52 return arr.flat.call( array ); 53} : function( array ) { 54 return arr.concat.apply( [], array ); 55}; 56 57 58var push = arr.push; 59 60var indexOf = arr.indexOf; 61 62var class2type = {}; 63 64var toString = class2type.toString; 65 66var hasOwn = class2type.hasOwnProperty; 67 68var fnToString = hasOwn.toString; 69 70var ObjectFunctionString = fnToString.call( Object ); 71 72var support = {}; 73 74var isFunction = function isFunction( obj ) { 75 76 // Support: Chrome <=57, Firefox <=52 77 // In some browsers, typeof returns "function" for HTML <object> elements 78 // (i.e., `typeof document.createElement( "object" ) === "function"`). 79 // We don't want to classify *any* DOM node as a function.
vendor: 10,176 bytes, lines 80-508
80 // Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5 81 // Plus for old WebKit, typeof returns "function" for HTML collections 82 // (e.g., `typeof document.getElementsByTagName("div") === "function"`). (gh-4756) 83 return typeof obj === "function" && typeof obj.nodeType !== "number" && 84 typeof obj.item !== "function"; 85 }; 86 87 88var isWindow = function isWindow( obj ) { 89 return obj != null && obj === obj.window; 90 }; 91 92 93var document = window.document; 94 95 96 97 var preservedScriptAttributes = { 98 type: true, 99 src: true, 100 nonce: true, 101 noModule: true 102 }; 103 104 function DOMEval( code, node, doc ) { 105 doc = doc || document; 106 107 var i, val, 108 script = doc.createElement( "script" ); 109 110 script.text = code; 111 if ( node ) { 112 for ( i in preservedScriptAttributes ) { 113 114 // Support: Firefox 64+, Edge 18+ 115 // Some browsers don't support the "nonce" property on scripts. 116 // On the other hand, just using `getAttribute` is not enough as 117 // the `nonce` attribute is reset to an empty string whenever it 118 // becomes browsing-context connected. 119 // See https://github.com/whatwg/html/issues/2369 120 // See https://html.spec.whatwg.org/#nonce-attributes 121 // The `node.getAttribute` check was added for the sake of 122 // `jQuery.globalEval` so that it can fake a nonce-containing node 123 // via an object. 124 val = node[ i ] || node.getAttribute && node.getAttribute( i ); 125 if ( val ) { 126 script.setAttribute( i, val ); 127 } 128 } 129 } 130 doc.head.appendChild( script ).parentNode.removeChild( script ); 131 } 132 133 134function toType( obj ) { 135 if ( obj == null ) { 136 return obj + ""; 137 } 138 139 // Support: Android <=2.3 only (functionish RegExp) 140 return typeof obj === "object" || typeof obj === "function" ? 141 class2type[ toString.call( obj ) ] || "object" : 142 typeof obj; 143} 144/* global Symbol */ 145// Defining this global in .eslintrc.json would create a danger of using the global 146// unguarded in another place, it seems safer to define global only for this module 147 148 149 150var version = "3.7.1", 151 152 rhtmlSuffix = /HTML$/i, 153 154 // Define a local copy of jQuery 155 jQuery = function( selector, context ) { 156 157 // The jQuery object is actually just the init constructor 'enhanced' 158 // Need init if jQuery is called (just allow error to be thrown if not included) 159 return new jQuery.fn.init( selector, context ); 160 }; 161 162jQuery.fn = jQuery.prototype = { 163 164 // The current version of jQuery being used 165 jquery: version, 166 167 constructor: jQuery, 168 169 // The default length of a jQuery object is 0 170 length: 0, 171 172 toArray: function() { 173 return slice.call( this ); 174 }, 175 176 // Get the Nth element in the matched element set OR 177 // Get the whole matched element set as a clean array 178 get: function( num ) { 179 180 // Return all the elements in a clean array 181 if ( num == null ) { 182 return slice.call( this ); 183 } 184 185 // Return just the one element from the set 186 return num < 0 ? this[ num + this.length ] : this[ num ]; 187 }, 188 189 // Take an array of elements and push it onto the stack 190 // (returning the new matched element set) 191 pushStack: function( elems ) { 192 193 // Build a new jQuery matched element set 194 var ret = jQuery.merge( this.constructor(), elems ); 195 196 // Add the old object onto the stack (as a reference) 197 ret.prevObject = this; 198 199 // Return the newly-formed element set 200 return ret; 201 }, 202 203 // Execute a callback for every element in the matched set. 204 each: function( callback ) { 205 return jQuery.each( this, callback ); 206 }, 207 208 map: function( callback ) { 209 return this.pushStack( jQuery.map( this, function( elem, i ) { 210 return callback.call( elem, i, elem ); 211 } ) ); 212 }, 213 214 slice: function() { 215 return this.pushStack( slice.apply( this, arguments ) ); 216 }, 217 218 first: function() { 219 return this.eq( 0 ); 220 }, 221 222 last: function() { 223 return this.eq( -1 ); 224 }, 225 226 even: function() { 227 return this.pushStack( jQuery.grep( this, function( _elem, i ) { 228 return ( i + 1 ) % 2; 229 } ) ); 230 }, 231 232 odd: function() { 233 return this.pushStack( jQuery.grep( this, function( _elem, i ) { 234 return i % 2; 235 } ) ); 236 }, 237 238 eq: function( i ) { 239 var len = this.length, 240 j = +i + ( i < 0 ? len : 0 ); 241 return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); 242 }, 243 244 end: function() { 245 return this.prevObject || this.constructor(); 246 }, 247 248 // For internal use only. 249 // Behaves like an Array's method, not like a jQuery method. 250 push: push, 251 sort: arr.sort, 252 splice: arr.splice 253}; 254 255jQuery.extend = jQuery.fn.extend = function() { 256 var options, name, src, copy, copyIsArray, clone, 257 target = arguments[ 0 ] || {}, 258 i = 1, 259 length = arguments.length, 260 deep = false; 261 262 // Handle a deep copy situation 263 if ( typeof target === "boolean" ) { 264 deep = target; 265 266 // Skip the boolean and the target 267 target = arguments[ i ] || {}; 268 i++; 269 } 270 271 // Handle case when target is a string or something (possible in deep copy) 272 if ( typeof target !== "object" && !isFunction( target ) ) { 273 target = {}; 274 } 275 276 // Extend jQuery itself if only one argument is passed 277 if ( i === length ) { 278 target = this; 279 i--; 280 } 281 282 for ( ; i < length; i++ ) { 283 284 // Only deal with non-null/undefined values 285 if ( ( options = arguments[ i ] ) != null ) { 286 287 // Extend the base object 288 for ( name in options ) { 289 copy = options[ name ]; 290 291 // Prevent Object.prototype pollution 292 // Prevent never-ending loop 293 if ( name === "__proto__" || target === copy ) { 294 continue; 295 } 296 297 // Recurse if we're merging plain objects or arrays 298 if ( deep && copy && ( jQuery.isPlainObject( copy ) || 299 ( copyIsArray = Array.isArray( copy ) ) ) ) { 300 src = target[ name ]; 301 302 // Ensure proper type for the source value 303 if ( copyIsArray && !Array.isArray( src ) ) { 304 clone = []; 305 } else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) { 306 clone = {}; 307 } else { 308 clone = src; 309 } 310 copyIsArray = false; 311 312 // Never move original objects, clone them 313 target[ name ] = jQuery.extend( deep, clone, copy ); 314 315 // Don't bring in undefined values 316 } else if ( copy !== undefined ) { 317 target[ name ] = copy; 318 } 319 } 320 } 321 } 322 323 // Return the modified object 324 return target; 325}; 326 327jQuery.extend( { 328 329 // Unique for each copy of jQuery on the page 330 expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), 331 332 // Assume jQuery is ready without the ready module 333 isReady: true, 334 335 error: function( msg ) { 336 throw new Error( msg ); 337 }, 338 339 noop: function() {}, 340 341 isPlainObject: function( obj ) { 342 var proto, Ctor; 343 344 // Detect obvious negatives 345 // Use toString instead of jQuery.type to catch host objects 346 if ( !obj || toString.call( obj ) !== "[object Object]" ) { 347 return false; 348 } 349 350 proto = getProto( obj ); 351 352 // Objects with no prototype (e.g., `Object.create( null )`) are plain 353 if ( !proto ) { 354 return true; 355 } 356 357 // Objects with prototype are plain iff they were constructed by a global Object function 358 Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor; 359 return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString; 360 }, 361 362 isEmptyObject: function( obj ) { 363 var name; 364 365 for ( name in obj ) { 366 return false; 367 } 368 return true; 369 }, 370 371 // Evaluates a script in a provided context; falls back to the global one 372 // if not specified. 373 globalEval: function( code, options, doc ) { 374 DOMEval( code, { nonce: options && options.nonce }, doc ); 375 }, 376 377 each: function( obj, callback ) { 378 var length, i = 0; 379 380 if ( isArrayLike( obj ) ) { 381 length = obj.length; 382 for ( ; i < length; i++ ) { 383 if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { 384 break; 385 } 386 } 387 } else { 388 for ( i in obj ) { 389 if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { 390 break; 391 } 392 } 393 } 394 395 return obj; 396 }, 397 398 399 // Retrieve the text value of an array of DOM nodes 400 text: function( elem ) { 401 var node, 402 ret = "", 403 i = 0, 404 nodeType = elem.nodeType; 405 406 if ( !nodeType ) { 407 408 // If no nodeType, this is expected to be an array 409 while ( ( node = elem[ i++ ] ) ) { 410 411 // Do not traverse comment nodes 412 ret += jQuery.text( node ); 413 } 414 } 415 if ( nodeType === 1 || nodeType === 11 ) { 416 return elem.textContent; 417 } 418 if ( nodeType === 9 ) { 419 return elem.documentElement.textContent; 420 } 421 if ( nodeType === 3 || nodeType === 4 ) { 422 return elem.nodeValue; 423 } 424 425 // Do not include comment or processing instruction nodes 426 427 return ret; 428 }, 429 430 // results is for internal usage only 431 makeArray: function( arr, results ) { 432 var ret = results || []; 433 434 if ( arr != null ) { 435 if ( isArrayLike( Object( arr ) ) ) { 436 jQuery.merge( ret, 437 typeof arr === "string" ? 438 [ arr ] : arr 439 ); 440 } else { 441 push.call( ret, arr ); 442 } 443 } 444 445 return ret; 446 }, 447 448 inArray: function( elem, arr, i ) { 449 return arr == null ? -1 : indexOf.call( arr, elem, i ); 450 }, 451 452 isXMLDoc: function( elem ) { 453 var namespace = elem && elem.namespaceURI, 454 docElem = elem && ( elem.ownerDocument || elem ).documentElement; 455 456 // Assume HTML when documentElement doesn't yet exist, such as inside 457 // document fragments. 458 return !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || "HTML" ); 459 }, 460 461 // Support: Android <=4.0 only, PhantomJS 1 only 462 // push.apply(_, arraylike) throws on ancient WebKit 463 merge: function( first, second ) { 464 var len = +second.length, 465 j = 0, 466 i = first.length; 467 468 for ( ; j < len; j++ ) { 469 first[ i++ ] = second[ j ]; 470 } 471 472 first.length = i; 473 474 return first; 475 }, 476 477 grep: function( elems, callback, invert ) { 478 var callbackInverse, 479 matches = [], 480 i = 0, 481 length = elems.length, 482 callbackExpect = !invert; 483 484 // Go through the array, only saving the items 485 // that pass the validator function 486 for ( ; i < length; i++ ) { 487 callbackInverse = !callback( elems[ i ], i ); 488 if ( callbackInverse !== callbackExpect ) { 489 matches.push( elems[ i ] ); 490 } 491 } 492 493 return matches; 494 }, 495 496 // arg is for internal usage only 497 map: function( elems, callback, arg ) { 498 var length, value, 499 i = 0, 500 ret = []; 501 502 // Go through the array, translating each of the items to their new values 503 if ( isArrayLike( elems ) ) { 504 length = elems.length; 505 for ( ; i < length; i++ ) { 506 value = callback( elems[ i ], i, arg ); 507 508 if ( value != null ) {
vendor: 17,514 bytes, lines 509-1130
509 ret.push( value ); 510 } 511 } 512 513 // Go through every key on the object, 514 } else { 515 for ( i in elems ) { 516 value = callback( elems[ i ], i, arg ); 517 518 if ( value != null ) { 519 ret.push( value ); 520 } 521 } 522 } 523 524 // Flatten any nested arrays 525 return flat( ret ); 526 }, 527 528 // A global GUID counter for objects 529 guid: 1, 530 531 // jQuery.support is not used in Core but other projects attach their 532 // properties to it so it needs to exist. 533 support: support 534} ); 535 536if ( typeof Symbol === "function" ) { 537 jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; 538} 539 540// Populate the class2type map 541jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), 542 function( _i, name ) { 543 class2type[ "[object " + name + "]" ] = name.toLowerCase(); 544 } ); 545 546function isArrayLike( obj ) { 547 548 // Support: real iOS 8.2 only (not reproducible in simulator) 549 // `in` check used to prevent JIT error (gh-2145) 550 // hasOwn isn't used here due to false negatives 551 // regarding Nodelist length in IE 552 var length = !!obj && "length" in obj && obj.length, 553 type = toType( obj ); 554 555 if ( isFunction( obj ) || isWindow( obj ) ) { 556 return false; 557 } 558 559 return type === "array" || length === 0 || 560 typeof length === "number" && length > 0 && ( length - 1 ) in obj; 561} 562 563 564function nodeName( elem, name ) { 565 566 return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); 567 568} 569var pop = arr.pop; 570 571 572var sort = arr.sort; 573 574 575var splice = arr.splice; 576 577 578var whitespace = "[\\x20\\t\\r\\n\\f]"; 579 580 581var rtrimCSS = new RegExp( 582 "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", 583 "g" 584); 585 586 587 588 589// Note: an element does not contain itself 590jQuery.contains = function( a, b ) { 591 var bup = b && b.parentNode; 592 593 return a === bup || !!( bup && bup.nodeType === 1 && ( 594 595 // Support: IE 9 - 11+ 596 // IE doesn't have `contains` on SVG. 597 a.contains ? 598 a.contains( bup ) : 599 a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 600 ) ); 601}; 602 603 604 605 606// CSS string/identifier serialization 607// https://drafts.csswg.org/cssom/#common-serializing-idioms 608var rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g; 609 610function fcssescape( ch, asCodePoint ) { 611 if ( asCodePoint ) { 612 613 // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER 614 if ( ch === "\0" ) { 615 return "\uFFFD"; 616 } 617 618 // Control characters and (dependent upon position) numbers get escaped as code points 619 return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " "; 620 } 621 622 // Other potentially-special ASCII characters get backslash-escaped 623 return "\\" + ch; 624} 625 626jQuery.escapeSelector = function( sel ) { 627 return ( sel + "" ).replace( rcssescape, fcssescape ); 628}; 629 630 631 632 633var preferredDoc = document, 634 pushNative = push; 635 636( function() { 637 638var i, 639 Expr, 640 outermostContext, 641 sortInput, 642 hasDuplicate, 643 push = pushNative, 644 645 // Local document vars 646 document, 647 documentElement, 648 documentIsHTML, 649 rbuggyQSA, 650 matches, 651 652 // Instance-specific data 653 expando = jQuery.expando, 654 dirruns = 0, 655 done = 0, 656 classCache = createCache(), 657 tokenCache = createCache(), 658 compilerCache = createCache(), 659 nonnativeSelectorCache = createCache(), 660 sortOrder = function( a, b ) { 661 if ( a === b ) { 662 hasDuplicate = true; 663 } 664 return 0; 665 }, 666 667 booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|" + 668 "loop|multiple|open|readonly|required|scoped", 669 670 // Regular expressions 671 672 // https://www.w3.org/TR/css-syntax-3/#ident-token-diagram 673 identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace + 674 "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", 675 676 // Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors 677 attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + 678 679 // Operator (capture 2) 680 "*([*^$|!~]?=)" + whitespace + 681 682 // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" 683 "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + 684 whitespace + "*\\]", 685 686 pseudos = ":(" + identifier + ")(?:\\((" + 687 688 // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: 689 // 1. quoted (capture 3; capture 4 or capture 5) 690 "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + 691 692 // 2. simple (capture 6) 693 "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" + 694 695 // 3. anything else (capture 2) 696 ".*" + 697 ")\\)|)", 698 699 // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter 700 rwhitespace = new RegExp( whitespace + "+", "g" ), 701 702 rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), 703 rleadingCombinator = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + 704 whitespace + "*" ), 705 rdescend = new RegExp( whitespace + "|>" ), 706 707 rpseudo = new RegExp( pseudos ), 708 ridentifier = new RegExp( "^" + identifier + "$" ), 709 710 matchExpr = { 711 ID: new RegExp( "^#(" + identifier + ")" ), 712 CLASS: new RegExp( "^\\.(" + identifier + ")" ), 713 TAG: new RegExp( "^(" + identifier + "|[*])" ), 714 ATTR: new RegExp( "^" + attributes ), 715 PSEUDO: new RegExp( "^" + pseudos ), 716 CHILD: new RegExp( 717 "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + 718 whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + 719 whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), 720 bool: new RegExp( "^(?:" + booleans + ")$", "i" ), 721 722 // For use in libraries implementing .is() 723 // We use this for POS matching in `select` 724 needsContext: new RegExp( "^" + whitespace + 725 "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + 726 "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) 727 }, 728 729 rinputs = /^(?:input|select|textarea|button)$/i, 730 rheader = /^h\d$/i, 731 732 // Easily-parseable/retrievable ID or TAG or CLASS selectors 733 rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, 734 735 rsibling = /[+~]/, 736 737 // CSS escapes 738 // https://www.w3.org/TR/CSS21/syndata.html#escaped-characters 739 runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + 740 "?|\\\\([^\\r\\n\\f])", "g" ), 741 funescape = function( escape, nonHex ) { 742 var high = "0x" + escape.slice( 1 ) - 0x10000; 743 744 if ( nonHex ) { 745 746 // Strip the backslash prefix from a non-hex escape sequence 747 return nonHex; 748 } 749 750 // Replace a hexadecimal escape sequence with the encoded Unicode code point 751 // Support: IE <=11+ 752 // For values outside the Basic Multilingual Plane (BMP), manually construct a 753 // surrogate pair 754 return high < 0 ? 755 String.fromCharCode( high + 0x10000 ) : 756 String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); 757 }, 758 759 // Used for iframes; see `setDocument`. 760 // Support: IE 9 - 11+, Edge 12 - 18+ 761 // Removing the function wrapper causes a "Permission Denied" 762 // error in IE/Edge. 763 unloadHandler = function() { 764 setDocument(); 765 }, 766 767 inDisabledFieldset = addCombinator( 768 function( elem ) { 769 return elem.disabled === true && nodeName( elem, "fieldset" ); 770 }, 771 { dir: "parentNode", next: "legend" } 772 ); 773 774// Support: IE <=9 only 775// Accessing document.activeElement can throw unexpectedly 776// https://bugs.jquery.com/ticket/13393 777function safeActiveElement() { 778 try { 779 return document.activeElement; 780 } catch ( err ) { } 781} 782 783// Optimize for push.apply( _, NodeList ) 784try { 785 push.apply( 786 ( arr = slice.call( preferredDoc.childNodes ) ), 787 preferredDoc.childNodes 788 ); 789 790 // Support: Android <=4.0 791 // Detect silently failing push.apply 792 // eslint-disable-next-line no-unused-expressions 793 arr[ preferredDoc.childNodes.length ].nodeType; 794} catch ( e ) { 795 push = { 796 apply: function( target, els ) { 797 pushNative.apply( target, slice.call( els ) ); 798 }, 799 call: function( target ) { 800 pushNative.apply( target, slice.call( arguments, 1 ) ); 801 } 802 }; 803} 804 805function find( selector, context, results, seed ) { 806 var m, i, elem, nid, match, groups, newSelector, 807 newContext = context && context.ownerDocument, 808 809 // nodeType defaults to 9, since context defaults to document 810 nodeType = context ? context.nodeType : 9; 811 812 results = results || []; 813 814 // Return early from calls with invalid selector or context 815 if ( typeof selector !== "string" || !selector || 816 nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { 817 818 return results; 819 } 820 821 // Try to shortcut find operations (as opposed to filters) in HTML documents 822 if ( !seed ) { 823 setDocument( context ); 824 context = context || document; 825 826 if ( documentIsHTML ) { 827 828 // If the selector is sufficiently simple, try using a "get*By*" DOM method 829 // (excepting DocumentFragment context, where the methods don't exist) 830 if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) { 831 832 // ID selector 833 if ( ( m = match[ 1 ] ) ) { 834 835 // Document context 836 if ( nodeType === 9 ) { 837 if ( ( elem = context.getElementById( m ) ) ) { 838 839 // Support: IE 9 only 840 // getElementById can match elements by name instead of ID 841 if ( elem.id === m ) { 842 push.call( results, elem ); 843 return results; 844 } 845 } else { 846 return results; 847 } 848 849 // Element context 850 } else { 851 852 // Support: IE 9 only 853 // getElementById can match elements by name instead of ID 854 if ( newContext && ( elem = newContext.getElementById( m ) ) && 855 find.contains( context, elem ) && 856 elem.id === m ) { 857 858 push.call( results, elem ); 859 return results; 860 } 861 } 862 863 // Type selector 864 } else if ( match[ 2 ] ) { 865 push.apply( results, context.getElementsByTagName( selector ) ); 866 return results; 867 868 // Class selector 869 } else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) { 870 push.apply( results, context.getElementsByClassName( m ) ); 871 return results; 872 } 873 } 874 875 // Take advantage of querySelectorAll 876 if ( !nonnativeSelectorCache[ selector + " " ] && 877 ( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) { 878 879 newSelector = selector; 880 newContext = context; 881 882 // qSA considers elements outside a scoping root when evaluating child or 883 // descendant combinators, which is not what we want. 884 // In such cases, we work around the behavior by prefixing every selector in the 885 // list with an ID selector referencing the scope context. 886 // The technique has to be used as well when a leading combinator is used 887 // as such selectors are not recognized by querySelectorAll. 888 // Thanks to Andrew Dupont for this technique. 889 if ( nodeType === 1 && 890 ( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) { 891 892 // Expand context for sibling selectors 893 newContext = rsibling.test( selector ) && testContext( context.parentNode ) || 894 context; 895 896 // We can use :scope instead of the ID hack if the browser 897 // supports it & if we're not changing the context. 898 // Support: IE 11+, Edge 17 - 18+ 899 // IE/Edge sometimes throw a "Permission denied" error when 900 // strict-comparing two documents; shallow comparisons work. 901 // eslint-disable-next-line eqeqeq 902 if ( newContext != context || !support.scope ) { 903 904 // Capture the context ID, setting it first if necessary 905 if ( ( nid = context.getAttribute( "id" ) ) ) { 906 nid = jQuery.escapeSelector( nid ); 907 } else { 908 context.setAttribute( "id", ( nid = expando ) ); 909 } 910 } 911 912 // Prefix every selector in the list 913 groups = tokenize( selector ); 914 i = groups.length; 915 while ( i-- ) { 916 groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " + 917 toSelector( groups[ i ] ); 918 } 919 newSelector = groups.join( "," ); 920 } 921 922 try { 923 push.apply( results, 924 newContext.querySelectorAll( newSelector ) 925 ); 926 return results; 927 } catch ( qsaError ) { 928 nonnativeSelectorCache( selector, true ); 929 } finally { 930 if ( nid === expando ) { 931 context.removeAttribute( "id" ); 932 } 933 } 934 } 935 } 936 } 937 938 // All others 939 return select( selector.replace( rtrimCSS, "$1" ), context, results, seed ); 940} 941 942/** 943 * Create key-value caches of limited size 944 * @returns {function(string, object)} Returns the Object data after storing it on itself with 945 * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) 946 * deleting the oldest entry 947 */ 948function createCache() { 949 var keys = []; 950 951 function cache( key, value ) { 952 953 // Use (key + " ") to avoid collision with native prototype properties 954 // (see https://github.com/jquery/sizzle/issues/157) 955 if ( keys.push( key + " " ) > Expr.cacheLength ) { 956 957 // Only keep the most recent entries 958 delete cache[ keys.shift() ]; 959 } 960 return ( cache[ key + " " ] = value ); 961 } 962 return cache; 963} 964 965/** 966 * Mark a function for special use by jQuery selector module 967 * @param {Function} fn The function to mark 968 */ 969function markFunction( fn ) { 970 fn[ expando ] = true; 971 return fn; 972} 973 974/** 975 * Support testing using an element 976 * @param {Function} fn Passed the created element and returns a boolean result 977 */ 978function assert( fn ) { 979 var el = document.createElement( "fieldset" ); 980 981 try { 982 return !!fn( el ); 983 } catch ( e ) { 984 return false; 985 } finally { 986 987 // Remove from its parent by default 988 if ( el.parentNode ) { 989 el.parentNode.removeChild( el ); 990 } 991 992 // release memory in IE 993 el = null; 994 } 995} 996 997/** 998 * Returns a function to use in pseudos for input types 999 * @param {String} type 1000 */ 1001function createInputPseudo( type ) { 1002 return function( elem ) { 1003 return nodeName( elem, "input" ) && elem.type === type; 1004 }; 1005} 1006 1007/** 1008 * Returns a function to use in pseudos for buttons 1009 * @param {String} type 1010 */ 1011function createButtonPseudo( type ) { 1012 return function( elem ) { 1013 return ( nodeName( elem, "input" ) || nodeName( elem, "button" ) ) && 1014 elem.type === type; 1015 }; 1016} 1017 1018/** 1019 * Returns a function to use in pseudos for :enabled/:disabled 1020 * @param {Boolean} disabled true for :disabled; false for :enabled 1021 */ 1022function createDisabledPseudo( disabled ) { 1023 1024 // Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable 1025 return function( elem ) { 1026 1027 // Only certain elements can match :enabled or :disabled 1028 // https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled 1029 // https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled 1030 if ( "form" in elem ) { 1031 1032 // Check for inherited disabledness on relevant non-disabled elements: 1033 // * listed form-associated elements in a disabled fieldset 1034 // https://html.spec.whatwg.org/multipage/forms.html#category-listed 1035 // https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled 1036 // * option elements in a disabled optgroup 1037 // https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled 1038 // All such elements have a "form" property. 1039 if ( elem.parentNode && elem.disabled === false ) { 1040 1041 // Option elements defer to a parent optgroup if present 1042 if ( "label" in elem ) { 1043 if ( "label" in elem.parentNode ) { 1044 return elem.parentNode.disabled === disabled; 1045 } else { 1046 return elem.disabled === disabled; 1047 } 1048 } 1049 1050 // Support: IE 6 - 11+ 1051 // Use the isDisabled shortcut property to check for disabled fieldset ancestors 1052 return elem.isDisabled === disabled || 1053 1054 // Where there is no isDisabled, check manually 1055 elem.isDisabled !== !disabled && 1056 inDisabledFieldset( elem ) === disabled; 1057 } 1058 1059 return elem.disabled === disabled; 1060 1061 // Try to winnow out elements that can't be disabled before trusting the disabled property. 1062 // Some victims get caught in our net (label, legend, menu, track), but it shouldn't 1063 // even exist on them, let alone have a boolean value. 1064 } else if ( "label" in elem ) { 1065 return elem.disabled === disabled; 1066 } 1067 1068 // Remaining elements are neither :enabled nor :disabled 1069 return false; 1070 }; 1071} 1072 1073/** 1074 * Returns a function to use in pseudos for positionals 1075 * @param {Function} fn 1076 */ 1077function createPositionalPseudo( fn ) { 1078 return markFunction( function( argument ) { 1079 argument = +argument; 1080 return markFunction( function( seed, matches ) { 1081 var j, 1082 matchIndexes = fn( [], seed.length, argument ), 1083 i = matchIndexes.length; 1084 1085 // Match elements found at the specified indexes 1086 while ( i-- ) { 1087 if ( seed[ ( j = matchIndexes[ i ] ) ] ) { 1088 seed[ j ] = !( matches[ j ] = seed[ j ] ); 1089 } 1090 } 1091 } ); 1092 } ); 1093} 1094 1095/** 1096 * Checks a node for validity as a jQuery selector context 1097 * @param {Element|Object=} context 1098 * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value 1099 */ 1100function testContext( context ) { 1101 return context && typeof context.getElementsByTagName !== "undefined" && context; 1102} 1103 1104/** 1105 * Sets document-related variables once based on the current document 1106 * @param {Element|Object} [node] An element or document object to use to set the document 1107 * @returns {Object} Returns the current document 1108 */ 1109function setDocument( node ) { 1110 var subWindow, 1111 doc = node ? node.ownerDocument || node : preferredDoc; 1112 1113 // Return early if doc is invalid or already selected 1114 // Support: IE 11+, Edge 17 - 18+ 1115 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1116 // two documents; shallow comparisons work. 1117 // eslint-disable-next-line eqeqeq 1118 if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) { 1119 return document; 1120 } 1121 1122 // Update global variables 1123 document = doc; 1124 documentElement = document.documentElement; 1125 documentIsHTML = !jQuery.isXMLDoc( document ); 1126 1127 // Support: iOS 7 only, IE 9 - 11+ 1128 // Older browsers didn't support unprefixed `matches`. 1129 matches = documentElement.matches || 1130 documentElement.webkitMatchesSelector ||
vendor: 4,667 bytes, lines 1131-1282
1131 documentElement.msMatchesSelector; 1132 1133 // Support: IE 9 - 11+, Edge 12 - 18+ 1134 // Accessing iframe documents after unload throws "permission denied" errors 1135 // (see trac-13936). 1136 // Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`, 1137 // all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well. 1138 if ( documentElement.msMatchesSelector && 1139 1140 // Support: IE 11+, Edge 17 - 18+ 1141 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1142 // two documents; shallow comparisons work. 1143 // eslint-disable-next-line eqeqeq 1144 preferredDoc != document && 1145 ( subWindow = document.defaultView ) && subWindow.top !== subWindow ) { 1146 1147 // Support: IE 9 - 11+, Edge 12 - 18+ 1148 subWindow.addEventListener( "unload", unloadHandler ); 1149 } 1150 1151 // Support: IE <10 1152 // Check if getElementById returns elements by name 1153 // The broken getElementById methods don't pick up programmatically-set names, 1154 // so use a roundabout getElementsByName test 1155 support.getById = assert( function( el ) { 1156 documentElement.appendChild( el ).id = jQuery.expando; 1157 return !document.getElementsByName || 1158 !document.getElementsByName( jQuery.expando ).length; 1159 } ); 1160 1161 // Support: IE 9 only 1162 // Check to see if it's possible to do matchesSelector 1163 // on a disconnected node. 1164 support.disconnectedMatch = assert( function( el ) { 1165 return matches.call( el, "*" ); 1166 } ); 1167 1168 // Support: IE 9 - 11+, Edge 12 - 18+ 1169 // IE/Edge don't support the :scope pseudo-class. 1170 support.scope = assert( function() { 1171 return document.querySelectorAll( ":scope" ); 1172 } ); 1173 1174 // Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only 1175 // Make sure the `:has()` argument is parsed unforgivingly. 1176 // We include `*` in the test to detect buggy implementations that are 1177 // _selectively_ forgiving (specifically when the list includes at least 1178 // one valid selector). 1179 // Note that we treat complete lack of support for `:has()` as if it were 1180 // spec-compliant support, which is fine because use of `:has()` in such 1181 // environments will fail in the qSA path and fall back to jQuery traversal 1182 // anyway. 1183 support.cssHas = assert( function() { 1184 try { 1185 document.querySelector( ":has(*,:jqfake)" ); 1186 return false; 1187 } catch ( e ) { 1188 return true; 1189 } 1190 } ); 1191 1192 // ID filter and find 1193 if ( support.getById ) { 1194 Expr.filter.ID = function( id ) { 1195 var attrId = id.replace( runescape, funescape ); 1196 return function( elem ) { 1197 return elem.getAttribute( "id" ) === attrId; 1198 }; 1199 }; 1200 Expr.find.ID = function( id, context ) { 1201 if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { 1202 var elem = context.getElementById( id ); 1203 return elem ? [ elem ] : []; 1204 } 1205 }; 1206 } else { 1207 Expr.filter.ID = function( id ) { 1208 var attrId = id.replace( runescape, funescape ); 1209 return function( elem ) { 1210 var node = typeof elem.getAttributeNode !== "undefined" && 1211 elem.getAttributeNode( "id" ); 1212 return node && node.value === attrId; 1213 }; 1214 }; 1215 1216 // Support: IE 6 - 7 only 1217 // getElementById is not reliable as a find shortcut 1218 Expr.find.ID = function( id, context ) { 1219 if ( typeof context.getElementById !== "undefined" && documentIsHTML ) { 1220 var node, i, elems, 1221 elem = context.getElementById( id ); 1222 1223 if ( elem ) { 1224 1225 // Verify the id attribute 1226 node = elem.getAttributeNode( "id" ); 1227 if ( node && node.value === id ) { 1228 return [ elem ]; 1229 } 1230 1231 // Fall back on getElementsByName 1232 elems = context.getElementsByName( id ); 1233 i = 0; 1234 while ( ( elem = elems[ i++ ] ) ) { 1235 node = elem.getAttributeNode( "id" ); 1236 if ( node && node.value === id ) { 1237 return [ elem ]; 1238 } 1239 } 1240 } 1241 1242 return []; 1243 } 1244 }; 1245 } 1246 1247 // Tag 1248 Expr.find.TAG = function( tag, context ) { 1249 if ( typeof context.getElementsByTagName !== "undefined" ) { 1250 return context.getElementsByTagName( tag ); 1251 1252 // DocumentFragment nodes don't have gEBTN 1253 } else { 1254 return context.querySelectorAll( tag ); 1255 } 1256 }; 1257 1258 // Class 1259 Expr.find.CLASS = function( className, context ) { 1260 if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { 1261 return context.getElementsByClassName( className ); 1262 } 1263 }; 1264 1265 /* QSA/matchesSelector 1266 ---------------------------------------------------------------------- */ 1267 1268 // QSA and matchesSelector support 1269 1270 rbuggyQSA = []; 1271 1272 // Build QSA regex 1273 // Regex strategy adopted from Diego Perini 1274 assert( function( el ) { 1275 1276 var input; 1277 1278 documentElement.appendChild( el ).innerHTML = 1279 "<a id='" + expando + "' href='' disabled='disabled'></a>" + 1280 "<select id='" + expando + "-\r\\' disabled='disabled'>" + 1281 "<option selected=''></option></select>"; 1282
vendor: 38,614 bytes, lines 1283-2654
1283 // Support: iOS <=7 - 8 only 1284 // Boolean attributes and "value" are not treated correctly in some XML documents 1285 if ( !el.querySelectorAll( "[selected]" ).length ) { 1286 rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); 1287 } 1288 1289 // Support: iOS <=7 - 8 only 1290 if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) { 1291 rbuggyQSA.push( "~=" ); 1292 } 1293 1294 // Support: iOS 8 only 1295 // https://bugs.webkit.org/show_bug.cgi?id=136851 1296 // In-page `selector#id sibling-combinator selector` fails 1297 if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) { 1298 rbuggyQSA.push( ".#.+[+~]" ); 1299 } 1300 1301 // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ 1302 // In some of the document kinds, these selectors wouldn't work natively. 1303 // This is probably OK but for backwards compatibility we want to maintain 1304 // handling them through jQuery traversal in jQuery 3.x. 1305 if ( !el.querySelectorAll( ":checked" ).length ) { 1306 rbuggyQSA.push( ":checked" ); 1307 } 1308 1309 // Support: Windows 8 Native Apps 1310 // The type and name attributes are restricted during .innerHTML assignment 1311 input = document.createElement( "input" ); 1312 input.setAttribute( "type", "hidden" ); 1313 el.appendChild( input ).setAttribute( "name", "D" ); 1314 1315 // Support: IE 9 - 11+ 1316 // IE's :disabled selector does not pick up the children of disabled fieldsets 1317 // Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+ 1318 // In some of the document kinds, these selectors wouldn't work natively. 1319 // This is probably OK but for backwards compatibility we want to maintain 1320 // handling them through jQuery traversal in jQuery 3.x. 1321 documentElement.appendChild( el ).disabled = true; 1322 if ( el.querySelectorAll( ":disabled" ).length !== 2 ) { 1323 rbuggyQSA.push( ":enabled", ":disabled" ); 1324 } 1325 1326 // Support: IE 11+, Edge 15 - 18+ 1327 // IE 11/Edge don't find elements on a `[name='']` query in some cases. 1328 // Adding a temporary attribute to the document before the selection works 1329 // around the issue. 1330 // Interestingly, IE 10 & older don't seem to have the issue. 1331 input = document.createElement( "input" ); 1332 input.setAttribute( "name", "" ); 1333 el.appendChild( input ); 1334 if ( !el.querySelectorAll( "[name='']" ).length ) { 1335 rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" + 1336 whitespace + "*(?:''|\"\")" ); 1337 } 1338 } ); 1339 1340 if ( !support.cssHas ) { 1341 1342 // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+ 1343 // Our regular `try-catch` mechanism fails to detect natively-unsupported 1344 // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`) 1345 // in browsers that parse the `:has()` argument as a forgiving selector list. 1346 // https://drafts.csswg.org/selectors/#relational now requires the argument 1347 // to be parsed unforgivingly, but browsers have not yet fully adjusted. 1348 rbuggyQSA.push( ":has" ); 1349 } 1350 1351 rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) ); 1352 1353 /* Sorting 1354 ---------------------------------------------------------------------- */ 1355 1356 // Document order sorting 1357 sortOrder = function( a, b ) { 1358 1359 // Flag for duplicate removal 1360 if ( a === b ) { 1361 hasDuplicate = true; 1362 return 0; 1363 } 1364 1365 // Sort on method existence if only one input has compareDocumentPosition 1366 var compare = !a.compareDocumentPosition - !b.compareDocumentPosition; 1367 if ( compare ) { 1368 return compare; 1369 } 1370 1371 // Calculate position if both inputs belong to the same document 1372 // Support: IE 11+, Edge 17 - 18+ 1373 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1374 // two documents; shallow comparisons work. 1375 // eslint-disable-next-line eqeqeq 1376 compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ? 1377 a.compareDocumentPosition( b ) : 1378 1379 // Otherwise we know they are disconnected 1380 1; 1381 1382 // Disconnected nodes 1383 if ( compare & 1 || 1384 ( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) { 1385 1386 // Choose the first element that is related to our preferred document 1387 // Support: IE 11+, Edge 17 - 18+ 1388 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1389 // two documents; shallow comparisons work. 1390 // eslint-disable-next-line eqeqeq 1391 if ( a === document || a.ownerDocument == preferredDoc && 1392 find.contains( preferredDoc, a ) ) { 1393 return -1; 1394 } 1395 1396 // Support: IE 11+, Edge 17 - 18+ 1397 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1398 // two documents; shallow comparisons work. 1399 // eslint-disable-next-line eqeqeq 1400 if ( b === document || b.ownerDocument == preferredDoc && 1401 find.contains( preferredDoc, b ) ) { 1402 return 1; 1403 } 1404 1405 // Maintain original order 1406 return sortInput ? 1407 ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) : 1408 0; 1409 } 1410 1411 return compare & 4 ? -1 : 1; 1412 }; 1413 1414 return document; 1415} 1416 1417find.matches = function( expr, elements ) { 1418 return find( expr, null, null, elements ); 1419}; 1420 1421find.matchesSelector = function( elem, expr ) { 1422 setDocument( elem ); 1423 1424 if ( documentIsHTML && 1425 !nonnativeSelectorCache[ expr + " " ] && 1426 ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { 1427 1428 try { 1429 var ret = matches.call( elem, expr ); 1430 1431 // IE 9's matchesSelector returns false on disconnected nodes 1432 if ( ret || support.disconnectedMatch || 1433 1434 // As well, disconnected nodes are said to be in a document 1435 // fragment in IE 9 1436 elem.document && elem.document.nodeType !== 11 ) { 1437 return ret; 1438 } 1439 } catch ( e ) { 1440 nonnativeSelectorCache( expr, true ); 1441 } 1442 } 1443 1444 return find( expr, document, null, [ elem ] ).length > 0; 1445}; 1446 1447find.contains = function( context, elem ) { 1448 1449 // Set document vars if needed 1450 // Support: IE 11+, Edge 17 - 18+ 1451 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1452 // two documents; shallow comparisons work. 1453 // eslint-disable-next-line eqeqeq 1454 if ( ( context.ownerDocument || context ) != document ) { 1455 setDocument( context ); 1456 } 1457 return jQuery.contains( context, elem ); 1458}; 1459 1460 1461find.attr = function( elem, name ) { 1462 1463 // Set document vars if needed 1464 // Support: IE 11+, Edge 17 - 18+ 1465 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 1466 // two documents; shallow comparisons work. 1467 // eslint-disable-next-line eqeqeq 1468 if ( ( elem.ownerDocument || elem ) != document ) { 1469 setDocument( elem ); 1470 } 1471 1472 var fn = Expr.attrHandle[ name.toLowerCase() ], 1473 1474 // Don't get fooled by Object.prototype properties (see trac-13807) 1475 val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ? 1476 fn( elem, name, !documentIsHTML ) : 1477 undefined; 1478 1479 if ( val !== undefined ) { 1480 return val; 1481 } 1482 1483 return elem.getAttribute( name ); 1484}; 1485 1486find.error = function( msg ) { 1487 throw new Error( "Syntax error, unrecognized expression: " + msg ); 1488}; 1489 1490/** 1491 * Document sorting and removing duplicates 1492 * @param {ArrayLike} results 1493 */ 1494jQuery.uniqueSort = function( results ) { 1495 var elem, 1496 duplicates = [], 1497 j = 0, 1498 i = 0; 1499 1500 // Unless we *know* we can detect duplicates, assume their presence 1501 // 1502 // Support: Android <=4.0+ 1503 // Testing for detecting duplicates is unpredictable so instead assume we can't 1504 // depend on duplicate detection in all browsers without a stable sort. 1505 hasDuplicate = !support.sortStable; 1506 sortInput = !support.sortStable && slice.call( results, 0 ); 1507 sort.call( results, sortOrder ); 1508 1509 if ( hasDuplicate ) { 1510 while ( ( elem = results[ i++ ] ) ) { 1511 if ( elem === results[ i ] ) { 1512 j = duplicates.push( i ); 1513 } 1514 } 1515 while ( j-- ) { 1516 splice.call( results, duplicates[ j ], 1 ); 1517 } 1518 } 1519 1520 // Clear input after sorting to release objects 1521 // See https://github.com/jquery/sizzle/pull/225 1522 sortInput = null; 1523 1524 return results; 1525}; 1526 1527jQuery.fn.uniqueSort = function() { 1528 return this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) ); 1529}; 1530 1531Expr = jQuery.expr = { 1532 1533 // Can be adjusted by the user 1534 cacheLength: 50, 1535 1536 createPseudo: markFunction, 1537 1538 match: matchExpr, 1539 1540 attrHandle: {}, 1541 1542 find: {}, 1543 1544 relative: { 1545 ">": { dir: "parentNode", first: true }, 1546 " ": { dir: "parentNode" }, 1547 "+": { dir: "previousSibling", first: true }, 1548 "~": { dir: "previousSibling" } 1549 }, 1550 1551 preFilter: { 1552 ATTR: function( match ) { 1553 match[ 1 ] = match[ 1 ].replace( runescape, funescape ); 1554 1555 // Move the given value to match[3] whether quoted or unquoted 1556 match[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || "" ) 1557 .replace( runescape, funescape ); 1558 1559 if ( match[ 2 ] === "~=" ) { 1560 match[ 3 ] = " " + match[ 3 ] + " "; 1561 } 1562 1563 return match.slice( 0, 4 ); 1564 }, 1565 1566 CHILD: function( match ) { 1567 1568 /* matches from matchExpr["CHILD"] 1569 1 type (only|nth|...) 1570 2 what (child|of-type) 1571 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) 1572 4 xn-component of xn+y argument ([+-]?\d*n|) 1573 5 sign of xn-component 1574 6 x of xn-component 1575 7 sign of y-component 1576 8 y of y-component 1577 */ 1578 match[ 1 ] = match[ 1 ].toLowerCase(); 1579 1580 if ( match[ 1 ].slice( 0, 3 ) === "nth" ) { 1581 1582 // nth-* requires argument 1583 if ( !match[ 3 ] ) { 1584 find.error( match[ 0 ] ); 1585 } 1586 1587 // numeric x and y parameters for Expr.filter.CHILD 1588 // remember that false/true cast respectively to 0/1 1589 match[ 4 ] = +( match[ 4 ] ? 1590 match[ 5 ] + ( match[ 6 ] || 1 ) : 1591 2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) 1592 ); 1593 match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" ); 1594 1595 // other types prohibit arguments 1596 } else if ( match[ 3 ] ) { 1597 find.error( match[ 0 ] ); 1598 } 1599 1600 return match; 1601 }, 1602 1603 PSEUDO: function( match ) { 1604 var excess, 1605 unquoted = !match[ 6 ] && match[ 2 ]; 1606 1607 if ( matchExpr.CHILD.test( match[ 0 ] ) ) { 1608 return null; 1609 } 1610 1611 // Accept quoted arguments as-is 1612 if ( match[ 3 ] ) { 1613 match[ 2 ] = match[ 4 ] || match[ 5 ] || ""; 1614 1615 // Strip excess characters from unquoted arguments 1616 } else if ( unquoted && rpseudo.test( unquoted ) && 1617 1618 // Get excess from tokenize (recursively) 1619 ( excess = tokenize( unquoted, true ) ) && 1620 1621 // advance to the next closing parenthesis 1622 ( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) { 1623 1624 // excess is a negative index 1625 match[ 0 ] = match[ 0 ].slice( 0, excess ); 1626 match[ 2 ] = unquoted.slice( 0, excess ); 1627 } 1628 1629 // Return only captures needed by the pseudo filter method (type and argument) 1630 return match.slice( 0, 3 ); 1631 } 1632 }, 1633 1634 filter: { 1635 1636 TAG: function( nodeNameSelector ) { 1637 var expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase(); 1638 return nodeNameSelector === "*" ? 1639 function() { 1640 return true; 1641 } : 1642 function( elem ) { 1643 return nodeName( elem, expectedNodeName ); 1644 }; 1645 }, 1646 1647 CLASS: function( className ) { 1648 var pattern = classCache[ className + " " ]; 1649 1650 return pattern || 1651 ( pattern = new RegExp( "(^|" + whitespace + ")" + className + 1652 "(" + whitespace + "|$)" ) ) && 1653 classCache( className, function( elem ) { 1654 return pattern.test( 1655 typeof elem.className === "string" && elem.className || 1656 typeof elem.getAttribute !== "undefined" && 1657 elem.getAttribute( "class" ) || 1658 "" 1659 ); 1660 } ); 1661 }, 1662 1663 ATTR: function( name, operator, check ) { 1664 return function( elem ) { 1665 var result = find.attr( elem, name ); 1666 1667 if ( result == null ) { 1668 return operator === "!="; 1669 } 1670 if ( !operator ) { 1671 return true; 1672 } 1673 1674 result += ""; 1675 1676 if ( operator === "=" ) { 1677 return result === check; 1678 } 1679 if ( operator === "!=" ) { 1680 return result !== check; 1681 } 1682 if ( operator === "^=" ) { 1683 return check && result.indexOf( check ) === 0; 1684 } 1685 if ( operator === "*=" ) { 1686 return check && result.indexOf( check ) > -1; 1687 } 1688 if ( operator === "$=" ) { 1689 return check && result.slice( -check.length ) === check; 1690 } 1691 if ( operator === "~=" ) { 1692 return ( " " + result.replace( rwhitespace, " " ) + " " ) 1693 .indexOf( check ) > -1; 1694 } 1695 if ( operator === "|=" ) { 1696 return result === check || result.slice( 0, check.length + 1 ) === check + "-"; 1697 } 1698 1699 return false; 1700 }; 1701 }, 1702 1703 CHILD: function( type, what, _argument, first, last ) { 1704 var simple = type.slice( 0, 3 ) !== "nth", 1705 forward = type.slice( -4 ) !== "last", 1706 ofType = what === "of-type"; 1707 1708 return first === 1 && last === 0 ? 1709 1710 // Shortcut for :nth-*(n) 1711 function( elem ) { 1712 return !!elem.parentNode; 1713 } : 1714 1715 function( elem, _context, xml ) { 1716 var cache, outerCache, node, nodeIndex, start, 1717 dir = simple !== forward ? "nextSibling" : "previousSibling", 1718 parent = elem.parentNode, 1719 name = ofType && elem.nodeName.toLowerCase(), 1720 useCache = !xml && !ofType, 1721 diff = false; 1722 1723 if ( parent ) { 1724 1725 // :(first|last|only)-(child|of-type) 1726 if ( simple ) { 1727 while ( dir ) { 1728 node = elem; 1729 while ( ( node = node[ dir ] ) ) { 1730 if ( ofType ? 1731 nodeName( node, name ) : 1732 node.nodeType === 1 ) { 1733 1734 return false; 1735 } 1736 } 1737 1738 // Reverse direction for :only-* (if we haven't yet done so) 1739 start = dir = type === "only" && !start && "nextSibling"; 1740 } 1741 return true; 1742 } 1743 1744 start = [ forward ? parent.firstChild : parent.lastChild ]; 1745 1746 // non-xml :nth-child(...) stores cache data on `parent` 1747 if ( forward && useCache ) { 1748 1749 // Seek `elem` from a previously-cached index 1750 outerCache = parent[ expando ] || ( parent[ expando ] = {} ); 1751 cache = outerCache[ type ] || []; 1752 nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; 1753 diff = nodeIndex && cache[ 2 ]; 1754 node = nodeIndex && parent.childNodes[ nodeIndex ]; 1755 1756 while ( ( node = ++nodeIndex && node && node[ dir ] || 1757 1758 // Fallback to seeking `elem` from the start 1759 ( diff = nodeIndex = 0 ) || start.pop() ) ) { 1760 1761 // When found, cache indexes on `parent` and break 1762 if ( node.nodeType === 1 && ++diff && node === elem ) { 1763 outerCache[ type ] = [ dirruns, nodeIndex, diff ]; 1764 break; 1765 } 1766 } 1767 1768 } else { 1769 1770 // Use previously-cached element index if available 1771 if ( useCache ) { 1772 outerCache = elem[ expando ] || ( elem[ expando ] = {} ); 1773 cache = outerCache[ type ] || []; 1774 nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; 1775 diff = nodeIndex; 1776 } 1777 1778 // xml :nth-child(...) 1779 // or :nth-last-child(...) or :nth(-last)?-of-type(...) 1780 if ( diff === false ) { 1781 1782 // Use the same loop as above to seek `elem` from the start 1783 while ( ( node = ++nodeIndex && node && node[ dir ] || 1784 ( diff = nodeIndex = 0 ) || start.pop() ) ) { 1785 1786 if ( ( ofType ? 1787 nodeName( node, name ) : 1788 node.nodeType === 1 ) && 1789 ++diff ) { 1790 1791 // Cache the index of each encountered element 1792 if ( useCache ) { 1793 outerCache = node[ expando ] || 1794 ( node[ expando ] = {} ); 1795 outerCache[ type ] = [ dirruns, diff ]; 1796 } 1797 1798 if ( node === elem ) { 1799 break; 1800 } 1801 } 1802 } 1803 } 1804 } 1805 1806 // Incorporate the offset, then check against cycle size 1807 diff -= last; 1808 return diff === first || ( diff % first === 0 && diff / first >= 0 ); 1809 } 1810 }; 1811 }, 1812 1813 PSEUDO: function( pseudo, argument ) { 1814 1815 // pseudo-class names are case-insensitive 1816 // https://www.w3.org/TR/selectors/#pseudo-classes 1817 // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters 1818 // Remember that setFilters inherits from pseudos 1819 var args, 1820 fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || 1821 find.error( "unsupported pseudo: " + pseudo ); 1822 1823 // The user may use createPseudo to indicate that 1824 // arguments are needed to create the filter function 1825 // just as jQuery does 1826 if ( fn[ expando ] ) { 1827 return fn( argument ); 1828 } 1829 1830 // But maintain support for old signatures 1831 if ( fn.length > 1 ) { 1832 args = [ pseudo, pseudo, "", argument ]; 1833 return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? 1834 markFunction( function( seed, matches ) { 1835 var idx, 1836 matched = fn( seed, argument ), 1837 i = matched.length; 1838 while ( i-- ) { 1839 idx = indexOf.call( seed, matched[ i ] ); 1840 seed[ idx ] = !( matches[ idx ] = matched[ i ] ); 1841 } 1842 } ) : 1843 function( elem ) { 1844 return fn( elem, 0, args ); 1845 }; 1846 } 1847 1848 return fn; 1849 } 1850 }, 1851 1852 pseudos: { 1853 1854 // Potentially complex pseudos 1855 not: markFunction( function( selector ) { 1856 1857 // Trim the selector passed to compile 1858 // to avoid treating leading and trailing 1859 // spaces as combinators 1860 var input = [], 1861 results = [], 1862 matcher = compile( selector.replace( rtrimCSS, "$1" ) ); 1863 1864 return matcher[ expando ] ? 1865 markFunction( function( seed, matches, _context, xml ) { 1866 var elem, 1867 unmatched = matcher( seed, null, xml, [] ), 1868 i = seed.length; 1869 1870 // Match elements unmatched by `matcher` 1871 while ( i-- ) { 1872 if ( ( elem = unmatched[ i ] ) ) { 1873 seed[ i ] = !( matches[ i ] = elem ); 1874 } 1875 } 1876 } ) : 1877 function( elem, _context, xml ) { 1878 input[ 0 ] = elem; 1879 matcher( input, null, xml, results ); 1880 1881 // Don't keep the element 1882 // (see https://github.com/jquery/sizzle/issues/299) 1883 input[ 0 ] = null; 1884 return !results.pop(); 1885 }; 1886 } ), 1887 1888 has: markFunction( function( selector ) { 1889 return function( elem ) { 1890 return find( selector, elem ).length > 0; 1891 }; 1892 } ), 1893 1894 contains: markFunction( function( text ) { 1895 text = text.replace( runescape, funescape ); 1896 return function( elem ) { 1897 return ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1; 1898 }; 1899 } ), 1900 1901 // "Whether an element is represented by a :lang() selector 1902 // is based solely on the element's language value 1903 // being equal to the identifier C, 1904 // or beginning with the identifier C immediately followed by "-". 1905 // The matching of C against the element's language value is performed case-insensitively. 1906 // The identifier C does not have to be a valid language name." 1907 // https://www.w3.org/TR/selectors/#lang-pseudo 1908 lang: markFunction( function( lang ) { 1909 1910 // lang value must be a valid identifier 1911 if ( !ridentifier.test( lang || "" ) ) { 1912 find.error( "unsupported lang: " + lang ); 1913 } 1914 lang = lang.replace( runescape, funescape ).toLowerCase(); 1915 return function( elem ) { 1916 var elemLang; 1917 do { 1918 if ( ( elemLang = documentIsHTML ? 1919 elem.lang : 1920 elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) { 1921 1922 elemLang = elemLang.toLowerCase(); 1923 return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; 1924 } 1925 } while ( ( elem = elem.parentNode ) && elem.nodeType === 1 ); 1926 return false; 1927 }; 1928 } ), 1929 1930 // Miscellaneous 1931 target: function( elem ) { 1932 var hash = window.location && window.location.hash; 1933 return hash && hash.slice( 1 ) === elem.id; 1934 }, 1935 1936 root: function( elem ) { 1937 return elem === documentElement; 1938 }, 1939 1940 focus: function( elem ) { 1941 return elem === safeActiveElement() && 1942 document.hasFocus() && 1943 !!( elem.type || elem.href || ~elem.tabIndex ); 1944 }, 1945 1946 // Boolean properties 1947 enabled: createDisabledPseudo( false ), 1948 disabled: createDisabledPseudo( true ), 1949 1950 checked: function( elem ) { 1951 1952 // In CSS3, :checked should return both checked and selected elements 1953 // https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked 1954 return ( nodeName( elem, "input" ) && !!elem.checked ) || 1955 ( nodeName( elem, "option" ) && !!elem.selected ); 1956 }, 1957 1958 selected: function( elem ) { 1959 1960 // Support: IE <=11+ 1961 // Accessing the selectedIndex property 1962 // forces the browser to treat the default option as 1963 // selected when in an optgroup. 1964 if ( elem.parentNode ) { 1965 // eslint-disable-next-line no-unused-expressions 1966 elem.parentNode.selectedIndex; 1967 } 1968 1969 return elem.selected === true; 1970 }, 1971 1972 // Contents 1973 empty: function( elem ) { 1974 1975 // https://www.w3.org/TR/selectors/#empty-pseudo 1976 // :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5), 1977 // but not by others (comment: 8; processing instruction: 7; etc.) 1978 // nodeType < 6 works because attributes (2) do not appear as children 1979 for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { 1980 if ( elem.nodeType < 6 ) { 1981 return false; 1982 } 1983 } 1984 return true; 1985 }, 1986 1987 parent: function( elem ) { 1988 return !Expr.pseudos.empty( elem ); 1989 }, 1990 1991 // Element/input types 1992 header: function( elem ) { 1993 return rheader.test( elem.nodeName ); 1994 }, 1995 1996 input: function( elem ) { 1997 return rinputs.test( elem.nodeName ); 1998 }, 1999 2000 button: function( elem ) { 2001 return nodeName( elem, "input" ) && elem.type === "button" || 2002 nodeName( elem, "button" ); 2003 }, 2004 2005 text: function( elem ) { 2006 var attr; 2007 return nodeName( elem, "input" ) && elem.type === "text" && 2008 2009 // Support: IE <10 only 2010 // New HTML5 attribute values (e.g., "search") appear 2011 // with elem.type === "text" 2012 ( ( attr = elem.getAttribute( "type" ) ) == null || 2013 attr.toLowerCase() === "text" ); 2014 }, 2015 2016 // Position-in-collection 2017 first: createPositionalPseudo( function() { 2018 return [ 0 ]; 2019 } ), 2020 2021 last: createPositionalPseudo( function( _matchIndexes, length ) { 2022 return [ length - 1 ]; 2023 } ), 2024 2025 eq: createPositionalPseudo( function( _matchIndexes, length, argument ) { 2026 return [ argument < 0 ? argument + length : argument ]; 2027 } ), 2028 2029 even: createPositionalPseudo( function( matchIndexes, length ) { 2030 var i = 0; 2031 for ( ; i < length; i += 2 ) { 2032 matchIndexes.push( i ); 2033 } 2034 return matchIndexes; 2035 } ), 2036 2037 odd: createPositionalPseudo( function( matchIndexes, length ) { 2038 var i = 1; 2039 for ( ; i < length; i += 2 ) { 2040 matchIndexes.push( i ); 2041 } 2042 return matchIndexes; 2043 } ), 2044 2045 lt: createPositionalPseudo( function( matchIndexes, length, argument ) { 2046 var i; 2047 2048 if ( argument < 0 ) { 2049 i = argument + length; 2050 } else if ( argument > length ) { 2051 i = length; 2052 } else { 2053 i = argument; 2054 } 2055 2056 for ( ; --i >= 0; ) { 2057 matchIndexes.push( i ); 2058 } 2059 return matchIndexes; 2060 } ), 2061 2062 gt: createPositionalPseudo( function( matchIndexes, length, argument ) { 2063 var i = argument < 0 ? argument + length : argument; 2064 for ( ; ++i < length; ) { 2065 matchIndexes.push( i ); 2066 } 2067 return matchIndexes; 2068 } ) 2069 } 2070}; 2071 2072Expr.pseudos.nth = Expr.pseudos.eq; 2073 2074// Add button/input type pseudos 2075for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { 2076 Expr.pseudos[ i ] = createInputPseudo( i ); 2077} 2078for ( i in { submit: true, reset: true } ) { 2079 Expr.pseudos[ i ] = createButtonPseudo( i ); 2080} 2081 2082// Easy API for creating new setFilters 2083function setFilters() {} 2084setFilters.prototype = Expr.filters = Expr.pseudos; 2085Expr.setFilters = new setFilters(); 2086 2087function tokenize( selector, parseOnly ) { 2088 var matched, match, tokens, type, 2089 soFar, groups, preFilters, 2090 cached = tokenCache[ selector + " " ]; 2091 2092 if ( cached ) { 2093 return parseOnly ? 0 : cached.slice( 0 ); 2094 } 2095 2096 soFar = selector; 2097 groups = []; 2098 preFilters = Expr.preFilter; 2099 2100 while ( soFar ) { 2101 2102 // Comma and first run 2103 if ( !matched || ( match = rcomma.exec( soFar ) ) ) { 2104 if ( match ) { 2105 2106 // Don't consume trailing commas as valid 2107 soFar = soFar.slice( match[ 0 ].length ) || soFar; 2108 } 2109 groups.push( ( tokens = [] ) ); 2110 } 2111 2112 matched = false; 2113 2114 // Combinators 2115 if ( ( match = rleadingCombinator.exec( soFar ) ) ) { 2116 matched = match.shift(); 2117 tokens.push( { 2118 value: matched, 2119 2120 // Cast descendant combinators to space 2121 type: match[ 0 ].replace( rtrimCSS, " " ) 2122 } ); 2123 soFar = soFar.slice( matched.length ); 2124 } 2125 2126 // Filters 2127 for ( type in Expr.filter ) { 2128 if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] || 2129 ( match = preFilters[ type ]( match ) ) ) ) { 2130 matched = match.shift(); 2131 tokens.push( { 2132 value: matched, 2133 type: type, 2134 matches: match 2135 } ); 2136 soFar = soFar.slice( matched.length ); 2137 } 2138 } 2139 2140 if ( !matched ) { 2141 break; 2142 } 2143 } 2144 2145 // Return the length of the invalid excess 2146 // if we're just parsing 2147 // Otherwise, throw an error or return tokens 2148 if ( parseOnly ) { 2149 return soFar.length; 2150 } 2151 2152 return soFar ? 2153 find.error( selector ) : 2154 2155 // Cache the tokens 2156 tokenCache( selector, groups ).slice( 0 ); 2157} 2158 2159function toSelector( tokens ) { 2160 var i = 0, 2161 len = tokens.length, 2162 selector = ""; 2163 for ( ; i < len; i++ ) { 2164 selector += tokens[ i ].value; 2165 } 2166 return selector; 2167} 2168 2169function addCombinator( matcher, combinator, base ) { 2170 var dir = combinator.dir, 2171 skip = combinator.next, 2172 key = skip || dir, 2173 checkNonElements = base && key === "parentNode", 2174 doneName = done++; 2175 2176 return combinator.first ? 2177 2178 // Check against closest ancestor/preceding element 2179 function( elem, context, xml ) { 2180 while ( ( elem = elem[ dir ] ) ) { 2181 if ( elem.nodeType === 1 || checkNonElements ) { 2182 return matcher( elem, context, xml ); 2183 } 2184 } 2185 return false; 2186 } : 2187 2188 // Check against all ancestor/preceding elements 2189 function( elem, context, xml ) { 2190 var oldCache, outerCache, 2191 newCache = [ dirruns, doneName ]; 2192 2193 // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching 2194 if ( xml ) { 2195 while ( ( elem = elem[ dir ] ) ) { 2196 if ( elem.nodeType === 1 || checkNonElements ) { 2197 if ( matcher( elem, context, xml ) ) { 2198 return true; 2199 } 2200 } 2201 } 2202 } else { 2203 while ( ( elem = elem[ dir ] ) ) { 2204 if ( elem.nodeType === 1 || checkNonElements ) { 2205 outerCache = elem[ expando ] || ( elem[ expando ] = {} ); 2206 2207 if ( skip && nodeName( elem, skip ) ) { 2208 elem = elem[ dir ] || elem; 2209 } else if ( ( oldCache = outerCache[ key ] ) && 2210 oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) { 2211 2212 // Assign to newCache so results back-propagate to previous elements 2213 return ( newCache[ 2 ] = oldCache[ 2 ] ); 2214 } else { 2215 2216 // Reuse newcache so results back-propagate to previous elements 2217 outerCache[ key ] = newCache; 2218 2219 // A match means we're done; a fail means we have to keep checking 2220 if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) { 2221 return true; 2222 } 2223 } 2224 } 2225 } 2226 } 2227 return false; 2228 }; 2229} 2230 2231function elementMatcher( matchers ) { 2232 return matchers.length > 1 ? 2233 function( elem, context, xml ) { 2234 var i = matchers.length; 2235 while ( i-- ) { 2236 if ( !matchers[ i ]( elem, context, xml ) ) { 2237 return false; 2238 } 2239 } 2240 return true; 2241 } : 2242 matchers[ 0 ]; 2243} 2244 2245function multipleContexts( selector, contexts, results ) { 2246 var i = 0, 2247 len = contexts.length; 2248 for ( ; i < len; i++ ) { 2249 find( selector, contexts[ i ], results ); 2250 } 2251 return results; 2252} 2253 2254function condense( unmatched, map, filter, context, xml ) { 2255 var elem, 2256 newUnmatched = [], 2257 i = 0, 2258 len = unmatched.length, 2259 mapped = map != null; 2260 2261 for ( ; i < len; i++ ) { 2262 if ( ( elem = unmatched[ i ] ) ) { 2263 if ( !filter || filter( elem, context, xml ) ) { 2264 newUnmatched.push( elem ); 2265 if ( mapped ) { 2266 map.push( i ); 2267 } 2268 } 2269 } 2270 } 2271 2272 return newUnmatched; 2273} 2274 2275function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { 2276 if ( postFilter && !postFilter[ expando ] ) { 2277 postFilter = setMatcher( postFilter ); 2278 } 2279 if ( postFinder && !postFinder[ expando ] ) { 2280 postFinder = setMatcher( postFinder, postSelector ); 2281 } 2282 return markFunction( function( seed, results, context, xml ) { 2283 var temp, i, elem, matcherOut, 2284 preMap = [], 2285 postMap = [], 2286 preexisting = results.length, 2287 2288 // Get initial elements from seed or context 2289 elems = seed || 2290 multipleContexts( selector || "*", 2291 context.nodeType ? [ context ] : context, [] ), 2292 2293 // Prefilter to get matcher input, preserving a map for seed-results synchronization 2294 matcherIn = preFilter && ( seed || !selector ) ? 2295 condense( elems, preMap, preFilter, context, xml ) : 2296 elems; 2297 2298 if ( matcher ) { 2299 2300 // If we have a postFinder, or filtered seed, or non-seed postFilter 2301 // or preexisting results, 2302 matcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ? 2303 2304 // ...intermediate processing is necessary 2305 [] : 2306 2307 // ...otherwise use results directly 2308 results; 2309 2310 // Find primary matches 2311 matcher( matcherIn, matcherOut, context, xml ); 2312 } else { 2313 matcherOut = matcherIn; 2314 } 2315 2316 // Apply postFilter 2317 if ( postFilter ) { 2318 temp = condense( matcherOut, postMap ); 2319 postFilter( temp, [], context, xml ); 2320 2321 // Un-match failing elements by moving them back to matcherIn 2322 i = temp.length; 2323 while ( i-- ) { 2324 if ( ( elem = temp[ i ] ) ) { 2325 matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem ); 2326 } 2327 } 2328 } 2329 2330 if ( seed ) { 2331 if ( postFinder || preFilter ) { 2332 if ( postFinder ) { 2333 2334 // Get the final matcherOut by condensing this intermediate into postFinder contexts 2335 temp = []; 2336 i = matcherOut.length; 2337 while ( i-- ) { 2338 if ( ( elem = matcherOut[ i ] ) ) { 2339 2340 // Restore matcherIn since elem is not yet a final match 2341 temp.push( ( matcherIn[ i ] = elem ) ); 2342 } 2343 } 2344 postFinder( null, ( matcherOut = [] ), temp, xml ); 2345 } 2346 2347 // Move matched elements from seed to results to keep them synchronized 2348 i = matcherOut.length; 2349 while ( i-- ) { 2350 if ( ( elem = matcherOut[ i ] ) && 2351 ( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) { 2352 2353 seed[ temp ] = !( results[ temp ] = elem ); 2354 } 2355 } 2356 } 2357 2358 // Add elements to results, through postFinder if defined 2359 } else { 2360 matcherOut = condense( 2361 matcherOut === results ? 2362 matcherOut.splice( preexisting, matcherOut.length ) : 2363 matcherOut 2364 ); 2365 if ( postFinder ) { 2366 postFinder( null, results, matcherOut, xml ); 2367 } else { 2368 push.apply( results, matcherOut ); 2369 } 2370 } 2371 } ); 2372} 2373 2374function matcherFromTokens( tokens ) { 2375 var checkContext, matcher, j, 2376 len = tokens.length, 2377 leadingRelative = Expr.relative[ tokens[ 0 ].type ], 2378 implicitRelative = leadingRelative || Expr.relative[ " " ], 2379 i = leadingRelative ? 1 : 0, 2380 2381 // The foundational matcher ensures that elements are reachable from top-level context(s) 2382 matchContext = addCombinator( function( elem ) { 2383 return elem === checkContext; 2384 }, implicitRelative, true ), 2385 matchAnyContext = addCombinator( function( elem ) { 2386 return indexOf.call( checkContext, elem ) > -1; 2387 }, implicitRelative, true ), 2388 matchers = [ function( elem, context, xml ) { 2389 2390 // Support: IE 11+, Edge 17 - 18+ 2391 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2392 // two documents; shallow comparisons work. 2393 // eslint-disable-next-line eqeqeq 2394 var ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || ( 2395 ( checkContext = context ).nodeType ? 2396 matchContext( elem, context, xml ) : 2397 matchAnyContext( elem, context, xml ) ); 2398 2399 // Avoid hanging onto element 2400 // (see https://github.com/jquery/sizzle/issues/299) 2401 checkContext = null; 2402 return ret; 2403 } ]; 2404 2405 for ( ; i < len; i++ ) { 2406 if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) { 2407 matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; 2408 } else { 2409 matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches ); 2410 2411 // Return special upon seeing a positional matcher 2412 if ( matcher[ expando ] ) { 2413 2414 // Find the next relative operator (if any) for proper handling 2415 j = ++i; 2416 for ( ; j < len; j++ ) { 2417 if ( Expr.relative[ tokens[ j ].type ] ) { 2418 break; 2419 } 2420 } 2421 return setMatcher( 2422 i > 1 && elementMatcher( matchers ), 2423 i > 1 && toSelector( 2424 2425 // If the preceding token was a descendant combinator, insert an implicit any-element `*` 2426 tokens.slice( 0, i - 1 ) 2427 .concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } ) 2428 ).replace( rtrimCSS, "$1" ), 2429 matcher, 2430 i < j && matcherFromTokens( tokens.slice( i, j ) ), 2431 j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ), 2432 j < len && toSelector( tokens ) 2433 ); 2434 } 2435 matchers.push( matcher ); 2436 } 2437 } 2438 2439 return elementMatcher( matchers ); 2440} 2441 2442function matcherFromGroupMatchers( elementMatchers, setMatchers ) { 2443 var bySet = setMatchers.length > 0, 2444 byElement = elementMatchers.length > 0, 2445 superMatcher = function( seed, context, xml, results, outermost ) { 2446 var elem, j, matcher, 2447 matchedCount = 0, 2448 i = "0", 2449 unmatched = seed && [], 2450 setMatched = [], 2451 contextBackup = outermostContext, 2452 2453 // We must always have either seed elements or outermost context 2454 elems = seed || byElement && Expr.find.TAG( "*", outermost ), 2455 2456 // Use integer dirruns iff this is the outermost matcher 2457 dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ), 2458 len = elems.length; 2459 2460 if ( outermost ) { 2461 2462 // Support: IE 11+, Edge 17 - 18+ 2463 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2464 // two documents; shallow comparisons work. 2465 // eslint-disable-next-line eqeqeq 2466 outermostContext = context == document || context || outermost; 2467 } 2468 2469 // Add elements passing elementMatchers directly to results 2470 // Support: iOS <=7 - 9 only 2471 // Tolerate NodeList properties (IE: "length"; Safari: <number>) matching 2472 // elements by id. (see trac-14142) 2473 for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) { 2474 if ( byElement && elem ) { 2475 j = 0; 2476 2477 // Support: IE 11+, Edge 17 - 18+ 2478 // IE/Edge sometimes throw a "Permission denied" error when strict-comparing 2479 // two documents; shallow comparisons work. 2480 // eslint-disable-next-line eqeqeq 2481 if ( !context && elem.ownerDocument != document ) { 2482 setDocument( elem ); 2483 xml = !documentIsHTML; 2484 } 2485 while ( ( matcher = elementMatchers[ j++ ] ) ) { 2486 if ( matcher( elem, context || document, xml ) ) { 2487 push.call( results, elem ); 2488 break; 2489 } 2490 } 2491 if ( outermost ) { 2492 dirruns = dirrunsUnique; 2493 } 2494 } 2495 2496 // Track unmatched elements for set filters 2497 if ( bySet ) { 2498 2499 // They will have gone through all possible matchers 2500 if ( ( elem = !matcher && elem ) ) { 2501 matchedCount--; 2502 } 2503 2504 // Lengthen the array for every element, matched or not 2505 if ( seed ) { 2506 unmatched.push( elem ); 2507 } 2508 } 2509 } 2510 2511 // `i` is now the count of elements visited above, and adding it to `matchedCount` 2512 // makes the latter nonnegative. 2513 matchedCount += i; 2514 2515 // Apply set filters to unmatched elements 2516 // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` 2517 // equals `i`), unless we didn't visit _any_ elements in the above loop because we have 2518 // no element matchers and no seed. 2519 // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that 2520 // case, which will result in a "00" `matchedCount` that differs from `i` but is also 2521 // numerically zero. 2522 if ( bySet && i !== matchedCount ) { 2523 j = 0; 2524 while ( ( matcher = setMatchers[ j++ ] ) ) { 2525 matcher( unmatched, setMatched, context, xml ); 2526 } 2527 2528 if ( seed ) { 2529 2530 // Reintegrate element matches to eliminate the need for sorting 2531 if ( matchedCount > 0 ) { 2532 while ( i-- ) { 2533 if ( !( unmatched[ i ] || setMatched[ i ] ) ) { 2534 setMatched[ i ] = pop.call( results ); 2535 } 2536 } 2537 } 2538 2539 // Discard index placeholder values to get only actual matches 2540 setMatched = condense( setMatched ); 2541 } 2542 2543 // Add matches to results 2544 push.apply( results, setMatched ); 2545 2546 // Seedless set matches succeeding multiple successful matchers stipulate sorting 2547 if ( outermost && !seed && setMatched.length > 0 && 2548 ( matchedCount + setMatchers.length ) > 1 ) { 2549 2550 jQuery.uniqueSort( results ); 2551 } 2552 } 2553 2554 // Override manipulation of globals by nested matchers 2555 if ( outermost ) { 2556 dirruns = dirrunsUnique; 2557 outermostContext = contextBackup; 2558 } 2559 2560 return unmatched; 2561 }; 2562 2563 return bySet ? 2564 markFunction( superMatcher ) : 2565 superMatcher; 2566} 2567 2568function compile( selector, match /* Internal Use Only */ ) { 2569 var i, 2570 setMatchers = [], 2571 elementMatchers = [], 2572 cached = compilerCache[ selector + " " ]; 2573 2574 if ( !cached ) { 2575 2576 // Generate a function of recursive functions that can be used to check each element 2577 if ( !match ) { 2578 match = tokenize( selector ); 2579 } 2580 i = match.length; 2581 while ( i-- ) { 2582 cached = matcherFromTokens( match[ i ] ); 2583 if ( cached[ expando ] ) { 2584 setMatchers.push( cached ); 2585 } else { 2586 elementMatchers.push( cached ); 2587 } 2588 } 2589 2590 // Cache the compiled function 2591 cached = compilerCache( selector, 2592 matcherFromGroupMatchers( elementMatchers, setMatchers ) ); 2593 2594 // Save selector and tokenization 2595 cached.selector = selector; 2596 } 2597 return cached; 2598} 2599 2600/** 2601 * A low-level selection function that works with jQuery's compiled 2602 * selector functions 2603 * @param {String|Function} selector A selector or a pre-compiled 2604 * selector function built with jQuery selector compile 2605 * @param {Element} context 2606 * @param {Array} [results] 2607 * @param {Array} [seed] A set of elements to match against 2608 */ 2609function select( selector, context, results, seed ) { 2610 var i, tokens, token, type, find, 2611 compiled = typeof selector === "function" && selector, 2612 match = !seed && tokenize( ( selector = compiled.selector || selector ) ); 2613 2614 results = results || []; 2615 2616 // Try to minimize operations if there is only one selector in the list and no seed 2617 // (the latter of which guarantees us context) 2618 if ( match.length === 1 ) { 2619 2620 // Reduce context if the leading compound selector is an ID 2621 tokens = match[ 0 ] = match[ 0 ].slice( 0 ); 2622 if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" && 2623 context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) { 2624 2625 context = ( Expr.find.ID( 2626 token.matches[ 0 ].replace( runescape, funescape ), 2627 context 2628 ) || [] )[ 0 ]; 2629 if ( !context ) { 2630 return results; 2631 2632 // Precompiled matchers will still verify ancestry, so step up a level 2633 } else if ( compiled ) { 2634 context = context.parentNode; 2635 } 2636 2637 selector = selector.slice( tokens.shift().value.length ); 2638 } 2639 2640 // Fetch a seed set for right-to-left matching 2641 i = matchExpr.needsContext.test( selector ) ? 0 : tokens.length; 2642 while ( i-- ) { 2643 token = tokens[ i ]; 2644 2645 // Abort if we hit a combinator 2646 if ( Expr.relative[ ( type = token.type ) ] ) { 2647 break; 2648 } 2649 if ( ( find = Expr.find[ type ] ) ) { 2650 2651 // Search, expanding context for leading sibling combinators 2652 if ( ( seed = find( 2653 token.matches[ 0 ].replace( runescape, funescape ), 2654 rsibling.test( tokens[ 0 ].type ) &&
vendor: 4,497 bytes, lines 2655-2839
2655 testContext( context.parentNode ) || context 2656 ) ) ) { 2657 2658 // If seed is empty or no tokens remain, we can return early 2659 tokens.splice( i, 1 ); 2660 selector = seed.length && toSelector( tokens ); 2661 if ( !selector ) { 2662 push.apply( results, seed ); 2663 return results; 2664 } 2665 2666 break; 2667 } 2668 } 2669 } 2670 } 2671 2672 // Compile and execute a filtering function if one is not provided 2673 // Provide `match` to avoid retokenization if we modified the selector above 2674 ( compiled || compile( selector, match ) )( 2675 seed, 2676 context, 2677 !documentIsHTML, 2678 results, 2679 !context || rsibling.test( selector ) && testContext( context.parentNode ) || context 2680 ); 2681 return results; 2682} 2683 2684// One-time assignments 2685 2686// Support: Android <=4.0 - 4.1+ 2687// Sort stability 2688support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando; 2689 2690// Initialize against the default document 2691setDocument(); 2692 2693// Support: Android <=4.0 - 4.1+ 2694// Detached nodes confoundingly follow *each other* 2695support.sortDetached = assert( function( el ) { 2696 2697 // Should return 1, but returns 4 (following) 2698 return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1; 2699} ); 2700 2701jQuery.find = find; 2702 2703// Deprecated 2704jQuery.expr[ ":" ] = jQuery.expr.pseudos; 2705jQuery.unique = jQuery.uniqueSort; 2706 2707// These have always been private, but they used to be documented as part of 2708// Sizzle so let's maintain them for now for backwards compatibility purposes. 2709find.compile = compile; 2710find.select = select; 2711find.setDocument = setDocument; 2712find.tokenize = tokenize; 2713 2714find.escape = jQuery.escapeSelector; 2715find.getText = jQuery.text; 2716find.isXML = jQuery.isXMLDoc; 2717find.selectors = jQuery.expr; 2718find.support = jQuery.support; 2719find.uniqueSort = jQuery.uniqueSort; 2720 2721 /* eslint-enable */ 2722 2723} )(); 2724 2725 2726var dir = function( elem, dir, until ) { 2727 var matched = [], 2728 truncate = until !== undefined; 2729 2730 while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { 2731 if ( elem.nodeType === 1 ) { 2732 if ( truncate && jQuery( elem ).is( until ) ) { 2733 break; 2734 } 2735 matched.push( elem ); 2736 } 2737 } 2738 return matched; 2739}; 2740 2741 2742var siblings = function( n, elem ) { 2743 var matched = []; 2744 2745 for ( ; n; n = n.nextSibling ) { 2746 if ( n.nodeType === 1 && n !== elem ) { 2747 matched.push( n ); 2748 } 2749 } 2750 2751 return matched; 2752}; 2753 2754 2755var rneedsContext = jQuery.expr.match.needsContext; 2756 2757var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i ); 2758 2759 2760 2761// Implement the identical functionality for filter and not 2762function winnow( elements, qualifier, not ) { 2763 if ( isFunction( qualifier ) ) { 2764 return jQuery.grep( elements, function( elem, i ) { 2765 return !!qualifier.call( elem, i, elem ) !== not; 2766 } ); 2767 } 2768 2769 // Single element 2770 if ( qualifier.nodeType ) { 2771 return jQuery.grep( elements, function( elem ) { 2772 return ( elem === qualifier ) !== not; 2773 } ); 2774 } 2775 2776 // Arraylike of elements (jQuery, arguments, Array) 2777 if ( typeof qualifier !== "string" ) { 2778 return jQuery.grep( elements, function( elem ) { 2779 return ( indexOf.call( qualifier, elem ) > -1 ) !== not; 2780 } ); 2781 } 2782 2783 // Filtered directly for both simple and complex selectors 2784 return jQuery.filter( qualifier, elements, not ); 2785} 2786 2787jQuery.filter = function( expr, elems, not ) { 2788 var elem = elems[ 0 ]; 2789 2790 if ( not ) { 2791 expr = ":not(" + expr + ")"; 2792 } 2793 2794 if ( elems.length === 1 && elem.nodeType === 1 ) { 2795 return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : []; 2796 } 2797 2798 return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { 2799 return elem.nodeType === 1; 2800 } ) ); 2801}; 2802 2803jQuery.fn.extend( { 2804 find: function( selector ) { 2805 var i, ret, 2806 len = this.length, 2807 self = this; 2808 2809 if ( typeof selector !== "string" ) { 2810 return this.pushStack( jQuery( selector ).filter( function() { 2811 for ( i = 0; i < len; i++ ) { 2812 if ( jQuery.contains( self[ i ], this ) ) { 2813 return true; 2814 } 2815 } 2816 } ) ); 2817 } 2818 2819 ret = this.pushStack( [] ); 2820 2821 for ( i = 0; i < len; i++ ) { 2822 jQuery.find( selector, self[ i ], ret ); 2823 } 2824 2825 return len > 1 ? jQuery.uniqueSort( ret ) : ret; 2826 }, 2827 filter: function( selector ) { 2828 return this.pushStack( winnow( this, selector || [], false ) ); 2829 }, 2830 not: function( selector ) { 2831 return this.pushStack( winnow( this, selector || [], true ) ); 2832 }, 2833 is: function( selector ) { 2834 return !!winnow( 2835 this, 2836 2837 // If this is a positional/relative selector, check membership in the returned set 2838 // so $("p:first").is("p:last") won't return true for a doc with two "p". 2839 typeof selector === "string" && rneedsContext.test( selector ) ?
vendor: 9,941 bytes, lines 2840-3228
2840 jQuery( selector ) : 2841 selector || [], 2842 false 2843 ).length; 2844 } 2845} ); 2846 2847 2848// Initialize a jQuery object 2849 2850 2851// A central reference to the root jQuery(document) 2852var rootjQuery, 2853 2854 // A simple way to check for HTML strings 2855 // Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521) 2856 // Strict HTML recognition (trac-11290: must start with <) 2857 // Shortcut simple #id case for speed 2858 rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/, 2859 2860 init = jQuery.fn.init = function( selector, context, root ) { 2861 var match, elem; 2862 2863 // HANDLE: $(""), $(null), $(undefined), $(false) 2864 if ( !selector ) { 2865 return this; 2866 } 2867 2868 // Method init() accepts an alternate rootjQuery 2869 // so migrate can support jQuery.sub (gh-2101) 2870 root = root || rootjQuery; 2871 2872 // Handle HTML strings 2873 if ( typeof selector === "string" ) { 2874 if ( selector[ 0 ] === "<" && 2875 selector[ selector.length - 1 ] === ">" && 2876 selector.length >= 3 ) { 2877 2878 // Assume that strings that start and end with <> are HTML and skip the regex check 2879 match = [ null, selector, null ]; 2880 2881 } else { 2882 match = rquickExpr.exec( selector ); 2883 } 2884 2885 // Match html or make sure no context is specified for #id 2886 if ( match && ( match[ 1 ] || !context ) ) { 2887 2888 // HANDLE: $(html) -> $(array) 2889 if ( match[ 1 ] ) { 2890 context = context instanceof jQuery ? context[ 0 ] : context; 2891 2892 // Option to run scripts is true for back-compat 2893 // Intentionally let the error be thrown if parseHTML is not present 2894 jQuery.merge( this, jQuery.parseHTML( 2895 match[ 1 ], 2896 context && context.nodeType ? context.ownerDocument || context : document, 2897 true 2898 ) ); 2899 2900 // HANDLE: $(html, props) 2901 if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) { 2902 for ( match in context ) { 2903 2904 // Properties of context are called as methods if possible 2905 if ( isFunction( this[ match ] ) ) { 2906 this[ match ]( context[ match ] ); 2907 2908 // ...and otherwise set as attributes 2909 } else { 2910 this.attr( match, context[ match ] ); 2911 } 2912 } 2913 } 2914 2915 return this; 2916 2917 // HANDLE: $(#id) 2918 } else { 2919 elem = document.getElementById( match[ 2 ] ); 2920 2921 if ( elem ) { 2922 2923 // Inject the element directly into the jQuery object 2924 this[ 0 ] = elem; 2925 this.length = 1; 2926 } 2927 return this; 2928 } 2929 2930 // HANDLE: $(expr, $(...)) 2931 } else if ( !context || context.jquery ) { 2932 return ( context || root ).find( selector ); 2933 2934 // HANDLE: $(expr, context) 2935 // (which is just equivalent to: $(context).find(expr) 2936 } else { 2937 return this.constructor( context ).find( selector ); 2938 } 2939 2940 // HANDLE: $(DOMElement) 2941 } else if ( selector.nodeType ) { 2942 this[ 0 ] = selector; 2943 this.length = 1; 2944 return this; 2945 2946 // HANDLE: $(function) 2947 // Shortcut for document ready 2948 } else if ( isFunction( selector ) ) { 2949 return root.ready !== undefined ? 2950 root.ready( selector ) : 2951 2952 // Execute immediately if ready is not present 2953 selector( jQuery ); 2954 } 2955 2956 return jQuery.makeArray( selector, this ); 2957 }; 2958 2959// Give the init function the jQuery prototype for later instantiation 2960init.prototype = jQuery.fn; 2961 2962// Initialize central reference 2963rootjQuery = jQuery( document ); 2964 2965 2966var rparentsprev = /^(?:parents|prev(?:Until|All))/, 2967 2968 // Methods guaranteed to produce a unique set when starting from a unique set 2969 guaranteedUnique = { 2970 children: true, 2971 contents: true, 2972 next: true, 2973 prev: true 2974 }; 2975 2976jQuery.fn.extend( { 2977 has: function( target ) { 2978 var targets = jQuery( target, this ), 2979 l = targets.length; 2980 2981 return this.filter( function() { 2982 var i = 0; 2983 for ( ; i < l; i++ ) { 2984 if ( jQuery.contains( this, targets[ i ] ) ) { 2985 return true; 2986 } 2987 } 2988 } ); 2989 }, 2990 2991 closest: function( selectors, context ) { 2992 var cur, 2993 i = 0, 2994 l = this.length, 2995 matched = [], 2996 targets = typeof selectors !== "string" && jQuery( selectors ); 2997 2998 // Positional selectors never match, since there's no _selection_ context 2999 if ( !rneedsContext.test( selectors ) ) { 3000 for ( ; i < l; i++ ) { 3001 for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { 3002 3003 // Always skip document fragments 3004 if ( cur.nodeType < 11 && ( targets ? 3005 targets.index( cur ) > -1 : 3006 3007 // Don't pass non-elements to jQuery#find 3008 cur.nodeType === 1 && 3009 jQuery.find.matchesSelector( cur, selectors ) ) ) { 3010 3011 matched.push( cur ); 3012 break; 3013 } 3014 } 3015 } 3016 } 3017 3018 return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); 3019 }, 3020 3021 // Determine the position of an element within the set 3022 index: function( elem ) { 3023 3024 // No argument, return index in parent 3025 if ( !elem ) { 3026 return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1; 3027 } 3028 3029 // Index in selector 3030 if ( typeof elem === "string" ) { 3031 return indexOf.call( jQuery( elem ), this[ 0 ] ); 3032 } 3033 3034 // Locate the position of the desired element 3035 return indexOf.call( this, 3036 3037 // If it receives a jQuery object, the first element is used 3038 elem.jquery ? elem[ 0 ] : elem 3039 ); 3040 }, 3041 3042 add: function( selector, context ) { 3043 return this.pushStack( 3044 jQuery.uniqueSort( 3045 jQuery.merge( this.get(), jQuery( selector, context ) ) 3046 ) 3047 ); 3048 }, 3049 3050 addBack: function( selector ) { 3051 return this.add( selector == null ? 3052 this.prevObject : this.prevObject.filter( selector ) 3053 ); 3054 } 3055} ); 3056 3057function sibling( cur, dir ) { 3058 while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} 3059 return cur; 3060} 3061 3062jQuery.each( { 3063 parent: function( elem ) { 3064 var parent = elem.parentNode; 3065 return parent && parent.nodeType !== 11 ? parent : null; 3066 }, 3067 parents: function( elem ) { 3068 return dir( elem, "parentNode" ); 3069 }, 3070 parentsUntil: function( elem, _i, until ) { 3071 return dir( elem, "parentNode", until ); 3072 }, 3073 next: function( elem ) { 3074 return sibling( elem, "nextSibling" ); 3075 }, 3076 prev: function( elem ) { 3077 return sibling( elem, "previousSibling" ); 3078 }, 3079 nextAll: function( elem ) { 3080 return dir( elem, "nextSibling" ); 3081 }, 3082 prevAll: function( elem ) { 3083 return dir( elem, "previousSibling" ); 3084 }, 3085 nextUntil: function( elem, _i, until ) { 3086 return dir( elem, "nextSibling", until ); 3087 }, 3088 prevUntil: function( elem, _i, until ) { 3089 return dir( elem, "previousSibling", until ); 3090 }, 3091 siblings: function( elem ) { 3092 return siblings( ( elem.parentNode || {} ).firstChild, elem ); 3093 }, 3094 children: function( elem ) { 3095 return siblings( elem.firstChild ); 3096 }, 3097 contents: function( elem ) { 3098 if ( elem.contentDocument != null && 3099 3100 // Support: IE 11+ 3101 // <object> elements with no `data` attribute has an object 3102 // `contentDocument` with a `null` prototype. 3103 getProto( elem.contentDocument ) ) { 3104 3105 return elem.contentDocument; 3106 } 3107 3108 // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only 3109 // Treat the template element as a regular one in browsers that 3110 // don't support it. 3111 if ( nodeName( elem, "template" ) ) { 3112 elem = elem.content || elem; 3113 } 3114 3115 return jQuery.merge( [], elem.childNodes ); 3116 } 3117}, function( name, fn ) { 3118 jQuery.fn[ name ] = function( until, selector ) { 3119 var matched = jQuery.map( this, fn, until ); 3120 3121 if ( name.slice( -5 ) !== "Until" ) { 3122 selector = until; 3123 } 3124 3125 if ( selector && typeof selector === "string" ) { 3126 matched = jQuery.filter( selector, matched ); 3127 } 3128 3129 if ( this.length > 1 ) { 3130 3131 // Remove duplicates 3132 if ( !guaranteedUnique[ name ] ) { 3133 jQuery.uniqueSort( matched ); 3134 } 3135 3136 // Reverse order for parents* and prev-derivatives 3137 if ( rparentsprev.test( name ) ) { 3138 matched.reverse(); 3139 } 3140 } 3141 3142 return this.pushStack( matched ); 3143 }; 3144} ); 3145var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g ); 3146 3147 3148 3149// Convert String-formatted options into Object-formatted ones 3150function createOptions( options ) { 3151 var object = {}; 3152 jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) { 3153 object[ flag ] = true; 3154 } ); 3155 return object; 3156} 3157 3158/* 3159 * Create a callback list using the following parameters: 3160 * 3161 * options: an optional list of space-separated options that will change how 3162 * the callback list behaves or a more traditional option object 3163 * 3164 * By default a callback list will act like an event callback list and can be 3165 * "fired" multiple times. 3166 * 3167 * Possible options: 3168 * 3169 * once: will ensure the callback list can only be fired once (like a Deferred) 3170 * 3171 * memory: will keep track of previous values and will call any callback added 3172 * after the list has been fired right away with the latest "memorized" 3173 * values (like a Deferred) 3174 * 3175 * unique: will ensure a callback can only be added once (no duplicate in the list) 3176 * 3177 * stopOnFalse: interrupt callings when a callback returns false 3178 * 3179 */ 3180jQuery.Callbacks = function( options ) { 3181 3182 // Convert options from String-formatted to Object-formatted if needed 3183 // (we check in cache first) 3184 options = typeof options === "string" ? 3185 createOptions( options ) : 3186 jQuery.extend( {}, options ); 3187 3188 var // Flag to know if list is currently firing 3189 firing, 3190 3191 // Last fire value for non-forgettable lists 3192 memory, 3193 3194 // Flag to know if list was already fired 3195 fired, 3196 3197 // Flag to prevent firing 3198 locked, 3199 3200 // Actual callback list 3201 list = [], 3202 3203 // Queue of execution data for repeatable lists 3204 queue = [], 3205 3206 // Index of currently firing callback (modified by add/remove as needed) 3207 firingIndex = -1, 3208 3209 // Fire callbacks 3210 fire = function() { 3211 3212 // Enforce single-firing 3213 locked = locked || options.once; 3214 3215 // Execute callbacks for all pending executions, 3216 // respecting firingIndex overrides and runtime changes 3217 fired = firing = true; 3218 for ( ; queue.length; firingIndex = -1 ) { 3219 memory = queue.shift(); 3220 while ( ++firingIndex < list.length ) { 3221 3222 // Run callback and check for early termination 3223 if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && 3224 options.stopOnFalse ) { 3225 3226 // Jump to end and forget the data so .add doesn't re-fire 3227 firingIndex = list.length; 3228 memory = false;
vendor: 4,918 bytes, lines 3229-3438
3229 } 3230 } 3231 } 3232 3233 // Forget the data if we're done with it 3234 if ( !options.memory ) { 3235 memory = false; 3236 } 3237 3238 firing = false; 3239 3240 // Clean up if we're done firing for good 3241 if ( locked ) { 3242 3243 // Keep an empty list if we have data for future add calls 3244 if ( memory ) { 3245 list = []; 3246 3247 // Otherwise, this object is spent 3248 } else { 3249 list = ""; 3250 } 3251 } 3252 }, 3253 3254 // Actual Callbacks object 3255 self = { 3256 3257 // Add a callback or a collection of callbacks to the list 3258 add: function() { 3259 if ( list ) { 3260 3261 // If we have memory from a past run, we should fire after adding 3262 if ( memory && !firing ) { 3263 firingIndex = list.length - 1; 3264 queue.push( memory ); 3265 } 3266 3267 ( function add( args ) { 3268 jQuery.each( args, function( _, arg ) { 3269 if ( isFunction( arg ) ) { 3270 if ( !options.unique || !self.has( arg ) ) { 3271 list.push( arg ); 3272 } 3273 } else if ( arg && arg.length && toType( arg ) !== "string" ) { 3274 3275 // Inspect recursively 3276 add( arg ); 3277 } 3278 } ); 3279 } )( arguments ); 3280 3281 if ( memory && !firing ) { 3282 fire(); 3283 } 3284 } 3285 return this; 3286 }, 3287 3288 // Remove a callback from the list 3289 remove: function() { 3290 jQuery.each( arguments, function( _, arg ) { 3291 var index; 3292 while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { 3293 list.splice( index, 1 ); 3294 3295 // Handle firing indexes 3296 if ( index <= firingIndex ) { 3297 firingIndex--; 3298 } 3299 } 3300 } ); 3301 return this; 3302 }, 3303 3304 // Check if a given callback is in the list. 3305 // If no argument is given, return whether or not list has callbacks attached. 3306 has: function( fn ) { 3307 return fn ? 3308 jQuery.inArray( fn, list ) > -1 : 3309 list.length > 0; 3310 }, 3311 3312 // Remove all callbacks from the list 3313 empty: function() { 3314 if ( list ) { 3315 list = []; 3316 } 3317 return this; 3318 }, 3319 3320 // Disable .fire and .add 3321 // Abort any current/pending executions 3322 // Clear all callbacks and values 3323 disable: function() { 3324 locked = queue = []; 3325 list = memory = ""; 3326 return this; 3327 }, 3328 disabled: function() { 3329 return !list; 3330 }, 3331 3332 // Disable .fire 3333 // Also disable .add unless we have memory (since it would have no effect) 3334 // Abort any pending executions 3335 lock: function() { 3336 locked = queue = []; 3337 if ( !memory && !firing ) { 3338 list = memory = ""; 3339 } 3340 return this; 3341 }, 3342 locked: function() { 3343 return !!locked; 3344 }, 3345 3346 // Call all callbacks with the given context and arguments 3347 fireWith: function( context, args ) { 3348 if ( !locked ) { 3349 args = args || []; 3350 args = [ context, args.slice ? args.slice() : args ]; 3351 queue.push( args ); 3352 if ( !firing ) { 3353 fire(); 3354 } 3355 } 3356 return this; 3357 }, 3358 3359 // Call all the callbacks with the given arguments 3360 fire: function() { 3361 self.fireWith( this, arguments ); 3362 return this; 3363 }, 3364 3365 // To know if the callbacks have already been called at least once 3366 fired: function() { 3367 return !!fired; 3368 } 3369 }; 3370 3371 return self; 3372}; 3373 3374 3375function Identity( v ) { 3376 return v; 3377} 3378function Thrower( ex ) { 3379 throw ex; 3380} 3381 3382function adoptValue( value, resolve, reject, noValue ) { 3383 var method; 3384 3385 try { 3386 3387 // Check for promise aspect first to privilege synchronous behavior 3388 if ( value && isFunction( ( method = value.promise ) ) ) { 3389 method.call( value ).done( resolve ).fail( reject ); 3390 3391 // Other thenables 3392 } else if ( value && isFunction( ( method = value.then ) ) ) { 3393 method.call( value, resolve, reject ); 3394 3395 // Other non-thenables 3396 } else { 3397 3398 // Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer: 3399 // * false: [ value ].slice( 0 ) => resolve( value ) 3400 // * true: [ value ].slice( 1 ) => resolve() 3401 resolve.apply( undefined, [ value ].slice( noValue ) ); 3402 } 3403 3404 // For Promises/A+, convert exceptions into rejections 3405 // Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in 3406 // Deferred#then to conditionally suppress rejection. 3407 } catch ( value ) { 3408 3409 // Support: Android 4.0 only 3410 // Strict mode functions invoked without .call/.apply get global-object context 3411 reject.apply( undefined, [ value ] ); 3412 } 3413} 3414 3415jQuery.extend( { 3416 3417 Deferred: function( func ) { 3418 var tuples = [ 3419 3420 // action, add listener, callbacks, 3421 // ... .then handlers, argument index, [final state] 3422 [ "notify", "progress", jQuery.Callbacks( "memory" ), 3423 jQuery.Callbacks( "memory" ), 2 ], 3424 [ "resolve", "done", jQuery.Callbacks( "once memory" ), 3425 jQuery.Callbacks( "once memory" ), 0, "resolved" ], 3426 [ "reject", "fail", jQuery.Callbacks( "once memory" ), 3427 jQuery.Callbacks( "once memory" ), 1, "rejected" ] 3428 ], 3429 state = "pending", 3430 promise = { 3431 state: function() { 3432 return state; 3433 }, 3434 always: function() { 3435 deferred.done( arguments ).fail( arguments ); 3436 return this; 3437 }, 3438 "catch": function( fn ) {
vendor: 28,472 bytes, lines 3439-4550
3439 return promise.then( null, fn ); 3440 }, 3441 3442 // Keep pipe for back-compat 3443 pipe: function( /* fnDone, fnFail, fnProgress */ ) { 3444 var fns = arguments; 3445 3446 return jQuery.Deferred( function( newDefer ) { 3447 jQuery.each( tuples, function( _i, tuple ) { 3448 3449 // Map tuples (progress, done, fail) to arguments (done, fail, progress) 3450 var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ]; 3451 3452 // deferred.progress(function() { bind to newDefer or newDefer.notify }) 3453 // deferred.done(function() { bind to newDefer or newDefer.resolve }) 3454 // deferred.fail(function() { bind to newDefer or newDefer.reject }) 3455 deferred[ tuple[ 1 ] ]( function() { 3456 var returned = fn && fn.apply( this, arguments ); 3457 if ( returned && isFunction( returned.promise ) ) { 3458 returned.promise() 3459 .progress( newDefer.notify ) 3460 .done( newDefer.resolve ) 3461 .fail( newDefer.reject ); 3462 } else { 3463 newDefer[ tuple[ 0 ] + "With" ]( 3464 this, 3465 fn ? [ returned ] : arguments 3466 ); 3467 } 3468 } ); 3469 } ); 3470 fns = null; 3471 } ).promise(); 3472 }, 3473 then: function( onFulfilled, onRejected, onProgress ) { 3474 var maxDepth = 0; 3475 function resolve( depth, deferred, handler, special ) { 3476 return function() { 3477 var that = this, 3478 args = arguments, 3479 mightThrow = function() { 3480 var returned, then; 3481 3482 // Support: Promises/A+ section 2.3.3.3.3 3483 // https://promisesaplus.com/#point-59 3484 // Ignore double-resolution attempts 3485 if ( depth < maxDepth ) { 3486 return; 3487 } 3488 3489 returned = handler.apply( that, args ); 3490 3491 // Support: Promises/A+ section 2.3.1 3492 // https://promisesaplus.com/#point-48 3493 if ( returned === deferred.promise() ) { 3494 throw new TypeError( "Thenable self-resolution" ); 3495 } 3496 3497 // Support: Promises/A+ sections 2.3.3.1, 3.5 3498 // https://promisesaplus.com/#point-54 3499 // https://promisesaplus.com/#point-75 3500 // Retrieve `then` only once 3501 then = returned && 3502 3503 // Support: Promises/A+ section 2.3.4 3504 // https://promisesaplus.com/#point-64 3505 // Only check objects and functions for thenability 3506 ( typeof returned === "object" || 3507 typeof returned === "function" ) && 3508 returned.then; 3509 3510 // Handle a returned thenable 3511 if ( isFunction( then ) ) { 3512 3513 // Special processors (notify) just wait for resolution 3514 if ( special ) { 3515 then.call( 3516 returned, 3517 resolve( maxDepth, deferred, Identity, special ), 3518 resolve( maxDepth, deferred, Thrower, special ) 3519 ); 3520 3521 // Normal processors (resolve) also hook into progress 3522 } else { 3523 3524 // ...and disregard older resolution values 3525 maxDepth++; 3526 3527 then.call( 3528 returned, 3529 resolve( maxDepth, deferred, Identity, special ), 3530 resolve( maxDepth, deferred, Thrower, special ), 3531 resolve( maxDepth, deferred, Identity, 3532 deferred.notifyWith ) 3533 ); 3534 } 3535 3536 // Handle all other returned values 3537 } else { 3538 3539 // Only substitute handlers pass on context 3540 // and multiple values (non-spec behavior) 3541 if ( handler !== Identity ) { 3542 that = undefined; 3543 args = [ returned ]; 3544 } 3545 3546 // Process the value(s) 3547 // Default process is resolve 3548 ( special || deferred.resolveWith )( that, args ); 3549 } 3550 }, 3551 3552 // Only normal processors (resolve) catch and reject exceptions 3553 process = special ? 3554 mightThrow : 3555 function() { 3556 try { 3557 mightThrow(); 3558 } catch ( e ) { 3559 3560 if ( jQuery.Deferred.exceptionHook ) { 3561 jQuery.Deferred.exceptionHook( e, 3562 process.error ); 3563 } 3564 3565 // Support: Promises/A+ section 2.3.3.3.4.1 3566 // https://promisesaplus.com/#point-61 3567 // Ignore post-resolution exceptions 3568 if ( depth + 1 >= maxDepth ) { 3569 3570 // Only substitute handlers pass on context 3571 // and multiple values (non-spec behavior) 3572 if ( handler !== Thrower ) { 3573 that = undefined; 3574 args = [ e ]; 3575 } 3576 3577 deferred.rejectWith( that, args ); 3578 } 3579 } 3580 }; 3581 3582 // Support: Promises/A+ section 2.3.3.3.1 3583 // https://promisesaplus.com/#point-57 3584 // Re-resolve promises immediately to dodge false rejection from 3585 // subsequent errors 3586 if ( depth ) { 3587 process(); 3588 } else { 3589 3590 // Call an optional hook to record the error, in case of exception 3591 // since it's otherwise lost when execution goes async 3592 if ( jQuery.Deferred.getErrorHook ) { 3593 process.error = jQuery.Deferred.getErrorHook(); 3594 3595 // The deprecated alias of the above. While the name suggests 3596 // returning the stack, not an error instance, jQuery just passes 3597 // it directly to `console.warn` so both will work; an instance 3598 // just better cooperates with source maps. 3599 } else if ( jQuery.Deferred.getStackHook ) { 3600 process.error = jQuery.Deferred.getStackHook(); 3601 } 3602 window.setTimeout( process ); 3603 } 3604 }; 3605 } 3606 3607 return jQuery.Deferred( function( newDefer ) { 3608 3609 // progress_handlers.add( ... ) 3610 tuples[ 0 ][ 3 ].add( 3611 resolve( 3612 0, 3613 newDefer, 3614 isFunction( onProgress ) ? 3615 onProgress : 3616 Identity, 3617 newDefer.notifyWith 3618 ) 3619 ); 3620 3621 // fulfilled_handlers.add( ... ) 3622 tuples[ 1 ][ 3 ].add( 3623 resolve( 3624 0, 3625 newDefer, 3626 isFunction( onFulfilled ) ? 3627 onFulfilled : 3628 Identity 3629 ) 3630 ); 3631 3632 // rejected_handlers.add( ... ) 3633 tuples[ 2 ][ 3 ].add( 3634 resolve( 3635 0, 3636 newDefer, 3637 isFunction( onRejected ) ? 3638 onRejected : 3639 Thrower 3640 ) 3641 ); 3642 } ).promise(); 3643 }, 3644 3645 // Get a promise for this deferred 3646 // If obj is provided, the promise aspect is added to the object 3647 promise: function( obj ) { 3648 return obj != null ? jQuery.extend( obj, promise ) : promise; 3649 } 3650 }, 3651 deferred = {}; 3652 3653 // Add list-specific methods 3654 jQuery.each( tuples, function( i, tuple ) { 3655 var list = tuple[ 2 ], 3656 stateString = tuple[ 5 ]; 3657 3658 // promise.progress = list.add 3659 // promise.done = list.add 3660 // promise.fail = list.add 3661 promise[ tuple[ 1 ] ] = list.add; 3662 3663 // Handle state 3664 if ( stateString ) { 3665 list.add( 3666 function() { 3667 3668 // state = "resolved" (i.e., fulfilled) 3669 // state = "rejected" 3670 state = stateString; 3671 }, 3672 3673 // rejected_callbacks.disable 3674 // fulfilled_callbacks.disable 3675 tuples[ 3 - i ][ 2 ].disable, 3676 3677 // rejected_handlers.disable 3678 // fulfilled_handlers.disable 3679 tuples[ 3 - i ][ 3 ].disable, 3680 3681 // progress_callbacks.lock 3682 tuples[ 0 ][ 2 ].lock, 3683 3684 // progress_handlers.lock 3685 tuples[ 0 ][ 3 ].lock 3686 ); 3687 } 3688 3689 // progress_handlers.fire 3690 // fulfilled_handlers.fire 3691 // rejected_handlers.fire 3692 list.add( tuple[ 3 ].fire ); 3693 3694 // deferred.notify = function() { deferred.notifyWith(...) } 3695 // deferred.resolve = function() { deferred.resolveWith(...) } 3696 // deferred.reject = function() { deferred.rejectWith(...) } 3697 deferred[ tuple[ 0 ] ] = function() { 3698 deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments ); 3699 return this; 3700 }; 3701 3702 // deferred.notifyWith = list.fireWith 3703 // deferred.resolveWith = list.fireWith 3704 // deferred.rejectWith = list.fireWith 3705 deferred[ tuple[ 0 ] + "With" ] = list.fireWith; 3706 } ); 3707 3708 // Make the deferred a promise 3709 promise.promise( deferred ); 3710 3711 // Call given func if any 3712 if ( func ) { 3713 func.call( deferred, deferred ); 3714 } 3715 3716 // All done! 3717 return deferred; 3718 }, 3719 3720 // Deferred helper 3721 when: function( singleValue ) { 3722 var 3723 3724 // count of uncompleted subordinates 3725 remaining = arguments.length, 3726 3727 // count of unprocessed arguments 3728 i = remaining, 3729 3730 // subordinate fulfillment data 3731 resolveContexts = Array( i ), 3732 resolveValues = slice.call( arguments ), 3733 3734 // the primary Deferred 3735 primary = jQuery.Deferred(), 3736 3737 // subordinate callback factory 3738 updateFunc = function( i ) { 3739 return function( value ) { 3740 resolveContexts[ i ] = this; 3741 resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value; 3742 if ( !( --remaining ) ) { 3743 primary.resolveWith( resolveContexts, resolveValues ); 3744 } 3745 }; 3746 }; 3747 3748 // Single- and empty arguments are adopted like Promise.resolve 3749 if ( remaining <= 1 ) { 3750 adoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject, 3751 !remaining ); 3752 3753 // Use .then() to unwrap secondary thenables (cf. gh-3000) 3754 if ( primary.state() === "pending" || 3755 isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) { 3756 3757 return primary.then(); 3758 } 3759 } 3760 3761 // Multiple arguments are aggregated like Promise.all array elements 3762 while ( i-- ) { 3763 adoptValue( resolveValues[ i ], updateFunc( i ), primary.reject ); 3764 } 3765 3766 return primary.promise(); 3767 } 3768} ); 3769 3770 3771// These usually indicate a programmer mistake during development, 3772// warn about them ASAP rather than swallowing them by default. 3773var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; 3774 3775// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error 3776// captured before the async barrier to get the original error cause 3777// which may otherwise be hidden. 3778jQuery.Deferred.exceptionHook = function( error, asyncError ) { 3779 3780 // Support: IE 8 - 9 only 3781 // Console exists when dev tools are open, which can happen at any time 3782 if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) { 3783 window.console.warn( "jQuery.Deferred exception: " + error.message, 3784 error.stack, asyncError ); 3785 } 3786}; 3787 3788 3789 3790 3791jQuery.readyException = function( error ) { 3792 window.setTimeout( function() { 3793 throw error; 3794 } ); 3795}; 3796 3797 3798 3799 3800// The deferred used on DOM ready 3801var readyList = jQuery.Deferred(); 3802 3803jQuery.fn.ready = function( fn ) { 3804 3805 readyList 3806 .then( fn ) 3807 3808 // Wrap jQuery.readyException in a function so that the lookup 3809 // happens at the time of error handling instead of callback 3810 // registration. 3811 .catch( function( error ) { 3812 jQuery.readyException( error ); 3813 } ); 3814 3815 return this; 3816}; 3817 3818jQuery.extend( { 3819 3820 // Is the DOM ready to be used? Set to true once it occurs. 3821 isReady: false, 3822 3823 // A counter to track how many items to wait for before 3824 // the ready event fires. See trac-6781 3825 readyWait: 1, 3826 3827 // Handle when the DOM is ready 3828 ready: function( wait ) { 3829 3830 // Abort if there are pending holds or we're already ready 3831 if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { 3832 return; 3833 } 3834 3835 // Remember that the DOM is ready 3836 jQuery.isReady = true; 3837 3838 // If a normal DOM Ready event fired, decrement, and wait if need be 3839 if ( wait !== true && --jQuery.readyWait > 0 ) { 3840 return; 3841 } 3842 3843 // If there are functions bound, to execute 3844 readyList.resolveWith( document, [ jQuery ] ); 3845 } 3846} ); 3847 3848jQuery.ready.then = readyList.then; 3849 3850// The ready event handler and self cleanup method 3851function completed() { 3852 document.removeEventListener( "DOMContentLoaded", completed ); 3853 window.removeEventListener( "load", completed ); 3854 jQuery.ready(); 3855} 3856 3857// Catch cases where $(document).ready() is called 3858// after the browser event has already occurred. 3859// Support: IE <=9 - 10 only 3860// Older IE sometimes signals "interactive" too soon 3861if ( document.readyState === "complete" || 3862 ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { 3863 3864 // Handle it asynchronously to allow scripts the opportunity to delay ready 3865 window.setTimeout( jQuery.ready ); 3866 3867} else { 3868 3869 // Use the handy event callback 3870 document.addEventListener( "DOMContentLoaded", completed ); 3871 3872 // A fallback to window.onload, that will always work 3873 window.addEventListener( "load", completed ); 3874} 3875 3876 3877 3878 3879// Multifunctional method to get and set values of a collection 3880// The value/s can optionally be executed if it's a function 3881var access = function( elems, fn, key, value, chainable, emptyGet, raw ) { 3882 var i = 0, 3883 len = elems.length, 3884 bulk = key == null; 3885 3886 // Sets many values 3887 if ( toType( key ) === "object" ) { 3888 chainable = true; 3889 for ( i in key ) { 3890 access( elems, fn, i, key[ i ], true, emptyGet, raw ); 3891 } 3892 3893 // Sets one value 3894 } else if ( value !== undefined ) { 3895 chainable = true; 3896 3897 if ( !isFunction( value ) ) { 3898 raw = true; 3899 } 3900 3901 if ( bulk ) { 3902 3903 // Bulk operations run against the entire set 3904 if ( raw ) { 3905 fn.call( elems, value ); 3906 fn = null; 3907 3908 // ...except when executing function values 3909 } else { 3910 bulk = fn; 3911 fn = function( elem, _key, value ) { 3912 return bulk.call( jQuery( elem ), value ); 3913 }; 3914 } 3915 } 3916 3917 if ( fn ) { 3918 for ( ; i < len; i++ ) { 3919 fn( 3920 elems[ i ], key, raw ? 3921 value : 3922 value.call( elems[ i ], i, fn( elems[ i ], key ) ) 3923 ); 3924 } 3925 } 3926 } 3927 3928 if ( chainable ) { 3929 return elems; 3930 } 3931 3932 // Gets 3933 if ( bulk ) { 3934 return fn.call( elems ); 3935 } 3936 3937 return len ? fn( elems[ 0 ], key ) : emptyGet; 3938}; 3939 3940 3941// Matches dashed string for camelizing 3942var rmsPrefix = /^-ms-/, 3943 rdashAlpha = /-([a-z])/g; 3944 3945// Used by camelCase as callback to replace() 3946function fcamelCase( _all, letter ) { 3947 return letter.toUpperCase(); 3948} 3949 3950// Convert dashed to camelCase; used by the css and data modules 3951// Support: IE <=9 - 11, Edge 12 - 15 3952// Microsoft forgot to hump their vendor prefix (trac-9572) 3953function camelCase( string ) { 3954 return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); 3955} 3956var acceptData = function( owner ) { 3957 3958 // Accepts only: 3959 // - Node 3960 // - Node.ELEMENT_NODE 3961 // - Node.DOCUMENT_NODE 3962 // - Object 3963 // - Any 3964 return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType ); 3965}; 3966 3967 3968 3969 3970function Data() { 3971 this.expando = jQuery.expando + Data.uid++; 3972} 3973 3974Data.uid = 1; 3975 3976Data.prototype = { 3977 3978 cache: function( owner ) { 3979 3980 // Check if the owner object already has a cache 3981 var value = owner[ this.expando ]; 3982 3983 // If not, create one 3984 if ( !value ) { 3985 value = {}; 3986 3987 // We can accept data for non-element nodes in modern browsers, 3988 // but we should not, see trac-8335. 3989 // Always return an empty object. 3990 if ( acceptData( owner ) ) { 3991 3992 // If it is a node unlikely to be stringify-ed or looped over 3993 // use plain assignment 3994 if ( owner.nodeType ) { 3995 owner[ this.expando ] = value; 3996 3997 // Otherwise secure it in a non-enumerable property 3998 // configurable must be true to allow the property to be 3999 // deleted when data is removed 4000 } else { 4001 Object.defineProperty( owner, this.expando, { 4002 value: value, 4003 configurable: true 4004 } ); 4005 } 4006 } 4007 } 4008 4009 return value; 4010 }, 4011 set: function( owner, data, value ) { 4012 var prop, 4013 cache = this.cache( owner ); 4014 4015 // Handle: [ owner, key, value ] args 4016 // Always use camelCase key (gh-2257) 4017 if ( typeof data === "string" ) { 4018 cache[ camelCase( data ) ] = value; 4019 4020 // Handle: [ owner, { properties } ] args 4021 } else { 4022 4023 // Copy the properties one-by-one to the cache object 4024 for ( prop in data ) { 4025 cache[ camelCase( prop ) ] = data[ prop ]; 4026 } 4027 } 4028 return cache; 4029 }, 4030 get: function( owner, key ) { 4031 return key === undefined ? 4032 this.cache( owner ) : 4033 4034 // Always use camelCase key (gh-2257) 4035 owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ]; 4036 }, 4037 access: function( owner, key, value ) { 4038 4039 // In cases where either: 4040 // 4041 // 1. No key was specified 4042 // 2. A string key was specified, but no value provided 4043 // 4044 // Take the "read" path and allow the get method to determine 4045 // which value to return, respectively either: 4046 // 4047 // 1. The entire cache object 4048 // 2. The data stored at the key 4049 // 4050 if ( key === undefined || 4051 ( ( key && typeof key === "string" ) && value === undefined ) ) { 4052 4053 return this.get( owner, key ); 4054 } 4055 4056 // When the key is not a string, or both a key and value 4057 // are specified, set or extend (existing objects) with either: 4058 // 4059 // 1. An object of properties 4060 // 2. A key and value 4061 // 4062 this.set( owner, key, value ); 4063 4064 // Since the "set" path can have two possible entry points 4065 // return the expected data based on which path was taken[*] 4066 return value !== undefined ? value : key; 4067 }, 4068 remove: function( owner, key ) { 4069 var i, 4070 cache = owner[ this.expando ]; 4071 4072 if ( cache === undefined ) { 4073 return; 4074 } 4075 4076 if ( key !== undefined ) { 4077 4078 // Support array or space separated string of keys 4079 if ( Array.isArray( key ) ) { 4080 4081 // If key is an array of keys... 4082 // We always set camelCase keys, so remove that. 4083 key = key.map( camelCase ); 4084 } else { 4085 key = camelCase( key ); 4086 4087 // If a key with the spaces exists, use it. 4088 // Otherwise, create an array by matching non-whitespace 4089 key = key in cache ? 4090 [ key ] : 4091 ( key.match( rnothtmlwhite ) || [] ); 4092 } 4093 4094 i = key.length; 4095 4096 while ( i-- ) { 4097 delete cache[ key[ i ] ]; 4098 } 4099 } 4100 4101 // Remove the expando if there's no more data 4102 if ( key === undefined || jQuery.isEmptyObject( cache ) ) { 4103 4104 // Support: Chrome <=35 - 45 4105 // Webkit & Blink performance suffers when deleting properties 4106 // from DOM nodes, so set to undefined instead 4107 // https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted) 4108 if ( owner.nodeType ) { 4109 owner[ this.expando ] = undefined; 4110 } else { 4111 delete owner[ this.expando ]; 4112 } 4113 } 4114 }, 4115 hasData: function( owner ) { 4116 var cache = owner[ this.expando ]; 4117 return cache !== undefined && !jQuery.isEmptyObject( cache ); 4118 } 4119}; 4120var dataPriv = new Data(); 4121 4122var dataUser = new Data(); 4123 4124 4125 4126// Implementation Summary 4127// 4128// 1. Enforce API surface and semantic compatibility with 1.9.x branch 4129// 2. Improve the module's maintainability by reducing the storage 4130// paths to a single mechanism. 4131// 3. Use the same single mechanism to support "private" and "user" data. 4132// 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData) 4133// 5. Avoid exposing implementation details on user objects (eg. expando properties) 4134// 6. Provide a clear path for implementation upgrade to WeakMap in 2014 4135 4136var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, 4137 rmultiDash = /[A-Z]/g; 4138 4139function getData( data ) { 4140 if ( data === "true" ) { 4141 return true; 4142 } 4143 4144 if ( data === "false" ) { 4145 return false; 4146 } 4147 4148 if ( data === "null" ) { 4149 return null; 4150 } 4151 4152 // Only convert to a number if it doesn't change the string 4153 if ( data === +data + "" ) { 4154 return +data; 4155 } 4156 4157 if ( rbrace.test( data ) ) { 4158 return JSON.parse( data ); 4159 } 4160 4161 return data; 4162} 4163 4164function dataAttr( elem, key, data ) { 4165 var name; 4166 4167 // If nothing was found internally, try to fetch any 4168 // data from the HTML5 data-* attribute 4169 if ( data === undefined && elem.nodeType === 1 ) { 4170 name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); 4171 data = elem.getAttribute( name ); 4172 4173 if ( typeof data === "string" ) { 4174 try { 4175 data = getData( data ); 4176 } catch ( e ) {} 4177 4178 // Make sure we set the data so it isn't changed later 4179 dataUser.set( elem, key, data ); 4180 } else { 4181 data = undefined; 4182 } 4183 } 4184 return data; 4185} 4186 4187jQuery.extend( { 4188 hasData: function( elem ) { 4189 return dataUser.hasData( elem ) || dataPriv.hasData( elem ); 4190 }, 4191 4192 data: function( elem, name, data ) { 4193 return dataUser.access( elem, name, data ); 4194 }, 4195 4196 removeData: function( elem, name ) { 4197 dataUser.remove( elem, name ); 4198 }, 4199 4200 // TODO: Now that all calls to _data and _removeData have been replaced 4201 // with direct calls to dataPriv methods, these can be deprecated. 4202 _data: function( elem, name, data ) { 4203 return dataPriv.access( elem, name, data ); 4204 }, 4205 4206 _removeData: function( elem, name ) { 4207 dataPriv.remove( elem, name ); 4208 } 4209} ); 4210 4211jQuery.fn.extend( { 4212 data: function( key, value ) { 4213 var i, name, data, 4214 elem = this[ 0 ], 4215 attrs = elem && elem.attributes; 4216 4217 // Gets all values 4218 if ( key === undefined ) { 4219 if ( this.length ) { 4220 data = dataUser.get( elem ); 4221 4222 if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { 4223 i = attrs.length; 4224 while ( i-- ) { 4225 4226 // Support: IE 11 only 4227 // The attrs elements can be null (trac-14894) 4228 if ( attrs[ i ] ) { 4229 name = attrs[ i ].name; 4230 if ( name.indexOf( "data-" ) === 0 ) { 4231 name = camelCase( name.slice( 5 ) ); 4232 dataAttr( elem, name, data[ name ] ); 4233 } 4234 } 4235 } 4236 dataPriv.set( elem, "hasDataAttrs", true ); 4237 } 4238 } 4239 4240 return data; 4241 } 4242 4243 // Sets multiple values 4244 if ( typeof key === "object" ) { 4245 return this.each( function() { 4246 dataUser.set( this, key ); 4247 } ); 4248 } 4249 4250 return access( this, function( value ) { 4251 var data; 4252 4253 // The calling jQuery object (element matches) is not empty 4254 // (and therefore has an element appears at this[ 0 ]) and the 4255 // `value` parameter was not undefined. An empty jQuery object 4256 // will result in `undefined` for elem = this[ 0 ] which will 4257 // throw an exception if an attempt to read a data cache is made. 4258 if ( elem && value === undefined ) { 4259 4260 // Attempt to get data from the cache 4261 // The key will always be camelCased in Data 4262 data = dataUser.get( elem, key ); 4263 if ( data !== undefined ) { 4264 return data; 4265 } 4266 4267 // Attempt to "discover" the data in 4268 // HTML5 custom data-* attrs 4269 data = dataAttr( elem, key ); 4270 if ( data !== undefined ) { 4271 return data; 4272 } 4273 4274 // We tried really hard, but the data doesn't exist. 4275 return; 4276 } 4277 4278 // Set the data... 4279 this.each( function() { 4280 4281 // We always store the camelCased key 4282 dataUser.set( this, key, value ); 4283 } ); 4284 }, null, value, arguments.length > 1, null, true ); 4285 }, 4286 4287 removeData: function( key ) { 4288 return this.each( function() { 4289 dataUser.remove( this, key ); 4290 } ); 4291 } 4292} ); 4293 4294 4295jQuery.extend( { 4296 queue: function( elem, type, data ) { 4297 var queue; 4298 4299 if ( elem ) { 4300 type = ( type || "fx" ) + "queue"; 4301 queue = dataPriv.get( elem, type ); 4302 4303 // Speed up dequeue by getting out quickly if this is just a lookup 4304 if ( data ) { 4305 if ( !queue || Array.isArray( data ) ) { 4306 queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); 4307 } else { 4308 queue.push( data ); 4309 } 4310 } 4311 return queue || []; 4312 } 4313 }, 4314 4315 dequeue: function( elem, type ) { 4316 type = type || "fx"; 4317 4318 var queue = jQuery.queue( elem, type ), 4319 startLength = queue.length, 4320 fn = queue.shift(), 4321 hooks = jQuery._queueHooks( elem, type ), 4322 next = function() { 4323 jQuery.dequeue( elem, type ); 4324 }; 4325 4326 // If the fx queue is dequeued, always remove the progress sentinel 4327 if ( fn === "inprogress" ) { 4328 fn = queue.shift(); 4329 startLength--; 4330 } 4331 4332 if ( fn ) { 4333 4334 // Add a progress sentinel to prevent the fx queue from being 4335 // automatically dequeued 4336 if ( type === "fx" ) { 4337 queue.unshift( "inprogress" ); 4338 } 4339 4340 // Clear up the last queue stop function 4341 delete hooks.stop; 4342 fn.call( elem, next, hooks ); 4343 } 4344 4345 if ( !startLength && hooks ) { 4346 hooks.empty.fire(); 4347 } 4348 }, 4349 4350 // Not public - generate a queueHooks object, or return the current one 4351 _queueHooks: function( elem, type ) { 4352 var key = type + "queueHooks"; 4353 return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { 4354 empty: jQuery.Callbacks( "once memory" ).add( function() { 4355 dataPriv.remove( elem, [ type + "queue", key ] ); 4356 } ) 4357 } ); 4358 } 4359} ); 4360 4361jQuery.fn.extend( { 4362 queue: function( type, data ) { 4363 var setter = 2; 4364 4365 if ( typeof type !== "string" ) { 4366 data = type; 4367 type = "fx"; 4368 setter--; 4369 } 4370 4371 if ( arguments.length < setter ) { 4372 return jQuery.queue( this[ 0 ], type ); 4373 } 4374 4375 return data === undefined ? 4376 this : 4377 this.each( function() { 4378 var queue = jQuery.queue( this, type, data ); 4379 4380 // Ensure a hooks for this queue 4381 jQuery._queueHooks( this, type ); 4382 4383 if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { 4384 jQuery.dequeue( this, type ); 4385 } 4386 } ); 4387 }, 4388 dequeue: function( type ) { 4389 return this.each( function() { 4390 jQuery.dequeue( this, type ); 4391 } ); 4392 }, 4393 clearQueue: function( type ) { 4394 return this.queue( type || "fx", [] ); 4395 }, 4396 4397 // Get a promise resolved when queues of a certain type 4398 // are emptied (fx is the type by default) 4399 promise: function( type, obj ) { 4400 var tmp, 4401 count = 1, 4402 defer = jQuery.Deferred(), 4403 elements = this, 4404 i = this.length, 4405 resolve = function() { 4406 if ( !( --count ) ) { 4407 defer.resolveWith( elements, [ elements ] ); 4408 } 4409 }; 4410 4411 if ( typeof type !== "string" ) { 4412 obj = type; 4413 type = undefined; 4414 } 4415 type = type || "fx"; 4416 4417 while ( i-- ) { 4418 tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); 4419 if ( tmp && tmp.empty ) { 4420 count++; 4421 tmp.empty.add( resolve ); 4422 } 4423 } 4424 resolve(); 4425 return defer.promise( obj ); 4426 } 4427} ); 4428var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; 4429 4430var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); 4431 4432 4433var cssExpand = [ "Top", "Right", "Bottom", "Left" ]; 4434 4435var documentElement = document.documentElement; 4436 4437 4438 4439 var isAttached = function( elem ) { 4440 return jQuery.contains( elem.ownerDocument, elem ); 4441 }, 4442 composed = { composed: true }; 4443 4444 // Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only 4445 // Check attachment across shadow DOM boundaries when possible (gh-3504) 4446 // Support: iOS 10.0-10.2 only 4447 // Early iOS 10 versions support `attachShadow` but not `getRootNode`, 4448 // leading to errors. We need to check for `getRootNode`. 4449 if ( documentElement.getRootNode ) { 4450 isAttached = function( elem ) { 4451 return jQuery.contains( elem.ownerDocument, elem ) || 4452 elem.getRootNode( composed ) === elem.ownerDocument; 4453 }; 4454 } 4455var isHiddenWithinTree = function( elem, el ) { 4456 4457 // isHiddenWithinTree might be called from jQuery#filter function; 4458 // in that case, element will be second argument 4459 elem = el || elem; 4460 4461 // Inline style trumps all 4462 return elem.style.display === "none" || 4463 elem.style.display === "" && 4464 4465 // Otherwise, check computed style 4466 // Support: Firefox <=43 - 45 4467 // Disconnected elements can have computed display: none, so first confirm that elem is 4468 // in the document. 4469 isAttached( elem ) && 4470 4471 jQuery.css( elem, "display" ) === "none"; 4472 }; 4473 4474 4475 4476function adjustCSS( elem, prop, valueParts, tween ) { 4477 var adjusted, scale, 4478 maxIterations = 20, 4479 currentValue = tween ? 4480 function() { 4481 return tween.cur(); 4482 } : 4483 function() { 4484 return jQuery.css( elem, prop, "" ); 4485 }, 4486 initial = currentValue(), 4487 unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), 4488 4489 // Starting value computation is required for potential unit mismatches 4490 initialInUnit = elem.nodeType && 4491 ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && 4492 rcssNum.exec( jQuery.css( elem, prop ) ); 4493 4494 if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { 4495 4496 // Support: Firefox <=54 4497 // Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144) 4498 initial = initial / 2; 4499 4500 // Trust units reported by jQuery.css 4501 unit = unit || initialInUnit[ 3 ]; 4502 4503 // Iteratively approximate from a nonzero starting point 4504 initialInUnit = +initial || 1; 4505 4506 while ( maxIterations-- ) { 4507 4508 // Evaluate and update our best guess (doubling guesses that zero out). 4509 // Finish if the scale equals or crosses 1 (making the old*new product non-positive). 4510 jQuery.style( elem, prop, initialInUnit + unit ); 4511 if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) { 4512 maxIterations = 0; 4513 } 4514 initialInUnit = initialInUnit / scale; 4515 4516 } 4517 4518 initialInUnit = initialInUnit * 2; 4519 jQuery.style( elem, prop, initialInUnit + unit ); 4520 4521 // Make sure we update the tween properties later on 4522 valueParts = valueParts || []; 4523 } 4524 4525 if ( valueParts ) { 4526 initialInUnit = +initialInUnit || +initial || 0; 4527 4528 // Apply relative offset (+=/-=) if specified 4529 adjusted = valueParts[ 1 ] ? 4530 initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : 4531 +valueParts[ 2 ]; 4532 if ( tween ) { 4533 tween.unit = unit; 4534 tween.start = initialInUnit; 4535 tween.end = adjusted; 4536 } 4537 } 4538 return adjusted; 4539} 4540 4541 4542var defaultDisplayMap = {}; 4543 4544function getDefaultDisplay( elem ) { 4545 var temp, 4546 doc = elem.ownerDocument, 4547 nodeName = elem.nodeName, 4548 display = defaultDisplayMap[ nodeName ]; 4549 4550 if ( display ) {
vendor: 2,317 bytes, lines 4551-4649
4551 return display; 4552 } 4553 4554 temp = doc.body.appendChild( doc.createElement( nodeName ) ); 4555 display = jQuery.css( temp, "display" ); 4556 4557 temp.parentNode.removeChild( temp ); 4558 4559 if ( display === "none" ) { 4560 display = "block"; 4561 } 4562 defaultDisplayMap[ nodeName ] = display; 4563 4564 return display; 4565} 4566 4567function showHide( elements, show ) { 4568 var display, elem, 4569 values = [], 4570 index = 0, 4571 length = elements.length; 4572 4573 // Determine new display value for elements that need to change 4574 for ( ; index < length; index++ ) { 4575 elem = elements[ index ]; 4576 if ( !elem.style ) { 4577 continue; 4578 } 4579 4580 display = elem.style.display; 4581 if ( show ) { 4582 4583 // Since we force visibility upon cascade-hidden elements, an immediate (and slow) 4584 // check is required in this first loop unless we have a nonempty display value (either 4585 // inline or about-to-be-restored) 4586 if ( display === "none" ) { 4587 values[ index ] = dataPriv.get( elem, "display" ) || null; 4588 if ( !values[ index ] ) { 4589 elem.style.display = ""; 4590 } 4591 } 4592 if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) { 4593 values[ index ] = getDefaultDisplay( elem ); 4594 } 4595 } else { 4596 if ( display !== "none" ) { 4597 values[ index ] = "none"; 4598 4599 // Remember what we're overwriting 4600 dataPriv.set( elem, "display", display ); 4601 } 4602 } 4603 } 4604 4605 // Set the display of the elements in a second loop to avoid constant reflow 4606 for ( index = 0; index < length; index++ ) { 4607 if ( values[ index ] != null ) { 4608 elements[ index ].style.display = values[ index ]; 4609 } 4610 } 4611 4612 return elements; 4613} 4614 4615jQuery.fn.extend( { 4616 show: function() { 4617 return showHide( this, true ); 4618 }, 4619 hide: function() { 4620 return showHide( this ); 4621 }, 4622 toggle: function( state ) { 4623 if ( typeof state === "boolean" ) { 4624 return state ? this.show() : this.hide(); 4625 } 4626 4627 return this.each( function() { 4628 if ( isHiddenWithinTree( this ) ) { 4629 jQuery( this ).show(); 4630 } else { 4631 jQuery( this ).hide(); 4632 } 4633 } ); 4634 } 4635} ); 4636var rcheckableType = ( /^(?:checkbox|radio)$/i ); 4637 4638var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]*)/i ); 4639 4640var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i ); 4641 4642 4643 4644( function() { 4645 var fragment = document.createDocumentFragment(), 4646 div = fragment.appendChild( document.createElement( "div" ) ), 4647 input = document.createElement( "input" ); 4648 4649 // Support: Android 4.0 - 4.3 only
vendor: 10,092 bytes, lines 4650-5034
4650 // Check state lost if the name is set (trac-11217) 4651 // Support: Windows Web Apps (WWA) 4652 // `name` and `type` must use .setAttribute for WWA (trac-14901) 4653 input.setAttribute( "type", "radio" ); 4654 input.setAttribute( "checked", "checked" ); 4655 input.setAttribute( "name", "t" ); 4656 4657 div.appendChild( input ); 4658 4659 // Support: Android <=4.1 only 4660 // Older WebKit doesn't clone checked state correctly in fragments 4661 support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; 4662 4663 // Support: IE <=11 only 4664 // Make sure textarea (and checkbox) defaultValue is properly cloned 4665 div.innerHTML = "<textarea>x</textarea>"; 4666 support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; 4667 4668 // Support: IE <=9 only 4669 // IE <=9 replaces <option> tags with their contents when inserted outside of 4670 // the select element. 4671 div.innerHTML = "<option></option>"; 4672 support.option = !!div.lastChild; 4673} )(); 4674 4675 4676// We have to close these tags to support XHTML (trac-13200) 4677var wrapMap = { 4678 4679 // XHTML parsers do not magically insert elements in the 4680 // same way that tag soup parsers do. So we cannot shorten 4681 // this by omitting <tbody> or other required elements. 4682 thead: [ 1, "<table>", "</table>" ], 4683 col: [ 2, "<table><colgroup>", "</colgroup></table>" ], 4684 tr: [ 2, "<table><tbody>", "</tbody></table>" ], 4685 td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ], 4686 4687 _default: [ 0, "", "" ] 4688}; 4689 4690wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; 4691wrapMap.th = wrapMap.td; 4692 4693// Support: IE <=9 only 4694if ( !support.option ) { 4695 wrapMap.optgroup = wrapMap.option = [ 1, "<select multiple='multiple'>", "</select>" ]; 4696} 4697 4698 4699function getAll( context, tag ) { 4700 4701 // Support: IE <=9 - 11 only 4702 // Use typeof to avoid zero-argument method invocation on host objects (trac-15151) 4703 var ret; 4704 4705 if ( typeof context.getElementsByTagName !== "undefined" ) { 4706 ret = context.getElementsByTagName( tag || "*" ); 4707 4708 } else if ( typeof context.querySelectorAll !== "undefined" ) { 4709 ret = context.querySelectorAll( tag || "*" ); 4710 4711 } else { 4712 ret = []; 4713 } 4714 4715 if ( tag === undefined || tag && nodeName( context, tag ) ) { 4716 return jQuery.merge( [ context ], ret ); 4717 } 4718 4719 return ret; 4720} 4721 4722 4723// Mark scripts as having already been evaluated 4724function setGlobalEval( elems, refElements ) { 4725 var i = 0, 4726 l = elems.length; 4727 4728 for ( ; i < l; i++ ) { 4729 dataPriv.set( 4730 elems[ i ], 4731 "globalEval", 4732 !refElements || dataPriv.get( refElements[ i ], "globalEval" ) 4733 ); 4734 } 4735} 4736 4737 4738var rhtml = /<|&#?\w+;/; 4739 4740function buildFragment( elems, context, scripts, selection, ignored ) { 4741 var elem, tmp, tag, wrap, attached, j, 4742 fragment = context.createDocumentFragment(), 4743 nodes = [], 4744 i = 0, 4745 l = elems.length; 4746 4747 for ( ; i < l; i++ ) { 4748 elem = elems[ i ]; 4749 4750 if ( elem || elem === 0 ) { 4751 4752 // Add nodes directly 4753 if ( toType( elem ) === "object" ) { 4754 4755 // Support: Android <=4.0 only, PhantomJS 1 only 4756 // push.apply(_, arraylike) throws on ancient WebKit 4757 jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); 4758 4759 // Convert non-html into a text node 4760 } else if ( !rhtml.test( elem ) ) { 4761 nodes.push( context.createTextNode( elem ) ); 4762 4763 // Convert html into DOM nodes 4764 } else { 4765 tmp = tmp || fragment.appendChild( context.createElement( "div" ) ); 4766 4767 // Deserialize a standard representation 4768 tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); 4769 wrap = wrapMap[ tag ] || wrapMap._default; 4770 tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; 4771 4772 // Descend through wrappers to the right content 4773 j = wrap[ 0 ]; 4774 while ( j-- ) { 4775 tmp = tmp.lastChild; 4776 } 4777 4778 // Support: Android <=4.0 only, PhantomJS 1 only 4779 // push.apply(_, arraylike) throws on ancient WebKit 4780 jQuery.merge( nodes, tmp.childNodes ); 4781 4782 // Remember the top-level container 4783 tmp = fragment.firstChild; 4784 4785 // Ensure the created nodes are orphaned (trac-12392) 4786 tmp.textContent = ""; 4787 } 4788 } 4789 } 4790 4791 // Remove wrapper from fragment 4792 fragment.textContent = ""; 4793 4794 i = 0; 4795 while ( ( elem = nodes[ i++ ] ) ) { 4796 4797 // Skip elements already in the context collection (trac-4087) 4798 if ( selection && jQuery.inArray( elem, selection ) > -1 ) { 4799 if ( ignored ) { 4800 ignored.push( elem ); 4801 } 4802 continue; 4803 } 4804 4805 attached = isAttached( elem ); 4806 4807 // Append to fragment 4808 tmp = getAll( fragment.appendChild( elem ), "script" ); 4809 4810 // Preserve script evaluation history 4811 if ( attached ) { 4812 setGlobalEval( tmp ); 4813 } 4814 4815 // Capture executables 4816 if ( scripts ) { 4817 j = 0; 4818 while ( ( elem = tmp[ j++ ] ) ) { 4819 if ( rscriptType.test( elem.type || "" ) ) { 4820 scripts.push( elem ); 4821 } 4822 } 4823 } 4824 } 4825 4826 return fragment; 4827} 4828 4829 4830var rtypenamespace = /^([^.]*)(?:\.(.+)|)/; 4831 4832function returnTrue() { 4833 return true; 4834} 4835 4836function returnFalse() { 4837 return false; 4838} 4839 4840function on( elem, types, selector, data, fn, one ) { 4841 var origFn, type; 4842 4843 // Types can be a map of types/handlers 4844 if ( typeof types === "object" ) { 4845 4846 // ( types-Object, selector, data ) 4847 if ( typeof selector !== "string" ) { 4848 4849 // ( types-Object, data ) 4850 data = data || selector; 4851 selector = undefined; 4852 } 4853 for ( type in types ) { 4854 on( elem, type, selector, data, types[ type ], one ); 4855 } 4856 return elem; 4857 } 4858 4859 if ( data == null && fn == null ) { 4860 4861 // ( types, fn ) 4862 fn = selector; 4863 data = selector = undefined; 4864 } else if ( fn == null ) { 4865 if ( typeof selector === "string" ) { 4866 4867 // ( types, selector, fn ) 4868 fn = data; 4869 data = undefined; 4870 } else { 4871 4872 // ( types, data, fn ) 4873 fn = data; 4874 data = selector; 4875 selector = undefined; 4876 } 4877 } 4878 if ( fn === false ) { 4879 fn = returnFalse; 4880 } else if ( !fn ) { 4881 return elem; 4882 } 4883 4884 if ( one === 1 ) { 4885 origFn = fn; 4886 fn = function( event ) { 4887 4888 // Can use an empty set, since event contains the info 4889 jQuery().off( event ); 4890 return origFn.apply( this, arguments ); 4891 }; 4892 4893 // Use same guid so caller can remove using origFn 4894 fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); 4895 } 4896 return elem.each( function() { 4897 jQuery.event.add( this, types, fn, data, selector ); 4898 } ); 4899} 4900 4901/* 4902 * Helper functions for managing events -- not part of the public interface. 4903 * Props to Dean Edwards' addEvent library for many of the ideas. 4904 */ 4905jQuery.event = { 4906 4907 global: {}, 4908 4909 add: function( elem, types, handler, data, selector ) { 4910 4911 var handleObjIn, eventHandle, tmp, 4912 events, t, handleObj, 4913 special, handlers, type, namespaces, origType, 4914 elemData = dataPriv.get( elem ); 4915 4916 // Only attach events to objects that accept data 4917 if ( !acceptData( elem ) ) { 4918 return; 4919 } 4920 4921 // Caller can pass in an object of custom data in lieu of the handler 4922 if ( handler.handler ) { 4923 handleObjIn = handler; 4924 handler = handleObjIn.handler; 4925 selector = handleObjIn.selector; 4926 } 4927 4928 // Ensure that invalid selectors throw exceptions at attach time 4929 // Evaluate against documentElement in case elem is a non-element node (e.g., document) 4930 if ( selector ) { 4931 jQuery.find.matchesSelector( documentElement, selector ); 4932 } 4933 4934 // Make sure that the handler has a unique ID, used to find/remove it later 4935 if ( !handler.guid ) { 4936 handler.guid = jQuery.guid++; 4937 } 4938 4939 // Init the element's event structure and main handler, if this is the first 4940 if ( !( events = elemData.events ) ) { 4941 events = elemData.events = Object.create( null ); 4942 } 4943 if ( !( eventHandle = elemData.handle ) ) { 4944 eventHandle = elemData.handle = function( e ) { 4945 4946 // Discard the second event of a jQuery.event.trigger() and 4947 // when an event is called after a page has unloaded 4948 return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? 4949 jQuery.event.dispatch.apply( elem, arguments ) : undefined; 4950 }; 4951 } 4952 4953 // Handle multiple events separated by a space 4954 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; 4955 t = types.length; 4956 while ( t-- ) { 4957 tmp = rtypenamespace.exec( types[ t ] ) || []; 4958 type = origType = tmp[ 1 ]; 4959 namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); 4960 4961 // There *must* be a type, no attaching namespace-only handlers 4962 if ( !type ) { 4963 continue; 4964 } 4965 4966 // If event changes its type, use the special event handlers for the changed type 4967 special = jQuery.event.special[ type ] || {}; 4968 4969 // If selector defined, determine special event api type, otherwise given type 4970 type = ( selector ? special.delegateType : special.bindType ) || type; 4971 4972 // Update special based on newly reset type 4973 special = jQuery.event.special[ type ] || {}; 4974 4975 // handleObj is passed to all event handlers 4976 handleObj = jQuery.extend( { 4977 type: type, 4978 origType: origType, 4979 data: data, 4980 handler: handler, 4981 guid: handler.guid, 4982 selector: selector, 4983 needsContext: selector && jQuery.expr.match.needsContext.test( selector ), 4984 namespace: namespaces.join( "." ) 4985 }, handleObjIn ); 4986 4987 // Init the event handler queue if we're the first 4988 if ( !( handlers = events[ type ] ) ) { 4989 handlers = events[ type ] = []; 4990 handlers.delegateCount = 0; 4991 4992 // Only use addEventListener if the special events handler returns false 4993 if ( !special.setup || 4994 special.setup.call( elem, data, namespaces, eventHandle ) === false ) { 4995 4996 if ( elem.addEventListener ) { 4997 elem.addEventListener( type, eventHandle ); 4998 } 4999 } 5000 } 5001 5002 if ( special.add ) { 5003 special.add.call( elem, handleObj ); 5004 5005 if ( !handleObj.handler.guid ) { 5006 handleObj.handler.guid = handler.guid; 5007 } 5008 } 5009 5010 // Add to the element's handler list, delegates in front 5011 if ( selector ) { 5012 handlers.splice( handlers.delegateCount++, 0, handleObj ); 5013 } else { 5014 handlers.push( handleObj ); 5015 } 5016 5017 // Keep track of which events have ever been used, for event optimization 5018 jQuery.event.global[ type ] = true; 5019 } 5020 5021 }, 5022 5023 // Detach an event or set of events from an element 5024 remove: function( elem, types, handler, selector, mappedTypes ) { 5025 5026 var j, origCount, tmp, 5027 events, t, handleObj, 5028 special, handlers, type, namespaces, origType, 5029 elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); 5030 5031 if ( !elemData || !( events = elemData.events ) ) { 5032 return; 5033 } 5034
vendor: 4,197 bytes, lines 5035-5173
5035 // Once for each type.namespace in types; type may be omitted 5036 types = ( types || "" ).match( rnothtmlwhite ) || [ "" ]; 5037 t = types.length; 5038 while ( t-- ) { 5039 tmp = rtypenamespace.exec( types[ t ] ) || []; 5040 type = origType = tmp[ 1 ]; 5041 namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort(); 5042 5043 // Unbind all events (on this namespace, if provided) for the element 5044 if ( !type ) { 5045 for ( type in events ) { 5046 jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); 5047 } 5048 continue; 5049 } 5050 5051 special = jQuery.event.special[ type ] || {}; 5052 type = ( selector ? special.delegateType : special.bindType ) || type; 5053 handlers = events[ type ] || []; 5054 tmp = tmp[ 2 ] && 5055 new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); 5056 5057 // Remove matching events 5058 origCount = j = handlers.length; 5059 while ( j-- ) { 5060 handleObj = handlers[ j ]; 5061 5062 if ( ( mappedTypes || origType === handleObj.origType ) && 5063 ( !handler || handler.guid === handleObj.guid ) && 5064 ( !tmp || tmp.test( handleObj.namespace ) ) && 5065 ( !selector || selector === handleObj.selector || 5066 selector === "**" && handleObj.selector ) ) { 5067 handlers.splice( j, 1 ); 5068 5069 if ( handleObj.selector ) { 5070 handlers.delegateCount--; 5071 } 5072 if ( special.remove ) { 5073 special.remove.call( elem, handleObj ); 5074 } 5075 } 5076 } 5077 5078 // Remove generic event handler if we removed something and no more handlers exist 5079 // (avoids potential for endless recursion during removal of special event handlers) 5080 if ( origCount && !handlers.length ) { 5081 if ( !special.teardown || 5082 special.teardown.call( elem, namespaces, elemData.handle ) === false ) { 5083 5084 jQuery.removeEvent( elem, type, elemData.handle ); 5085 } 5086 5087 delete events[ type ]; 5088 } 5089 } 5090 5091 // Remove data and the expando if it's no longer used 5092 if ( jQuery.isEmptyObject( events ) ) { 5093 dataPriv.remove( elem, "handle events" ); 5094 } 5095 }, 5096 5097 dispatch: function( nativeEvent ) { 5098 5099 var i, j, ret, matched, handleObj, handlerQueue, 5100 args = new Array( arguments.length ), 5101 5102 // Make a writable jQuery.Event from the native event object 5103 event = jQuery.event.fix( nativeEvent ), 5104 5105 handlers = ( 5106 dataPriv.get( this, "events" ) || Object.create( null ) 5107 )[ event.type ] || [], 5108 special = jQuery.event.special[ event.type ] || {}; 5109 5110 // Use the fix-ed jQuery.Event rather than the (read-only) native event 5111 args[ 0 ] = event; 5112 5113 for ( i = 1; i < arguments.length; i++ ) { 5114 args[ i ] = arguments[ i ]; 5115 } 5116 5117 event.delegateTarget = this; 5118 5119 // Call the preDispatch hook for the mapped type, and let it bail if desired 5120 if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { 5121 return; 5122 } 5123 5124 // Determine handlers 5125 handlerQueue = jQuery.event.handlers.call( this, event, handlers ); 5126 5127 // Run delegates first; they may want to stop propagation beneath us 5128 i = 0; 5129 while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { 5130 event.currentTarget = matched.elem; 5131 5132 j = 0; 5133 while ( ( handleObj = matched.handlers[ j++ ] ) && 5134 !event.isImmediatePropagationStopped() ) { 5135 5136 // If the event is namespaced, then each handler is only invoked if it is 5137 // specially universal or its namespaces are a superset of the event's. 5138 if ( !event.rnamespace || handleObj.namespace === false || 5139 event.rnamespace.test( handleObj.namespace ) ) { 5140 5141 event.handleObj = handleObj; 5142 event.data = handleObj.data; 5143 5144 ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || 5145 handleObj.handler ).apply( matched.elem, args ); 5146 5147 if ( ret !== undefined ) { 5148 if ( ( event.result = ret ) === false ) { 5149 event.preventDefault(); 5150 event.stopPropagation(); 5151 } 5152 } 5153 } 5154 } 5155 } 5156 5157 // Call the postDispatch hook for the mapped type 5158 if ( special.postDispatch ) { 5159 special.postDispatch.call( this, event ); 5160 } 5161 5162 return event.result; 5163 }, 5164 5165 handlers: function( event, handlers ) { 5166 var i, handleObj, sel, matchedHandlers, matchedSelectors, 5167 handlerQueue = [], 5168 delegateCount = handlers.delegateCount, 5169 cur = event.target; 5170 5171 // Find delegate handlers 5172 if ( delegateCount && 5173
vendor: 19,034 bytes, lines 5174-5820
5174 // Support: IE <=9 5175 // Black-hole SVG <use> instance trees (trac-13180) 5176 cur.nodeType && 5177 5178 // Support: Firefox <=42 5179 // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861) 5180 // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click 5181 // Support: IE 11 only 5182 // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343) 5183 !( event.type === "click" && event.button >= 1 ) ) { 5184 5185 for ( ; cur !== this; cur = cur.parentNode || this ) { 5186 5187 // Don't check non-elements (trac-13208) 5188 // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764) 5189 if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) { 5190 matchedHandlers = []; 5191 matchedSelectors = {}; 5192 for ( i = 0; i < delegateCount; i++ ) { 5193 handleObj = handlers[ i ]; 5194 5195 // Don't conflict with Object.prototype properties (trac-13203) 5196 sel = handleObj.selector + " "; 5197 5198 if ( matchedSelectors[ sel ] === undefined ) { 5199 matchedSelectors[ sel ] = handleObj.needsContext ? 5200 jQuery( sel, this ).index( cur ) > -1 : 5201 jQuery.find( sel, this, null, [ cur ] ).length; 5202 } 5203 if ( matchedSelectors[ sel ] ) { 5204 matchedHandlers.push( handleObj ); 5205 } 5206 } 5207 if ( matchedHandlers.length ) { 5208 handlerQueue.push( { elem: cur, handlers: matchedHandlers } ); 5209 } 5210 } 5211 } 5212 } 5213 5214 // Add the remaining (directly-bound) handlers 5215 cur = this; 5216 if ( delegateCount < handlers.length ) { 5217 handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } ); 5218 } 5219 5220 return handlerQueue; 5221 }, 5222 5223 addProp: function( name, hook ) { 5224 Object.defineProperty( jQuery.Event.prototype, name, { 5225 enumerable: true, 5226 configurable: true, 5227 5228 get: isFunction( hook ) ? 5229 function() { 5230 if ( this.originalEvent ) { 5231 return hook( this.originalEvent ); 5232 } 5233 } : 5234 function() { 5235 if ( this.originalEvent ) { 5236 return this.originalEvent[ name ]; 5237 } 5238 }, 5239 5240 set: function( value ) { 5241 Object.defineProperty( this, name, { 5242 enumerable: true, 5243 configurable: true, 5244 writable: true, 5245 value: value 5246 } ); 5247 } 5248 } ); 5249 }, 5250 5251 fix: function( originalEvent ) { 5252 return originalEvent[ jQuery.expando ] ? 5253 originalEvent : 5254 new jQuery.Event( originalEvent ); 5255 }, 5256 5257 special: { 5258 load: { 5259 5260 // Prevent triggered image.load events from bubbling to window.load 5261 noBubble: true 5262 }, 5263 click: { 5264 5265 // Utilize native event to ensure correct state for checkable inputs 5266 setup: function( data ) { 5267 5268 // For mutual compressibility with _default, replace `this` access with a local var. 5269 // `|| data` is dead code meant only to preserve the variable through minification. 5270 var el = this || data; 5271 5272 // Claim the first handler 5273 if ( rcheckableType.test( el.type ) && 5274 el.click && nodeName( el, "input" ) ) { 5275 5276 // dataPriv.set( el, "click", ... ) 5277 leverageNative( el, "click", true ); 5278 } 5279 5280 // Return false to allow normal processing in the caller 5281 return false; 5282 }, 5283 trigger: function( data ) { 5284 5285 // For mutual compressibility with _default, replace `this` access with a local var. 5286 // `|| data` is dead code meant only to preserve the variable through minification. 5287 var el = this || data; 5288 5289 // Force setup before triggering a click 5290 if ( rcheckableType.test( el.type ) && 5291 el.click && nodeName( el, "input" ) ) { 5292 5293 leverageNative( el, "click" ); 5294 } 5295 5296 // Return non-false to allow normal event-path propagation 5297 return true; 5298 }, 5299 5300 // For cross-browser consistency, suppress native .click() on links 5301 // Also prevent it if we're currently inside a leveraged native-event stack 5302 _default: function( event ) { 5303 var target = event.target; 5304 return rcheckableType.test( target.type ) && 5305 target.click && nodeName( target, "input" ) && 5306 dataPriv.get( target, "click" ) || 5307 nodeName( target, "a" ); 5308 } 5309 }, 5310 5311 beforeunload: { 5312 postDispatch: function( event ) { 5313 5314 // Support: Firefox 20+ 5315 // Firefox doesn't alert if the returnValue field is not set. 5316 if ( event.result !== undefined && event.originalEvent ) { 5317 event.originalEvent.returnValue = event.result; 5318 } 5319 } 5320 } 5321 } 5322}; 5323 5324// Ensure the presence of an event listener that handles manually-triggered 5325// synthetic events by interrupting progress until reinvoked in response to 5326// *native* events that it fires directly, ensuring that state changes have 5327// already occurred before other listeners are invoked. 5328function leverageNative( el, type, isSetup ) { 5329 5330 // Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add 5331 if ( !isSetup ) { 5332 if ( dataPriv.get( el, type ) === undefined ) { 5333 jQuery.event.add( el, type, returnTrue ); 5334 } 5335 return; 5336 } 5337 5338 // Register the controller as a special universal handler for all event namespaces 5339 dataPriv.set( el, type, false ); 5340 jQuery.event.add( el, type, { 5341 namespace: false, 5342 handler: function( event ) { 5343 var result, 5344 saved = dataPriv.get( this, type ); 5345 5346 if ( ( event.isTrigger & 1 ) && this[ type ] ) { 5347 5348 // Interrupt processing of the outer synthetic .trigger()ed event 5349 if ( !saved ) { 5350 5351 // Store arguments for use when handling the inner native event 5352 // There will always be at least one argument (an event object), so this array 5353 // will not be confused with a leftover capture object. 5354 saved = slice.call( arguments ); 5355 dataPriv.set( this, type, saved ); 5356 5357 // Trigger the native event and capture its result 5358 this[ type ](); 5359 result = dataPriv.get( this, type ); 5360 dataPriv.set( this, type, false ); 5361 5362 if ( saved !== result ) { 5363 5364 // Cancel the outer synthetic event 5365 event.stopImmediatePropagation(); 5366 event.preventDefault(); 5367 5368 return result; 5369 } 5370 5371 // If this is an inner synthetic event for an event with a bubbling surrogate 5372 // (focus or blur), assume that the surrogate already propagated from triggering 5373 // the native event and prevent that from happening again here. 5374 // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the 5375 // bubbling surrogate propagates *after* the non-bubbling base), but that seems 5376 // less bad than duplication. 5377 } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) { 5378 event.stopPropagation(); 5379 } 5380 5381 // If this is a native event triggered above, everything is now in order 5382 // Fire an inner synthetic event with the original arguments 5383 } else if ( saved ) { 5384 5385 // ...and capture the result 5386 dataPriv.set( this, type, jQuery.event.trigger( 5387 saved[ 0 ], 5388 saved.slice( 1 ), 5389 this 5390 ) ); 5391 5392 // Abort handling of the native event by all jQuery handlers while allowing 5393 // native handlers on the same element to run. On target, this is achieved 5394 // by stopping immediate propagation just on the jQuery event. However, 5395 // the native event is re-wrapped by a jQuery one on each level of the 5396 // propagation so the only way to stop it for jQuery is to stop it for 5397 // everyone via native `stopPropagation()`. This is not a problem for 5398 // focus/blur which don't bubble, but it does also stop click on checkboxes 5399 // and radios. We accept this limitation. 5400 event.stopPropagation(); 5401 event.isImmediatePropagationStopped = returnTrue; 5402 } 5403 } 5404 } ); 5405} 5406 5407jQuery.removeEvent = function( elem, type, handle ) { 5408 5409 // This "if" is needed for plain objects 5410 if ( elem.removeEventListener ) { 5411 elem.removeEventListener( type, handle ); 5412 } 5413}; 5414 5415jQuery.Event = function( src, props ) { 5416 5417 // Allow instantiation without the 'new' keyword 5418 if ( !( this instanceof jQuery.Event ) ) { 5419 return new jQuery.Event( src, props ); 5420 } 5421 5422 // Event object 5423 if ( src && src.type ) { 5424 this.originalEvent = src; 5425 this.type = src.type; 5426 5427 // Events bubbling up the document may have been marked as prevented 5428 // by a handler lower down the tree; reflect the correct value. 5429 this.isDefaultPrevented = src.defaultPrevented || 5430 src.defaultPrevented === undefined && 5431 5432 // Support: Android <=2.3 only 5433 src.returnValue === false ? 5434 returnTrue : 5435 returnFalse; 5436 5437 // Create target properties 5438 // Support: Safari <=6 - 7 only 5439 // Target should not be a text node (trac-504, trac-13143) 5440 this.target = ( src.target && src.target.nodeType === 3 ) ? 5441 src.target.parentNode : 5442 src.target; 5443 5444 this.currentTarget = src.currentTarget; 5445 this.relatedTarget = src.relatedTarget; 5446 5447 // Event type 5448 } else { 5449 this.type = src; 5450 } 5451 5452 // Put explicitly provided properties onto the event object 5453 if ( props ) { 5454 jQuery.extend( this, props ); 5455 } 5456 5457 // Create a timestamp if incoming event doesn't have one 5458 this.timeStamp = src && src.timeStamp || Date.now(); 5459 5460 // Mark it as fixed 5461 this[ jQuery.expando ] = true; 5462}; 5463 5464// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding 5465// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html 5466jQuery.Event.prototype = { 5467 constructor: jQuery.Event, 5468 isDefaultPrevented: returnFalse, 5469 isPropagationStopped: returnFalse, 5470 isImmediatePropagationStopped: returnFalse, 5471 isSimulated: false, 5472 5473 preventDefault: function() { 5474 var e = this.originalEvent; 5475 5476 this.isDefaultPrevented = returnTrue; 5477 5478 if ( e && !this.isSimulated ) { 5479 e.preventDefault(); 5480 } 5481 }, 5482 stopPropagation: function() { 5483 var e = this.originalEvent; 5484 5485 this.isPropagationStopped = returnTrue; 5486 5487 if ( e && !this.isSimulated ) { 5488 e.stopPropagation(); 5489 } 5490 }, 5491 stopImmediatePropagation: function() { 5492 var e = this.originalEvent; 5493 5494 this.isImmediatePropagationStopped = returnTrue; 5495 5496 if ( e && !this.isSimulated ) { 5497 e.stopImmediatePropagation(); 5498 } 5499 5500 this.stopPropagation(); 5501 } 5502}; 5503 5504// Includes all common event props including KeyEvent and MouseEvent specific props 5505jQuery.each( { 5506 altKey: true, 5507 bubbles: true, 5508 cancelable: true, 5509 changedTouches: true, 5510 ctrlKey: true, 5511 detail: true, 5512 eventPhase: true, 5513 metaKey: true, 5514 pageX: true, 5515 pageY: true, 5516 shiftKey: true, 5517 view: true, 5518 "char": true, 5519 code: true, 5520 charCode: true, 5521 key: true, 5522 keyCode: true, 5523 button: true, 5524 buttons: true, 5525 clientX: true, 5526 clientY: true, 5527 offsetX: true, 5528 offsetY: true, 5529 pointerId: true, 5530 pointerType: true, 5531 screenX: true, 5532 screenY: true, 5533 targetTouches: true, 5534 toElement: true, 5535 touches: true, 5536 which: true 5537}, jQuery.event.addProp ); 5538 5539jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) { 5540 5541 function focusMappedHandler( nativeEvent ) { 5542 if ( document.documentMode ) { 5543 5544 // Support: IE 11+ 5545 // Attach a single focusin/focusout handler on the document while someone wants 5546 // focus/blur. This is because the former are synchronous in IE while the latter 5547 // are async. In other browsers, all those handlers are invoked synchronously. 5548 5549 // `handle` from private data would already wrap the event, but we need 5550 // to change the `type` here. 5551 var handle = dataPriv.get( this, "handle" ), 5552 event = jQuery.event.fix( nativeEvent ); 5553 event.type = nativeEvent.type === "focusin" ? "focus" : "blur"; 5554 event.isSimulated = true; 5555 5556 // First, handle focusin/focusout 5557 handle( nativeEvent ); 5558 5559 // ...then, handle focus/blur 5560 // 5561 // focus/blur don't bubble while focusin/focusout do; simulate the former by only 5562 // invoking the handler at the lower level. 5563 if ( event.target === event.currentTarget ) { 5564 5565 // The setup part calls `leverageNative`, which, in turn, calls 5566 // `jQuery.event.add`, so event handle will already have been set 5567 // by this point. 5568 handle( event ); 5569 } 5570 } else { 5571 5572 // For non-IE browsers, attach a single capturing handler on the document 5573 // while someone wants focusin/focusout. 5574 jQuery.event.simulate( delegateType, nativeEvent.target, 5575 jQuery.event.fix( nativeEvent ) ); 5576 } 5577 } 5578 5579 jQuery.event.special[ type ] = { 5580 5581 // Utilize native event if possible so blur/focus sequence is correct 5582 setup: function() { 5583 5584 var attaches; 5585 5586 // Claim the first handler 5587 // dataPriv.set( this, "focus", ... ) 5588 // dataPriv.set( this, "blur", ... ) 5589 leverageNative( this, type, true ); 5590 5591 if ( document.documentMode ) { 5592 5593 // Support: IE 9 - 11+ 5594 // We use the same native handler for focusin & focus (and focusout & blur) 5595 // so we need to coordinate setup & teardown parts between those events. 5596 // Use `delegateType` as the key as `type` is already used by `leverageNative`. 5597 attaches = dataPriv.get( this, delegateType ); 5598 if ( !attaches ) { 5599 this.addEventListener( delegateType, focusMappedHandler ); 5600 } 5601 dataPriv.set( this, delegateType, ( attaches || 0 ) + 1 ); 5602 } else { 5603 5604 // Return false to allow normal processing in the caller 5605 return false; 5606 } 5607 }, 5608 trigger: function() { 5609 5610 // Force setup before trigger 5611 leverageNative( this, type ); 5612 5613 // Return non-false to allow normal event-path propagation 5614 return true; 5615 }, 5616 5617 teardown: function() { 5618 var attaches; 5619 5620 if ( document.documentMode ) { 5621 attaches = dataPriv.get( this, delegateType ) - 1; 5622 if ( !attaches ) { 5623 this.removeEventListener( delegateType, focusMappedHandler ); 5624 dataPriv.remove( this, delegateType ); 5625 } else { 5626 dataPriv.set( this, delegateType, attaches ); 5627 } 5628 } else { 5629 5630 // Return false to indicate standard teardown should be applied 5631 return false; 5632 } 5633 }, 5634 5635 // Suppress native focus or blur if we're currently inside 5636 // a leveraged native-event stack 5637 _default: function( event ) { 5638 return dataPriv.get( event.target, type ); 5639 }, 5640 5641 delegateType: delegateType 5642 }; 5643 5644 // Support: Firefox <=44 5645 // Firefox doesn't have focus(in | out) events 5646 // Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787 5647 // 5648 // Support: Chrome <=48 - 49, Safari <=9.0 - 9.1 5649 // focus(in | out) events fire after focus & blur events, 5650 // which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order 5651 // Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857 5652 // 5653 // Support: IE 9 - 11+ 5654 // To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch, 5655 // attach a single handler for both events in IE. 5656 jQuery.event.special[ delegateType ] = { 5657 setup: function() { 5658 5659 // Handle: regular nodes (via `this.ownerDocument`), window 5660 // (via `this.document`) & document (via `this`). 5661 var doc = this.ownerDocument || this.document || this, 5662 dataHolder = document.documentMode ? this : doc, 5663 attaches = dataPriv.get( dataHolder, delegateType ); 5664 5665 // Support: IE 9 - 11+ 5666 // We use the same native handler for focusin & focus (and focusout & blur) 5667 // so we need to coordinate setup & teardown parts between those events. 5668 // Use `delegateType` as the key as `type` is already used by `leverageNative`. 5669 if ( !attaches ) { 5670 if ( document.documentMode ) { 5671 this.addEventListener( delegateType, focusMappedHandler ); 5672 } else { 5673 doc.addEventListener( type, focusMappedHandler, true ); 5674 } 5675 } 5676 dataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 ); 5677 }, 5678 teardown: function() { 5679 var doc = this.ownerDocument || this.document || this, 5680 dataHolder = document.documentMode ? this : doc, 5681 attaches = dataPriv.get( dataHolder, delegateType ) - 1; 5682 5683 if ( !attaches ) { 5684 if ( document.documentMode ) { 5685 this.removeEventListener( delegateType, focusMappedHandler ); 5686 } else { 5687 doc.removeEventListener( type, focusMappedHandler, true ); 5688 } 5689 dataPriv.remove( dataHolder, delegateType ); 5690 } else { 5691 dataPriv.set( dataHolder, delegateType, attaches ); 5692 } 5693 } 5694 }; 5695} ); 5696 5697// Create mouseenter/leave events using mouseover/out and event-time checks 5698// so that event delegation works in jQuery. 5699// Do the same for pointerenter/pointerleave and pointerover/pointerout 5700// 5701// Support: Safari 7 only 5702// Safari sends mouseenter too often; see: 5703// https://bugs.chromium.org/p/chromium/issues/detail?id=470258 5704// for the description of the bug (it existed in older Chrome versions as well). 5705jQuery.each( { 5706 mouseenter: "mouseover", 5707 mouseleave: "mouseout", 5708 pointerenter: "pointerover", 5709 pointerleave: "pointerout" 5710}, function( orig, fix ) { 5711 jQuery.event.special[ orig ] = { 5712 delegateType: fix, 5713 bindType: fix, 5714 5715 handle: function( event ) { 5716 var ret, 5717 target = this, 5718 related = event.relatedTarget, 5719 handleObj = event.handleObj; 5720 5721 // For mouseenter/leave call the handler if related is outside the target. 5722 // NB: No relatedTarget if the mouse left/entered the browser window 5723 if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { 5724 event.type = handleObj.origType; 5725 ret = handleObj.handler.apply( this, arguments ); 5726 event.type = fix; 5727 } 5728 return ret; 5729 } 5730 }; 5731} ); 5732 5733jQuery.fn.extend( { 5734 5735 on: function( types, selector, data, fn ) { 5736 return on( this, types, selector, data, fn ); 5737 }, 5738 one: function( types, selector, data, fn ) { 5739 return on( this, types, selector, data, fn, 1 ); 5740 }, 5741 off: function( types, selector, fn ) { 5742 var handleObj, type; 5743 if ( types && types.preventDefault && types.handleObj ) { 5744 5745 // ( event ) dispatched jQuery.Event 5746 handleObj = types.handleObj; 5747 jQuery( types.delegateTarget ).off( 5748 handleObj.namespace ? 5749 handleObj.origType + "." + handleObj.namespace : 5750 handleObj.origType, 5751 handleObj.selector, 5752 handleObj.handler 5753 ); 5754 return this; 5755 } 5756 if ( typeof types === "object" ) { 5757 5758 // ( types-object [, selector] ) 5759 for ( type in types ) { 5760 this.off( type, selector, types[ type ] ); 5761 } 5762 return this; 5763 } 5764 if ( selector === false || typeof selector === "function" ) { 5765 5766 // ( types [, fn] ) 5767 fn = selector; 5768 selector = undefined; 5769 } 5770 if ( fn === false ) { 5771 fn = returnFalse; 5772 } 5773 return this.each( function() { 5774 jQuery.event.remove( this, types, fn, selector ); 5775 } ); 5776 } 5777} ); 5778 5779 5780var 5781 5782 // Support: IE <=10 - 11, Edge 12 - 13 only 5783 // In IE/Edge using regex groups here causes severe slowdowns. 5784 // See https://connect.microsoft.com/IE/feedback/details/1736512/ 5785 rnoInnerhtml = /<script|<style|<link/i, 5786 5787 // checked="checked" or checked 5788 rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, 5789 5790 rcleanScript = /^\s*<!\[CDATA\[|\]\]>\s*$/g; 5791 5792// Prefer a tbody over its parent table for containing new rows 5793function manipulationTarget( elem, content ) { 5794 if ( nodeName( elem, "table" ) && 5795 nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) { 5796 5797 return jQuery( elem ).children( "tbody" )[ 0 ] || elem; 5798 } 5799 5800 return elem; 5801} 5802 5803// Replace/restore the type attribute of script elements for safe DOM manipulation 5804function disableScript( elem ) { 5805 elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; 5806 return elem; 5807} 5808function restoreScript( elem ) { 5809 if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) { 5810 elem.type = elem.type.slice( 5 ); 5811 } else { 5812 elem.removeAttribute( "type" ); 5813 } 5814 5815 return elem; 5816} 5817 5818function cloneCopyEvent( src, dest ) { 5819 var i, l, type, pdataOld, udataOld, udataCur, events; 5820
vendor: 6,382 bytes, lines 5821-6050
5821 if ( dest.nodeType !== 1 ) { 5822 return; 5823 } 5824 5825 // 1. Copy private data: events, handlers, etc. 5826 if ( dataPriv.hasData( src ) ) { 5827 pdataOld = dataPriv.get( src ); 5828 events = pdataOld.events; 5829 5830 if ( events ) { 5831 dataPriv.remove( dest, "handle events" ); 5832 5833 for ( type in events ) { 5834 for ( i = 0, l = events[ type ].length; i < l; i++ ) { 5835 jQuery.event.add( dest, type, events[ type ][ i ] ); 5836 } 5837 } 5838 } 5839 } 5840 5841 // 2. Copy user data 5842 if ( dataUser.hasData( src ) ) { 5843 udataOld = dataUser.access( src ); 5844 udataCur = jQuery.extend( {}, udataOld ); 5845 5846 dataUser.set( dest, udataCur ); 5847 } 5848} 5849 5850// Fix IE bugs, see support tests 5851function fixInput( src, dest ) { 5852 var nodeName = dest.nodeName.toLowerCase(); 5853 5854 // Fails to persist the checked state of a cloned checkbox or radio button. 5855 if ( nodeName === "input" && rcheckableType.test( src.type ) ) { 5856 dest.checked = src.checked; 5857 5858 // Fails to return the selected option to the default selected state when cloning options 5859 } else if ( nodeName === "input" || nodeName === "textarea" ) { 5860 dest.defaultValue = src.defaultValue; 5861 } 5862} 5863 5864function domManip( collection, args, callback, ignored ) { 5865 5866 // Flatten any nested arrays 5867 args = flat( args ); 5868 5869 var fragment, first, scripts, hasScripts, node, doc, 5870 i = 0, 5871 l = collection.length, 5872 iNoClone = l - 1, 5873 value = args[ 0 ], 5874 valueIsFunction = isFunction( value ); 5875 5876 // We can't cloneNode fragments that contain checked, in WebKit 5877 if ( valueIsFunction || 5878 ( l > 1 && typeof value === "string" && 5879 !support.checkClone && rchecked.test( value ) ) ) { 5880 return collection.each( function( index ) { 5881 var self = collection.eq( index ); 5882 if ( valueIsFunction ) { 5883 args[ 0 ] = value.call( this, index, self.html() ); 5884 } 5885 domManip( self, args, callback, ignored ); 5886 } ); 5887 } 5888 5889 if ( l ) { 5890 fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); 5891 first = fragment.firstChild; 5892 5893 if ( fragment.childNodes.length === 1 ) { 5894 fragment = first; 5895 } 5896 5897 // Require either new content or an interest in ignored elements to invoke the callback 5898 if ( first || ignored ) { 5899 scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); 5900 hasScripts = scripts.length; 5901 5902 // Use the original fragment for the last item 5903 // instead of the first because it can end up 5904 // being emptied incorrectly in certain situations (trac-8070). 5905 for ( ; i < l; i++ ) { 5906 node = fragment; 5907 5908 if ( i !== iNoClone ) { 5909 node = jQuery.clone( node, true, true ); 5910 5911 // Keep references to cloned scripts for later restoration 5912 if ( hasScripts ) { 5913 5914 // Support: Android <=4.0 only, PhantomJS 1 only 5915 // push.apply(_, arraylike) throws on ancient WebKit 5916 jQuery.merge( scripts, getAll( node, "script" ) ); 5917 } 5918 } 5919 5920 callback.call( collection[ i ], node, i ); 5921 } 5922 5923 if ( hasScripts ) { 5924 doc = scripts[ scripts.length - 1 ].ownerDocument; 5925 5926 // Re-enable scripts 5927 jQuery.map( scripts, restoreScript ); 5928 5929 // Evaluate executable scripts on first document insertion 5930 for ( i = 0; i < hasScripts; i++ ) { 5931 node = scripts[ i ]; 5932 if ( rscriptType.test( node.type || "" ) && 5933 !dataPriv.access( node, "globalEval" ) && 5934 jQuery.contains( doc, node ) ) { 5935 5936 if ( node.src && ( node.type || "" ).toLowerCase() !== "module" ) { 5937 5938 // Optional AJAX dependency, but won't run scripts if not present 5939 if ( jQuery._evalUrl && !node.noModule ) { 5940 jQuery._evalUrl( node.src, { 5941 nonce: node.nonce || node.getAttribute( "nonce" ) 5942 }, doc ); 5943 } 5944 } else { 5945 5946 // Unwrap a CDATA section containing script contents. This shouldn't be 5947 // needed as in XML documents they're already not visible when 5948 // inspecting element contents and in HTML documents they have no 5949 // meaning but we're preserving that logic for backwards compatibility. 5950 // This will be removed completely in 4.0. See gh-4904. 5951 DOMEval( node.textContent.replace( rcleanScript, "" ), node, doc ); 5952 } 5953 } 5954 } 5955 } 5956 } 5957 } 5958 5959 return collection; 5960} 5961 5962function remove( elem, selector, keepData ) { 5963 var node, 5964 nodes = selector ? jQuery.filter( selector, elem ) : elem, 5965 i = 0; 5966 5967 for ( ; ( node = nodes[ i ] ) != null; i++ ) { 5968 if ( !keepData && node.nodeType === 1 ) { 5969 jQuery.cleanData( getAll( node ) ); 5970 } 5971 5972 if ( node.parentNode ) { 5973 if ( keepData && isAttached( node ) ) { 5974 setGlobalEval( getAll( node, "script" ) ); 5975 } 5976 node.parentNode.removeChild( node ); 5977 } 5978 } 5979 5980 return elem; 5981} 5982 5983jQuery.extend( { 5984 htmlPrefilter: function( html ) { 5985 return html; 5986 }, 5987 5988 clone: function( elem, dataAndEvents, deepDataAndEvents ) { 5989 var i, l, srcElements, destElements, 5990 clone = elem.cloneNode( true ), 5991 inPage = isAttached( elem ); 5992 5993 // Fix IE cloning issues 5994 if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && 5995 !jQuery.isXMLDoc( elem ) ) { 5996 5997 // We eschew jQuery#find here for performance reasons: 5998 // https://jsperf.com/getall-vs-sizzle/2 5999 destElements = getAll( clone ); 6000 srcElements = getAll( elem ); 6001 6002 for ( i = 0, l = srcElements.length; i < l; i++ ) { 6003 fixInput( srcElements[ i ], destElements[ i ] ); 6004 } 6005 } 6006 6007 // Copy the events from the original to the clone 6008 if ( dataAndEvents ) { 6009 if ( deepDataAndEvents ) { 6010 srcElements = srcElements || getAll( elem ); 6011 destElements = destElements || getAll( clone ); 6012 6013 for ( i = 0, l = srcElements.length; i < l; i++ ) { 6014 cloneCopyEvent( srcElements[ i ], destElements[ i ] ); 6015 } 6016 } else { 6017 cloneCopyEvent( elem, clone ); 6018 } 6019 } 6020 6021 // Preserve script evaluation history 6022 destElements = getAll( clone, "script" ); 6023 if ( destElements.length > 0 ) { 6024 setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); 6025 } 6026 6027 // Return the cloned set 6028 return clone; 6029 }, 6030 6031 cleanData: function( elems ) { 6032 var data, elem, type, 6033 special = jQuery.event.special, 6034 i = 0; 6035 6036 for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { 6037 if ( acceptData( elem ) ) { 6038 if ( ( data = elem[ dataPriv.expando ] ) ) { 6039 if ( data.events ) { 6040 for ( type in data.events ) { 6041 if ( special[ type ] ) { 6042 jQuery.event.remove( elem, type ); 6043 6044 // This is a shortcut to avoid jQuery.event.remove's overhead 6045 } else { 6046 jQuery.removeEvent( elem, type, data.handle ); 6047 } 6048 } 6049 } 6050
vendor: 1,119 bytes, lines 6051-6095
6051 // Support: Chrome <=35 - 45+ 6052 // Assign undefined instead of using delete, see Data#remove 6053 elem[ dataPriv.expando ] = undefined; 6054 } 6055 if ( elem[ dataUser.expando ] ) { 6056 6057 // Support: Chrome <=35 - 45+ 6058 // Assign undefined instead of using delete, see Data#remove 6059 elem[ dataUser.expando ] = undefined; 6060 } 6061 } 6062 } 6063 } 6064} ); 6065 6066jQuery.fn.extend( { 6067 detach: function( selector ) { 6068 return remove( this, selector, true ); 6069 }, 6070 6071 remove: function( selector ) { 6072 return remove( this, selector ); 6073 }, 6074 6075 text: function( value ) { 6076 return access( this, function( value ) { 6077 return value === undefined ? 6078 jQuery.text( this ) : 6079 this.empty().each( function() { 6080 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 6081 this.textContent = value; 6082 } 6083 } ); 6084 }, null, value, arguments.length ); 6085 }, 6086 6087 append: function() { 6088 return domManip( this, arguments, function( elem ) { 6089 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 6090 var target = manipulationTarget( this, elem ); 6091 target.appendChild( elem ); 6092 } 6093 } ); 6094 }, 6095
vendor: 4,514 bytes, lines 6096-6287
6096 prepend: function() { 6097 return domManip( this, arguments, function( elem ) { 6098 if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { 6099 var target = manipulationTarget( this, elem ); 6100 target.insertBefore( elem, target.firstChild ); 6101 } 6102 } ); 6103 }, 6104 6105 before: function() { 6106 return domManip( this, arguments, function( elem ) { 6107 if ( this.parentNode ) { 6108 this.parentNode.insertBefore( elem, this ); 6109 } 6110 } ); 6111 }, 6112 6113 after: function() { 6114 return domManip( this, arguments, function( elem ) { 6115 if ( this.parentNode ) { 6116 this.parentNode.insertBefore( elem, this.nextSibling ); 6117 } 6118 } ); 6119 }, 6120 6121 empty: function() { 6122 var elem, 6123 i = 0; 6124 6125 for ( ; ( elem = this[ i ] ) != null; i++ ) { 6126 if ( elem.nodeType === 1 ) { 6127 6128 // Prevent memory leaks 6129 jQuery.cleanData( getAll( elem, false ) ); 6130 6131 // Remove any remaining nodes 6132 elem.textContent = ""; 6133 } 6134 } 6135 6136 return this; 6137 }, 6138 6139 clone: function( dataAndEvents, deepDataAndEvents ) { 6140 dataAndEvents = dataAndEvents == null ? false : dataAndEvents; 6141 deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; 6142 6143 return this.map( function() { 6144 return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); 6145 } ); 6146 }, 6147 6148 html: function( value ) { 6149 return access( this, function( value ) { 6150 var elem = this[ 0 ] || {}, 6151 i = 0, 6152 l = this.length; 6153 6154 if ( value === undefined && elem.nodeType === 1 ) { 6155 return elem.innerHTML; 6156 } 6157 6158 // See if we can take a shortcut and just use innerHTML 6159 if ( typeof value === "string" && !rnoInnerhtml.test( value ) && 6160 !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { 6161 6162 value = jQuery.htmlPrefilter( value ); 6163 6164 try { 6165 for ( ; i < l; i++ ) { 6166 elem = this[ i ] || {}; 6167 6168 // Remove element nodes and prevent memory leaks 6169 if ( elem.nodeType === 1 ) { 6170 jQuery.cleanData( getAll( elem, false ) ); 6171 elem.innerHTML = value; 6172 } 6173 } 6174 6175 elem = 0; 6176 6177 // If using innerHTML throws an exception, use the fallback method 6178 } catch ( e ) {} 6179 } 6180 6181 if ( elem ) { 6182 this.empty().append( value ); 6183 } 6184 }, null, value, arguments.length ); 6185 }, 6186 6187 replaceWith: function() { 6188 var ignored = []; 6189 6190 // Make the changes, replacing each non-ignored context element with the new content 6191 return domManip( this, arguments, function( elem ) { 6192 var parent = this.parentNode; 6193 6194 if ( jQuery.inArray( this, ignored ) < 0 ) { 6195 jQuery.cleanData( getAll( this ) ); 6196 if ( parent ) { 6197 parent.replaceChild( elem, this ); 6198 } 6199 } 6200 6201 // Force callback invocation 6202 }, ignored ); 6203 } 6204} ); 6205 6206jQuery.each( { 6207 appendTo: "append", 6208 prependTo: "prepend", 6209 insertBefore: "before", 6210 insertAfter: "after", 6211 replaceAll: "replaceWith" 6212}, function( name, original ) { 6213 jQuery.fn[ name ] = function( selector ) { 6214 var elems, 6215 ret = [], 6216 insert = jQuery( selector ), 6217 last = insert.length - 1, 6218 i = 0; 6219 6220 for ( ; i <= last; i++ ) { 6221 elems = i === last ? this : this.clone( true ); 6222 jQuery( insert[ i ] )[ original ]( elems ); 6223 6224 // Support: Android <=4.0 only, PhantomJS 1 only 6225 // .get() because push.apply(_, arraylike) throws on ancient WebKit 6226 push.apply( ret, elems.get() ); 6227 } 6228 6229 return this.pushStack( ret ); 6230 }; 6231} ); 6232var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" ); 6233 6234var rcustomProp = /^--/; 6235 6236 6237var getStyles = function( elem ) { 6238 6239 // Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150) 6240 // IE throws on elements created in popups 6241 // FF meanwhile throws on frame elements through "defaultView.getComputedStyle" 6242 var view = elem.ownerDocument.defaultView; 6243 6244 if ( !view || !view.opener ) { 6245 view = window; 6246 } 6247 6248 return view.getComputedStyle( elem ); 6249 }; 6250 6251var swap = function( elem, options, callback ) { 6252 var ret, name, 6253 old = {}; 6254 6255 // Remember the old values, and insert the new ones 6256 for ( name in options ) { 6257 old[ name ] = elem.style[ name ]; 6258 elem.style[ name ] = options[ name ]; 6259 } 6260 6261 ret = callback.call( elem ); 6262 6263 // Revert the old values 6264 for ( name in options ) { 6265 elem.style[ name ] = old[ name ]; 6266 } 6267 6268 return ret; 6269}; 6270 6271 6272var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" ); 6273 6274 6275 6276( function() { 6277 6278 // Executing both pixelPosition & boxSizingReliable tests require only one layout 6279 // so they're executed at the same time to save the second computation. 6280 function computeStyleTests() { 6281 6282 // This is a singleton, we need to execute it only once 6283 if ( !div ) { 6284 return; 6285 } 6286 6287 container.style.cssText = "position:absolute;
vendor: 4,156 bytes, lines 6287-6406
6287left:-11111px;width:60px;" + 6288 "margin-top:1px;padding:0;border:0"; 6289 div.style.cssText = 6290 "position:relative;display:block;box-sizing:border-box;overflow:scroll;" + 6291 "margin:auto;border:1px;padding:1px;" + 6292 "width:60%;top:1%"; 6293 documentElement.appendChild( container ).appendChild( div ); 6294 6295 var divStyle = window.getComputedStyle( div ); 6296 pixelPositionVal = divStyle.top !== "1%"; 6297 6298 // Support: Android 4.0 - 4.3 only, Firefox <=3 - 44 6299 reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12; 6300 6301 // Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3 6302 // Some styles come back with percentage values, even though they shouldn't 6303 div.style.right = "60%"; 6304 pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36; 6305 6306 // Support: IE 9 - 11 only 6307 // Detect misreporting of content dimensions for box-sizing:border-box elements 6308 boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36; 6309 6310 // Support: IE 9 only 6311 // Detect overflow:scroll screwiness (gh-3699) 6312 // Support: Chrome <=64 6313 // Don't get tricked when zoom affects offsetWidth (gh-4029) 6314 div.style.position = "absolute"; 6315 scrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12; 6316 6317 documentElement.removeChild( container ); 6318 6319 // Nullify the div so it wouldn't be stored in the memory and 6320 // it will also be a sign that checks already performed 6321 div = null; 6322 } 6323 6324 function roundPixelMeasures( measure ) { 6325 return Math.round( parseFloat( measure ) ); 6326 } 6327 6328 var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal, 6329 reliableTrDimensionsVal, reliableMarginLeftVal, 6330 container = document.createElement( "div" ), 6331 div = document.createElement( "div" ); 6332 6333 // Finish early in limited (non-browser) environments 6334 if ( !div.style ) { 6335 return; 6336 } 6337 6338 // Support: IE <=9 - 11 only 6339 // Style of cloned element affects source element cloned (trac-8908) 6340 div.style.backgroundClip = "content-box"; 6341 div.cloneNode( true ).style.backgroundClip = ""; 6342 support.clearCloneStyle = div.style.backgroundClip === "content-box"; 6343 6344 jQuery.extend( support, { 6345 boxSizingReliable: function() { 6346 computeStyleTests(); 6347 return boxSizingReliableVal; 6348 }, 6349 pixelBoxStyles: function() { 6350 computeStyleTests(); 6351 return pixelBoxStylesVal; 6352 }, 6353 pixelPosition: function() { 6354 computeStyleTests(); 6355 return pixelPositionVal; 6356 }, 6357 reliableMarginLeft: function() { 6358 computeStyleTests(); 6359 return reliableMarginLeftVal; 6360 }, 6361 scrollboxSize: function() { 6362 computeStyleTests(); 6363 return scrollboxSizeVal; 6364 }, 6365 6366 // Support: IE 9 - 11+, Edge 15 - 18+ 6367 // IE/Edge misreport `getComputedStyle` of table rows with width/height 6368 // set in CSS while `offset*` properties report correct values. 6369 // Behavior in IE 9 is more subtle than in newer versions & it passes 6370 // some versions of this test; make sure not to make it pass there! 6371 // 6372 // Support: Firefox 70+ 6373 // Only Firefox includes border widths 6374 // in computed dimensions. (gh-4529) 6375 reliableTrDimensions: function() { 6376 var table, tr, trChild, trStyle; 6377 if ( reliableTrDimensionsVal == null ) { 6378 table = document.createElement( "table" ); 6379 tr = document.createElement( "tr" ); 6380 trChild = document.createElement( "div" ); 6381 6382 table.style.cssText = "position:absolute;left:-11111px;border-collapse:separate"; 6383 tr.style.cssText = "box-sizing:content-box;border:1px solid"; 6384 6385 // Support: Chrome 86+ 6386 // Height set through cssText does not get applied. 6387 // Computed height then comes back as 0. 6388 tr.style.height = "1px"; 6389 trChild.style.height = "9px"; 6390 6391 // Support: Android 8 Chrome 86+ 6392 // In our bodyBackground.html iframe, 6393 // display for all div elements is set to "inline", 6394 // which causes a problem only in Android 8 Chrome 86. 6395 // Ensuring the div is `display: block` 6396 // gets around this issue. 6397 trChild.style.display = "block"; 6398 6399 documentElement 6400 .appendChild( table ) 6401 .appendChild( tr ) 6402 .appendChild( trChild ); 6403 6404 trStyle = window.getComputedStyle( tr ); 6405 reliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) + 6406 parseInt( trStyle.borderTopWidth, 10 ) +
vendor: 12,879 bytes, lines 6407-6833
6407 parseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight; 6408 6409 documentElement.removeChild( table ); 6410 } 6411 return reliableTrDimensionsVal; 6412 } 6413 } ); 6414} )(); 6415 6416 6417function curCSS( elem, name, computed ) { 6418 var width, minWidth, maxWidth, ret, 6419 isCustomProp = rcustomProp.test( name ), 6420 6421 // Support: Firefox 51+ 6422 // Retrieving style before computed somehow 6423 // fixes an issue with getting wrong values 6424 // on detached elements 6425 style = elem.style; 6426 6427 computed = computed || getStyles( elem ); 6428 6429 // getPropertyValue is needed for: 6430 // .css('filter') (IE 9 only, trac-12537) 6431 // .css('--customProperty) (gh-3144) 6432 if ( computed ) { 6433 6434 // Support: IE <=9 - 11+ 6435 // IE only supports `"float"` in `getPropertyValue`; in computed styles 6436 // it's only available as `"cssFloat"`. We no longer modify properties 6437 // sent to `.css()` apart from camelCasing, so we need to check both. 6438 // Normally, this would create difference in behavior: if 6439 // `getPropertyValue` returns an empty string, the value returned 6440 // by `.css()` would be `undefined`. This is usually the case for 6441 // disconnected elements. However, in IE even disconnected elements 6442 // with no styles return `"none"` for `getPropertyValue( "float" )` 6443 ret = computed.getPropertyValue( name ) || computed[ name ]; 6444 6445 if ( isCustomProp && ret ) { 6446 6447 // Support: Firefox 105+, Chrome <=105+ 6448 // Spec requires trimming whitespace for custom properties (gh-4926). 6449 // Firefox only trims leading whitespace. Chrome just collapses 6450 // both leading & trailing whitespace to a single space. 6451 // 6452 // Fall back to `undefined` if empty string returned. 6453 // This collapses a missing definition with property defined 6454 // and set to an empty string but there's no standard API 6455 // allowing us to differentiate them without a performance penalty 6456 // and returning `undefined` aligns with older jQuery. 6457 // 6458 // rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED 6459 // as whitespace while CSS does not, but this is not a problem 6460 // because CSS preprocessing replaces them with U+000A LINE FEED 6461 // (which *is* CSS whitespace) 6462 // https://www.w3.org/TR/css-syntax-3/#input-preprocessing 6463 ret = ret.replace( rtrimCSS, "$1" ) || undefined; 6464 } 6465 6466 if ( ret === "" && !isAttached( elem ) ) { 6467 ret = jQuery.style( elem, name ); 6468 } 6469 6470 // A tribute to the "awesome hack by Dean Edwards" 6471 // Android Browser returns percentage for some values, 6472 // but width seems to be reliably pixels. 6473 // This is against the CSSOM draft spec: 6474 // https://drafts.csswg.org/cssom/#resolved-values 6475 if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) { 6476 6477 // Remember the original values 6478 width = style.width; 6479 minWidth = style.minWidth; 6480 maxWidth = style.maxWidth; 6481 6482 // Put in the new values to get a computed value out 6483 style.minWidth = style.maxWidth = style.width = ret; 6484 ret = computed.width; 6485 6486 // Revert the changed values 6487 style.width = width; 6488 style.minWidth = minWidth; 6489 style.maxWidth = maxWidth; 6490 } 6491 } 6492 6493 return ret !== undefined ? 6494 6495 // Support: IE <=9 - 11 only 6496 // IE returns zIndex value as an integer. 6497 ret + "" : 6498 ret; 6499} 6500 6501 6502function addGetHookIf( conditionFn, hookFn ) { 6503 6504 // Define the hook, we'll check on the first run if it's really needed. 6505 return { 6506 get: function() { 6507 if ( conditionFn() ) { 6508 6509 // Hook not needed (or it's not possible to use it due 6510 // to missing dependency), remove it. 6511 delete this.get; 6512 return; 6513 } 6514 6515 // Hook needed; redefine it so that the support test is not executed again. 6516 return ( this.get = hookFn ).apply( this, arguments ); 6517 } 6518 }; 6519} 6520 6521 6522var cssPrefixes = [ "Webkit", "Moz", "ms" ], 6523 emptyStyle = document.createElement( "div" ).style, 6524 vendorProps = {}; 6525 6526// Return a vendor-prefixed property or undefined 6527function vendorPropName( name ) { 6528 6529 // Check for vendor prefixed names 6530 var capName = name[ 0 ].toUpperCase() + name.slice( 1 ), 6531 i = cssPrefixes.length; 6532 6533 while ( i-- ) { 6534 name = cssPrefixes[ i ] + capName; 6535 if ( name in emptyStyle ) { 6536 return name; 6537 } 6538 } 6539} 6540 6541// Return a potentially-mapped jQuery.cssProps or vendor prefixed property 6542function finalPropName( name ) { 6543 var final = jQuery.cssProps[ name ] || vendorProps[ name ]; 6544 6545 if ( final ) { 6546 return final; 6547 } 6548 if ( name in emptyStyle ) { 6549 return name; 6550 } 6551 return vendorProps[ name ] = vendorPropName( name ) || name; 6552} 6553 6554 6555var 6556 6557 // Swappable if display is none or starts with table 6558 // except "table", "table-cell", or "table-caption" 6559 // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display 6560 rdisplayswap = /^(none|table(?!-c[ea]).+)/, 6561 cssShow = { position: "absolute", visibility: "hidden", display: "block" }, 6562 cssNormalTransform = { 6563 letterSpacing: "0", 6564 fontWeight: "400" 6565 }; 6566 6567function setPositiveNumber( _elem, value, subtract ) { 6568 6569 // Any relative (+/-) values have already been 6570 // normalized at this point 6571 var matches = rcssNum.exec( value ); 6572 return matches ? 6573 6574 // Guard against undefined "subtract", e.g., when used as in cssHooks 6575 Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) : 6576 value; 6577} 6578 6579function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) { 6580 var i = dimension === "width" ? 1 : 0, 6581 extra = 0, 6582 delta = 0, 6583 marginDelta = 0; 6584 6585 // Adjustment may not be necessary 6586 if ( box === ( isBorderBox ? "border" : "content" ) ) { 6587 return 0; 6588 } 6589 6590 for ( ; i < 4; i += 2 ) { 6591 6592 // Both box models exclude margin 6593 // Count margin delta separately to only add it after scroll gutter adjustment. 6594 // This is needed to make negative margins work with `outerHeight( true )` (gh-3982). 6595 if ( box === "margin" ) { 6596 marginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles ); 6597 } 6598 6599 // If we get here with a content-box, we're seeking "padding" or "border" or "margin" 6600 if ( !isBorderBox ) { 6601 6602 // Add padding 6603 delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); 6604 6605 // For "border" or "margin", add border 6606 if ( box !== "padding" ) { 6607 delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 6608 6609 // But still keep track of it otherwise 6610 } else { 6611 extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 6612 } 6613 6614 // If we get here with a border-box (content + padding + border), we're seeking "content" or 6615 // "padding" or "margin" 6616 } else { 6617 6618 // For "content", subtract padding 6619 if ( box === "content" ) { 6620 delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); 6621 } 6622 6623 // For "content" or "padding", subtract border 6624 if ( box !== "margin" ) { 6625 delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); 6626 } 6627 } 6628 } 6629 6630 // Account for positive content-box scroll gutter when requested by providing computedVal 6631 if ( !isBorderBox && computedVal >= 0 ) { 6632 6633 // offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border 6634 // Assuming integer scroll gutter, subtract the rest and round down 6635 delta += Math.max( 0, Math.ceil( 6636 elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - 6637 computedVal - 6638 delta - 6639 extra - 6640 0.5 6641 6642 // If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter 6643 // Use an explicit zero to avoid NaN (gh-3964) 6644 ) ) || 0; 6645 } 6646 6647 return delta + marginDelta; 6648} 6649 6650function getWidthOrHeight( elem, dimension, extra ) { 6651 6652 // Start with computed style 6653 var styles = getStyles( elem ), 6654 6655 // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322). 6656 // Fake content-box until we know it's needed to know the true value. 6657 boxSizingNeeded = !support.boxSizingReliable() || extra, 6658 isBorderBox = boxSizingNeeded && 6659 jQuery.css( elem, "boxSizing", false, styles ) === "border-box", 6660 valueIsBorderBox = isBorderBox, 6661 6662 val = curCSS( elem, dimension, styles ), 6663 offsetProp = "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ); 6664 6665 // Support: Firefox <=54 6666 // Return a confounding non-pixel value or feign ignorance, as appropriate. 6667 if ( rnumnonpx.test( val ) ) { 6668 if ( !extra ) { 6669 return val; 6670 } 6671 val = "auto"; 6672 } 6673 6674 6675 // Support: IE 9 - 11 only 6676 // Use offsetWidth/offsetHeight for when box sizing is unreliable. 6677 // In those cases, the computed value can be trusted to be border-box. 6678 if ( ( !support.boxSizingReliable() && isBorderBox || 6679 6680 // Support: IE 10 - 11+, Edge 15 - 18+ 6681 // IE/Edge misreport `getComputedStyle` of table rows with width/height 6682 // set in CSS while `offset*` properties report correct values. 6683 // Interestingly, in some cases IE 9 doesn't suffer from this issue. 6684 !support.reliableTrDimensions() && nodeName( elem, "tr" ) || 6685 6686 // Fall back to offsetWidth/offsetHeight when value is "auto" 6687 // This happens for inline elements with no explicit setting (gh-3571) 6688 val === "auto" || 6689 6690 // Support: Android <=4.1 - 4.3 only 6691 // Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602) 6692 !parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) && 6693 6694 // Make sure the element is visible & connected 6695 elem.getClientRects().length ) { 6696 6697 isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; 6698 6699 // Where available, offsetWidth/offsetHeight approximate border box dimensions. 6700 // Where not available (e.g., SVG), assume unreliable box-sizing and interpret the 6701 // retrieved value as a content box dimension. 6702 valueIsBorderBox = offsetProp in elem; 6703 if ( valueIsBorderBox ) { 6704 val = elem[ offsetProp ]; 6705 } 6706 } 6707 6708 // Normalize "" and auto 6709 val = parseFloat( val ) || 0; 6710 6711 // Adjust for the element's box model 6712 return ( val + 6713 boxModelAdjustment( 6714 elem, 6715 dimension, 6716 extra || ( isBorderBox ? "border" : "content" ), 6717 valueIsBorderBox, 6718 styles, 6719 6720 // Provide the current computed size to request scroll gutter calculation (gh-3589) 6721 val 6722 ) 6723 ) + "px"; 6724} 6725 6726jQuery.extend( { 6727 6728 // Add in style property hooks for overriding the default 6729 // behavior of getting and setting a style property 6730 cssHooks: { 6731 opacity: { 6732 get: function( elem, computed ) { 6733 if ( computed ) { 6734 6735 // We should always get a number back from opacity 6736 var ret = curCSS( elem, "opacity" ); 6737 return ret === "" ? "1" : ret; 6738 } 6739 } 6740 } 6741 }, 6742 6743 // Don't automatically add "px" to these possibly-unitless properties 6744 cssNumber: { 6745 animationIterationCount: true, 6746 aspectRatio: true, 6747 borderImageSlice: true, 6748 columnCount: true, 6749 flexGrow: true, 6750 flexShrink: true, 6751 fontWeight: true, 6752 gridArea: true, 6753 gridColumn: true, 6754 gridColumnEnd: true, 6755 gridColumnStart: true, 6756 gridRow: true, 6757 gridRowEnd: true, 6758 gridRowStart: true, 6759 lineHeight: true, 6760 opacity: true, 6761 order: true, 6762 orphans: true, 6763 scale: true, 6764 widows: true, 6765 zIndex: true, 6766 zoom: true, 6767 6768 // SVG-related 6769 fillOpacity: true, 6770 floodOpacity: true, 6771 stopOpacity: true, 6772 strokeMiterlimit: true, 6773 strokeOpacity: true 6774 }, 6775 6776 // Add in properties whose names you wish to fix before 6777 // setting or getting the value 6778 cssProps: {}, 6779 6780 // Get and set the style property on a DOM Node 6781 style: function( elem, name, value, extra ) { 6782 6783 // Don't set styles on text and comment nodes 6784 if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { 6785 return; 6786 } 6787 6788 // Make sure that we're working with the right name 6789 var ret, type, hooks, 6790 origName = camelCase( name ), 6791 isCustomProp = rcustomProp.test( name ), 6792 style = elem.style; 6793 6794 // Make sure that we're working with the right name. We don't 6795 // want to query the value if it is a CSS custom property 6796 // since they are user-defined. 6797 if ( !isCustomProp ) { 6798 name = finalPropName( origName ); 6799 } 6800 6801 // Gets hook for the prefixed version, then unprefixed version 6802 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; 6803 6804 // Check if we're setting a value 6805 if ( value !== undefined ) { 6806 type = typeof value; 6807 6808 // Convert "+=" or "-=" to relative numbers (trac-7345) 6809 if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) { 6810 value = adjustCSS( elem, name, ret ); 6811 6812 // Fixes bug trac-9237 6813 type = "number"; 6814 } 6815 6816 // Make sure that null and NaN values aren't set (trac-7116) 6817 if ( value == null || value !== value ) { 6818 return; 6819 } 6820 6821 // If a number was passed in, add the unit (except for certain CSS properties) 6822 // The isCustomProp check can be removed in jQuery 4.0 when we only auto-append 6823 // "px" to a few hardcoded values. 6824 if ( type === "number" && !isCustomProp ) { 6825 value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" ); 6826 } 6827 6828 // background-* props affect original clone's values 6829 if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) { 6830 style[ name ] = "inherit"; 6831 } 6832 6833 // If a hook was provided, use that value, otherwise just set the specified value
vendor: 16,052 bytes, lines 6834-7438
6834 if ( !hooks || !( "set" in hooks ) || 6835 ( value = hooks.set( elem, value, extra ) ) !== undefined ) { 6836 6837 if ( isCustomProp ) { 6838 style.setProperty( name, value ); 6839 } else { 6840 style[ name ] = value; 6841 } 6842 } 6843 6844 } else { 6845 6846 // If a hook was provided get the non-computed value from there 6847 if ( hooks && "get" in hooks && 6848 ( ret = hooks.get( elem, false, extra ) ) !== undefined ) { 6849 6850 return ret; 6851 } 6852 6853 // Otherwise just get the value from the style object 6854 return style[ name ]; 6855 } 6856 }, 6857 6858 css: function( elem, name, extra, styles ) { 6859 var val, num, hooks, 6860 origName = camelCase( name ), 6861 isCustomProp = rcustomProp.test( name ); 6862 6863 // Make sure that we're working with the right name. We don't 6864 // want to modify the value if it is a CSS custom property 6865 // since they are user-defined. 6866 if ( !isCustomProp ) { 6867 name = finalPropName( origName ); 6868 } 6869 6870 // Try prefixed name followed by the unprefixed name 6871 hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; 6872 6873 // If a hook was provided get the computed value from there 6874 if ( hooks && "get" in hooks ) { 6875 val = hooks.get( elem, true, extra ); 6876 } 6877 6878 // Otherwise, if a way to get the computed value exists, use that 6879 if ( val === undefined ) { 6880 val = curCSS( elem, name, styles ); 6881 } 6882 6883 // Convert "normal" to computed value 6884 if ( val === "normal" && name in cssNormalTransform ) { 6885 val = cssNormalTransform[ name ]; 6886 } 6887 6888 // Make numeric if forced or a qualifier was provided and val looks numeric 6889 if ( extra === "" || extra ) { 6890 num = parseFloat( val ); 6891 return extra === true || isFinite( num ) ? num || 0 : val; 6892 } 6893 6894 return val; 6895 } 6896} ); 6897 6898jQuery.each( [ "height", "width" ], function( _i, dimension ) { 6899 jQuery.cssHooks[ dimension ] = { 6900 get: function( elem, computed, extra ) { 6901 if ( computed ) { 6902 6903 // Certain elements can have dimension info if we invisibly show them 6904 // but it must have a current display style that would benefit 6905 return rdisplayswap.test( jQuery.css( elem, "display" ) ) && 6906 6907 // Support: Safari 8+ 6908 // Table columns in Safari have non-zero offsetWidth & zero 6909 // getBoundingClientRect().width unless display is changed. 6910 // Support: IE <=11 only 6911 // Running getBoundingClientRect on a disconnected node 6912 // in IE throws an error. 6913 ( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ? 6914 swap( elem, cssShow, function() { 6915 return getWidthOrHeight( elem, dimension, extra ); 6916 } ) : 6917 getWidthOrHeight( elem, dimension, extra ); 6918 } 6919 }, 6920 6921 set: function( elem, value, extra ) { 6922 var matches, 6923 styles = getStyles( elem ), 6924 6925 // Only read styles.position if the test has a chance to fail 6926 // to avoid forcing a reflow. 6927 scrollboxSizeBuggy = !support.scrollboxSize() && 6928 styles.position === "absolute", 6929 6930 // To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991) 6931 boxSizingNeeded = scrollboxSizeBuggy || extra, 6932 isBorderBox = boxSizingNeeded && 6933 jQuery.css( elem, "boxSizing", false, styles ) === "border-box", 6934 subtract = extra ? 6935 boxModelAdjustment( 6936 elem, 6937 dimension, 6938 extra, 6939 isBorderBox, 6940 styles 6941 ) : 6942 0; 6943 6944 // Account for unreliable border-box dimensions by comparing offset* to computed and 6945 // faking a content-box to get border and padding (gh-3699) 6946 if ( isBorderBox && scrollboxSizeBuggy ) { 6947 subtract -= Math.ceil( 6948 elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] - 6949 parseFloat( styles[ dimension ] ) - 6950 boxModelAdjustment( elem, dimension, "border", false, styles ) - 6951 0.5 6952 ); 6953 } 6954 6955 // Convert to pixels if value adjustment is needed 6956 if ( subtract && ( matches = rcssNum.exec( value ) ) && 6957 ( matches[ 3 ] || "px" ) !== "px" ) { 6958 6959 elem.style[ dimension ] = value; 6960 value = jQuery.css( elem, dimension ); 6961 } 6962 6963 return setPositiveNumber( elem, value, subtract ); 6964 } 6965 }; 6966} ); 6967 6968jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft, 6969 function( elem, computed ) { 6970 if ( computed ) { 6971 return ( parseFloat( curCSS( elem, "marginLeft" ) ) || 6972 elem.getBoundingClientRect().left - 6973 swap( elem, { marginLeft: 0 }, function() { 6974 return elem.getBoundingClientRect().left; 6975 } ) 6976 ) + "px"; 6977 } 6978 } 6979); 6980 6981// These hooks are used by animate to expand properties 6982jQuery.each( { 6983 margin: "", 6984 padding: "", 6985 border: "Width" 6986}, function( prefix, suffix ) { 6987 jQuery.cssHooks[ prefix + suffix ] = { 6988 expand: function( value ) { 6989 var i = 0, 6990 expanded = {}, 6991 6992 // Assumes a single number if not a string 6993 parts = typeof value === "string" ? value.split( " " ) : [ value ]; 6994 6995 for ( ; i < 4; i++ ) { 6996 expanded[ prefix + cssExpand[ i ] + suffix ] = 6997 parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; 6998 } 6999 7000 return expanded; 7001 } 7002 }; 7003 7004 if ( prefix !== "margin" ) { 7005 jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; 7006 } 7007} ); 7008 7009jQuery.fn.extend( { 7010 css: function( name, value ) { 7011 return access( this, function( elem, name, value ) { 7012 var styles, len, 7013 map = {}, 7014 i = 0; 7015 7016 if ( Array.isArray( name ) ) { 7017 styles = getStyles( elem ); 7018 len = name.length; 7019 7020 for ( ; i < len; i++ ) { 7021 map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); 7022 } 7023 7024 return map; 7025 } 7026 7027 return value !== undefined ? 7028 jQuery.style( elem, name, value ) : 7029 jQuery.css( elem, name ); 7030 }, name, value, arguments.length > 1 ); 7031 } 7032} ); 7033 7034 7035function Tween( elem, options, prop, end, easing ) { 7036 return new Tween.prototype.init( elem, options, prop, end, easing ); 7037} 7038jQuery.Tween = Tween; 7039 7040Tween.prototype = { 7041 constructor: Tween, 7042 init: function( elem, options, prop, end, easing, unit ) { 7043 this.elem = elem; 7044 this.prop = prop; 7045 this.easing = easing || jQuery.easing._default; 7046 this.options = options; 7047 this.start = this.now = this.cur(); 7048 this.end = end; 7049 this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); 7050 }, 7051 cur: function() { 7052 var hooks = Tween.propHooks[ this.prop ]; 7053 7054 return hooks && hooks.get ? 7055 hooks.get( this ) : 7056 Tween.propHooks._default.get( this ); 7057 }, 7058 run: function( percent ) { 7059 var eased, 7060 hooks = Tween.propHooks[ this.prop ]; 7061 7062 if ( this.options.duration ) { 7063 this.pos = eased = jQuery.easing[ this.easing ]( 7064 percent, this.options.duration * percent, 0, 1, this.options.duration 7065 ); 7066 } else { 7067 this.pos = eased = percent; 7068 } 7069 this.now = ( this.end - this.start ) * eased + this.start; 7070 7071 if ( this.options.step ) { 7072 this.options.step.call( this.elem, this.now, this ); 7073 } 7074 7075 if ( hooks && hooks.set ) { 7076 hooks.set( this ); 7077 } else { 7078 Tween.propHooks._default.set( this ); 7079 } 7080 return this; 7081 } 7082}; 7083 7084Tween.prototype.init.prototype = Tween.prototype; 7085 7086Tween.propHooks = { 7087 _default: { 7088 get: function( tween ) { 7089 var result; 7090 7091 // Use a property on the element directly when it is not a DOM element, 7092 // or when there is no matching style property that exists. 7093 if ( tween.elem.nodeType !== 1 || 7094 tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) { 7095 return tween.elem[ tween.prop ]; 7096 } 7097 7098 // Passing an empty string as a 3rd parameter to .css will automatically 7099 // attempt a parseFloat and fallback to a string if the parse fails. 7100 // Simple values such as "10px" are parsed to Float; 7101 // complex values such as "rotate(1rad)" are returned as-is. 7102 result = jQuery.css( tween.elem, tween.prop, "" ); 7103 7104 // Empty strings, null, undefined and "auto" are converted to 0. 7105 return !result || result === "auto" ? 0 : result; 7106 }, 7107 set: function( tween ) { 7108 7109 // Use step hook for back compat. 7110 // Use cssHook if its there. 7111 // Use .style if available and use plain properties where available. 7112 if ( jQuery.fx.step[ tween.prop ] ) { 7113 jQuery.fx.step[ tween.prop ]( tween ); 7114 } else if ( tween.elem.nodeType === 1 && ( 7115 jQuery.cssHooks[ tween.prop ] || 7116 tween.elem.style[ finalPropName( tween.prop ) ] != null ) ) { 7117 jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); 7118 } else { 7119 tween.elem[ tween.prop ] = tween.now; 7120 } 7121 } 7122 } 7123}; 7124 7125// Support: IE <=9 only 7126// Panic based approach to setting things on disconnected nodes 7127Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { 7128 set: function( tween ) { 7129 if ( tween.elem.nodeType && tween.elem.parentNode ) { 7130 tween.elem[ tween.prop ] = tween.now; 7131 } 7132 } 7133}; 7134 7135jQuery.easing = { 7136 linear: function( p ) { 7137 return p; 7138 }, 7139 swing: function( p ) { 7140 return 0.5 - Math.cos( p * Math.PI ) / 2; 7141 }, 7142 _default: "swing" 7143}; 7144 7145jQuery.fx = Tween.prototype.init; 7146 7147// Back compat <1.8 extension point 7148jQuery.fx.step = {}; 7149 7150 7151 7152 7153var 7154 fxNow, inProgress, 7155 rfxtypes = /^(?:toggle|show|hide)$/, 7156 rrun = /queueHooks$/; 7157 7158function schedule() { 7159 if ( inProgress ) { 7160 if ( document.hidden === false && window.requestAnimationFrame ) { 7161 window.requestAnimationFrame( schedule ); 7162 } else { 7163 window.setTimeout( schedule, jQuery.fx.interval ); 7164 } 7165 7166 jQuery.fx.tick(); 7167 } 7168} 7169 7170// Animations created synchronously will run synchronously 7171function createFxNow() { 7172 window.setTimeout( function() { 7173 fxNow = undefined; 7174 } ); 7175 return ( fxNow = Date.now() ); 7176} 7177 7178// Generate parameters to create a standard animation 7179function genFx( type, includeWidth ) { 7180 var which, 7181 i = 0, 7182 attrs = { height: type }; 7183 7184 // If we include width, step value is 1 to do all cssExpand values, 7185 // otherwise step value is 2 to skip over Left and Right 7186 includeWidth = includeWidth ? 1 : 0; 7187 for ( ; i < 4; i += 2 - includeWidth ) { 7188 which = cssExpand[ i ]; 7189 attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; 7190 } 7191 7192 if ( includeWidth ) { 7193 attrs.opacity = attrs.width = type; 7194 } 7195 7196 return attrs; 7197} 7198 7199function createTween( value, prop, animation ) { 7200 var tween, 7201 collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ), 7202 index = 0, 7203 length = collection.length; 7204 for ( ; index < length; index++ ) { 7205 if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) { 7206 7207 // We're done with this property 7208 return tween; 7209 } 7210 } 7211} 7212 7213function defaultPrefilter( elem, props, opts ) { 7214 var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display, 7215 isBox = "width" in props || "height" in props, 7216 anim = this, 7217 orig = {}, 7218 style = elem.style, 7219 hidden = elem.nodeType && isHiddenWithinTree( elem ), 7220 dataShow = dataPriv.get( elem, "fxshow" ); 7221 7222 // Queue-skipping animations hijack the fx hooks 7223 if ( !opts.queue ) { 7224 hooks = jQuery._queueHooks( elem, "fx" ); 7225 if ( hooks.unqueued == null ) { 7226 hooks.unqueued = 0; 7227 oldfire = hooks.empty.fire; 7228 hooks.empty.fire = function() { 7229 if ( !hooks.unqueued ) { 7230 oldfire(); 7231 } 7232 }; 7233 } 7234 hooks.unqueued++; 7235 7236 anim.always( function() { 7237 7238 // Ensure the complete handler is called before this completes 7239 anim.always( function() { 7240 hooks.unqueued--; 7241 if ( !jQuery.queue( elem, "fx" ).length ) { 7242 hooks.empty.fire(); 7243 } 7244 } ); 7245 } ); 7246 } 7247 7248 // Detect show/hide animations 7249 for ( prop in props ) { 7250 value = props[ prop ]; 7251 if ( rfxtypes.test( value ) ) { 7252 delete props[ prop ]; 7253 toggle = toggle || value === "toggle"; 7254 if ( value === ( hidden ? "hide" : "show" ) ) { 7255 7256 // Pretend to be hidden if this is a "show" and 7257 // there is still data from a stopped show/hide 7258 if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) { 7259 hidden = true; 7260 7261 // Ignore all other no-op show/hide data 7262 } else { 7263 continue; 7264 } 7265 } 7266 orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop ); 7267 } 7268 } 7269 7270 // Bail out if this is a no-op like .hide().hide() 7271 propTween = !jQuery.isEmptyObject( props ); 7272 if ( !propTween && jQuery.isEmptyObject( orig ) ) { 7273 return; 7274 } 7275 7276 // Restrict "overflow" and "display" styles during box animations 7277 if ( isBox && elem.nodeType === 1 ) { 7278 7279 // Support: IE <=9 - 11, Edge 12 - 15 7280 // Record all 3 overflow attributes because IE does not infer the shorthand 7281 // from identically-valued overflowX and overflowY and Edge just mirrors 7282 // the overflowX value there. 7283 opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; 7284 7285 // Identify a display type, preferring old show/hide data over the CSS cascade 7286 restoreDisplay = dataShow && dataShow.display; 7287 if ( restoreDisplay == null ) { 7288 restoreDisplay = dataPriv.get( elem, "display" ); 7289 } 7290 display = jQuery.css( elem, "display" ); 7291 if ( display === "none" ) { 7292 if ( restoreDisplay ) { 7293 display = restoreDisplay; 7294 } else { 7295 7296 // Get nonempty value(s) by temporarily forcing visibility 7297 showHide( [ elem ], true ); 7298 restoreDisplay = elem.style.display || restoreDisplay; 7299 display = jQuery.css( elem, "display" ); 7300 showHide( [ elem ] ); 7301 } 7302 } 7303 7304 // Animate inline elements as inline-block 7305 if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) { 7306 if ( jQuery.css( elem, "float" ) === "none" ) { 7307 7308 // Restore the original display value at the end of pure show/hide animations 7309 if ( !propTween ) { 7310 anim.done( function() { 7311 style.display = restoreDisplay; 7312 } ); 7313 if ( restoreDisplay == null ) { 7314 display = style.display; 7315 restoreDisplay = display === "none" ? "" : display; 7316 } 7317 } 7318 style.display = "inline-block"; 7319 } 7320 } 7321 } 7322 7323 if ( opts.overflow ) { 7324 style.overflow = "hidden"; 7325 anim.always( function() { 7326 style.overflow = opts.overflow[ 0 ]; 7327 style.overflowX = opts.overflow[ 1 ]; 7328 style.overflowY = opts.overflow[ 2 ]; 7329 } ); 7330 } 7331 7332 // Implement show/hide animations 7333 propTween = false; 7334 for ( prop in orig ) { 7335 7336 // General show/hide setup for this element animation 7337 if ( !propTween ) { 7338 if ( dataShow ) { 7339 if ( "hidden" in dataShow ) { 7340 hidden = dataShow.hidden; 7341 } 7342 } else { 7343 dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } ); 7344 } 7345 7346 // Store hidden/visible for toggle so `.stop().toggle()` "reverses" 7347 if ( toggle ) { 7348 dataShow.hidden = !hidden; 7349 } 7350 7351 // Show elements before animating them 7352 if ( hidden ) { 7353 showHide( [ elem ], true ); 7354 } 7355 7356 /* eslint-disable no-loop-func */ 7357 7358 anim.done( function() { 7359 7360 /* eslint-enable no-loop-func */ 7361 7362 // The final step of a "hide" animation is actually hiding the element 7363 if ( !hidden ) { 7364 showHide( [ elem ] ); 7365 } 7366 dataPriv.remove( elem, "fxshow" ); 7367 for ( prop in orig ) { 7368 jQuery.style( elem, prop, orig[ prop ] ); 7369 } 7370 } ); 7371 } 7372 7373 // Per-property setup 7374 propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim ); 7375 if ( !( prop in dataShow ) ) { 7376 dataShow[ prop ] = propTween.start; 7377 if ( hidden ) { 7378 propTween.end = propTween.start; 7379 propTween.start = 0; 7380 } 7381 } 7382 } 7383} 7384 7385function propFilter( props, specialEasing ) { 7386 var index, name, easing, value, hooks; 7387 7388 // camelCase, specialEasing and expand cssHook pass 7389 for ( index in props ) { 7390 name = camelCase( index ); 7391 easing = specialEasing[ name ]; 7392 value = props[ index ]; 7393 if ( Array.isArray( value ) ) { 7394 easing = value[ 1 ]; 7395 value = props[ index ] = value[ 0 ]; 7396 } 7397 7398 if ( index !== name ) { 7399 props[ name ] = value; 7400 delete props[ index ]; 7401 } 7402 7403 hooks = jQuery.cssHooks[ name ]; 7404 if ( hooks && "expand" in hooks ) { 7405 value = hooks.expand( value ); 7406 delete props[ name ]; 7407 7408 // Not quite $.extend, this won't overwrite existing keys. 7409 // Reusing 'index' because we have the correct "name" 7410 for ( index in value ) { 7411 if ( !( index in props ) ) { 7412 props[ index ] = value[ index ]; 7413 specialEasing[ index ] = easing; 7414 } 7415 } 7416 } else { 7417 specialEasing[ name ] = easing; 7418 } 7419 } 7420} 7421 7422function Animation( elem, properties, options ) { 7423 var result, 7424 stopped, 7425 index = 0, 7426 length = Animation.prefilters.length, 7427 deferred = jQuery.Deferred().always( function() { 7428 7429 // Don't match elem in the :animated selector 7430 delete tick.elem; 7431 } ), 7432 tick = function() { 7433 if ( stopped ) { 7434 return false; 7435 } 7436 var currentTime = fxNow || createFxNow(), 7437 remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), 7438
vendor: 9,542 bytes, lines 7439-7829
7439 // Support: Android 2.3 only 7440 // Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497) 7441 temp = remaining / animation.duration || 0, 7442 percent = 1 - temp, 7443 index = 0, 7444 length = animation.tweens.length; 7445 7446 for ( ; index < length; index++ ) { 7447 animation.tweens[ index ].run( percent ); 7448 } 7449 7450 deferred.notifyWith( elem, [ animation, percent, remaining ] ); 7451 7452 // If there's more to do, yield 7453 if ( percent < 1 && length ) { 7454 return remaining; 7455 } 7456 7457 // If this was an empty animation, synthesize a final progress notification 7458 if ( !length ) { 7459 deferred.notifyWith( elem, [ animation, 1, 0 ] ); 7460 } 7461 7462 // Resolve the animation and report its conclusion 7463 deferred.resolveWith( elem, [ animation ] ); 7464 return false; 7465 }, 7466 animation = deferred.promise( { 7467 elem: elem, 7468 props: jQuery.extend( {}, properties ), 7469 opts: jQuery.extend( true, { 7470 specialEasing: {}, 7471 easing: jQuery.easing._default 7472 }, options ), 7473 originalProperties: properties, 7474 originalOptions: options, 7475 startTime: fxNow || createFxNow(), 7476 duration: options.duration, 7477 tweens: [], 7478 createTween: function( prop, end ) { 7479 var tween = jQuery.Tween( elem, animation.opts, prop, end, 7480 animation.opts.specialEasing[ prop ] || animation.opts.easing ); 7481 animation.tweens.push( tween ); 7482 return tween; 7483 }, 7484 stop: function( gotoEnd ) { 7485 var index = 0, 7486 7487 // If we are going to the end, we want to run all the tweens 7488 // otherwise we skip this part 7489 length = gotoEnd ? animation.tweens.length : 0; 7490 if ( stopped ) { 7491 return this; 7492 } 7493 stopped = true; 7494 for ( ; index < length; index++ ) { 7495 animation.tweens[ index ].run( 1 ); 7496 } 7497 7498 // Resolve when we played the last frame; otherwise, reject 7499 if ( gotoEnd ) { 7500 deferred.notifyWith( elem, [ animation, 1, 0 ] ); 7501 deferred.resolveWith( elem, [ animation, gotoEnd ] ); 7502 } else { 7503 deferred.rejectWith( elem, [ animation, gotoEnd ] ); 7504 } 7505 return this; 7506 } 7507 } ), 7508 props = animation.props; 7509 7510 propFilter( props, animation.opts.specialEasing ); 7511 7512 for ( ; index < length; index++ ) { 7513 result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts ); 7514 if ( result ) { 7515 if ( isFunction( result.stop ) ) { 7516 jQuery._queueHooks( animation.elem, animation.opts.queue ).stop = 7517 result.stop.bind( result ); 7518 } 7519 return result; 7520 } 7521 } 7522 7523 jQuery.map( props, createTween, animation ); 7524 7525 if ( isFunction( animation.opts.start ) ) { 7526 animation.opts.start.call( elem, animation ); 7527 } 7528 7529 // Attach callbacks from options 7530 animation 7531 .progress( animation.opts.progress ) 7532 .done( animation.opts.done, animation.opts.complete ) 7533 .fail( animation.opts.fail ) 7534 .always( animation.opts.always ); 7535 7536 jQuery.fx.timer( 7537 jQuery.extend( tick, { 7538 elem: elem, 7539 anim: animation, 7540 queue: animation.opts.queue 7541 } ) 7542 ); 7543 7544 return animation; 7545} 7546 7547jQuery.Animation = jQuery.extend( Animation, { 7548 7549 tweeners: { 7550 "*": [ function( prop, value ) { 7551 var tween = this.createTween( prop, value ); 7552 adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween ); 7553 return tween; 7554 } ] 7555 }, 7556 7557 tweener: function( props, callback ) { 7558 if ( isFunction( props ) ) { 7559 callback = props; 7560 props = [ "*" ]; 7561 } else { 7562 props = props.match( rnothtmlwhite ); 7563 } 7564 7565 var prop, 7566 index = 0, 7567 length = props.length; 7568 7569 for ( ; index < length; index++ ) { 7570 prop = props[ index ]; 7571 Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || []; 7572 Animation.tweeners[ prop ].unshift( callback ); 7573 } 7574 }, 7575 7576 prefilters: [ defaultPrefilter ], 7577 7578 prefilter: function( callback, prepend ) { 7579 if ( prepend ) { 7580 Animation.prefilters.unshift( callback ); 7581 } else { 7582 Animation.prefilters.push( callback ); 7583 } 7584 } 7585} ); 7586 7587jQuery.speed = function( speed, easing, fn ) { 7588 var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { 7589 complete: fn || !fn && easing || 7590 isFunction( speed ) && speed, 7591 duration: speed, 7592 easing: fn && easing || easing && !isFunction( easing ) && easing 7593 }; 7594 7595 // Go to the end state if fx are off 7596 if ( jQuery.fx.off ) { 7597 opt.duration = 0; 7598 7599 } else { 7600 if ( typeof opt.duration !== "number" ) { 7601 if ( opt.duration in jQuery.fx.speeds ) { 7602 opt.duration = jQuery.fx.speeds[ opt.duration ]; 7603 7604 } else { 7605 opt.duration = jQuery.fx.speeds._default; 7606 } 7607 } 7608 } 7609 7610 // Normalize opt.queue - true/undefined/null -> "fx" 7611 if ( opt.queue == null || opt.queue === true ) { 7612 opt.queue = "fx"; 7613 } 7614 7615 // Queueing 7616 opt.old = opt.complete; 7617 7618 opt.complete = function() { 7619 if ( isFunction( opt.old ) ) { 7620 opt.old.call( this ); 7621 } 7622 7623 if ( opt.queue ) { 7624 jQuery.dequeue( this, opt.queue ); 7625 } 7626 }; 7627 7628 return opt; 7629}; 7630 7631jQuery.fn.extend( { 7632 fadeTo: function( speed, to, easing, callback ) { 7633 7634 // Show any hidden elements after setting opacity to 0 7635 return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show() 7636 7637 // Animate to the value specified 7638 .end().animate( { opacity: to }, speed, easing, callback ); 7639 }, 7640 animate: function( prop, speed, easing, callback ) { 7641 var empty = jQuery.isEmptyObject( prop ), 7642 optall = jQuery.speed( speed, easing, callback ), 7643 doAnimation = function() { 7644 7645 // Operate on a copy of prop so per-property easing won't be lost 7646 var anim = Animation( this, jQuery.extend( {}, prop ), optall ); 7647 7648 // Empty animations, or finishing resolves immediately 7649 if ( empty || dataPriv.get( this, "finish" ) ) { 7650 anim.stop( true ); 7651 } 7652 }; 7653 7654 doAnimation.finish = doAnimation; 7655 7656 return empty || optall.queue === false ? 7657 this.each( doAnimation ) : 7658 this.queue( optall.queue, doAnimation ); 7659 }, 7660 stop: function( type, clearQueue, gotoEnd ) { 7661 var stopQueue = function( hooks ) { 7662 var stop = hooks.stop; 7663 delete hooks.stop; 7664 stop( gotoEnd ); 7665 }; 7666 7667 if ( typeof type !== "string" ) { 7668 gotoEnd = clearQueue; 7669 clearQueue = type; 7670 type = undefined; 7671 } 7672 if ( clearQueue ) { 7673 this.queue( type || "fx", [] ); 7674 } 7675 7676 return this.each( function() { 7677 var dequeue = true, 7678 index = type != null && type + "queueHooks", 7679 timers = jQuery.timers, 7680 data = dataPriv.get( this ); 7681 7682 if ( index ) { 7683 if ( data[ index ] && data[ index ].stop ) { 7684 stopQueue( data[ index ] ); 7685 } 7686 } else { 7687 for ( index in data ) { 7688 if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { 7689 stopQueue( data[ index ] ); 7690 } 7691 } 7692 } 7693 7694 for ( index = timers.length; index--; ) { 7695 if ( timers[ index ].elem === this && 7696 ( type == null || timers[ index ].queue === type ) ) { 7697 7698 timers[ index ].anim.stop( gotoEnd ); 7699 dequeue = false; 7700 timers.splice( index, 1 ); 7701 } 7702 } 7703 7704 // Start the next in the queue if the last step wasn't forced. 7705 // Timers currently will call their complete callbacks, which 7706 // will dequeue but only if they were gotoEnd. 7707 if ( dequeue || !gotoEnd ) { 7708 jQuery.dequeue( this, type ); 7709 } 7710 } ); 7711 }, 7712 finish: function( type ) { 7713 if ( type !== false ) { 7714 type = type || "fx"; 7715 } 7716 return this.each( function() { 7717 var index, 7718 data = dataPriv.get( this ), 7719 queue = data[ type + "queue" ], 7720 hooks = data[ type + "queueHooks" ], 7721 timers = jQuery.timers, 7722 length = queue ? queue.length : 0; 7723 7724 // Enable finishing flag on private data 7725 data.finish = true; 7726 7727 // Empty the queue first 7728 jQuery.queue( this, type, [] ); 7729 7730 if ( hooks && hooks.stop ) { 7731 hooks.stop.call( this, true ); 7732 } 7733 7734 // Look for any active animations, and finish them 7735 for ( index = timers.length; index--; ) { 7736 if ( timers[ index ].elem === this && timers[ index ].queue === type ) { 7737 timers[ index ].anim.stop( true ); 7738 timers.splice( index, 1 ); 7739 } 7740 } 7741 7742 // Look for any animations in the old queue and finish them 7743 for ( index = 0; index < length; index++ ) { 7744 if ( queue[ index ] && queue[ index ].finish ) { 7745 queue[ index ].finish.call( this ); 7746 } 7747 } 7748 7749 // Turn off finishing flag 7750 delete data.finish; 7751 } ); 7752 } 7753} ); 7754 7755jQuery.each( [ "toggle", "show", "hide" ], function( _i, name ) { 7756 var cssFn = jQuery.fn[ name ]; 7757 jQuery.fn[ name ] = function( speed, easing, callback ) { 7758 return speed == null || typeof speed === "boolean" ? 7759 cssFn.apply( this, arguments ) : 7760 this.animate( genFx( name, true ), speed, easing, callback ); 7761 }; 7762} ); 7763 7764// Generate shortcuts for custom animations 7765jQuery.each( { 7766 slideDown: genFx( "show" ), 7767 slideUp: genFx( "hide" ), 7768 slideToggle: genFx( "toggle" ), 7769 fadeIn: { opacity: "show" }, 7770 fadeOut: { opacity: "hide" }, 7771 fadeToggle: { opacity: "toggle" } 7772}, function( name, props ) { 7773 jQuery.fn[ name ] = function( speed, easing, callback ) { 7774 return this.animate( props, speed, easing, callback ); 7775 }; 7776} ); 7777 7778jQuery.timers = []; 7779jQuery.fx.tick = function() { 7780 var timer, 7781 i = 0, 7782 timers = jQuery.timers; 7783 7784 fxNow = Date.now(); 7785 7786 for ( ; i < timers.length; i++ ) { 7787 timer = timers[ i ]; 7788 7789 // Run the timer and safely remove it when done (allowing for external removal) 7790 if ( !timer() && timers[ i ] === timer ) { 7791 timers.splice( i--, 1 ); 7792 } 7793 } 7794 7795 if ( !timers.length ) { 7796 jQuery.fx.stop(); 7797 } 7798 fxNow = undefined; 7799}; 7800 7801jQuery.fx.timer = function( timer ) { 7802 jQuery.timers.push( timer ); 7803 jQuery.fx.start(); 7804}; 7805 7806jQuery.fx.interval = 13; 7807jQuery.fx.start = function() { 7808 if ( inProgress ) { 7809 return; 7810 } 7811 7812 inProgress = true; 7813 schedule(); 7814}; 7815 7816jQuery.fx.stop = function() { 7817 inProgress = null; 7818}; 7819 7820jQuery.fx.speeds = { 7821 slow: 600, 7822 fast: 200, 7823 7824 // Default speed 7825 _default: 400 7826}; 7827 7828 7829// Based off of the plugin by Clint Helfers, with permission.
vendor: 5,177 bytes, lines 7830-8050
7830jQuery.fn.delay = function( time, type ) { 7831 time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; 7832 type = type || "fx"; 7833 7834 return this.queue( type, function( next, hooks ) { 7835 var timeout = window.setTimeout( next, time ); 7836 hooks.stop = function() { 7837 window.clearTimeout( timeout ); 7838 }; 7839 } ); 7840}; 7841 7842 7843( function() { 7844 var input = document.createElement( "input" ), 7845 select = document.createElement( "select" ), 7846 opt = select.appendChild( document.createElement( "option" ) ); 7847 7848 input.type = "checkbox"; 7849 7850 // Support: Android <=4.3 only 7851 // Default value for a checkbox should be "on" 7852 support.checkOn = input.value !== ""; 7853 7854 // Support: IE <=11 only 7855 // Must access selectedIndex to make default options select 7856 support.optSelected = opt.selected; 7857 7858 // Support: IE <=11 only 7859 // An input loses its value after becoming a radio 7860 input = document.createElement( "input" ); 7861 input.value = "t"; 7862 input.type = "radio"; 7863 support.radioValue = input.value === "t"; 7864} )(); 7865 7866 7867var boolHook, 7868 attrHandle = jQuery.expr.attrHandle; 7869 7870jQuery.fn.extend( { 7871 attr: function( name, value ) { 7872 return access( this, jQuery.attr, name, value, arguments.length > 1 ); 7873 }, 7874 7875 removeAttr: function( name ) { 7876 return this.each( function() { 7877 jQuery.removeAttr( this, name ); 7878 } ); 7879 } 7880} ); 7881 7882jQuery.extend( { 7883 attr: function( elem, name, value ) { 7884 var ret, hooks, 7885 nType = elem.nodeType; 7886 7887 // Don't get/set attributes on text, comment and attribute nodes 7888 if ( nType === 3 || nType === 8 || nType === 2 ) { 7889 return; 7890 } 7891 7892 // Fallback to prop when attributes are not supported 7893 if ( typeof elem.getAttribute === "undefined" ) { 7894 return jQuery.prop( elem, name, value ); 7895 } 7896 7897 // Attribute hooks are determined by the lowercase version 7898 // Grab necessary hook if one is defined 7899 if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { 7900 hooks = jQuery.attrHooks[ name.toLowerCase() ] || 7901 ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined ); 7902 } 7903 7904 if ( value !== undefined ) { 7905 if ( value === null ) { 7906 jQuery.removeAttr( elem, name ); 7907 return; 7908 } 7909 7910 if ( hooks && "set" in hooks && 7911 ( ret = hooks.set( elem, value, name ) ) !== undefined ) { 7912 return ret; 7913 } 7914 7915 elem.setAttribute( name, value + "" ); 7916 return value; 7917 } 7918 7919 if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { 7920 return ret; 7921 } 7922 7923 ret = jQuery.find.attr( elem, name ); 7924 7925 // Non-existent attributes return null, we normalize to undefined 7926 return ret == null ? undefined : ret; 7927 }, 7928 7929 attrHooks: { 7930 type: { 7931 set: function( elem, value ) { 7932 if ( !support.radioValue && value === "radio" && 7933 nodeName( elem, "input" ) ) { 7934 var val = elem.value; 7935 elem.setAttribute( "type", value ); 7936 if ( val ) { 7937 elem.value = val; 7938 } 7939 return value; 7940 } 7941 } 7942 } 7943 }, 7944 7945 removeAttr: function( elem, value ) { 7946 var name, 7947 i = 0, 7948 7949 // Attribute names can contain non-HTML whitespace characters 7950 // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 7951 attrNames = value && value.match( rnothtmlwhite ); 7952 7953 if ( attrNames && elem.nodeType === 1 ) { 7954 while ( ( name = attrNames[ i++ ] ) ) { 7955 elem.removeAttribute( name ); 7956 } 7957 } 7958 } 7959} ); 7960 7961// Hooks for boolean attributes 7962boolHook = { 7963 set: function( elem, value, name ) { 7964 if ( value === false ) { 7965 7966 // Remove boolean attributes when set to false 7967 jQuery.removeAttr( elem, name ); 7968 } else { 7969 elem.setAttribute( name, name ); 7970 } 7971 return name; 7972 } 7973}; 7974 7975jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( _i, name ) { 7976 var getter = attrHandle[ name ] || jQuery.find.attr; 7977 7978 attrHandle[ name ] = function( elem, name, isXML ) { 7979 var ret, handle, 7980 lowercaseName = name.toLowerCase(); 7981 7982 if ( !isXML ) { 7983 7984 // Avoid an infinite loop by temporarily removing this function from the getter 7985 handle = attrHandle[ lowercaseName ]; 7986 attrHandle[ lowercaseName ] = ret; 7987 ret = getter( elem, name, isXML ) != null ? 7988 lowercaseName : 7989 null; 7990 attrHandle[ lowercaseName ] = handle; 7991 } 7992 return ret; 7993 }; 7994} ); 7995 7996 7997 7998 7999var rfocusable = /^(?:input|select|textarea|button)$/i, 8000 rclickable = /^(?:a|area)$/i; 8001 8002jQuery.fn.extend( { 8003 prop: function( name, value ) { 8004 return access( this, jQuery.prop, name, value, arguments.length > 1 ); 8005 }, 8006 8007 removeProp: function( name ) { 8008 return this.each( function() { 8009 delete this[ jQuery.propFix[ name ] || name ]; 8010 } ); 8011 } 8012} ); 8013 8014jQuery.extend( { 8015 prop: function( elem, name, value ) { 8016 var ret, hooks, 8017 nType = elem.nodeType; 8018 8019 // Don't get/set properties on text, comment and attribute nodes 8020 if ( nType === 3 || nType === 8 || nType === 2 ) { 8021 return; 8022 } 8023 8024 if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { 8025 8026 // Fix name and attach hooks 8027 name = jQuery.propFix[ name ] || name; 8028 hooks = jQuery.propHooks[ name ]; 8029 } 8030 8031 if ( value !== undefined ) { 8032 if ( hooks && "set" in hooks && 8033 ( ret = hooks.set( elem, value, name ) ) !== undefined ) { 8034 return ret; 8035 } 8036 8037 return ( elem[ name ] = value ); 8038 } 8039 8040 if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) { 8041 return ret; 8042 } 8043 8044 return elem[ name ]; 8045 }, 8046 8047 propHooks: { 8048 tabIndex: { 8049 get: function( elem ) { 8050
vendor: 6,126 bytes, lines 8051-8310
8051 // Support: IE <=9 - 11 only 8052 // elem.tabIndex doesn't always return the 8053 // correct value when it hasn't been explicitly set 8054 // Use proper attribute retrieval (trac-12072) 8055 var tabindex = jQuery.find.attr( elem, "tabindex" ); 8056 8057 if ( tabindex ) { 8058 return parseInt( tabindex, 10 ); 8059 } 8060 8061 if ( 8062 rfocusable.test( elem.nodeName ) || 8063 rclickable.test( elem.nodeName ) && 8064 elem.href 8065 ) { 8066 return 0; 8067 } 8068 8069 return -1; 8070 } 8071 } 8072 }, 8073 8074 propFix: { 8075 "for": "htmlFor", 8076 "class": "className" 8077 } 8078} ); 8079 8080// Support: IE <=11 only 8081// Accessing the selectedIndex property 8082// forces the browser to respect setting selected 8083// on the option 8084// The getter ensures a default option is selected 8085// when in an optgroup 8086// eslint rule "no-unused-expressions" is disabled for this code 8087// since it considers such accessions noop 8088if ( !support.optSelected ) { 8089 jQuery.propHooks.selected = { 8090 get: function( elem ) { 8091 8092 /* eslint no-unused-expressions: "off" */ 8093 8094 var parent = elem.parentNode; 8095 if ( parent && parent.parentNode ) { 8096 parent.parentNode.selectedIndex; 8097 } 8098 return null; 8099 }, 8100 set: function( elem ) { 8101 8102 /* eslint no-unused-expressions: "off" */ 8103 8104 var parent = elem.parentNode; 8105 if ( parent ) { 8106 parent.selectedIndex; 8107 8108 if ( parent.parentNode ) { 8109 parent.parentNode.selectedIndex; 8110 } 8111 } 8112 } 8113 }; 8114} 8115 8116jQuery.each( [ 8117 "tabIndex", 8118 "readOnly", 8119 "maxLength", 8120 "cellSpacing", 8121 "cellPadding", 8122 "rowSpan", 8123 "colSpan", 8124 "useMap", 8125 "frameBorder", 8126 "contentEditable" 8127], function() { 8128 jQuery.propFix[ this.toLowerCase() ] = this; 8129} ); 8130 8131 8132 8133 8134 // Strip and collapse whitespace according to HTML spec 8135 // https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace 8136 function stripAndCollapse( value ) { 8137 var tokens = value.match( rnothtmlwhite ) || []; 8138 return tokens.join( " " ); 8139 } 8140 8141 8142function getClass( elem ) { 8143 return elem.getAttribute && elem.getAttribute( "class" ) || ""; 8144} 8145 8146function classesToArray( value ) { 8147 if ( Array.isArray( value ) ) { 8148 return value; 8149 } 8150 if ( typeof value === "string" ) { 8151 return value.match( rnothtmlwhite ) || []; 8152 } 8153 return []; 8154} 8155 8156jQuery.fn.extend( { 8157 addClass: function( value ) { 8158 var classNames, cur, curValue, className, i, finalValue; 8159 8160 if ( isFunction( value ) ) { 8161 return this.each( function( j ) { 8162 jQuery( this ).addClass( value.call( this, j, getClass( this ) ) ); 8163 } ); 8164 } 8165 8166 classNames = classesToArray( value ); 8167 8168 if ( classNames.length ) { 8169 return this.each( function() { 8170 curValue = getClass( this ); 8171 cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); 8172 8173 if ( cur ) { 8174 for ( i = 0; i < classNames.length; i++ ) { 8175 className = classNames[ i ]; 8176 if ( cur.indexOf( " " + className + " " ) < 0 ) { 8177 cur += className + " "; 8178 } 8179 } 8180 8181 // Only assign if different to avoid unneeded rendering. 8182 finalValue = stripAndCollapse( cur ); 8183 if ( curValue !== finalValue ) { 8184 this.setAttribute( "class", finalValue ); 8185 } 8186 } 8187 } ); 8188 } 8189 8190 return this; 8191 }, 8192 8193 removeClass: function( value ) { 8194 var classNames, cur, curValue, className, i, finalValue; 8195 8196 if ( isFunction( value ) ) { 8197 return this.each( function( j ) { 8198 jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) ); 8199 } ); 8200 } 8201 8202 if ( !arguments.length ) { 8203 return this.attr( "class", "" ); 8204 } 8205 8206 classNames = classesToArray( value ); 8207 8208 if ( classNames.length ) { 8209 return this.each( function() { 8210 curValue = getClass( this ); 8211 8212 // This expression is here for better compressibility (see addClass) 8213 cur = this.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " ); 8214 8215 if ( cur ) { 8216 for ( i = 0; i < classNames.length; i++ ) { 8217 className = classNames[ i ]; 8218 8219 // Remove *all* instances 8220 while ( cur.indexOf( " " + className + " " ) > -1 ) { 8221 cur = cur.replace( " " + className + " ", " " ); 8222 } 8223 } 8224 8225 // Only assign if different to avoid unneeded rendering. 8226 finalValue = stripAndCollapse( cur ); 8227 if ( curValue !== finalValue ) { 8228 this.setAttribute( "class", finalValue ); 8229 } 8230 } 8231 } ); 8232 } 8233 8234 return this; 8235 }, 8236 8237 toggleClass: function( value, stateVal ) { 8238 var classNames, className, i, self, 8239 type = typeof value, 8240 isValidValue = type === "string" || Array.isArray( value ); 8241 8242 if ( isFunction( value ) ) { 8243 return this.each( function( i ) { 8244 jQuery( this ).toggleClass( 8245 value.call( this, i, getClass( this ), stateVal ), 8246 stateVal 8247 ); 8248 } ); 8249 } 8250 8251 if ( typeof stateVal === "boolean" && isValidValue ) { 8252 return stateVal ? this.addClass( value ) : this.removeClass( value ); 8253 } 8254 8255 classNames = classesToArray( value ); 8256 8257 return this.each( function() { 8258 if ( isValidValue ) { 8259 8260 // Toggle individual class names 8261 self = jQuery( this ); 8262 8263 for ( i = 0; i < classNames.length; i++ ) { 8264 className = classNames[ i ]; 8265 8266 // Check each className given, space separated list 8267 if ( self.hasClass( className ) ) { 8268 self.removeClass( className ); 8269 } else { 8270 self.addClass( className ); 8271 } 8272 } 8273 8274 // Toggle whole class name 8275 } else if ( value === undefined || type === "boolean" ) { 8276 className = getClass( this ); 8277 if ( className ) { 8278 8279 // Store className if set 8280 dataPriv.set( this, "__className__", className ); 8281 } 8282 8283 // If the element has a class name or if we're passed `false`, 8284 // then remove the whole classname (if there was one, the above saved it). 8285 // Otherwise bring back whatever was previously saved (if anything), 8286 // falling back to the empty string if nothing was stored. 8287 if ( this.setAttribute ) { 8288 this.setAttribute( "class", 8289 className || value === false ? 8290 "" : 8291 dataPriv.get( this, "__className__" ) || "" 8292 ); 8293 } 8294 } 8295 } ); 8296 }, 8297 8298 hasClass: function( selector ) { 8299 var className, elem, 8300 i = 0; 8301 8302 className = " " + selector + " "; 8303 while ( ( elem = this[ i++ ] ) ) { 8304 if ( elem.nodeType === 1 && 8305 ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) { 8306 return true; 8307 } 8308 } 8309 8310 return false;
vendor: 1,385 bytes, lines 8311-8380
8311 } 8312} ); 8313 8314 8315 8316 8317var rreturn = /\r/g; 8318 8319jQuery.fn.extend( { 8320 val: function( value ) { 8321 var hooks, ret, valueIsFunction, 8322 elem = this[ 0 ]; 8323 8324 if ( !arguments.length ) { 8325 if ( elem ) { 8326 hooks = jQuery.valHooks[ elem.type ] || 8327 jQuery.valHooks[ elem.nodeName.toLowerCase() ]; 8328 8329 if ( hooks && 8330 "get" in hooks && 8331 ( ret = hooks.get( elem, "value" ) ) !== undefined 8332 ) { 8333 return ret; 8334 } 8335 8336 ret = elem.value; 8337 8338 // Handle most common string cases 8339 if ( typeof ret === "string" ) { 8340 return ret.replace( rreturn, "" ); 8341 } 8342 8343 // Handle cases where value is null/undef or number 8344 return ret == null ? "" : ret; 8345 } 8346 8347 return; 8348 } 8349 8350 valueIsFunction = isFunction( value ); 8351 8352 return this.each( function( i ) { 8353 var val; 8354 8355 if ( this.nodeType !== 1 ) { 8356 return; 8357 } 8358 8359 if ( valueIsFunction ) { 8360 val = value.call( this, i, jQuery( this ).val() ); 8361 } else { 8362 val = value; 8363 } 8364 8365 // Treat null/undefined as ""; convert numbers to string 8366 if ( val == null ) { 8367 val = ""; 8368 8369 } else if ( typeof val === "number" ) { 8370 val += ""; 8371 8372 } else if ( Array.isArray( val ) ) { 8373 val = jQuery.map( val, function( value ) { 8374 return value == null ? "" : value + ""; 8375 } ); 8376 } 8377 8378 hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; 8379 8380 // If set returns undefined, fall back to normal setting
vendor: 4,458 bytes, lines 8381-8566
8381 if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) { 8382 this.value = val; 8383 } 8384 } ); 8385 } 8386} ); 8387 8388jQuery.extend( { 8389 valHooks: { 8390 option: { 8391 get: function( elem ) { 8392 8393 var val = jQuery.find.attr( elem, "value" ); 8394 return val != null ? 8395 val : 8396 8397 // Support: IE <=10 - 11 only 8398 // option.text throws exceptions (trac-14686, trac-14858) 8399 // Strip and collapse whitespace 8400 // https://html.spec.whatwg.org/#strip-and-collapse-whitespace 8401 stripAndCollapse( jQuery.text( elem ) ); 8402 } 8403 }, 8404 select: { 8405 get: function( elem ) { 8406 var value, option, i, 8407 options = elem.options, 8408 index = elem.selectedIndex, 8409 one = elem.type === "select-one", 8410 values = one ? null : [], 8411 max = one ? index + 1 : options.length; 8412 8413 if ( index < 0 ) { 8414 i = max; 8415 8416 } else { 8417 i = one ? index : 0; 8418 } 8419 8420 // Loop through all the selected options 8421 for ( ; i < max; i++ ) { 8422 option = options[ i ]; 8423 8424 // Support: IE <=9 only 8425 // IE8-9 doesn't update selected after form reset (trac-2551) 8426 if ( ( option.selected || i === index ) && 8427 8428 // Don't return options that are disabled or in a disabled optgroup 8429 !option.disabled && 8430 ( !option.parentNode.disabled || 8431 !nodeName( option.parentNode, "optgroup" ) ) ) { 8432 8433 // Get the specific value for the option 8434 value = jQuery( option ).val(); 8435 8436 // We don't need an array for one selects 8437 if ( one ) { 8438 return value; 8439 } 8440 8441 // Multi-Selects return an array 8442 values.push( value ); 8443 } 8444 } 8445 8446 return values; 8447 }, 8448 8449 set: function( elem, value ) { 8450 var optionSet, option, 8451 options = elem.options, 8452 values = jQuery.makeArray( value ), 8453 i = options.length; 8454 8455 while ( i-- ) { 8456 option = options[ i ]; 8457 8458 /* eslint-disable no-cond-assign */ 8459 8460 if ( option.selected = 8461 jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1 8462 ) { 8463 optionSet = true; 8464 } 8465 8466 /* eslint-enable no-cond-assign */ 8467 } 8468 8469 // Force browsers to behave consistently when non-matching value is set 8470 if ( !optionSet ) { 8471 elem.selectedIndex = -1; 8472 } 8473 return values; 8474 } 8475 } 8476 } 8477} ); 8478 8479// Radios and checkboxes getter/setter 8480jQuery.each( [ "radio", "checkbox" ], function() { 8481 jQuery.valHooks[ this ] = { 8482 set: function( elem, value ) { 8483 if ( Array.isArray( value ) ) { 8484 return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 ); 8485 } 8486 } 8487 }; 8488 if ( !support.checkOn ) { 8489 jQuery.valHooks[ this ].get = function( elem ) { 8490 return elem.getAttribute( "value" ) === null ? "on" : elem.value; 8491 }; 8492 } 8493} ); 8494 8495 8496 8497 8498// Return jQuery for attributes-only inclusion 8499var location = window.location; 8500 8501var nonce = { guid: Date.now() }; 8502 8503var rquery = ( /\?/ ); 8504 8505 8506 8507// Cross-browser xml parsing 8508jQuery.parseXML = function( data ) { 8509 var xml, parserErrorElem; 8510 if ( !data || typeof data !== "string" ) { 8511 return null; 8512 } 8513 8514 // Support: IE 9 - 11 only 8515 // IE throws on parseFromString with invalid input. 8516 try { 8517 xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" ); 8518 } catch ( e ) {} 8519 8520 parserErrorElem = xml && xml.getElementsByTagName( "parsererror" )[ 0 ]; 8521 if ( !xml || parserErrorElem ) { 8522 jQuery.error( "Invalid XML: " + ( 8523 parserErrorElem ? 8524 jQuery.map( parserErrorElem.childNodes, function( el ) { 8525 return el.textContent; 8526 } ).join( "\n" ) : 8527 data 8528 ) ); 8529 } 8530 return xml; 8531}; 8532 8533 8534var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, 8535 stopPropagationCallback = function( e ) { 8536 e.stopPropagation(); 8537 }; 8538 8539jQuery.extend( jQuery.event, { 8540 8541 trigger: function( event, data, elem, onlyHandlers ) { 8542 8543 var i, cur, tmp, bubbleType, ontype, handle, special, lastElement, 8544 eventPath = [ elem || document ], 8545 type = hasOwn.call( event, "type" ) ? event.type : event, 8546 namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : []; 8547 8548 cur = lastElement = tmp = elem = elem || document; 8549 8550 // Don't do events on text and comment nodes 8551 if ( elem.nodeType === 3 || elem.nodeType === 8 ) { 8552 return; 8553 } 8554 8555 // focus/blur morphs to focusin/out; ensure we're not firing them right now 8556 if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { 8557 return; 8558 } 8559 8560 if ( type.indexOf( "." ) > -1 ) { 8561 8562 // Namespaced trigger; create a regexp to match event type in handle() 8563 namespaces = type.split( "." ); 8564 type = namespaces.shift(); 8565 namespaces.sort(); 8566 }
vendor: 6,524 bytes, lines 8567-8816
8567 ontype = type.indexOf( ":" ) < 0 && "on" + type; 8568 8569 // Caller can pass in a jQuery.Event object, Object, or just an event type string 8570 event = event[ jQuery.expando ] ? 8571 event : 8572 new jQuery.Event( type, typeof event === "object" && event ); 8573 8574 // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true) 8575 event.isTrigger = onlyHandlers ? 2 : 3; 8576 event.namespace = namespaces.join( "." ); 8577 event.rnamespace = event.namespace ? 8578 new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) : 8579 null; 8580 8581 // Clean up the event in case it is being reused 8582 event.result = undefined; 8583 if ( !event.target ) { 8584 event.target = elem; 8585 } 8586 8587 // Clone any incoming data and prepend the event, creating the handler arg list 8588 data = data == null ? 8589 [ event ] : 8590 jQuery.makeArray( data, [ event ] ); 8591 8592 // Allow special events to draw outside the lines 8593 special = jQuery.event.special[ type ] || {}; 8594 if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { 8595 return; 8596 } 8597 8598 // Determine event propagation path in advance, per W3C events spec (trac-9951) 8599 // Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724) 8600 if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) { 8601 8602 bubbleType = special.delegateType || type; 8603 if ( !rfocusMorph.test( bubbleType + type ) ) { 8604 cur = cur.parentNode; 8605 } 8606 for ( ; cur; cur = cur.parentNode ) { 8607 eventPath.push( cur ); 8608 tmp = cur; 8609 } 8610 8611 // Only add window if we got to document (e.g., not plain obj or detached DOM) 8612 if ( tmp === ( elem.ownerDocument || document ) ) { 8613 eventPath.push( tmp.defaultView || tmp.parentWindow || window ); 8614 } 8615 } 8616 8617 // Fire handlers on the event path 8618 i = 0; 8619 while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) { 8620 lastElement = cur; 8621 event.type = i > 1 ? 8622 bubbleType : 8623 special.bindType || type; 8624 8625 // jQuery handler 8626 handle = ( dataPriv.get( cur, "events" ) || Object.create( null ) )[ event.type ] && 8627 dataPriv.get( cur, "handle" ); 8628 if ( handle ) { 8629 handle.apply( cur, data ); 8630 } 8631 8632 // Native handler 8633 handle = ontype && cur[ ontype ]; 8634 if ( handle && handle.apply && acceptData( cur ) ) { 8635 event.result = handle.apply( cur, data ); 8636 if ( event.result === false ) { 8637 event.preventDefault(); 8638 } 8639 } 8640 } 8641 event.type = type; 8642 8643 // If nobody prevented the default action, do it now 8644 if ( !onlyHandlers && !event.isDefaultPrevented() ) { 8645 8646 if ( ( !special._default || 8647 special._default.apply( eventPath.pop(), data ) === false ) && 8648 acceptData( elem ) ) { 8649 8650 // Call a native DOM method on the target with the same name as the event. 8651 // Don't do default actions on window, that's where global variables be (trac-6170) 8652 if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) { 8653 8654 // Don't re-trigger an onFOO event when we call its FOO() method 8655 tmp = elem[ ontype ]; 8656 8657 if ( tmp ) { 8658 elem[ ontype ] = null; 8659 } 8660 8661 // Prevent re-triggering of the same event, since we already bubbled it above 8662 jQuery.event.triggered = type; 8663 8664 if ( event.isPropagationStopped() ) { 8665 lastElement.addEventListener( type, stopPropagationCallback ); 8666 } 8667 8668 elem[ type ](); 8669 8670 if ( event.isPropagationStopped() ) { 8671 lastElement.removeEventListener( type, stopPropagationCallback ); 8672 } 8673 8674 jQuery.event.triggered = undefined; 8675 8676 if ( tmp ) { 8677 elem[ ontype ] = tmp; 8678 } 8679 } 8680 } 8681 } 8682 8683 return event.result; 8684 }, 8685 8686 // Piggyback on a donor event to simulate a different one 8687 // Used only for `focus(in | out)` events 8688 simulate: function( type, elem, event ) { 8689 var e = jQuery.extend( 8690 new jQuery.Event(), 8691 event, 8692 { 8693 type: type, 8694 isSimulated: true 8695 } 8696 ); 8697 8698 jQuery.event.trigger( e, null, elem ); 8699 } 8700 8701} ); 8702 8703jQuery.fn.extend( { 8704 8705 trigger: function( type, data ) { 8706 return this.each( function() { 8707 jQuery.event.trigger( type, data, this ); 8708 } ); 8709 }, 8710 triggerHandler: function( type, data ) { 8711 var elem = this[ 0 ]; 8712 if ( elem ) { 8713 return jQuery.event.trigger( type, data, elem, true ); 8714 } 8715 } 8716} ); 8717 8718 8719var 8720 rbracket = /\[\]$/, 8721 rCRLF = /\r?\n/g, 8722 rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i, 8723 rsubmittable = /^(?:input|select|textarea|keygen)/i; 8724 8725function buildParams( prefix, obj, traditional, add ) { 8726 var name; 8727 8728 if ( Array.isArray( obj ) ) { 8729 8730 // Serialize array item. 8731 jQuery.each( obj, function( i, v ) { 8732 if ( traditional || rbracket.test( prefix ) ) { 8733 8734 // Treat each array item as a scalar. 8735 add( prefix, v ); 8736 8737 } else { 8738 8739 // Item is non-scalar (array or object), encode its numeric index. 8740 buildParams( 8741 prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]", 8742 v, 8743 traditional, 8744 add 8745 ); 8746 } 8747 } ); 8748 8749 } else if ( !traditional && toType( obj ) === "object" ) { 8750 8751 // Serialize object item. 8752 for ( name in obj ) { 8753 buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); 8754 } 8755 8756 } else { 8757 8758 // Serialize scalar item. 8759 add( prefix, obj ); 8760 } 8761} 8762 8763// Serialize an array of form elements or a set of 8764// key/values into a query string 8765jQuery.param = function( a, traditional ) { 8766 var prefix, 8767 s = [], 8768 add = function( key, valueOrFunction ) { 8769 8770 // If value is a function, invoke it and use its return value 8771 var value = isFunction( valueOrFunction ) ? 8772 valueOrFunction() : 8773 valueOrFunction; 8774 8775 s[ s.length ] = encodeURIComponent( key ) + "=" + 8776 encodeURIComponent( value == null ? "" : value ); 8777 }; 8778 8779 if ( a == null ) { 8780 return ""; 8781 } 8782 8783 // If an array was passed in, assume that it is an array of form elements. 8784 if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { 8785 8786 // Serialize the form elements 8787 jQuery.each( a, function() { 8788 add( this.name, this.value ); 8789 } ); 8790 8791 } else { 8792 8793 // If traditional, encode the "old" way (the way 1.3.2 or older 8794 // did it), otherwise encode params recursively. 8795 for ( prefix in a ) { 8796 buildParams( prefix, a[ prefix ], traditional, add ); 8797 } 8798 } 8799 8800 // Return the resulting serialization 8801 return s.join( "&" ); 8802}; 8803 8804jQuery.fn.extend( { 8805 serialize: function() { 8806 return jQuery.param( this.serializeArray() ); 8807 }, 8808 serializeArray: function() { 8809 return this.map( function() { 8810 8811 // Can add propHook for "elements" to filter or add form elements 8812 var elements = jQuery.prop( this, "elements" ); 8813 return elements ? jQuery.makeArray( elements ) : this; 8814 } ).filter( function() { 8815 var type = this.type; 8816
vendor: 32,437 bytes, lines 8817-10070
8817 // Use .is( ":disabled" ) so that fieldset[disabled] works 8818 return this.name && !jQuery( this ).is( ":disabled" ) && 8819 rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) && 8820 ( this.checked || !rcheckableType.test( type ) ); 8821 } ).map( function( _i, elem ) { 8822 var val = jQuery( this ).val(); 8823 8824 if ( val == null ) { 8825 return null; 8826 } 8827 8828 if ( Array.isArray( val ) ) { 8829 return jQuery.map( val, function( val ) { 8830 return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; 8831 } ); 8832 } 8833 8834 return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; 8835 } ).get(); 8836 } 8837} ); 8838 8839 8840var 8841 r20 = /%20/g, 8842 rhash = /#.*$/, 8843 rantiCache = /([?&])_=[^&]*/, 8844 rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg, 8845 8846 // trac-7653, trac-8125, trac-8152: local protocol detection 8847 rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/, 8848 rnoContent = /^(?:GET|HEAD)$/, 8849 rprotocol = /^\/\//, 8850 8851 /* Prefilters 8852 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) 8853 * 2) These are called: 8854 * - BEFORE asking for a transport 8855 * - AFTER param serialization (s.data is a string if s.processData is true) 8856 * 3) key is the dataType 8857 * 4) the catchall symbol "*" can be used 8858 * 5) execution will start with transport dataType and THEN continue down to "*" if needed 8859 */ 8860 prefilters = {}, 8861 8862 /* Transports bindings 8863 * 1) key is the dataType 8864 * 2) the catchall symbol "*" can be used 8865 * 3) selection will start with transport dataType and THEN go to "*" if needed 8866 */ 8867 transports = {}, 8868 8869 // Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression 8870 allTypes = "*/".concat( "*" ), 8871 8872 // Anchor tag for parsing the document origin 8873 originAnchor = document.createElement( "a" ); 8874 8875originAnchor.href = location.href; 8876 8877// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport 8878function addToPrefiltersOrTransports( structure ) { 8879 8880 // dataTypeExpression is optional and defaults to "*" 8881 return function( dataTypeExpression, func ) { 8882 8883 if ( typeof dataTypeExpression !== "string" ) { 8884 func = dataTypeExpression; 8885 dataTypeExpression = "*"; 8886 } 8887 8888 var dataType, 8889 i = 0, 8890 dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || []; 8891 8892 if ( isFunction( func ) ) { 8893 8894 // For each dataType in the dataTypeExpression 8895 while ( ( dataType = dataTypes[ i++ ] ) ) { 8896 8897 // Prepend if requested 8898 if ( dataType[ 0 ] === "+" ) { 8899 dataType = dataType.slice( 1 ) || "*"; 8900 ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func ); 8901 8902 // Otherwise append 8903 } else { 8904 ( structure[ dataType ] = structure[ dataType ] || [] ).push( func ); 8905 } 8906 } 8907 } 8908 }; 8909} 8910 8911// Base inspection function for prefilters and transports 8912function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) { 8913 8914 var inspected = {}, 8915 seekingTransport = ( structure === transports ); 8916 8917 function inspect( dataType ) { 8918 var selected; 8919 inspected[ dataType ] = true; 8920 jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) { 8921 var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR ); 8922 if ( typeof dataTypeOrTransport === "string" && 8923 !seekingTransport && !inspected[ dataTypeOrTransport ] ) { 8924 8925 options.dataTypes.unshift( dataTypeOrTransport ); 8926 inspect( dataTypeOrTransport ); 8927 return false; 8928 } else if ( seekingTransport ) { 8929 return !( selected = dataTypeOrTransport ); 8930 } 8931 } ); 8932 return selected; 8933 } 8934 8935 return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" ); 8936} 8937 8938// A special extend for ajax options 8939// that takes "flat" options (not to be deep extended) 8940// Fixes trac-9887 8941function ajaxExtend( target, src ) { 8942 var key, deep, 8943 flatOptions = jQuery.ajaxSettings.flatOptions || {}; 8944 8945 for ( key in src ) { 8946 if ( src[ key ] !== undefined ) { 8947 ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; 8948 } 8949 } 8950 if ( deep ) { 8951 jQuery.extend( true, target, deep ); 8952 } 8953 8954 return target; 8955} 8956 8957/* Handles responses to an ajax request: 8958 * - finds the right dataType (mediates between content-type and expected dataType) 8959 * - returns the corresponding response 8960 */ 8961function ajaxHandleResponses( s, jqXHR, responses ) { 8962 8963 var ct, type, finalDataType, firstDataType, 8964 contents = s.contents, 8965 dataTypes = s.dataTypes; 8966 8967 // Remove auto dataType and get content-type in the process 8968 while ( dataTypes[ 0 ] === "*" ) { 8969 dataTypes.shift(); 8970 if ( ct === undefined ) { 8971 ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" ); 8972 } 8973 } 8974 8975 // Check if we're dealing with a known content-type 8976 if ( ct ) { 8977 for ( type in contents ) { 8978 if ( contents[ type ] && contents[ type ].test( ct ) ) { 8979 dataTypes.unshift( type ); 8980 break; 8981 } 8982 } 8983 } 8984 8985 // Check to see if we have a response for the expected dataType 8986 if ( dataTypes[ 0 ] in responses ) { 8987 finalDataType = dataTypes[ 0 ]; 8988 } else { 8989 8990 // Try convertible dataTypes 8991 for ( type in responses ) { 8992 if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) { 8993 finalDataType = type; 8994 break; 8995 } 8996 if ( !firstDataType ) { 8997 firstDataType = type; 8998 } 8999 } 9000 9001 // Or just use first one 9002 finalDataType = finalDataType || firstDataType; 9003 } 9004 9005 // If we found a dataType 9006 // We add the dataType to the list if needed 9007 // and return the corresponding response 9008 if ( finalDataType ) { 9009 if ( finalDataType !== dataTypes[ 0 ] ) { 9010 dataTypes.unshift( finalDataType ); 9011 } 9012 return responses[ finalDataType ]; 9013 } 9014} 9015 9016/* Chain conversions given the request and the original response 9017 * Also sets the responseXXX fields on the jqXHR instance 9018 */ 9019function ajaxConvert( s, response, jqXHR, isSuccess ) { 9020 var conv2, current, conv, tmp, prev, 9021 converters = {}, 9022 9023 // Work with a copy of dataTypes in case we need to modify it for conversion 9024 dataTypes = s.dataTypes.slice(); 9025 9026 // Create converters map with lowercased keys 9027 if ( dataTypes[ 1 ] ) { 9028 for ( conv in s.converters ) { 9029 converters[ conv.toLowerCase() ] = s.converters[ conv ]; 9030 } 9031 } 9032 9033 current = dataTypes.shift(); 9034 9035 // Convert to each sequential dataType 9036 while ( current ) { 9037 9038 if ( s.responseFields[ current ] ) { 9039 jqXHR[ s.responseFields[ current ] ] = response; 9040 } 9041 9042 // Apply the dataFilter if provided 9043 if ( !prev && isSuccess && s.dataFilter ) { 9044 response = s.dataFilter( response, s.dataType ); 9045 } 9046 9047 prev = current; 9048 current = dataTypes.shift(); 9049 9050 if ( current ) { 9051 9052 // There's only work to do if current dataType is non-auto 9053 if ( current === "*" ) { 9054 9055 current = prev; 9056 9057 // Convert response if prev dataType is non-auto and differs from current 9058 } else if ( prev !== "*" && prev !== current ) { 9059 9060 // Seek a direct converter 9061 conv = converters[ prev + " " + current ] || converters[ "* " + current ]; 9062 9063 // If none found, seek a pair 9064 if ( !conv ) { 9065 for ( conv2 in converters ) { 9066 9067 // If conv2 outputs current 9068 tmp = conv2.split( " " ); 9069 if ( tmp[ 1 ] === current ) { 9070 9071 // If prev can be converted to accepted input 9072 conv = converters[ prev + " " + tmp[ 0 ] ] || 9073 converters[ "* " + tmp[ 0 ] ]; 9074 if ( conv ) { 9075 9076 // Condense equivalence converters 9077 if ( conv === true ) { 9078 conv = converters[ conv2 ]; 9079 9080 // Otherwise, insert the intermediate dataType 9081 } else if ( converters[ conv2 ] !== true ) { 9082 current = tmp[ 0 ]; 9083 dataTypes.unshift( tmp[ 1 ] ); 9084 } 9085 break; 9086 } 9087 } 9088 } 9089 } 9090 9091 // Apply converter (if not an equivalence) 9092 if ( conv !== true ) { 9093 9094 // Unless errors are allowed to bubble, catch and return them 9095 if ( conv && s.throws ) { 9096 response = conv( response ); 9097 } else { 9098 try { 9099 response = conv( response ); 9100 } catch ( e ) { 9101 return { 9102 state: "parsererror", 9103 error: conv ? e : "No conversion from " + prev + " to " + current 9104 }; 9105 } 9106 } 9107 } 9108 } 9109 } 9110 } 9111 9112 return { state: "success", data: response }; 9113} 9114 9115jQuery.extend( { 9116 9117 // Counter for holding the number of active queries 9118 active: 0, 9119 9120 // Last-Modified header cache for next request 9121 lastModified: {}, 9122 etag: {}, 9123 9124 ajaxSettings: { 9125 url: location.href, 9126 type: "GET", 9127 isLocal: rlocalProtocol.test( location.protocol ), 9128 global: true, 9129 processData: true, 9130 async: true, 9131 contentType: "application/x-www-form-urlencoded; charset=UTF-8", 9132 9133 /* 9134 timeout: 0, 9135 data: null, 9136 dataType: null, 9137 username: null, 9138 password: null, 9139 cache: null, 9140 throws: false, 9141 traditional: false, 9142 headers: {}, 9143 */ 9144 9145 accepts: { 9146 "*": allTypes, 9147 text: "text/plain", 9148 html: "text/html", 9149 xml: "application/xml, text/xml", 9150 json: "application/json, text/javascript" 9151 }, 9152 9153 contents: { 9154 xml: /\bxml\b/, 9155 html: /\bhtml/, 9156 json: /\bjson\b/ 9157 }, 9158 9159 responseFields: { 9160 xml: "responseXML", 9161 text: "responseText", 9162 json: "responseJSON" 9163 }, 9164 9165 // Data converters 9166 // Keys separate source (or catchall "*") and destination types with a single space 9167 converters: { 9168 9169 // Convert anything to text 9170 "* text": String, 9171 9172 // Text to html (true = no transformation) 9173 "text html": true, 9174 9175 // Evaluate text as a json expression 9176 "text json": JSON.parse, 9177 9178 // Parse text as xml 9179 "text xml": jQuery.parseXML 9180 }, 9181 9182 // For options that shouldn't be deep extended: 9183 // you can add your own custom options here if 9184 // and when you create one that shouldn't be 9185 // deep extended (see ajaxExtend) 9186 flatOptions: { 9187 url: true, 9188 context: true 9189 } 9190 }, 9191 9192 // Creates a full fledged settings object into target 9193 // with both ajaxSettings and settings fields. 9194 // If target is omitted, writes into ajaxSettings. 9195 ajaxSetup: function( target, settings ) { 9196 return settings ? 9197 9198 // Building a settings object 9199 ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) : 9200 9201 // Extending ajaxSettings 9202 ajaxExtend( jQuery.ajaxSettings, target ); 9203 }, 9204 9205 ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), 9206 ajaxTransport: addToPrefiltersOrTransports( transports ), 9207 9208 // Main method 9209 ajax: function( url, options ) { 9210 9211 // If url is an object, simulate pre-1.5 signature 9212 if ( typeof url === "object" ) { 9213 options = url; 9214 url = undefined; 9215 } 9216 9217 // Force options to be an object 9218 options = options || {}; 9219 9220 var transport, 9221 9222 // URL without anti-cache param 9223 cacheURL, 9224 9225 // Response headers 9226 responseHeadersString, 9227 responseHeaders, 9228 9229 // timeout handle 9230 timeoutTimer, 9231 9232 // Url cleanup var 9233 urlAnchor, 9234 9235 // Request state (becomes false upon send and true upon completion) 9236 completed, 9237 9238 // To know if global events are to be dispatched 9239 fireGlobals, 9240 9241 // Loop variable 9242 i, 9243 9244 // uncached part of the url 9245 uncached, 9246 9247 // Create the final options object 9248 s = jQuery.ajaxSetup( {}, options ), 9249 9250 // Callbacks context 9251 callbackContext = s.context || s, 9252 9253 // Context for global events is callbackContext if it is a DOM node or jQuery collection 9254 globalEventContext = s.context && 9255 ( callbackContext.nodeType || callbackContext.jquery ) ? 9256 jQuery( callbackContext ) : 9257 jQuery.event, 9258 9259 // Deferreds 9260 deferred = jQuery.Deferred(), 9261 completeDeferred = jQuery.Callbacks( "once memory" ), 9262 9263 // Status-dependent callbacks 9264 statusCode = s.statusCode || {}, 9265 9266 // Headers (they are sent all at once) 9267 requestHeaders = {}, 9268 requestHeadersNames = {}, 9269 9270 // Default abort message 9271 strAbort = "canceled", 9272 9273 // Fake xhr 9274 jqXHR = { 9275 readyState: 0, 9276 9277 // Builds headers hashtable if needed 9278 getResponseHeader: function( key ) { 9279 var match; 9280 if ( completed ) { 9281 if ( !responseHeaders ) { 9282 responseHeaders = {}; 9283 while ( ( match = rheaders.exec( responseHeadersString ) ) ) { 9284 responseHeaders[ match[ 1 ].toLowerCase() + " " ] = 9285 ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] ) 9286 .concat( match[ 2 ] ); 9287 } 9288 } 9289 match = responseHeaders[ key.toLowerCase() + " " ]; 9290 } 9291 return match == null ? null : match.join( ", " ); 9292 }, 9293 9294 // Raw string 9295 getAllResponseHeaders: function() { 9296 return completed ? responseHeadersString : null; 9297 }, 9298 9299 // Caches the header 9300 setRequestHeader: function( name, value ) { 9301 if ( completed == null ) { 9302 name = requestHeadersNames[ name.toLowerCase() ] = 9303 requestHeadersNames[ name.toLowerCase() ] || name; 9304 requestHeaders[ name ] = value; 9305 } 9306 return this; 9307 }, 9308 9309 // Overrides response content-type header 9310 overrideMimeType: function( type ) { 9311 if ( completed == null ) { 9312 s.mimeType = type; 9313 } 9314 return this; 9315 }, 9316 9317 // Status-dependent callbacks 9318 statusCode: function( map ) { 9319 var code; 9320 if ( map ) { 9321 if ( completed ) { 9322 9323 // Execute the appropriate callbacks 9324 jqXHR.always( map[ jqXHR.status ] ); 9325 } else { 9326 9327 // Lazy-add the new callbacks in a way that preserves old ones 9328 for ( code in map ) { 9329 statusCode[ code ] = [ statusCode[ code ], map[ code ] ]; 9330 } 9331 } 9332 } 9333 return this; 9334 }, 9335 9336 // Cancel the request 9337 abort: function( statusText ) { 9338 var finalText = statusText || strAbort; 9339 if ( transport ) { 9340 transport.abort( finalText ); 9341 } 9342 done( 0, finalText ); 9343 return this; 9344 } 9345 }; 9346 9347 // Attach deferreds 9348 deferred.promise( jqXHR ); 9349 9350 // Add protocol if not provided (prefilters might expect it) 9351 // Handle falsy url in the settings object (trac-10093: consistency with old signature) 9352 // We also use the url parameter if available 9353 s.url = ( ( url || s.url || location.href ) + "" ) 9354 .replace( rprotocol, location.protocol + "//" ); 9355 9356 // Alias method option to type as per ticket trac-12004 9357 s.type = options.method || options.type || s.method || s.type; 9358 9359 // Extract dataTypes list 9360 s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ]; 9361 9362 // A cross-domain request is in order when the origin doesn't match the current origin. 9363 if ( s.crossDomain == null ) { 9364 urlAnchor = document.createElement( "a" ); 9365 9366 // Support: IE <=8 - 11, Edge 12 - 15 9367 // IE throws exception on accessing the href property if url is malformed, 9368 // e.g. http://example.com:80x/ 9369 try { 9370 urlAnchor.href = s.url; 9371 9372 // Support: IE <=8 - 11 only 9373 // Anchor's host property isn't correctly set when s.url is relative 9374 urlAnchor.href = urlAnchor.href; 9375 s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !== 9376 urlAnchor.protocol + "//" + urlAnchor.host; 9377 } catch ( e ) { 9378 9379 // If there is an error parsing the URL, assume it is crossDomain, 9380 // it can be rejected by the transport if it is invalid 9381 s.crossDomain = true; 9382 } 9383 } 9384 9385 // Convert data if not already a string 9386 if ( s.data && s.processData && typeof s.data !== "string" ) { 9387 s.data = jQuery.param( s.data, s.traditional ); 9388 } 9389 9390 // Apply prefilters 9391 inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); 9392 9393 // If request was aborted inside a prefilter, stop there 9394 if ( completed ) { 9395 return jqXHR; 9396 } 9397 9398 // We can fire global events as of now if asked to 9399 // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118) 9400 fireGlobals = jQuery.event && s.global; 9401 9402 // Watch for a new set of requests 9403 if ( fireGlobals && jQuery.active++ === 0 ) { 9404 jQuery.event.trigger( "ajaxStart" ); 9405 } 9406 9407 // Uppercase the type 9408 s.type = s.type.toUpperCase(); 9409 9410 // Determine if request has content 9411 s.hasContent = !rnoContent.test( s.type ); 9412 9413 // Save the URL in case we're toying with the If-Modified-Since 9414 // and/or If-None-Match header later on 9415 // Remove hash to simplify url manipulation 9416 cacheURL = s.url.replace( rhash, "" ); 9417 9418 // More options handling for requests with no content 9419 if ( !s.hasContent ) { 9420 9421 // Remember the hash so we can put it back 9422 uncached = s.url.slice( cacheURL.length ); 9423 9424 // If data is available and should be processed, append data to url 9425 if ( s.data && ( s.processData || typeof s.data === "string" ) ) { 9426 cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data; 9427 9428 // trac-9682: remove data so that it's not used in an eventual retry 9429 delete s.data; 9430 } 9431 9432 // Add or update anti-cache param if needed 9433 if ( s.cache === false ) { 9434 cacheURL = cacheURL.replace( rantiCache, "$1" ); 9435 uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) + 9436 uncached; 9437 } 9438 9439 // Put hash and anti-cache on the URL that will be requested (gh-1732) 9440 s.url = cacheURL + uncached; 9441 9442 // Change '%20' to '+' if this is encoded form body content (gh-2658) 9443 } else if ( s.data && s.processData && 9444 ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) { 9445 s.data = s.data.replace( r20, "+" ); 9446 } 9447 9448 // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. 9449 if ( s.ifModified ) { 9450 if ( jQuery.lastModified[ cacheURL ] ) { 9451 jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] ); 9452 } 9453 if ( jQuery.etag[ cacheURL ] ) { 9454 jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] ); 9455 } 9456 } 9457 9458 // Set the correct header, if data is being sent 9459 if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { 9460 jqXHR.setRequestHeader( "Content-Type", s.contentType ); 9461 } 9462 9463 // Set the Accepts header for the server, depending on the dataType 9464 jqXHR.setRequestHeader( 9465 "Accept", 9466 s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ? 9467 s.accepts[ s.dataTypes[ 0 ] ] + 9468 ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : 9469 s.accepts[ "*" ] 9470 ); 9471 9472 // Check for headers option 9473 for ( i in s.headers ) { 9474 jqXHR.setRequestHeader( i, s.headers[ i ] ); 9475 } 9476 9477 // Allow custom headers/mimetypes and early abort 9478 if ( s.beforeSend && 9479 ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) { 9480 9481 // Abort if not done already and return 9482 return jqXHR.abort(); 9483 } 9484 9485 // Aborting is no longer a cancellation 9486 strAbort = "abort"; 9487 9488 // Install callbacks on deferreds 9489 completeDeferred.add( s.complete ); 9490 jqXHR.done( s.success ); 9491 jqXHR.fail( s.error ); 9492 9493 // Get transport 9494 transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); 9495 9496 // If no transport, we auto-abort 9497 if ( !transport ) { 9498 done( -1, "No Transport" ); 9499 } else { 9500 jqXHR.readyState = 1; 9501 9502 // Send global event 9503 if ( fireGlobals ) { 9504 globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); 9505 } 9506 9507 // If request was aborted inside ajaxSend, stop there 9508 if ( completed ) { 9509 return jqXHR; 9510 } 9511 9512 // Timeout 9513 if ( s.async && s.timeout > 0 ) { 9514 timeoutTimer = window.setTimeout( function() { 9515 jqXHR.abort( "timeout" ); 9516 }, s.timeout ); 9517 } 9518 9519 try { 9520 completed = false; 9521 transport.send( requestHeaders, done ); 9522 } catch ( e ) { 9523 9524 // Rethrow post-completion exceptions 9525 if ( completed ) { 9526 throw e; 9527 } 9528 9529 // Propagate others as results 9530 done( -1, e ); 9531 } 9532 } 9533 9534 // Callback for when everything is done 9535 function done( status, nativeStatusText, responses, headers ) { 9536 var isSuccess, success, error, response, modified, 9537 statusText = nativeStatusText; 9538 9539 // Ignore repeat invocations 9540 if ( completed ) { 9541 return; 9542 } 9543 9544 completed = true; 9545 9546 // Clear timeout if it exists 9547 if ( timeoutTimer ) { 9548 window.clearTimeout( timeoutTimer ); 9549 } 9550 9551 // Dereference transport for early garbage collection 9552 // (no matter how long the jqXHR object will be used) 9553 transport = undefined; 9554 9555 // Cache response headers 9556 responseHeadersString = headers || ""; 9557 9558 // Set readyState 9559 jqXHR.readyState = status > 0 ? 4 : 0; 9560 9561 // Determine if successful 9562 isSuccess = status >= 200 && status < 300 || status === 304; 9563 9564 // Get response data 9565 if ( responses ) { 9566 response = ajaxHandleResponses( s, jqXHR, responses ); 9567 } 9568 9569 // Use a noop converter for missing script but not if jsonp 9570 if ( !isSuccess && 9571 jQuery.inArray( "script", s.dataTypes ) > -1 && 9572 jQuery.inArray( "json", s.dataTypes ) < 0 ) { 9573 s.converters[ "text script" ] = function() {}; 9574 } 9575 9576 // Convert no matter what (that way responseXXX fields are always set) 9577 response = ajaxConvert( s, response, jqXHR, isSuccess ); 9578 9579 // If successful, handle type chaining 9580 if ( isSuccess ) { 9581 9582 // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. 9583 if ( s.ifModified ) { 9584 modified = jqXHR.getResponseHeader( "Last-Modified" ); 9585 if ( modified ) { 9586 jQuery.lastModified[ cacheURL ] = modified; 9587 } 9588 modified = jqXHR.getResponseHeader( "etag" ); 9589 if ( modified ) { 9590 jQuery.etag[ cacheURL ] = modified; 9591 } 9592 } 9593 9594 // if no content 9595 if ( status === 204 || s.type === "HEAD" ) { 9596 statusText = "nocontent"; 9597 9598 // if not modified 9599 } else if ( status === 304 ) { 9600 statusText = "notmodified"; 9601 9602 // If we have data, let's convert it 9603 } else { 9604 statusText = response.state; 9605 success = response.data; 9606 error = response.error; 9607 isSuccess = !error; 9608 } 9609 } else { 9610 9611 // Extract error from statusText and normalize for non-aborts 9612 error = statusText; 9613 if ( status || !statusText ) { 9614 statusText = "error"; 9615 if ( status < 0 ) { 9616 status = 0; 9617 } 9618 } 9619 } 9620 9621 // Set data for the fake xhr object 9622 jqXHR.status = status; 9623 jqXHR.statusText = ( nativeStatusText || statusText ) + ""; 9624 9625 // Success/Error 9626 if ( isSuccess ) { 9627 deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); 9628 } else { 9629 deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); 9630 } 9631 9632 // Status-dependent callbacks 9633 jqXHR.statusCode( statusCode ); 9634 statusCode = undefined; 9635 9636 if ( fireGlobals ) { 9637 globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError", 9638 [ jqXHR, s, isSuccess ? success : error ] ); 9639 } 9640 9641 // Complete 9642 completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); 9643 9644 if ( fireGlobals ) { 9645 globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); 9646 9647 // Handle the global AJAX counter 9648 if ( !( --jQuery.active ) ) { 9649 jQuery.event.trigger( "ajaxStop" ); 9650 } 9651 } 9652 } 9653 9654 return jqXHR; 9655 }, 9656 9657 getJSON: function( url, data, callback ) { 9658 return jQuery.get( url, data, callback, "json" ); 9659 }, 9660 9661 getScript: function( url, callback ) { 9662 return jQuery.get( url, undefined, callback, "script" ); 9663 } 9664} ); 9665 9666jQuery.each( [ "get", "post" ], function( _i, method ) { 9667 jQuery[ method ] = function( url, data, callback, type ) { 9668 9669 // Shift arguments if data argument was omitted 9670 if ( isFunction( data ) ) { 9671 type = type || callback; 9672 callback = data; 9673 data = undefined; 9674 } 9675 9676 // The url can be an options object (which then must have .url) 9677 return jQuery.ajax( jQuery.extend( { 9678 url: url, 9679 type: method, 9680 dataType: type, 9681 data: data, 9682 success: callback 9683 }, jQuery.isPlainObject( url ) && url ) ); 9684 }; 9685} ); 9686 9687jQuery.ajaxPrefilter( function( s ) { 9688 var i; 9689 for ( i in s.headers ) { 9690 if ( i.toLowerCase() === "content-type" ) { 9691 s.contentType = s.headers[ i ] || ""; 9692 } 9693 } 9694} ); 9695 9696 9697jQuery._evalUrl = function( url, options, doc ) { 9698 return jQuery.ajax( { 9699 url: url, 9700 9701 // Make this explicit, since user can override this through ajaxSetup (trac-11264) 9702 type: "GET", 9703 dataType: "script", 9704 cache: true, 9705 async: false, 9706 global: false, 9707 9708 // Only evaluate the response if it is successful (gh-4126) 9709 // dataFilter is not invoked for failure responses, so using it instead 9710 // of the default converter is kludgy but it works. 9711 converters: { 9712 "text script": function() {} 9713 }, 9714 dataFilter: function( response ) { 9715 jQuery.globalEval( response, options, doc ); 9716 } 9717 } ); 9718}; 9719 9720 9721jQuery.fn.extend( { 9722 wrapAll: function( html ) { 9723 var wrap; 9724 9725 if ( this[ 0 ] ) { 9726 if ( isFunction( html ) ) { 9727 html = html.call( this[ 0 ] ); 9728 } 9729 9730 // The elements to wrap the target around 9731 wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true ); 9732 9733 if ( this[ 0 ].parentNode ) { 9734 wrap.insertBefore( this[ 0 ] ); 9735 } 9736 9737 wrap.map( function() { 9738 var elem = this; 9739 9740 while ( elem.firstElementChild ) { 9741 elem = elem.firstElementChild; 9742 } 9743 9744 return elem; 9745 } ).append( this ); 9746 } 9747 9748 return this; 9749 }, 9750 9751 wrapInner: function( html ) { 9752 if ( isFunction( html ) ) { 9753 return this.each( function( i ) { 9754 jQuery( this ).wrapInner( html.call( this, i ) ); 9755 } ); 9756 } 9757 9758 return this.each( function() { 9759 var self = jQuery( this ), 9760 contents = self.contents(); 9761 9762 if ( contents.length ) { 9763 contents.wrapAll( html ); 9764 9765 } else { 9766 self.append( html ); 9767 } 9768 } ); 9769 }, 9770 9771 wrap: function( html ) { 9772 var htmlIsFunction = isFunction( html ); 9773 9774 return this.each( function( i ) { 9775 jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html ); 9776 } ); 9777 }, 9778 9779 unwrap: function( selector ) { 9780 this.parent( selector ).not( "body" ).each( function() { 9781 jQuery( this ).replaceWith( this.childNodes ); 9782 } ); 9783 return this; 9784 } 9785} ); 9786 9787 9788jQuery.expr.pseudos.hidden = function( elem ) { 9789 return !jQuery.expr.pseudos.visible( elem ); 9790}; 9791jQuery.expr.pseudos.visible = function( elem ) { 9792 return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length ); 9793}; 9794 9795 9796 9797 9798jQuery.ajaxSettings.xhr = function() { 9799 try { 9800 return new window.XMLHttpRequest(); 9801 } catch ( e ) {} 9802}; 9803 9804var xhrSuccessStatus = { 9805 9806 // File protocol always yields status code 0, assume 200 9807 0: 200, 9808 9809 // Support: IE <=9 only 9810 // trac-1450: sometimes IE returns 1223 when it should be 204 9811 1223: 204 9812 }, 9813 xhrSupported = jQuery.ajaxSettings.xhr(); 9814 9815support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported ); 9816support.ajax = xhrSupported = !!xhrSupported; 9817 9818jQuery.ajaxTransport( function( options ) { 9819 var callback, errorCallback; 9820 9821 // Cross domain only allowed if supported through XMLHttpRequest 9822 if ( support.cors || xhrSupported && !options.crossDomain ) { 9823 return { 9824 send: function( headers, complete ) { 9825 var i, 9826 xhr = options.xhr(); 9827 9828 xhr.open( 9829 options.type, 9830 options.url, 9831 options.async, 9832 options.username, 9833 options.password 9834 ); 9835 9836 // Apply custom fields if provided 9837 if ( options.xhrFields ) { 9838 for ( i in options.xhrFields ) { 9839 xhr[ i ] = options.xhrFields[ i ]; 9840 } 9841 } 9842 9843 // Override mime type if needed 9844 if ( options.mimeType && xhr.overrideMimeType ) { 9845 xhr.overrideMimeType( options.mimeType ); 9846 } 9847 9848 // X-Requested-With header 9849 // For cross-domain requests, seeing as conditions for a preflight are 9850 // akin to a jigsaw puzzle, we simply never set it to be sure. 9851 // (it can always be set on a per-request basis or even using ajaxSetup) 9852 // For same-domain requests, won't change header if already provided. 9853 if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) { 9854 headers[ "X-Requested-With" ] = "XMLHttpRequest"; 9855 } 9856 9857 // Set headers 9858 for ( i in headers ) { 9859 xhr.setRequestHeader( i, headers[ i ] ); 9860 } 9861 9862 // Callback 9863 callback = function( type ) { 9864 return function() { 9865 if ( callback ) { 9866 callback = errorCallback = xhr.onload = 9867 xhr.onerror = xhr.onabort = xhr.ontimeout = 9868 xhr.onreadystatechange = null; 9869 9870 if ( type === "abort" ) { 9871 xhr.abort(); 9872 } else if ( type === "error" ) { 9873 9874 // Support: IE <=9 only 9875 // On a manual native abort, IE9 throws 9876 // errors on any property access that is not readyState 9877 if ( typeof xhr.status !== "number" ) { 9878 complete( 0, "error" ); 9879 } else { 9880 complete( 9881 9882 // File: protocol always yields status 0; see trac-8605, trac-14207 9883 xhr.status, 9884 xhr.statusText 9885 ); 9886 } 9887 } else { 9888 complete( 9889 xhrSuccessStatus[ xhr.status ] || xhr.status, 9890 xhr.statusText, 9891 9892 // Support: IE <=9 only 9893 // IE9 has no XHR2 but throws on binary (trac-11426) 9894 // For XHR2 non-text, let the caller handle it (gh-2498) 9895 ( xhr.responseType || "text" ) !== "text" || 9896 typeof xhr.responseText !== "string" ? 9897 { binary: xhr.response } : 9898 { text: xhr.responseText }, 9899 xhr.getAllResponseHeaders() 9900 ); 9901 } 9902 } 9903 }; 9904 }; 9905 9906 // Listen to events 9907 xhr.onload = callback(); 9908 errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" ); 9909 9910 // Support: IE 9 only 9911 // Use onreadystatechange to replace onabort 9912 // to handle uncaught aborts 9913 if ( xhr.onabort !== undefined ) { 9914 xhr.onabort = errorCallback; 9915 } else { 9916 xhr.onreadystatechange = function() { 9917 9918 // Check readyState before timeout as it changes 9919 if ( xhr.readyState === 4 ) { 9920 9921 // Allow onerror to be called first, 9922 // but that will not handle a native abort 9923 // Also, save errorCallback to a variable 9924 // as xhr.onerror cannot be accessed 9925 window.setTimeout( function() { 9926 if ( callback ) { 9927 errorCallback(); 9928 } 9929 } ); 9930 } 9931 }; 9932 } 9933 9934 // Create the abort callback 9935 callback = callback( "abort" ); 9936 9937 try { 9938 9939 // Do send the request (this may raise an exception) 9940 xhr.send( options.hasContent && options.data || null ); 9941 } catch ( e ) { 9942 9943 // trac-14683: Only rethrow if this hasn't been notified as an error yet 9944 if ( callback ) { 9945 throw e; 9946 } 9947 } 9948 }, 9949 9950 abort: function() { 9951 if ( callback ) { 9952 callback(); 9953 } 9954 } 9955 }; 9956 } 9957} ); 9958 9959 9960 9961 9962// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432) 9963jQuery.ajaxPrefilter( function( s ) { 9964 if ( s.crossDomain ) { 9965 s.contents.script = false; 9966 } 9967} ); 9968 9969// Install script dataType 9970jQuery.ajaxSetup( { 9971 accepts: { 9972 script: "text/javascript, application/javascript, " + 9973 "application/ecmascript, application/x-ecmascript" 9974 }, 9975 contents: { 9976 script: /\b(?:java|ecma)script\b/ 9977 }, 9978 converters: { 9979 "text script": function( text ) { 9980 jQuery.globalEval( text ); 9981 return text; 9982 } 9983 } 9984} ); 9985 9986// Handle cache's special case and crossDomain 9987jQuery.ajaxPrefilter( "script", function( s ) { 9988 if ( s.cache === undefined ) { 9989 s.cache = false; 9990 } 9991 if ( s.crossDomain ) { 9992 s.type = "GET"; 9993 } 9994} ); 9995 9996// Bind script tag hack transport 9997jQuery.ajaxTransport( "script", function( s ) { 9998 9999 // This transport only deals with cross domain or forced-by-attrs requests 10000 if ( s.crossDomain || s.scriptAttrs ) { 10001 var script, callback; 10002 return { 10003 send: function( _, complete ) { 10004 script = jQuery( "<script>" ) 10005 .attr( s.scriptAttrs || {} ) 10006 .prop( { charset: s.scriptCharset, src: s.url } ) 10007 .on( "load error", callback = function( evt ) { 10008 script.remove(); 10009 callback = null; 10010 if ( evt ) { 10011 complete( evt.type === "error" ? 404 : 200, evt.type ); 10012 } 10013 } ); 10014 10015 // Use native DOM manipulation to avoid our domManip AJAX trickery 10016 document.head.appendChild( script[ 0 ] ); 10017 }, 10018 abort: function() { 10019 if ( callback ) { 10020 callback(); 10021 } 10022 } 10023 }; 10024 } 10025} ); 10026 10027 10028 10029 10030var oldCallbacks = [], 10031 rjsonp = /(=)\?(?=&|$)|\?\?/; 10032 10033// Default jsonp settings 10034jQuery.ajaxSetup( { 10035 jsonp: "callback", 10036 jsonpCallback: function() { 10037 var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce.guid++ ) ); 10038 this[ callback ] = true; 10039 return callback; 10040 } 10041} ); 10042 10043// Detect, normalize options and install callbacks for jsonp requests 10044jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { 10045 10046 var callbackName, overwritten, responseContainer, 10047 jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ? 10048 "url" : 10049 typeof s.data === "string" && 10050 ( s.contentType || "" ) 10051 .indexOf( "application/x-www-form-urlencoded" ) === 0 && 10052 rjsonp.test( s.data ) && "data" 10053 ); 10054 10055 // Handle iff the expected data type is "jsonp" or we have a parameter to set 10056 if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) { 10057 10058 // Get callback name, remembering preexisting value associated with it 10059 callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ? 10060 s.jsonpCallback() : 10061 s.jsonpCallback; 10062 10063 // Insert callback into url or form data 10064 if ( jsonProp ) { 10065 s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName ); 10066 } else if ( s.jsonp !== false ) { 10067 s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; 10068 } 10069 10070 // Use data converter to retrieve json after script execution
vendor: 8,362 bytes, lines 10071-10382
10071 s.converters[ "script json" ] = function() { 10072 if ( !responseContainer ) { 10073 jQuery.error( callbackName + " was not called" ); 10074 } 10075 return responseContainer[ 0 ]; 10076 }; 10077 10078 // Force json dataType 10079 s.dataTypes[ 0 ] = "json"; 10080 10081 // Install callback 10082 overwritten = window[ callbackName ]; 10083 window[ callbackName ] = function() { 10084 responseContainer = arguments; 10085 }; 10086 10087 // Clean-up function (fires after converters) 10088 jqXHR.always( function() { 10089 10090 // If previous value didn't exist - remove it 10091 if ( overwritten === undefined ) { 10092 jQuery( window ).removeProp( callbackName ); 10093 10094 // Otherwise restore preexisting value 10095 } else { 10096 window[ callbackName ] = overwritten; 10097 } 10098 10099 // Save back as free 10100 if ( s[ callbackName ] ) { 10101 10102 // Make sure that re-using the options doesn't screw things around 10103 s.jsonpCallback = originalSettings.jsonpCallback; 10104 10105 // Save the callback name for future use 10106 oldCallbacks.push( callbackName ); 10107 } 10108 10109 // Call if it was a function and we have a response 10110 if ( responseContainer && isFunction( overwritten ) ) { 10111 overwritten( responseContainer[ 0 ] ); 10112 } 10113 10114 responseContainer = overwritten = undefined; 10115 } ); 10116 10117 // Delegate to script 10118 return "script"; 10119 } 10120} ); 10121 10122 10123 10124 10125// Support: Safari 8 only 10126// In Safari 8 documents created via document.implementation.createHTMLDocument 10127// collapse sibling forms: the second one becomes a child of the first one. 10128// Because of that, this security measure has to be disabled in Safari 8. 10129// https://bugs.webkit.org/show_bug.cgi?id=137337 10130support.createHTMLDocument = ( function() { 10131 var body = document.implementation.createHTMLDocument( "" ).body; 10132 body.innerHTML = "<form></form><form></form>"; 10133 return body.childNodes.length === 2; 10134} )(); 10135 10136 10137// Argument "data" should be string of html 10138// context (optional): If specified, the fragment will be created in this context, 10139// defaults to document 10140// keepScripts (optional): If true, will include scripts passed in the html string 10141jQuery.parseHTML = function( data, context, keepScripts ) { 10142 if ( typeof data !== "string" ) { 10143 return []; 10144 } 10145 if ( typeof context === "boolean" ) { 10146 keepScripts = context; 10147 context = false; 10148 } 10149 10150 var base, parsed, scripts; 10151 10152 if ( !context ) { 10153 10154 // Stop scripts or inline event handlers from being executed immediately 10155 // by using document.implementation 10156 if ( support.createHTMLDocument ) { 10157 context = document.implementation.createHTMLDocument( "" ); 10158 10159 // Set the base href for the created document 10160 // so any parsed elements with URLs 10161 // are based on the document's URL (gh-2965) 10162 base = context.createElement( "base" ); 10163 base.href = document.location.href; 10164 context.head.appendChild( base ); 10165 } else { 10166 context = document; 10167 } 10168 } 10169 10170 parsed = rsingleTag.exec( data ); 10171 scripts = !keepScripts && []; 10172 10173 // Single tag 10174 if ( parsed ) { 10175 return [ context.createElement( parsed[ 1 ] ) ]; 10176 } 10177 10178 parsed = buildFragment( [ data ], context, scripts ); 10179 10180 if ( scripts && scripts.length ) { 10181 jQuery( scripts ).remove(); 10182 } 10183 10184 return jQuery.merge( [], parsed.childNodes ); 10185}; 10186 10187 10188/** 10189 * Load a url into a page 10190 */ 10191jQuery.fn.load = function( url, params, callback ) { 10192 var selector, type, response, 10193 self = this, 10194 off = url.indexOf( " " ); 10195 10196 if ( off > -1 ) { 10197 selector = stripAndCollapse( url.slice( off ) ); 10198 url = url.slice( 0, off ); 10199 } 10200 10201 // If it's a function 10202 if ( isFunction( params ) ) { 10203 10204 // We assume that it's the callback 10205 callback = params; 10206 params = undefined; 10207 10208 // Otherwise, build a param string 10209 } else if ( params && typeof params === "object" ) { 10210 type = "POST"; 10211 } 10212 10213 // If we have elements to modify, make the request 10214 if ( self.length > 0 ) { 10215 jQuery.ajax( { 10216 url: url, 10217 10218 // If "type" variable is undefined, then "GET" method will be used. 10219 // Make value of this field explicit since 10220 // user can override it through ajaxSetup method 10221 type: type || "GET", 10222 dataType: "html", 10223 data: params 10224 } ).done( function( responseText ) { 10225 10226 // Save response for use in complete callback 10227 response = arguments; 10228 10229 self.html( selector ? 10230 10231 // If a selector was specified, locate the right elements in a dummy div 10232 // Exclude scripts to avoid IE 'Permission Denied' errors 10233 jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) : 10234 10235 // Otherwise use the full result 10236 responseText ); 10237 10238 // If the request succeeds, this function gets "data", "status", "jqXHR" 10239 // but they are ignored because response was set above. 10240 // If it fails, this function gets "jqXHR", "status", "error" 10241 } ).always( callback && function( jqXHR, status ) { 10242 self.each( function() { 10243 callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] ); 10244 } ); 10245 } ); 10246 } 10247 10248 return this; 10249}; 10250 10251 10252 10253 10254jQuery.expr.pseudos.animated = function( elem ) { 10255 return jQuery.grep( jQuery.timers, function( fn ) { 10256 return elem === fn.elem; 10257 } ).length; 10258}; 10259 10260 10261 10262 10263jQuery.offset = { 10264 setOffset: function( elem, options, i ) { 10265 var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition, 10266 position = jQuery.css( elem, "position" ), 10267 curElem = jQuery( elem ), 10268 props = {}; 10269 10270 // Set position first, in-case top/left are set even on static elem 10271 if ( position === "static" ) { 10272 elem.style.position = "relative"; 10273 } 10274 10275 curOffset = curElem.offset(); 10276 curCSSTop = jQuery.css( elem, "top" ); 10277 curCSSLeft = jQuery.css( elem, "left" ); 10278 calculatePosition = ( position === "absolute" || position === "fixed" ) && 10279 ( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1; 10280 10281 // Need to be able to calculate position if either 10282 // top or left is auto and position is either absolute or fixed 10283 if ( calculatePosition ) { 10284 curPosition = curElem.position(); 10285 curTop = curPosition.top; 10286 curLeft = curPosition.left; 10287 10288 } else { 10289 curTop = parseFloat( curCSSTop ) || 0; 10290 curLeft = parseFloat( curCSSLeft ) || 0; 10291 } 10292 10293 if ( isFunction( options ) ) { 10294 10295 // Use jQuery.extend here to allow modification of coordinates argument (gh-1848) 10296 options = options.call( elem, i, jQuery.extend( {}, curOffset ) ); 10297 } 10298 10299 if ( options.top != null ) { 10300 props.top = ( options.top - curOffset.top ) + curTop; 10301 } 10302 if ( options.left != null ) { 10303 props.left = ( options.left - curOffset.left ) + curLeft; 10304 } 10305 10306 if ( "using" in options ) { 10307 options.using.call( elem, props ); 10308 10309 } else { 10310 curElem.css( props ); 10311 } 10312 } 10313}; 10314 10315jQuery.fn.extend( { 10316 10317 // offset() relates an element's border box to the document origin 10318 offset: function( options ) { 10319 10320 // Preserve chaining for setter 10321 if ( arguments.length ) { 10322 return options === undefined ? 10323 this : 10324 this.each( function( i ) { 10325 jQuery.offset.setOffset( this, options, i ); 10326 } ); 10327 } 10328 10329 var rect, win, 10330 elem = this[ 0 ]; 10331 10332 if ( !elem ) { 10333 return; 10334 } 10335 10336 // Return zeros for disconnected and hidden (display: none) elements (gh-2310) 10337 // Support: IE <=11 only 10338 // Running getBoundingClientRect on a 10339 // disconnected node in IE throws an error 10340 if ( !elem.getClientRects().length ) { 10341 return { top: 0, left: 0 }; 10342 } 10343 10344 // Get document-relative position by adding viewport scroll to viewport-relative gBCR 10345 rect = elem.getBoundingClientRect(); 10346 win = elem.ownerDocument.defaultView; 10347 return { 10348 top: rect.top + win.pageYOffset, 10349 left: rect.left + win.pageXOffset 10350 }; 10351 }, 10352 10353 // position() relates an element's margin box to its offset parent's padding box 10354 // This corresponds to the behavior of CSS absolute positioning 10355 position: function() { 10356 if ( !this[ 0 ] ) { 10357 return; 10358 } 10359 10360 var offsetParent, offset, doc, 10361 elem = this[ 0 ], 10362 parentOffset = { top: 0, left: 0 }; 10363 10364 // position:fixed elements are offset from the viewport, which itself always has zero offset 10365 if ( jQuery.css( elem, "position" ) === "fixed" ) { 10366 10367 // Assume position:fixed implies availability of getBoundingClientRect 10368 offset = elem.getBoundingClientRect(); 10369 10370 } else { 10371 offset = this.offset(); 10372 10373 // Account for the *real* offset parent, which can be the document or its root element 10374 // when a statically positioned element is identified 10375 doc = elem.ownerDocument; 10376 offsetParent = elem.offsetParent || doc.documentElement; 10377 while ( offsetParent && 10378 ( offsetParent === doc.body || offsetParent === doc.documentElement ) && 10379 jQuery.css( offsetParent, "position" ) === "static" ) { 10380 10381 offsetParent = offsetParent.parentNode; 10382 }
vendor: 8,818 bytes, lines 10383-10676
10383 if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) { 10384 10385 // Incorporate borders into its offset, since they are outside its content origin 10386 parentOffset = jQuery( offsetParent ).offset(); 10387 parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true ); 10388 parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true ); 10389 } 10390 } 10391 10392 // Subtract parent offsets and element margins 10393 return { 10394 top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ), 10395 left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true ) 10396 }; 10397 }, 10398 10399 // This method will return documentElement in the following cases: 10400 // 1) For the element inside the iframe without offsetParent, this method will return 10401 // documentElement of the parent window 10402 // 2) For the hidden or detached element 10403 // 3) For body or html element, i.e. in case of the html node - it will return itself 10404 // 10405 // but those exceptions were never presented as a real life use-cases 10406 // and might be considered as more preferable results. 10407 // 10408 // This logic, however, is not guaranteed and can change at any point in the future 10409 offsetParent: function() { 10410 return this.map( function() { 10411 var offsetParent = this.offsetParent; 10412 10413 while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) { 10414 offsetParent = offsetParent.offsetParent; 10415 } 10416 10417 return offsetParent || documentElement; 10418 } ); 10419 } 10420} ); 10421 10422// Create scrollLeft and scrollTop methods 10423jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) { 10424 var top = "pageYOffset" === prop; 10425 10426 jQuery.fn[ method ] = function( val ) { 10427 return access( this, function( elem, method, val ) { 10428 10429 // Coalesce documents and windows 10430 var win; 10431 if ( isWindow( elem ) ) { 10432 win = elem; 10433 } else if ( elem.nodeType === 9 ) { 10434 win = elem.defaultView; 10435 } 10436 10437 if ( val === undefined ) { 10438 return win ? win[ prop ] : elem[ method ]; 10439 } 10440 10441 if ( win ) { 10442 win.scrollTo( 10443 !top ? val : win.pageXOffset, 10444 top ? val : win.pageYOffset 10445 ); 10446 10447 } else { 10448 elem[ method ] = val; 10449 } 10450 }, method, val, arguments.length ); 10451 }; 10452} ); 10453 10454// Support: Safari <=7 - 9.1, Chrome <=37 - 49 10455// Add the top/left cssHooks using jQuery.fn.position 10456// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 10457// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347 10458// getComputedStyle returns percent when specified for top/left/bottom/right; 10459// rather than make the css module depend on the offset module, just check for it here 10460jQuery.each( [ "top", "left" ], function( _i, prop ) { 10461 jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition, 10462 function( elem, computed ) { 10463 if ( computed ) { 10464 computed = curCSS( elem, prop ); 10465 10466 // If curCSS returns percentage, fallback to offset 10467 return rnumnonpx.test( computed ) ? 10468 jQuery( elem ).position()[ prop ] + "px" : 10469 computed; 10470 } 10471 } 10472 ); 10473} ); 10474 10475 10476// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods 10477jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { 10478 jQuery.each( { 10479 padding: "inner" + name, 10480 content: type, 10481 "": "outer" + name 10482 }, function( defaultExtra, funcName ) { 10483 10484 // Margin is only for outerHeight, outerWidth 10485 jQuery.fn[ funcName ] = function( margin, value ) { 10486 var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), 10487 extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); 10488 10489 return access( this, function( elem, type, value ) { 10490 var doc; 10491 10492 if ( isWindow( elem ) ) { 10493 10494 // $( window ).outerWidth/Height return w/h including scrollbars (gh-1729) 10495 return funcName.indexOf( "outer" ) === 0 ? 10496 elem[ "inner" + name ] : 10497 elem.document.documentElement[ "client" + name ]; 10498 } 10499 10500 // Get document width or height 10501 if ( elem.nodeType === 9 ) { 10502 doc = elem.documentElement; 10503 10504 // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], 10505 // whichever is greatest 10506 return Math.max( 10507 elem.body[ "scroll" + name ], doc[ "scroll" + name ], 10508 elem.body[ "offset" + name ], doc[ "offset" + name ], 10509 doc[ "client" + name ] 10510 ); 10511 } 10512 10513 return value === undefined ? 10514 10515 // Get width or height on the element, requesting but not forcing parseFloat 10516 jQuery.css( elem, type, extra ) : 10517 10518 // Set width or height on the element 10519 jQuery.style( elem, type, value, extra ); 10520 }, type, chainable ? margin : undefined, chainable ); 10521 }; 10522 } ); 10523} ); 10524 10525 10526jQuery.each( [ 10527 "ajaxStart", 10528 "ajaxStop", 10529 "ajaxComplete", 10530 "ajaxError", 10531 "ajaxSuccess", 10532 "ajaxSend" 10533], function( _i, type ) { 10534 jQuery.fn[ type ] = function( fn ) { 10535 return this.on( type, fn ); 10536 }; 10537} ); 10538 10539 10540 10541 10542jQuery.fn.extend( { 10543 10544 bind: function( types, data, fn ) { 10545 return this.on( types, null, data, fn ); 10546 }, 10547 unbind: function( types, fn ) { 10548 return this.off( types, null, fn ); 10549 }, 10550 10551 delegate: function( selector, types, data, fn ) { 10552 return this.on( types, selector, data, fn ); 10553 }, 10554 undelegate: function( selector, types, fn ) { 10555 10556 // ( namespace ) or ( selector, types [, fn] ) 10557 return arguments.length === 1 ? 10558 this.off( selector, "**" ) : 10559 this.off( types, selector || "**", fn ); 10560 }, 10561 10562 hover: function( fnOver, fnOut ) { 10563 return this 10564 .on( "mouseenter", fnOver ) 10565 .on( "mouseleave", fnOut || fnOver ); 10566 } 10567} ); 10568 10569jQuery.each( 10570 ( "blur focus focusin focusout resize scroll click dblclick " + 10571 "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + 10572 "change select submit keydown keypress keyup contextmenu" ).split( " " ), 10573 function( _i, name ) { 10574 10575 // Handle event binding 10576 jQuery.fn[ name ] = function( data, fn ) { 10577 return arguments.length > 0 ? 10578 this.on( name, null, data, fn ) : 10579 this.trigger( name ); 10580 }; 10581 } 10582); 10583 10584 10585 10586 10587// Support: Android <=4.0 only 10588// Make sure we trim BOM and NBSP 10589// Require that the "whitespace run" starts from a non-whitespace 10590// to avoid O(N^2) behavior when the engine would try matching "\s+$" at each space position. 10591var rtrim = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g; 10592 10593// Bind a function to a context, optionally partially applying any 10594// arguments. 10595// jQuery.proxy is deprecated to promote standards (specifically Function#bind) 10596// However, it is not slated for removal any time soon 10597jQuery.proxy = function( fn, context ) { 10598 var tmp, args, proxy; 10599 10600 if ( typeof context === "string" ) { 10601 tmp = fn[ context ]; 10602 context = fn; 10603 fn = tmp; 10604 } 10605 10606 // Quick check to determine if target is callable, in the spec 10607 // this throws a TypeError, but we will just return undefined. 10608 if ( !isFunction( fn ) ) { 10609 return undefined; 10610 } 10611 10612 // Simulated bind 10613 args = slice.call( arguments, 2 ); 10614 proxy = function() { 10615 return fn.apply( context || this, args.concat( slice.call( arguments ) ) ); 10616 }; 10617 10618 // Set the guid of unique handler to the same of original handler, so it can be removed 10619 proxy.guid = fn.guid = fn.guid || jQuery.guid++; 10620 10621 return proxy; 10622}; 10623 10624jQuery.holdReady = function( hold ) { 10625 if ( hold ) { 10626 jQuery.readyWait++; 10627 } else { 10628 jQuery.ready( true ); 10629 } 10630}; 10631jQuery.isArray = Array.isArray; 10632jQuery.parseJSON = JSON.parse; 10633jQuery.nodeName = nodeName; 10634jQuery.isFunction = isFunction; 10635jQuery.isWindow = isWindow; 10636jQuery.camelCase = camelCase; 10637jQuery.type = toType; 10638 10639jQuery.now = Date.now; 10640 10641jQuery.isNumeric = function( obj ) { 10642 10643 // As of jQuery 3.0, isNumeric is limited to 10644 // strings and numbers (primitives or objects) 10645 // that can be coerced to finite numbers (gh-2662) 10646 var type = jQuery.type( obj ); 10647 return ( type === "number" || type === "string" ) && 10648 10649 // parseFloat NaNs numeric-cast false positives ("") 10650 // ...but misinterprets leading-number strings, particularly hex literals ("0x...") 10651 // subtraction forces infinities to NaN 10652 !isNaN( obj - parseFloat( obj ) ); 10653}; 10654 10655jQuery.trim = function( text ) { 10656 return text == null ? 10657 "" : 10658 ( text + "" ).replace( rtrim, "$1" ); 10659}; 10660 10661 10662 10663// Register as a named AMD module, since jQuery can be concatenated with other 10664// files that may use define, but not via a proper concatenation script that 10665// understands anonymous AMD modules. A named AMD is safest and most robust 10666// way to register. Lowercase jquery is used because AMD module names are 10667// derived from file names, and jQuery is normally delivered in a lowercase 10668// file name. Do this after creating the global so that if an AMD module wants 10669// to call noConflict to hide this version of jQuery, it will work. 10670 10671// Note that for maximum portability, libraries that are not jQuery should 10672// declare themselves as anonymous modules, and avoid setting a global if an 10673// AMD loader is present. jQuery is a special case. For more information, see 10674// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon 10675 10676if ( t
vendor: 3,161 bytes, lines 10676-10802
10676ypeof define === "function" && define.amd ) { 10677 define( "jquery", [], function() { 10678 return jQuery; 10679 } ); 10680} 10681 10682 10683 10684 10685var 10686 10687 // Map over jQuery in case of overwrite 10688 _jQuery = window.jQuery, 10689 10690 // Map over the $ in case of overwrite 10691 _$ = window.$; 10692 10693jQuery.noConflict = function( deep ) { 10694 if ( window.$ === jQuery ) { 10695 window.$ = _$; 10696 } 10697 10698 if ( deep && window.jQuery === jQuery ) { 10699 window.jQuery = _jQuery; 10700 } 10701 10702 return jQuery; 10703}; 10704 10705// Expose jQuery and $ identifiers, even in AMD 10706// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557) 10707// and CommonJS for browser emulators (trac-13566) 10708if ( typeof noGlobal === "undefined" ) { 10709 window.jQuery = window.$ = jQuery; 10710} 10711 10712 10713 10714 10715return jQuery; 10716} ); 10717 10718/** 10719 * @popperjs/core v2.11.8 - MIT License 10720 */ 10721 10722(function (global, factory) { 10723 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : 10724 typeof define === 'function' && define.amd ? define(['exports'], factory) : 10725 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.Popper = {})); 10726}(this, (function (exports) { 'use strict'; 10727 10728 function getWindow(node) { 10729 if (node == null) { 10730 return window; 10731 } 10732 10733 if (node.toString() !== '[object Window]') { 10734 var ownerDocument = node.ownerDocument; 10735 return ownerDocument ? ownerDocument.defaultView || window : window; 10736 } 10737 10738 return node; 10739 } 10740 10741 function isElement(node) { 10742 var OwnElement = getWindow(node).Element; 10743 return node instanceof OwnElement || node instanceof Element; 10744 } 10745 10746 function isHTMLElement(node) { 10747 var OwnElement = getWindow(node).HTMLElement; 10748 return node instanceof OwnElement || node instanceof HTMLElement; 10749 } 10750 10751 function isShadowRoot(node) { 10752 // IE 11 has no ShadowRoot 10753 if (typeof ShadowRoot === 'undefined') { 10754 return false; 10755 } 10756 10757 var OwnElement = getWindow(node).ShadowRoot; 10758 return node instanceof OwnElement || node instanceof ShadowRoot; 10759 } 10760 10761 var max = Math.max; 10762 var min = Math.min; 10763 var round = Math.round; 10764 10765 function getUAString() { 10766 var uaData = navigator.userAgentData; 10767 10768 if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { 10769 return uaData.brands.map(function (item) { 10770 return item.brand + "/" + item.version; 10771 }).join(' '); 10772 } 10773 10774 return navigator.userAgent; 10775 } 10776 10777 function isLayoutViewport() { 10778 return !/^((?!chrome|android).)*safari/i.test(getUAString()); 10779 } 10780 10781 function getBoundingClientRect(element, includeScale, isFixedStrategy) { 10782 if (includeScale === void 0) { 10783 includeScale = false; 10784 } 10785 10786 if (isFixedStrategy === void 0) { 10787 isFixedStrategy = false; 10788 } 10789 10790 var clientRect = element.getBoundingClientRect(); 10791 var scaleX = 1; 10792 var scaleY = 1; 10793 10794 if (includeScale && isHTMLElement(element)) { 10795 scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; 10796 scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; 10797 } 10798 10799 var _ref = isElement(element) ? getWindow(element) : window, 10800 visualViewport = _ref.visualViewport; 10801 10802 var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
vendor: 6,462 bytes, lines 10803-11000
10803 var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; 10804 var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; 10805 var width = clientRect.width / scaleX; 10806 var height = clientRect.height / scaleY; 10807 return { 10808 width: width, 10809 height: height, 10810 top: y, 10811 right: x + width, 10812 bottom: y + height, 10813 left: x, 10814 x: x, 10815 y: y 10816 }; 10817 } 10818 10819 function getWindowScroll(node) { 10820 var win = getWindow(node); 10821 var scrollLeft = win.pageXOffset; 10822 var scrollTop = win.pageYOffset; 10823 return { 10824 scrollLeft: scrollLeft, 10825 scrollTop: scrollTop 10826 }; 10827 } 10828 10829 function getHTMLElementScroll(element) { 10830 return { 10831 scrollLeft: element.scrollLeft, 10832 scrollTop: element.scrollTop 10833 }; 10834 } 10835 10836 function getNodeScroll(node) { 10837 if (node === getWindow(node) || !isHTMLElement(node)) { 10838 return getWindowScroll(node); 10839 } else { 10840 return getHTMLElementScroll(node); 10841 } 10842 } 10843 10844 function getNodeName(element) { 10845 return element ? (element.nodeName || '').toLowerCase() : null; 10846 } 10847 10848 function getDocumentElement(element) { 10849 // $FlowFixMe[incompatible-return]: assume body is always available 10850 return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing] 10851 element.document) || window.document).documentElement; 10852 } 10853 10854 function getWindowScrollBarX(element) { 10855 // If <html> has a CSS width greater than the viewport, then this will be 10856 // incorrect for RTL. 10857 // Popper 1 is broken in this case and never had a bug report so let's assume 10858 // it's not an issue. I don't think anyone ever specifies width on <html> 10859 // anyway. 10860 // Browsers where the left scrollbar doesn't cause an issue report `0` for 10861 // this (e.g. Edge 2019, IE11, Safari) 10862 return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; 10863 } 10864 10865 function getComputedStyle(element) { 10866 return getWindow(element).getComputedStyle(element); 10867 } 10868 10869 function isScrollParent(element) { 10870 // Firefox wants us to check `-x` and `-y` variations as well 10871 var _getComputedStyle = getComputedStyle(element), 10872 overflow = _getComputedStyle.overflow, 10873 overflowX = _getComputedStyle.overflowX, 10874 overflowY = _getComputedStyle.overflowY; 10875 10876 return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); 10877 } 10878 10879 function isElementScaled(element) { 10880 var rect = element.getBoundingClientRect(); 10881 var scaleX = round(rect.width) / element.offsetWidth || 1; 10882 var scaleY = round(rect.height) / element.offsetHeight || 1; 10883 return scaleX !== 1 || scaleY !== 1; 10884 } // Returns the composite rect of an element relative to its offsetParent. 10885 // Composite means it takes into account transforms as well as layout. 10886 10887 10888 function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { 10889 if (isFixed === void 0) { 10890 isFixed = false; 10891 } 10892 10893 var isOffsetParentAnElement = isHTMLElement(offsetParent); 10894 var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); 10895 var documentElement = getDocumentElement(offsetParent); 10896 var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); 10897 var scroll = { 10898 scrollLeft: 0, 10899 scrollTop: 0 10900 }; 10901 var offsets = { 10902 x: 0, 10903 y: 0 10904 }; 10905 10906 if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { 10907 if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078 10908 isScrollParent(documentElement)) { 10909 scroll = getNodeScroll(offsetParent); 10910 } 10911 10912 if (isHTMLElement(offsetParent)) { 10913 offsets = getBoundingClientRect(offsetParent, true); 10914 offsets.x += offsetParent.clientLeft; 10915 offsets.y += offsetParent.clientTop; 10916 } else if (documentElement) { 10917 offsets.x = getWindowScrollBarX(documentElement); 10918 } 10919 } 10920 10921 return { 10922 x: rect.left + scroll.scrollLeft - offsets.x, 10923 y: rect.top + scroll.scrollTop - offsets.y, 10924 width: rect.width, 10925 height: rect.height 10926 }; 10927 } 10928 10929 // means it doesn't take into account transforms. 10930 10931 function getLayoutRect(element) { 10932 var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed. 10933 // Fixes https://github.com/popperjs/popper-core/issues/1223 10934 10935 var width = element.offsetWidth; 10936 var height = element.offsetHeight; 10937 10938 if (Math.abs(clientRect.width - width) <= 1) { 10939 width = clientRect.width; 10940 } 10941 10942 if (Math.abs(clientRect.height - height) <= 1) { 10943 height = clientRect.height; 10944 } 10945 10946 return { 10947 x: element.offsetLeft, 10948 y: element.offsetTop, 10949 width: width, 10950 height: height 10951 }; 10952 } 10953 10954 function getParentNode(element) { 10955 if (getNodeName(element) === 'html') { 10956 return element; 10957 } 10958 10959 return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle 10960 // $FlowFixMe[incompatible-return] 10961 // $FlowFixMe[prop-missing] 10962 element.assignedSlot || // step into the shadow DOM of the parent of a slotted node 10963 element.parentNode || ( // DOM Element detected 10964 isShadowRoot(element) ? element.host : null) || // ShadowRoot detected 10965 // $FlowFixMe[incompatible-call]: HTMLElement is a Node 10966 getDocumentElement(element) // fallback 10967 10968 ); 10969 } 10970 10971 function getScrollParent(node) { 10972 if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) { 10973 // $FlowFixMe[incompatible-return]: assume body is always available 10974 return node.ownerDocument.body; 10975 } 10976 10977 if (isHTMLElement(node) && isScrollParent(node)) { 10978 return node; 10979 } 10980 10981 return getScrollParent(getParentNode(node)); 10982 } 10983 10984 /* 10985 given a DOM element, return the list of all scroll parents, up the list of ancesors 10986 until we get to the top window object. This list is what we attach scroll listeners 10987 to, because if any of these parent elements scroll, we'll need to re-calculate the 10988 reference element's position. 10989 */ 10990 10991 function listScrollParents(element, list) { 10992 var _element$ownerDocumen; 10993 10994 if (list === void 0) { 10995 list = []; 10996 } 10997 10998 var scrollParent = getScrollParent(element); 10999 var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); 11000 var win = getWindow(scrollParent);
vendor: 3,555 bytes, lines 11001-11090
11001 var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; 11002 var updatedList = list.concat(target); 11003 return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here 11004 updatedList.concat(listScrollParents(getParentNode(target))); 11005 } 11006 11007 function isTableElement(element) { 11008 return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0; 11009 } 11010 11011 function getTrueOffsetParent(element) { 11012 if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837 11013 getComputedStyle(element).position === 'fixed') { 11014 return null; 11015 } 11016 11017 return element.offsetParent; 11018 } // `.offsetParent` reports `null` for fixed elements, while absolute elements 11019 // return the containing block 11020 11021 11022 function getContainingBlock(element) { 11023 var isFirefox = /firefox/i.test(getUAString()); 11024 var isIE = /Trident/i.test(getUAString()); 11025 11026 if (isIE && isHTMLElement(element)) { 11027 // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport 11028 var elementCss = getComputedStyle(element); 11029 11030 if (elementCss.position === 'fixed') { 11031 return null; 11032 } 11033 } 11034 11035 var currentNode = getParentNode(element); 11036 11037 if (isShadowRoot(currentNode)) { 11038 currentNode = currentNode.host; 11039 } 11040 11041 while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) { 11042 var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that 11043 // create a containing block. 11044 // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block 11045 11046 if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') { 11047 return currentNode; 11048 } else { 11049 currentNode = currentNode.parentNode; 11050 } 11051 } 11052 11053 return null; 11054 } // Gets the closest ancestor positioned element. Handles some edge cases, 11055 // such as table ancestors and cross browser bugs. 11056 11057 11058 function getOffsetParent(element) { 11059 var window = getWindow(element); 11060 var offsetParent = getTrueOffsetParent(element); 11061 11062 while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') { 11063 offsetParent = getTrueOffsetParent(offsetParent); 11064 } 11065 11066 if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) { 11067 return window; 11068 } 11069 11070 return offsetParent || getContainingBlock(element) || window; 11071 } 11072 11073 var top = 'top'; 11074 var bottom = 'bottom'; 11075 var right = 'right'; 11076 var left = 'left'; 11077 var auto = 'auto'; 11078 var basePlacements = [top, bottom, right, left]; 11079 var start = 'start'; 11080 var end = 'end'; 11081 var clippingParents = 'clippingParents'; 11082 var viewport = 'viewport'; 11083 var popper = 'popper'; 11084 var reference = 'reference'; 11085 var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) { 11086 return acc.concat([placement + "-" + start, placement + "-" + end]); 11087 }, []); 11088 var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) { 11089 return acc.concat([placement, placement + "-" + start, placement + "-" + end]); 11090 }, []); // modifiers that need to read the DOM
vendor: 14,402 bytes, lines 11090-11517
11090 11091 11092 var beforeRead = 'beforeRead'; 11093 var read = 'read'; 11094 var afterRead = 'afterRead'; // pure-logic modifiers 11095 11096 var beforeMain = 'beforeMain'; 11097 var main = 'main'; 11098 var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state) 11099 11100 var beforeWrite = 'beforeWrite'; 11101 var write = 'write'; 11102 var afterWrite = 'afterWrite'; 11103 var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; 11104 11105 function order(modifiers) { 11106 var map = new Map(); 11107 var visited = new Set(); 11108 var result = []; 11109 modifiers.forEach(function (modifier) { 11110 map.set(modifier.name, modifier); 11111 }); // On visiting object, check for its dependencies and visit them recursively 11112 11113 function sort(modifier) { 11114 visited.add(modifier.name); 11115 var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); 11116 requires.forEach(function (dep) { 11117 if (!visited.has(dep)) { 11118 var depModifier = map.get(dep); 11119 11120 if (depModifier) { 11121 sort(depModifier); 11122 } 11123 } 11124 }); 11125 result.push(modifier); 11126 } 11127 11128 modifiers.forEach(function (modifier) { 11129 if (!visited.has(modifier.name)) { 11130 // check for visited object 11131 sort(modifier); 11132 } 11133 }); 11134 return result; 11135 } 11136 11137 function orderModifiers(modifiers) { 11138 // order based on dependencies 11139 var orderedModifiers = order(modifiers); // order based on phase 11140 11141 return modifierPhases.reduce(function (acc, phase) { 11142 return acc.concat(orderedModifiers.filter(function (modifier) { 11143 return modifier.phase === phase; 11144 })); 11145 }, []); 11146 } 11147 11148 function debounce(fn) { 11149 var pending; 11150 return function () { 11151 if (!pending) { 11152 pending = new Promise(function (resolve) { 11153 Promise.resolve().then(function () { 11154 pending = undefined; 11155 resolve(fn()); 11156 }); 11157 }); 11158 } 11159 11160 return pending; 11161 }; 11162 } 11163 11164 function mergeByName(modifiers) { 11165 var merged = modifiers.reduce(function (merged, current) { 11166 var existing = merged[current.name]; 11167 merged[current.name] = existing ? Object.assign({}, existing, current, { 11168 options: Object.assign({}, existing.options, current.options), 11169 data: Object.assign({}, existing.data, current.data) 11170 }) : current; 11171 return merged; 11172 }, {}); // IE11 does not support Object.values 11173 11174 return Object.keys(merged).map(function (key) { 11175 return merged[key]; 11176 }); 11177 } 11178 11179 function getViewportRect(element, strategy) { 11180 var win = getWindow(element); 11181 var html = getDocumentElement(element); 11182 var visualViewport = win.visualViewport; 11183 var width = html.clientWidth; 11184 var height = html.clientHeight; 11185 var x = 0; 11186 var y = 0; 11187 11188 if (visualViewport) { 11189 width = visualViewport.width; 11190 height = visualViewport.height; 11191 var layoutViewport = isLayoutViewport(); 11192 11193 if (layoutViewport || !layoutViewport && strategy === 'fixed') { 11194 x = visualViewport.offsetLeft; 11195 y = visualViewport.offsetTop; 11196 } 11197 } 11198 11199 return { 11200 width: width, 11201 height: height, 11202 x: x + getWindowScrollBarX(element), 11203 y: y 11204 }; 11205 } 11206 11207 // of the `<html>` and `<body>` rect bounds if horizontally scrollable 11208 11209 function getDocumentRect(element) { 11210 var _element$ownerDocumen; 11211 11212 var html = getDocumentElement(element); 11213 var winScroll = getWindowScroll(element); 11214 var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; 11215 var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); 11216 var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); 11217 var x = -winScroll.scrollLeft + getWindowScrollBarX(element); 11218 var y = -winScroll.scrollTop; 11219 11220 if (getComputedStyle(body || html).direction === 'rtl') { 11221 x += max(html.clientWidth, body ? body.clientWidth : 0) - width; 11222 } 11223 11224 return { 11225 width: width, 11226 height: height, 11227 x: x, 11228 y: y 11229 }; 11230 } 11231 11232 function contains(parent, child) { 11233 var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method 11234 11235 if (parent.contains(child)) { 11236 return true; 11237 } // then fallback to custom implementation with Shadow DOM support 11238 else if (rootNode && isShadowRoot(rootNode)) { 11239 var next = child; 11240 11241 do { 11242 if (next && parent.isSameNode(next)) { 11243 return true; 11244 } // $FlowFixMe[prop-missing]: need a better way to handle this... 11245 11246 11247 next = next.parentNode || next.host; 11248 } while (next); 11249 } // Give up, the result is false 11250 11251 11252 return false; 11253 } 11254 11255 function rectToClientRect(rect) { 11256 return Object.assign({}, rect, { 11257 left: rect.x, 11258 top: rect.y, 11259 right: rect.x + rect.width, 11260 bottom: rect.y + rect.height 11261 }); 11262 } 11263 11264 function getInnerBoundingClientRect(element, strategy) { 11265 var rect = getBoundingClientRect(element, false, strategy === 'fixed'); 11266 rect.top = rect.top + element.clientTop; 11267 rect.left = rect.left + element.clientLeft; 11268 rect.bottom = rect.top + element.clientHeight; 11269 rect.right = rect.left + element.clientWidth; 11270 rect.width = element.clientWidth; 11271 rect.height = element.clientHeight; 11272 rect.x = rect.left; 11273 rect.y = rect.top; 11274 return rect; 11275 } 11276 11277 function getClientRectFromMixedType(element, clippingParent, strategy) { 11278 return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); 11279 } // A "clipping parent" is an overflowable container with the characteristic of 11280 // clipping (or hiding) overflowing elements with a position different from 11281 // `initial` 11282 11283 11284 function getClippingParents(element) { 11285 var clippingParents = listScrollParents(getParentNode(element)); 11286 var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0; 11287 var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; 11288 11289 if (!isElement(clipperElement)) { 11290 return []; 11291 } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414 11292 11293 11294 return clippingParents.filter(function (clippingParent) { 11295 return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body'; 11296 }); 11297 } // Gets the maximum area that the element is visible in due to any number of 11298 // clipping parents 11299 11300 11301 function getClippingRect(element, boundary, rootBoundary, strategy) { 11302 var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary); 11303 var clippingParents = [].concat(mainClippingParents, [rootBoundary]); 11304 var firstClippingParent = clippingParents[0]; 11305 var clippingRect = clippingParents.reduce(function (accRect, clippingParent) { 11306 var rect = getClientRectFromMixedType(element, clippingParent, strategy); 11307 accRect.top = max(rect.top, accRect.top); 11308 accRect.right = min(rect.right, accRect.right); 11309 accRect.bottom = min(rect.bottom, accRect.bottom); 11310 accRect.left = max(rect.left, accRect.left); 11311 return accRect; 11312 }, getClientRectFromMixedType(element, firstClippingParent, strategy)); 11313 clippingRect.width = clippingRect.right - clippingRect.left; 11314 clippingRect.height = clippingRect.bottom - clippingRect.top; 11315 clippingRect.x = clippingRect.left; 11316 clippingRect.y = clippingRect.top; 11317 return clippingRect; 11318 } 11319 11320 function getBasePlacement(placement) { 11321 return placement.split('-')[0]; 11322 } 11323 11324 function getVariation(placement) { 11325 return placement.split('-')[1]; 11326 } 11327 11328 function getMainAxisFromPlacement(placement) { 11329 return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y'; 11330 } 11331 11332 function computeOffsets(_ref) { 11333 var reference = _ref.reference, 11334 element = _ref.element, 11335 placement = _ref.placement; 11336 var basePlacement = placement ? getBasePlacement(placement) : null; 11337 var variation = placement ? getVariation(placement) : null; 11338 var commonX = reference.x + reference.width / 2 - element.width / 2; 11339 var commonY = reference.y + reference.height / 2 - element.height / 2; 11340 var offsets; 11341 11342 switch (basePlacement) { 11343 case top: 11344 offsets = { 11345 x: commonX, 11346 y: reference.y - element.height 11347 }; 11348 break; 11349 11350 case bottom: 11351 offsets = { 11352 x: commonX, 11353 y: reference.y + reference.height 11354 }; 11355 break; 11356 11357 case right: 11358 offsets = { 11359 x: reference.x + reference.width, 11360 y: commonY 11361 }; 11362 break; 11363 11364 case left: 11365 offsets = { 11366 x: reference.x - element.width, 11367 y: commonY 11368 }; 11369 break; 11370 11371 default: 11372 offsets = { 11373 x: reference.x, 11374 y: reference.y 11375 }; 11376 } 11377 11378 var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; 11379 11380 if (mainAxis != null) { 11381 var len = mainAxis === 'y' ? 'height' : 'width'; 11382 11383 switch (variation) { 11384 case start: 11385 offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2); 11386 break; 11387 11388 case end: 11389 offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2); 11390 break; 11391 } 11392 } 11393 11394 return offsets; 11395 } 11396 11397 function getFreshSideObject() { 11398 return { 11399 top: 0, 11400 right: 0, 11401 bottom: 0, 11402 left: 0 11403 }; 11404 } 11405 11406 function mergePaddingObject(paddingObject) { 11407 return Object.assign({}, getFreshSideObject(), paddingObject); 11408 } 11409 11410 function expandToHashMap(value, keys) { 11411 return keys.reduce(function (hashMap, key) { 11412 hashMap[key] = value; 11413 return hashMap; 11414 }, {}); 11415 } 11416 11417 function detectOverflow(state, options) { 11418 if (options === void 0) { 11419 options = {}; 11420 } 11421 11422 var _options = options, 11423 _options$placement = _options.placement, 11424 placement = _options$placement === void 0 ? state.placement : _options$placement, 11425 _options$strategy = _options.strategy, 11426 strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, 11427 _options$boundary = _options.boundary, 11428 boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, 11429 _options$rootBoundary = _options.rootBoundary, 11430 rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, 11431 _options$elementConte = _options.elementContext, 11432 elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, 11433 _options$altBoundary = _options.altBoundary, 11434 altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, 11435 _options$padding = _options.padding, 11436 padding = _options$padding === void 0 ? 0 : _options$padding; 11437 var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); 11438 var altContext = elementContext === popper ? reference : popper; 11439 var popperRect = state.rects.popper; 11440 var element = state.elements[altBoundary ? altContext : elementContext]; 11441 var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); 11442 var referenceClientRect = getBoundingClientRect(state.elements.reference); 11443 var popperOffsets = computeOffsets({ 11444 reference: referenceClientRect, 11445 element: popperRect, 11446 strategy: 'absolute', 11447 placement: placement 11448 }); 11449 var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets)); 11450 var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect 11451 // 0 or negative = within the clipping rect 11452 11453 var overflowOffsets = { 11454 top: clippingClientRect.top - elementClientRect.top + paddingObject.top, 11455 bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, 11456 left: clippingClientRect.left - elementClientRect.left + paddingObject.left, 11457 right: elementClientRect.right - clippingClientRect.right + paddingObject.right 11458 }; 11459 var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element 11460 11461 if (elementContext === popper && offsetData) { 11462 var offset = offsetData[placement]; 11463 Object.keys(overflowOffsets).forEach(function (key) { 11464 var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; 11465 var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x'; 11466 overflowOffsets[key] += offset[axis] * multiply; 11467 }); 11468 } 11469 11470 return overflowOffsets; 11471 } 11472 11473 var DEFAULT_OPTIONS = { 11474 placement: 'bottom', 11475 modifiers: [], 11476 strategy: 'absolute' 11477 }; 11478 11479 function areValidElements() { 11480 for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { 11481 args[_key] = arguments[_key]; 11482 } 11483 11484 return !args.some(function (element) { 11485 return !(element && typeof element.getBoundingClientRect === 'function'); 11486 }); 11487 } 11488 11489 function popperGenerator(generatorOptions) { 11490 if (generatorOptions === void 0) { 11491 generatorOptions = {}; 11492 } 11493 11494 var _generatorOptions = generatorOptions, 11495 _generatorOptions$def = _generatorOptions.defaultModifiers, 11496 defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, 11497 _generatorOptions$def2 = _generatorOptions.defaultOptions, 11498 defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; 11499 return function createPopper(reference, popper, options) { 11500 if (options === void 0) { 11501 options = defaultOptions; 11502 } 11503 11504 var state = { 11505 placement: 'bottom', 11506 orderedModifiers: [], 11507 options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), 11508 modifiersData: {}, 11509 elements: { 11510 reference: reference, 11511 popper: popper 11512 }, 11513 attributes: {}, 11514 styles: {} 11515 }; 11516 var effectCleanupFns = []; 11517 var isDestroyed = false;
vendor: 4,800 bytes, lines 11518-11628
11518 var instance = { 11519 state: state, 11520 setOptions: function setOptions(setOptionsAction) { 11521 var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction; 11522 cleanupModifierEffects(); 11523 state.options = Object.assign({}, defaultOptions, state.options, options); 11524 state.scrollParents = { 11525 reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [], 11526 popper: listScrollParents(popper) 11527 }; // Orders the modifiers based on their dependencies and `phase` 11528 // properties 11529 11530 var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers 11531 11532 state.orderedModifiers = orderedModifiers.filter(function (m) { 11533 return m.enabled; 11534 }); 11535 runModifierEffects(); 11536 return instance.update(); 11537 }, 11538 // Sync update â it will always be executed, even if not necessary. This 11539 // is useful for low frequency updates where sync behavior simplifies the 11540 // logic. 11541 // For high frequency updates (e.g. `resize` and `scroll` events), always 11542 // prefer the async Popper#update method 11543 forceUpdate: function forceUpdate() { 11544 if (isDestroyed) { 11545 return; 11546 } 11547 11548 var _state$elements = state.elements, 11549 reference = _state$elements.reference, 11550 popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements 11551 // anymore 11552 11553 if (!areValidElements(reference, popper)) { 11554 return; 11555 } // Store the reference and popper rects to be read by modifiers 11556 11557 11558 state.rects = { 11559 reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'), 11560 popper: getLayoutRect(popper) 11561 }; // Modifiers have the ability to reset the current update cycle. The 11562 // most common use case for this is the `flip` modifier changing the 11563 // placement, which then needs to re-run all the modifiers, because the 11564 // logic was previously ran for the previous placement and is therefore 11565 // stale/incorrect 11566 11567 state.reset = false; 11568 state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier 11569 // is filled with the initial data specified by the modifier. This means 11570 // it doesn't persist and is fresh on each update. 11571 // To ensure persistent data, use `${name}#persistent` 11572 11573 state.orderedModifiers.forEach(function (modifier) { 11574 return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); 11575 }); 11576 11577 for (var index = 0; index < state.orderedModifiers.length; index++) { 11578 if (state.reset === true) { 11579 state.reset = false; 11580 index = -1; 11581 continue; 11582 } 11583 11584 var _state$orderedModifie = state.orderedModifiers[index], 11585 fn = _state$orderedModifie.fn, 11586 _state$orderedModifie2 = _state$orderedModifie.options, 11587 _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, 11588 name = _state$orderedModifie.name; 11589 11590 if (typeof fn === 'function') { 11591 state = fn({ 11592 state: state, 11593 options: _options, 11594 name: name, 11595 instance: instance 11596 }) || state; 11597 } 11598 } 11599 }, 11600 // Async and optimistically optimized update â it will not be executed if 11601 // not necessary (debounced to run at most once-per-tick) 11602 update: debounce(function () { 11603 return new Promise(function (resolve) { 11604 instance.forceUpdate(); 11605 resolve(state); 11606 }); 11607 }), 11608 destroy: function destroy() { 11609 cleanupModifierEffects(); 11610 isDestroyed = true; 11611 } 11612 }; 11613 11614 if (!areValidElements(reference, popper)) { 11615 return instance; 11616 } 11617 11618 instance.setOptions(options).then(function (state) { 11619 if (!isDestroyed && options.onFirstUpdate) { 11620 options.onFirstUpdate(state); 11621 } 11622 }); // Modifiers have the ability to execute arbitrary code before the first 11623 // update cycle runs. They will be executed in the same order as the update 11624 // cycle. This is useful when a modifier adds some persistent data that 11625 // other modifiers need to use, but the modifier is run after the dependent 11626 // one. 11627 11628 function runModifierEffects() {
vendor: 4,368 bytes, lines 11629-11788
11629 state.orderedModifiers.forEach(function (_ref) { 11630 var name = _ref.name, 11631 _ref$options = _ref.options, 11632 options = _ref$options === void 0 ? {} : _ref$options, 11633 effect = _ref.effect; 11634 11635 if (typeof effect === 'function') { 11636 var cleanupFn = effect({ 11637 state: state, 11638 name: name, 11639 instance: instance, 11640 options: options 11641 }); 11642 11643 var noopFn = function noopFn() {}; 11644 11645 effectCleanupFns.push(cleanupFn || noopFn); 11646 } 11647 }); 11648 } 11649 11650 function cleanupModifierEffects() { 11651 effectCleanupFns.forEach(function (fn) { 11652 return fn(); 11653 }); 11654 effectCleanupFns = []; 11655 } 11656 11657 return instance; 11658 }; 11659 } 11660 11661 var passive = { 11662 passive: true 11663 }; 11664 11665 function effect$2(_ref) { 11666 var state = _ref.state, 11667 instance = _ref.instance, 11668 options = _ref.options; 11669 var _options$scroll = options.scroll, 11670 scroll = _options$scroll === void 0 ? true : _options$scroll, 11671 _options$resize = options.resize, 11672 resize = _options$resize === void 0 ? true : _options$resize; 11673 var window = getWindow(state.elements.popper); 11674 var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); 11675 11676 if (scroll) { 11677 scrollParents.forEach(function (scrollParent) { 11678 scrollParent.addEventListener('scroll', instance.update, passive); 11679 }); 11680 } 11681 11682 if (resize) { 11683 window.addEventListener('resize', instance.update, passive); 11684 } 11685 11686 return function () { 11687 if (scroll) { 11688 scrollParents.forEach(function (scrollParent) { 11689 scrollParent.removeEventListener('scroll', instance.update, passive); 11690 }); 11691 } 11692 11693 if (resize) { 11694 window.removeEventListener('resize', instance.update, passive); 11695 } 11696 }; 11697 } // eslint-disable-next-line import/no-unused-modules 11698 11699 11700 var eventListeners = { 11701 name: 'eventListeners', 11702 enabled: true, 11703 phase: 'write', 11704 fn: function fn() {}, 11705 effect: effect$2, 11706 data: {} 11707 }; 11708 11709 function popperOffsets(_ref) { 11710 var state = _ref.state, 11711 name = _ref.name; 11712 // Offsets are the actual position the popper needs to have to be 11713 // properly positioned near its reference element 11714 // This is the most basic placement, and will be adjusted by 11715 // the modifiers in the next step 11716 state.modifiersData[name] = computeOffsets({ 11717 reference: state.rects.reference, 11718 element: state.rects.popper, 11719 strategy: 'absolute', 11720 placement: state.placement 11721 }); 11722 } // eslint-disable-next-line import/no-unused-modules 11723 11724 11725 var popperOffsets$1 = { 11726 name: 'popperOffsets', 11727 enabled: true, 11728 phase: 'read', 11729 fn: popperOffsets, 11730 data: {} 11731 }; 11732 11733 var unsetSides = { 11734 top: 'auto', 11735 right: 'auto', 11736 bottom: 'auto', 11737 left: 'auto' 11738 }; // Round the offsets to the nearest suitable subpixel based on the DPR. 11739 // Zooming can change the DPR, but it seems to report a value that will 11740 // cleanly divide the values into the appropriate subpixels. 11741 11742 function roundOffsetsByDPR(_ref, win) { 11743 var x = _ref.x, 11744 y = _ref.y; 11745 var dpr = win.devicePixelRatio || 1; 11746 return { 11747 x: round(x * dpr) / dpr || 0, 11748 y: round(y * dpr) / dpr || 0 11749 }; 11750 } 11751 11752 function mapToStyles(_ref2) { 11753 var _Object$assign2; 11754 11755 var popper = _ref2.popper, 11756 popperRect = _ref2.popperRect, 11757 placement = _ref2.placement, 11758 variation = _ref2.variation, 11759 offsets = _ref2.offsets, 11760 position = _ref2.position, 11761 gpuAcceleration = _ref2.gpuAcceleration, 11762 adaptive = _ref2.adaptive, 11763 roundOffsets = _ref2.roundOffsets, 11764 isFixed = _ref2.isFixed; 11765 var _offsets$x = offsets.x, 11766 x = _offsets$x === void 0 ? 0 : _offsets$x, 11767 _offsets$y = offsets.y, 11768 y = _offsets$y === void 0 ? 0 : _offsets$y; 11769 11770 var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({ 11771 x: x, 11772 y: y 11773 }) : { 11774 x: x, 11775 y: y 11776 }; 11777 11778 x = _ref3.x; 11779 y = _ref3.y; 11780 var hasX = offsets.hasOwnProperty('x'); 11781 var hasY = offsets.hasOwnProperty('y'); 11782 var sideX = left; 11783 var sideY = top; 11784 var win = window; 11785 11786 if (adaptive) { 11787 var offsetParent = getOffsetParent(popper); 11788 var heightProp = 'clientHeight';
vendor: 4,563 bytes, lines 11789-11910
11789 var widthProp = 'clientWidth'; 11790 11791 if (offsetParent === getWindow(popper)) { 11792 offsetParent = getDocumentElement(popper); 11793 11794 if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') { 11795 heightProp = 'scrollHeight'; 11796 widthProp = 'scrollWidth'; 11797 } 11798 } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it 11799 11800 11801 offsetParent = offsetParent; 11802 11803 if (placement === top || (placement === left || placement === right) && variation === end) { 11804 sideY = bottom; 11805 var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing] 11806 offsetParent[heightProp]; 11807 y -= offsetY - popperRect.height; 11808 y *= gpuAcceleration ? 1 : -1; 11809 } 11810 11811 if (placement === left || (placement === top || placement === bottom) && variation === end) { 11812 sideX = right; 11813 var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing] 11814 offsetParent[widthProp]; 11815 x -= offsetX - popperRect.width; 11816 x *= gpuAcceleration ? 1 : -1; 11817 } 11818 } 11819 11820 var commonStyles = Object.assign({ 11821 position: position 11822 }, adaptive && unsetSides); 11823 11824 var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ 11825 x: x, 11826 y: y 11827 }, getWindow(popper)) : { 11828 x: x, 11829 y: y 11830 }; 11831 11832 x = _ref4.x; 11833 y = _ref4.y; 11834 11835 if (gpuAcceleration) { 11836 var _Object$assign; 11837 11838 return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); 11839 } 11840 11841 return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2)); 11842 } 11843 11844 function computeStyles(_ref5) { 11845 var state = _ref5.state, 11846 options = _ref5.options; 11847 var _options$gpuAccelerat = options.gpuAcceleration, 11848 gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, 11849 _options$adaptive = options.adaptive, 11850 adaptive = _options$adaptive === void 0 ? true : _options$adaptive, 11851 _options$roundOffsets = options.roundOffsets, 11852 roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; 11853 var commonStyles = { 11854 placement: getBasePlacement(state.placement), 11855 variation: getVariation(state.placement), 11856 popper: state.elements.popper, 11857 popperRect: state.rects.popper, 11858 gpuAcceleration: gpuAcceleration, 11859 isFixed: state.options.strategy === 'fixed' 11860 }; 11861 11862 if (state.modifiersData.popperOffsets != null) { 11863 state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { 11864 offsets: state.modifiersData.popperOffsets, 11865 position: state.options.strategy, 11866 adaptive: adaptive, 11867 roundOffsets: roundOffsets 11868 }))); 11869 } 11870 11871 if (state.modifiersData.arrow != null) { 11872 state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { 11873 offsets: state.modifiersData.arrow, 11874 position: 'absolute', 11875 adaptive: false, 11876 roundOffsets: roundOffsets 11877 }))); 11878 } 11879 11880 state.attributes.popper = Object.assign({}, state.attributes.popper, { 11881 'data-popper-placement': state.placement 11882 }); 11883 } // eslint-disable-next-line import/no-unused-modules 11884 11885 11886 var computeStyles$1 = { 11887 name: 'computeStyles', 11888 enabled: true, 11889 phase: 'beforeWrite', 11890 fn: computeStyles, 11891 data: {} 11892 }; 11893 11894 // and applies them to the HTMLElements such as popper and arrow 11895 11896 function applyStyles(_ref) { 11897 var state = _ref.state; 11898 Object.keys(state.elements).forEach(function (name) { 11899 var style = state.styles[name] || {}; 11900 var attributes = state.attributes[name] || {}; 11901 var element = state.elements[name]; // arrow is optional + virtual elements 11902 11903 if (!isHTMLElement(element) || !getNodeName(element)) { 11904 return; 11905 } // Flow doesn't support to extend this property, but it's the most 11906 // effective way to apply styles to an HTMLElement 11907 // $FlowFixMe[cannot-write] 11908 11909 11910 Object.assign(element.style, style);
vendor: 22,456 bytes, lines 11911-12542
11911 Object.keys(attributes).forEach(function (name) { 11912 var value = attributes[name]; 11913 11914 if (value === false) { 11915 element.removeAttribute(name); 11916 } else { 11917 element.setAttribute(name, value === true ? '' : value); 11918 } 11919 }); 11920 }); 11921 } 11922 11923 function effect$1(_ref2) { 11924 var state = _ref2.state; 11925 var initialStyles = { 11926 popper: { 11927 position: state.options.strategy, 11928 left: '0', 11929 top: '0', 11930 margin: '0' 11931 }, 11932 arrow: { 11933 position: 'absolute' 11934 }, 11935 reference: {} 11936 }; 11937 Object.assign(state.elements.popper.style, initialStyles.popper); 11938 state.styles = initialStyles; 11939 11940 if (state.elements.arrow) { 11941 Object.assign(state.elements.arrow.style, initialStyles.arrow); 11942 } 11943 11944 return function () { 11945 Object.keys(state.elements).forEach(function (name) { 11946 var element = state.elements[name]; 11947 var attributes = state.attributes[name] || {}; 11948 var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them 11949 11950 var style = styleProperties.reduce(function (style, property) { 11951 style[property] = ''; 11952 return style; 11953 }, {}); // arrow is optional + virtual elements 11954 11955 if (!isHTMLElement(element) || !getNodeName(element)) { 11956 return; 11957 } 11958 11959 Object.assign(element.style, style); 11960 Object.keys(attributes).forEach(function (attribute) { 11961 element.removeAttribute(attribute); 11962 }); 11963 }); 11964 }; 11965 } // eslint-disable-next-line import/no-unused-modules 11966 11967 11968 var applyStyles$1 = { 11969 name: 'applyStyles', 11970 enabled: true, 11971 phase: 'write', 11972 fn: applyStyles, 11973 effect: effect$1, 11974 requires: ['computeStyles'] 11975 }; 11976 11977 function distanceAndSkiddingToXY(placement, rects, offset) { 11978 var basePlacement = getBasePlacement(placement); 11979 var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; 11980 11981 var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, { 11982 placement: placement 11983 })) : offset, 11984 skidding = _ref[0], 11985 distance = _ref[1]; 11986 11987 skidding = skidding || 0; 11988 distance = (distance || 0) * invertDistance; 11989 return [left, right].indexOf(basePlacement) >= 0 ? { 11990 x: distance, 11991 y: skidding 11992 } : { 11993 x: skidding, 11994 y: distance 11995 }; 11996 } 11997 11998 function offset(_ref2) { 11999 var state = _ref2.state, 12000 options = _ref2.options, 12001 name = _ref2.name; 12002 var _options$offset = options.offset, 12003 offset = _options$offset === void 0 ? [0, 0] : _options$offset; 12004 var data = placements.reduce(function (acc, placement) { 12005 acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset); 12006 return acc; 12007 }, {}); 12008 var _data$state$placement = data[state.placement], 12009 x = _data$state$placement.x, 12010 y = _data$state$placement.y; 12011 12012 if (state.modifiersData.popperOffsets != null) { 12013 state.modifiersData.popperOffsets.x += x; 12014 state.modifiersData.popperOffsets.y += y; 12015 } 12016 12017 state.modifiersData[name] = data; 12018 } // eslint-disable-next-line import/no-unused-modules 12019 12020 12021 var offset$1 = { 12022 name: 'offset', 12023 enabled: true, 12024 phase: 'main', 12025 requires: ['popperOffsets'], 12026 fn: offset 12027 }; 12028 12029 var hash$1 = { 12030 left: 'right', 12031 right: 'left', 12032 bottom: 'top', 12033 top: 'bottom' 12034 }; 12035 function getOppositePlacement(placement) { 12036 return placement.replace(/left|right|bottom|top/g, function (matched) { 12037 return hash$1[matched]; 12038 }); 12039 } 12040 12041 var hash = { 12042 start: 'end', 12043 end: 'start' 12044 }; 12045 function getOppositeVariationPlacement(placement) { 12046 return placement.replace(/start|end/g, function (matched) { 12047 return hash[matched]; 12048 }); 12049 } 12050 12051 function computeAutoPlacement(state, options) { 12052 if (options === void 0) { 12053 options = {}; 12054 } 12055 12056 var _options = options, 12057 placement = _options.placement, 12058 boundary = _options.boundary, 12059 rootBoundary = _options.rootBoundary, 12060 padding = _options.padding, 12061 flipVariations = _options.flipVariations, 12062 _options$allowedAutoP = _options.allowedAutoPlacements, 12063 allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; 12064 var variation = getVariation(placement); 12065 var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) { 12066 return getVariation(placement) === variation; 12067 }) : basePlacements; 12068 var allowedPlacements = placements$1.filter(function (placement) { 12069 return allowedAutoPlacements.indexOf(placement) >= 0; 12070 }); 12071 12072 if (allowedPlacements.length === 0) { 12073 allowedPlacements = placements$1; 12074 } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions... 12075 12076 12077 var overflows = allowedPlacements.reduce(function (acc, placement) { 12078 acc[placement] = detectOverflow(state, { 12079 placement: placement, 12080 boundary: boundary, 12081 rootBoundary: rootBoundary, 12082 padding: padding 12083 })[getBasePlacement(placement)]; 12084 return acc; 12085 }, {}); 12086 return Object.keys(overflows).sort(function (a, b) { 12087 return overflows[a] - overflows[b]; 12088 }); 12089 } 12090 12091 function getExpandedFallbackPlacements(placement) { 12092 if (getBasePlacement(placement) === auto) { 12093 return []; 12094 } 12095 12096 var oppositePlacement = getOppositePlacement(placement); 12097 return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; 12098 } 12099 12100 function flip(_ref) { 12101 var state = _ref.state, 12102 options = _ref.options, 12103 name = _ref.name; 12104 12105 if (state.modifiersData[name]._skip) { 12106 return; 12107 } 12108 12109 var _options$mainAxis = options.mainAxis, 12110 checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, 12111 _options$altAxis = options.altAxis, 12112 checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, 12113 specifiedFallbackPlacements = options.fallbackPlacements, 12114 padding = options.padding, 12115 boundary = options.boundary, 12116 rootBoundary = options.rootBoundary, 12117 altBoundary = options.altBoundary, 12118 _options$flipVariatio = options.flipVariations, 12119 flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, 12120 allowedAutoPlacements = options.allowedAutoPlacements; 12121 var preferredPlacement = state.options.placement; 12122 var basePlacement = getBasePlacement(preferredPlacement); 12123 var isBasePlacement = basePlacement === preferredPlacement; 12124 var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); 12125 var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) { 12126 return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, { 12127 placement: placement, 12128 boundary: boundary, 12129 rootBoundary: rootBoundary, 12130 padding: padding, 12131 flipVariations: flipVariations, 12132 allowedAutoPlacements: allowedAutoPlacements 12133 }) : placement); 12134 }, []); 12135 var referenceRect = state.rects.reference; 12136 var popperRect = state.rects.popper; 12137 var checksMap = new Map(); 12138 var makeFallbackChecks = true; 12139 var firstFittingPlacement = placements[0]; 12140 12141 for (var i = 0; i < placements.length; i++) { 12142 var placement = placements[i]; 12143 12144 var _basePlacement = getBasePlacement(placement); 12145 12146 var isStartVariation = getVariation(placement) === start; 12147 var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; 12148 var len = isVertical ? 'width' : 'height'; 12149 var overflow = detectOverflow(state, { 12150 placement: placement, 12151 boundary: boundary, 12152 rootBoundary: rootBoundary, 12153 altBoundary: altBoundary, 12154 padding: padding 12155 }); 12156 var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; 12157 12158 if (referenceRect[len] > popperRect[len]) { 12159 mainVariationSide = getOppositePlacement(mainVariationSide); 12160 } 12161 12162 var altVariationSide = getOppositePlacement(mainVariationSide); 12163 var checks = []; 12164 12165 if (checkMainAxis) { 12166 checks.push(overflow[_basePlacement] <= 0); 12167 } 12168 12169 if (checkAltAxis) { 12170 checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); 12171 } 12172 12173 if (checks.every(function (check) { 12174 return check; 12175 })) { 12176 firstFittingPlacement = placement; 12177 makeFallbackChecks = false; 12178 break; 12179 } 12180 12181 checksMap.set(placement, checks); 12182 } 12183 12184 if (makeFallbackChecks) { 12185 // `2` may be desired in some cases â research later 12186 var numberOfChecks = flipVariations ? 3 : 1; 12187 12188 var _loop = function _loop(_i) { 12189 var fittingPlacement = placements.find(function (placement) { 12190 var checks = checksMap.get(placement); 12191 12192 if (checks) { 12193 return checks.slice(0, _i).every(function (check) { 12194 return check; 12195 }); 12196 } 12197 }); 12198 12199 if (fittingPlacement) { 12200 firstFittingPlacement = fittingPlacement; 12201 return "break"; 12202 } 12203 }; 12204 12205 for (var _i = numberOfChecks; _i > 0; _i--) { 12206 var _ret = _loop(_i); 12207 12208 if (_ret === "break") break; 12209 } 12210 } 12211 12212 if (state.placement !== firstFittingPlacement) { 12213 state.modifiersData[name]._skip = true; 12214 state.placement = firstFittingPlacement; 12215 state.reset = true; 12216 } 12217 } // eslint-disable-next-line import/no-unused-modules 12218 12219 12220 var flip$1 = { 12221 name: 'flip', 12222 enabled: true, 12223 phase: 'main', 12224 fn: flip, 12225 requiresIfExists: ['offset'], 12226 data: { 12227 _skip: false 12228 } 12229 }; 12230 12231 function getAltAxis(axis) { 12232 return axis === 'x' ? 'y' : 'x'; 12233 } 12234 12235 function within(min$1, value, max$1) { 12236 return max(min$1, min(value, max$1)); 12237 } 12238 function withinMaxClamp(min, value, max) { 12239 var v = within(min, value, max); 12240 return v > max ? max : v; 12241 } 12242 12243 function preventOverflow(_ref) { 12244 var state = _ref.state, 12245 options = _ref.options, 12246 name = _ref.name; 12247 var _options$mainAxis = options.mainAxis, 12248 checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, 12249 _options$altAxis = options.altAxis, 12250 checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, 12251 boundary = options.boundary, 12252 rootBoundary = options.rootBoundary, 12253 altBoundary = options.altBoundary, 12254 padding = options.padding, 12255 _options$tether = options.tether, 12256 tether = _options$tether === void 0 ? true : _options$tether, 12257 _options$tetherOffset = options.tetherOffset, 12258 tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; 12259 var overflow = detectOverflow(state, { 12260 boundary: boundary, 12261 rootBoundary: rootBoundary, 12262 padding: padding, 12263 altBoundary: altBoundary 12264 }); 12265 var basePlacement = getBasePlacement(state.placement); 12266 var variation = getVariation(state.placement); 12267 var isBasePlacement = !variation; 12268 var mainAxis = getMainAxisFromPlacement(basePlacement); 12269 var altAxis = getAltAxis(mainAxis); 12270 var popperOffsets = state.modifiersData.popperOffsets; 12271 var referenceRect = state.rects.reference; 12272 var popperRect = state.rects.popper; 12273 var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, { 12274 placement: state.placement 12275 })) : tetherOffset; 12276 var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? { 12277 mainAxis: tetherOffsetValue, 12278 altAxis: tetherOffsetValue 12279 } : Object.assign({ 12280 mainAxis: 0, 12281 altAxis: 0 12282 }, tetherOffsetValue); 12283 var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; 12284 var data = { 12285 x: 0, 12286 y: 0 12287 }; 12288 12289 if (!popperOffsets) { 12290 return; 12291 } 12292 12293 if (checkMainAxis) { 12294 var _offsetModifierState$; 12295 12296 var mainSide = mainAxis === 'y' ? top : left; 12297 var altSide = mainAxis === 'y' ? bottom : right; 12298 var len = mainAxis === 'y' ? 'height' : 'width'; 12299 var offset = popperOffsets[mainAxis]; 12300 var min$1 = offset + overflow[mainSide]; 12301 var max$1 = offset - overflow[altSide]; 12302 var additive = tether ? -popperRect[len] / 2 : 0; 12303 var minLen = variation === start ? referenceRect[len] : popperRect[len]; 12304 var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go 12305 // outside the reference bounds 12306 12307 var arrowElement = state.elements.arrow; 12308 var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { 12309 width: 0, 12310 height: 0 12311 }; 12312 var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject(); 12313 var arrowPaddingMin = arrowPaddingObject[mainSide]; 12314 var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want 12315 // to include its full size in the calculation. If the reference is small 12316 // and near the edge of a boundary, the popper can overflow even if the 12317 // reference is not overflowing as well (e.g. virtual elements with no 12318 // width or height) 12319 12320 var arrowLen = within(0, referenceRect[len], arrowRect[len]); 12321 var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; 12322 var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; 12323 var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); 12324 var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; 12325 var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; 12326 var tetherMin = offset + minOffset - offsetModifierValue - clientOffset; 12327 var tetherMax = offset + maxOffset - offsetModifierValue; 12328 var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1); 12329 popperOffsets[mainAxis] = preventedOffset; 12330 data[mainAxis] = preventedOffset - offset; 12331 } 12332 12333 if (checkAltAxis) { 12334 var _offsetModifierState$2; 12335 12336 var _mainSide = mainAxis === 'x' ? top : left; 12337 12338 var _altSide = mainAxis === 'x' ? bottom : right; 12339 12340 var _offset = popperOffsets[altAxis]; 12341 12342 var _len = altAxis === 'y' ? 'height' : 'width'; 12343 12344 var _min = _offset + overflow[_mainSide]; 12345 12346 var _max = _offset - overflow[_altSide]; 12347 12348 var isOriginSide = [top, left].indexOf(basePlacement) !== -1; 12349 12350 var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; 12351 12352 var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; 12353 12354 var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; 12355 12356 var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); 12357 12358 popperOffsets[altAxis] = _preventedOffset; 12359 data[altAxis] = _preventedOffset - _offset; 12360 } 12361 12362 state.modifiersData[name] = data; 12363 } // eslint-disable-next-line import/no-unused-modules 12364 12365 12366 var preventOverflow$1 = { 12367 name: 'preventOverflow', 12368 enabled: true, 12369 phase: 'main', 12370 fn: preventOverflow, 12371 requiresIfExists: ['offset'] 12372 }; 12373 12374 var toPaddingObject = function toPaddingObject(padding, state) { 12375 padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, { 12376 placement: state.placement 12377 })) : padding; 12378 return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements)); 12379 }; 12380 12381 function arrow(_ref) { 12382 var _state$modifiersData$; 12383 12384 var state = _ref.state, 12385 name = _ref.name, 12386 options = _ref.options; 12387 var arrowElement = state.elements.arrow; 12388 var popperOffsets = state.modifiersData.popperOffsets; 12389 var basePlacement = getBasePlacement(state.placement); 12390 var axis = getMainAxisFromPlacement(basePlacement); 12391 var isVertical = [left, right].indexOf(basePlacement) >= 0; 12392 var len = isVertical ? 'height' : 'width'; 12393 12394 if (!arrowElement || !popperOffsets) { 12395 return; 12396 } 12397 12398 var paddingObject = toPaddingObject(options.padding, state); 12399 var arrowRect = getLayoutRect(arrowElement); 12400 var minProp = axis === 'y' ? top : left; 12401 var maxProp = axis === 'y' ? bottom : right; 12402 var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len]; 12403 var startDiff = popperOffsets[axis] - state.rects.reference[axis]; 12404 var arrowOffsetParent = getOffsetParent(arrowElement); 12405 var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; 12406 var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is 12407 // outside of the popper bounds 12408 12409 var min = paddingObject[minProp]; 12410 var max = clientSize - arrowRect[len] - paddingObject[maxProp]; 12411 var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; 12412 var offset = within(min, center, max); // Prevents breaking syntax highlighting... 12413 12414 var axisProp = axis; 12415 state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$); 12416 } 12417 12418 function effect(_ref2) { 12419 var state = _ref2.state, 12420 options = _ref2.options; 12421 var _options$element = options.element, 12422 arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element; 12423 12424 if (arrowElement == null) { 12425 return; 12426 } // CSS selector 12427 12428 12429 if (typeof arrowElement === 'string') { 12430 arrowElement = state.elements.popper.querySelector(arrowElement); 12431 12432 if (!arrowElement) { 12433 return; 12434 } 12435 } 12436 12437 if (!contains(state.elements.popper, arrowElement)) { 12438 return; 12439 } 12440 12441 state.elements.arrow = arrowElement; 12442 } // eslint-disable-next-line import/no-unused-modules 12443 12444 12445 var arrow$1 = { 12446 name: 'arrow', 12447 enabled: true, 12448 phase: 'main', 12449 fn: arrow, 12450 effect: effect, 12451 requires: ['popperOffsets'], 12452 requiresIfExists: ['preventOverflow'] 12453 }; 12454 12455 function getSideOffsets(overflow, rect, preventedOffsets) { 12456 if (preventedOffsets === void 0) { 12457 preventedOffsets = { 12458 x: 0, 12459 y: 0 12460 }; 12461 } 12462 12463 return { 12464 top: overflow.top - rect.height - preventedOffsets.y, 12465 right: overflow.right - rect.width + preventedOffsets.x, 12466 bottom: overflow.bottom - rect.height + preventedOffsets.y, 12467 left: overflow.left - rect.width - preventedOffsets.x 12468 }; 12469 } 12470 12471 function isAnySideFullyClipped(overflow) { 12472 return [top, right, bottom, left].some(function (side) { 12473 return overflow[side] >= 0; 12474 }); 12475 } 12476 12477 function hide(_ref) { 12478 var state = _ref.state, 12479 name = _ref.name; 12480 var referenceRect = state.rects.reference; 12481 var popperRect = state.rects.popper; 12482 var preventedOffsets = state.modifiersData.preventOverflow; 12483 var referenceOverflow = detectOverflow(state, { 12484 elementContext: 'reference' 12485 }); 12486 var popperAltOverflow = detectOverflow(state, { 12487 altBoundary: true 12488 }); 12489 var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); 12490 var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); 12491 var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); 12492 var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); 12493 state.modifiersData[name] = { 12494 referenceClippingOffsets: referenceClippingOffsets, 12495 popperEscapeOffsets: popperEscapeOffsets, 12496 isReferenceHidden: isReferenceHidden, 12497 hasPopperEscaped: hasPopperEscaped 12498 }; 12499 state.attributes.popper = Object.assign({}, state.attributes.popper, { 12500 'data-popper-reference-hidden': isReferenceHidden, 12501 'data-popper-escaped': hasPopperEscaped 12502 }); 12503 } // eslint-disable-next-line import/no-unused-modules 12504 12505 12506 var hide$1 = { 12507 name: 'hide', 12508 enabled: true, 12509 phase: 'main', 12510 requiresIfExists: ['preventOverflow'], 12511 fn: hide 12512 }; 12513 12514 var defaultModifiers$1 = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1]; 12515 var createPopper$1 = /*#__PURE__*/popperGenerator({ 12516 defaultModifiers: defaultModifiers$1 12517 }); // eslint-disable-next-line import/no-unused-modules 12518 12519 var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1]; 12520 var createPopper = /*#__PURE__*/popperGenerator({ 12521 defaultModifiers: defaultModifiers 12522 }); // eslint-disable-next-line import/no-unused-modules 12523 12524 exports.applyStyles = applyStyles$1; 12525 exports.arrow = arrow$1; 12526 exports.computeStyles = computeStyles$1; 12527 exports.createPopper = createPopper; 12528 exports.createPopperLite = createPopper$1; 12529 exports.defaultModifiers = defaultModifiers; 12530 exports.detectOverflow = detectOverflow; 12531 exports.eventListeners = eventListeners; 12532 exports.flip = flip$1; 12533 exports.hide = hide$1; 12534 exports.offset = offset$1; 12535 exports.popperGenerator = popperGenerator; 12536 exports.popperOffsets = popperOffsets$1; 12537 exports.preventOverflow = preventOverflow$1; 12538 12539 Object.defineProperty(exports, '__esModule', { value: true }); 12540 12541}))); 12542//# sourceMappingURL=popper.js.map
vendor: 873 bytes, lines 12543-12549
12543 12544/*! 12545 * Bootstrap v5.3.7 (https://getbootstrap.com/) 12546 * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) 12547 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) 12548 */ 12549!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@popperjs/core")):"function"==typeof define&&define.amd?define(["@popperjs/core"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t)for(const i in t)if("default"!==i){const s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>t[i]})}return e.default=t,Object.freeze(e)}const i=e(t),s=new Map,n={set(t,e,i){s.has(t)||s.set(t,new Map);const n=s.get(t);
vendor: 9,998 bytes, line 12549
12549n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>s.has(t)&&s.get(t).get(e)||null,remove(t,e){if(!s.has(t))return;const i=s.get(t);i.delete(e),0===i.size&&s.delete(t)}},o="transitionend",r=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),a=t=>{t.dispatchEvent(new Event(o))},l=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),c=t=>l(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(r(t)):null,h=t=>{if(!l(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},d=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),u=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?u(t.parentNode):null},_=()=>{},g=t=>{t.offsetHeight},f=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,m=[],p=()=>"rtl"===document.documentElement.dir,b=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,s=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=s,t.jQueryInterface)}},"loading"===document.readyState?(m.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of m)t()})),m.push(e)):e()},v=(t,e=[],i=t)=>"function"==typeof t?t.call(...e):i,y=(t,e,i=!0)=>{if(!i)return void v(t);const s=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let n=!1;const r=({target:i})=>{i===e&&(n=!0,e.removeEventListener(o,r),v(t))};e.addEventListener(o,r),setTimeout((()=>{n||a(e)}),s)},w=(t,e,i,s)=>{const n=t.length;let o=t.indexOf(e);return-1===o?!i&&s?t[n-1]:t[0]:(o+=i?1:-1,s&&(o=(o+n)%n),t[Math.max(0,Math.min(o,n-1))])},A=/[^.]*(?=\..*)\.|.*/,E=/\..*/,C=/::\d+$/,T={};let k=1;const $={mouseenter:"mouseover",mouseleave:"mouseout"},S=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function L(t,e){return e&&`${e}::${k++}`||t.uidEvent||k++}function O(t){const e=L(t);return t.uidEvent=e,T[e]=T[e]||{},T[e]}function I(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function D(t,e,i){const s="string"==typeof e,n=s?i:e||i;let o=M(t);return S.has(o)||(o=t),[s,n,o]}function N(t,e,i,s,n){if("string"!=typeof e||!t)return;let[o,r,a]=D(e,i,s);if(e in $){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=O(t),c=l[a]||(l[a]={}),h=I(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&n);const d=L(r,e.replace(A,"")),u=o?function(t,e,i){return function s(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return F(n,{delegateTarget:r}),s.oneOff&&j.off(t,n.type,e,i),i.apply(r,[n])}}(t,i,r):function(t,e){return function i(s){return F(s,{delegateTarget:t}),i.oneOff&&j.off(t,s.type,e),e.apply(t,[s])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=n,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function P(t,e,i,s,n){const o=I(e[i],s,n);o&&(t.removeEventListener(i,o,Boolean(n)),delete e[i][o.uidEvent])}function x(t,e,i,s){const n=e[i]||{};for(const[o,r]of Object.entries(n))o.includes(s)&&P(t,e,i,r.callable,r.delegationSelector)}function M(t){return t=t.replace(E,""),$[t]||t}const j={on(t,e,i,s){N(t,e,i,s,!1)},one(t,e,i,s){N(t,e,i,s,!0)},off(t,e,i,s){if("string"!=typeof e||!t)return;const[n,o,r]=D(e,i,s),a=r!==e,l=O(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))x(t,l,i,e.slice(1));for(const[i,s]of Object.entries(c)){const n=i.replace(C,"");a&&!e.includes(n)||P(t,l,r,s.callable,s.delegationSelector)}}else{if(!Object.keys(c).length)return;P(t,l,r,o,n?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const s=f();let n=null,o=!0,r=!0,a=!1;e!==M(e)&&s&&(n=s.Event(e,i),s(t).trigger(n),o=!n.isPropagationStopped(),r=!n.isImmediatePropagationStopped(),a=n.isDefaultPrevented());const l=F(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&n&&n.preventDefault(),l}};function F(t,e={}){for(const[i,s]of Object.entries(e))try{t[i]=s}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>s})}return t}function z(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function H(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const B={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${H(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${H(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const s of i){let i=s.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1),e[i]=z(t.dataset[s])}return e},getDataAttribute:(t,e)=>z(t.getAttribute(`data-bs-${H(e)}`))};class q{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=l(e)?B.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...l(e)?B.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[s,n]of Object.entries(e)){const e=t[s],o=l(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(n).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${s}" provided type "${o}" but expected type "${n}".`)}var i}}class W extends q{constructor(t,e){super(),(t=c(t))&&(this._element=t,this._config=this._getConfig(e),n.set(this._element,this.constructor.DATA_KEY,this))}dispose(){n.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){y(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return n.get(c(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.7"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const R=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>r(t))).join(","):null},K={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let s=t.parentNode.closest(e);for(;s;)i.push(s),s=s.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!d(t)&&h(t)))},getSelectorFromElement(t){const e=R(t);return e&&K.findOne(e)?e:null},getElementFromSelector(t){const e=R(t);return e?K.findOne(e):null},getMultipleElementsFromSelector(t){const e=R(t);return e?K.find(e):[]}},V=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),d(this))return;const n=K.getElementFromSelector(this)||this.closest(`.${s}`);t.getOrCreateInstance(n)[e]()}))},Q=".bs.alert",X=`close${Q}`,Y=`closed${Q}`;class U extends W{static get NAME(){return"alert"}close(){if(j.trigger(this._element,X).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,Y),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=U.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method n
12549amed "${t}"`);e[t](this)}}))}}V(U,"close"),b(U);const G='[data-bs-toggle="button"]';class J extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=J.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}j.on(document,"click.bs.button.data-api",G,(t=>{t.preventDefault();const e=t.target.closest(G);J.getOrCreateInstance(e).toggle()})),b(J);const Z=".bs.swipe",tt=`touchstart${Z}`,et=`touchmove${Z}`,it=`touchend${Z}`,st=`pointerdown${Z}`,nt=`pointerup${Z}`,ot={endCallback:null,leftCallback:null,rightCallback:null},rt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class at extends q{constructor(t,e){super(),this._element=t,t&&at.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return ot}static get DefaultType(){return rt}static get NAME(){return"swipe"}dispose(){j.off(this._element,Z)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),v(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&v(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(j.on(this._element,st,(t=>this._start(t))),j.on(this._element,nt,(t=>this._end(t))),this._element.classList.add("pointer-event")):(j.on(this._element,tt,(t=>this._start(t))),j.on(this._element,et,(t=>this._move(t))),j.on(this._element,it,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const lt=".bs.carousel",ct=".data-api",ht="ArrowLeft",dt="ArrowRight",ut="next",_t="prev",gt="left",ft="right",mt=`slide${lt}`,pt=`slid${lt}`,bt=`keydown${lt}`,vt=`mouseenter${lt}`,yt=`mouseleave${lt}`,wt=`dragstart${lt}`,At=`load${lt}${ct}`,Et=`click${lt}${ct}`,Ct="carousel",Tt="active",kt=".active",$t=".carousel-item",St=kt+$t,Lt={[ht]:ft,[dt]:gt},Ot={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},It={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Dt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=K.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===Ct&&this.cycle()}static get Default(){return Ot}static get DefaultType(){return It}static get NAME(){return"carousel"}next(){this._slide(ut)}nextWhenVisible(){!document.hidden&&h(this._element)&&this.next()}prev(){this._slide(_t)}pause(){this._isSliding&&a(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?j.one(this._element,pt,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,pt,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const s=t>i?ut:_t;this._slide(s,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&j.on(this._element,bt,(t=>this._keydown(t))),"hover"===this._config.pause&&(j.on(this._element,vt,(()=>this.pause())),j.on(this._element,yt,(()=>this._maybeEnableCycle()))),this._config.touch&&at.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of K.find(".carousel-item img",this._element))j.on(t,wt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(gt)),rightCallback:()=>this._slide(this._directionToOrder(ft)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new at(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Lt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=K.findOne(kt,this._indicatorsElement);e.classList.remove(Tt),e.removeAttribute("aria-current");const i=K.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(Tt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),s=t===ut,n=e||w(this._getItems(),i,s,this._config.wrap);if(n===i)return;const o=this._getItemIndex(n),r=e=>j.trigger(this._element,e,{relatedTarget:n,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(mt).defaultPrevented)return;if(!i||!n)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=n;const l=s?"carousel-item-start":"carousel-item-end",c=s?"carousel-item-next":"carousel-item-prev";n.classList.add(c),g(n),i.classList.add(l),n.classList.add(l),this._queueCallback((()=>{n.classList.remove(l,c),n.classList.add(Tt),i.classList.remove(Tt,c,l),this._isSliding=!1,r(pt)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return K.findOne(St,this._element)}_getItems(){return K.find($t,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===gt?_t:ut:t===gt?ut:_t}_orderToDirection(t){return p()?t===_t?gt:ft:t===_t?ft:gt}static jQueryInterface(t){return this.each((function(){const e=Dt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method n
12549amed "${t}"`);e[t]()}}else e.to(t)}))}}j.on(document,Et,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=K.getElementFromSelector(this);if(!e||!e.classList.contains(Ct))return;t.preventDefault();const i=Dt.getOrCreateInstance(e),s=this.getAttribute("data-bs-slide-to");return s?(i.to(s),void i._maybeEnableCycle()):"next"===B.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),j.on(window,At,(()=>{const t=K.find('[data-bs-ride="carousel"]');for(const e of t)Dt.getOrCreateInstance(e)})),b(Dt);const Nt=".bs.collapse",Pt=`show${Nt}`,xt=`shown${Nt}`,Mt=`hide${Nt}`,jt=`hidden${Nt}`,Ft=`click${Nt}.data-api`,zt="show",Ht="collapse",Bt="collapsing",qt=`:scope .${Ht} .${Ht}`,Wt='[data-bs-toggle="collapse"]',Rt={parent:null,toggle:!0},Kt={parent:"(null|element)",toggle:"boolean"};class Vt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=K.find(Wt);for(const t of i){const e=K.getSelectorFromElement(t),i=K.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Rt}static get DefaultType(){return Kt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Vt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(j.trigger(this._element,Pt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Ht),this._element.classList.add(Bt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Bt),this._element.classList.add(Ht,zt),this._element.style[e]="",j.trigger(this._element,xt)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,Mt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,g(this._element),this._element.classList.add(Bt),this._element.classList.remove(Ht,zt);for(const t of this._triggerArray){const e=K.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(Bt),this._element.classList.add(Ht),j.trigger(this._element,jt)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(zt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=c(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Wt);for(const e of t){const t=K.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=K.find(qt,this._config.parent);return K.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Vt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}j.on(document,Ft,Wt,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of K.getMultipleElementsFromSelector(this))Vt.getOrCreateInstance(t,{toggle:!1}).toggle()})),b(Vt);const Qt="dropdown",Xt=".bs.dropdown",Yt=".data-api",Ut="ArrowUp",Gt="ArrowDown",Jt=`hide${Xt}`,Zt=`hidden${Xt}`,te=`show${Xt}`,ee=`shown${Xt}`,ie=`click${Xt}${Yt}`,se=`keydown${Xt}${Yt}`,ne=`keyup${Xt}${Yt}`,oe="show",re='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',ae=`${re}.${oe}`,le=".dropdown-menu",ce=p()?"top-end":"top-start",he=p()?"top-start":"top-end",de=p()?"bottom-end":"bottom-start",ue=p()?"bottom-start":"bottom-end",_e=p()?"left-start":"right-start",ge=p()?"right-start":"left-start",fe={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},me={autoClose:"(boolean|string)",boundary:"(string|element)",display:"str
12549ing",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class pe extends W{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=K.next(this._element,le)[0]||K.prev(this._element,le)[0]||K.findOne(le,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return fe}static get DefaultType(){return me}static get NAME(){return Qt}toggle(){return this._isShown()?this.hide():this.show()}show(){if(d(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!j.trigger(this._element,te,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))j.on(t,"mouseover",_);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(oe),this._element.classList.add(oe),j.trigger(this._element,ee,t)}}hide(){if(d(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!j.trigger(this._element,Jt,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.off(t,"mouseover",_);this._popper&&this._popper.destroy(),this._menu.classList.remove(oe),this._element.classList.remove(oe),this._element.setAttribute("aria-expanded","false"),B.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,Zt,t),this._element.focus()}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!l(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Qt.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===i)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org/docs/v2/)");let t=this._element;"parent"===this._config.reference?t=this._parent:l(this._config.reference)?t=c(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=i.createPopper(t,this._menu,e)}_isShown(){return this._menu.classList.contains(oe)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return _e;if(t.classList.contains("dropstart"))return ge;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?he:ce:e?ue:de}
vendor: 10,255 bytes, line 12549
12549_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(B.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...v(this._config.popperConfig,[void 0,t])}}_selectMenuItem({key:t,target:e}){const i=K.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>h(t)));i.length&&w(i,e,t===Gt,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=pe.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=K.find(ae);for(const i of e){const e=pe.getInstance(i);if(!e||!1===e._config.autoClose)continue;const s=t.composedPath(),n=s.includes(e._menu);if(s.includes(e._element)||"inside"===e._config.autoClose&&!n||"outside"===e._config.autoClose&&n)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,s=[Ut,Gt].includes(t.key);if(!s&&!i)return;if(e&&!i)return;t.preventDefault();const n=this.matches(re)?this:K.prev(this,re)[0]||K.next(this,re)[0]||K.findOne(re,t.delegateTarget.parentNode),o=pe.getOrCreateInstance(n);if(s)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),n.focus())}}j.on(document,se,re,pe.dataApiKeydownHandler),j.on(document,se,le,pe.dataApiKeydownHandler),j.on(document,ie,pe.clearMenus),j.on(document,ne,pe.clearMenus),j.on(document,ie,re,(function(t){t.preventDefault(),pe.getOrCreateInstance(this).toggle()})),b(pe);const be="backdrop",ve="show",ye=`mousedown.bs.${be}`,we={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ae={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ee extends q{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return we}static get DefaultType(){return Ae}static get NAME(){return be}show(t){if(!this._config.isVisible)return void v(t);this._append();const e=this._getElement();this._config.isAnimated&&g(e),e.classList.add(ve),this._emulateAnimation((()=>{v(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(ve),this._emulateAnimation((()=>{this.dispose(),v(t)}))):v(t)}dispose(){this._isAppended&&(j.off(this._element,ye),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=c(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),j.on(t,ye,(()=>{v(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){y(t,this._getElement(),this._config.isAnimated)}}const Ce=".bs.focustrap",Te=`focusin${Ce}`,ke=`keydown.tab${Ce}`,$e="backward",Se={autofocus:!0,trapElement:null},Le={autofocus:"boolean",trapElement:"element"};class Oe extends q{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Se}static get DefaultType(){return Le}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),j.off(document,Ce),j.on(document,Te,(t=>this._handleFocusin(t))),j.on(document,ke,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,Ce))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=K.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===$e?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?$e:"forward")}}const Ie=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",De=".sticky-top",Ne="padding-right",Pe="margin-right";class xe{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Ne,(e=>e+t)),this._setElementAttributes(Ie,Ne,(e=>e+t)),this._setElementAttributes(De,Pe,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,Ne),this._resetElementAttributes(Ie,Ne),this._resetElementAttributes(De,Pe)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const s=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+s)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(n))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&B.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=B.getDataAttribute(t,e);null!==i?(B.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(l(t))e(t);else for(const i of K.find(t,this._element))e(i)}}const Me=".bs.modal",je=`hide${Me}`,Fe=`hidePrevented${Me}`,ze=`hidden${Me}`,He=`show${Me}`,Be=`shown${Me}`,qe=`resize${Me}`,We=`click.dismiss${Me}`,Re=`mousedown.dismiss${Me}`,Ke=`keydown.dismiss${Me}`,Ve=`click${Me}.data-api`,Qe="modal-open",Xe="show",Ye="modal-static",Ue={backdrop:!0,focus:!0,keyboard:!0},Ge={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Je extends W{constructor(t,e){super(t,e),this._dialog=K.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new xe,this._addEventListeners()}static get Default(){return Ue}static get DefaultType(){return Ge}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,He,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Qe),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(j.trigger(this._element,je).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Xe),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){j.off(window,Me),j.off(this._dialog,Me),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ee({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Oe({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=K.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),g(this._element),this._element.classList.add(Xe),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,Be,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){j.on(this._element,Ke,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),j.on(window,qe,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),j.on(this._element,Re,(t=>{j.one(this._element,We,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Qe),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,ze)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(j.trigger(this._element,Fe).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(Ye)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(Ye),this._queueCallback((()=>{this._element.classList.remove(Ye),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Je.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method n
12549amed "${t}"`);i[t](e)}}))}}j.on(document,Ve,'[data-bs-toggle="modal"]',(function(t){const e=K.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),j.one(e,He,(t=>{t.defaultPrevented||j.one(e,ze,(()=>{h(this)&&this.focus()}))}));const i=K.findOne(".modal.show");i&&Je.getInstance(i).hide(),Je.getOrCreateInstance(e).toggle(this)})),V(Je),b(Je);const Ze=".bs.offcanvas",ti=".data-api",ei=`load${Ze}${ti}`,ii="show",si="showing",ni="hiding",oi=".offcanvas.show",ri=`show${Ze}`,ai=`shown${Ze}`,li=`hide${Ze}`,ci=`hidePrevented${Ze}`,hi=`hidden${Ze}`,di=`resize${Ze}`,ui=`click${Ze}${ti}`,_i=`keydown.dismiss${Ze}`,gi={backdrop:!0,keyboard:!0,scroll:!1},fi={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class mi extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return gi}static get DefaultType(){return fi}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,ri,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new xe).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(si),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(ii),this._element.classList.remove(si),j.trigger(this._element,ai,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,li).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ni),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(ii,ni),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new xe).reset(),j.trigger(this._element,hi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ee({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():j.trigger(this._element,ci)}:null})}_initializeFocusTrap(){return new Oe({trapElement:this._element})}_addEventListeners(){j.on(this._element,_i,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():j.trigger(this._element,ci))}))}static jQueryInterface(t){return this.each((function(){const e=mi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}j.on(document,ui,'[data-bs-toggle="offcanvas"]',(function(t){const e=K.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this))return;j.one(e,hi,(()=>{h(this)&&this.focus()}));const i=K.findOne(oi);i&&i!==e&&mi.getInstance(i).hide(),mi.getOrCreateInstance(e).toggle(this)})),j.on(window,ei,(()=>{for(const t of K.find(oi))mi.getOrCreateInstance(t).show()})),j.on(window,di,(()=>{for(const t of K.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&mi.getOrCreateInstance(t).hide()})),V(mi),b(mi);const pi={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},bi=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),vi=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,yi=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!bi.has(i)||Boolean(vi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},wi={allowList:pi,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},Ai={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Ei={entry:"(string|element|function|null)",selector:"(string|element)"};class Ci extends q{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return wi}static get DefaultType(){return Ai}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>
vendor: 4,600 bytes, line 12549
12549this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Ei)}_setContent(t,e,i){const s=K.findOne(i,t);s&&((e=this._resolvePossibleFunction(e))?l(e)?this._putElementInTemplate(c(e),s):this._config.html?s.innerHTML=this._maybeSanitize(e):s.textContent=e:s.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const s=(new window.DOMParser).parseFromString(t,"text/html"),n=[].concat(...s.body.querySelectorAll("*"));for(const t of n){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const s=[].concat(...t.attributes),n=[].concat(e["*"]||[],e[i]||[]);for(const e of s)yi(e,n)||t.removeAttribute(e.nodeName)}return s.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return v(t,[void 0,this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Ti=new Set(["sanitize","allowList","sanitizeFn"]),ki="fade",$i="show",Si=".tooltip-inner",Li=".modal",Oi="hide.bs.modal",Ii="hover",Di="focus",Ni="click",Pi={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},xi={allowList:pi,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},Mi={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class ji extends W{constructor(t,e){if(void 0===i)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org/docs/v2/)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return xi}static get DefaultType(){return Mi}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(Li),Oi,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=j.trigger(this._element,this.constructor.eventName("show")),e=(u(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:s}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(i),j.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add($i),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.on(t,"mouseover",_);this._queueCallback((()=>{j.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}
vendor: 5,484 bytes, line 12549
12549hide(){if(this._isShown()&&!j.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove($i),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))j.off(t,"mouseover",_);this._activeTrigger[Ni]=!1,this._activeTrigger[Di]=!1,this._activeTrigger[Ii]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ki,$i),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ki),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Ci({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[Si]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ki)}_isShown(){return this.tip&&this.tip.classList.contains($i)}_createPopper(t){const e=v(this._config.placement,[this,t,this._element]),s=Pi[e.toUpperCase()];return i.createPopper(this._element,t,this._getPopperConfig(s))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return v(t,[this._element,this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...v(this._config.popperConfig,[void 0,e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)j.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[Ni]=!(e._isShown()&&e._activeTrigger[Ni]),e.toggle()}));else if("manual"!==e){const t=e===Ii?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===Ii?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");j.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?Di:Ii]=!0,e._enter()})),j.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?Di:Ii]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(Li),Oi,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=B.getDataAttributes(this._element);for(const t of Object.keys(e))Ti.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:c(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=ji.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method n
12549amed "${t}"`);e[t]()}}))}}b(ji);const Fi=".popover-header",zi=".popover-body",Hi={...ji.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},Bi={...ji.DefaultType,content:"(null|string|element|function)"};class qi extends ji{static get Default(){return Hi}static get DefaultType(){return Bi}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[Fi]:this._getTitle(),[zi]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}b(qi);const Wi=".bs.scrollspy",Ri=`activate${Wi}`,Ki=`click${Wi}`,Vi=`load${Wi}.data-api`,Qi="active",Xi="[href]",Yi=".nav-link",Ui=`${Yi}, .nav-item > ${Yi}, .list-group-item`,Gi={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Ji={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Zi extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Gi}static get DefaultType(){return Ji}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=c(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(j.off(this._config.target,Ki),j.on(this._config.target,Ki,Xi,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,s=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:s,behavior:"smooth"});i.scrollTop=s}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},s=(this._rootElement||document.documentElement).scrollTop,n=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(n&&t){if(i(o),!s)return}else n||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=K.find(Xi,this._config.target);for(const e of t){if(!e.hash||d(e))continue;const t=K.findOne(decodeURI(e.hash),this._element);h(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Qi),this._activateParents(t),j.trigger(this._element,Ri,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))K.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(Qi);else for(const e of K.parents(t,".nav, .list-group"))for(const t of K.prev(e,Ui))t.classList.add(Qi)}_clearActiveClass(t){t.classList.remove(Qi);const e=K.find(`${Xi}.${Qi}`,t);for(const t of e)t.classList.remove(Qi)}static jQueryInterface(t){return this.each((function(){const e=Zi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method n
12549amed "${t}"`);e[t]()}}))}}j.on(window,Vi,(()=>{for(const t of K.find('[data-bs-spy="scroll"]'))Zi.getOrCreateInstance(t)})),b(Zi);const ts=".bs.tab",es=`hide${ts}`,is=`hidden${ts}`,ss=`show${ts}`,ns=`shown${ts}`,os=`click${ts}`,rs=`keydown${ts}`,as=`load${ts}`,ls="ArrowLeft",cs="ArrowRight",hs="ArrowUp",ds="ArrowDown",us="Home",_s="End",gs="active",fs="fade",ms="show",ps=".dropdown-toggle",bs=`:not(${ps})`,vs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',ys=`.nav-link${bs}, .list-group-item${bs}, [role="tab"]${bs}, ${vs}`,ws=`.${gs}[data-bs-toggle="tab"], .${gs}[data-bs-toggle="pill"], .${gs}[data-bs-toggle="list"]`;class As extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),j.on(this._element,rs,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?j.trigger(e,es,{relatedTarget:t}):null;j.trigger(t,ss,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(gs),this._activate(K.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),j.trigger(t,ns,{relatedTarget:e})):t.classList.add(ms)}),t,t.classList.contains(fs)))}_deactivate(t,e){t&&(t.classList.remove(gs),t.blur(),this._deactivate(K.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),j.trigger(t,is,{relatedTarget:e})):t.classList.remove(ms)}),t,t.classList.contains(fs)))}_keydown(t){if(![ls,cs,hs,ds,us,_s].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!d(t)));let i;if([us,_s].includes(t.key))i=e[t.key===us?0:e.length-1];else{const s=[cs,ds].includes(t.key);i=w(e,t.target,s,!0)}i&&(i.focus({preventScroll:!0}),As.getOrCreateInstance(i).show())}_getChildren(){return K.find(ys,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=K.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const s=(t,s)=>{const n=K.findOne(t,i);n&&n.classList.toggle(s,e)};s(ps,gs),s(".dropdown-menu",ms),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(gs)}_getInnerElement(t){return t.matches(ys)?t:K.findOne(ys,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=As.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(document,os,vs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),d(this)||As.getOrCreateInstance(this).show()})),j.on(window,as,(()=>{for(const t of K.find(ws))As.getOrCreateInstance(t)})),b(As);const Es=".bs.toast",Cs=`mouseover${Es}`,Ts=`mouseout${Es}`,ks=`focusin${Es}`,$s=`focusout${Es}`,Ss=`hide${Es}`,Ls=`hidden${Es}`,Os=`show${Es}`,Is=`shown${Es}`,Ds="hide",Ns="show",Ps="showing",xs={animation:"boolean",autohide:"boolean",delay:"number"},Ms={animation:!0,autohide:!0,delay:5e3};class js extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Ms}static get DefaultType(){return xs}static get NAME(){return"toast"}show(){j.trigger(this._element,Os).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Ds),g(this._element),this._element.classList.add(Ns,Ps),this._queueCallback((()=>{this._element.classList.remove(Ps),j.trigger(this._element,Is),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(j.trigger(this._element,Ss).defaultPrevented||(this._element.classList.add(Ps),this._queueCallback((()=>{this._element.classList.add(Ds),this._element.classList.remove(Ps,Ns),j.trigger(this._element,Ls)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(Ns),super.dispose()}isShown(){return this._element.classList.contains(Ns)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,Cs,(t=>this._onInteraction(t,!0))),j.on(this._element,Ts,(t=>this._onInteraction(t,!1))),j.on(this._element,ks,(t=>this._onInteraction(t,!0))),j.on(this._element,$s,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=js.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method n
12549amed "${t}"`);e[t](this)}}))}}return V(js),b(js),{Alert:U,Button:J,Carousel:Dt,Collapse:Vt,Dropdown:pe,Modal:Je,Offcanvas:mi,Popover:qi,ScrollSpy:Zi,Tab:As,Toast:js,Tooltip:ji}})); 12550//# sourceMappingURL=bootstrap.min.js.map
vendor: 375,055 bytes, lines 12551-12552
12551!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define(a):e.moment=a()}(this,function(){"use strict";var E;function c(){return E.apply(null,arguments)}function F(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function z(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function N(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;for(var a in e)if(l(e,a))return;return 1}function L(e){return void 0===e}function J(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function R(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function C(e,a){for(var t=[],s=e.length,n=0;n<s;++n)t.push(a(e[n],n));return t}function I(e,a){for(var t in a)l(a,t)&&(e[t]=a[t]);return l(a,"toString")&&(e.toString=a.toString),l(a,"valueOf")&&(e.valueOf=a.valueOf),e}function U(e,a,t,s){return Na(e,a,t,s,!0).utc()}function Y(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidEra:null,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],era:null,meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function G(e){var a,t,s=e._d&&!isNaN(e._d.getTime());return s&&(a=Y(e),t=q.call(a.parsedDateParts,function(e){return null!=e}),s=a.overflow<0&&!a.empty&&!a.invalidEra&&!a.invalidMonth&&!a.invalidWeekday&&!a.weekdayMismatch&&!a.nullInput&&!a.invalidFormat&&!a.userInvalidated&&(!a.meridiem||a.meridiem&&t),e._strict)&&(s=s&&0===a.charsLeftOver&&0===a.unusedTokens.length&&void 0===a.bigHour),null!=Object.isFrozen&&Object.isFrozen(e)?s:(e._isValid=s,e._isValid)}function V(e){var a=U(NaN);return null!=e?I(Y(a),e):Y(a).userInvalidated=!0,a}var q=Array.prototype.some||function(e){for(var a=Object(this),t=a.length>>>0,s=0;s<t;s++)if(s in a&&e.call(this,a[s],s,a))return!0;return!1},B=c.momentProperties=[],K=!1;function Z(e,a){var t,s,n,r=B.length;if(L(a._isAMomentObject)||(e._isAMomentObject=a._isAMomentObject),L(a._i)||(e._i=a._i),L(a._f)||(e._f=a._f),L(a._l)||(e._l=a._l),L(a._strict)||(e._strict=a._strict),L(a._tzm)||(e._tzm=a._tzm),L(a._isUTC)||(e._isUTC=a._isUTC),L(a._offset)||(e._offset=a._offset),L(a._pf)||(e._pf=Y(a)),L(a._locale)||(e._locale=a._locale),0<r)for(t=0;t<r;t++)L(n=a[s=B[t]])||(e[s]=n);return e}function $(e){Z(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===K&&(K=!0,c.updateOffset(this),K=!1)}function Q(e){return e instanceof $||null!=e&&null!=e._isAMomentObject}function X(e){!1===c.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function e(r,d){var _=!0;return I(function(){if(null!=c.deprecationHandler&&c.deprecationHandler(null,r),_){for(var e,a,t=[],s=arguments.length,n=0;n<s;n++){if(e="","object"==typeof arguments[n]){for(a in e+="\n["+n+"] ",arguments[0])l(arguments[0],a)&&(e+=a+": "+arguments[0][a]+", ");e=e.slice(0,-2)}else e=arguments[n];t.push(e)}X(r+"\nArguments: "+Array.prototype.slice.call(t).join("")+"\n"+(new Error).stack),_=!1}return d.apply(this,arguments)},d)}var ee={};function ae(e,a){null!=c.deprecationHandler&&c.deprecationHandler(e,a),ee[e]||(X(a),ee[e]=!0)}function te(e){return"undefined"!=typeof Function&&e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function se(e,a){var t,s=I({},e);for(t in a)l(a,t)&&(z(e[t])&&z(a[t])?(s[t]={},I(s[t],e[t]),I(s[t],a[t])):null!=a[t]?s[t]=a[t]:delete s[t]);for(t in e)l(e,t)&&!l(a,t)&&z(e[t])&&(s[t]=I({},s[t]));return s}function ne(e){null!=e&&this.set(e)}c.suppressDeprecationWarnings=!1,c.deprecationHandler=null;var re=Object.keys||function(e){var a,t=[];for(a in e)l(e,a)&&t.push(a);return t};function de(e,a,t){var s=""+Math.abs(e);return(0<=e?t?"+":"":"-")+Math.pow(10,Math.max(0,a-s.length)).toString().substr(1)+s}var _e=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ie=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,oe={},me={};function s(e,a,t,s){var n="string"==typeof s?function(){return this[s]()}:s;e&&(me[e]=n),a&&(me[a[0]]=function(){return de(n.apply(this,arguments),a[1],a[2])}),t&&(me[t]=function(){return this.localeData().ordinal(n.apply(this,arguments),e)})}function ue(e,a){return e.isValid()?(a=le(a,e.localeData()),oe[a]=oe[a]||function(s){for(var e,n=s.match(_e),a=0,r=n.length;a<r;a++)me[n[a]]?n[a]=me[n[a]]:n[a]=(e=n[a]).match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"");return function(e){for(var a="",t=0;t<r;t++)a+=te(n[t])?n[t].call(e,s):n[t];return a}}(a),oe[a](e)):e.localeData().invalidDate()}function le(e,a){var t=5;function s(e){return a.longDateFormat(e)||e}for(ie.lastIndex=0;0<=t&&ie.test(e);)e=e.replace(ie,s),ie.lastIndex=0,--t;return e}var Me={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function d(e){return"string"==typeof e?Me[e]||Me[e.toLowerCase()]:void 0}function he(e){var a,t,s={};for(t in e)l(e,t)&&(a=d(t))&&(s[a]=e[t]);return s}var ce={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};var Le=/\d/,a=/\d\d/,Ye=/\d{3}/,t=/\d{4}/,n=/[+-]?\d{6}/,r=/\d\d?/,ye=/\d\d\d\d?/,_=/\d\d\d\d\d\d?/,fe=/\d{1,3}/,i=/\d{1,4}/,o=/[+-]?\d{1,6}/,ke=/\d+/,pe=/[+-]?\d+/,De=/Z|[+-]\d\d:?\d\d/gi,Te=/Z|[+-]\d\d(?::?\d\d)?/gi,m=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,u=/^[1-9]\d?/,M=/^([1-9]\d|\d)/;function h(e,t,s){be[e]=te(t)?t:function(e,a){return e&&s?s:t}}function ge(e,a){return l(be,e)?be[e](a._strict,a._locale):new RegExp(we(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,a,t,s,n){return a||t||s||n})))}function we(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function y(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function f(e){var e=+e,a=0;return a=0!=e&&isFinite(e)?y(e):a}var be={},He={};function k(e,t){var a,s,n=t;for("string"==typeof e&&(e=[e]),J(t)&&(n=function(e,a){a[t]=f(e)}),s=e.length,a=0;a<s;a++)He[e[a]]=n}function Se(e,n){k(e,function(e,a,t,s){t._w=t._w||{},n(e,t._w,t,s)})}function ve(e){return e%4==0&&e%100!=0||e%400==0}var p=0,je=1,xe=2,D=3,Pe=4,Oe=5,We=6,Ae=7,Ee=8;function Fe(e){return ve(e)?366:365}s("Y",0,0,function(){var e=this.year();return e<=9999?de(e,4):"+"+e}),s(0,["YY",2],0,function(){return this.year()%100}),s(0,["YYYY",4],0,"year"),s(0,["YYYYY",5],0,"year"),s(0,["YYYYYY",6,!0],0,"year"),h("Y",pe),h("YY",r,a),h("YYYY",i,t),h("YYYYY",o,n),h("YYYYYY",o,n),k(["YYYYY","YYYYYY"],p),k("YYYY",function(e,a){a[p]=2===e.length?c.parseTwoDigitYear(e):f(e)}),k("YY",function(e,a){a[p]=c.parseTwoDigitYear(e)}),k("Y",function(e,a){a[p]=parseInt(e,10)}),c.parseTwoDigitYear=function(e){return f(e)+(68<f(e)?1900:2e3)};var T,ze=Ne("FullYear",!0);function Ne(a,t){return function(e){return null!=e?(Re(this,a,e),c.updateOffset(this,t),this):Je(this,a)}}function Je(e,a){if(!e.isValid())return NaN;var t=e._d,s=e._isUTC;switch(a){case"Milliseconds":return s?t.getUTCMilliseconds():t.getMilliseconds();case"Seconds":return s?t.getUTCSeconds():t.getSeconds();case"Minutes":return s?t.getUTCMinutes():t.getMinutes();case"Hours":return s?t.getUTCHours():t.getHours();case"Date":return s?t.getUTCDate():t.getDate();case"Day":return s?t.getUTCDay():t.getDay();case"Month":return s?t.getUTCMonth():t.getMonth();case"FullYear":return s?t.getUTCFullYear():t.getFullYear();default:return NaN}}function Re(e,a,t){var s,n,r;if(e.isValid()&&!isNaN(t)){switch(s=e._d,n=e._isUTC,a){case"Milliseconds":return n?s.setUTCMilliseconds(t):s.setMilliseconds(t);case"Seconds":return n?s.setUTCSeconds(t):s.setSeconds(t);case"Minutes":return n?s.setUTCMinutes(t):s.setMinutes(t);case"Hours":return n?s.setUTCHours(t):s.setHours(t);case"Date":return n?s.setUTCDate(t):s.setDate(t);case"FullYear":break;default:return}a=t,r=e.month(),e=29!==(e=e.date())||1!==r||ve(a)?e:28,n?s.setUTCFullYear(a,r,e):s.setFullYear(a,r,e)}}function Ce(e,a){var t;return isNaN(e)||isNaN(a)?NaN:(t=(a%(t=12)+t)%t,e+=(a-t)/12,1==t?ve(e)?29:28:31-t%7%2)}T=Array.prototype.indexOf||function(e){for(var a=0;a<this.length;++a)if(this[a]===e)return a;return-1},s("M",["MM",2],"Mo",function(){return this.month()+1}),s("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),s("MMMM",0,0,function(e){return this.localeData().months(this,e)}),h("M",r,u),h("MM",r,a),h("MMM",function(e,a){return a.monthsShortRegex(e)}),h("MMMM",function(e,a){return a.monthsRegex(e)}),k(["M","MM"],function(e,a){a[je]=f(e)-1}),k(["MMM","MMMM"],function(e,a,t,s){s=t._locale.monthsParse(e,s,t._strict);null!=s?a[je]=s:Y(t).invalidMonth=e});var Ie="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Ue="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),Ge=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Ve=m,qe=m;function Be(e,a){if(e.isValid()){if("string"==typeof a)if(/^\d+$/.test(a))a=f(a);else if(!J(a=e.localeData().monthsParse(a)))return;var t=(t=e.date())<29?t:Math.min(t,Ce(e.year(),a));e._isUTC?e._d.setUTCMonth(a,t):e._d.setMonth(a,t)}}function Ke(e){return null!=e?(Be(this,e),c.updateOffset(this,!0),this):Je(this,"Month")}function Ze(){function e(e,a){return a.length-e.length}for(var a,t,s=[],n=[],r=[],d=0;d<12;d++)t=U([2e3,d]),a=we(this.monthsShort(t,"")),t=we(this.months(t,"")),s.push(a),n.push(t),r.push(t),r.push(a);s.sort(e),n.sort(e),r.sort(e),this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function $e(e,a,t,s,n,r,d){var _;return e<100&&0<=e?(_=new Date(e+400,a,t,s,n,r,d),isFinite(_.getFullYear())&&_.setFullYear(e)):_=new Date(e,a,t,s,n,r,d),_}function Qe(e){var a;return e<100&&0<=e?((a=Array.prototype.slice.call(arguments))[0]=e+400,a=new Date(Date.UTC.apply(null,a)),isFinite(a.getUTCFullYear())&&a.setUTCFullYear(e)):a=new Date(Date.UTC.apply(null,arguments)),a}function Xe(e,a,t){t=7+a-t;return t-(7+Qe(e,0,t).getUTCDay()-a)%7-1}function ea(e,a,t,s,n){var r,a=1+7*(a-1)+(7+t-s)%7+Xe(e,s,n),t=a<=0?Fe(r=e-1)+a:a>Fe(e)?(r=e+1,a-Fe(e)):(r=e,a);return{year:r,dayOfYear:t}}function aa(e,a,t){var s,n,r=Xe(e.year(),a,t),r=Math.floor((e.dayOfYear()-r-1)/7)+1;return r<1?s=r+ta(n=e.year()-1,a,t):r>ta(e.year(),a,t)?(s=r-ta(e.year(),a,t),n=e.year()+1):(n=e.year(),s=r),{week:s,year:n}}function ta(e,a,t){var s=Xe(e,a,t),a=Xe(e+1,a,t);return(Fe(e)-s+a)/7}s("w",["ww",2],"wo","week"),s("W",["WW",2],"Wo","isoWeek"),h("w",r,u),h("ww",r,a),h("W",r,u),h("WW",r,a),Se(["w","ww","W","WW"],function(e,a,t,s){a[s.substr(0,1)]=f(e)});function sa(e,a){return e.slice(a,7).concat(e.slice(0,a))}s("d",0,"do","day"),s("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),s("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),s("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),s("e",0,0,"weekday"),s("E",0,0,"isoWeekday"),h("d",r),h("e",r),h("E",r),h("dd",function(e,a){return a.weekdaysMinRegex(e)}),h("ddd",function(e,a){return a.weekdaysShortRegex(e)}),h("dddd",function(e,a){return a.weekdaysRegex(e)}),Se(["dd","ddd","dddd"],function(e,a,t,s){s=t._locale.weekdaysParse(e,s,t._strict);null!=s?a.d=s:Y(t).invalidWeekday=e}),Se(["d","e","E"],function(e,a,t,s){a[s]=f(e)});var na="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ra="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),da="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),_a=m,ia=m,oa=m;function ma(){function e(e,a){return a.length-e.length}for(var a,t,s,n=[],r=[],d=[],_=[],i=0;i<7;i++)s=U([2e3,1]).day(i),a=we(this.weekdaysMin(s,"")),t=we(this.weekdaysShort(s,"")),s=we(this.weekdays(s,"")),n.push(a),r.push(t),d.push(s),_.push(a),_.push(t),_.push(s);n.sort(e),r.sort(e),d.sort(e),_.sort(e),this._weekdaysRegex=new RegExp("^("+_.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+n.join("|")+")","i")}function ua(){return this.hours()%12||12}function la(e,a){s(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}function Ma(e,a){return a._meridiemParse}s("H",["HH",2],0,"hour"),s("h",["hh",2],0,ua),s("k",["kk",2],0,function(){return this.hours()||24}),s("hmm",0,0,function(){return""+ua.apply(this)+de(this.minutes(),2)}),s("hmmss",0,0,function(){return""+ua.apply(this)+de(this.minutes(),2)+de(this.seconds(),2)}),s("Hmm",0,0,function(){return""+this.hours()+de(this.minutes(),2)}),s("Hmmss",0,0,function(){return""+this.hours()+de(this.minutes(),2)+de(this.seconds(),2)}),la("a",!0),la("A",!1),h("a",Ma),h("A",Ma),h("H",r,M),h("h",r,u),h("k",r,u),h("HH",r,a),h("hh",r,a),h("kk",r,a),h("hmm",ye),h("hmmss",_),h("Hmm",ye),h("Hmmss",_),k(["H","HH"],D),k(["k","kk"],function(e,a,t){e=f(e);a[D]=24===e?0:e}),k(["a","A"],function(e,a,t){t._isPm=t._locale.isPM(e),t._meridiem=e}),k(["h","hh"],function(e,a,t){a[D]=f(e),Y(t).bigHour=!0}),k("hmm",function(e,a,t){var s=e.length-2;a[D]=f(e.substr(0,s)),a[Pe]=f(e.substr(s)),Y(t).bigHour=!0}),k("hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[D]=f(e.substr(0,s)),a[Pe]=f(e.substr(s,2)),a[Oe]=f(e.substr(n)),Y(t).bigHour=!0}),k("Hmm",function(e,a,t){var s=e.length-2;a[D]=f(e.substr(0,s)),a[Pe]=f(e.substr(s))}),k("Hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[D]=f(e.substr(0,s)),a[Pe]=f(e.substr(s,2)),a[Oe]=f(e.substr(n))});m=Ne("Hours",!0);var ha,ca={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ie,monthsShort:Ue,week:{dow:0,doy:6},weekdays:na,weekdaysMin:da,weekdaysShort:ra,meridiemParse:/[ap]\.?m?\.?/i},g={},La={};function Ya(e){return e&&e.toLowerCase().replace("_","-")}function ya(e){for(var a,t,s,n,r=0;r<e.length;){for(a=(n=Ya(e[r]).split("-")).length,t=(t=Ya(e[r+1]))?t.split("-"):null;0<a;){if(s=fa(n.slice(0,a).join("-")))return s;if(t&&t.length>=a&&function(e,a){for(var t=Math.min(e.length,a.length),s=0;s<t;s+=1)if(e[s]!==a[s])return s;return t}(n,t)>=a-1)break;a--}r++}return ha}function fa(a){var e,t;if(void 0===g[a]&&"undefined"!=typeof module&&module&&module.exports&&(t=a)&&t.match("^[^/\\\\]*$"))try{e=ha._abbr,require("./locale/"+a),ka(e)}catch(e){g[a]=null}return g[a]}function ka(e,a){return e&&((a=L(a)?Da(e):pa(e,a))?ha=a:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),ha._abbr}function pa(e,a){if(null===a)return delete g[e],null;var t,s=ca;if(a.abbr=e,null!=g[e])ae("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=g[e]._config;else if(null!=a.parentLocale)if(null!=g[a.parentLocale])s=g[a.parentLocale]._config;else{if(null==(t=fa(a.parentLocale)))return La[a.parentLocale]||(La[a.parentLocale]=[]),La[a.parentLocale].push({name:e,config:a}),null;s=t._config}return g[e]=new ne(se(s,a)),La[e]&&La[e].forEach(function(e){pa(e.name,e.config)}),ka(e),g[e]}function Da(e){var a;if(!(e=e&&e._locale&&e._locale._abbr?e._locale._abbr:e))return ha;if(!F(e)){if(a=fa(e))return a;e=[e]}return ya(e)}function Ta(e){var a=e._a;return a&&-2===Y(e).overflow&&(a=a[je]<0||11<a[je]?je:a[xe]<1||a[xe]>Ce(a[p],a[je])?xe:a[D]<0||24<a[D]||24===a[D]&&(0!==a[Pe]||0!==a[Oe]||0!==a[We])?D:a[Pe]<0||59<a[Pe]?Pe:a[Oe]<0||59<a[Oe]?Oe:a[We]<0||999<a[We]?We:-1,Y(e)._overflowDayOfYear&&(a<p||xe<a)&&(a=xe),Y(e)._overflowWeeks&&-1===a&&(a=Ae),Y(e)._overflowWeekday&&-1===a&&(a=Ee),Y(e).overflow=a),e}var ga=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,wa=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ba=/Z|[+-]\d\d(?::?\d\d)?/,Ha=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],Sa=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],va=/^\/?Date\((-?\d+)/i,ja=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,xa={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Pa(e){var a,t,s,n,r,d,_=e._i,i=ga.exec(_)||wa.exec(_),_=Ha.length,o=Sa.length;if(i){for(Y(e).iso=!0,a=0,t=_;a<t;a++)if(Ha[a][1].exec(i[1])){n=Ha[a][0],s=!1!==Ha[a][2];break}if(null==n)e._isValid=!1;else{if(i[3]){for(a=0,t=o;a<t;a++)if(Sa[a][1].exec(i[3])){r=(i[2]||" ")+Sa[a][0];break}if(null==r)return void(e._isValid=!1)}if(s||null==r){if(i[4]){if(!ba.exec(i[4]))return void(e._isValid=!1);d="Z"}e._f=n+(r||"")+(d||""),Fa(e)}else e._isValid=!1}}else e._isValid=!1}function Oa(e,a,t,s,n,r){e=[function(e){e=parseInt(e,10);{if(e<=49)return 2e3+e;if(e<=999)return 1900+e}return e}(e),Ue.indexOf(a),parseInt(t,10),parseInt(s,10),parseInt(n,10)];return r&&e.push(parseInt(r,10)),e}function Wa(e){var a,t,s=ja.exec(e._i.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));s?(a=Oa(s[4],s[3],s[2],s[5],s[6],s[7]),function(e,a,t){if(!e||ra.indexOf(e)===new Date(a[0],a[1],a[2]).getDay())return 1;Y(t).weekdayMismatch=!0,t._isValid=!1}(s[1],a,e)&&(e._a=a,e._tzm=(a=s[8],t=s[9],s=s[10],a?xa[a]:t?0:60*(((a=parseInt(s,10))-(t=a%100))/100)+t),e._d=Qe.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),Y(e).rfc2822=!0)):e._isValid=!1}function Aa(e,a,t){return null!=e?e:null!=a?a:t}function Ea(e){var a,t,s,n,r,d,_,i,o,m,u,l=[];if(!e._d){for(s=e,n=new Date(c.now()),t=s._useUTC?[n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate()]:[n.getFullYear(),n.getMonth(),n.getDate()],e._w&&null==e._a[xe]&&null==e._a[je]&&(null!=(n=(s=e)._w).GG||null!=n.W||null!=n.E?(i=1,o=4,r=Aa(n.GG,s._a[p],aa(w(),1,4).year),d=Aa(n.W,1),((_=Aa(n.E,1))<1||7<_)&&(m=!0)):(i=s._locale._week.dow,o=s._locale._week.doy,u=aa(w(),i,o),r=Aa(n.gg,s._a[p],u.year),d=Aa(n.w,u.week),null!=n.d?((_=n.d)<0||6<_)&&(m=!0):null!=n.e?(_=n.e+i,(n.e<0||6<n.e)&&(m=!0)):_=i),d<1||d>ta(r,i,o)?Y(s)._overflowWeeks=!0:null!=m?Y(s)._overflowWeekday=!0:(u=ea(r,d,_,i,o),s._a[p]=u.year,s._dayOfYear=u.dayOfYear)),null!=e._dayOfYear&&(n=Aa(e._a[p],t[p]),(e._dayOfYear>Fe(n)||0===e._dayOfYear)&&(Y(e)._overflowDayOfYear=!0),m=Qe(n,0,e._dayOfYear),e._a[je]=m.getUTCMonth(),e._a[xe]=m.getUTCDate()),a=0;a<3&&null==e._a[a];++a)e._a[a]=l[a]=t[a];for(;a<7;a++)e._a[a]=l[a]=null==e._a[a]?2===a?1:0:e._a[a];24===e._a[D]&&0===e._a[Pe]&&0===e._a[Oe]&&0===e._a[We]&&(e._nextDay=!0,e._a[D]=0),e._d=(e._useUTC?Qe:$e).apply(null,l),r=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[D]=24),e._w&&void 0!==e._w.d&&e._w.d!==r&&(Y(e).weekdayMismatch=!0)}}function Fa(e){if(e._f===c.ISO_8601)Pa(e);else if(e._f===c.RFC_2822)Wa(e);else{e._a=[],Y(e).empty=!0;for(var a,t,s,n,r,d=""+e._i,_=d.length,i=0,o=le(e._f,e._locale).match(_e)||[],m=o.length,u=0;u<m;u++)t=o[u],(a=(d.match(ge(t,e))||[])[0])&&(0<(s=d.substr(0,d.indexOf(a))).length&&Y(e).unusedInput.push(s),d=d.slice(d.indexOf(a)+a.length),i+=a.length),me[t]?(a?Y(e).empty=!1:Y(e).unusedTokens.push(t),s=t,r=e,null!=(n=a)&&l(He,s)&&He[s](n,r._a,r,s)):e._strict&&!a&&Y(e).unusedTokens.push(t);Y(e).charsLeftOver=_-i,0<d.length&&Y(e).unusedInput.push(d),e._a[D]<=12&&!0===Y(e).bigHour&&0<e._a[D]&&(Y(e).bigHour=void 0),Y(e).parsedDateParts=e._a.slice(0),Y(e).meridiem=e._meridiem,e._a[D]=function(e,a,t){if(null==t)return a;return null!=e.meridiemHour?e.meridiemHour(a,t):null!=e.isPM?((e=e.isPM(t))&&a<12&&(a+=12),a=e||12!==a?a:0):a}(e._locale,e._a[D],e._meridiem),null!==(_=Y(e).era)&&(e._a[p]=e._locale.erasConvertYear(_,e._a[p])),Ea(e),Ta(e)}}function za(e){var a,t,s,n=e._i,r=e._f;if(e._locale=e._locale||Da(e._l),null===n||void 0===r&&""===n)return V({nullInput:!0});if("string"==typeof n&&(e._i=n=e._locale.preparse(n)),Q(n))return new $(Ta(n));if(R(n))e._d=n;else if(F(r)){var d,_,i,o,m,u,l=e,M=!1,h=l._f.length;if(0===h)Y(l).invalidFormat=!0,l._d=new Date(NaN);else{for(o=0;o<h;o++)m=0,u=!1,d=Z({},l),null!=l._useUTC&&(d._useUTC=l._useUTC),d._f=l._f[o],Fa(d),G(d)&&(u=!0),m=(m+=Y(d).charsLeftOver)+10*Y(d).unusedTokens.length,Y(d).score=m,M?m<i&&(i=m,_=d):(null==i||m<i||u)&&(i=m,_=d,u)&&(M=!0);I(l,_||d)}}else if(r)Fa(e);else if(L(r=(n=e)._i))n._d=new Date(c.now());else R(r)?n._d=new Date(r.valueOf()):"string"==typeof r?(t=n,null!==(a=va.exec(t._i))?t._d=new Date(+a[1]):(Pa(t),!1===t._isValid&&(delete t._isValid,Wa(t),!1===t._isValid)&&(delete t._isValid,t._strict?t._isValid=!1:c.createFromInputFallback(t)))):F(r)?(n._a=C(r.slice(0),function(e){return parseInt(e,10)}),Ea(n)):z(r)?(a=n)._d||(s=void 0===(t=he(a._i)).day?t.date:t.day,a._a=C([t.year,t.month,s,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),Ea(a)):J(r)?n._d=new Date(r):c.createFromInputFallback(n);return G(e)||(e._d=null),e}function Na(e,a,t,s,n){var r={};return!0!==a&&!1!==a||(s=a,a=void 0),!0!==t&&!1!==t||(s=t,t=void 0),(z(e)&&N(e)||F(e)&&0===e.length)&&(e=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=n,r._l=t,r._i=e,r._f=a,r._strict=s,(n=new $(Ta(za(n=r))))._nextDay&&(n.add(1,"d"),n._nextDay=void 0),n}function w(e,a,t,s){return Na(e,a,t,s,!1)}c.createFromInputFallback=e("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),c.ISO_8601=function(){},c.RFC_2822=function(){};ye=e("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=w.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:V()}),_=e("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=w.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:V()});function Ja(e,a){var t,s;if(!(a=1===a.length&&F(a[0])?a[0]:a).length)return w();for(t=a[0],s=1;s<a.length;++s)a[s].isValid()&&!a[s][e](t)||(t=a[s]);return t}var Ra=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ca(e){var e=he(e),a=e.year||0,t=e.quarter||0,s=e.month||0,n=e.week||e.isoWeek||0,r=e.day||0,d=e.hour||0,_=e.minute||0,i=e.second||0,o=e.millisecond||0;this._isValid=function(e){var a,t,s=!1,n=Ra.length;for(a in e)if(l(e,a)&&(-1===T.call(Ra,a)||null!=e[a]&&isNaN(e[a])))return!1;for(t=0;t<n;++t)if(e[Ra[t]]){if(s)return!1;parseFloat(e[Ra[t]])!==f(e[Ra[t]])&&(s=!0)}return!0}(e),this._milliseconds=+o+1e3*i+6e4*_+1e3*d*60*60,this._days=+r+7*n,this._months=+s+3*t+12*a,this._data={},this._locale=Da(),this._bubble()}function Ia(e){return e instanceof Ca}function Ua(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ga(e,t){s(e,0,0,function(){var e=this.utcOffset(),a="+";return e<0&&(e=-e,a="-"),a+de(~~(e/60),2)+t+de(~~e%60,2)})}Ga("Z",":"),Ga("ZZ",""),h("Z",Te),h("ZZ",Te),k(["Z","ZZ"],function(e,a,t){t._useUTC=!0,t._tzm=qa(Te,e)});var Va=/([\+\-]|\d\d)/gi;function qa(e,a){var a=(a||"").match(e);return null===a?null:0===(a=60*(e=((a[a.length-1]||[])+"").match(Va)||["-",0,0])[1]+f(e[2]))?0:"+"===e[0]?a:-a}function Ba(e,a){var t;return a._isUTC?(a=a.clone(),t=(Q(e)||R(e)?e:w(e)).valueOf()-a.valueOf(),a._d.setTime(a._d.valueOf()+t),c.updateOffset(a,!1),a):w(e).local()}function Ka(e){return-Math.round(e._d.getTimezoneOffset())}function Za(){return!!this.isValid()&&this._isUTC&&0===this._offset}c.updateOffset=function(){};var $a=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,Qa=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Xa(e,a){var t,s=e;return Ia(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:J(e)||!isNaN(+e)?(s={},a?s[a]=+e:s.milliseconds=+e):(a=$a.exec(e))?(t="-"===a[1]?-1:1,s={y:0,d:f(a[xe])*t,h:f(a[D])*t,m:f(a[Pe])*t,s:f(a[Oe])*t,ms:f(Ua(1e3*a[We]))*t}):(a=Qa.exec(e))?(t="-"===a[1]?-1:1,s={y:et(a[2],t),M:et(a[3],t),w:et(a[4],t),d:et(a[5],t),h:et(a[6],t),m:et(a[7],t),s:et(a[8],t)}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(a=function(e,a){var t;if(!e.isValid()||!a.isValid())return{milliseconds:0,months:0};a=Ba(a,e),e.isBefore(a)?t=at(e,a):((t=at(a,e)).milliseconds=-t.milliseconds,t.months=-t.months);return t}(w(s.from),w(s.to)),(s={}).ms=a.milliseconds,s.M=a.months),t=new Ca(s),Ia(e)&&l(e,"_locale")&&(t._locale=e._locale),Ia(e)&&l(e,"_isValid")&&(t._isValid=e._isValid),t}function et(e,a){e=e&&parseFloat(e.replace(",","."));return(isNaN(e)?0:e)*a}function at(e,a){var t={};return t.months=a.month()-e.month()+12*(a.year()-e.year()),e.clone().add(t.months,"M").isAfter(a)&&--t.months,t.milliseconds=+a-+e.clone().add(t.months,"M"),t}function tt(s,n){return function(e,a){var t;return null===a||isNaN(+a)||(ae(n,"moment()."+n+"(period, number) is deprecated. Please use moment()."+n+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),t=e,e=a,a=t),st(this,Xa(e,a),s),this}}function st(e,a,t,s){var n=a._milliseconds,r=Ua(a._days),a=Ua(a._months);e.isValid()&&(s=null==s||s,a&&Be(e,Je(e,"Month")+a*t),r&&Re(e,"Date",Je(e,"Date")+r*t),n&&e._d.setTime(e._d.valueOf()+n*t),s)&&c.updateOffset(e,r||a)}Xa.fn=Ca.prototype,Xa.invalid=function(){return Xa(NaN)};Ie=tt(1,"add"),na=tt(-1,"subtract");function nt(e){return"string"==typeof e||e instanceof String}function rt(e){return Q(e)||R(e)||nt(e)||J(e)||function(a){var e=F(a),t=!1;e&&(t=0===a.filter(function(e){return!J(e)&&nt(a)}).length);return e&&t}(e)||function(e){var a,t,s=z(e)&&!N(e),n=!1,r=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],d=r.length;for(a=0;a<d;a+=1)t=r[a],n=n||l(e,t);return s&&n}(e)||null==e}function dt(e,a){var t,s;return e.date()<a.date()?-dt(a,e):-((t=12*(a.year()-e.year())+(a.month()-e.month()))+(a-(s=e.clone().add(t,"months"))<0?(a-s)/(s-e.clone().add(t-1,"months")):(a-s)/(e.clone().add(1+t,"months")-s)))||0}function _t(e){return void 0===e?this._locale._abbr:(null!=(e=Da(e))&&(this._locale=e),this)}c.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",c.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";da=e("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function it(){return this._locale}var ot=126227808e5;function mt(e,a){return(e%a+a)%a}function ut(e,a,t){return e<100&&0<=e?new Date(e+400,a,t)-ot:new Date(e,a,t).valueOf()}function lt(e,a,t){return e<100&&0<=e?Date.UTC(e+400,a,t)-ot:Date.UTC(e,a,t)}function Mt(e,a){return a.erasAbbrRegex(e)}function ht(){for(var e,a,t,s=[],n=[],r=[],d=[],_=this.eras(),i=0,o=_.length;i<o;++i)e=we(_[i].name),a=we(_[i].abbr),t=we(_[i].narrow),n.push(e),s.push(a),r.push(t),d.push(e),d.push(a),d.push(t);this._erasRegex=new RegExp("^("+d.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+n.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+s.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+r.join("|")+")","i")}function ct(e,a){s(0,[e,e.length],0,a)}function Lt(e,a,t,s,n){var r;return null==e?aa(this,s,n).year:(r=ta(e,s,n),function(e,a,t,s,n){e=ea(e,a,t,s,n),a=Qe(e.year,0,e.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,a=r<a?r:a,t,s,n))}s("N",0,0,"eraAbbr"),s("NN",0,0,"eraAbbr"),s("NNN",0,0,"eraAbbr"),s("NNNN",0,0,"eraName"),s("NNNNN",0,0,"eraNarrow"),s("y",["y",1],"yo","eraYear"),s("y",["yy",2],0,"eraYear"),s("y",["yyy",3],0,"eraYear"),s("y",["yyyy",4],0,"eraYear"),h("N",Mt),h("NN",Mt),h("NNN",Mt),h("NNNN",function(e,a){return a.erasNameRegex(e)}),h("NNNNN",function(e,a){return a.erasNarrowRegex(e)}),k(["N","NN","NNN","NNNN","NNNNN"],function(e,a,t,s){s=t._locale.erasParse(e,s,t._strict);s?Y(t).era=s:Y(t).invalidEra=e}),h("y",ke),h("yy",ke),h("yyy",ke),h("yyyy",ke),h("yo",function(e,a){return a._eraYearOrdinalRegex||ke}),k(["y","yy","yyy","yyyy"],p),k(["yo"],function(e,a,t,s){var n;t._locale._eraYearOrdinalRegex&&(n=e.match(t._locale._eraYearOrdinalRegex)),t._locale.eraYearOrdinalParse?a[p]=t._locale.eraYearOrdinalParse(e,n):a[p]=parseInt(e,10)}),s(0,["gg",2],0,function(){return this.weekYear()%100}),s(0,["GG",2],0,function(){return this.isoWeekYear()%100}),ct("gggg","weekYear"),ct("ggggg","weekYear"),ct("GGGG","isoWeekYear"),ct("GGGGG","isoWeekYear"),h("G",pe),h("g",pe),h("GG",r,a),h("gg",r,a),h("GGGG",i,t),h("gggg",i,t),h("GGGGG",o,n),h("ggggg",o,n),Se(["gggg","ggggg","GGGG","GGGGG"],function(e,a,t,s){a[s.substr(0,2)]=f(e)}),Se(["gg","GG"],function(e,a,t,s){a[s]=c.parseTwoDigitYear(e)}),s("Q",0,"Qo","quarter"),h("Q",Le),k("Q",function(e,a){a[je]=3*(f(e)-1)}),s("D",["DD",2],"Do","date"),h("D",r,u),h("DD",r,a),h("Do",function(e,a){return e?a._dayOfMonthOrdinalParse||a._ordinalParse:a._dayOfMonthOrdinalParseLenient}),k(["D","DD"],xe),k("Do",function(e,a){a[xe]=f(e.match(r)[0])});i=Ne("Date",!0);s("DDD",["DDDD",3],"DDDo","dayOfYear"),h("DDD",fe),h("DDDD",Ye),k(["DDD","DDDD"],function(e,a,t){t._dayOfYear=f(e)}),s("m",["mm",2],0,"minute"),h("m",r,M),h("mm",r,a),k(["m","mm"],Pe);var Yt,t=Ne("Minutes",!1),o=(s("s",["ss",2],0,"second"),h("s",r,M),h("ss",r,a),k(["s","ss"],Oe),Ne("Seconds",!1));for(s("S",0,0,function(){return~~(this.millisecond()/100)}),s(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),s(0,["SSS",3],0,"millisecond"),s(0,["SSSS",4],0,function(){return 10*this.millisecond()}),s(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),s(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),s(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),s(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),s(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),h("S",fe,Le),h("SS",fe,a),h("SSS",fe,Ye),Yt="SSSS";Yt.length<=9;Yt+="S")h(Yt,ke);function yt(e,a){a[We]=f(1e3*("0."+e))}for(Yt="S";Yt.length<=9;Yt+="S")k(Yt,yt);n=Ne("Milliseconds",!1),s("z",0,0,"zoneAbbr"),s("zz",0,0,"zoneName");u=$.prototype;function ft(e){return e}u.add=Ie,u.calendar=function(e,a){1===arguments.length&&(arguments[0]?rt(arguments[0])?(e=arguments[0],a=void 0):function(e){for(var a=z(e)&&!N(e),t=!1,s=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],n=0;n<s.length;n+=1)t=t||l(e,s[n]);return a&&t}(arguments[0])&&(a=arguments[0],e=void 0):a=e=void 0);var e=e||w(),t=Ba(e,this).startOf("day"),t=c.calendarFormat(this,t)||"sameElse",a=a&&(te(a[t])?a[t].call(this,e):a[t]);return this.format(a||this.localeData().calendar(t,this,w(e)))},u.clone=function(){return new $(this)},u.diff=function(e,a,t){var s,n,r;if(!this.isValid())return NaN;if(!(s=Ba(e,this)).isValid())return NaN;switch(n=6e4*(s.utcOffset()-this.utcOffset()),a=d(a)){case"year":r=dt(this,s)/12;break;case"month":r=dt(this,s);break;case"quarter":r=dt(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-n)/864e5;break;case"week":r=(this-s-n)/6048e5;break;default:r=this-s}return t?r:y(r)},u.endOf=function(e){var a,t;if(void 0!==(e=d(e))&&"millisecond"!==e&&this.isValid()){switch(t=this._isUTC?lt:ut,e){case"year":a=t(this.year()+1,0,1)-1;break;case"quarter":a=t(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":a=t(this.year(),this.month()+1,1)-1;break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":a=t(this.year(),this.month(),this.date()+1)-1;break;case"hour":a=this._d.valueOf(),a+=36e5-mt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":a=this._d.valueOf(),a+=6e4-mt(a,6e4)-1;break;case"second":a=this._d.valueOf(),a+=1e3-mt(a,1e3)-1;break}this._d.setTime(a),c.updateOffset(this,!0)}return this},u.format=function(e){return e=e||(this.isUtc()?c.defaultFormatUtc:c.defaultFormat),e=ue(this,e),this.localeData().postformat(e)},u.from=function(e,a){return this.isValid()&&(Q(e)&&e.isValid()||w(e).isValid())?Xa({to:this,from:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},u.fromNow=function(e){return this.from(w(),e)},u.to=function(e,a){return this.isValid()&&(Q(e)&&e.isValid()||w(e).isValid())?Xa({from:this,to:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},u.toNow=function(e){return this.to(w(),e)},u.get=function(e){return te(this[e=d(e)])?this[e]():this},u.invalidAt=function(){return Y(this).overflow},u.isAfter=function(e,a){return e=Q(e)?e:w(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(a=d(a)||"millisecond")?this.valueOf()>e.valueOf():e.valueOf()<this.clone().startOf(a).valueOf())},u.isBefore=function(e,a){return e=Q(e)?e:w(e),!(!this.isValid()||!e.isValid())&&("millisecond"===(a=d(a)||"millisecond")?this.valueOf()<e.valueOf():this.clone().endOf(a).valueOf()<e.valueOf())},u.isBetween=function(e,a,t,s){return e=Q(e)?e:w(e),a=Q(a)?a:w(a),!!(this.isValid()&&e.isValid()&&a.isValid())&&("("===(s=s||"()")[0]?this.isAfter(e,t):!this.isBefore(e,t))&&(")"===s[1]?this.isBefore(a,t):!this.isAfter(a,t))},u.isSame=function(e,a){var e=Q(e)?e:w(e);return!(!this.isValid()||!e.isValid())&&("millisecond"===(a=d(a)||"millisecond")?this.valueOf()===e.valueOf():(e=e.valueOf(),this.clone().startOf(a).valueOf()<=e&&e<=this.clone().endOf(a).valueOf()))},u.isSameOrAfter=function(e,a){return this.isSame(e,a)||this.isAfter(e,a)},u.isSameOrBefore=function(e,a){return this.isSame(e,a)||this.isBefore(e,a)},u.isValid=function(){return G(this)},u.lang=da,u.locale=_t,u.localeData=it,u.max=_,u.min=ye,u.parsingFlags=function(){return I({},Y(this))},u.set=function(e,a){if("object"==typeof e)for(var t=function(e){var a,t=[];for(a in e)l(e,a)&&t.push({unit:a,priority:ce[a]});return t.sort(function(e,a){return e.priority-a.priority}),t}(e=he(e)),s=t.length,n=0;n<s;n++)this[t[n].unit](e[t[n].unit]);else if(te(this[e=d(e)]))return this[e](a);return this},u.startOf=function(e){var a,t;if(void 0!==(e=d(e))&&"millisecond"!==e&&this.isValid()){switch(t=this._isUTC?lt:ut,e){case"year":a=t(this.year(),0,1);break;case"quarter":a=t(this.year(),this.month()-this.month()%3,1);break;case"month":a=t(this.year(),this.month(),1);break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":a=t(this.year(),this.month(),this.date());break;case"hour":a=this._d.valueOf(),a-=mt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":a=this._d.valueOf(),a-=mt(a,6e4);break;case"second":a=this._d.valueOf(),a-=mt(a,1e3);break}this._d.setTime(a),c.updateOffset(this,!0)}return this},u.subtract=na,u.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},u.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},u.toDate=function(){return new Date(this.valueOf())},u.toISOString=function(e){var a;return this.isValid()?(a=(e=!0!==e)?this.clone().utc():this).year()<0||9999<a.year()?ue(a,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):te(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",ue(a,"Z")):ue(a,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ"):null},u.inspect=function(){var e,a,t;return this.isValid()?(a="moment",e="",this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z"),a="["+a+'("]',t=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",this.format(a+t+"-MM-DD[T]HH:mm:ss.SSS"+(e+'[")]'))):"moment.invalid(/* "+this._i+" */)"},"undefined"!=typeof Symbol&&null!=Symbol.for&&(u[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),u.toJSON=function(){return this.isValid()?this.toISOString():null},u.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},u.unix=function(){return Math.floor(this.valueOf()/1e3)},u.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},u.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},u.eraName=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].name;if(a[t].until<=e&&e<=a[t].since)return a[t].name}return""},u.eraNarrow=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].narrow;if(a[t].until<=e&&e<=a[t].since)return a[t].narrow}return""},u.eraAbbr=function(){for(var e,a=this.localeData().eras(),t=0,s=a.length;t<s;++t){if(e=this.clone().startOf("day").valueOf(),a[t].since<=e&&e<=a[t].until)return a[t].abbr;if(a[t].until<=e&&e<=a[t].since)return a[t].abbr}return""},u.eraYear=function(){for(var e,a,t=this.localeData().eras(),s=0,n=t.length;s<n;++s)if(e=t[s].since<=t[s].until?1:-1,a=this.clone().startOf("day").valueOf(),t[s].since<=a&&a<=t[s].until||t[s].until<=a&&a<=t[s].since)return(this.year()-c(t[s].since).year())*e+t[s].offset;return this.year()},u.year=ze,u.isLeapYear=function(){return ve(this.year())},u.weekYear=function(e){return Lt.call(this,e,this.week(),this.weekday()+this.localeData()._week.dow,this.localeData()._week.dow,this.localeData()._week.doy)},u.isoWeekYear=function(e){return Lt.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},u.quarter=u.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},u.month=Ke,u.daysInMonth=function(){return Ce(this.year(),this.month())},u.week=u.weeks=function(e){var a=this.localeData().week(this);return null==e?a:this.add(7*(e-a),"d")},u.isoWeek=u.isoWeeks=function(e){var a=aa(this,1,4).week;return null==e?a:this.add(7*(e-a),"d")},u.weeksInYear=function(){var e=this.localeData()._week;return ta(this.year(),e.dow,e.doy)},u.weeksInWeekYear=function(){var e=this.localeData()._week;return ta(this.weekYear(),e.dow,e.doy)},u.isoWeeksInYear=function(){return ta(this.year(),1,4)},u.isoWeeksInISOWeekYear=function(){return ta(this.isoWeekYear(),1,4)},u.date=i,u.day=u.days=function(e){var a,t,s;return this.isValid()?(a=Je(this,"Day"),null!=e?(t=e,s=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=s.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-a,"d")):a):null!=e?this:NaN},u.weekday=function(e){var a;return this.isValid()?(a=(this.day()+7-this.localeData()._week.dow)%7,null==e?a:this.add(e-a,"d")):null!=e?this:NaN},u.isoWeekday=function(e){var a,t;return this.isValid()?null!=e?(a=e,t=this.localeData(),t="string"==typeof a?t.weekdaysParse(a)%7||7:isNaN(a)?null:a,this.day(this.day()%7?t:t-7)):this.day()||7:null!=e?this:NaN},u.dayOfYear=function(e){var a=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?a:this.add(e-a,"d")},u.hour=u.hours=m,u.minute=u.minutes=t,u.second=u.seconds=o,u.millisecond=u.milliseconds=n,u.utcOffset=function(e,a,t){var s,n=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?n:Ka(this);if("string"==typeof e){if(null===(e=qa(Te,e)))return this}else Math.abs(e)<16&&!t&&(e*=60);return!this._isUTC&&a&&(s=Ka(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),n!==e&&(!a||this._changeInProgress?st(this,Xa(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,c.updateOffset(this,!0),this._changeInProgress=null)),this},u.utc=function(e){return this.utcOffset(0,e)},u.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e)&&this.subtract(Ka(this),"m"),this},u.parseZone=function(){var e;return null!=this._tzm?this.utcOffset(this._tzm,!1,!0):"string"==typeof this._i&&(null!=(e=qa(De,this._i))?this.utcOffset(e):this.utcOffset(0,!0)),this},u.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?w(e).utcOffset():0,(this.utcOffset()-e)%60==0)},u.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},u.isLocal=function(){return!!this.isValid()&&!this._isUTC},u.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},u.isUtc=Za,u.isUTC=Za,u.zoneAbbr=function(){return this._isUTC?"UTC":""},u.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},u.dates=e("dates accessor is deprecated. Use date instead.",i),u.months=e("months accessor is deprecated. Use month instead",Ke),u.years=e("years accessor is deprecated. Use year instead",ze),u.zone=e("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,a){return null!=e?(this.utcOffset(e="string"!=typeof e?-e:e,a),this):-this.utcOffset()}),u.isDSTShifted=e("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){var e,a;return L(this._isDSTShifted)&&(Z(e={},this),(e=za(e))._a?(a=(e._isUTC?U:w)(e._a),this._isDSTShifted=this.isValid()&&0<function(e,a,t){for(var s=Math.min(e.length,a.length),n=Math.abs(e.length-a.length),r=0,d=0;d<s;d++)(t&&e[d]!==a[d]||!t&&f(e[d])!==f(a[d]))&&r++;return r+n}(e._a,a.toArray())):this._isDSTShifted=!1),this._isDSTShifted});M=ne.prototype;function kt(e,a,t,s){var n=Da(),s=U().set(s,a);return n[t](s,e)}function pt(e,a,t){if(J(e)&&(a=e,e=void 0),e=e||"",null!=a)return kt(e,a,t,"month");for(var s=[],n=0;n<12;n++)s[n]=kt(e,n,t,"month");return s}function Dt(e,a,t,s){a=("boolean"==typeof e?J(a)&&(t=a,a=void 0):(a=e,e=!1,J(t=a)&&(t=a,a=void 0)),a||"");var n,r=Da(),d=e?r._week.dow:0,_=[];if(null!=t)return kt(a,(t+d)%7,s,"day");for(n=0;n<7;n++)_[n]=kt(a,(n+d)%7,s,"day");return _}M.calendar=function(e,a,t){return te(e=this._calendar[e]||this._calendar.sameElse)?e.call(a,t):e},M.longDateFormat=function(e){var a=this._longDateFormat[e],t=this._longDateFormat[e.toUpperCase()];return a||!t?a:(this._longDateFormat[e]=t.match(_e).map(function(e){return"MMMM"===e||"MM"===e||"DD"===e||"dddd"===e?e.slice(1):e}).join(""),this._longDateFormat[e])},M.invalidDate=function(){return this._invalidDate},M.ordinal=function(e){return this._ordinal.replace("%d",e)},M.preparse=ft,M.postformat=ft,M.relativeTime=function(e,a,t,s){var n=this._relativeTime[t];return te(n)?n(e,a,t,s):n.replace(/%d/i,e)},M.pastFuture=function(e,a){return te(e=this._relativeTime[0<e?"future":"past"])?e(a):e.replace(/%s/i,a)},M.set=function(e){var a,t;for(t in e)l(e,t)&&(te(a=e[t])?this[t]=a:this["_"+t]=a);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},M.eras=function(e,a){for(var t,s=this._eras||Da("en")._eras,n=0,r=s.length;n<r;++n){switch(typeof s[n].since){case"string":t=c(s[n].since).startOf("day"),s[n].since=t.valueOf();break}switch(typeof s[n].until){case"undefined":s[n].until=1/0;break;case"string":t=c(s[n].until).startOf("day").valueOf(),s[n].until=t.valueOf();break}}return s},M.erasParse=function(e,a,t){var s,n,r,d,_,i=this.eras();for(e=e.toUpperCase(),s=0,n=i.length;s<n;++s)if(r=i[s].name.toUpperCase(),d=i[s].abbr.toUpperCase(),_=i[s].narrow.toUpperCase(),t)switch(a){case"N":case"NN":case"NNN":if(d===e)return i[s];break;case"NNNN":if(r===e)return i[s];break;case"NNNNN":if(_===e)return i[s];break}else if(0<=[r,d,_].indexOf(e))return i[s]},M.erasConvertYear=function(e,a){var t=e.since<=e.until?1:-1;return void 0===a?c(e.since).year():c(e.since).year()+(a-e.offset)*t},M.erasAbbrRegex=function(e){return l(this,"_erasAbbrRegex")||ht.call(this),e?this._erasAbbrRegex:this._erasRegex},M.erasNameRegex=function(e){return l(this,"_erasNameRegex")||ht.call(this),e?this._erasNameRegex:this._erasRegex},M.erasNarrowRegex=function(e){return l(this,"_erasNarrowRegex")||ht.call(this),e?this._erasNarrowRegex:this._erasRegex},M.months=function(e,a){return e?(F(this._months)?this._months:this._months[(this._months.isFormat||Ge).test(a)?"format":"standalone"])[e.month()]:F(this._months)?this._months:this._months.standalone},M.monthsShort=function(e,a){return e?(F(this._monthsShort)?this._monthsShort:this._monthsShort[Ge.test(a)?"format":"standalone"])[e.month()]:F(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},M.monthsParse=function(e,a,t){var s,n;if(this._monthsParseExact)return function(e,a,t){var s,n,r,e=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=U([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return t?"MMM"===a?-1!==(n=T.call(this._shortMonthsParse,e))?n:null:-1!==(n=T.call(this._longMonthsParse,e))?n:null:"MMM"===a?-1!==(n=T.call(this._shortMonthsParse,e))||-1!==(n=T.call(this._longMonthsParse,e))?n:null:-1!==(n=T.call(this._longMonthsParse,e))||-1!==(n=T.call(this._shortMonthsParse,e))?n:null}.call(this,e,a,t);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(n=U([2e3,s]),t&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),t||this._monthsParse[s]||(n="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[s]=new RegExp(n.replace(".",""),"i")),t&&"MMMM"===a&&this._longMonthsParse[s].test(e))return s;if(t&&"MMM"===a&&this._shortMonthsParse[s].test(e))return s;if(!t&&this._monthsParse[s].test(e))return s}},M.monthsRegex=function(e){return this._monthsParseExact?(l(this,"_monthsRegex")||Ze.call(this),e?this._monthsStrictRegex:this._monthsRegex):(l(this,"_monthsRegex")||(this._monthsRegex=qe),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},M.monthsShortRegex=function(e){return this._monthsParseExact?(l(this,"_monthsRegex")||Ze.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(l(this,"_monthsShortRegex")||(this._monthsShortRegex=Ve),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},M.week=function(e){return aa(e,this._week.dow,this._week.doy).week},M.firstDayOfYear=function(){return this._week.doy},M.firstDayOfWeek=function(){return this._week.dow},M.weekdays=function(e,a){return a=F(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(a)?"format":"standalone"],!0===e?sa(a,this._week.dow):e?a[e.day()]:a},M.weekdaysMin=function(e){return!0===e?sa(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},M.weekdaysShort=function(e){return!0===e?sa(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},M.weekdaysParse=function(e,a,t){var s,n;if(this._weekdaysParseExact)return function(e,a,t){var s,n,r,e=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=U([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return t?"dddd"===a?-1!==(n=T.call(this._weekdaysParse,e))?n:null:"ddd"===a?-1!==(n=T.call(this._shortWeekdaysParse,e))?n:null:-1!==(n=T.call(this._minWeekdaysParse,e))?n:null:"dddd"===a?-1!==(n=T.call(this._weekdaysParse,e))||-1!==(n=T.call(this._shortWeekdaysParse,e))||-1!==(n=T.call(this._minWeekdaysParse,e))?n:null:"ddd"===a?-1!==(n=T.call(this._shortWeekdaysParse,e))||-1!==(n=T.call(this._weekdaysParse,e))||-1!==(n=T.call(this._minWeekdaysParse,e))?n:null:-1!==(n=T.call(this._minWeekdaysParse,e))||-1!==(n=T.call(this._weekdaysParse,e))||-1!==(n=T.call(this._shortWeekdaysParse,e))?n:null}.call(this,e,a,t);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(n=U([2e3,1]).day(s),t&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(n="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[s]=new RegExp(n.replace(".",""),"i")),t&&"dddd"===a&&this._fullWeekdaysParse[s].test(e))return s;if(t&&"ddd"===a&&this._shortWeekdaysParse[s].test(e))return s;if(t&&"dd"===a&&this._minWeekdaysParse[s].test(e))return s;if(!t&&this._weekdaysParse[s].test(e))return s}},M.weekdaysRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||ma.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=_a),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},M.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||ma.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=ia),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},M.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||ma.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=oa),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},M.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},M.meridiem=function(e,a,t){return 11<e?t?"pm":"PM":t?"am":"AM"},ka("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1===f(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),c.lang=e("moment.lang is deprecated. Use moment.locale instead.",ka),c.langData=e("moment.langData is deprecated. Use moment.localeData instead.",Da);var Tt=Math.abs;function gt(e,a,t,s){a=Xa(a,t);return e._milliseconds+=s*a._milliseconds,e._days+=s*a._days,e._months+=s*a._months,e._bubble()}function wt(e){return e<0?Math.floor(e):Math.ceil(e)}function bt(e){return 4800*e/146097}function Ht(e){return 146097*e/4800}function St(e){return function(){return this.as(e)}}Le=St("ms"),a=St("s"),fe=St("m"),Ye=St("h"),Ie=St("d"),_=St("w"),ye=St("M"),na=St("Q"),m=St("y"),t=Le;function vt(e){return function(){return this.isValid()?this._data[e]:NaN}}var o=vt("milliseconds"),n=vt("seconds"),i=vt("minutes"),ze=vt("hours"),M=vt("days"),jt=vt("months"),xt=vt("years");var Pt=Math.round,Ot={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function Wt(e,a,t,s){var n=Xa(e).abs(),r=Pt(n.as("s")),d=Pt(n.as("m")),_=Pt(n.as("h")),i=Pt(n.as("d")),o=Pt(n.as("M")),m=Pt(n.as("w")),n=Pt(n.as("y")),r=(r<=t.ss?["s",r]:r<t.s&&["ss",r])||(d<=1?["m"]:d<t.m&&["mm",d])||(_<=1?["h"]:_<t.h&&["hh",_])||(i<=1?["d"]:i<t.d&&["dd",i]);return(r=(r=null!=t.w?r||(m<=1?["w"]:m<t.w&&["ww",m]):r)||(o<=1?["M"]:o<t.M&&["MM",o])||(n<=1?["y"]:["yy",n]))[2]=a,r[3]=0<+e,r[4]=s,function(e,a,t,s,n){return n.relativeTime(a||1,!!t,e,s)}.apply(null,r)}var At=Math.abs;function Et(e){return(0<e)-(e<0)||+e}function Ft(){var e,a,t,s,n,r,d,_,i,o,m;return this.isValid()?(e=At(this._milliseconds)/1e3,a=At(this._days),t=At(this._months),(_=this.asSeconds())?(s=y(e/60),n=y(s/60),e%=60,s%=60,r=y(t/12),t%=12,d=e?e.toFixed(3).replace(/\.?0+$/,""):"",i=Et(this._months)!==Et(_)?"-":"",o=Et(this._days)!==Et(_)?"-":"",m=Et(this._milliseconds)!==Et(_)?"-":"",(_<0?"-":"")+"P"+(r?i+r+"Y":"")+(t?i+t+"M":"")+(a?o+a+"D":"")+(n||s||e?"T":"")+(n?m+n+"H":"")+(s?m+s+"M":"")+(e?m+d+"S":"")):"P0D"):this.localeData().invalidDate()}function zt(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function b(d){return function(e,a,t,s){var n=zt(e),r=Rt[d][zt(e)];return(r=2===n?r[a?0:1]:r).replace(/%d/i,e)}}function Nt(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function H(d){return function(e,a,t,s){var n=Nt(e),r=It[d][Nt(e)];return(r=2===n?r[a?0:1]:r).replace(/%d/i,e)}}function Jt(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5}function S(d){return function(e,a,t,s){var n=Jt(e),r=Zt[d][Jt(e)];return(r=2===n?r[a?0:1]:r).replace(/%d/i,e)}}var v=Ca.prototype,Rt=(v.isValid=function(){return this._isValid},v.abs=function(){var e=this._data;return this._milliseconds=Tt(this._milliseconds),this._days=Tt(this._days),this._months=Tt(this._months),e.milliseconds=Tt(e.milliseconds),e.seconds=Tt(e.seconds),e.minutes=Tt(e.minutes),e.hours=Tt(e.hours),e.months=Tt(e.months),e.years=Tt(e.years),this},v.add=function(e,a){return gt(this,e,a,1)},v.subtract=function(e,a){return gt(this,e,a,-1)},v.as=function(e){if(!this.isValid())return NaN;var a,t,s=this._milliseconds;if("month"===(e=d(e))||"quarter"===e||"year"===e)switch(a=this._days+s/864e5,t=this._months+bt(a),e){case"month":return t;case"quarter":return t/3;case"year":return t/12}else switch(a=this._days+Math.round(Ht(this._months)),e){case"week":return a/7+s/6048e5;case"day":return a+s/864e5;case"hour":return 24*a+s/36e5;case"minute":return 1440*a+s/6e4;case"second":return 86400*a+s/1e3;case"millisecond":return Math.floor(864e5*a)+s;default:throw new Error("Unknown unit "+e)}},v.asMilliseconds=Le,v.asSeconds=a,v.asMinutes=fe,v.asHours=Ye,v.asDays=Ie,v.asWeeks=_,v.asMonths=ye,v.asQuarters=na,v.asYears=m,v.valueOf=t,v._bubble=function(){var e=this._milliseconds,a=this._days,t=this._months,s=this._data;return 0<=e&&0<=a&&0<=t||e<=0&&a<=0&&t<=0||(e+=864e5*wt(Ht(t)+a),t=a=0),s.milliseconds=e%1e3,e=y(e/1e3),s.seconds=e%60,e=y(e/60),s.minutes=e%60,e=y(e/60),s.hours=e%24,a+=y(e/24),t+=e=y(bt(a)),a-=wt(Ht(e)),e=y(t/12),t%=12,s.days=a,s.months=t,s.years=e,this},v.clone=function(){return Xa(this)},v.get=function(e){return e=d(e),this.isValid()?this[e+"s"]():NaN},v.milliseconds=o,v.seconds=n,v.minutes=i,v.hours=ze,v.days=M,v.weeks=function(){return y(this.days()/7)},v.months=jt,v.years=xt,v.humanize=function(e,a){var t,s;return this.isValid()?(t=!1,s=Ot,"object"==typeof e&&(a=e,e=!1),"boolean"==typeof e&&(t=e),"object"==typeof a&&(s=Object.assign({},Ot,a),null!=a.s)&&null==a.ss&&(s.ss=a.s-1),e=this.localeData(),a=Wt(this,!t,s,e),t&&(a=e.pastFuture(+this,a)),e.postformat(a)):this.localeData().invalidDate()},v.toISOString=Ft,v.toString=Ft,v.toJSON=Ft,v.locale=_t,v.localeData=it,v.toIsoString=e("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ft),v.lang=da,s("X",0,0,"unix"),s("x",0,0,"valueOf"),h("x",pe),h("X",/[+-]?\d+(\.\d{1,3})?/),k("X",function(e,a,t){t._d=new Date(1e3*parseFloat(e))}),k("x",function(e,a,t){t._d=new Date(f(e))}),c.version="2.30.1",E=w,c.fn=u,c.min=function(){return Ja("isBefore",[].slice.call(arguments,0))},c.max=function(){return Ja("isAfter",[].slice.call(arguments,0))},c.now=function(){return Date.now?Date.now():+new Date},c.utc=U,c.unix=function(e){return w(1e3*e)},c.months=function(e,a){return pt(e,a,"months")},c.isDate=R,c.locale=ka,c.invalid=V,c.duration=Xa,c.isMoment=Q,c.weekdays=function(e,a,t){return Dt(e,a,t,"weekdays")},c.parseZone=function(){return w.apply(null,arguments).parseZone()},c.localeData=Da,c.isDuration=Ia,c.monthsShort=function(e,a){return pt(e,a,"monthsShort")},c.weekdaysMin=function(e,a,t){return Dt(e,a,t,"weekdaysMin")},c.defineLocale=pa,c.updateLocale=function(e,a){var t,s;return null!=a?(s=ca,null!=g[e]&&null!=g[e].parentLocale?g[e].set(se(g[e]._config,a)):(a=se(s=null!=(t=fa(e))?t._config:s,a),null==t&&(a.abbr=e),(s=new ne(a)).parentLocale=g[e],g[e]=s),ka(e)):null!=g[e]&&(null!=g[e].parentLocale?(g[e]=g[e].parentLocale,e===ka()&&ka(e)):null!=g[e]&&delete g[e]),g[e]},c.locales=function(){return re(g)},c.weekdaysShort=function(e,a,t){return Dt(e,a,t,"weekdaysShort")},c.normalizeUnits=d,c.relativeTimeRounding=function(e){return void 0===e?Pt:"function"==typeof e&&(Pt=e,!0)},c.relativeTimeThreshold=function(e,a){return void 0!==Ot[e]&&(void 0===a?Ot[e]:(Ot[e]=a,"s"===e&&(Ot.ss=a-1),!0))},c.calendarFormat=function(e,a){return(e=e.diff(a,"days",!0))<-6?"sameElse":e<-1?"lastWeek":e<0?"lastDay":e<1?"sameDay":e<2?"nextDay":e<7?"nextWeek":"sameElse"},c.prototype=u,c.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},c.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"vm":"VM":t?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),{s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]}),Le=["\u062c\u0627\u0646\u0641\u064a","\u0641\u064a\u0641\u0631\u064a","\u0645\u0627\u0631\u0633","\u0623\u0641\u0631\u064a\u0644","\u0645\u0627\u064a","\u062c\u0648\u0627\u0646","\u062c\u0648\u064a\u0644\u064a\u0629","\u0623\u0648\u062a","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],Ct=(c.defineLocale("ar-dz",{months:Le,monthsShort:Le,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:b("s"),ss:b("s"),m:b("m"),mm:b("m"),h:b("h"),hh:b("h"),d:b("d"),dd:b("d"),M:b("M"),MM:b("M"),y:b("y"),yy:b("y")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:0,doy:4}}),c.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}}),{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"}),It={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},a=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],Ut=(c.defineLocale("ar-ly",{months:a,monthsShort:a,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:H("s"),ss:H("s"),m:H("m"),mm:H("m"),h:H("h"),hh:H("h"),d:H("d"),dd:H("d"),M:H("M"),MM:H("M"),y:H("y"),yy:H("y")},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Ct[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),c.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),Gt={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Vt=(c.defineLocale("ar-ps",{months:"\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u0634\u0628\u0627\u0637_\u0622\u0630\u0627\u0631_\u0646\u064a\u0633\u0627\u0646_\u0623\u064a\u0651\u0627\u0631_\u062d\u0632\u064a\u0631\u0627\u0646_\u062a\u0645\u0651\u0648\u0632_\u0622\u0628_\u0623\u064a\u0644\u0648\u0644_\u062a\u0634\u0631\u064a \u0627\u0644\u0623\u0648\u0651\u0644_\u062a\u0634\u0631\u064a\u0646 \u0627\u0644\u062b\u0627\u0646\u064a_\u0643\u0627\u0646\u0648\u0646 \u0627\u0644\u0623\u0648\u0651\u0644".split("_"),monthsShort:"\u0643\u0662_\u0634\u0628\u0627\u0637_\u0622\u0630\u0627\u0631_\u0646\u064a\u0633\u0627\u0646_\u0623\u064a\u0651\u0627\u0631_\u062d\u0632\u064a\u0631\u0627\u0646_\u062a\u0645\u0651\u0648\u0632_\u0622\u0628_\u0623\u064a\u0644\u0648\u0644_\u062a\u0661_\u062a\u0662_\u0643\u0661".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Gt[e]}).split("").reverse().join("").replace(/[\u0661\u0662](?![\u062a\u0643])/g,function(e){return Gt[e]}).split("").reverse().join("").replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Ut[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),qt={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Bt=(c.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return qt[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Vt[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),c.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}}),{1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"}),Kt={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},Zt={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},fe=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"],$t=(c.defineLocale("ar",{months:fe,monthsShort:fe,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:S("s"),ss:S("s"),m:S("m"),mm:S("m"),h:S("h"),hh:S("h"),d:S("d"),dd:S("d"),M:S("M"),MM:S("M"),y:S("y"),yy:S("y")},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Kt[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Bt[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),{1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"});function Qt(e,a,t){return"m"===t?a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===t?a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[t]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}c.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"bir ne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(e){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(e)},meridiem:function(e,a,t){return e<4?"gec\u0259":e<12?"s\u0259h\u0259r":e<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(e){var a;return 0===e?e+"-\u0131nc\u0131":e+($t[a=e%10]||$t[e%100-a]||$t[100<=e?100:null])},week:{dow:1,doy:7}}),c.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:Qt,mm:Qt,h:Qt,hh:Qt,d:"\u0434\u0437\u0435\u043d\u044c",dd:Qt,M:"\u043c\u0435\u0441\u044f\u0446",MM:Qt,y:"\u0433\u043e\u0434",yy:Qt},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u044b":e<12?"\u0440\u0430\u043d\u0456\u0446\u044b":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-\u044b":e+"-\u0456";case"D":return e+"-\u0433\u0430";default:return e}},week:{dow:1,doy:7}}),c.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0443_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u041c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u041c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",w:"\u0441\u0435\u0434\u043c\u0438\u0446\u0430",ww:"%d \u0441\u0435\u0434\u043c\u0438\u0446\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0==t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),c.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var Xt={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},es={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"},as=(c.defineLocale("bn-bd",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return es[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Xt[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09ad\u09cb\u09b0|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a?e<4?e:e+12:"\u09ad\u09cb\u09b0"===a||"\u09b8\u0995\u09be\u09b2"===a?e:"\u09a6\u09c1\u09aa\u09c1\u09b0"===a?3<=e?e:e+12:"\u09ac\u09bf\u0995\u09be\u09b2"===a||"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u09b0\u09be\u09a4":e<6?"\u09ad\u09cb\u09b0":e<12?"\u09b8\u0995\u09be\u09b2":e<15?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<18?"\u09ac\u09bf\u0995\u09be\u09b2":e<20?"\u09b8\u09a8\u09cd\u09a7\u09cd\u09af\u09be":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}}),{1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"}),ts={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"},ss=(c.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09bf_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return ts[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return as[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a&&4<=e||"\u09a6\u09c1\u09aa\u09c1\u09b0"===a&&e<5||"\u09ac\u09bf\u0995\u09be\u09b2"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u09b0\u09be\u09a4":e<10?"\u09b8\u0995\u09be\u09b2":e<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}}),{1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"}),ns={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};function rs(e,a,t){return e+" "+(t={mm:"munutenn",MM:"miz",dd:"devezh"}[t],2!==(e=e)?t:void 0!==(e={m:"v",b:"v",d:"z"})[(t=t).charAt(0)]?e[t.charAt(0)]+t.substring(1):t)}c.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b1_\u0f5f\u0fb3\u0f0b2_\u0f5f\u0fb3\u0f0b3_\u0f5f\u0fb3\u0f0b4_\u0f5f\u0fb3\u0f0b5_\u0f5f\u0fb3\u0f0b6_\u0f5f\u0fb3\u0f0b7_\u0f5f\u0fb3\u0f0b8_\u0f5f\u0fb3\u0f0b9_\u0f5f\u0fb3\u0f0b10_\u0f5f\u0fb3\u0f0b11_\u0f5f\u0fb3\u0f0b12".split("_"),monthsShortRegex:/^(\u0f5f\u0fb3\u0f0b\d{1,2})/,monthsParseExact:!0,weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72_\u0f5f\u0fb3_\u0f58\u0f72\u0f42_\u0f63\u0fb7\u0f42_\u0f55\u0f74\u0f62_\u0f66\u0f44\u0f66_\u0f66\u0fa4\u0f7a\u0f53".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(e){return e.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(e){return ns[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ss[e]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===a&&4<=e||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===a&&e<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":e<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":e<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":e<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}});Ye=[/^gen/i,/^c[\u02bc\']hwe/i,/^meu/i,/^ebr/i,/^mae/i,/^(mez|eve)/i,/^gou/i,/^eos/i,/^gwe/i,/^her/i,/^du/i,/^ker/i],Ie=/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,_=[/^Su/i,/^Lu/i,/^Me([^r]|$)/i,/^Mer/i,/^Ya/i,/^Gw/i,/^Sa/i];function ds(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return"jedan sat";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}c.defineLocale("br",{months:"Genver_C\u02bchwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C\u02bchwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc\u02bcher_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParse:_,fullWeekdaysParse:[/^sul/i,/^lun/i,/^meurzh/i,/^merc[\u02bc\']her/i,/^yaou/i,/^gwener/i,/^sadorn/i],shortWeekdaysParse:[/^Sul/i,/^Lun/i,/^Meu/i,/^Mer/i,/^Yao/i,/^Gwe/i,/^Sad/i],minWeekdaysParse:_,monthsRegex:Ie,monthsShortRegex:Ie,monthsStrictRegex:/^(genver|c[\u02bc\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,monthsShortStrictRegex:/^(gen|c[\u02bc\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,monthsParse:Ye,longMonthsParse:Ye,shortMonthsParse:Ye,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY HH:mm",LLLL:"dddd, D [a viz] MMMM YYYY HH:mm"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc\u02bchoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec\u02bch da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s \u02bczo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:rs,h:"un eur",hh:"%d eur",d:"un devezh",dd:rs,M:"ur miz",MM:rs,y:"ur bloaz",yy:function(e){switch(function e(a){if(9<a)return e(a%10);return a}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(e){return e+(1===e?"a\xf1":"vet")},week:{dow:1,doy:4},meridiemParse:/a.m.|g.m./,isPM:function(e){return"g.m."===e},meridiem:function(e,a,t){return e<12?"a.m.":"g.m."}}),c.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:ds,m:function(e,a,t,s){switch(t){case"m":return a?"jedna minuta":s?"jednu minutu":"jedne minute"}},mm:ds,h:ds,hh:ds,d:"dan",dd:ds,M:"mjesec",MM:ds,y:"godinu",yy:ds},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),c.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}});ye={standalone:"leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),format:"ledna_\xfanora_b\u0159ezna_dubna_kv\u011btna_\u010dervna_\u010dervence_srpna_z\xe1\u0159\xed_\u0159\xedjna_listopadu_prosince".split("_"),isFormat:/DD?[o.]?(\[[^\[\]]*\]|\s)+MMMM/},na="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),m=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],t=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function _s(e){return 1<e&&e<5&&1!=~~(e/10)}function j(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return a||s?n+(_s(e)?"sekundy":"sekund"):n+"sekundami";case"m":return a?"minuta":s?"minutu":"minutou";case"mm":return a||s?n+(_s(e)?"minuty":"minut"):n+"minutami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(_s(e)?"hodiny":"hodin"):n+"hodinami";case"d":return a||s?"den":"dnem";case"dd":return a||s?n+(_s(e)?"dny":"dn\xed"):n+"dny";case"M":return a||s?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||s?n+(_s(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):n+"m\u011bs\xedci";case"y":return a||s?"rok":"rokem";case"yy":return a||s?n+(_s(e)?"roky":"let"):n+"lety"}}function is(e,a,t,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[t][0]:e[t][1]}function os(e,a,t,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[t][0]:e[t][1]}function ms(e,a,t,s){e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],w:["eine Woche","einer Woche"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?e[t][0]:e[t][1]}c.defineLocale("cs",{months:ye,monthsShort:na,monthsRegex:t,monthsShortRegex:t,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:m,longMonthsParse:m,shortMonthsParse:m,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:j,ss:j,m:j,mm:j,h:j,hh:j,d:j,dd:j,M:j,MM:j,y:j,yy:j},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){return e+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}}),c.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a="";return 20<e?a=40===e||50===e||60===e||80===e||100===e?"fed":"ain":0<e&&(a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+a},week:{dow:1,doy:4}}),c.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:is,mm:"%d Minuten",h:is,hh:"%d Stunden",d:is,dd:is,w:is,ww:"%d Wochen",M:is,MM:is,y:is,yy:is},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:os,mm:"%d Minuten",h:os,hh:"%d Stunden",d:os,dd:os,w:os,ww:"%d Wochen",M:os,MM:os,y:os,yy:os},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:ms,mm:"%d Minuten",h:ms,hh:"%d Stunden",d:ms,dd:ms,w:ms,ww:"%d Wochen",M:ms,MM:ms,y:ms,yy:ms},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});o=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],n=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];c.defineLocale("dv",{months:o,monthsShort:o,weekdays:n,weekdaysShort:n,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(e){return"\u0789\u078a"===e},meridiem:function(e,a,t){return e<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:7,doy:12}}),c.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,a){return e?("string"==typeof a&&/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl:this._monthsNominativeEl)[e.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,a,t){return 11<e?t?"\u03bc\u03bc":"\u039c\u039c":t?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(e){return"\u03bc"===(e+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){var t,e=this._calendarEl[e],s=a&&a.hours();return t=e,(e="undefined"!=typeof Function&&t instanceof Function||"[object Function]"===Object.prototype.toString.call(t)?e.apply(a):e).replace("{}",s%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}}),c.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:4}}),c.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),c.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")}}),c.defineLocale("en-in",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:0,doy:6}}),c.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("en-sg",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mart_apr_maj_jun_jul_a\u016dg_sept_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"[la] D[-an de] MMMM, YYYY",LLL:"[la] D[-an de] MMMM, YYYY HH:mm",LLLL:"dddd[n], [la] D[-an de] MMMM, YYYY HH:mm",llll:"ddd, [la] D[-an de] MMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"p.t.m.":"P.T.M.":t?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd[n je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasintan] dddd[n je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"kelkaj sekundoj",ss:"%d sekundoj",m:"unu minuto",mm:"%d minutoj",h:"unu horo",hh:"%d horoj",d:"unu tago",dd:"%d tagoj",M:"unu monato",MM:"%d monatoj",y:"unu jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var us="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),ls="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),i=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],ze=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,Ms=(c.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ls:us)[e.month()]:us},monthsRegex:ze,monthsShortRegex:ze,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:i,longMonthsParse:i,shortMonthsParse:i,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),hs="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),M=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],jt=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,cs=(c.defineLocale("es-mx",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?hs:Ms)[e.month()]:Ms},monthsRegex:jt,monthsShortRegex:jt,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:M,longMonthsParse:M,shortMonthsParse:M,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:4},invalidDate:"Fecha inv\xe1lida"}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),Ls="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),xt=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],v=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,Ys=(c.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Ls:cs)[e.month()]:cs},monthsRegex:v,monthsShortRegex:v,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:xt,longMonthsParse:xt,shortMonthsParse:xt,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}}),"ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_")),ys="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),da=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],pe=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;function fs(e,a,t,s){e={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[e+" minuti",e+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[e+" tunni",e+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[e+" kuu",e+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[e+" aasta",e+" aastat"]};return a?e[t][2]||e[t][1]:s?e[t][0]:e[t][1]}c.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ys:Ys)[e.month()]:Ys},monthsRegex:pe,monthsShortRegex:pe,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:da,longMonthsParse:da,shortMonthsParse:da,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",w:"una semana",ww:"%d semanas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4},invalidDate:"Fecha inv\xe1lida"}),c.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:fs,ss:fs,m:fs,mm:fs,h:fs,hh:fs,d:fs,dd:"%d p\xe4eva",M:fs,MM:fs,y:fs,yy:fs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var ks={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},ps={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"},Ds=(c.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(e){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(e)},meridiem:function(e,a,t){return e<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"%d \u062b\u0627\u0646\u06cc\u0647",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return ps[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return ks[e]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}}),"nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" ")),Ts=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",Ds[7],Ds[8],Ds[9]];function x(e,a,t,s){var n="";switch(t){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":n=s?"sekunnin":"sekuntia";break;case"m":return s?"minuutin":"minuutti";case"mm":n=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":n=s?"tunnin":"tuntia";break;case"d":return s?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":n=s?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return s?"kuukauden":"kuukausi";case"MM":n=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":n=s?"vuoden":"vuotta";break}return t=s,n=((e=e)<10?(t?Ts:Ds)[e]:e)+" "+n}c.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:x,ss:x,m:x,mm:x,h:x,hh:x,d:x,dd:x,M:x,MM:x,y:x,yy:x},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("fil",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),c.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}}),c.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});var u=/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?|janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,Le=[/^janv/i,/^f\xe9vr/i,/^mars/i,/^avr/i,/^mai/i,/^juin/i,/^juil/i,/^ao\xfbt/i,/^sept/i,/^oct/i,/^nov/i,/^d\xe9c/i],gs=(c.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsRegex:u,monthsShortRegex:u,monthsStrictRegex:/^(janvier|f\xe9vrier|mars|avril|mai|juin|juillet|ao\xfbt|septembre|octobre|novembre|d\xe9cembre)/i,monthsShortStrictRegex:/(janv\.?|f\xe9vr\.?|mars|avr\.?|mai|juin|juil\.?|ao\xfbt|sept\.?|oct\.?|nov\.?|d\xe9c\.?)/i,monthsParse:Le,longMonthsParse:Le,shortMonthsParse:Le,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",w:"une semaine",ww:"%d semaines",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_")),ws="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");c.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?ws:gs)[e.month()]:gs},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),c.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","Meitheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean","Feabh","M\xe1rt","Aib","Beal","Meith","I\xfail","L\xfan","M.F.","D.F.","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Sathairn"],weekdaysShort:["Domh","Luan","M\xe1irt","C\xe9ad","D\xe9ar","Aoine","Sath"],weekdaysMin:["Do","Lu","M\xe1","C\xe9","D\xe9","A","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 ag] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xedonna",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}});function P(e,a,t,s){e={s:["\u0925\u094b\u0921\u092f\u093e \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940","\u0925\u094b\u0921\u0947 \u0938\u0945\u0915\u0902\u0921"],ss:[e+" \u0938\u0945\u0915\u0902\u0921\u093e\u0902\u0928\u0940",e+" \u0938\u0945\u0915\u0902\u0921"],m:["\u090f\u0915\u093e \u092e\u093f\u0923\u091f\u093e\u0928","\u090f\u0915 \u092e\u093f\u0928\u0942\u091f"],mm:[e+" \u092e\u093f\u0923\u091f\u093e\u0902\u0928\u0940",e+" \u092e\u093f\u0923\u091f\u093e\u0902"],h:["\u090f\u0915\u093e \u0935\u0930\u093e\u0928","\u090f\u0915 \u0935\u0930"],hh:[e+" \u0935\u0930\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u093e\u0902"],d:["\u090f\u0915\u093e \u0926\u093f\u0938\u093e\u0928","\u090f\u0915 \u0926\u0940\u0938"],dd:[e+" \u0926\u093f\u0938\u093e\u0902\u0928\u0940",e+" \u0926\u0940\u0938"],M:["\u090f\u0915\u093e \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928","\u090f\u0915 \u092e\u094d\u0939\u092f\u0928\u094b"],MM:[e+" \u092e\u094d\u0939\u092f\u0928\u094d\u092f\u093e\u0928\u0940",e+" \u092e\u094d\u0939\u092f\u0928\u0947"],y:["\u090f\u0915\u093e \u0935\u0930\u094d\u0938\u093e\u0928","\u090f\u0915 \u0935\u0930\u094d\u0938"],yy:[e+" \u0935\u0930\u094d\u0938\u093e\u0902\u0928\u0940",e+" \u0935\u0930\u094d\u0938\u093e\u0902"]};return s?e[t][0]:e[t][1]}function bs(e,a,t,s){e={s:["thoddea sekondamni","thodde sekond"],ss:[e+" sekondamni",e+" sekond"],m:["eka mintan","ek minut"],mm:[e+" mintamni",e+" mintam"],h:["eka voran","ek vor"],hh:[e+" voramni",e+" voram"],d:["eka disan","ek dis"],dd:[e+" disamni",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineamni",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsamni",e+" vorsam"]};return s?e[t][0]:e[t][1]}c.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}}),c.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("gom-deva",{months:{standalone:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u092f_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),format:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940\u091a\u094d\u092f\u093e_\u092e\u093e\u0930\u094d\u091a\u093e\u091a\u094d\u092f\u093e_\u090f\u092a\u094d\u0930\u0940\u0932\u093e\u091a\u094d\u092f\u093e_\u092e\u0947\u092f\u093e\u091a\u094d\u092f\u093e_\u091c\u0942\u0928\u093e\u091a\u094d\u092f\u093e_\u091c\u0941\u0932\u092f\u093e\u091a\u094d\u092f\u093e_\u0911\u0917\u0938\u094d\u091f\u093e\u091a\u094d\u092f\u093e_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0911\u0915\u094d\u091f\u094b\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e_\u0921\u093f\u0938\u0947\u0902\u092c\u0930\u093e\u091a\u094d\u092f\u093e".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u0940._\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u092f\u0924\u093e\u0930_\u0938\u094b\u092e\u093e\u0930_\u092e\u0902\u0917\u0933\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u092c\u093f\u0930\u0947\u0938\u094d\u0924\u093e\u0930_\u0938\u0941\u0915\u094d\u0930\u093e\u0930_\u0936\u0947\u0928\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0906\u092f\u0924._\u0938\u094b\u092e._\u092e\u0902\u0917\u0933._\u092c\u0941\u0927._\u092c\u094d\u0930\u0947\u0938\u094d\u0924._\u0938\u0941\u0915\u094d\u0930._\u0936\u0947\u0928.".split("_"),weekdaysMin:"\u0906_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u092c\u094d\u0930\u0947_\u0938\u0941_\u0936\u0947".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LTS:"A h:mm:ss [\u0935\u093e\u091c\u0924\u093e\u0902]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]",llll:"ddd, D MMM YYYY, A h:mm [\u0935\u093e\u091c\u0924\u093e\u0902]"},calendar:{sameDay:"[\u0906\u092f\u091c] LT",nextDay:"[\u092b\u093e\u0932\u094d\u092f\u093e\u0902] LT",nextWeek:"[\u092b\u0941\u0921\u0932\u094b] dddd[,] LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092b\u093e\u091f\u0932\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s \u0906\u0926\u0940\u0902",s:P,ss:P,m:P,mm:P,h:P,hh:P,d:P,dd:P,M:P,MM:P,y:P,yy:P},dayOfMonthOrdinalParse:/\d{1,2}(\u0935\u0947\u0930)/,ordinal:function(e,a){switch(a){case"D":return e+"\u0935\u0947\u0930";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/\u0930\u093e\u0924\u0940|\u0938\u0915\u093e\u0933\u0940\u0902|\u0926\u0928\u092a\u093e\u0930\u093e\u0902|\u0938\u093e\u0902\u091c\u0947/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u0940"===a?e<4?e:e+12:"\u0938\u0915\u093e\u0933\u0940\u0902"===a?e:"\u0926\u0928\u092a\u093e\u0930\u093e\u0902"===a?12<e?e:e+12:"\u0938\u093e\u0902\u091c\u0947"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924\u0940":e<12?"\u0938\u0915\u093e\u0933\u0940\u0902":e<16?"\u0926\u0928\u092a\u093e\u0930\u093e\u0902":e<20?"\u0938\u093e\u0902\u091c\u0947":"\u0930\u093e\u0924\u0940"}}),c.defineLocale("gom-latn",{months:{standalone:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),format:"Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea".split("_"),isFormat:/MMMM(\s)+D[oD]?/},monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Fuddlo] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fattlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:bs,ss:bs,m:bs,mm:bs,h:bs,hh:bs,d:bs,dd:bs,M:bs,MM:bs,y:bs,yy:bs},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:0,doy:3},meridiemParse:/rati|sokallim|donparam|sanje/,meridiemHour:function(e,a){return 12===e&&(e=0),"rati"===a?e<4?e:e+12:"sokallim"===a?e:"donparam"===a?12<e?e:e+12:"sanje"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"rati":e<12?"sokallim":e<16?"donparam":e<20?"sanje":"rati"}});var Hs={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},Ss={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"},vs=(c.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ab9\u0ac7\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(e){return e.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(e){return Ss[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Hs[e]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0ab0\u0abe\u0aa4"===a?e<4?e:e+12:"\u0ab8\u0ab5\u0abe\u0ab0"===a?e:"\u0aac\u0aaa\u0acb\u0ab0"===a?10<=e?e:e+12:"\u0ab8\u0abe\u0a82\u0a9c"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0ab0\u0abe\u0aa4":e<10?"\u0ab8\u0ab5\u0abe\u0ab0":e<17?"\u0aac\u0aaa\u0acb\u0ab0":e<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}}),c.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(e){return 2===e?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":e+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(e){return 2===e?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":e+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(e){return 2===e?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":e+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(e){return 2===e?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":e%10==0&&10!==e?e+" \u05e9\u05e0\u05d4":e+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(e){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(e)},meridiem:function(e,a,t){return e<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":e<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":e<12?t?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":e<18?t?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}}),{1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"}),js={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},a=[/^\u091c\u0928/i,/^\u092b\u093c\u0930|\u092b\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924\u0902|\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935|\u0928\u0935\u0902/i,/^\u0926\u093f\u0938\u0902|\u0926\u093f\u0938/i];function xs(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1!==e&&(2===e||3===e||4===e)?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1!==e&&(2===e||3===e||4===e)?"godine":"godina"}}c.defineLocale("hi",{months:{format:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),standalone:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u0902\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u0902\u092c\u0930_\u0926\u093f\u0938\u0902\u092c\u0930".split("_")},monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},monthsParse:a,longMonthsParse:a,shortMonthsParse:[/^\u091c\u0928/i,/^\u092b\u093c\u0930/i,/^\u092e\u093e\u0930\u094d\u091a/i,/^\u0905\u092a\u094d\u0930\u0948/i,/^\u092e\u0908/i,/^\u091c\u0942\u0928/i,/^\u091c\u0941\u0932/i,/^\u0905\u0917/i,/^\u0938\u093f\u0924/i,/^\u0905\u0915\u094d\u091f\u0942/i,/^\u0928\u0935/i,/^\u0926\u093f\u0938/i],monthsRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsShortRegex:/^(\u091c\u0928\u0935\u0930\u0940|\u091c\u0928\.?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908|\u091c\u0941\u0932\.?|\u0905\u0917\u0938\u094d\u0924|\u0905\u0917\.?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930|\u0928\u0935\.?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930|\u0926\u093f\u0938\.?)/i,monthsStrictRegex:/^(\u091c\u0928\u0935\u0930\u0940?|\u092b\u093c\u0930\u0935\u0930\u0940|\u092b\u0930\u0935\u0930\u0940?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\u0932?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\u093e\u0908?|\u0905\u0917\u0938\u094d\u0924?|\u0938\u093f\u0924\u092e\u094d\u092c\u0930|\u0938\u093f\u0924\u0902\u092c\u0930|\u0938\u093f\u0924?\.?|\u0905\u0915\u094d\u091f\u0942\u092c\u0930|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\u092e\u094d\u092c\u0930|\u0928\u0935\u0902\u092c\u0930?|\u0926\u093f\u0938\u092e\u094d\u092c\u0930|\u0926\u093f\u0938\u0902\u092c\u0930?)/i,monthsShortStrictRegex:/^(\u091c\u0928\.?|\u092b\u093c\u0930\.?|\u092e\u093e\u0930\u094d\u091a?|\u0905\u092a\u094d\u0930\u0948\.?|\u092e\u0908?|\u091c\u0942\u0928?|\u091c\u0941\u0932\.?|\u0905\u0917\.?|\u0938\u093f\u0924\.?|\u0905\u0915\u094d\u091f\u0942\.?|\u0928\u0935\.?|\u0926\u093f\u0938\.?)/i,calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return js[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return vs[e]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924"===a?e<4?e:e+12:"\u0938\u0941\u092c\u0939"===a?e:"\u0926\u094b\u092a\u0939\u0930"===a?10<=e?e:e+12:"\u0936\u093e\u092e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924":e<10?"\u0938\u0941\u092c\u0939":e<17?"\u0926\u094b\u092a\u0939\u0930":e<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}}),c.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM YYYY",LLL:"Do MMMM YYYY H:mm",LLLL:"dddd, Do MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:return"[pro\u0161lu] [nedjelju] [u] LT";case 3:return"[pro\u0161lu] [srijedu] [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:xs,m:xs,mm:xs,h:xs,hh:xs,d:"dan",dd:xs,M:"mjesec",MM:xs,y:"godinu",yy:xs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var Ps="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function Os(e,a,t,s){var n=e;switch(t){case"s":return s||a?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return n+(s||a)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(s||a?" perc":" perce");case"mm":return n+(s||a?" perc":" perce");case"h":return"egy"+(s||a?" \xf3ra":" \xf3r\xe1ja");case"hh":return n+(s||a?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(s||a?" nap":" napja");case"dd":return n+(s||a?" nap":" napja");case"M":return"egy"+(s||a?" h\xf3nap":" h\xf3napja");case"MM":return n+(s||a?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(s||a?" \xe9v":" \xe9ve");case"yy":return n+(s||a?" \xe9v":" \xe9ve")}return""}function Ws(e){return(e?"":"[m\xfalt] ")+"["+Ps[this.day()]+"] LT[-kor]"}function As(e){return e%100==11||e%10!=1}function Es(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return As(e)?n+(a||s?"sek\xfandur":"sek\xfandum"):n+"sek\xfanda";case"m":return a?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return As(e)?n+(a||s?"m\xedn\xfatur":"m\xedn\xfatum"):a?n+"m\xedn\xfata":n+"m\xedn\xfatu";case"hh":return As(e)?n+(a||s?"klukkustundir":"klukkustundum"):n+"klukkustund";case"d":return a?"dagur":s?"dag":"degi";case"dd":return As(e)?a?n+"dagar":n+(s?"daga":"d\xf6gum"):a?n+"dagur":n+(s?"dag":"degi");case"M":return a?"m\xe1nu\xf0ur":s?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return As(e)?a?n+"m\xe1nu\xf0ir":n+(s?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):a?n+"m\xe1nu\xf0ur":n+(s?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return a||s?"\xe1r":"\xe1ri";case"yy":return As(e)?n+(a||s?"\xe1r":"\xe1rum"):n+(a||s?"\xe1r":"\xe1ri")}}c.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan._feb._m\xe1rc._\xe1pr._m\xe1j._j\xfan._j\xfal._aug._szept._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,a,t){return e<12?!0===t?"de":"DE":!0===t?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return Ws.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return Ws.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:Os,ss:Os,m:Os,mm:Os,h:Os,hh:Os,d:Os,dd:Os,M:Os,MM:Os,y:Os,yy:Os},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(e){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(e)},meridiem:function(e){return e<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":e<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":e<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(e,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-\u056b\u0576":e+"-\u0580\u0564";default:return e}},week:{dow:1,doy:7}}),c.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?11<=e?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:0,doy:6}}),c.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:Es,ss:Es,m:Es,mm:Es,h:"klukkustund",hh:Es,d:Es,dd:Es,M:Es,MM:Es,y:Es,yy:Es},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:function(){return"[Oggi a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextDay:function(){return"[Domani a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},nextWeek:function(){return"dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastDay:function(){return"[Ieri a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"},lastWeek:function(){switch(this.day()){case 0:return"[La scorsa] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT";default:return"[Lo scorso] dddd [a"+(1<this.hours()?"lle ":0===this.hours()?" ":"ll'")+"]LT"}},sameElse:"L"},relativeTime:{future:"tra %s",past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",w:"una settimana",ww:"%d settimane",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("ja",{eras:[{since:"2019-05-01",offset:1,name:"\u4ee4\u548c",narrow:"\u32ff",abbr:"R"},{since:"1989-01-08",until:"2019-04-30",offset:1,name:"\u5e73\u6210",narrow:"\u337b",abbr:"H"},{since:"1926-12-25",until:"1989-01-07",offset:1,name:"\u662d\u548c",narrow:"\u337c",abbr:"S"},{since:"1912-07-30",until:"1926-12-24",offset:1,name:"\u5927\u6b63",narrow:"\u337d",abbr:"T"},{since:"1873-01-01",until:"1912-07-29",offset:6,name:"\u660e\u6cbb",narrow:"\u337e",abbr:"M"},{since:"0001-01-01",until:"1873-12-31",offset:1,name:"\u897f\u66a6",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"\u7d00\u5143\u524d",narrow:"BC",abbr:"BC"}],eraYearOrdinalRegex:/(\u5143|\d+)\u5e74/,eraYearOrdinalParse:function(e,a){return"\u5143"===a[1]?1:parseInt(a[1]||e,10)},months:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(e){return"\u5348\u5f8c"===e},meridiem:function(e,a,t){return e<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(e){return e.week()!==this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(e){return this.week()!==e.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(e,a){switch(a){case"y":return 1===e?"\u5143\u5e74":e+"\u5e74";case"d":case"D":case"DDD":return e+"\u65e5";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}}),c.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){return 12===e&&(e=0),"enjing"===a?e:"siyang"===a?11<=e?e:e+12:"sonten"===a||"ndalu"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),c.defineLocale("ka",{months:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return e.replace(/(\u10ec\u10d0\u10db|\u10ec\u10e3\u10d7|\u10e1\u10d0\u10d0\u10d7|\u10ec\u10d4\u10da|\u10d3\u10e6|\u10d7\u10d5)(\u10d8|\u10d4)/,function(e,a,t){return"\u10d8"===t?a+"\u10e8\u10d8":a+t+"\u10e8\u10d8"})},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):e},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":e<20||e<=100&&e%20==0||e%100==0?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}});var Fs={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"},zs=(c.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(e){return e+(Fs[e]||Fs[e%10]||Fs[100<=e?100:null])},week:{dow:1,doy:7}}),{1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"}),Ns={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"},Js=(c.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(e){return"\u179b\u17d2\u1784\u17b6\u1785"===e},meridiem:function(e,a,t){return e<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(e){return e.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(e){return Ns[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return zs[e]})},week:{dow:1,doy:4}}),{1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"}),Rs={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};function O(e,a,t,s){e={s:["\xe7end san\xeeye","\xe7end san\xeeyeyan"],ss:[e+" san\xeeye",e+" san\xeeyeyan"],m:["deq\xeeqeyek","deq\xeeqeyek\xea"],mm:[e+" deq\xeeqe",e+" deq\xeeqeyan"],h:["saetek","saetek\xea"],hh:[e+" saet",e+" saetan"],d:["rojek","rojek\xea"],dd:[e+" roj",e+" rojan"],w:["hefteyek","hefteyek\xea"],ww:[e+" hefte",e+" hefteyan"],M:["mehek","mehek\xea"],MM:[e+" meh",e+" mehan"],y:["salek","salek\xea"],yy:[e+" sal",e+" salan"]};return a?e[t][0]:e[t][1]}c.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(e){return e.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(e){return Rs[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Js[e]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===a?e<4?e:e+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===a?e:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===a?10<=e?e:e+12:"\u0cb8\u0c82\u0c9c\u0cc6"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":e<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":e<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":e<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(e){return e+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}}),c.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\uc77c";case"M":return e+"\uc6d4";case"w":case"W":return e+"\uc8fc";default:return e}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(e){return"\uc624\ud6c4"===e},meridiem:function(e,a,t){return e<12?"\uc624\uc804":"\uc624\ud6c4"}}),c.defineLocale("ku-kmr",{months:"R\xeabendan_Sibat_Adar_N\xeesan_Gulan_Hez\xeeran_T\xeermeh_Tebax_\xcelon_Cotmeh_Mijdar_Berfanbar".split("_"),monthsShort:"R\xeab_Sib_Ada_N\xees_Gul_Hez_T\xeer_Teb_\xcelo_Cot_Mij_Ber".split("_"),monthsParseExact:!0,weekdays:"Yek\u015fem_Du\u015fem_S\xea\u015fem_\xc7ar\u015fem_P\xeanc\u015fem_\xcen_\u015eem\xee".split("_"),weekdaysShort:"Yek_Du_S\xea_\xc7ar_P\xean_\xcen_\u015eem".split("_"),weekdaysMin:"Ye_Du_S\xea_\xc7a_P\xea_\xcen_\u015ee".split("_"),meridiem:function(e,a,t){return e<12?t?"bn":"BN":t?"pn":"PN"},meridiemParse:/bn|BN|pn|PN/,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"Do MMMM[a] YYYY[an]",LLL:"Do MMMM[a] YYYY[an] HH:mm",LLLL:"dddd, Do MMMM[a] YYYY[an] HH:mm",ll:"Do MMM[.] YYYY[an]",lll:"Do MMM[.] YYYY[an] HH:mm",llll:"ddd[.], Do MMM[.] YYYY[an] HH:mm"},calendar:{sameDay:"[\xcero di saet] LT [de]",nextDay:"[Sib\xea di saet] LT [de]",nextWeek:"dddd [di saet] LT [de]",lastDay:"[Duh di saet] LT [de]",lastWeek:"dddd[a bor\xee di saet] LT [de]",sameElse:"L"},relativeTime:{future:"di %s de",past:"ber\xee %s",s:O,ss:O,m:O,mm:O,h:O,hh:O,d:O,dd:O,w:O,ww:O,M:O,MM:O,y:O,yy:O},dayOfMonthOrdinalParse:/\d{1,2}(?:y\xea|\xea|\.)/,ordinal:function(e,a){var a=a.toLowerCase();return a.includes("w")||a.includes("m")?e+".":e+(e=(a=""+(a=e)).substring(a.length-1),12==(a=1<a.length?a.substring(a.length-2):"")||13==a||"2"!=e&&"3"!=e&&"50"!=a&&"70"!=e&&"80"!=e?"\xea":"y\xea")},week:{dow:1,doy:4}});var Cs={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},Is={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},fe=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"],Us=(c.defineLocale("ku",{months:fe,monthsShort:fe,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(e){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(e)},meridiem:function(e,a,t){return e<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return Is[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Cs[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),{0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"});function Gs(e,a,t,s){var n={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?n[t][0]:n[t][1]}function Vs(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;var a;if(e<100)return Vs(0==(a=e%10)?e/10:a);if(e<1e4){for(;10<=e;)e/=10;return Vs(e)}return Vs(e/=1e3)}c.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(e){return e+(Us[e]||Us[e%10]||Us[100<=e?100:null])},week:{dow:1,doy:7}}),c.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return Vs(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return Vs(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:Gs,mm:"%d Minutten",h:Gs,hh:"%d Stonnen",d:Gs,dd:"%d Deeg",M:Gs,MM:"%d M\xe9int",y:Gs,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(e){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===e},meridiem:function(e,a,t){return e<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(e){return"\u0e97\u0eb5\u0ec8"+e}});var qs={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function Bs(e,a,t,s){return a?Zs(t)[0]:s?Zs(t)[1]:Zs(t)[2]}function Ks(e){return e%10==0||10<e&&e<20}function Zs(e){return qs[e].split("_")}function $s(e,a,t,s){var n=e+" ";return 1===e?n+Bs(0,a,t[0],s):a?n+(Ks(e)?Zs(t)[1]:Zs(t)[0]):s?n+Zs(t)[1]:n+(Ks(e)?Zs(t)[1]:Zs(t)[2])}c.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(e,a,t,s){return a?"kelios sekund\u0117s":s?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:$s,m:Bs,mm:$s,h:Bs,hh:$s,d:Bs,dd:$s,M:Bs,MM:$s,y:Bs,yy:$s},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});var Qs={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function Xs(e,a,t){return t?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=11?e[0]:e[1]}function en(e,a,t){return e+" "+Xs(Qs[t],e,a)}function an(e,a,t){return Xs(Qs[t],e,a)}c.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(e,a){return a?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:en,m:an,mm:en,h:an,hh:en,d:an,dd:en,M:an,MM:en,y:an,yy:en},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var tn={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=tn.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+tn.correctGrammaticalCase(e,s)}};function sn(e,a,t,s){switch(t){case"s":return a?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return e+(a?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return e+(a?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return e+(a?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return e+(a?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return e+(a?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return e+(a?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return e}}c.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:tn.translate,m:tn.translate,mm:tn.translate,h:tn.translate,hh:tn.translate,d:"dan",dd:tn.translate,M:"mjesec",MM:tn.translate,y:"godinu",yy:tn.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),c.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u0435\u0434\u043d\u0430 \u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0435\u0434\u0435\u043d \u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0435\u0434\u0435\u043d \u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u0435\u0434\u0435\u043d \u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0==t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1==a?e+"-\u0432\u0438":2==a?e+"-\u0440\u0438":7==a||8==a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),c.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&4<=e||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":e<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":e<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":e<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}}),c.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(e){return"\u04ae\u0425"===e},meridiem:function(e,a,t){return e<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:sn,ss:sn,m:sn,mm:sn,h:sn,hh:sn,d:sn,dd:sn,M:sn,MM:sn,y:sn,yy:sn},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+" \u04e9\u0434\u04e9\u0440";default:return e}}});var nn={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},rn={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function dn(e,a,t,s){var n="";if(a)switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":n="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":n="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":n="%d \u0924\u093e\u0938";break;case"d":n="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":n="%d \u0926\u093f\u0935\u0938";break;case"M":n="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":n="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u0947";break}else switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":n="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":n="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":n="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":n="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":n="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":n="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":n="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u093e\u0902";break}return n.replace(/%d/i,e)}c.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:dn,ss:dn,m:dn,mm:dn,h:dn,hh:dn,d:dn,dd:dn,M:dn,MM:dn,y:dn,yy:dn},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return rn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return nn[e]})},meridiemParse:/\u092a\u0939\u093e\u091f\u0947|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940|\u0930\u093e\u0924\u094d\u0930\u0940/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u092a\u0939\u093e\u091f\u0947"===a||"\u0938\u0915\u093e\u0933\u0940"===a?e:"\u0926\u0941\u092a\u093e\u0930\u0940"===a||"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===a||"\u0930\u093e\u0924\u094d\u0930\u0940"===a?12<=e?e:e+12:void 0},meridiem:function(e,a,t){return 0<=e&&e<6?"\u092a\u0939\u093e\u091f\u0947":e<12?"\u0938\u0915\u093e\u0933\u0940":e<17?"\u0926\u0941\u092a\u093e\u0930\u0940":e<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}}),c.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),c.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),c.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var _n={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},on={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"},mn=(c.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(e){return e.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(e){return on[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return _n[e]})},week:{dow:1,doy:4}}),c.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"\xe9n time",hh:"%d timer",d:"\xe9n dag",dd:"%d dager",w:"\xe9n uke",ww:"%d uker",M:"\xe9n m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),{1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"}),un={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"},ln=(c.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return un[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return mn[e]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u093f"===a?e<4?e:e+12:"\u092c\u093f\u0939\u093e\u0928"===a?e:"\u0926\u093f\u0909\u0901\u0938\u094b"===a?10<=e?e:e+12:"\u0938\u093e\u0901\u091d"===a?e+12:void 0},meridiem:function(e,a,t){return e<3?"\u0930\u093e\u0924\u093f":e<12?"\u092c\u093f\u0939\u093e\u0928":e<16?"\u0926\u093f\u0909\u0901\u0938\u094b":e<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),Mn="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),_=[/^jan/i,/^feb/i,/^(maart|mrt\.?)$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Ie=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,hn=(c.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?Mn:ln)[e.month()]:ln},monthsRegex:Ie,monthsShortRegex:Ie,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:_,longMonthsParse:_,shortMonthsParse:_,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),"jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_")),cn="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Ye=[/^jan/i,/^feb/i,/^(maart|mrt\.?)$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],ye=/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,Ln=(c.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?(/-MMM-/.test(a)?cn:hn)[e.month()]:hn},monthsRegex:ye,monthsShortRegex:ye,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Ye,longMonthsParse:Ye,shortMonthsParse:Ye,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",w:"\xe9\xe9n week",ww:"%d weken",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),c.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"su._m\xe5._ty._on._to._fr._lau.".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_la".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",w:"ei veke",ww:"%d veker",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("oc-lnc",{months:{standalone:"geni\xe8r_febri\xe8r_mar\xe7_abril_mai_junh_julhet_agost_setembre_oct\xf2bre_novembre_decembre".split("_"),format:"de geni\xe8r_de febri\xe8r_de mar\xe7_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'oct\xf2bre_de novembre_de decembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._mai_junh_julh._ago._set._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"dimenge_diluns_dimars_dim\xe8cres_dij\xf2us_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dm._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dm_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:"[u\xe8i a] LT",nextDay:"[deman a] LT",nextWeek:"dddd [a] LT",lastDay:"[i\xe8r a] LT",lastWeek:"dddd [passat a] LT",sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"unas segondas",ss:"%d segondas",m:"una minuta",mm:"%d minutas",h:"una ora",hh:"%d oras",d:"un jorn",dd:"%d jorns",M:"un mes",MM:"%d meses",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){return e+("w"!==a&&"W"!==a?1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8":"a")},week:{dow:1,doy:4}}),{1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"}),Yn={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"},yn=(c.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(e){return e.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(e){return Yn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ln[e]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0a30\u0a3e\u0a24"===a?e<4?e:e+12:"\u0a38\u0a35\u0a47\u0a30"===a?e:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===a?10<=e?e:e+12:"\u0a38\u0a3c\u0a3e\u0a2e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0a30\u0a3e\u0a24":e<10?"\u0a38\u0a35\u0a47\u0a30":e<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":e<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}}),"stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_")),fn="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_"),na=[/^sty/i,/^lut/i,/^mar/i,/^kwi/i,/^maj/i,/^cze/i,/^lip/i,/^sie/i,/^wrz/i,/^pa\u017a/i,/^lis/i,/^gru/i];function kn(e){return e%10<5&&1<e%10&&~~(e/10)%10!=1}function pn(e,a,t){var s=e+" ";switch(t){case"ss":return s+(kn(e)?"sekundy":"sekund");case"m":return a?"minuta":"minut\u0119";case"mm":return s+(kn(e)?"minuty":"minut");case"h":return a?"godzina":"godzin\u0119";case"hh":return s+(kn(e)?"godziny":"godzin");case"ww":return s+(kn(e)?"tygodnie":"tygodni");case"MM":return s+(kn(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return s+(kn(e)?"lata":"lat")}}function Dn(e,a,t){return e+(20<=e%100||100<=e&&e%100==0?" de ":" ")+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",ww:"s\u0103pt\u0103m\xe2ni",MM:"luni",yy:"ani"}[t]}function Tn(e,a,t){return"m"===t?a?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",ww:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043d\u0435\u0434\u0435\u043b\u0438_\u043d\u0435\u0434\u0435\u043b\u044c",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[t]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}c.defineLocale("pl",{months:function(e,a){return e?(/D MMMM/.test(a)?fn:yn)[e.month()]:yn},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),monthsParse:na,longMonthsParse:na,shortMonthsParse:na,weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:pn,m:pn,mm:pn,h:pn,hh:pn,d:"1 dzie\u0144",dd:"%d dni",w:"tydzie\u0144",ww:pn,M:"miesi\u0105c",MM:pn,y:"rok",yy:pn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("pt-br",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_ter\xe7a-feira_quarta-feira_quinta-feira_sexta-feira_s\xe1bado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_s\xe1b".split("_"),weekdaysMin:"do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",invalidDate:"Data inv\xe1lida"}),c.defineLocale("pt",{months:"janeiro_fevereiro_mar\xe7o_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",w:"uma semana",ww:"%d semanas",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),c.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:Dn,m:"un minut",mm:Dn,h:"o or\u0103",hh:Dn,d:"o zi",dd:Dn,w:"o s\u0103pt\u0103m\xe2n\u0103",ww:Dn,M:"o lun\u0103",MM:Dn,y:"un an",yy:Dn},week:{dow:1,doy:7}});t=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i],c.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:t,longMonthsParse:t,shortMonthsParse:t,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:Tn,m:Tn,mm:Tn,h:"\u0447\u0430\u0441",hh:Tn,d:"\u0434\u0435\u043d\u044c",dd:Tn,w:"\u043d\u0435\u0434\u0435\u043b\u044f",ww:Tn,M:"\u043c\u0435\u0441\u044f\u0446",MM:Tn,y:"\u0433\u043e\u0434",yy:Tn},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0438":e<12?"\u0443\u0442\u0440\u0430":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:4}}),m=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],o=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"],c.defineLocale("sd",{months:m,monthsShort:m,weekdays:o,weekdaysShort:o,weekdaysMin:o,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),c.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(e){return e+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(e){return"\u0db4.\u0dc0."===e||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===e},meridiem:function(e,a,t){return 11<e?t?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":t?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}}),n="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),ze="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function gn(e){return 1<e&&e<5}function wn(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return a||s?n+(gn(e)?"sekundy":"sek\xfand"):n+"sekundami";case"m":return a?"min\xfata":s?"min\xfatu":"min\xfatou";case"mm":return a||s?n+(gn(e)?"min\xfaty":"min\xfat"):n+"min\xfatami";case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(gn(e)?"hodiny":"hod\xedn"):n+"hodinami";case"d":return a||s?"de\u0148":"d\u0148om";case"dd":return a||s?n+(gn(e)?"dni":"dn\xed"):n+"d\u0148ami";case"M":return a||s?"mesiac":"mesiacom";case"MM":return a||s?n+(gn(e)?"mesiace":"mesiacov"):n+"mesiacmi";case"y":return a||s?"rok":"rokom";case"yy":return a||s?n+(gn(e)?"roky":"rokov"):n+"rokmi"}}function bn(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nekaj sekund":"nekaj sekundami";case"ss":return n+=1===e?a?"sekundo":"sekundi":2===e?a||s?"sekundi":"sekundah":e<5?a||s?"sekunde":"sekundah":"sekund";case"m":return a?"ena minuta":"eno minuto";case"mm":return n+=1===e?a?"minuta":"minuto":2===e?a||s?"minuti":"minutama":e<5?a||s?"minute":"minutami":a||s?"minut":"minutami";case"h":return a?"ena ura":"eno uro";case"hh":return n+=1===e?a?"ura":"uro":2===e?a||s?"uri":"urama":e<5?a||s?"ure":"urami":a||s?"ur":"urami";case"d":return a||s?"en dan":"enim dnem";case"dd":return n+=1===e?a||s?"dan":"dnem":2===e?a||s?"dni":"dnevoma":a||s?"dni":"dnevi";case"M":return a||s?"en mesec":"enim mesecem";case"MM":return n+=1===e?a||s?"mesec":"mesecem":2===e?a||s?"meseca":"mesecema":e<5?a||s?"mesece":"meseci":a||s?"mesecev":"meseci";case"y":return a||s?"eno leto":"enim letom";case"yy":return n+=1===e?a||s?"leto":"letom":2===e?a||s?"leti":"letoma":e<5?a||s?"leta":"leti":a||s?"let":"leti"}}c.defineLocale("sk",{months:n,monthsShort:ze,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:wn,ss:wn,m:wn,mm:wn,h:wn,hh:wn,d:wn,dd:wn,M:wn,MM:wn,y:wn,yy:wn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:bn,ss:bn,m:bn,mm:bn,h:bn,hh:bn,d:bn,dd:bn,M:bn,MM:bn,y:bn,yy:bn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),c.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,a,t){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var W={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u043c\u0438\u043d\u0443\u0442\u0430"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0430","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],d:["\u0458\u0435\u0434\u0430\u043d \u0434\u0430\u043d","\u0458\u0435\u0434\u043d\u043e\u0433 \u0434\u0430\u043d\u0430"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],M:["\u0458\u0435\u0434\u0430\u043d \u043c\u0435\u0441\u0435\u0446","\u0458\u0435\u0434\u043d\u043e\u0433 \u043c\u0435\u0441\u0435\u0446\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],y:["\u0458\u0435\u0434\u043d\u0443 \u0433\u043e\u0434\u0438\u043d\u0443","\u0458\u0435\u0434\u043d\u0435 \u0433\u043e\u0434\u0438\u043d\u0435"],yy:["\u0433\u043e\u0434\u0438\u043d\u0443","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(e,a){return 1<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?e%10==1?a[0]:a[1]:a[2]},translate:function(e,a,t,s){var n=W.words[t];return 1===t.length?"y"===t&&a?"\u0458\u0435\u0434\u043d\u0430 \u0433\u043e\u0434\u0438\u043d\u0430":s||a?n[0]:n[1]:(s=W.correctGrammaticalCase(e,n),"yy"===t&&a&&"\u0433\u043e\u0434\u0438\u043d\u0443"===s?e+" \u0433\u043e\u0434\u0438\u043d\u0430":e+" "+s)}},A=(c.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:W.translate,m:W.translate,mm:W.translate,h:W.translate,hh:W.translate,d:W.translate,dd:W.translate,M:W.translate,MM:W.translate,y:W.translate,yy:W.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),{words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],d:["jedan dan","jednog dana"],dd:["dan","dana","dana"],M:["jedan mesec","jednog meseca"],MM:["mesec","meseca","meseci"],y:["jednu godinu","jedne godine"],yy:["godinu","godine","godina"]},correctGrammaticalCase:function(e,a){return 1<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?e%10==1?a[0]:a[1]:a[2]},translate:function(e,a,t,s){var n=A.words[t];return 1===t.length?"y"===t&&a?"jedna godina":s||a?n[0]:n[1]:(s=A.correctGrammaticalCase(e,n),"yy"===t&&a&&"godinu"===s?e+" godina":e+" "+s)}}),Hn=(c.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D. M. YYYY.",LL:"D. MMMM YYYY.",LLL:"D. MMMM YYYY. H:mm",LLLL:"dddd, D. MMMM YYYY. H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:A.translate,m:A.translate,mm:A.translate,h:A.translate,hh:A.translate,d:A.translate,dd:A.translate,M:A.translate,MM:A.translate,y:A.translate,yy:A.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),c.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,a,t){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,a){return 12===e&&(e=0),"ekuseni"===a?e:"emini"===a?11<=e?e:e+12:"entsambama"===a||"ebusuku"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),c.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(\:e|\:a)/,ordinal:function(e){var a=e%10;return e+(1!=~~(e%100/10)&&(1==a||2==a)?":a":":e")},week:{dow:1,doy:4}}),c.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"hh:mm A",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"siku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}}),{1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"}),Sn={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"},vn=(c.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(e){return e+"\u0bb5\u0ba4\u0bc1"},preparse:function(e){return e.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(e){return Sn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Hn[e]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(e,a,t){return e<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":e<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":e<10?" \u0b95\u0bbe\u0bb2\u0bc8":e<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":e<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":e<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(e,a){return 12===e&&(e=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===a?e<2?e:e+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===a||"\u0b95\u0bbe\u0bb2\u0bc8"===a||"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===a&&10<=e?e:e+12},week:{dow:0,doy:6}}),c.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?e<4?e:e+12:"\u0c09\u0c26\u0c2f\u0c02"===a?e:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?10<=e?e:e+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":e<10?"\u0c09\u0c26\u0c2f\u0c02":e<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":e<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}}),c.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"segundu balun",ss:"segundu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),{0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"}),jn=(c.defineLocale("tg",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0430\u043b\u0438_\u043c\u0430\u0440\u0442\u0438_\u0430\u043f\u0440\u0435\u043b\u0438_\u043c\u0430\u0439\u0438_\u0438\u044e\u043d\u0438_\u0438\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442\u0438_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u0438_\u043e\u043a\u0442\u044f\u0431\u0440\u0438_\u043d\u043e\u044f\u0431\u0440\u0438_\u0434\u0435\u043a\u0430\u0431\u0440\u0438".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_")},monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u0424\u0430\u0440\u0434\u043e \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0448\u0430\u0431"===a?e<4?e:e+12:"\u0441\u0443\u0431\u04b3"===a?e:"\u0440\u04ef\u0437"===a?11<=e?e:e+12:"\u0431\u0435\u0433\u043e\u04b3"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0448\u0430\u0431":e<11?"\u0441\u0443\u0431\u04b3":e<16?"\u0440\u04ef\u0437":e<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(e){return e+(vn[e]||vn[e%10]||vn[100<=e?100:null])},week:{dow:1,doy:7}}),c.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(e){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===e},meridiem:function(e,a,t){return e<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",w:"1 \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",ww:"%d \u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}}),{1:"'inji",5:"'inji",8:"'inji",70:"'inji",80:"'inji",2:"'nji",7:"'nji",20:"'nji",50:"'nji",3:"'\xfcnji",4:"'\xfcnji",100:"'\xfcnji",6:"'njy",9:"'unjy",10:"'unjy",30:"'unjy",60:"'ynjy",90:"'ynjy"}),xn=(c.defineLocale("tk",{months:"\xddanwar_Fewral_Mart_Aprel_Ma\xfd_I\xfdun_I\xfdul_Awgust_Sent\xfdabr_Okt\xfdabr_No\xfdabr_Dekabr".split("_"),monthsShort:"\xddan_Few_Mar_Apr_Ma\xfd_I\xfdn_I\xfdl_Awg_Sen_Okt_No\xfd_Dek".split("_"),weekdays:"\xddek\u015fenbe_Du\u015fenbe_Si\u015fenbe_\xc7ar\u015fenbe_Pen\u015fenbe_Anna_\u015eenbe".split("_"),weekdaysShort:"\xddek_Du\u015f_Si\u015f_\xc7ar_Pen_Ann_\u015een".split("_"),weekdaysMin:"\xddk_D\u015f_S\u015f_\xc7r_Pn_An_\u015en".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn sagat] LT",nextDay:"[ertir sagat] LT",nextWeek:"[indiki] dddd [sagat] LT",lastDay:"[d\xfc\xfdn] LT",lastWeek:"[ge\xe7en] dddd [sagat] LT",sameElse:"L"},relativeTime:{future:"%s so\u0148",past:"%s \xf6\u0148",s:"birn\xe4\xe7e sekunt",m:"bir minut",mm:"%d minut",h:"bir sagat",hh:"%d sagat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir a\xfd",MM:"%d a\xfd",y:"bir \xfdyl",yy:"%d \xfdyl"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:var t;return 0===e?e+"'unjy":e+(jn[t=e%10]||jn[e%100-t]||jn[100<=e?100:null])}},week:{dow:1,doy:7}}),c.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),"pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_"));function Pn(e,a,t,s){var n=function(e){var a=Math.floor(e%1e3/100),t=Math.floor(e%100/10),e=e%10,s="";0<a&&(s+=xn[a]+"vatlh");0<t&&(s+=(""!==s?" ":"")+xn[t]+"maH");0<e&&(s+=(""!==s?" ":"")+xn[e]);return""===s?"pagh":s}(e);switch(t){case"ss":return n+" lup";case"mm":return n+" tup";case"hh":return n+" rep";case"dd":return n+" jaj";case"MM":return n+" jar";case"yy":return n+" DIS"}}c.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"leS":-1!==e.indexOf("jar")?a.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?a.slice(0,-3)+"nem":a+" pIq"},past:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"Hu\u2019":-1!==e.indexOf("jar")?a.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?a.slice(0,-3)+"ben":a+" ret"},s:"puS lup",ss:Pn,m:"wa\u2019 tup",mm:Pn,h:"wa\u2019 rep",hh:Pn,d:"wa\u2019 jaj",dd:Pn,M:"wa\u2019 jar",MM:Pn,y:"wa\u2019 DIS",yy:Pn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var On={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};function Wn(e,a,t,s){e={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[e+" m\xeduts",e+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[e+" \xfeoras",e+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return s||a?e[t][0]:e[t][1]}function An(e,a,t){return"m"===t?a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===t?a?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+(e=+e,a=(a={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:a?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[t]).split("_"),e%10==1&&e%100!=11?a[0]:2<=e%10&&e%10<=4&&(e%100<10||20<=e%100)?a[1]:a[2])}function En(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}c.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pzt_Sal_\xc7ar_Per_Cum_Cmt".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),meridiem:function(e,a,t){return e<12?t?"\xf6\xf6":"\xd6\xd6":t?"\xf6s":"\xd6S"},meridiemParse:/\xf6\xf6|\xd6\xd6|\xf6s|\xd6S/,isPM:function(e){return"\xf6s"===e||"\xd6S"===e},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",w:"bir hafta",ww:"%d hafta",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:var t;return 0===e?e+"'\u0131nc\u0131":e+(On[t=e%10]||On[e%100-t]||On[100<=e?100:null])}},week:{dow:1,doy:7}}),c.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"d'o":"D'O":t?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:Wn,ss:Wn,m:Wn,mm:Wn,h:Wn,hh:Wn,d:Wn,dd:Wn,M:Wn,MM:Wn,y:Wn,yy:Wn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),c.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),c.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}}),c.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"!==a&&"\u0643\u06d5\u0686"!==a&&11<=e?e:e+12},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":e<900?"\u0633\u06d5\u06be\u06d5\u0631":e<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":e<1230?"\u0686\u06c8\u0634":e<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return e+"-\u06be\u06d5\u067e\u062a\u06d5";default:return e}},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:7}}),c.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(e,a){var t={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===e?t.nominative.slice(1,7).concat(t.nominative.slice(0,1)):e?t[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(a)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(a)?"genitive":"nominative"][e.day()]:t.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:En("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:En("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:En("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:En("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return En("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return En("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:An,m:An,mm:An,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:An,d:"\u0434\u0435\u043d\u044c",dd:An,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:An,y:"\u0440\u0456\u043a",yy:An},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0456":e<12?"\u0440\u0430\u043d\u043a\u0443":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}});i=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],jt=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];return c.defineLocale("ur",{months:i,monthsShort:i,weekdays:jt,weekdaysShort:jt,weekdaysMin:jt,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),c.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}),c.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}}),c.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"sa":"SA":t?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n tr\u01b0\u1edbc l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",w:"m\u1ed9t tu\u1ea7n",ww:"%d tu\u1ea7n",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),c.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1==a?"st":2==a?"nd":3==a?"rd":"th")},week:{dow:1,doy:4}}),c.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}}),c.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a||"\u4e0b\u5348"!==a&&"\u665a\u4e0a"!==a&&11<=e?e:e+12},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:function(e){return e.week()!==this.week()?"[\u4e0b]dddLT":"[\u672c]dddLT"},lastDay:"[\u6628\u5929]LT",lastWeek:function(e){return this.week()!==e.week()?"[\u4e0a]dddLT":"[\u672c]dddLT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u540e",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",w:"1 \u5468",ww:"%d \u5468",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}}),c.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1200?"\u4e0a\u5348":1200===e?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),c.defineLocale("zh-mo",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"D/M/YYYY",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),c.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){e=100*e+a;return e<600?"\u51cc\u6668":e<900?"\u65e9\u4e0a":e<1130?"\u4e0a\u5348":e<1230?"\u4e2d\u5348":e<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),c.locale("en"),c}); 12552//# sourceMappingURL=moment-with-locales.min.js.map
12552 12553(function(factory) { 12554 if (typeof define === "function" && define.amd) { 12555 // AMD. Register as an anonymous module. 12556 define([], factory); 12557 } else if (typeof exports === "object") { 12558 // Node/CommonJS 12559 module.exports = factory(); 12560 } else { 12561 // Browser globals 12562 window.wNumb = factory(); 12563 } 12564})(function() { 12565 "use strict"; 12566 12567 var FormatOptions = [ 12568 "decimals", 12569 "thousand", 12570 "mark", 12571 "prefix", 12572 "suffix", 12573 "encoder", 12574 "decoder", 12575 "negativeBefore", 12576 "negative", 12577 "edit", 12578 "undo" 12579 ]; 12580 12581 // General 12582 12583 // Reverse a string 12584 function strReverse(a) { 12585 return a 12586 .split("") 12587 .reverse() 12588 .join(""); 12589 } 12590 12591 // Check if a string starts with a specified prefix. 12592 function strStartsWith(input, match) { 12593 return input.substring(0, match.length) === match; 12594 } 12595 12596 // Check is a string ends in a specified suffix. 12597 function strEndsWith(input, match) { 12598 return input.slice(-1 * match.length) === match; 12599 } 12600 12601 // Throw an error if formatting options are incompatible.
vendor: 8,679 bytes, lines 12602-12936
12602 function throwEqualError(F, a, b) { 12603 if ((F[a] || F[b]) && F[a] === F[b]) { 12604 throw new Error(a); 12605 } 12606 } 12607 12608 // Check if a number is finite and not NaN 12609 function isValidNumber(input) { 12610 return typeof input === "number" && isFinite(input); 12611 } 12612 12613 // Provide rounding-accurate toFixed method. 12614 // Borrowed: http://stackoverflow.com/a/21323330/775265 12615 function toFixed(value, exp) { 12616 value = value.toString().split("e"); 12617 value = Math.round(+(value[0] + "e" + (value[1] ? +value[1] + exp : exp))); 12618 value = value.toString().split("e"); 12619 return (+(value[0] + "e" + (value[1] ? +value[1] - exp : -exp))).toFixed(exp); 12620 } 12621 12622 // Formatting 12623 12624 // Accept a number as input, output formatted string. 12625 function formatTo( 12626 decimals, 12627 thousand, 12628 mark, 12629 prefix, 12630 suffix, 12631 encoder, 12632 decoder, 12633 negativeBefore, 12634 negative, 12635 edit, 12636 undo, 12637 input 12638 ) { 12639 var originalInput = input, 12640 inputIsNegative, 12641 inputPieces, 12642 inputBase, 12643 inputDecimals = "", 12644 output = ""; 12645 12646 // Apply user encoder to the input. 12647 // Expected outcome: number. 12648 if (encoder) { 12649 input = encoder(input); 12650 } 12651 12652 // Stop if no valid number was provided, the number is infinite or NaN. 12653 if (!isValidNumber(input)) { 12654 return false; 12655 } 12656 12657 // Rounding away decimals might cause a value of -0 12658 // when using very small ranges. Remove those cases. 12659 if (decimals !== false && parseFloat(input.toFixed(decimals)) === 0) { 12660 input = 0; 12661 } 12662 12663 // Formatting is done on absolute numbers, 12664 // decorated by an optional negative symbol. 12665 if (input < 0) { 12666 inputIsNegative = true; 12667 input = Math.abs(input); 12668 } 12669 12670 // Reduce the number of decimals to the specified option. 12671 if (decimals !== false) { 12672 input = toFixed(input, decimals); 12673 } 12674 12675 // Transform the number into a string, so it can be split. 12676 input = input.toString(); 12677 12678 // Break the number on the decimal separator. 12679 if (input.indexOf(".") !== -1) { 12680 inputPieces = input.split("."); 12681 12682 inputBase = inputPieces[0]; 12683 12684 if (mark) { 12685 inputDecimals = mark + inputPieces[1]; 12686 } 12687 } else { 12688 // If it isn't split, the entire number will do. 12689 inputBase = input; 12690 } 12691 12692 // Group numbers in sets of three. 12693 if (thousand) { 12694 inputBase = strReverse(inputBase).match(/.{1,3}/g); 12695 inputBase = strReverse(inputBase.join(strReverse(thousand))); 12696 } 12697 12698 // If the number is negative, prefix with negation symbol. 12699 if (inputIsNegative && negativeBefore) { 12700 output += negativeBefore; 12701 } 12702 12703 // Prefix the number 12704 if (prefix) { 12705 output += prefix; 12706 } 12707 12708 // Normal negative option comes after the prefix. Defaults to '-'. 12709 if (inputIsNegative && negative) { 12710 output += negative; 12711 } 12712 12713 // Append the actual number. 12714 output += inputBase; 12715 output += inputDecimals; 12716 12717 // Apply the suffix. 12718 if (suffix) { 12719 output += suffix; 12720 } 12721 12722 // Run the output through a user-specified post-formatter. 12723 if (edit) { 12724 output = edit(output, originalInput); 12725 } 12726 12727 // All done. 12728 return output; 12729 } 12730 12731 // Accept a sting as input, output decoded number. 12732 function formatFrom( 12733 decimals, 12734 thousand, 12735 mark, 12736 prefix, 12737 suffix, 12738 encoder, 12739 decoder, 12740 negativeBefore, 12741 negative, 12742 edit, 12743 undo, 12744 input 12745 ) { 12746 var originalInput = input, 12747 inputIsNegative, 12748 output = ""; 12749 12750 // User defined pre-decoder. Result must be a non empty string. 12751 if (undo) { 12752 input = undo(input); 12753 } 12754 12755 // Test the input. Can't be empty. 12756 if (!input || typeof input !== "string") { 12757 return false; 12758 } 12759 12760 // If the string starts with the negativeBefore value: remove it. 12761 // Remember is was there, the number is negative. 12762 if (negativeBefore && strStartsWith(input, negativeBefore)) { 12763 input = input.replace(negativeBefore, ""); 12764 inputIsNegative = true; 12765 } 12766 12767 // Repeat the same procedure for the prefix. 12768 if (prefix && strStartsWith(input, prefix)) { 12769 input = input.replace(prefix, ""); 12770 } 12771 12772 // And again for negative. 12773 if (negative && strStartsWith(input, negative)) { 12774 input = input.replace(negative, ""); 12775 inputIsNegative = true; 12776 } 12777 12778 // Remove the suffix. 12779 // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/slice 12780 if (suffix && strEndsWith(input, suffix)) { 12781 input = input.slice(0, -1 * suffix.length); 12782 } 12783 12784 // Remove the thousand grouping. 12785 if (thousand) { 12786 input = input.split(thousand).join(""); 12787 } 12788 12789 // Set the decimal separator back to period. 12790 if (mark) { 12791 input = input.replace(mark, "."); 12792 } 12793 12794 // Prepend the negative symbol. 12795 if (inputIsNegative) { 12796 output += "-"; 12797 } 12798 12799 // Add the number 12800 output += input; 12801 12802 // Trim all non-numeric characters (allow '.' and '-'); 12803 output = output.replace(/[^0-9\.\-.]/g, ""); 12804 12805 // The value contains no parse-able number. 12806 if (output === "") { 12807 return false; 12808 } 12809 12810 // Covert to number. 12811 output = Number(output); 12812 12813 // Run the user-specified post-decoder. 12814 if (decoder) { 12815 output = decoder(output); 12816 } 12817 12818 // Check is the output is valid, otherwise: return false. 12819 if (!isValidNumber(output)) { 12820 return false; 12821 } 12822 12823 return output; 12824 } 12825 12826 // Framework 12827 12828 // Validate formatting options 12829 function validate(inputOptions) { 12830 var i, 12831 optionName, 12832 optionValue, 12833 filteredOptions = {}; 12834 12835 if (inputOptions["suffix"] === undefined) { 12836 inputOptions["suffix"] = inputOptions["postfix"]; 12837 } 12838 12839 for (i = 0; i < FormatOptions.length; i += 1) { 12840 optionName = FormatOptions[i]; 12841 optionValue = inputOptions[optionName]; 12842 12843 if (optionValue === undefined) { 12844 // Only default if negativeBefore isn't set. 12845 if (optionName === "negative" && !filteredOptions.negativeBefore) { 12846 filteredOptions[optionName] = "-"; 12847 // Don't set a default for mark when 'thousand' is set. 12848 } else if (optionName === "mark" && filteredOptions.thousand !== ".") { 12849 filteredOptions[optionName] = "."; 12850 } else { 12851 filteredOptions[optionName] = false; 12852 } 12853 12854 // Floating points in JS are stable up to 7 decimals. 12855 } else if (optionName === "decimals") { 12856 if (optionValue >= 0 && optionValue < 8) { 12857 filteredOptions[optionName] = optionValue; 12858 } else { 12859 throw new Error(optionName); 12860 } 12861 12862 // These options, when provided, must be functions. 12863 } else if ( 12864 optionName === "encoder" || 12865 optionName === "decoder" || 12866 optionName === "edit" || 12867 optionName === "undo" 12868 ) { 12869 if (typeof optionValue === "function") { 12870 filteredOptions[optionName] = optionValue; 12871 } else { 12872 throw new Error(optionName); 12873 } 12874 12875 // Other options are strings. 12876 } else { 12877 if (typeof optionValue === "string") { 12878 filteredOptions[optionName] = optionValue; 12879 } else { 12880 throw new Error(optionName); 12881 } 12882 } 12883 } 12884 12885 // Some values can't be extracted from a 12886 // string if certain combinations are present. 12887 throwEqualError(filteredOptions, "mark", "thousand"); 12888 throwEqualError(filteredOptions, "prefix", "negative"); 12889 throwEqualError(filteredOptions, "prefix", "negativeBefore"); 12890 12891 return filteredOptions; 12892 } 12893 12894 // Pass all options as function arguments 12895 function passAll(options, method, input) { 12896 var i, 12897 args = []; 12898 12899 // Add all options in order of FormatOptions 12900 for (i = 0; i < FormatOptions.length; i += 1) { 12901 args.push(options[FormatOptions[i]]); 12902 } 12903 12904 // Append the input, then call the method, presenting all 12905 // options as arguments. 12906 args.push(input); 12907 return method.apply("", args); 12908 } 12909 12910 function wNumb(options) { 12911 if (!(this instanceof wNumb)) { 12912 return new wNumb(options); 12913 } 12914 12915 if (typeof options !== "object") { 12916 return; 12917 } 12918 12919 options = validate(options); 12920 12921 // Call 'formatTo' with proper arguments. 12922 this.to = function(input) { 12923 return passAll(options, formatTo, input); 12924 }; 12925 12926 // Call 'formatFrom' with proper arguments. 12927 this.from = function(input) { 12928 return passAll(options, formatFrom, input); 12929 }; 12930 } 12931 12932 return wNumb; 12933}); 12934 12935/*! Axios v1.11.0 Copyright (c) 2025 Matt Zabriskie and contributors */ 12936!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).axios=t(
vendor: 4,303 bytes, line 12936
12936)}(this,(function(){"use strict";function e(e){var r,n;function o(r,n){try{var a=e[r](n),u=a.value,s=u instanceof t;Promise.resolve(s?u.v:u).then((function(t){if(s){var n="return"===r?"return":"next";if(!u.k||t.done)return o(n,t);t=e[n](t).value}i(a.done?"return":"normal",t)}),(function(e){o("throw",e)}))}catch(e){i("throw",e)}}function i(e,t){switch(e){case"return":r.resolve({value:t,done:!0});break;case"throw":r.reject(t);break;default:r.resolve({value:t,done:!1})}(r=r.next)?o(r.key,r.arg):n=null}this._invoke=function(e,t){return new Promise((function(i,a){var u={key:e,arg:t,resolve:i,reject:a,next:null};n?n=n.next=u:(r=n=u,o(e,t))}))},"function"!=typeof e.return&&(this.return=void 0)}function t(e,t){this.v=e,this.k=t}function r(e){var r={},n=!1;function o(r,o){return n=!0,o=new Promise((function(t){t(e[r](o))})),{done:!1,value:new t(o,1)}}return r["undefined"!=typeof Symbol&&Symbol.iterator||"@@iterator"]=function(){return this},r.next=function(e){return n?(n=!1,e):o("next",e)},"function"==typeof e.throw&&(r.throw=function(e){if(n)throw n=!1,e;return o("throw",e)}),"function"==typeof e.return&&(r.return=function(e){return n?(n=!1,e):o("return",e)}),r}function n(e){var t,r,n,i=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,n=Symbol.iterator);i--;){if(r&&null!=(t=e[r]))return t.call(e);if(n&&null!=(t=e[n]))return new o(t.call(e));r="@@asyncIterator",n="@@iterator"}throw new TypeError("Object is not async iterable")}function o(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return o=function(e){this.s=e,this.n=e.next},o.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new o(e)}function i(e){return new t(e,0)}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){m(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(){s=function(){return t};var e,t={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(e,t,r){e[t]=r.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",u=i.asyncIterator||"@@asyncIterator",c=i.toStringTag||"@@toStringTag";function f(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{f({},"")}catch(e){f=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var i=t&&t.prototype instanceof m?t:m,a=Object.create(i.prototype),u=new P(n||[]);return o(a,"_invoke",{value:k(e,r,u)}),a}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=l;var h="suspendedStart",d="executing",v="completed",y={};function m(){}function b(){}function g(){}var w={};f(w,a,(function(){return this}));var E=Object.getPrototypeOf,O=E&&E(E(L([])));O&&O!==r&&n.call(O,a)&&(w=O);var S=g.prototype=m.prototype=Object.create(w);function x(e){["next","throw","return"].forEach((function(t){f(e,t,(function(e){return this._invoke(t,e)}))}))}function R(e,t){function r(o,i,a,u){var s=p(e[o],e,i);if("throw"!==s.type){var c=s.arg,f=c.value;return f&&"object"==typeof f&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){r("next",e,a,u)}),(function(e){r("throw",e,a,u)})):t.resolve(f).then((function(e){c.value=e,a(c)}),(function(e){return r("throw",e,a,u)}))}u(s.arg)}var i;o(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return i=i?i.then(o,o):o()}})}function k(t,r,n){var o=h;return function(i,a){if(o===d)throw new Error("Generator is already running");if(o===v){if("throw"===i)throw a;return{value:e,done:!0}}
vendor: 4,406 bytes, line 12936
12936for(n.method=i,n.arg=a;;){var u=n.delegate;if(u){var s=T(u,n);if(s){if(s===y)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var c=p(t,r,n);if("normal"===c.type){if(o=n.done?v:"suspendedYield",c.arg===y)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=v,n.method="throw",n.arg=c.arg)}}}function T(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,T(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=p(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[t.resultName]=a.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y)}function j(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function A(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function P(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(j,this),this.reset(!0)}function L(t){if(t||""===t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,i=function r(){for(;++o<t.length;)if(n.call(t,o))return r.value=t[o],r.done=!1,r;return r.value=e,r.done=!0,r};return i.next=i}}throw new TypeError(typeof t+" is not iterable")}return b.prototype=g,o(S,"constructor",{value:g,configurable:!0}),o(g,"constructor",{value:b,configurable:!0}),b.displayName=f(g,c,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===b||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,g):(e.__proto__=g,f(e,c,"GeneratorFunction")),e.prototype=Object.create(S),e},t.awrap=function(e){return{__await:e}},x(R.prototype),f(R.prototype,u,(function(){return this})),t.AsyncIterator=R,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var a=new R(l(e,r,n,o),i);return t.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},x(S),f(S,c,"Generator"),f(S,a,(function(){return this})),f(S,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=L,P.prototype={constructor:P,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(A),!t)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function o(n,o){return u.type="throw",u.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),y},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];
12936if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),A(r),y}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;A(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:L(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),y}},t}function c(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function l(t){return function(){return new e(t.apply(this,arguments))}}function p(e,t,r,n,o,i,a){try{var u=e[i](a),s=u.value}catch(e){return void r(e)}u.done?t(s):Promise.resolve(s).then(n,o)}function h(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){p(i,n,o,a,u,"next",e)}function u(e){p(i,n,o,a,u,"throw",e)}a(void 0)}))}}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function v(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,c(n.key),n)}}function y(e,t,r){return t&&v(e.prototype,t),r&&v(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function m(e,t,r){return(t=c(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function b(e,t){return w(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,u=[],s=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1}else for(;!(s=(n=i.call(r)).done)&&(u.push(n.value),u.length!==t);s=!0);}catch(e){c=!0,o=e}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(c)throw o}}return u}}(e,t)||O(e,t)||x()}function g(e){return function(e){if(Array.isArray(e))return S(e)}(e)||E(e)||O(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function w(e){if(Array.isArray(e))return e}function E(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function O(e,t){if(e){if("string"==typeof e)return S(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?S(e,t):void 0}}function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function x(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function R(e,t){return function(){return e.apply(t,arguments)}}e.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},e.prototype.next=function(e){return this._invoke("next",e)},e.prototype.throw=function(e){return this._invoke("throw",e)},e.prototype.return=function(e){return this._invoke("return",e)};var k,T=Object.prototype.toString,j=Object.getPrototypeOf,A=Symbol.iterator,P=Symbol.toStringTag,L=(k=Object.create(null),function(e){var t=T.call(e);return k[t]||(k[t]=t.slice(8,-1).toLowerCase())}),N=function(e){return e=e.toLowerCase(),function(t){return L(t)===e}},_=function(e){return function(t){return f(t)===e}},C=Array.isArray,U=_("undefined");function F(e){return null!==e&&!U(e)&&null!==e.constructor&&!U(e.constructor)&&q(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}var B=N("ArrayBuffer");var D=_("string"),q=_("function"),I=_("number"),M=function(e){return null!==e&&"object"===f(e)},z=function(e){if("object"!==L(e))return!1;var t=j(e);return!(null!==t&&t!==Object.prototype&&null!==Object.getPrototypeOf(t)||P in e||A in e)},H=N("Date"),J=N("File"),W=N("Blob"),K=N("FileList"),V=N("URLSearchParams"),G=b(["ReadableStream","Request","Response","Headers"].map(N),4),X=G[0],$=G[1],Y=G[2],Q=G[3];function Z(e,t){var r,n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=o.allOwnKeys,a=void 0!==i&&i;if(null!=e)if("object"!==f(e)&&(e=[e]),C(e))for(r=0,n=e.length;r<n;r++)t.call(null,e[r],r,e);else{if(F(e))return;var u,s=a?Object.getOwnPropertyNames(e):Object.keys(e),c=s.length;for(r=0;r<c;r++)u=s[r],t.call(null,e[u],u,e)}}function ee(e,t){if(F(e))return null;t=t.toLowerCase();for(var r,n=Object.keys(e),o=n.length;o-- >0;
12936)if(t===(r=n[o]).toLowerCase())return r;return null}var te="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,re=function(e){return!U(e)&&e!==te};var ne,oe=(ne="undefined"!=typeof Uint8Array&&j(Uint8Array),function(e){return ne&&e instanceof ne}),ie=N("HTMLFormElement"),ae=function(e){var t=Object.prototype.hasOwnProperty;return function(e,r){return t.call(e,r)}}(),ue=N("RegExp"),se=function(e,t){var r=Object.getOwnPropertyDescriptors(e),n={};Z(r,(function(r,o){var i;!1!==(i=t(r,o,e))&&(n[o]=i||r)})),Object.defineProperties(e,n)};var ce,fe,le,pe,he=N("AsyncFunction"),de=(ce="function"==typeof setImmediate,fe=q(te.postMessage),ce?setImmediate:fe?(le="axios@".concat(Math.random()),pe=[],te.addEventListener("message",(function(e){var t=e.source,r=e.data;t===te&&r===le&&pe.length&&pe.shift()()}),!1),function(e){pe.push(e),te.postMessage(le,"*")}):function(e){return setTimeout(e)}),ve="undefined"!=typeof queueMicrotask?queueMicrotask.bind(te):"undefined"!=typeof process&&process.nextTick||de,ye={isArray:C,isArrayBuffer:B,isBuffer:F,isFormData:function(e){var t;return e&&("function"==typeof FormData&&e instanceof FormData||q(e.append)&&("formdata"===(t=L(e))||"object"===t&&q(e.toString)&&"[object FormData]"===e.toString()))},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&B(e.buffer)},isString:D,isNumber:I,isBoolean:function(e){return!0===e||!1===e},isObject:M,isPlainObject:z,isEmptyObject:function(e){if(!M(e)||F(e))return!1;try{return 0===Object.keys(e).length&&Object.getPrototypeOf(e)===Object.prototype}catch(e){return!1}},isReadableStream:X,isRequest:$,isResponse:Y,isHeaders:Q,isUndefined:U,isDate:H,isFile:J,isBlob:W,isRegExp:ue,isFunction:q,isStream:function(e){return M(e)&&q(e.pipe)},isURLSearchParams:V,isTypedArray:oe,isFileList:K,forEach:Z,merge:function e(){for(var t=re(this)&&this||{},r=t.caseless,n={},o=function(t,o){var i=r&&ee(n,o)||o;z(n[i])&&z(t)?n[i]=e(n[i],t):z(t)?n[i]=e({},t):C(t)?n[i]=t.slice():n[i]=t},i=0,a=arguments.length;i<a;i++)arguments[i]&&Z(arguments[i],o);return n},extend:function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=n.allOwnKeys;return Z(t,(function(t,n){r&&q(t)?e[n]=R(t,r):e[n]=t}),{allOwnKeys:o}),e},trim:function(e){return e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")},stripBOM:function(e){return 65279===e.charCodeAt(0)&&(e=e.slice(1)),e},inherits:function(e,t,r,n){e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},toFlatObject:function(e,t,r,n){var o,i,a,u={};if(t=t||{},null==e)return t;do{for(i=(o=Object.getOwnPropertyNames(e)).length;i-- >0;)a=o[i],n&&!n(a,e,t)||u[a]||(t[a]=e[a],u[a]=!0);e=!1!==r&&j(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},kindOf:L,kindOfTest:N,endsWith:function(e,t,r){e=String(e),(void 0===r||r>e.length)&&(r=e.length),r-=t.length;var n=e.indexOf(t,r);return-1!==n&&n===r},toArray:function(e){if(!e)return null;if(C(e))return e;var t=e.length;if(!I(t))return null;for(var r=new Array(t);t-- >0;)r[t]=e[t];return r},forEachEntry:function(e,t){for(var r,n=(e&&e[A]).call(e);(r=n.next())&&!r.done;){var o=r.value;t.call(e,o[0],o[1])}},matchAll:function(e,t){for(var r,n=[];null!==(r=e.exec(t));)n.push(r);return n},isHTMLForm:ie,hasOwnProperty:ae,hasOwnProp:ae,reduceDescriptors:se,freezeMethods:function(e){se(e,(function(t,r){if(q(e)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;var n=e[r];q(n)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=function(){throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:function(e,t){var r={},n=function(e){e.forEach((function(e){r[e]=!0}))};return C(e)?n(e):n(String(e).split(t)),r},toCamelCase:function(e){return e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r}))},noop:function(){},toFiniteNumber:function(e,t){return null!=e&&Number.isFinite(e=+e)?e:t},findKey:ee,global:te,isContextDefined:re,isSpecCompliantForm:function(e){return!!(e&&q(e.append)&&"FormData"===e[P]&&e[A])},toJSONObject:function(e){var t=new Array(10);return function e(r,n){if(M(r)){if(t.indexOf(r)>=0)return;if(F(r))return r;if(!("toJSON"in r)){t[n]=r;var o=C(r)?[]:{};return Z(r,(function(t,r){var i=e(t,n+1);!U(i)&&(o[r]=i)})),t[n]=void 0,o}}return r}(e,0)},isAsyncFn:he,isThenable:function(e){return e&&(M(e)||q(e))&&q(e.then)&&q(e.catch)},setImmediate:de,asap:ve,isIterable:function(e){return null!=e&&q(e[A])}};function me(e,t,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o,this.status=o.status?o.status:null)}ye.inherits(me,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:ye.toJSONObject(this.config),code:this.code,status:this.status}}});var be=me.prototype,ge={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","E
12936RR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((function(e){ge[e]={value:e}})),Object.defineProperties(me,ge),Object.defineProperty(be,"isAxiosError",{value:!0}),me.from=function(e,t,r,n,o,i){var a=Object.create(be);return ye.toFlatObject(e,a,(function(e){return e!==Error.prototype}),(function(e){return"isAxiosError"!==e})),me.call(a,e.message,t,r,n,o),a.cause=e,a.name=e.name,i&&Object.assign(a,i),a};function we(e){return ye.isPlainObject(e)||ye.isArray(e)}function Ee(e){return ye.endsWith(e,"[]")?e.slice(0,-2):e}function Oe(e,t,r){return e?e.concat(t).map((function(e,t){return e=Ee(e),!r&&t?"["+e+"]":e})).join(r?".":""):t}var Se=ye.toFlatObject(ye,{},null,(function(e){return/^is[A-Z]/.test(e)}));function xe(e,t,r){if(!ye.isObject(e))throw new TypeError("target must be an object");t=t||new FormData;var n=(r=ye.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!ye.isUndefined(t[e])}))).metaTokens,o=r.visitor||c,i=r.dots,a=r.indexes,u=(r.Blob||"undefined"!=typeof Blob&&Blob)&&ye.isSpecCompliantForm(t);if(!ye.isFunction(o))throw new TypeError("visitor must be a function");function s(e){if(null===e)return"";if(ye.isDate(e))return e.toISOString();if(ye.isBoolean(e))return e.toString();if(!u&&ye.isBlob(e))throw new me("Blob is not supported. Use a Buffer instead.");return ye.isArrayBuffer(e)||ye.isTypedArray(e)?u&&"function"==typeof Blob?new Blob([e]):Buffer.from(e):e}function c(e,r,o){var u=e;if(e&&!o&&"object"===f(e))if(ye.endsWith(r,"{}"))r=n?r:r.slice(0,-2),e=JSON.stringify(e);else if(ye.isArray(e)&&function(e){return ye.isArray(e)&&!e.some(we)}(e)||(ye.isFileList(e)||ye.endsWith(r,"[]"))&&(u=ye.toArray(e)))return r=Ee(r),u.forEach((function(e,n){!ye.isUndefined(e)&&null!==e&&t.append(!0===a?Oe([r],n,i):null===a?r:r+"[]",s(e))})),!1;return!!we(e)||(t.append(Oe(o,r,i),s(e)),!1)}var l=[],p=Object.assign(Se,{defaultVisitor:c,convertValue:s,isVisitable:we});if(!ye.isObject(e))throw new TypeError("data must be an object");return function e(r,n){if(!ye.isUndefined(r)){if(-1!==l.indexOf(r))throw Error("Circular reference detected in "+n.join("."));l.push(r),ye.forEach(r,(function(r,i){!0===(!(ye.isUndefined(r)||null===r)&&o.call(t,r,ye.isString(i)?i.trim():i,n,p))&&e(r,n?n.concat(i):[i])})),l.pop()}}(e),t}function Re(e){var t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function ke(e,t){this._pairs=[],e&&xe(e,this,t)}var Te=ke.prototype;function je(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ae(e,t,r){if(!t)return e;var n=r&&r.encode||je;ye.isFunction(r)&&(r={serialize:r});var o,i=r&&r.serialize;if(o=i?i(t,r):ye.isURLSearchParams(t)?t.toString():new ke(t,r).toString(n)){var a=e.indexOf("#");-1!==a&&(e=e.slice(0,a)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}Te.append=function(e,t){this._pairs.push([e,t])},Te.toString=function(e){var t=e?function(t){return e.call(this,t,Re)}:Re;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var Pe=function(){function e(){d(this,e),this.handlers=[]}return y(e,[{key:"use",value:function(e,t,r){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}},{key:"eject",value:function(e){this.handlers[e]&&(this.handlers[e]=null)}},{key:"clear",value:function(){this.handlers&&(this.handlers=[])}},{key:"forEach",value:function(e){ye.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}]),e}(),Le={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Ne={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:ke,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},_e="undefined"!=typeof window&&"undefined"!=typeof document,Ce="object"===("undefined"==typeof navigator?"undefined":f(navigator))&&navigator||void 0,Ue=_e&&(!Ce||["ReactNative","NativeScript","NS"].indexOf(Ce.product)<0),Fe="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,Be=_e&&window.location.href||"http://localhost",De=u(u({},Object.freeze({__proto__:null,hasBrowserEnv:_e,hasStandardBrowserWebWorkerEnv:Fe,hasStandardBrowserEnv:Ue,navigator:Ce,origin:Be})),Ne);function qe(e){function t(e,r,n,o){var i=e[o++];if("__proto__"===i)return!0;var a=Number.isFinite(+i),u=o>=e.length;return i=!i&&ye.isArray(n)?n.length:i,u?(ye.hasOwnProp(n,i)?n[i]=[n[i],r]:n[i]=r,!a):(n[i]&&ye.isObject(n[i])||(n[i]=[]),t(e,r,n[i],o)&&ye.isArray(n[i])&&(n[i]=function(e){var t,r,n={},o=Object.keys(e),i=o.length;for(t=0;t<i;t++)n[r=o[t]]=e[r];return n}(n[i])),!a)}if(ye.isFormData(e)&&ye.isFunction(e.entries)){var r={};return ye.forEachEntry(e,(function(e,n){t(function(e){return ye.matchAll(/\w+|\[(\w*)]/g,e).map((function(e){return"[]"===e[0]?"":e[1]||e[0]}))}(e),n,r,0)})),r}return null}var Ie={transitional:Le,adapter:["xhr","http","fetch"],transformRequest:[function(e,t){var r,n=t.getContentType()||"",o=n.indexOf("application/json")>-1,i=ye.isObject(e);
12936if(i&&ye.isHTMLForm(e)&&(e=new FormData(e)),ye.isFormData(e))return o?JSON.stringify(qe(e)):e;if(ye.isArrayBuffer(e)||ye.isBuffer(e)||ye.isStream(e)||ye.isFile(e)||ye.isBlob(e)||ye.isReadableStream(e))return e;if(ye.isArrayBufferView(e))return e.buffer;if(ye.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(e,t){return xe(e,new De.classes.URLSearchParams,u({visitor:function(e,t,r,n){return De.isNode&&ye.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}(e,this.formSerializer).toString();if((r=ye.isFileList(e))||n.indexOf("multipart/form-data")>-1){var a=this.env&&this.env.FormData;return xe(r?{"files[]":e}:e,a&&new a,this.formSerializer)}}return i||o?(t.setContentType("application/json",!1),function(e,t,r){if(ye.isString(e))try{return(t||JSON.parse)(e),ye.trim(e)}catch(e){if("SyntaxError"!==e.name)throw e}return(r||JSON.stringify)(e)}(e)):e}],transformResponse:[function(e){var t=this.transitional||Ie.transitional,r=t&&t.forcedJSONParsing,n="json"===this.responseType;if(ye.isResponse(e)||ye.isReadableStream(e))return e;if(e&&ye.isString(e)&&(r&&!this.responseType||n)){var o=!(t&&t.silentJSONParsing)&&n;try{return JSON.parse(e)}catch(e){if(o){if("SyntaxError"===e.name)throw me.from(e,me.ERR_BAD_RESPONSE,this,null,this.response);throw e}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:De.classes.FormData,Blob:De.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};ye.forEach(["delete","get","head","post","put","patch"],(function(e){Ie.headers[e]={}}));var Me=Ie,ze=ye.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),He=Symbol("internals");function Je(e){return e&&String(e).trim().toLowerCase()}function We(e){return!1===e||null==e?e:ye.isArray(e)?e.map(We):String(e)}function Ke(e,t,r,n,o){return ye.isFunction(n)?n.call(this,t,r):(o&&(t=r),ye.isString(t)?ye.isString(n)?-1!==t.indexOf(n):ye.isRegExp(n)?n.test(t):void 0:void 0)}var Ve=function(e,t){function r(e){d(this,r),e&&this.set(e)}return y(r,[{key:"set",value:function(e,t,r){var n=this;function o(e,t,r){var o=Je(t);if(!o)throw new Error("header name must be a non-empty string");var i=ye.findKey(n,o);(!i||void 0===n[i]||!0===r||void 0===r&&!1!==n[i])&&(n[i||t]=We(e))}var i=function(e,t){return ye.forEach(e,(function(e,r){return o(e,r,t)}))};if(ye.isPlainObject(e)||e instanceof this.constructor)i(e,t);else if(ye.isString(e)&&(e=e.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim()))i(function(e){var t,r,n,o={};return e&&e.split("\n").forEach((function(e){n=e.indexOf(":"),t=e.substring(0,n).trim().toLowerCase(),r=e.substring(n+1).trim(),!t||o[t]&&ze[t]||("set-cookie"===t?o[t]?o[t].push(r):o[t]=[r]:o[t]=o[t]?o[t]+", "+r:r)})),o}(e),t);else if(ye.isObject(e)&&ye.isIterable(e)){var a,u,s,c={},f=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=O(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==r.return||r.return()}finally{if(u)throw i}}}}(e);try{for(f.s();!(s=f.n()).done;){var l=s.value;if(!ye.isArray(l))throw TypeError("Object iterator must return a key-value pair");c[u=l[0]]=(a=c[u])?ye.isArray(a)?[].concat(g(a),[l[1]]):[a,l[1]]:l[1]}}catch(e){f.e(e)}finally{f.f()}i(c,t)}else null!=e&&o(t,e,r);return this}},{key:"get",value:function(e,t){if(e=Je(e)){var r=ye.findKey(this,e);if(r){var n=this[r];if(!t)return n;if(!0===t)return function(e){for(var t,r=Object.create(null),n=/([^\s,;
12936=]+)\s*(?:=\s*([^,;]+))?/g;t=n.exec(e);)r[t[1]]=t[2];return r}(n);if(ye.isFunction(t))return t.call(this,n,r);if(ye.isRegExp(t))return t.exec(n);throw new TypeError("parser must be boolean|regexp|function")}}}},{key:"has",value:function(e,t){if(e=Je(e)){var r=ye.findKey(this,e);return!(!r||void 0===this[r]||t&&!Ke(0,this[r],r,t))}return!1}},{key:"delete",value:function(e,t){var r=this,n=!1;function o(e){if(e=Je(e)){var o=ye.findKey(r,e);!o||t&&!Ke(0,r[o],o,t)||(delete r[o],n=!0)}}return ye.isArray(e)?e.forEach(o):o(e),n}},{key:"clear",value:function(e){for(var t=Object.keys(this),r=t.length,n=!1;r--;){var o=t[r];e&&!Ke(0,this[o],o,e,!0)||(delete this[o],n=!0)}return n}},{key:"normalize",value:function(e){var t=this,r={};return ye.forEach(this,(function(n,o){var i=ye.findKey(r,o);if(i)return t[i]=We(n),void delete t[o];var a=e?function(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(function(e,t,r){return t.toUpperCase()+r}))}(o):String(o).trim();a!==o&&delete t[o],t[a]=We(n),r[a]=!0})),this}},{key:"concat",value:function(){for(var e,t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return(e=this.constructor).concat.apply(e,[this].concat(r))}},{key:"toJSON",value:function(e){var t=Object.create(null);return ye.forEach(this,(function(r,n){null!=r&&!1!==r&&(t[n]=e&&ye.isArray(r)?r.join(", "):r)})),t}},{key:Symbol.iterator,value:function(){return Object.entries(this.toJSON())[Symbol.iterator]()}},{key:"toString",value:function(){return Object.entries(this.toJSON()).map((function(e){var t=b(e,2);return t[0]+": "+t[1]})).join("\n")}},{key:"getSetCookie",value:function(){return this.get("set-cookie")||[]}},{key:Symbol.toStringTag,get:function(){return"AxiosHeaders"}}],[{key:"from",value:function(e){return e instanceof this?e:new this(e)}},{key:"concat",value:function(e){for(var t=new this(e),r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return n.forEach((function(e){return t.set(e)})),t}},{key:"accessor",value:function(e){var t=(this[He]=this[He]={accessors:{}}).accessors,r=this.prototype;function n(e){var n=Je(e);t[n]||(!function(e,t){var r=ye.toCamelCase(" "+t);["get","set","has"].forEach((function(n){Object.defineProperty(e,n+r,{value:function(e,r,o){return this[n].call(this,t,e,r,o)},configurable:!0})}))}(r,e),t[n]=!0)}return ye.isArray(e)?e.forEach(n):n(e),this}}]),r}();Ve.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),ye.reduceDescriptors(Ve.prototype,(function(e,t){var r=e.value,n=t[0].toUpperCase()+t.slice(1);return{get:function(){return r},set:function(e){this[n]=e}}})),ye.freezeMethods(Ve);var Ge=Ve;function Xe(e,t){var r=this||Me,n=t||r,o=Ge.from(n.headers),i=n.data;return ye.forEach(e,(function(e){i=e.call(r,i,o.normalize(),t?t.status:void 0)})),o.normalize(),i}function $e(e){return!(!e||!e.__CANCEL__)}function Ye(e,t,r){me.call(this,null==e?"canceled":e,me.ERR_CANCELED,t,r),this.name="CanceledError"}function Qe(e,t,r){var n=r.config.validateStatus;r.status&&n&&!n(r.status)?t(new me("Request failed with status code "+r.status,[me.ERR_BAD_REQUEST,me.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):e(r)}function Ze(e,t){e=e||10;var r,n=new Array(e),o=new Array(e),i=0,a=0;return t=void 0!==t?t:1e3,function(u){var s=Date.now(),c=o[a];r||(r=s),n[i]=u,o[i]=s;for(var f=a,l=0;f!==i;)l+=n[f++],f%=e;if((i=(i+1)%e)===a&&(a=(a+1)%e),!(s-r<t)){var p=c&&s-c;return p?Math.round(1e3*l/p):void 0}}}function et(e,t){var r,n,o=0,i=1e3/t,a=function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();o=i,r=null,n&&(clearTimeout(n),n=null),e.apply(void 0,g(t))};return[function(){for(var e=Date.now(),t=e-o,u=arguments.length,s=new Array(u),c=0;c<u;c++)s[c]=arguments[c];t>=i?a(s,e):(r=s,n||(n=setTimeout((function(){n=null,a(r)}),i-t)))},function(){return r&&a(r)}]}ye.inherits(Ye,me,{__CANCEL__:!0});var tt=function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:3,n=0,o=Ze(50,250);return et((function(r){var i=r.loaded,a=r.lengthComputable?r.total:void 0,u=i-n,s=o(u);n=i;var c=m({loaded:i,total:a,progress:a?i/a:void 0,bytes:u,rate:s||void 0,estimated:s&&a&&i<=a?(a-i)/s:void 0,event:r,lengthComputable:null!=a},t?"download":"upload",!0);e(c)}),r)},rt=function(e,t){var r=null!=e;return[function(n){return t[0]({lengthComputable:r,total:e,loaded:n})},t[1]]},nt=function(e){return function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return ye.asap((function(){return e.apply(void 0,r)}))}},ot=De.hasStandardBrowserEnv?function(e,t){return function(r){return r=new URL(r,De.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)}}(new URL(De.origin),De.navigator&&/(msie|trident)/i.test(De.navigator.userAgent)):function(){return!0},it=De.hasStandardBrowserEnv?{write:function(e,t,r,n,o,i){var a=[e+"="+encodeURIComponent(t)];ye.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),ye.isString(n)&&a.push("path="+n),ye.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function at(e,t,r){var n=!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t);return e&&(n||0==r)?function(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}(e,t):t}var ut=function(e){return e instanceof Ge?u({},e):e};function st(e,t){t=t||{};var r={};function n(e,t,r,n){return ye.isPlainObject(e)&&ye.isPlainObject(t)?ye.merge.call({caseless:n},e,t):ye.isPlainObject(t)?ye.merge({},t):ye.isArray(t)?t.slice():t}function o(e,t,r,o){return ye.isUndefined(t)?ye.isUndefined(e)?void 0:n(void 0,e,0,o):n(e,t,0,o)}function i(e,t){if(!ye.isUndefined(t))return n(void 0,t)}function a(e,t){return ye.isUndefined(t)?ye.isUndefined(e)?void 0:n(void 0,e):n(void 0,t)}function s(r,o,i){return i in t?n(r,o):i in e?n(void 0,r):void 0}var c={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBo
12936dyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:function(e,t,r){return o(ut(e),ut(t),0,!0)}};return ye.forEach(Object.keys(u(u({},e),t)),(function(n){var i=c[n]||o,a=i(e[n],t[n],n);ye.isUndefined(a)&&i!==s||(r[n]=a)})),r}var ct,ft,lt=function(e){var t,r,n=st({},e),o=n.data,i=n.withXSRFToken,a=n.xsrfHeaderName,u=n.xsrfCookieName,s=n.headers,c=n.auth;if(n.headers=s=Ge.from(s),n.url=Ae(at(n.baseURL,n.url,n.allowAbsoluteUrls),e.params,e.paramsSerializer),c&&s.set("Authorization","Basic "+btoa((c.username||"")+":"+(c.password?unescape(encodeURIComponent(c.password)):""))),ye.isFormData(o))if(De.hasStandardBrowserEnv||De.hasStandardBrowserWebWorkerEnv)s.setContentType(void 0);else if(!1!==(t=s.getContentType())){var f=t?t.split(";").map((function(e){return e.trim()})).filter(Boolean):[],l=w(r=f)||E(r)||O(r)||x(),p=l[0],h=l.slice(1);s.setContentType([p||"multipart/form-data"].concat(g(h)).join("; "))}if(De.hasStandardBrowserEnv&&(i&&ye.isFunction(i)&&(i=i(n)),i||!1!==i&&ot(n.url))){var d=a&&u&&it.read(u);d&&s.set(a,d)}return n},pt="undefined"!=typeof XMLHttpRequest&&function(e){return new Promise((function(t,r){var n,o,i,a,u,s=lt(e),c=s.data,f=Ge.from(s.headers).normalize(),l=s.responseType,p=s.onUploadProgress,h=s.onDownloadProgress;function d(){a&&a(),u&&u(),s.cancelToken&&s.cancelToken.unsubscribe(n),s.signal&&s.signal.removeEventListener("abort",n)}var v=new XMLHttpRequest;function y(){if(v){var n=Ge.from("getAllResponseHeaders"in v&&v.getAllResponseHeaders());Qe((function(e){t(e),d()}),(function(e){r(e),d()}),{data:l&&"text"!==l&&"json"!==l?v.response:v.responseText,status:v.status,statusText:v.statusText,headers:n,config:e,request:v}),v=null}}if(v.open(s.method.toUpperCase(),s.url,!0),v.timeout=s.timeout,"onloadend"in v?v.onloadend=y:v.onreadystatechange=function(){v&&4===v.readyState&&(0!==v.status||v.responseURL&&0===v.responseURL.indexOf("file:"))&&setTimeout(y)},v.onabort=function(){v&&(r(new me("Request aborted",me.ECONNABORTED,e,v)),v=null)},v.onerror=function(){r(new me("Network Error",me.ERR_NETWORK,e,v)),v=null},v.ontimeout=function(){var t=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded",n=s.transitional||Le;s.timeoutErrorMessage&&(t=s.timeoutErrorMessage),r(new me(t,n.clarifyTimeoutError?me.ETIMEDOUT:me.ECONNABORTED,e,v)),v=null},void 0===c&&f.setContentType(null),"setRequestHeader"in v&&ye.forEach(f.toJSON(),(function(e,t){v.setRequestHeader(t,e)})),ye.isUndefined(s.withCredentials)||(v.withCredentials=!!s.withCredentials),l&&"json"!==l&&(v.responseType=s.responseType),h){var m=b(tt(h,!0),2);i=m[0],u=m[1],v.addEventListener("progress",i)}if(p&&v.upload){var g=b(tt(p),2);o=g[0],a=g[1],v.upload.addEventListener("progress",o),v.upload.addEventListener("loadend",a)}(s.cancelToken||s.signal)&&(n=function(t){v&&(r(!t||t.type?new Ye(null,e,v):t),v.abort(),v=null)},s.cancelToken&&s.cancelToken.subscribe(n),s.signal&&(s.signal.aborted?n():s.signal.addEventListener("abort",n)));var w,E,O=(w=s.url,(E=/^([-+\w]{1,25})(:?\/\/|:)/.exec(w))&&E[1]||"");O&&-1===De.protocols.indexOf(O)?r(new me("Unsupported protocol "+O+":",me.ERR_BAD_REQUEST,e)):v.send(c||null)}))},ht=function(e,t){var r=(e=e?e.filter(Boolean):[]).length;if(t||r){var n,o=new AbortController,i=function(e){if(!n){n=!0,u();var t=e instanceof Error?e:this.reason;o.abort(t instanceof me?t:new Ye(t instanceof Error?t.message:t))}},a=t&&setTimeout((function(){a=null,i(new me("timeout ".concat(t," of ms exceeded"),me.ETIMEDOUT))}),t),u=function(){e&&(a&&clearTimeout(a),a=null,e.forEach((function(e){e.unsubscribe?e.unsubscribe(i):e.removeEventListener("abort",i)})),e=null)};e.forEach((function(e){return e.addEventListener("abort",i)}));var s=o.signal;return s.unsubscribe=function(){return ye.asap(u)},s}},dt=s().mark((function e(t,r){var n,o,i;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.byteLength,r&&!(n<r)){e.next=5;break}return e.next=4,t;case 4:return e.abrupt("return");case 5:o=0;case 6:if(!(o<n)){e.next=13;break}return i=o+r,e.next=10,t.slice(o,i);case 10:o=i,e.next=6;break;case 13:case"end":return e.stop()}}),e)})),vt=function(){var e=l(s().mark((function e(t,o){var a,u,c,f,l,p;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a=!1,u=!1,e.prev=2,f=n(yt(t));case 4:return e.next=6,i(f.next());case 6:if(!(a=!(l=e.sent).done)){e.next=12;break}return p=l.value,e.delegateYield(r(n(dt(p,o))),"t0",9);case 9:a=!1,e.next=4;break;case 12:e.next=18;break;case 14:e.prev=14,e.t1=e.catch(2),u=!0,c=e.t1;case 18:if(e.prev=18,e.prev=19,!a||null==f.return){e.next=23;break}return e.next=23,i(f.return());case 23:if(e.prev=23,!u){e.next=26;break}throw c;case 26:return e.finish(23);case 27:return e.finish(18);case 28:case"end":return e.stop()}}),e,null,[[2,14,18,28],[19,,23,27]])})));return function(t,r){return e.apply(this,arguments)}}(),yt=function(){var e=l(s().mark((function e(t){var o,a,u,c;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t[Symbol.asyncIterator]){e.next=3;break}return e.delegateYield(r(n(t)),"t0",2);case 2:return e.abrupt("return");case 3:o=t.getReader(),e.prev=4;case 5:return e.next=7,i(o.read());case 7:if(a=e.sent,u=a.done,c=a.value,!u){e.next=12;break}return e.abrupt("break",16);case 12:return e.next=14,c;case 14:e.next=5;break;case 16:return e.prev=16,e.next=19,i(o.cancel());case 19:return e.finish(16);case 20:case"end":return e.stop()}}),e,null,[[4,,16,20]])})));return function(t){return e.apply(this,arguments)}}(),mt=function(e,t,r,n){var o,i=vt(e,t),a=0,u=function(e){o||(o=!0,n&&n(e))};return new ReadableStream({pull:function(e){return h(s().mark((function t(){var n,o,c,f,l;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,i.next();case 3:if(n=t.sent,o=n.done,c=n.value,!o){t.next=10;break}return u(),e.close(),t.abrupt("return");case 10:f=c.byteLength,r&&(l=a+=f,r(l)),e.enqueue(new Uint8Array(c)),t.next=19;break;case 15:throw t.prev=15,t.t0=t.catch(0),u(t.t0),t.t0;case 19:case"end":return t.stop()}}),t,null,[[0,15]])})))()},cancel:function(e){return u(e),i.return()}},{highWaterMark:2})},bt="function"==typeof fetch&&"function"==typeof Request&&"function"==typeof Response,gt=bt&&"function"==typeof ReadableStream,wt=bt&&("function"==typeof TextEncoder?(ct=new TextEncoder,function(e){return ct.encode(e)}):function(){var e=h(s().mark((function e(t){return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=Uint8Array,e.next=3,new Response(t).arrayBuffer();case 3:return e.t1=e.sent,e.abrupt("return",new e.t0(e.t1));case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()),Et=function(e){try{for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return!!e.apply(void 0,r)}catch(e){return!1}}
12936,Ot=gt&&Et((function(){var e=!1,t=new Request(De.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t})),St=gt&&Et((function(){return ye.isReadableStream(new Response("").body)})),xt={stream:St&&function(e){return e.body}};bt&&(ft=new Response,["text","arrayBuffer","blob","formData","stream"].forEach((function(e){!xt[e]&&(xt[e]=ye.isFunction(ft[e])?function(t){return t[e]()}:function(t,r){throw new me("Response type '".concat(e,"' is not supported"),me.ERR_NOT_SUPPORT,r)})})));var Rt=function(){var e=h(s().mark((function e(t){var r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=t){e.next=2;break}return e.abrupt("return",0);case 2:if(!ye.isBlob(t)){e.next=4;break}return e.abrupt("return",t.size);case 4:if(!ye.isSpecCompliantForm(t)){e.next=9;break}return r=new Request(De.origin,{method:"POST",body:t}),e.next=8,r.arrayBuffer();case 8:case 15:return e.abrupt("return",e.sent.byteLength);case 9:if(!ye.isArrayBufferView(t)&&!ye.isArrayBuffer(t)){e.next=11;break}return e.abrupt("return",t.byteLength);case 11:if(ye.isURLSearchParams(t)&&(t+=""),!ye.isString(t)){e.next=16;break}return e.next=15,wt(t);case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),kt=function(){var e=h(s().mark((function e(t,r){var n;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=ye.toFiniteNumber(t.getContentLength()),e.abrupt("return",null==n?Rt(r):n);case 2:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),Tt=bt&&function(){var e=h(s().mark((function e(t){var r,n,o,i,a,c,f,l,p,h,d,v,y,m,g,w,E,O,S,x,R,k,T,j,A,P,L,N,_,C,U,F,B,D;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=lt(t),n=r.url,o=r.method,i=r.data,a=r.signal,c=r.cancelToken,f=r.timeout,l=r.onDownloadProgress,p=r.onUploadProgress,h=r.responseType,d=r.headers,v=r.withCredentials,y=void 0===v?"same-origin":v,m=r.fetchOptions,h=h?(h+"").toLowerCase():"text",g=ht([a,c&&c.toAbortSignal()],f),E=g&&g.unsubscribe&&function(){g.unsubscribe()},e.prev=4,e.t0=p&&Ot&&"get"!==o&&"head"!==o,!e.t0){e.next=11;break}return e.next=9,kt(d,i);case 9:e.t1=O=e.sent,e.t0=0!==e.t1;case 11:if(!e.t0){e.next=15;break}S=new Request(n,{method:"POST",body:i,duplex:"half"}),ye.isFormData(i)&&(x=S.headers.get("content-type"))&&d.setContentType(x),S.body&&(R=rt(O,tt(nt(p))),k=b(R,2),T=k[0],j=k[1],i=mt(S.body,65536,T,j));case 15:return ye.isString(y)||(y=y?"include":"omit"),A="credentials"in Request.prototype,w=new Request(n,u(u({},m),{},{signal:g,method:o.toUpperCase(),headers:d.normalize().toJSON(),body:i,duplex:"half",credentials:A?y:void 0})),e.next=20,fetch(w,m);case 20:return P=e.sent,L=St&&("stream"===h||"response"===h),St&&(l||L&&E)&&(N={},["status","statusText","headers"].forEach((function(e){N[e]=P[e]})),_=ye.toFiniteNumber(P.headers.get("content-length")),C=l&&rt(_,tt(nt(l),!0))||[],U=b(C,2),F=U[0],B=U[1],P=new Response(mt(P.body,65536,F,(function(){B&&B(),E&&E()})),N)),h=h||"text",e.next=26,xt[ye.findKey(xt,h)||"text"](P,t);case 26:return D=e.sent,!L&&E&&E(),e.next=30,new Promise((function(e,r){Qe(e,r,{data:D,headers:Ge.from(P.headers),status:P.status,statusText:P.statusText,config:t,request:w})}));case 30:return e.abrupt("return",e.sent);case 33:if(e.prev=33,e.t2=e.catch(4),E&&E(),!e.t2||"TypeError"!==e.t2.name||!/Load failed|fetch/i.test(e.t2.message)){e.next=38;break}throw Object.assign(new me("Network Error",me.ERR_NETWORK,t,w),{cause:e.t2.cause||e.t2});case 38:throw me.from(e.t2,e.t2&&e.t2.code,t,w);case 39:case"end":return e.stop()}}),e,null,[[4,33]])})));return function(t){return e.apply(this,arguments)}}(),jt={http:null,xhr:pt,fetch:Tt};ye.forEach(jt,(function(e,t){if(e){try{Object.defineProperty(e,"name",{value:t})}catch(e){}Object.defineProperty(e,"adapterName",{value:t})}}));var At=function(e){return"- ".concat(e)},Pt=function(e){return ye.isFunction(e)||null===e||!1===e},Lt=function(e){for(var t,r,n=(e=ye.isArray(e)?e:[e]).length,o={},i=0;i<n;i++){var a=void 0;if(r=t=e[i],!Pt(t)&&void 0===(r=jt[(a=String(t)).toLowerCase()]))throw new me("Unknown adapter '".concat(a,"'"));if(r)break;o[a||"#"+i]=r}if(!r){var u=Object.entries(o).map((function(e){var t=b(e,2),r=t[0],n=t[1];return"adapter ".concat(r," ")+(!1===n?"is not supported by the environment":"is not available in the build")}));throw new me("There is no suitable adapter to dispatch the request "+(n?u.length>
129361?"since :\n"+u.map(At).join("\n"):" "+At(u[0]):"as no adapter specified"),"ERR_NOT_SUPPORT")}return r};function Nt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Ye(null,e)}function _t(e){return Nt(e),e.headers=Ge.from(e.headers),e.data=Xe.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Lt(e.adapter||Me.adapter)(e).then((function(t){return Nt(e),t.data=Xe.call(e,e.transformResponse,t),t.headers=Ge.from(t.headers),t}),(function(t){return $e(t)||(Nt(e),t&&t.response&&(t.response.data=Xe.call(e,e.transformResponse,t.response),t.response.headers=Ge.from(t.response.headers))),Promise.reject(t)}))}var Ct="1.11.0",Ut={};["object","boolean","number","function","string","symbol"].forEach((function(e,t){Ut[e]=function(r){return f(r)===e||"a"+(t<1?"n ":" ")+e}}));var Ft={};Ut.transitional=function(e,t,r){function n(e,t){return"[Axios v1.11.0] Transitional option '"+e+"'"+t+(r?". "+r:"")}
12936return function(r,o,i){if(!1===e)throw new me(n(o," has been removed"+(t?" in "+t:"")),me.ERR_DEPRECATED);return t&&!Ft[o]&&(Ft[o]=!0,console.warn(n(o," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(r,o,i)}},Ut.spelling=function(e){return function(t,r){return console.warn("".concat(r," is likely a misspelling of ").concat(e)),!0}};var Bt={assertOptions:function(e,t,r){if("object"!==f(e))throw new me("options must be an object",me.ERR_BAD_OPTION_VALUE);for(var n=Object.keys(e),o=n.length;o-- >0;){var i=n[o],a=t[i];if(a){var u=e[i],s=void 0===u||a(u,i,e);if(!0!==s)throw new me("option "+i+" must be "+s,me.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new me("Unknown option "+i,me.ERR_BAD_OPTION)}},validators:Ut},Dt=Bt.validators,qt=function(){function e(t){d(this,e),this.defaults=t||{},this.interceptors={request:new Pe,response:new Pe}}var t;return y(e,[{key:"request",value:(t=h(s().mark((function e(t,r){var n,o;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._request(t,r);case 3:return e.abrupt("return",e.sent);case 6:if(e.prev=6,e.t0=e.catch(0),e.t0 instanceof Error){n={},Error.captureStackTrace?Error.captureStackTrace(n):n=new Error,o=n.stack?n.stack.replace(/^.+\n/,""):"";try{e.t0.stack?o&&!String(e.t0.stack).endsWith(o.replace(/^.+\n.+\n/,""))&&(e.t0.stack+="\n"+o):e.t0.stack=o}catch(e){}}throw e.t0;case 10:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,r){return t.apply(this,arguments)})},{key:"_request",value:function(e,t){"string"==typeof e?(t=t||{}).url=e:t=e||{};var r=t=st(this.defaults,t),n=r.transitional,o=r.paramsSerializer,i=r.headers;void 0!==n&&Bt.assertOptions(n,{silentJSONParsing:Dt.transitional(Dt.boolean),forcedJSONParsing:Dt.transitional(Dt.boolean),clarifyTimeoutError:Dt.transitional(Dt.boolean)},!1),null!=o&&(ye.isFunction(o)?t.paramsSerializer={serialize:o}:Bt.assertOptions(o,{encode:Dt.function,serialize:Dt.function},!0)),void 0!==t.allowAbsoluteUrls||(void 0!==this.defaults.allowAbsoluteUrls?t.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:t.allowAbsoluteUrls=!0),Bt.assertOptions(t,{baseUrl:Dt.spelling("baseURL"),withXsrfToken:Dt.spelling("withXSRFToken")},!0),t.method=(t.method||this.defaults.method||"get").toLowerCase();var a=i&&ye.merge(i.common,i[t.method]);i&&ye.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete i[e]})),t.headers=Ge.concat(a,i);var u=[],s=!0;this.interceptors.request.forEach((function(e){"function"==typeof e.runWhen&&!1===e.runWhen(t)||(s=s&&e.synchronous,u.unshift(e.fulfilled,e.rejected))}));var c,f=[];this.interceptors.response.forEach((function(e){f.push(e.fulfilled,e.rejected)}));var l,p=0;if(!s){var h=[_t.bind(this),void 0];for(h.unshift.apply(h,u),h.push.apply(h,f),l=h.length,c=Promise.resolve(t);p<l;)c=c.then(h[p++],h[p++]);return c}l=u.length;var d=t;for(p=0;p<l;){var v=u[p++],y=u[p++];try{d=v(d)}catch(e){y.call(this,e);break}}try{c=_t.call(this,d)}catch(e){return Promise.reject(e)}for(p=0,l=f.length;p<l;)c=c.then(f[p++],f[p++]);return c}},{key:"getUri",value:function(e){return Ae(at((e=st(this.defaults,e)).baseURL,e.url,e.allowAbsoluteUrls),e.params,e.paramsSerializer)}}]),e}();ye.forEach(["delete","get","head","options"],(function(e){qt.prototype[e]=function(t,r){return this.request(st(r||{},{method:e,url:t,data:(r||{}).data}))}})),ye.forEach(["post","put","patch"],(function(e){function t(t){return function(r,n,o){return this.request(st(o||{},{method:e,headers:t?{"Content-Type":"multipart/form-data"}:{},url:r,data:n}))}}qt.prototype[e]=t(),qt.prototype[e+"Form"]=t(!0)}));var It=qt,Mt=function(){function e(t){if(d(this,e),"function"!=typeof t)throw new TypeError("executor must be a function.");var r;this.promise=new Promise((function(e){r=e}));var n=this;this.promise.then((function(e){if(n._listeners){for(var t=n._listeners.length;t-- >0;)n._listeners[t](e);n._listeners=null}})),this.promise.then=function(e){var t,r=new Promise((function(e){n.subscribe(e),t=e})).then(e);return r.cancel=function(){n.unsubscribe(t)},r},t((function(e,t,o){n.reason||(n.reason=new Ye(e,t,o),r(n.reason))}))}return y(e,[{key:"throwIfRequested",value:function(){if(this.reason)throw this.reason}},{key:"subscribe",value:function(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}},{key:"unsubscribe",value:function(e){if(this._listeners){var t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}}},{key:"toAbortSignal",value:function(){var e=this,t=new AbortController,r=function(e){t.abort(e)};return this.subscribe(r),t.signal.unsubscribe=function(){return e.unsubscribe(r)},t.signal}}],[{key:"source",value:function(){var t;return{token:new e((function(e){t=e})),cancel:t}}}]),e}(),zt=Mt;var Ht={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,Re
vendor: 5,124 bytes, lines 12936-12957
12936setContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ht).forEach((function(e){var t=b(e,2),r=t[0],n=t[1];Ht[n]=r}));var Jt=Ht;var Wt=function e(t){var r=new It(t),n=R(It.prototype.request,r);return ye.extend(n,It.prototype,r,{allOwnKeys:!0}),ye.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return e(st(t,r))},n}(Me);return Wt.Axios=It,Wt.CanceledError=Ye,Wt.CancelToken=zt,Wt.isCancel=$e,Wt.VERSION=Ct,Wt.toFormData=xe,Wt.AxiosError=me,Wt.Cancel=Wt.CanceledError,Wt.all=function(e){return Promise.all(e)},Wt.spread=function(e){return function(t){return e.apply(null,t)}},Wt.isAxiosError=function(e){return ye.isObject(e)&&!0===e.isAxiosError},Wt.mergeConfig=st,Wt.AxiosHeaders=Ge,Wt.formToJSON=function(e){return qe(ye.isHTMLForm(e)?new FormData(e):e)},Wt.getAdapter=Lt,Wt.HttpStatusCode=Jt,Wt.default=Wt,Wt})); 12937//# sourceMappingURL=axios.min.js.map 12938 12939/*! lozad.js - v1.16.0 - 2020-09-06 12940* https://github.com/ApoorvSaxena/lozad.js 12941* Copyright (c) 2020 Apoorv Saxena; Licensed MIT */ 12942!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.lozad=e()}(this,function(){"use strict"; 12943/** 12944 * Detect IE browser 12945 * @const {boolean} 12946 * @private 12947 */var g="undefined"!=typeof document&&document.documentMode,f={rootMargin:"0px",threshold:0,load:function(t){if("picture"===t.nodeName.toLowerCase()){var e=t.querySelector("img"),r=!1;null===e&&(e=document.createElement("img"),r=!0),g&&t.getAttribute("data-iesrc")&&(e.src=t.getAttribute("data-iesrc")),t.getAttribute("data-alt")&&(e.alt=t.getAttribute("data-alt")),r&&t.append(e)}if("video"===t.nodeName.toLowerCase()&&!t.getAttribute("data-src")&&t.children){for(var a=t.children,o=void 0,i=0;i<=a.length-1;i++)(o=a[i].getAttribute("data-src"))&&(a[i].src=o);t.load()}t.getAttribute("data-poster")&&(t.poster=t.getAttribute("data-poster")),t.getAttribute("data-src")&&(t.src=t.getAttribute("data-src")),t.getAttribute("data-srcset")&&t.setAttribute("srcset",t.getAttribute("data-srcset"));var n=",";if(t.getAttribute("data-background-delimiter")&&(n=t.getAttribute("data-background-delimiter")),t.getAttribute("data-background-image"))t.style.backgroundImage="url('"+t.getAttribute("data-background-image").split(n).join("'),url('")+"')";else if(t.getAttribute("data-background-image-set")){var d=t.getAttribute("data-background-image-set").split(n),u=d[0].substr(0,d[0].indexOf(" "))||d[0];// Substring before ... 1x 12948u=-1===u.indexOf("url(")?"url("+u+")":u,1===d.length?t.style.backgroundImage=u:t.setAttribute("style",(t.getAttribute("style")||"")+"background-image: "+u+"; background-image: -webkit-image-set("+d+"); background-image: image-set("+d+")")}t.getAttribute("data-toggle-class")&&t.classList.toggle(t.getAttribute("data-toggle-class"))},loaded:function(){}};function A(t){t.setAttribute("data-loaded",!0)}var m=function(t){return"true"===t.getAttribute("data-loaded")},v=function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:document;return t instanceof Element?[t]:t instanceof NodeList?t:e.querySelectorAll(t)};return function(){var r,a,o=0<arguments.length&&void 0!==arguments[0]?arguments[0]:".lozad",t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},e=Object.assign({},f,t),i=e.root,n=e.rootMargin,d=e.threshold,u=e.load,g=e.loaded,s=void 0;"undefined"!=typeof window&&window.IntersectionObserver&&(s=new IntersectionObserver((r=u,a=g,function(t,e){t.forEach(function(t){(0<t.intersectionRatio||t.isIntersecting)&&(e.unobserve(t.target),m(t.target)||(r(t.target),A(t.target),a(t.target)))})}),{root:i,rootMargin:n,threshold:d}));for(var c,l=v(o,i),b=0;b<l.length;b++)(c=l[b]).getAttribute("data-placeholder-background")&&(c.style.background=c.getAttribute("data-placeholder-background"));return{observe:function(){for(var t=v(o,i),e=0;e<t.length;e++)m(t[e])||(s?s.observe(t[e]):(u(t[e]),A(t[e]),g(t[e])))},triggerLoad:function(t){m(t)||(u(t),A(t),g(t))},observer:s}}}); 12949 12950/*! 12951 * Select2 4.1.0-rc.0 12952 * https://select2.github.io 12953 * 12954 * Released under the MIT license 12955 * https://github.com/select2/select2/blob/master/LICENSE.md 12956 */ 12957;
vendor: 18,996 bytes, lines 12957-13526
12957(function (factory) { 12958 if (typeof define === 'function' && define.amd) { 12959 // AMD. Register as an anonymous module. 12960 define(['jquery'], factory); 12961 } else if (typeof module === 'object' && module.exports) { 12962 // Node/CommonJS 12963 module.exports = function (root, jQuery) { 12964 if (jQuery === undefined) { 12965 // require('jQuery') returns a factory that requires window to 12966 // build a jQuery instance, we normalize how we use modules 12967 // that require this pattern but the window provided is a noop 12968 // if it's defined (how jquery works) 12969 if (typeof window !== 'undefined') { 12970 jQuery = require('jquery'); 12971 } 12972 else { 12973 jQuery = require('jquery')(root); 12974 } 12975 } 12976 factory(jQuery); 12977 return jQuery; 12978 }; 12979 } else { 12980 // Browser globals 12981 factory(jQuery); 12982 } 12983} (function (jQuery) { 12984 // This is needed so we can catch the AMD loader configuration and use it 12985 // The inner file should be wrapped (by `banner.start.js`) in a function that 12986 // returns the AMD loader references. 12987 var S2 =(function () { 12988 // Restore the Select2 AMD loader so it can be used 12989 // Needed mostly in the language files, where the loader is not inserted 12990 if (jQuery && jQuery.fn && jQuery.fn.select2 && jQuery.fn.select2.amd) { 12991 var S2 = jQuery.fn.select2.amd; 12992 } 12993var S2;(function () { if (!S2 || !S2.requirejs) { 12994if (!S2) { S2 = {}; } else { require = S2; } 12995/** 12996 * @license almond 0.3.3 Copyright jQuery Foundation and other contributors. 12997 * Released under MIT license, http://github.com/requirejs/almond/LICENSE 12998 */ 12999//Going sloppy to avoid 'use strict' string cost, but strict practices should 13000//be followed. 13001/*global setTimeout: false */ 13002 13003var requirejs, require, define; 13004(function (undef) { 13005 var main, req, makeMap, handlers, 13006 defined = {}, 13007 waiting = {}, 13008 config = {}, 13009 defining = {}, 13010 hasOwn = Object.prototype.hasOwnProperty, 13011 aps = [].slice, 13012 jsSuffixRegExp = /\.js$/; 13013 13014 function hasProp(obj, prop) { 13015 return hasOwn.call(obj, prop); 13016 } 13017 13018 /** 13019 * Given a relative module name, like ./something, normalize it to 13020 * a real name that can be mapped to a path. 13021 * @param {String} name the relative name 13022 * @param {String} baseName a real name that the name arg is relative 13023 * to. 13024 * @returns {String} normalized name 13025 */ 13026 function normalize(name, baseName) { 13027 var nameParts, nameSegment, mapValue, foundMap, lastIndex, 13028 foundI, foundStarMap, starI, i, j, part, normalizedBaseParts, 13029 baseParts = baseName && baseName.split("/"), 13030 map = config.map, 13031 starMap = (map && map['*']) || {}; 13032 13033 //Adjust any relative paths. 13034 if (name) { 13035 name = name.split('/'); 13036 lastIndex = name.length - 1; 13037 13038 // If wanting node ID compatibility, strip .js from end 13039 // of IDs. Have to do this here, and not in nameToUrl 13040 // because node allows either .js or non .js to map 13041 // to same file. 13042 if (config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex])) { 13043 name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, ''); 13044 } 13045 13046 // Starts with a '.' so need the baseName 13047 if (name[0].charAt(0) === '.' && baseParts) { 13048 //Convert baseName to array, and lop off the last part, 13049 //so that . matches that 'directory' and not name of the baseName's 13050 //module. For instance, baseName of 'one/two/three', maps to 13051 //'one/two/three.js', but we want the directory, 'one/two' for 13052 //this normalization. 13053 normalizedBaseParts = baseParts.slice(0, baseParts.length - 1); 13054 name = normalizedBaseParts.concat(name); 13055 } 13056 13057 //start trimDots 13058 for (i = 0; i < name.length; i++) { 13059 part = name[i]; 13060 if (part === '.') { 13061 name.splice(i, 1); 13062 i -= 1; 13063 } else if (part === '..') { 13064 // If at the start, or previous value is still .., 13065 // keep them so that when converted to a path it may 13066 // still work when converted to a path, even though 13067 // as an ID it is less than ideal. In larger point 13068 // releases, may be better to just kick out an error. 13069 if (i === 0 || (i === 1 && name[2] === '..') || name[i - 1] === '..') { 13070 continue; 13071 } else if (i > 0) { 13072 name.splice(i - 1, 2); 13073 i -= 2; 13074 } 13075 } 13076 } 13077 //end trimDots 13078 13079 name = name.join('/'); 13080 } 13081 13082 //Apply map config if available. 13083 if ((baseParts || starMap) && map) { 13084 nameParts = name.split('/'); 13085 13086 for (i = nameParts.length; i > 0; i -= 1) { 13087 nameSegment = nameParts.slice(0, i).join("/"); 13088 13089 if (baseParts) { 13090 //Find the longest baseName segment match in the config. 13091 //So, do joins on the biggest to smallest lengths of baseParts. 13092 for (j = baseParts.length; j > 0; j -= 1) { 13093 mapValue = map[baseParts.slice(0, j).join('/')]; 13094 13095 //baseName segment has config, find if it has one for 13096 //this name. 13097 if (mapValue) { 13098 mapValue = mapValue[nameSegment]; 13099 if (mapValue) { 13100 //Match, update name to the new value. 13101 foundMap = mapValue; 13102 foundI = i; 13103 break; 13104 } 13105 } 13106 } 13107 } 13108 13109 if (foundMap) { 13110 break; 13111 } 13112 13113 //Check for a star map match, but just hold on to it, 13114 //if there is a shorter segment match later in a matching 13115 //config, then favor over this star map. 13116 if (!foundStarMap && starMap && starMap[nameSegment]) { 13117 foundStarMap = starMap[nameSegment]; 13118 starI = i; 13119 } 13120 } 13121 13122 if (!foundMap && foundStarMap) { 13123 foundMap = foundStarMap; 13124 foundI = starI; 13125 } 13126 13127 if (foundMap) { 13128 nameParts.splice(0, foundI, foundMap); 13129 name = nameParts.join('/'); 13130 } 13131 } 13132 13133 return name; 13134 } 13135 13136 function makeRequire(relName, forceSync) { 13137 return function () { 13138 //A version of a require function that passes a moduleName 13139 //value for items that may need to 13140 //look up paths relative to the moduleName 13141 var args = aps.call(arguments, 0); 13142 13143 //If first arg is not require('string'), and there is only 13144 //one arg, it is the array form without a callback. Insert 13145 //a null so that the following concat is correct. 13146 if (typeof args[0] !== 'string' && args.length === 1) { 13147 args.push(null); 13148 } 13149 return req.apply(undef, args.concat([relName, forceSync])); 13150 }; 13151 } 13152 13153 function makeNormalize(relName) { 13154 return function (name) { 13155 return normalize(name, relName); 13156 }; 13157 } 13158 13159 function makeLoad(depName) { 13160 return function (value) { 13161 defined[depName] = value; 13162 }; 13163 } 13164 13165 function callDep(name) { 13166 if (hasProp(waiting, name)) { 13167 var args = waiting[name]; 13168 delete waiting[name]; 13169 defining[name] = true; 13170 main.apply(undef, args); 13171 } 13172 13173 if (!hasProp(defined, name) && !hasProp(defining, name)) { 13174 throw new Error('No ' + name); 13175 } 13176 return defined[name]; 13177 } 13178 13179 //Turns a plugin!resource to [plugin, resource] 13180 //with the plugin being undefined if the name 13181 //did not have a plugin prefix. 13182 function splitPrefix(name) { 13183 var prefix, 13184 index = name ? name.indexOf('!') : -1; 13185 if (index > -1) { 13186 prefix = name.substring(0, index); 13187 name = name.substring(index + 1, name.length); 13188 } 13189 return [prefix, name]; 13190 } 13191 13192 //Creates a parts array for a relName where first part is plugin ID, 13193 //second part is resource ID. Assumes relName has already been normalized. 13194 function makeRelParts(relName) { 13195 return relName ? splitPrefix(relName) : []; 13196 } 13197 13198 /** 13199 * Makes a name map, normalizing the name, and using a plugin 13200 * for normalization if necessary. Grabs a ref to plugin 13201 * too, as an optimization. 13202 */ 13203 makeMap = function (name, relParts) { 13204 var plugin, 13205 parts = splitPrefix(name), 13206 prefix = parts[0], 13207 relResourceName = relParts[1]; 13208 13209 name = parts[1]; 13210 13211 if (prefix) { 13212 prefix = normalize(prefix, relResourceName); 13213 plugin = callDep(prefix); 13214 } 13215 13216 //Normalize according 13217 if (prefix) { 13218 if (plugin && plugin.normalize) { 13219 name = plugin.normalize(name, makeNormalize(relResourceName)); 13220 } else { 13221 name = normalize(name, relResourceName); 13222 } 13223 } else { 13224 name = normalize(name, relResourceName); 13225 parts = splitPrefix(name); 13226 prefix = parts[0]; 13227 name = parts[1]; 13228 if (prefix) { 13229 plugin = callDep(prefix); 13230 } 13231 } 13232 13233 //Using ridiculous property names for space reasons 13234 return { 13235 f: prefix ? prefix + '!' + name : name, //fullName 13236 n: name, 13237 pr: prefix, 13238 p: plugin 13239 }; 13240 }; 13241 13242 function makeConfig(name) { 13243 return function () { 13244 return (config && config.config && config.config[name]) || {}; 13245 }; 13246 } 13247 13248 handlers = { 13249 require: function (name) { 13250 return makeRequire(name); 13251 }, 13252 exports: function (name) { 13253 var e = defined[name]; 13254 if (typeof e !== 'undefined') { 13255 return e; 13256 } else { 13257 return (defined[name] = {}); 13258 } 13259 }, 13260 module: function (name) { 13261 return { 13262 id: name, 13263 uri: '', 13264 exports: defined[name], 13265 config: makeConfig(name) 13266 }; 13267 } 13268 }; 13269 13270 main = function (name, deps, callback, relName) { 13271 var cjsModule, depName, ret, map, i, relParts, 13272 args = [], 13273 callbackType = typeof callback, 13274 usingExports; 13275 13276 //Use name if no relName 13277 relName = relName || name; 13278 relParts = makeRelParts(relName); 13279 13280 //Call the callback to define the module, if necessary. 13281 if (callbackType === 'undefined' || callbackType === 'function') { 13282 //Pull out the defined dependencies and pass the ordered 13283 //values to the callback. 13284 //Default to [require, exports, module] if no deps 13285 deps = !deps.length && callback.length ? ['require', 'exports', 'module'] : deps; 13286 for (i = 0; i < deps.length; i += 1) { 13287 map = makeMap(deps[i], relParts); 13288 depName = map.f; 13289 13290 //Fast path CommonJS standard dependencies. 13291 if (depName === "require") { 13292 args[i] = handlers.require(name); 13293 } else if (depName === "exports") { 13294 //CommonJS module spec 1.1 13295 args[i] = handlers.exports(name); 13296 usingExports = true; 13297 } else if (depName === "module") { 13298 //CommonJS module spec 1.1 13299 cjsModule = args[i] = handlers.module(name); 13300 } else if (hasProp(defined, depName) || 13301 hasProp(waiting, depName) || 13302 hasProp(defining, depName)) { 13303 args[i] = callDep(depName); 13304 } else if (map.p) { 13305 map.p.load(map.n, makeRequire(relName, true), makeLoad(depName), {}); 13306 args[i] = defined[depName]; 13307 } else { 13308 throw new Error(name + ' missing ' + depName); 13309 } 13310 } 13311 13312 ret = callback ? callback.apply(defined[name], args) : undefined; 13313 13314 if (name) { 13315 //If setting exports via "module" is in play, 13316 //favor that over return value and exports. After that, 13317 //favor a non-undefined return value over exports use. 13318 if (cjsModule && cjsModule.exports !== undef && 13319 cjsModule.exports !== defined[name]) { 13320 defined[name] = cjsModule.exports; 13321 } else if (ret !== undef || !usingExports) { 13322 //Use the return value from the function. 13323 defined[name] = ret; 13324 } 13325 } 13326 } else if (name) { 13327 //May just be an object definition for the module. Only 13328 //worry about defining if have a module name. 13329 defined[name] = callback; 13330 } 13331 }; 13332 13333 requirejs = require = req = function (deps, callback, relName, forceSync, alt) { 13334 if (typeof deps === "string") { 13335 if (handlers[deps]) { 13336 //callback in this case is really relName 13337 return handlers[deps](callback); 13338 } 13339 //Just return the module wanted. In this scenario, the 13340 //deps arg is the module name, and second arg (if passed) 13341 //is just the relName. 13342 //Normalize module name, if it contains . or .. 13343 return callDep(makeMap(deps, makeRelParts(callback)).f); 13344 } else if (!deps.splice) { 13345 //deps is a config object, not an array. 13346 config = deps; 13347 if (config.deps) { 13348 req(config.deps, config.callback); 13349 } 13350 if (!callback) { 13351 return; 13352 } 13353 13354 if (callback.splice) { 13355 //callback is an array, which means it is a dependency list. 13356 //Adjust args if there are dependencies 13357 deps = callback; 13358 callback = relName; 13359 relName = null; 13360 } else { 13361 deps = undef; 13362 } 13363 } 13364 13365 //Support require(['a']) 13366 callback = callback || function () {}; 13367 13368 //If relName is a function, it is an errback handler, 13369 //so remove it. 13370 if (typeof relName === 'function') { 13371 relName = forceSync; 13372 forceSync = alt; 13373 } 13374 13375 //Simulate async callback; 13376 if (forceSync) { 13377 main(undef, deps, callback, relName); 13378 } else { 13379 //Using a non-zero value because of concern for what old browsers 13380 //do, and latest browsers "upgrade" to 4 if lower value is used: 13381 //http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#dom-windowtimers-settimeout: 13382 //If want a value immediately, use require('id') instead -- something 13383 //that works in almond on the global level, but not guaranteed and 13384 //unlikely to work in other AMD implementations. 13385 setTimeout(function () { 13386 main(undef, deps, callback, relName); 13387 }, 4); 13388 } 13389 13390 return req; 13391 }; 13392 13393 /** 13394 * Just drops the config on the floor, but returns req in case 13395 * the config return value is used. 13396 */ 13397 req.config = function (cfg) { 13398 return req(cfg); 13399 }; 13400 13401 /** 13402 * Expose module registry for debugging and tooling 13403 */ 13404 requirejs._defined = defined; 13405 13406 define = function (name, deps, callback) { 13407 if (typeof name !== 'string') { 13408 throw new Error('See almond README: incorrect module build, no module name'); 13409 } 13410 13411 //This module may not have dependencies 13412 if (!deps.splice) { 13413 //deps is not an array, so probably means 13414 //an object literal or factory function for 13415 //the value. Adjust args. 13416 callback = deps; 13417 deps = []; 13418 } 13419 13420 if (!hasProp(defined, name) && !hasProp(waiting, name)) { 13421 waiting[name] = [name, deps, callback]; 13422 } 13423 }; 13424 13425 define.amd = { 13426 jQuery: true 13427 }; 13428}()); 13429 13430S2.requirejs = requirejs;S2.require = require;S2.define = define; 13431} 13432}()); 13433S2.define("almond", function(){}); 13434 13435/* global jQuery:false, $:false */ 13436S2.define('jquery',[],function () { 13437 var _$ = jQuery || $; 13438 13439 if (_$ == null && console && console.error) { 13440 console.error( 13441 'Select2: An instance of jQuery or a jQuery-compatible library was not ' + 13442 'found. Make sure that you are including jQuery before Select2 on your ' + 13443 'web page.' 13444 ); 13445 } 13446 13447 return _$; 13448}); 13449 13450S2.define('select2/utils',[ 13451 'jquery' 13452], function ($) { 13453 var Utils = {}; 13454 13455 Utils.Extend = function (ChildClass, SuperClass) { 13456 var __hasProp = {}.hasOwnProperty; 13457 13458 function BaseConstructor () { 13459 this.constructor = ChildClass; 13460 } 13461 13462 for (var key in SuperClass) { 13463 if (__hasProp.call(SuperClass, key)) { 13464 ChildClass[key] = SuperClass[key]; 13465 } 13466 } 13467 13468 BaseConstructor.prototype = SuperClass.prototype; 13469 ChildClass.prototype = new BaseConstructor(); 13470 ChildClass.__super__ = SuperClass.prototype; 13471 13472 return ChildClass; 13473 }; 13474 13475 function getMethods (theClass) { 13476 var proto = theClass.prototype; 13477 13478 var methods = []; 13479 13480 for (var methodName in proto) { 13481 var m = proto[methodName]; 13482 13483 if (typeof m !== 'function') { 13484 continue; 13485 } 13486 13487 if (methodName === 'constructor') { 13488 continue; 13489 } 13490 13491 methods.push(methodName); 13492 } 13493 13494 return methods; 13495 } 13496 13497 Utils.Decorate = function (SuperClass, DecoratorClass) { 13498 var decoratedMethods = getMethods(DecoratorClass); 13499 var superMethods = getMethods(SuperClass); 13500 13501 function DecoratedClass () { 13502 var unshift = Array.prototype.unshift; 13503 13504 var argCount = DecoratorClass.prototype.constructor.length; 13505 13506 var calledConstructor = SuperClass.prototype.constructor; 13507 13508 if (argCount > 0) { 13509 unshift.call(arguments, SuperClass.prototype.constructor); 13510 13511 calledConstructor = DecoratorClass.prototype.constructor; 13512 } 13513 13514 calledConstructor.apply(this, arguments); 13515 } 13516 13517 DecoratorClass.displayName = SuperClass.displayName; 13518 13519 function ctr () { 13520 this.constructor = DecoratedClass; 13521 } 13522 13523 DecoratedClass.prototype = new ctr(); 13524 13525 for (var m = 0; m < superMethods.length; m++) { 13526
vendor: 102,497 bytes, lines 13526-17798
13526var superMethod = superMethods[m]; 13527 13528 DecoratedClass.prototype[superMethod] = 13529 SuperClass.prototype[superMethod]; 13530 } 13531 13532 var calledMethod = function (methodName) { 13533 // Stub out the original method if it's not decorating an actual method 13534 var originalMethod = function () {}; 13535 13536 if (methodName in DecoratedClass.prototype) { 13537 originalMethod = DecoratedClass.prototype[methodName]; 13538 } 13539 13540 var decoratedMethod = DecoratorClass.prototype[methodName]; 13541 13542 return function () { 13543 var unshift = Array.prototype.unshift; 13544 13545 unshift.call(arguments, originalMethod); 13546 13547 return decoratedMethod.apply(this, arguments); 13548 }; 13549 }; 13550 13551 for (var d = 0; d < decoratedMethods.length; d++) { 13552 var decoratedMethod = decoratedMethods[d]; 13553 13554 DecoratedClass.prototype[decoratedMethod] = calledMethod(decoratedMethod); 13555 } 13556 13557 return DecoratedClass; 13558 }; 13559 13560 var Observable = function () { 13561 this.listeners = {}; 13562 }; 13563 13564 Observable.prototype.on = function (event, callback) { 13565 this.listeners = this.listeners || {}; 13566 13567 if (event in this.listeners) { 13568 this.listeners[event].push(callback); 13569 } else { 13570 this.listeners[event] = [callback]; 13571 } 13572 }; 13573 13574 Observable.prototype.trigger = function (event) { 13575 var slice = Array.prototype.slice; 13576 var params = slice.call(arguments, 1); 13577 13578 this.listeners = this.listeners || {}; 13579 13580 // Params should always come in as an array 13581 if (params == null) { 13582 params = []; 13583 } 13584 13585 // If there are no arguments to the event, use a temporary object 13586 if (params.length === 0) { 13587 params.push({}); 13588 } 13589 13590 // Set the `_type` of the first object to the event 13591 params[0]._type = event; 13592 13593 if (event in this.listeners) { 13594 this.invoke(this.listeners[event], slice.call(arguments, 1)); 13595 } 13596 13597 if ('*' in this.listeners) { 13598 this.invoke(this.listeners['*'], arguments); 13599 } 13600 }; 13601 13602 Observable.prototype.invoke = function (listeners, params) { 13603 for (var i = 0, len = listeners.length; i < len; i++) { 13604 listeners[i].apply(this, params); 13605 } 13606 }; 13607 13608 Utils.Observable = Observable; 13609 13610 Utils.generateChars = function (length) { 13611 var chars = ''; 13612 13613 for (var i = 0; i < length; i++) { 13614 var randomChar = Math.floor(Math.random() * 36); 13615 chars += randomChar.toString(36); 13616 } 13617 13618 return chars; 13619 }; 13620 13621 Utils.bind = function (func, context) { 13622 return function () { 13623 func.apply(context, arguments); 13624 }; 13625 }; 13626 13627 Utils._convertData = function (data) { 13628 for (var originalKey in data) { 13629 var keys = originalKey.split('-'); 13630 13631 var dataLevel = data; 13632 13633 if (keys.length === 1) { 13634 continue; 13635 } 13636 13637 for (var k = 0; k < keys.length; k++) { 13638 var key = keys[k]; 13639 13640 // Lowercase the first letter 13641 // By default, dash-separated becomes camelCase 13642 key = key.substring(0, 1).toLowerCase() + key.substring(1); 13643 13644 if (!(key in dataLevel)) { 13645 dataLevel[key] = {}; 13646 } 13647 13648 if (k == keys.length - 1) { 13649 dataLevel[key] = data[originalKey]; 13650 } 13651 13652 dataLevel = dataLevel[key]; 13653 } 13654 13655 delete data[originalKey]; 13656 } 13657 13658 return data; 13659 }; 13660 13661 Utils.hasScroll = function (index, el) { 13662 // Adapted from the function created by @ShadowScripter 13663 // and adapted by @BillBarry on the Stack Exchange Code Review website. 13664 // The original code can be found at 13665 // http://codereview.stackexchange.com/q/13338 13666 // and was designed to be used with the Sizzle selector engine. 13667 13668 var $el = $(el); 13669 var overflowX = el.style.overflowX; 13670 var overflowY = el.style.overflowY; 13671 13672 //Check both x and y declarations 13673 if (overflowX === overflowY && 13674 (overflowY === 'hidden' || overflowY === 'visible')) { 13675 return false; 13676 } 13677 13678 if (overflowX === 'scroll' || overflowY === 'scroll') { 13679 return true; 13680 } 13681 13682 return ($el.innerHeight() < el.scrollHeight || 13683 $el.innerWidth() < el.scrollWidth); 13684 }; 13685 13686 Utils.escapeMarkup = function (markup) { 13687 var replaceMap = { 13688 '\\': '\', 13689 '&': '&', 13690 '<': '<', 13691 '>': '>', 13692 '"': '"', 13693 '\'': ''', 13694 '/': '/' 13695 }; 13696 13697 // Do not try to escape the markup if it's not a string 13698 if (typeof markup !== 'string') { 13699 return markup; 13700 } 13701 13702 return String(markup).replace(/[&<>"'\/\\]/g, function (match) { 13703 return replaceMap[match]; 13704 }); 13705 }; 13706 13707 // Cache objects in Utils.__cache instead of $.data (see #4346) 13708 Utils.__cache = {}; 13709 13710 var id = 0; 13711 Utils.GetUniqueElementId = function (element) { 13712 // Get a unique element Id. If element has no id, 13713 // creates a new unique number, stores it in the id 13714 // attribute and returns the new id with a prefix. 13715 // If an id already exists, it simply returns it with a prefix. 13716 13717 var select2Id = element.getAttribute('data-select2-id'); 13718 13719 if (select2Id != null) { 13720 return select2Id; 13721 } 13722 13723 // If element has id, use it. 13724 if (element.id) { 13725 select2Id = 'select2-data-' + element.id; 13726 } else { 13727 select2Id = 'select2-data-' + (++id).toString() + 13728 '-' + Utils.generateChars(4); 13729 } 13730 13731 element.setAttribute('data-select2-id', select2Id); 13732 13733 return select2Id; 13734 }; 13735 13736 Utils.StoreData = function (element, name, value) { 13737 // Stores an item in the cache for a specified element. 13738 // name is the cache key. 13739 var id = Utils.GetUniqueElementId(element); 13740 if (!Utils.__cache[id]) { 13741 Utils.__cache[id] = {}; 13742 } 13743 13744 Utils.__cache[id][name] = value; 13745 }; 13746 13747 Utils.GetData = function (element, name) { 13748 // Retrieves a value from the cache by its key (name) 13749 // name is optional. If no name specified, return 13750 // all cache items for the specified element. 13751 // and for a specified element. 13752 var id = Utils.GetUniqueElementId(element); 13753 if (name) { 13754 if (Utils.__cache[id]) { 13755 if (Utils.__cache[id][name] != null) { 13756 return Utils.__cache[id][name]; 13757 } 13758 return $(element).data(name); // Fallback to HTML5 data attribs. 13759 } 13760 return $(element).data(name); // Fallback to HTML5 data attribs. 13761 } else { 13762 return Utils.__cache[id]; 13763 } 13764 }; 13765 13766 Utils.RemoveData = function (element) { 13767 // Removes all cached items for a specified element. 13768 var id = Utils.GetUniqueElementId(element); 13769 if (Utils.__cache[id] != null) { 13770 delete Utils.__cache[id]; 13771 } 13772 13773 element.removeAttribute('data-select2-id'); 13774 }; 13775 13776 Utils.copyNonInternalCssClasses = function (dest, src) { 13777 var classes; 13778 13779 var destinationClasses = dest.getAttribute('class').trim().split(/\s+/); 13780 13781 destinationClasses = destinationClasses.filter(function (clazz) { 13782 // Save all Select2 classes 13783 return clazz.indexOf('select2-') === 0; 13784 }); 13785 13786 var sourceClasses = src.getAttribute('class').trim().split(/\s+/); 13787 13788 sourceClasses = sourceClasses.filter(function (clazz) { 13789 // Only copy non-Select2 classes 13790 return clazz.indexOf('select2-') !== 0; 13791 }); 13792 13793 var replacements = destinationClasses.concat(sourceClasses); 13794 13795 dest.setAttribute('class', replacements.join(' ')); 13796 }; 13797 13798 return Utils; 13799}); 13800 13801S2.define('select2/results',[ 13802 'jquery', 13803 './utils' 13804], function ($, Utils) { 13805 function Results ($element, options, dataAdapter) { 13806 this.$element = $element; 13807 this.data = dataAdapter; 13808 this.options = options; 13809 13810 Results.__super__.constructor.call(this); 13811 } 13812 13813 Utils.Extend(Results, Utils.Observable); 13814 13815 Results.prototype.render = function () { 13816 var $results = $( 13817 '<ul class="select2-results__options" role="listbox"></ul>' 13818 ); 13819 13820 if (this.options.get('multiple')) { 13821 $results.attr('aria-multiselectable', 'true'); 13822 } 13823 13824 this.$results = $results; 13825 13826 return $results; 13827 }; 13828 13829 Results.prototype.clear = function () { 13830 this.$results.empty(); 13831 }; 13832 13833 Results.prototype.displayMessage = function (params) { 13834 var escapeMarkup = this.options.get('escapeMarkup'); 13835 13836 this.clear(); 13837 this.hideLoading(); 13838 13839 var $message = $( 13840 '<li role="alert" aria-live="assertive"' + 13841 ' class="select2-results__option"></li>' 13842 ); 13843 13844 var message = this.options.get('translations').get(params.message); 13845 13846 $message.append( 13847 escapeMarkup( 13848 message(params.args) 13849 ) 13850 ); 13851 13852 $message[0].className += ' select2-results__message'; 13853 13854 this.$results.append($message); 13855 }; 13856 13857 Results.prototype.hideMessages = function () { 13858 this.$results.find('.select2-results__message').remove(); 13859 }; 13860 13861 Results.prototype.append = function (data) { 13862 this.hideLoading(); 13863 13864 var $options = []; 13865 13866 if (data.results == null || data.results.length === 0) { 13867 if (this.$results.children().length === 0) { 13868 this.trigger('results:message', { 13869 message: 'noResults' 13870 }); 13871 } 13872 13873 return; 13874 } 13875 13876 data.results = this.sort(data.results); 13877 13878 for (var d = 0; d < data.results.length; d++) { 13879 var item = data.results[d]; 13880 13881 var $option = this.option(item); 13882 13883 $options.push($option); 13884 } 13885 13886 this.$results.append($options); 13887 }; 13888 13889 Results.prototype.position = function ($results, $dropdown) { 13890 var $resultsContainer = $dropdown.find('.select2-results'); 13891 $resultsContainer.append($results); 13892 }; 13893 13894 Results.prototype.sort = function (data) { 13895 var sorter = this.options.get('sorter'); 13896 13897 return sorter(data); 13898 }; 13899 13900 Results.prototype.highlightFirstItem = function () { 13901 var $options = this.$results 13902 .find('.select2-results__option--selectable'); 13903 13904 var $selected = $options.filter('.select2-results__option--selected'); 13905 13906 // Check if there are any selected options 13907 if ($selected.length > 0) { 13908 // If there are selected options, highlight the first 13909 $selected.first().trigger('mouseenter'); 13910 } else { 13911 // If there are no selected options, highlight the first option 13912 // in the dropdown 13913 $options.first().trigger('mouseenter'); 13914 } 13915 13916 this.ensureHighlightVisible(); 13917 }; 13918 13919 Results.prototype.setClasses = function () { 13920 var self = this; 13921 13922 this.data.current(function (selected) { 13923 var selectedIds = selected.map(function (s) { 13924 return s.id.toString(); 13925 }); 13926 13927 var $options = self.$results 13928 .find('.select2-results__option--selectable'); 13929 13930 $options.each(function () { 13931 var $option = $(this); 13932 13933 var item = Utils.GetData(this, 'data'); 13934 13935 // id needs to be converted to a string when comparing 13936 var id = '' + item.id; 13937 13938 if ((item.element != null && item.element.selected) || 13939 (item.element == null && selectedIds.indexOf(id) > -1)) { 13940 this.classList.add('select2-results__option--selected'); 13941 $option.attr('aria-selected', 'true'); 13942 } else { 13943 this.classList.remove('select2-results__option--selected'); 13944 $option.attr('aria-selected', 'false'); 13945 } 13946 }); 13947 13948 }); 13949 }; 13950 13951 Results.prototype.showLoading = function (params) { 13952 this.hideLoading(); 13953 13954 var loadingMore = this.options.get('translations').get('searching'); 13955 13956 var loading = { 13957 disabled: true, 13958 loading: true, 13959 text: loadingMore(params) 13960 }; 13961 var $loading = this.option(loading); 13962 $loading.className += ' loading-results'; 13963 13964 this.$results.prepend($loading); 13965 }; 13966 13967 Results.prototype.hideLoading = function () { 13968 this.$results.find('.loading-results').remove(); 13969 }; 13970 13971 Results.prototype.option = function (data) { 13972 var option = document.createElement('li'); 13973 option.classList.add('select2-results__option'); 13974 option.classList.add('select2-results__option--selectable'); 13975 13976 var attrs = { 13977 'role': 'option' 13978 }; 13979 13980 var matches = window.Element.prototype.matches || 13981 window.Element.prototype.msMatchesSelector || 13982 window.Element.prototype.webkitMatchesSelector; 13983 13984 if ((data.element != null && matches.call(data.element, ':disabled')) || 13985 (data.element == null && data.disabled)) { 13986 attrs['aria-disabled'] = 'true'; 13987 13988 option.classList.remove('select2-results__option--selectable'); 13989 option.classList.add('select2-results__option--disabled'); 13990 } 13991 13992 if (data.id == null) { 13993 option.classList.remove('select2-results__option--selectable'); 13994 } 13995 13996 if (data._resultId != null) { 13997 option.id = data._resultId; 13998 } 13999 14000 if (data.title) { 14001 option.title = data.title; 14002 } 14003 14004 if (data.children) { 14005 attrs.role = 'group'; 14006 attrs['aria-label'] = data.text; 14007 14008 option.classList.remove('select2-results__option--selectable'); 14009 option.classList.add('select2-results__option--group'); 14010 } 14011 14012 for (var attr in attrs) { 14013 var val = attrs[attr]; 14014 14015 option.setAttribute(attr, val); 14016 } 14017 14018 if (data.children) { 14019 var $option = $(option); 14020 14021 var label = document.createElement('strong'); 14022 label.className = 'select2-results__group'; 14023 14024 this.template(data, label); 14025 14026 var $children = []; 14027 14028 for (var c = 0; c < data.children.length; c++) { 14029 var child = data.children[c]; 14030 14031 var $child = this.option(child); 14032 14033 $children.push($child); 14034 } 14035 14036 var $childrenContainer = $('<ul></ul>', { 14037 'class': 'select2-results__options select2-results__options--nested', 14038 'role': 'none' 14039 }); 14040 14041 $childrenContainer.append($children); 14042 14043 $option.append(label); 14044 $option.append($childrenContainer); 14045 } else { 14046 this.template(data, option); 14047 } 14048 14049 Utils.StoreData(option, 'data', data); 14050 14051 return option; 14052 }; 14053 14054 Results.prototype.bind = function (container, $container) { 14055 var self = this; 14056 14057 var id = container.id + '-results'; 14058 14059 this.$results.attr('id', id); 14060 14061 container.on('results:all', function (params) { 14062 self.clear(); 14063 self.append(params.data); 14064 14065 if (container.isOpen()) { 14066 self.setClasses(); 14067 self.highlightFirstItem(); 14068 } 14069 }); 14070 14071 container.on('results:append', function (params) { 14072 self.append(params.data); 14073 14074 if (container.isOpen()) { 14075 self.setClasses(); 14076 } 14077 }); 14078 14079 container.on('query', function (params) { 14080 self.hideMessages(); 14081 self.showLoading(params); 14082 }); 14083 14084 container.on('select', function () { 14085 if (!container.isOpen()) { 14086 return; 14087 } 14088 14089 self.setClasses(); 14090 14091 if (self.options.get('scrollAfterSelect')) { 14092 self.highlightFirstItem(); 14093 } 14094 }); 14095 14096 container.on('unselect', function () { 14097 if (!container.isOpen()) { 14098 return; 14099 } 14100 14101 self.setClasses(); 14102 14103 if (self.options.get('scrollAfterSelect')) { 14104 self.highlightFirstItem(); 14105 } 14106 }); 14107 14108 container.on('open', function () { 14109 // When the dropdown is open, aria-expended="true" 14110 self.$results.attr('aria-expanded', 'true'); 14111 self.$results.attr('aria-hidden', 'false'); 14112 14113 self.setClasses(); 14114 self.ensureHighlightVisible(); 14115 }); 14116 14117 container.on('close', function () { 14118 // When the dropdown is closed, aria-expended="false" 14119 self.$results.attr('aria-expanded', 'false'); 14120 self.$results.attr('aria-hidden', 'true'); 14121 self.$results.removeAttr('aria-activedescendant'); 14122 }); 14123 14124 container.on('results:toggle', function () { 14125 var $highlighted = self.getHighlightedResults(); 14126 14127 if ($highlighted.length === 0) { 14128 return; 14129 } 14130 14131 $highlighted.trigger('mouseup'); 14132 }); 14133 14134 container.on('results:select', function () { 14135 var $highlighted = self.getHighlightedResults(); 14136 14137 if ($highlighted.length === 0) { 14138 return; 14139 } 14140 14141 var data = Utils.GetData($highlighted[0], 'data'); 14142 14143 if ($highlighted.hasClass('select2-results__option--selected')) { 14144 self.trigger('close', {}); 14145 } else { 14146 self.trigger('select', { 14147 data: data 14148 }); 14149 } 14150 }); 14151 14152 container.on('results:previous', function () { 14153 var $highlighted = self.getHighlightedResults(); 14154 14155 var $options = self.$results.find('.select2-results__option--selectable'); 14156 14157 var currentIndex = $options.index($highlighted); 14158 14159 // If we are already at the top, don't move further 14160 // If no options, currentIndex will be -1 14161 if (currentIndex <= 0) { 14162 return; 14163 } 14164 14165 var nextIndex = currentIndex - 1; 14166 14167 // If none are highlighted, highlight the first 14168 if ($highlighted.length === 0) { 14169 nextIndex = 0; 14170 } 14171 14172 var $next = $options.eq(nextIndex); 14173 14174 $next.trigger('mouseenter'); 14175 14176 var currentOffset = self.$results.offset().top; 14177 var nextTop = $next.offset().top; 14178 var nextOffset = self.$results.scrollTop() + (nextTop - currentOffset); 14179 14180 if (nextIndex === 0) { 14181 self.$results.scrollTop(0); 14182 } else if (nextTop - currentOffset < 0) { 14183 self.$results.scrollTop(nextOffset); 14184 } 14185 }); 14186 14187 container.on('results:next', function () { 14188 var $highlighted = self.getHighlightedResults(); 14189 14190 var $options = self.$results.find('.select2-results__option--selectable'); 14191 14192 var currentIndex = $options.index($highlighted); 14193 14194 var nextIndex = currentIndex + 1; 14195 14196 // If we are at the last option, stay there 14197 if (nextIndex >= $options.length) { 14198 return; 14199 } 14200 14201 var $next = $options.eq(nextIndex); 14202 14203 $next.trigger('mouseenter'); 14204 14205 var currentOffset = self.$results.offset().top + 14206 self.$results.outerHeight(false); 14207 var nextBottom = $next.offset().top + $next.outerHeight(false); 14208 var nextOffset = self.$results.scrollTop() + nextBottom - currentOffset; 14209 14210 if (nextIndex === 0) { 14211 self.$results.scrollTop(0); 14212 } else if (nextBottom > currentOffset) { 14213 self.$results.scrollTop(nextOffset); 14214 } 14215 }); 14216 14217 container.on('results:focus', function (params) { 14218 params.element[0].classList.add('select2-results__option--highlighted'); 14219 params.element[0].setAttribute('aria-selected', 'true'); 14220 }); 14221 14222 container.on('results:message', function (params) { 14223 self.displayMessage(params); 14224 }); 14225 14226 if ($.fn.mousewheel) { 14227 this.$results.on('mousewheel', function (e) { 14228 var top = self.$results.scrollTop(); 14229 14230 var bottom = self.$results.get(0).scrollHeight - top + e.deltaY; 14231 14232 var isAtTop = e.deltaY > 0 && top - e.deltaY <= 0; 14233 var isAtBottom = e.deltaY < 0 && bottom <= self.$results.height(); 14234 14235 if (isAtTop) { 14236 self.$results.scrollTop(0); 14237 14238 e.preventDefault(); 14239 e.stopPropagation(); 14240 } else if (isAtBottom) { 14241 self.$results.scrollTop( 14242 self.$results.get(0).scrollHeight - self.$results.height() 14243 ); 14244 14245 e.preventDefault(); 14246 e.stopPropagation(); 14247 } 14248 }); 14249 } 14250 14251 this.$results.on('mouseup', '.select2-results__option--selectable', 14252 function (evt) { 14253 var $this = $(this); 14254 14255 var data = Utils.GetData(this, 'data'); 14256 14257 if ($this.hasClass('select2-results__option--selected')) { 14258 if (self.options.get('multiple')) { 14259 self.trigger('unselect', { 14260 originalEvent: evt, 14261 data: data 14262 }); 14263 } else { 14264 self.trigger('close', {}); 14265 } 14266 14267 return; 14268 } 14269 14270 self.trigger('select', { 14271 originalEvent: evt, 14272 data: data 14273 }); 14274 }); 14275 14276 this.$results.on('mouseenter', '.select2-results__option--selectable', 14277 function (evt) { 14278 var data = Utils.GetData(this, 'data'); 14279 14280 self.getHighlightedResults() 14281 .removeClass('select2-results__option--highlighted') 14282 .attr('aria-selected', 'false'); 14283 14284 self.trigger('results:focus', { 14285 data: data, 14286 element: $(this) 14287 }); 14288 }); 14289 }; 14290 14291 Results.prototype.getHighlightedResults = function () { 14292 var $highlighted = this.$results 14293 .find('.select2-results__option--highlighted'); 14294 14295 return $highlighted; 14296 }; 14297 14298 Results.prototype.destroy = function () { 14299 this.$results.remove(); 14300 }; 14301 14302 Results.prototype.ensureHighlightVisible = function () { 14303 var $highlighted = this.getHighlightedResults(); 14304 14305 if ($highlighted.length === 0) { 14306 return; 14307 } 14308 14309 var $options = this.$results.find('.select2-results__option--selectable'); 14310 14311 var currentIndex = $options.index($highlighted); 14312 14313 var currentOffset = this.$results.offset().top; 14314 var nextTop = $highlighted.offset().top; 14315 var nextOffset = this.$results.scrollTop() + (nextTop - currentOffset); 14316 14317 var offsetDelta = nextTop - currentOffset; 14318 nextOffset -= $highlighted.outerHeight(false) * 2; 14319 14320 if (currentIndex <= 2) { 14321 this.$results.scrollTop(0); 14322 } else if (offsetDelta > this.$results.outerHeight() || offsetDelta < 0) { 14323 this.$results.scrollTop(nextOffset); 14324 } 14325 }; 14326 14327 Results.prototype.template = function (result, container) { 14328 var template = this.options.get('templateResult'); 14329 var escapeMarkup = this.options.get('escapeMarkup'); 14330 14331 var content = template(result, container); 14332 14333 if (content == null) { 14334 container.style.display = 'none'; 14335 } else if (typeof content === 'string') { 14336 container.innerHTML = escapeMarkup(content); 14337 } else { 14338 $(container).append(content); 14339 } 14340 }; 14341 14342 return Results; 14343}); 14344 14345S2.define('select2/keys',[ 14346 14347], function () { 14348 var KEYS = { 14349 BACKSPACE: 8, 14350 TAB: 9, 14351 ENTER: 13, 14352 SHIFT: 16, 14353 CTRL: 17, 14354 ALT: 18, 14355 ESC: 27, 14356 SPACE: 32, 14357 PAGE_UP: 33, 14358 PAGE_DOWN: 34, 14359 END: 35, 14360 HOME: 36, 14361 LEFT: 37, 14362 UP: 38, 14363 RIGHT: 39, 14364 DOWN: 40, 14365 DELETE: 46 14366 }; 14367 14368 return KEYS; 14369}); 14370 14371S2.define('select2/selection/base',[ 14372 'jquery', 14373 '../utils', 14374 '../keys' 14375], function ($, Utils, KEYS) { 14376 function BaseSelection ($element, options) { 14377 this.$element = $element; 14378 this.options = options; 14379 14380 BaseSelection.__super__.constructor.call(this); 14381 } 14382 14383 Utils.Extend(BaseSelection, Utils.Observable); 14384 14385 BaseSelection.prototype.render = function () { 14386 var $selection = $( 14387 '<span class="select2-selection" role="combobox" ' + 14388 ' aria-haspopup="true" aria-expanded="false">' + 14389 '</span>' 14390 ); 14391 14392 this._tabindex = 0; 14393 14394 if (Utils.GetData(this.$element[0], 'old-tabindex') != null) { 14395 this._tabindex = Utils.GetData(this.$element[0], 'old-tabindex'); 14396 } else if (this.$element.attr('tabindex') != null) { 14397 this._tabindex = this.$element.attr('tabindex'); 14398 } 14399 14400 $selection.attr('title', this.$element.attr('title')); 14401 $selection.attr('tabindex', this._tabindex); 14402 $selection.attr('aria-disabled', 'false'); 14403 14404 this.$selection = $selection; 14405 14406 return $selection; 14407 }; 14408 14409 BaseSelection.prototype.bind = function (container, $container) { 14410 var self = this; 14411 14412 var resultsId = container.id + '-results'; 14413 14414 this.container = container; 14415 14416 this.$selection.on('focus', function (evt) { 14417 self.trigger('focus', evt); 14418 }); 14419 14420 this.$selection.on('blur', function (evt) { 14421 self._handleBlur(evt); 14422 }); 14423 14424 this.$selection.on('keydown', function (evt) { 14425 self.trigger('keypress', evt); 14426 14427 if (evt.which === KEYS.SPACE) { 14428 evt.preventDefault(); 14429 } 14430 }); 14431 14432 container.on('results:focus', function (params) { 14433 self.$selection.attr('aria-activedescendant', params.data._resultId); 14434 }); 14435 14436 container.on('selection:update', function (params) { 14437 self.update(params.data); 14438 }); 14439 14440 container.on('open', function () { 14441 // When the dropdown is open, aria-expanded="true" 14442 self.$selection.attr('aria-expanded', 'true'); 14443 self.$selection.attr('aria-owns', resultsId); 14444 14445 self._attachCloseHandler(container); 14446 }); 14447 14448 container.on('close', function () { 14449 // When the dropdown is closed, aria-expanded="false" 14450 self.$selection.attr('aria-expanded', 'false'); 14451 self.$selection.removeAttr('aria-activedescendant'); 14452 self.$selection.removeAttr('aria-owns'); 14453 14454 self.$selection.trigger('focus'); 14455 14456 self._detachCloseHandler(container); 14457 }); 14458 14459 container.on('enable', function () { 14460 self.$selection.attr('tabindex', self._tabindex); 14461 self.$selection.attr('aria-disabled', 'false'); 14462 }); 14463 14464 container.on('disable', function () { 14465 self.$selection.attr('tabindex', '-1'); 14466 self.$selection.attr('aria-disabled', 'true'); 14467 }); 14468 }; 14469 14470 BaseSelection.prototype._handleBlur = function (evt) { 14471 var self = this; 14472 14473 // This needs to be delayed as the active element is the body when the tab 14474 // key is pressed, possibly along with others. 14475 window.setTimeout(function () { 14476 // Don't trigger `blur` if the focus is still in the selection 14477 if ( 14478 (document.activeElement == self.$selection[0]) || 14479 ($.contains(self.$selection[0], document.activeElement)) 14480 ) { 14481 return; 14482 } 14483 14484 self.trigger('blur', evt); 14485 }, 1); 14486 }; 14487 14488 BaseSelection.prototype._attachCloseHandler = function (container) { 14489 14490 $(document.body).on('mousedown.select2.' + container.id, function (e) { 14491 var $target = $(e.target); 14492 14493 var $select = $target.closest('.select2'); 14494 14495 var $all = $('.select2.select2-container--open'); 14496 14497 $all.each(function () { 14498 if (this == $select[0]) { 14499 return; 14500 } 14501 14502 var $element = Utils.GetData(this, 'element'); 14503 14504 $element.select2('close'); 14505 }); 14506 }); 14507 }; 14508 14509 BaseSelection.prototype._detachCloseHandler = function (container) { 14510 $(document.body).off('mousedown.select2.' + container.id); 14511 }; 14512 14513 BaseSelection.prototype.position = function ($selection, $container) { 14514 var $selectionContainer = $container.find('.selection'); 14515 $selectionContainer.append($selection); 14516 }; 14517 14518 BaseSelection.prototype.destroy = function () { 14519 this._detachCloseHandler(this.container); 14520 }; 14521 14522 BaseSelection.prototype.update = function (data) { 14523 throw new Error('The `update` method must be defined in child classes.'); 14524 }; 14525 14526 /** 14527 * Helper method to abstract the "enabled" (not "disabled") state of this 14528 * object. 14529 * 14530 * @return {true} if the instance is not disabled. 14531 * @return {false} if the instance is disabled. 14532 */ 14533 BaseSelection.prototype.isEnabled = function () { 14534 return !this.isDisabled(); 14535 }; 14536 14537 /** 14538 * Helper method to abstract the "disabled" state of this object. 14539 * 14540 * @return {true} if the disabled option is true. 14541 * @return {false} if the disabled option is false. 14542 */ 14543 BaseSelection.prototype.isDisabled = function () { 14544 return this.options.get('disabled'); 14545 }; 14546 14547 return BaseSelection; 14548}); 14549 14550S2.define('select2/selection/single',[ 14551 'jquery', 14552 './base', 14553 '../utils', 14554 '../keys' 14555], function ($, BaseSelection, Utils, KEYS) { 14556 function SingleSelection () { 14557 SingleSelection.__super__.constructor.apply(this, arguments); 14558 } 14559 14560 Utils.Extend(SingleSelection, BaseSelection); 14561 14562 SingleSelection.prototype.render = function () { 14563 var $selection = SingleSelection.__super__.render.call(this); 14564 14565 $selection[0].classList.add('select2-selection--single'); 14566 14567 $selection.html( 14568 '<span class="select2-selection__rendered"></span>' + 14569 '<span class="select2-selection__arrow" role="presentation">' + 14570 '<b role="presentation"></b>' + 14571 '</span>' 14572 ); 14573 14574 return $selection; 14575 }; 14576 14577 SingleSelection.prototype.bind = function (container, $container) { 14578 var self = this; 14579 14580 SingleSelection.__super__.bind.apply(this, arguments); 14581 14582 var id = container.id + '-container'; 14583 14584 this.$selection.find('.select2-selection__rendered') 14585 .attr('id', id) 14586 .attr('role', 'textbox') 14587 .attr('aria-readonly', 'true'); 14588 this.$selection.attr('aria-labelledby', id); 14589 this.$selection.attr('aria-controls', id); 14590 14591 this.$selection.on('mousedown', function (evt) { 14592 // Only respond to left clicks 14593 if (evt.which !== 1) { 14594 return; 14595 } 14596 14597 self.trigger('toggle', { 14598 originalEvent: evt 14599 }); 14600 }); 14601 14602 this.$selection.on('focus', function (evt) { 14603 // User focuses on the container 14604 }); 14605 14606 this.$selection.on('blur', function (evt) { 14607 // User exits the container 14608 }); 14609 14610 container.on('focus', function (evt) { 14611 if (!container.isOpen()) { 14612 self.$selection.trigger('focus'); 14613 } 14614 }); 14615 }; 14616 14617 SingleSelection.prototype.clear = function () { 14618 var $rendered = this.$selection.find('.select2-selection__rendered'); 14619 $rendered.empty(); 14620 $rendered.removeAttr('title'); // clear tooltip on empty 14621 }; 14622 14623 SingleSelection.prototype.display = function (data, container) { 14624 var template = this.options.get('templateSelection'); 14625 var escapeMarkup = this.options.get('escapeMarkup'); 14626 14627 return escapeMarkup(template(data, container)); 14628 }; 14629 14630 SingleSelection.prototype.selectionContainer = function () { 14631 return $('<span></span>'); 14632 }; 14633 14634 SingleSelection.prototype.update = function (data) { 14635 if (data.length === 0) { 14636 this.clear(); 14637 return; 14638 } 14639 14640 var selection = data[0]; 14641 14642 var $rendered = this.$selection.find('.select2-selection__rendered'); 14643 var formatted = this.display(selection, $rendered); 14644 14645 $rendered.empty().append(formatted); 14646 14647 var title = selection.title || selection.text; 14648 14649 if (title) { 14650 $rendered.attr('title', title); 14651 } else { 14652 $rendered.removeAttr('title'); 14653 } 14654 }; 14655 14656 return SingleSelection; 14657}); 14658 14659S2.define('select2/selection/multiple',[ 14660 'jquery', 14661 './base', 14662 '../utils' 14663], function ($, BaseSelection, Utils) { 14664 function MultipleSelection ($element, options) { 14665 MultipleSelection.__super__.constructor.apply(this, arguments); 14666 } 14667 14668 Utils.Extend(MultipleSelection, BaseSelection); 14669 14670 MultipleSelection.prototype.render = function () { 14671 var $selection = MultipleSelection.__super__.render.call(this); 14672 14673 $selection[0].classList.add('select2-selection--multiple'); 14674 14675 $selection.html( 14676 '<ul class="select2-selection__rendered"></ul>' 14677 ); 14678 14679 return $selection; 14680 }; 14681 14682 MultipleSelection.prototype.bind = function (container, $container) { 14683 var self = this; 14684 14685 MultipleSelection.__super__.bind.apply(this, arguments); 14686 14687 var id = container.id + '-container'; 14688 this.$selection.find('.select2-selection__rendered').attr('id', id); 14689 14690 this.$selection.on('click', function (evt) { 14691 self.trigger('toggle', { 14692 originalEvent: evt 14693 }); 14694 }); 14695 14696 this.$selection.on( 14697 'click', 14698 '.select2-selection__choice__remove', 14699 function (evt) { 14700 // Ignore the event if it is disabled 14701 if (self.isDisabled()) { 14702 return; 14703 } 14704 14705 var $remove = $(this); 14706 var $selection = $remove.parent(); 14707 14708 var data = Utils.GetData($selection[0], 'data'); 14709 14710 self.trigger('unselect', { 14711 originalEvent: evt, 14712 data: data 14713 }); 14714 } 14715 ); 14716 14717 this.$selection.on( 14718 'keydown', 14719 '.select2-selection__choice__remove', 14720 function (evt) { 14721 // Ignore the event if it is disabled 14722 if (self.isDisabled()) { 14723 return; 14724 } 14725 14726 evt.stopPropagation(); 14727 } 14728 ); 14729 }; 14730 14731 MultipleSelection.prototype.clear = function () { 14732 var $rendered = this.$selection.find('.select2-selection__rendered'); 14733 $rendered.empty(); 14734 $rendered.removeAttr('title'); 14735 }; 14736 14737 MultipleSelection.prototype.display = function (data, container) { 14738 var template = this.options.get('templateSelection'); 14739 var escapeMarkup = this.options.get('escapeMarkup'); 14740 14741 return escapeMarkup(template(data, container)); 14742 }; 14743 14744 MultipleSelection.prototype.selectionContainer = function () { 14745 var $container = $( 14746 '<li class="select2-selection__choice">' + 14747 '<button type="button" class="select2-selection__choice__remove" ' + 14748 'tabindex="-1">' + 14749 '<span aria-hidden="true">×</span>' + 14750 '</button>' + 14751 '<span class="select2-selection__choice__display"></span>' + 14752 '</li>' 14753 ); 14754 14755 return $container; 14756 }; 14757 14758 MultipleSelection.prototype.update = function (data) { 14759 this.clear(); 14760 14761 if (data.length === 0) { 14762 return; 14763 } 14764 14765 var $selections = []; 14766 14767 var selectionIdPrefix = this.$selection.find('.select2-selection__rendered') 14768 .attr('id') + '-choice-'; 14769 14770 for (var d = 0; d < data.length; d++) { 14771 var selection = data[d]; 14772 14773 var $selection = this.selectionContainer(); 14774 var formatted = this.display(selection, $selection); 14775 14776 var selectionId = selectionIdPrefix + Utils.generateChars(4) + '-'; 14777 14778 if (selection.id) { 14779 selectionId += selection.id; 14780 } else { 14781 selectionId += Utils.generateChars(4); 14782 } 14783 14784 $selection.find('.select2-selection__choice__display') 14785 .append(formatted) 14786 .attr('id', selectionId); 14787 14788 var title = selection.title || selection.text; 14789 14790 if (title) { 14791 $selection.attr('title', title); 14792 } 14793 14794 var removeItem = this.options.get('translations').get('removeItem'); 14795 14796 var $remove = $selection.find('.select2-selection__choice__remove'); 14797 14798 $remove.attr('title', removeItem()); 14799 $remove.attr('aria-label', removeItem()); 14800 $remove.attr('aria-describedby', selectionId); 14801 14802 Utils.StoreData($selection[0], 'data', selection); 14803 14804 $selections.push($selection); 14805 } 14806 14807 var $rendered = this.$selection.find('.select2-selection__rendered'); 14808 14809 $rendered.append($selections); 14810 }; 14811 14812 return MultipleSelection; 14813}); 14814 14815S2.define('select2/selection/placeholder',[ 14816 14817], function () { 14818 function Placeholder (decorated, $element, options) { 14819 this.placeholder = this.normalizePlaceholder(options.get('placeholder')); 14820 14821 decorated.call(this, $element, options); 14822 } 14823 14824 Placeholder.prototype.normalizePlaceholder = function (_, placeholder) { 14825 if (typeof placeholder === 'string') { 14826 placeholder = { 14827 id: '', 14828 text: placeholder 14829 }; 14830 } 14831 14832 return placeholder; 14833 }; 14834 14835 Placeholder.prototype.createPlaceholder = function (decorated, placeholder) { 14836 var $placeholder = this.selectionContainer(); 14837 14838 $placeholder.html(this.display(placeholder)); 14839 $placeholder[0].classList.add('select2-selection__placeholder'); 14840 $placeholder[0].classList.remove('select2-selection__choice'); 14841 14842 var placeholderTitle = placeholder.title || 14843 placeholder.text || 14844 $placeholder.text(); 14845 14846 this.$selection.find('.select2-selection__rendered').attr( 14847 'title', 14848 placeholderTitle 14849 ); 14850 14851 return $placeholder; 14852 }; 14853 14854 Placeholder.prototype.update = function (decorated, data) { 14855 var singlePlaceholder = ( 14856 data.length == 1 && data[0].id != this.placeholder.id 14857 ); 14858 var multipleSelections = data.length > 1; 14859 14860 if (multipleSelections || singlePlaceholder) { 14861 return decorated.call(this, data); 14862 } 14863 14864 this.clear(); 14865 14866 var $placeholder = this.createPlaceholder(this.placeholder); 14867 14868 this.$selection.find('.select2-selection__rendered').append($placeholder); 14869 }; 14870 14871 return Placeholder; 14872}); 14873 14874S2.define('select2/selection/allowClear',[ 14875 'jquery', 14876 '../keys', 14877 '../utils' 14878], function ($, KEYS, Utils) { 14879 function AllowClear () { } 14880 14881 AllowClear.prototype.bind = function (decorated, container, $container) { 14882 var self = this; 14883 14884 decorated.call(this, container, $container); 14885 14886 if (this.placeholder == null) { 14887 if (this.options.get('debug') && window.console && console.error) { 14888 console.error( 14889 'Select2: The `allowClear` option should be used in combination ' + 14890 'with the `placeholder` option.' 14891 ); 14892 } 14893 } 14894 14895 this.$selection.on('mousedown', '.select2-selection__clear', 14896 function (evt) { 14897 self._handleClear(evt); 14898 }); 14899 14900 container.on('keypress', function (evt) { 14901 self._handleKeyboardClear(evt, container); 14902 }); 14903 }; 14904 14905 AllowClear.prototype._handleClear = function (_, evt) { 14906 // Ignore the event if it is disabled 14907 if (this.isDisabled()) { 14908 return; 14909 } 14910 14911 var $clear = this.$selection.find('.select2-selection__clear'); 14912 14913 // Ignore the event if nothing has been selected 14914 if ($clear.length === 0) { 14915 return; 14916 } 14917 14918 evt.stopPropagation(); 14919 14920 var data = Utils.GetData($clear[0], 'data'); 14921 14922 var previousVal = this.$element.val(); 14923 this.$element.val(this.placeholder.id); 14924 14925 var unselectData = { 14926 data: data 14927 }; 14928 this.trigger('clear', unselectData); 14929 if (unselectData.prevented) { 14930 this.$element.val(previousVal); 14931 return; 14932 } 14933 14934 for (var d = 0; d < data.length; d++) { 14935 unselectData = { 14936 data: data[d] 14937 }; 14938 14939 // Trigger the `unselect` event, so people can prevent it from being 14940 // cleared. 14941 this.trigger('unselect', unselectData); 14942 14943 // If the event was prevented, don't clear it out. 14944 if (unselectData.prevented) { 14945 this.$element.val(previousVal); 14946 return; 14947 } 14948 } 14949 14950 this.$element.trigger('input').trigger('change'); 14951 14952 this.trigger('toggle', {}); 14953 }; 14954 14955 AllowClear.prototype._handleKeyboardClear = function (_, evt, container) { 14956 if (container.isOpen()) { 14957 return; 14958 } 14959 14960 if (evt.which == KEYS.DELETE || evt.which == KEYS.BACKSPACE) { 14961 this._handleClear(evt); 14962 } 14963 }; 14964 14965 AllowClear.prototype.update = function (decorated, data) { 14966 decorated.call(this, data); 14967 14968 this.$selection.find('.select2-selection__clear').remove(); 14969 this.$selection[0].classList.remove('select2-selection--clearable'); 14970 14971 if (this.$selection.find('.select2-selection__placeholder').length > 0 || 14972 data.length === 0) { 14973 return; 14974 } 14975 14976 var selectionId = this.$selection.find('.select2-selection__rendered') 14977 .attr('id'); 14978 14979 var removeAll = this.options.get('translations').get('removeAllItems'); 14980 14981 var $remove = $( 14982 '<button type="button" class="select2-selection__clear" tabindex="-1">' + 14983 '<span aria-hidden="true">×</span>' + 14984 '</button>' 14985 ); 14986 $remove.attr('title', removeAll()); 14987 $remove.attr('aria-label', removeAll()); 14988 $remove.attr('aria-describedby', selectionId); 14989 Utils.StoreData($remove[0], 'data', data); 14990 14991 this.$selection.prepend($remove); 14992 this.$selection[0].classList.add('select2-selection--clearable'); 14993 }; 14994 14995 return AllowClear; 14996}); 14997 14998S2.define('select2/selection/search',[ 14999 'jquery', 15000 '../utils', 15001 '../keys' 15002], function ($, Utils, KEYS) { 15003 function Search (decorated, $element, options) { 15004 decorated.call(this, $element, options); 15005 } 15006 15007 Search.prototype.render = function (decorated) { 15008 var searchLabel = this.options.get('translations').get('search'); 15009 var $search = $( 15010 '<span class="select2-search select2-search--inline">' + 15011 '<textarea class="select2-search__field"'+ 15012 ' type="search" tabindex="-1"' + 15013 ' autocorrect="off" autocapitalize="none"' + 15014 ' spellcheck="false" role="searchbox" aria-autocomplete="list" >' + 15015 '</textarea>' + 15016 '</span>' 15017 ); 15018 15019 this.$searchContainer = $search; 15020 this.$search = $search.find('textarea'); 15021 15022 this.$search.prop('autocomplete', this.options.get('autocomplete')); 15023 this.$search.attr('aria-label', searchLabel()); 15024 15025 var $rendered = decorated.call(this); 15026 15027 this._transferTabIndex(); 15028 $rendered.append(this.$searchContainer); 15029 15030 return $rendered; 15031 }; 15032 15033 Search.prototype.bind = function (decorated, container, $container) { 15034 var self = this; 15035 15036 var resultsId = container.id + '-results'; 15037 var selectionId = container.id + '-container'; 15038 15039 decorated.call(this, container, $container); 15040 15041 self.$search.attr('aria-describedby', selectionId); 15042 15043 container.on('open', function () { 15044 self.$search.attr('aria-controls', resultsId); 15045 self.$search.trigger('focus'); 15046 }); 15047 15048 container.on('close', function () { 15049 self.$search.val(''); 15050 self.resizeSearch(); 15051 self.$search.removeAttr('aria-controls'); 15052 self.$search.removeAttr('aria-activedescendant'); 15053 self.$search.trigger('focus'); 15054 }); 15055 15056 container.on('enable', function () { 15057 self.$search.prop('disabled', false); 15058 15059 self._transferTabIndex(); 15060 }); 15061 15062 container.on('disable', function () { 15063 self.$search.prop('disabled', true); 15064 }); 15065 15066 container.on('focus', function (evt) { 15067 self.$search.trigger('focus'); 15068 }); 15069 15070 container.on('results:focus', function (params) { 15071 if (params.data._resultId) { 15072 self.$search.attr('aria-activedescendant', params.data._resultId); 15073 } else { 15074 self.$search.removeAttr('aria-activedescendant'); 15075 } 15076 }); 15077 15078 this.$selection.on('focusin', '.select2-search--inline', function (evt) { 15079 self.trigger('focus', evt); 15080 }); 15081 15082 this.$selection.on('focusout', '.select2-search--inline', function (evt) { 15083 self._handleBlur(evt); 15084 }); 15085 15086 this.$selection.on('keydown', '.select2-search--inline', function (evt) { 15087 evt.stopPropagation(); 15088 15089 self.trigger('keypress', evt); 15090 15091 self._keyUpPrevented = evt.isDefaultPrevented(); 15092 15093 var key = evt.which; 15094 15095 if (key === KEYS.BACKSPACE && self.$search.val() === '') { 15096 var $previousChoice = self.$selection 15097 .find('.select2-selection__choice').last(); 15098 15099 if ($previousChoice.length > 0) { 15100 var item = Utils.GetData($previousChoice[0], 'data'); 15101 15102 self.searchRemoveChoice(item); 15103 15104 evt.preventDefault(); 15105 } 15106 } 15107 }); 15108 15109 this.$selection.on('click', '.select2-search--inline', function (evt) { 15110 if (self.$search.val()) { 15111 evt.stopPropagation(); 15112 } 15113 }); 15114 15115 // Try to detect the IE version should the `documentMode` property that 15116 // is stored on the document. This is only implemented in IE and is 15117 // slightly cleaner than doing a user agent check. 15118 // This property is not available in Edge, but Edge also doesn't have 15119 // this bug. 15120 var msie = document.documentMode; 15121 var disableInputEvents = msie && msie <= 11; 15122 15123 // Workaround for browsers which do not support the `input` event 15124 // This will prevent double-triggering of events for browsers which support 15125 // both the `keyup` and `input` events. 15126 this.$selection.on( 15127 'input.searchcheck', 15128 '.select2-search--inline', 15129 function (evt) { 15130 // IE will trigger the `input` event when a placeholder is used on a 15131 // search box. To get around this issue, we are forced to ignore all 15132 // `input` events in IE and keep using `keyup`. 15133 if (disableInputEvents) { 15134 self.$selection.off('input.search input.searchcheck'); 15135 return; 15136 } 15137 15138 // Unbind the duplicated `keyup` event 15139 self.$selection.off('keyup.search'); 15140 } 15141 ); 15142 15143 this.$selection.on( 15144 'keyup.search input.search', 15145 '.select2-search--inline', 15146 function (evt) { 15147 // IE will trigger the `input` event when a placeholder is used on a 15148 // search box. To get around this issue, we are forced to ignore all 15149 // `input` events in IE and keep using `keyup`. 15150 if (disableInputEvents && evt.type === 'input') { 15151 self.$selection.off('input.search input.searchcheck'); 15152 return; 15153 } 15154 15155 var key = evt.which; 15156 15157 // We can freely ignore events from modifier keys 15158 if (key == KEYS.SHIFT || key == KEYS.CTRL || key == KEYS.ALT) { 15159 return; 15160 } 15161 15162 // Tabbing will be handled during the `keydown` phase 15163 if (key == KEYS.TAB) { 15164 return; 15165 } 15166 15167 self.handleSearch(evt); 15168 } 15169 ); 15170 }; 15171 15172 /** 15173 * This method will transfer the tabindex attribute from the rendered 15174 * selection to the search box. This allows for the search box to be used as 15175 * the primary focus instead of the selection container. 15176 * 15177 * @private 15178 */ 15179 Search.prototype._transferTabIndex = function (decorated) { 15180 this.$search.attr('tabindex', this.$selection.attr('tabindex')); 15181 this.$selection.attr('tabindex', '-1'); 15182 }; 15183 15184 Search.prototype.createPlaceholder = function (decorated, placeholder) { 15185 this.$search.attr('placeholder', placeholder.text); 15186 }; 15187 15188 Search.prototype.update = function (decorated, data) { 15189 var searchHadFocus = this.$search[0] == document.activeElement; 15190 15191 this.$search.attr('placeholder', ''); 15192 15193 decorated.call(this, data); 15194 15195 this.resizeSearch(); 15196 if (searchHadFocus) { 15197 this.$search.trigger('focus'); 15198 } 15199 }; 15200 15201 Search.prototype.handleSearch = function () { 15202 this.resizeSearch(); 15203 15204 if (!this._keyUpPrevented) { 15205 var input = this.$search.val(); 15206 15207 this.trigger('query', { 15208 term: input 15209 }); 15210 } 15211 15212 this._keyUpPrevented = false; 15213 }; 15214 15215 Search.prototype.searchRemoveChoice = function (decorated, item) { 15216 this.trigger('unselect', { 15217 data: item 15218 }); 15219 15220 this.$search.val(item.text); 15221 this.handleSearch(); 15222 }; 15223 15224 Search.prototype.resizeSearch = function () { 15225 this.$search.css('width', '25px'); 15226 15227 var width = '100%'; 15228 15229 if (this.$search.attr('placeholder') === '') { 15230 var minimumWidth = this.$search.val().length + 1; 15231 15232 width = (minimumWidth * 0.75) + 'em'; 15233 } 15234 15235 this.$search.css('width', width); 15236 }; 15237 15238 return Search; 15239}); 15240 15241S2.define('select2/selection/selectionCss',[ 15242 '../utils' 15243], function (Utils) { 15244 function SelectionCSS () { } 15245 15246 SelectionCSS.prototype.render = function (decorated) { 15247 var $selection = decorated.call(this); 15248 15249 var selectionCssClass = this.options.get('selectionCssClass') || ''; 15250 15251 if (selectionCssClass.indexOf(':all:') !== -1) { 15252 selectionCssClass = selectionCssClass.replace(':all:', ''); 15253 15254 Utils.copyNonInternalCssClasses($selection[0], this.$element[0]); 15255 } 15256 15257 $selection.addClass(selectionCssClass); 15258 15259 return $selection; 15260 }; 15261 15262 return SelectionCSS; 15263}); 15264 15265S2.define('select2/selection/eventRelay',[ 15266 'jquery' 15267], function ($) { 15268 function EventRelay () { } 15269 15270 EventRelay.prototype.bind = function (decorated, container, $container) { 15271 var self = this; 15272 var relayEvents = [ 15273 'open', 'opening', 15274 'close', 'closing', 15275 'select', 'selecting', 15276 'unselect', 'unselecting', 15277 'clear', 'clearing' 15278 ]; 15279 15280 var preventableEvents = [ 15281 'opening', 'closing', 'selecting', 'unselecting', 'clearing' 15282 ]; 15283 15284 decorated.call(this, container, $container); 15285 15286 container.on('*', function (name, params) { 15287 // Ignore events that should not be relayed 15288 if (relayEvents.indexOf(name) === -1) { 15289 return; 15290 } 15291 15292 // The parameters should always be an object 15293 params = params || {}; 15294 15295 // Generate the jQuery event for the Select2 event 15296 var evt = $.Event('select2:' + name, { 15297 params: params 15298 }); 15299 15300 self.$element.trigger(evt); 15301 15302 // Only handle preventable events if it was one 15303 if (preventableEvents.indexOf(name) === -1) { 15304 return; 15305 } 15306 15307 params.prevented = evt.isDefaultPrevented(); 15308 }); 15309 }; 15310 15311 return EventRelay; 15312}); 15313 15314S2.define('select2/translation',[ 15315 'jquery', 15316 'require' 15317], function ($, require) { 15318 function Translation (dict) { 15319 this.dict = dict || {}; 15320 } 15321 15322 Translation.prototype.all = function () { 15323 return this.dict; 15324 }; 15325 15326 Translation.prototype.get = function (key) { 15327 return this.dict[key]; 15328 }; 15329 15330 Translation.prototype.extend = function (translation) { 15331 this.dict = $.extend({}, translation.all(), this.dict); 15332 }; 15333 15334 // Static functions 15335 15336 Translation._cache = {}; 15337 15338 Translation.loadPath = function (path) { 15339 if (!(path in Translation._cache)) { 15340 var translations = require(path); 15341 15342 Translation._cache[path] = translations; 15343 } 15344 15345 return new Translation(Translation._cache[path]); 15346 }; 15347 15348 return Translation; 15349}); 15350 15351S2.define('select2/diacritics',[ 15352 15353], function () { 15354 var diacritics = { 15355 '\u24B6': 'A', 15356 '\uFF21': 'A', 15357 '\u00C0': 'A', 15358 '\u00C1': 'A', 15359 '\u00C2': 'A', 15360 '\u1EA6': 'A', 15361 '\u1EA4': 'A', 15362 '\u1EAA': 'A', 15363 '\u1EA8': 'A', 15364 '\u00C3': 'A', 15365 '\u0100': 'A', 15366 '\u0102': 'A', 15367 '\u1EB0': 'A', 15368 '\u1EAE': 'A', 15369 '\u1EB4': 'A', 15370 '\u1EB2': 'A', 15371 '\u0226': 'A', 15372 '\u01E0': 'A', 15373 '\u00C4': 'A', 15374 '\u01DE': 'A', 15375 '\u1EA2': 'A', 15376 '\u00C5': 'A', 15377 '\u01FA': 'A', 15378 '\u01CD': 'A', 15379 '\u0200': 'A', 15380 '\u0202': 'A', 15381 '\u1EA0': 'A', 15382 '\u1EAC': 'A', 15383 '\u1EB6': 'A', 15384 '\u1E00': 'A', 15385 '\u0104': 'A', 15386 '\u023A': 'A', 15387 '\u2C6F': 'A', 15388 '\uA732': 'AA', 15389 '\u00C6': 'AE', 15390 '\u01FC': 'AE', 15391 '\u01E2': 'AE', 15392 '\uA734': 'AO', 15393 '\uA736': 'AU', 15394 '\uA738': 'AV', 15395 '\uA73A': 'AV', 15396 '\uA73C': 'AY', 15397 '\u24B7': 'B', 15398 '\uFF22': 'B', 15399 '\u1E02': 'B', 15400 '\u1E04': 'B', 15401 '\u1E06': 'B', 15402 '\u0243': 'B', 15403 '\u0182': 'B', 15404 '\u0181': 'B', 15405 '\u24B8': 'C', 15406 '\uFF23': 'C', 15407 '\u0106': 'C', 15408 '\u0108': 'C', 15409 '\u010A': 'C', 15410 '\u010C': 'C', 15411 '\u00C7': 'C', 15412 '\u1E08': 'C', 15413 '\u0187': 'C', 15414 '\u023B': 'C', 15415 '\uA73E': 'C', 15416 '\u24B9': 'D', 15417 '\uFF24': 'D', 15418 '\u1E0A': 'D', 15419 '\u010E': 'D', 15420 '\u1E0C': 'D', 15421 '\u1E10': 'D', 15422 '\u1E12': 'D', 15423 '\u1E0E': 'D', 15424 '\u0110': 'D', 15425 '\u018B': 'D', 15426 '\u018A': 'D', 15427 '\u0189': 'D', 15428 '\uA779': 'D', 15429 '\u01F1': 'DZ', 15430 '\u01C4': 'DZ', 15431 '\u01F2': 'Dz', 15432 '\u01C5': 'Dz', 15433 '\u24BA': 'E', 15434 '\uFF25': 'E', 15435 '\u00C8': 'E', 15436 '\u00C9': 'E', 15437 '\u00CA': 'E', 15438 '\u1EC0': 'E', 15439 '\u1EBE': 'E', 15440 '\u1EC4': 'E', 15441 '\u1EC2': 'E', 15442 '\u1EBC': 'E', 15443 '\u0112': 'E', 15444 '\u1E14': 'E', 15445 '\u1E16': 'E', 15446 '\u0114': 'E', 15447 '\u0116': 'E', 15448 '\u00CB': 'E', 15449 '\u1EBA': 'E', 15450 '\u011A': 'E', 15451 '\u0204': 'E', 15452 '\u0206': 'E', 15453 '\u1EB8': 'E', 15454 '\u1EC6': 'E', 15455 '\u0228': 'E', 15456 '\u1E1C': 'E', 15457 '\u0118': 'E', 15458 '\u1E18': 'E', 15459 '\u1E1A': 'E', 15460 '\u0190': 'E', 15461 '\u018E': 'E', 15462 '\u24BB': 'F', 15463 '\uFF26': 'F', 15464 '\u1E1E': 'F', 15465 '\u0191': 'F', 15466 '\uA77B': 'F', 15467 '\u24BC': 'G', 15468 '\uFF27': 'G', 15469 '\u01F4': 'G', 15470 '\u011C': 'G', 15471 '\u1E20': 'G', 15472 '\u011E': 'G', 15473 '\u0120': 'G', 15474 '\u01E6': 'G', 15475 '\u0122': 'G', 15476 '\u01E4': 'G', 15477 '\u0193': 'G', 15478 '\uA7A0': 'G', 15479 '\uA77D': 'G', 15480 '\uA77E': 'G', 15481 '\u24BD': 'H', 15482 '\uFF28': 'H', 15483 '\u0124': 'H', 15484 '\u1E22': 'H', 15485 '\u1E26': 'H', 15486 '\u021E': 'H', 15487 '\u1E24': 'H', 15488 '\u1E28': 'H', 15489 '\u1E2A': 'H', 15490 '\u0126': 'H', 15491 '\u2C67': 'H', 15492 '\u2C75': 'H', 15493 '\uA78D': 'H', 15494 '\u24BE': 'I', 15495 '\uFF29': 'I', 15496 '\u00CC': 'I', 15497 '\u00CD': 'I', 15498 '\u00CE': 'I', 15499 '\u0128': 'I', 15500 '\u012A': 'I', 15501 '\u012C': 'I', 15502 '\u0130': 'I', 15503 '\u00CF': 'I', 15504 '\u1E2E': 'I', 15505 '\u1EC8': 'I', 15506 '\u01CF': 'I', 15507 '\u0208': 'I', 15508 '\u020A': 'I', 15509 '\u1ECA': 'I', 15510 '\u012E': 'I', 15511 '\u1E2C': 'I', 15512 '\u0197': 'I', 15513 '\u24BF': 'J', 15514 '\uFF2A': 'J', 15515 '\u0134': 'J', 15516 '\u0248': 'J', 15517 '\u24C0': 'K', 15518 '\uFF2B': 'K', 15519 '\u1E30': 'K', 15520 '\u01E8': 'K', 15521 '\u1E32': 'K', 15522 '\u0136': 'K', 15523 '\u1E34': 'K', 15524 '\u0198': 'K', 15525 '\u2C69': 'K', 15526 '\uA740': 'K', 15527 '\uA742': 'K', 15528 '\uA744': 'K', 15529 '\uA7A2': 'K', 15530 '\u24C1': 'L', 15531 '\uFF2C': 'L', 15532 '\u013F': 'L', 15533 '\u0139': 'L', 15534 '\u013D': 'L', 15535 '\u1E36': 'L', 15536 '\u1E38': 'L', 15537 '\u013B': 'L', 15538 '\u1E3C': 'L', 15539 '\u1E3A': 'L', 15540 '\u0141': 'L', 15541 '\u023D': 'L', 15542 '\u2C62': 'L', 15543 '\u2C60': 'L', 15544 '\uA748': 'L', 15545 '\uA746': 'L', 15546 '\uA780': 'L', 15547 '\u01C7': 'LJ', 15548 '\u01C8': 'Lj', 15549 '\u24C2': 'M', 15550 '\uFF2D': 'M', 15551 '\u1E3E': 'M', 15552 '\u1E40': 'M', 15553 '\u1E42': 'M', 15554 '\u2C6E': 'M', 15555 '\u019C': 'M', 15556 '\u24C3': 'N', 15557 '\uFF2E': 'N', 15558 '\u01F8': 'N', 15559 '\u0143': 'N', 15560 '\u00D1': 'N', 15561 '\u1E44': 'N', 15562 '\u0147': 'N', 15563 '\u1E46': 'N', 15564 '\u0145': 'N', 15565 '\u1E4A': 'N', 15566 '\u1E48': 'N', 15567 '\u0220': 'N', 15568 '\u019D': 'N', 15569 '\uA790': 'N', 15570 '\uA7A4': 'N', 15571 '\u01CA': 'NJ', 15572 '\u01CB': 'Nj', 15573 '\u24C4': 'O', 15574 '\uFF2F': 'O', 15575 '\u00D2': 'O', 15576 '\u00D3': 'O', 15577 '\u00D4': 'O', 15578 '\u1ED2': 'O', 15579 '\u1ED0': 'O', 15580 '\u1ED6': 'O', 15581 '\u1ED4': 'O', 15582 '\u00D5': 'O', 15583 '\u1E4C': 'O', 15584 '\u022C': 'O', 15585 '\u1E4E': 'O', 15586 '\u014C': 'O', 15587 '\u1E50': 'O', 15588 '\u1E52': 'O', 15589 '\u014E': 'O', 15590 '\u022E': 'O', 15591 '\u0230': 'O', 15592 '\u00D6': 'O', 15593 '\u022A': 'O', 15594 '\u1ECE': 'O', 15595 '\u0150': 'O', 15596 '\u01D1': 'O', 15597 '\u020C': 'O', 15598 '\u020E': 'O', 15599 '\u01A0': 'O', 15600 '\u1EDC': 'O', 15601 '\u1EDA': 'O', 15602 '\u1EE0': 'O', 15603 '\u1EDE': 'O', 15604 '\u1EE2': 'O', 15605 '\u1ECC': 'O', 15606 '\u1ED8': 'O', 15607 '\u01EA': 'O', 15608 '\u01EC': 'O', 15609 '\u00D8': 'O', 15610 '\u01FE': 'O', 15611 '\u0186': 'O', 15612 '\u019F': 'O', 15613 '\uA74A': 'O', 15614 '\uA74C': 'O', 15615 '\u0152': 'OE', 15616 '\u01A2': 'OI', 15617 '\uA74E': 'OO', 15618 '\u0222': 'OU', 15619 '\u24C5': 'P', 15620 '\uFF30': 'P', 15621 '\u1E54': 'P', 15622 '\u1E56': 'P', 15623 '\u01A4': 'P', 15624 '\u2C63': 'P', 15625 '\uA750': 'P', 15626 '\uA752': 'P', 15627 '\uA754': 'P', 15628 '\u24C6': 'Q', 15629 '\uFF31': 'Q', 15630 '\uA756': 'Q', 15631 '\uA758': 'Q', 15632 '\u024A': 'Q', 15633 '\u24C7': 'R', 15634 '\uFF32': 'R', 15635 '\u0154': 'R', 15636 '\u1E58': 'R', 15637 '\u0158': 'R', 15638 '\u0210': 'R', 15639 '\u0212': 'R', 15640 '\u1E5A': 'R', 15641 '\u1E5C': 'R', 15642 '\u0156': 'R', 15643 '\u1E5E': 'R', 15644 '\u024C': 'R', 15645 '\u2C64': 'R', 15646 '\uA75A': 'R', 15647 '\uA7A6': 'R', 15648 '\uA782': 'R', 15649 '\u24C8': 'S', 15650 '\uFF33': 'S', 15651 '\u1E9E': 'S', 15652 '\u015A': 'S', 15653 '\u1E64': 'S', 15654 '\u015C': 'S', 15655 '\u1E60': 'S', 15656 '\u0160': 'S', 15657 '\u1E66': 'S', 15658 '\u1E62': 'S', 15659 '\u1E68': 'S', 15660 '\u0218': 'S', 15661 '\u015E': 'S', 15662 '\u2C7E': 'S', 15663 '\uA7A8': 'S', 15664 '\uA784': 'S', 15665 '\u24C9': 'T', 15666 '\uFF34': 'T', 15667 '\u1E6A': 'T', 15668 '\u0164': 'T', 15669 '\u1E6C': 'T', 15670 '\u021A': 'T', 15671 '\u0162': 'T', 15672 '\u1E70': 'T', 15673 '\u1E6E': 'T', 15674 '\u0166': 'T', 15675 '\u01AC': 'T', 15676 '\u01AE': 'T', 15677 '\u023E': 'T', 15678 '\uA786': 'T', 15679 '\uA728': 'TZ', 15680 '\u24CA': 'U', 15681 '\uFF35': 'U', 15682 '\u00D9': 'U', 15683 '\u00DA': 'U', 15684 '\u00DB': 'U', 15685 '\u0168': 'U', 15686 '\u1E78': 'U', 15687 '\u016A': 'U', 15688 '\u1E7A': 'U', 15689 '\u016C': 'U', 15690 '\u00DC': 'U', 15691 '\u01DB': 'U', 15692 '\u01D7': 'U', 15693 '\u01D5': 'U', 15694 '\u01D9': 'U', 15695 '\u1EE6': 'U', 15696 '\u016E': 'U', 15697 '\u0170': 'U', 15698 '\u01D3': 'U', 15699 '\u0214': 'U', 15700 '\u0216': 'U', 15701 '\u01AF': 'U', 15702 '\u1EEA': 'U', 15703 '\u1EE8': 'U', 15704 '\u1EEE': 'U', 15705 '\u1EEC': 'U', 15706 '\u1EF0': 'U', 15707 '\u1EE4': 'U', 15708 '\u1E72': 'U', 15709 '\u0172': 'U', 15710 '\u1E76': 'U', 15711 '\u1E74': 'U', 15712 '\u0244': 'U', 15713 '\u24CB': 'V', 15714 '\uFF36': 'V', 15715 '\u1E7C': 'V', 15716 '\u1E7E': 'V', 15717 '\u01B2': 'V', 15718 '\uA75E': 'V', 15719 '\u0245': 'V', 15720 '\uA760': 'VY', 15721 '\u24CC': 'W', 15722 '\uFF37': 'W', 15723 '\u1E80': 'W', 15724 '\u1E82': 'W', 15725 '\u0174': 'W', 15726 '\u1E86': 'W', 15727 '\u1E84': 'W', 15728 '\u1E88': 'W', 15729 '\u2C72': 'W', 15730 '\u24CD': 'X', 15731 '\uFF38': 'X', 15732 '\u1E8A': 'X', 15733 '\u1E8C': 'X', 15734 '\u24CE': 'Y', 15735 '\uFF39': 'Y', 15736 '\u1EF2': 'Y', 15737 '\u00DD': 'Y', 15738 '\u0176': 'Y', 15739 '\u1EF8': 'Y', 15740 '\u0232': 'Y', 15741 '\u1E8E': 'Y', 15742 '\u0178': 'Y', 15743 '\u1EF6': 'Y', 15744 '\u1EF4': 'Y', 15745 '\u01B3': 'Y', 15746 '\u024E': 'Y', 15747 '\u1EFE': 'Y', 15748 '\u24CF': 'Z', 15749 '\uFF3A': 'Z', 15750 '\u0179': 'Z', 15751 '\u1E90': 'Z', 15752 '\u017B': 'Z', 15753 '\u017D': 'Z', 15754 '\u1E92': 'Z', 15755 '\u1E94': 'Z', 15756 '\u01B5': 'Z', 15757 '\u0224': 'Z', 15758 '\u2C7F': 'Z', 15759 '\u2C6B': 'Z', 15760 '\uA762': 'Z', 15761 '\u24D0': 'a', 15762 '\uFF41': 'a', 15763 '\u1E9A': 'a', 15764 '\u00E0': 'a', 15765 '\u00E1': 'a', 15766 '\u00E2': 'a', 15767 '\u1EA7': 'a', 15768 '\u1EA5': 'a', 15769 '\u1EAB': 'a', 15770 '\u1EA9': 'a', 15771 '\u00E3': 'a', 15772 '\u0101': 'a', 15773 '\u0103': 'a', 15774 '\u1EB1': 'a', 15775 '\u1EAF': 'a', 15776 '\u1EB5': 'a', 15777 '\u1EB3': 'a', 15778 '\u0227': 'a', 15779 '\u01E1': 'a', 15780 '\u00E4': 'a', 15781 '\u01DF': 'a', 15782 '\u1EA3': 'a', 15783 '\u00E5': 'a', 15784 '\u01FB': 'a', 15785 '\u01CE': 'a', 15786 '\u0201': 'a', 15787 '\u0203': 'a', 15788 '\u1EA1': 'a', 15789 '\u1EAD': 'a', 15790 '\u1EB7': 'a', 15791 '\u1E01': 'a', 15792 '\u0105': 'a', 15793 '\u2C65': 'a', 15794 '\u0250': 'a', 15795 '\uA733': 'aa', 15796 '\u00E6': 'ae', 15797 '\u01FD': 'ae', 15798 '\u01E3': 'ae', 15799 '\uA735': 'ao', 15800 '\uA737': 'au', 15801 '\uA739': 'av', 15802 '\uA73B': 'av', 15803 '\uA73D': 'ay', 15804 '\u24D1': 'b', 15805 '\uFF42': 'b', 15806 '\u1E03': 'b', 15807 '\u1E05': 'b', 15808 '\u1E07': 'b', 15809 '\u0180': 'b', 15810 '\u0183': 'b', 15811 '\u0253': 'b', 15812 '\u24D2': 'c', 15813 '\uFF43': 'c', 15814 '\u0107': 'c', 15815 '\u0109': 'c', 15816 '\u010B': 'c', 15817 '\u010D': 'c', 15818 '\u00E7': 'c', 15819 '\u1E09': 'c', 15820 '\u0188': 'c', 15821 '\u023C': 'c', 15822 '\uA73F': 'c', 15823 '\u2184': 'c', 15824 '\u24D3': 'd', 15825 '\uFF44': 'd', 15826 '\u1E0B': 'd', 15827 '\u010F': 'd', 15828 '\u1E0D': 'd', 15829 '\u1E11': 'd', 15830 '\u1E13': 'd', 15831 '\u1E0F': 'd', 15832 '\u0111': 'd', 15833 '\u018C': 'd', 15834 '\u0256': 'd', 15835 '\u0257': 'd', 15836 '\uA77A': 'd', 15837 '\u01F3': 'dz', 15838 '\u01C6': 'dz', 15839 '\u24D4': 'e', 15840 '\uFF45': 'e', 15841 '\u00E8': 'e', 15842 '\u00E9': 'e', 15843 '\u00EA': 'e', 15844 '\u1EC1': 'e', 15845 '\u1EBF': 'e', 15846 '\u1EC5': 'e', 15847 '\u1EC3': 'e', 15848 '\u1EBD': 'e', 15849 '\u0113': 'e', 15850 '\u1E15': 'e', 15851 '\u1E17': 'e', 15852 '\u0115': 'e', 15853 '\u0117': 'e', 15854 '\u00EB': 'e', 15855 '\u1EBB': 'e', 15856 '\u011B': 'e', 15857 '\u0205': 'e', 15858 '\u0207': 'e', 15859 '\u1EB9': 'e', 15860 '\u1EC7': 'e', 15861 '\u0229': 'e', 15862 '\u1E1D': 'e', 15863 '\u0119': 'e', 15864 '\u1E19': 'e', 15865 '\u1E1B': 'e', 15866 '\u0247': 'e', 15867 '\u025B': 'e', 15868 '\u01DD': 'e', 15869 '\u24D5': 'f', 15870 '\uFF46': 'f', 15871 '\u1E1F': 'f', 15872 '\u0192': 'f', 15873 '\uA77C': 'f', 15874 '\u24D6': 'g', 15875 '\uFF47': 'g', 15876 '\u01F5': 'g', 15877 '\u011D': 'g', 15878 '\u1E21': 'g', 15879 '\u011F': 'g', 15880 '\u0121': 'g', 15881 '\u01E7': 'g', 15882 '\u0123': 'g', 15883 '\u01E5': 'g', 15884 '\u0260': 'g', 15885 '\uA7A1': 'g', 15886 '\u1D79': 'g', 15887 '\uA77F': 'g', 15888 '\u24D7': 'h', 15889 '\uFF48': 'h', 15890 '\u0125': 'h', 15891 '\u1E23': 'h', 15892 '\u1E27': 'h', 15893 '\u021F': 'h', 15894 '\u1E25': 'h', 15895 '\u1E29': 'h', 15896 '\u1E2B': 'h', 15897 '\u1E96': 'h', 15898 '\u0127': 'h', 15899 '\u2C68': 'h', 15900 '\u2C76': 'h', 15901 '\u0265': 'h', 15902 '\u0195': 'hv', 15903 '\u24D8': 'i', 15904 '\uFF49': 'i', 15905 '\u00EC': 'i', 15906 '\u00ED': 'i', 15907 '\u00EE': 'i', 15908 '\u0129': 'i', 15909 '\u012B': 'i', 15910 '\u012D': 'i', 15911 '\u00EF': 'i', 15912 '\u1E2F': 'i', 15913 '\u1EC9': 'i', 15914 '\u01D0': 'i', 15915 '\u0209': 'i', 15916 '\u020B': 'i', 15917 '\u1ECB': 'i', 15918 '\u012F': 'i', 15919 '\u1E2D': 'i', 15920 '\u0268': 'i', 15921 '\u0131': 'i', 15922 '\u24D9': 'j', 15923 '\uFF4A': 'j', 15924 '\u0135': 'j', 15925 '\u01F0': 'j', 15926 '\u0249': 'j', 15927 '\u24DA': 'k', 15928 '\uFF4B': 'k', 15929 '\u1E31': 'k', 15930 '\u01E9': 'k', 15931 '\u1E33': 'k', 15932 '\u0137': 'k', 15933 '\u1E35': 'k', 15934 '\u0199': 'k', 15935 '\u2C6A': 'k', 15936 '\uA741': 'k', 15937 '\uA743': 'k', 15938 '\uA745': 'k', 15939 '\uA7A3': 'k', 15940 '\u24DB': 'l', 15941 '\uFF4C': 'l', 15942 '\u0140': 'l', 15943 '\u013A': 'l', 15944 '\u013E': 'l', 15945 '\u1E37': 'l', 15946 '\u1E39': 'l', 15947 '\u013C': 'l', 15948 '\u1E3D': 'l', 15949 '\u1E3B': 'l', 15950 '\u017F': 'l', 15951 '\u0142': 'l', 15952 '\u019A': 'l', 15953 '\u026B': 'l', 15954 '\u2C61': 'l', 15955 '\uA749': 'l', 15956 '\uA781': 'l', 15957 '\uA747': 'l', 15958 '\u01C9': 'lj', 15959 '\u24DC': 'm', 15960 '\uFF4D': 'm', 15961 '\u1E3F': 'm', 15962 '\u1E41': 'm', 15963 '\u1E43': 'm', 15964 '\u0271': 'm', 15965 '\u026F': 'm', 15966 '\u24DD': 'n', 15967 '\uFF4E': 'n', 15968 '\u01F9': 'n', 15969 '\u0144': 'n', 15970 '\u00F1': 'n', 15971 '\u1E45': 'n', 15972 '\u0148': 'n', 15973 '\u1E47': 'n', 15974 '\u0146': 'n', 15975 '\u1E4B': 'n', 15976 '\u1E49': 'n', 15977 '\u019E': 'n', 15978 '\u0272': 'n', 15979 '\u0149': 'n', 15980 '\uA791': 'n', 15981 '\uA7A5': 'n', 15982 '\u01CC': 'nj', 15983 '\u24DE': 'o', 15984 '\uFF4F': 'o', 15985 '\u00F2': 'o', 15986 '\u00F3': 'o', 15987 '\u00F4': 'o', 15988 '\u1ED3': 'o', 15989 '\u1ED1': 'o', 15990 '\u1ED7': 'o', 15991 '\u1ED5': 'o', 15992 '\u00F5': 'o', 15993 '\u1E4D': 'o', 15994 '\u022D': 'o', 15995 '\u1E4F': 'o', 15996 '\u014D': 'o', 15997 '\u1E51': 'o', 15998 '\u1E53': 'o', 15999 '\u014F': 'o', 16000 '\u022F': 'o', 16001 '\u0231': 'o', 16002 '\u00F6': 'o', 16003 '\u022B': 'o', 16004 '\u1ECF': 'o', 16005 '\u0151': 'o', 16006 '\u01D2': 'o', 16007 '\u020D': 'o', 16008 '\u020F': 'o', 16009 '\u01A1': 'o', 16010 '\u1EDD': 'o', 16011 '\u1EDB': 'o', 16012 '\u1EE1': 'o', 16013 '\u1EDF': 'o', 16014 '\u1EE3': 'o', 16015 '\u1ECD': 'o', 16016 '\u1ED9': 'o', 16017 '\u01EB': 'o', 16018 '\u01ED': 'o', 16019 '\u00F8': 'o', 16020 '\u01FF': 'o', 16021 '\u0254': 'o', 16022 '\uA74B': 'o', 16023 '\uA74D': 'o', 16024 '\u0275': 'o', 16025 '\u0153': 'oe', 16026 '\u01A3': 'oi', 16027 '\u0223': 'ou', 16028 '\uA74F': 'oo', 16029 '\u24DF': 'p', 16030 '\uFF50': 'p', 16031 '\u1E55': 'p', 16032 '\u1E57': 'p', 16033 '\u01A5': 'p', 16034 '\u1D7D': 'p', 16035 '\uA751': 'p', 16036 '\uA753': 'p', 16037 '\uA755': 'p', 16038 '\u24E0': 'q', 16039 '\uFF51': 'q', 16040 '\u024B': 'q', 16041 '\uA757': 'q', 16042 '\uA759': 'q', 16043 '\u24E1': 'r', 16044 '\uFF52': 'r', 16045 '\u0155': 'r', 16046 '\u1E59': 'r', 16047 '\u0159': 'r', 16048 '\u0211': 'r', 16049 '\u0213': 'r', 16050 '\u1E5B': 'r', 16051 '\u1E5D': 'r', 16052 '\u0157': 'r', 16053 '\u1E5F': 'r', 16054 '\u024D': 'r', 16055 '\u027D': 'r', 16056 '\uA75B': 'r', 16057 '\uA7A7': 'r', 16058 '\uA783': 'r', 16059 '\u24E2': 's', 16060 '\uFF53': 's', 16061 '\u00DF': 's', 16062 '\u015B': 's', 16063 '\u1E65': 's', 16064 '\u015D': 's', 16065 '\u1E61': 's', 16066 '\u0161': 's', 16067 '\u1E67': 's', 16068 '\u1E63': 's', 16069 '\u1E69': 's', 16070 '\u0219': 's', 16071 '\u015F': 's', 16072 '\u023F': 's', 16073 '\uA7A9': 's', 16074 '\uA785': 's', 16075 '\u1E9B': 's', 16076 '\u24E3': 't', 16077 '\uFF54': 't', 16078 '\u1E6B': 't', 16079 '\u1E97': 't', 16080 '\u0165': 't', 16081 '\u1E6D': 't', 16082 '\u021B': 't', 16083 '\u0163': 't', 16084 '\u1E71': 't', 16085 '\u1E6F': 't', 16086 '\u0167': 't', 16087 '\u01AD': 't', 16088 '\u0288': 't', 16089 '\u2C66': 't', 16090 '\uA787': 't', 16091 '\uA729': 'tz', 16092 '\u24E4': 'u', 16093 '\uFF55': 'u', 16094 '\u00F9': 'u', 16095 '\u00FA': 'u', 16096 '\u00FB': 'u', 16097 '\u0169': 'u', 16098 '\u1E79': 'u', 16099 '\u016B': 'u', 16100 '\u1E7B': 'u', 16101 '\u016D': 'u', 16102 '\u00FC': 'u', 16103 '\u01DC': 'u', 16104 '\u01D8': 'u', 16105 '\u01D6': 'u', 16106 '\u01DA': 'u', 16107 '\u1EE7': 'u', 16108 '\u016F': 'u', 16109 '\u0171': 'u', 16110 '\u01D4': 'u', 16111 '\u0215': 'u', 16112 '\u0217': 'u', 16113 '\u01B0': 'u', 16114 '\u1EEB': 'u', 16115 '\u1EE9': 'u', 16116 '\u1EEF': 'u', 16117 '\u1EED': 'u', 16118 '\u1EF1': 'u', 16119 '\u1EE5': 'u', 16120 '\u1E73': 'u', 16121 '\u0173': 'u', 16122 '\u1E77': 'u', 16123 '\u1E75': 'u', 16124 '\u0289': 'u', 16125 '\u24E5': 'v', 16126 '\uFF56': 'v', 16127 '\u1E7D': 'v', 16128 '\u1E7F': 'v', 16129 '\u028B': 'v', 16130 '\uA75F': 'v', 16131 '\u028C': 'v', 16132 '\uA761': 'vy', 16133 '\u24E6': 'w', 16134 '\uFF57': 'w', 16135 '\u1E81': 'w', 16136 '\u1E83': 'w', 16137 '\u0175': 'w', 16138 '\u1E87': 'w', 16139 '\u1E85': 'w', 16140 '\u1E98': 'w', 16141 '\u1E89': 'w', 16142 '\u2C73': 'w', 16143 '\u24E7': 'x', 16144 '\uFF58': 'x', 16145 '\u1E8B': 'x', 16146 '\u1E8D': 'x', 16147 '\u24E8': 'y', 16148 '\uFF59': 'y', 16149 '\u1EF3': 'y', 16150 '\u00FD': 'y', 16151 '\u0177': 'y', 16152 '\u1EF9': 'y', 16153 '\u0233': 'y', 16154 '\u1E8F': 'y', 16155 '\u00FF': 'y', 16156 '\u1EF7': 'y', 16157 '\u1E99': 'y', 16158 '\u1EF5': 'y', 16159 '\u01B4': 'y', 16160 '\u024F': 'y', 16161 '\u1EFF': 'y', 16162 '\u24E9': 'z', 16163 '\uFF5A': 'z', 16164 '\u017A': 'z', 16165 '\u1E91': 'z', 16166 '\u017C': 'z', 16167 '\u017E': 'z', 16168 '\u1E93': 'z', 16169 '\u1E95': 'z', 16170 '\u01B6': 'z', 16171 '\u0225': 'z', 16172 '\u0240': 'z', 16173 '\u2C6C': 'z', 16174 '\uA763': 'z', 16175 '\u0386': '\u0391', 16176 '\u0388': '\u0395', 16177 '\u0389': '\u0397', 16178 '\u038A': '\u0399', 16179 '\u03AA': '\u0399', 16180 '\u038C': '\u039F', 16181 '\u038E': '\u03A5', 16182 '\u03AB': '\u03A5', 16183 '\u038F': '\u03A9', 16184 '\u03AC': '\u03B1', 16185 '\u03AD': '\u03B5', 16186 '\u03AE': '\u03B7', 16187 '\u03AF': '\u03B9', 16188 '\u03CA': '\u03B9', 16189 '\u0390': '\u03B9', 16190 '\u03CC': '\u03BF', 16191 '\u03CD': '\u03C5', 16192 '\u03CB': '\u03C5', 16193 '\u03B0': '\u03C5', 16194 '\u03CE': '\u03C9', 16195 '\u03C2': '\u03C3', 16196 '\u2019': '\'' 16197 }; 16198 16199 return diacritics; 16200}); 16201 16202S2.define('select2/data/base',[ 16203 '../utils' 16204], function (Utils) { 16205 function BaseAdapter ($element, options) { 16206 BaseAdapter.__super__.constructor.call(this); 16207 } 16208 16209 Utils.Extend(BaseAdapter, Utils.Observable); 16210 16211 BaseAdapter.prototype.current = function (callback) { 16212 throw new Error('The `current` method must be defined in child classes.'); 16213 }; 16214 16215 BaseAdapter.prototype.query = function (params, callback) { 16216 throw new Error('The `query` method must be defined in child classes.'); 16217 }; 16218 16219 BaseAdapter.prototype.bind = function (container, $container) { 16220 // Can be implemented in subclasses 16221 }; 16222 16223 BaseAdapter.prototype.destroy = function () { 16224 // Can be implemented in subclasses 16225 }; 16226 16227 BaseAdapter.prototype.generateResultId = function (container, data) { 16228 var id = container.id + '-result-'; 16229 16230 id += Utils.generateChars(4); 16231 16232 if (data.id != null) { 16233 id += '-' + data.id.toString(); 16234 } else { 16235 id += '-' + Utils.generateChars(4); 16236 } 16237 return id; 16238 }; 16239 16240 return BaseAdapter; 16241}); 16242 16243S2.define('select2/data/select',[ 16244 './base', 16245 '../utils', 16246 'jquery' 16247], function (BaseAdapter, Utils, $) { 16248 function SelectAdapter ($element, options) { 16249 this.$element = $element; 16250 this.options = options; 16251 16252 SelectAdapter.__super__.constructor.call(this); 16253 } 16254 16255 Utils.Extend(SelectAdapter, BaseAdapter); 16256 16257 SelectAdapter.prototype.current = function (callback) { 16258 var self = this; 16259 16260 var data = Array.prototype.map.call( 16261 this.$element[0].querySelectorAll(':checked'), 16262 function (selectedElement) { 16263 return self.item($(selectedElement)); 16264 } 16265 ); 16266 16267 callback(data); 16268 }; 16269 16270 SelectAdapter.prototype.select = function (data) { 16271 var self = this; 16272 16273 data.selected = true; 16274 16275 // If data.element is a DOM node, use it instead 16276 if ( 16277 data.element != null && data.element.tagName.toLowerCase() === 'option' 16278 ) { 16279 data.element.selected = true; 16280 16281 this.$element.trigger('input').trigger('change'); 16282 16283 return; 16284 } 16285 16286 if (this.$element.prop('multiple')) { 16287 this.current(function (currentData) { 16288 var val = []; 16289 16290 data = [data]; 16291 data.push.apply(data, currentData); 16292 16293 for (var d = 0; d < data.length; d++) { 16294 var id = data[d].id; 16295 16296 if (val.indexOf(id) === -1) { 16297 val.push(id); 16298 } 16299 } 16300 16301 self.$element.val(val); 16302 self.$element.trigger('input').trigger('change'); 16303 }); 16304 } else { 16305 var val = data.id; 16306 16307 this.$element.val(val); 16308 this.$element.trigger('input').trigger('change'); 16309 } 16310 }; 16311 16312 SelectAdapter.prototype.unselect = function (data) { 16313 var self = this; 16314 16315 if (!this.$element.prop('multiple')) { 16316 return; 16317 } 16318 16319 data.selected = false; 16320 16321 if ( 16322 data.element != null && 16323 data.element.tagName.toLowerCase() === 'option' 16324 ) { 16325 data.element.selected = false; 16326 16327 this.$element.trigger('input').trigger('change'); 16328 16329 return; 16330 } 16331 16332 this.current(function (currentData) { 16333 var val = []; 16334 16335 for (var d = 0; d < currentData.length; d++) { 16336 var id = currentData[d].id; 16337 16338 if (id !== data.id && val.indexOf(id) === -1) { 16339 val.push(id); 16340 } 16341 } 16342 16343 self.$element.val(val); 16344 16345 self.$element.trigger('input').trigger('change'); 16346 }); 16347 }; 16348 16349 SelectAdapter.prototype.bind = function (container, $container) { 16350 var self = this; 16351 16352 this.container = container; 16353 16354 container.on('select', function (params) { 16355 self.select(params.data); 16356 }); 16357 16358 container.on('unselect', function (params) { 16359 self.unselect(params.data); 16360 }); 16361 }; 16362 16363 SelectAdapter.prototype.destroy = function () { 16364 // Remove anything added to child elements 16365 this.$element.find('*').each(function () { 16366 // Remove any custom data set by Select2 16367 Utils.RemoveData(this); 16368 }); 16369 }; 16370 16371 SelectAdapter.prototype.query = function (params, callback) { 16372 var data = []; 16373 var self = this; 16374 16375 var $options = this.$element.children(); 16376 16377 $options.each(function () { 16378 if ( 16379 this.tagName.toLowerCase() !== 'option' && 16380 this.tagName.toLowerCase() !== 'optgroup' 16381 ) { 16382 return; 16383 } 16384 16385 var $option = $(this); 16386 16387 var option = self.item($option); 16388 16389 var matches = self.matches(params, option); 16390 16391 if (matches !== null) { 16392 data.push(matches); 16393 } 16394 }); 16395 16396 callback({ 16397 results: data 16398 }); 16399 }; 16400 16401 SelectAdapter.prototype.addOptions = function ($options) { 16402 this.$element.append($options); 16403 }; 16404 16405 SelectAdapter.prototype.option = function (data) { 16406 var option; 16407 16408 if (data.children) { 16409 option = document.createElement('optgroup'); 16410 option.label = data.text; 16411 } else { 16412 option = document.createElement('option'); 16413 16414 if (option.textContent !== undefined) { 16415 option.textContent = data.text; 16416 } else { 16417 option.innerText = data.text; 16418 } 16419 } 16420 16421 if (data.id !== undefined) { 16422 option.value = data.id; 16423 } 16424 16425 if (data.disabled) { 16426 option.disabled = true; 16427 } 16428 16429 if (data.selected) { 16430 option.selected = true; 16431 } 16432 16433 if (data.title) { 16434 option.title = data.title; 16435 } 16436 16437 var normalizedData = this._normalizeItem(data); 16438 normalizedData.element = option; 16439 16440 // Override the option's data with the combined data 16441 Utils.StoreData(option, 'data', normalizedData); 16442 16443 return $(option); 16444 }; 16445 16446 SelectAdapter.prototype.item = function ($option) { 16447 var data = {}; 16448 16449 data = Utils.GetData($option[0], 'data'); 16450 16451 if (data != null) { 16452 return data; 16453 } 16454 16455 var option = $option[0]; 16456 16457 if (option.tagName.toLowerCase() === 'option') { 16458 data = { 16459 id: $option.val(), 16460 text: $option.text(), 16461 disabled: $option.prop('disabled'), 16462 selected: $option.prop('selected'), 16463 title: $option.prop('title') 16464 }; 16465 } else if (option.tagName.toLowerCase() === 'optgroup') { 16466 data = { 16467 text: $option.prop('label'), 16468 children: [], 16469 title: $option.prop('title') 16470 }; 16471 16472 var $children = $option.children('option'); 16473 var children = []; 16474 16475 for (var c = 0; c < $children.length; c++) { 16476 var $child = $($children[c]); 16477 16478 var child = this.item($child); 16479 16480 children.push(child); 16481 } 16482 16483 data.children = children; 16484 } 16485 16486 data = this._normalizeItem(data); 16487 data.element = $option[0]; 16488 16489 Utils.StoreData($option[0], 'data', data); 16490 16491 return data; 16492 }; 16493 16494 SelectAdapter.prototype._normalizeItem = function (item) { 16495 if (item !== Object(item)) { 16496 item = { 16497 id: item, 16498 text: item 16499 }; 16500 } 16501 16502 item = $.extend({}, { 16503 text: '' 16504 }, item); 16505 16506 var defaults = { 16507 selected: false, 16508 disabled: false 16509 }; 16510 16511 if (item.id != null) { 16512 item.id = item.id.toString(); 16513 } 16514 16515 if (item.text != null) { 16516 item.text = item.text.toString(); 16517 } 16518 16519 if (item._resultId == null && item.id && this.container != null) { 16520 item._resultId = this.generateResultId(this.container, item); 16521 } 16522 16523 return $.extend({}, defaults, item); 16524 }; 16525 16526 SelectAdapter.prototype.matches = function (params, data) { 16527 var matcher = this.options.get('matcher'); 16528 16529 return matcher(params, data); 16530 }; 16531 16532 return SelectAdapter; 16533}); 16534 16535S2.define('select2/data/array',[ 16536 './select', 16537 '../utils', 16538 'jquery' 16539], function (SelectAdapter, Utils, $) { 16540 function ArrayAdapter ($element, options) { 16541 this._dataToConvert = options.get('data') || []; 16542 16543 ArrayAdapter.__super__.constructor.call(this, $element, options); 16544 } 16545 16546 Utils.Extend(ArrayAdapter, SelectAdapter); 16547 16548 ArrayAdapter.prototype.bind = function (container, $container) { 16549 ArrayAdapter.__super__.bind.call(this, container, $container); 16550 16551 this.addOptions(this.convertToOptions(this._dataToConvert)); 16552 }; 16553 16554 ArrayAdapter.prototype.select = function (data) { 16555 var $option = this.$element.find('option').filter(function (i, elm) { 16556 return elm.value == data.id.toString(); 16557 }); 16558 16559 if ($option.length === 0) { 16560 $option = this.option(data); 16561 16562 this.addOptions($option); 16563 } 16564 16565 ArrayAdapter.__super__.select.call(this, data); 16566 }; 16567 16568 ArrayAdapter.prototype.convertToOptions = function (data) { 16569 var self = this; 16570 16571 var $existing = this.$element.find('option'); 16572 var existingIds = $existing.map(function () { 16573 return self.item($(this)).id; 16574 }).get(); 16575 16576 var $options = []; 16577 16578 // Filter out all items except for the one passed in the argument 16579 function onlyItem (item) { 16580 return function () { 16581 return $(this).val() == item.id; 16582 }; 16583 } 16584 16585 for (var d = 0; d < data.length; d++) { 16586 var item = this._normalizeItem(data[d]); 16587 16588 // Skip items which were pre-loaded, only merge the data 16589 if (existingIds.indexOf(item.id) >= 0) { 16590 var $existingOption = $existing.filter(onlyItem(item)); 16591 16592 var existingData = this.item($existingOption); 16593 var newData = $.extend(true, {}, item, existingData); 16594 16595 var $newOption = this.option(newData); 16596 16597 $existingOption.replaceWith($newOption); 16598 16599 continue; 16600 } 16601 16602 var $option = this.option(item); 16603 16604 if (item.children) { 16605 var $children = this.convertToOptions(item.children); 16606 16607 $option.append($children); 16608 } 16609 16610 $options.push($option); 16611 } 16612 16613 return $options; 16614 }; 16615 16616 return ArrayAdapter; 16617}); 16618 16619S2.define('select2/data/ajax',[ 16620 './array', 16621 '../utils', 16622 'jquery' 16623], function (ArrayAdapter, Utils, $) { 16624 function AjaxAdapter ($element, options) { 16625 this.ajaxOptions = this._applyDefaults(options.get('ajax')); 16626 16627 if (this.ajaxOptions.processResults != null) { 16628 this.processResults = this.ajaxOptions.processResults; 16629 } 16630 16631 AjaxAdapter.__super__.constructor.call(this, $element, options); 16632 } 16633 16634 Utils.Extend(AjaxAdapter, ArrayAdapter); 16635 16636 AjaxAdapter.prototype._applyDefaults = function (options) { 16637 var defaults = { 16638 data: function (params) { 16639 return $.extend({}, params, { 16640 q: params.term 16641 }); 16642 }, 16643 transport: function (params, success, failure) { 16644 var $request = $.ajax(params); 16645 16646 $request.then(success); 16647 $request.fail(failure); 16648 16649 return $request; 16650 } 16651 }; 16652 16653 return $.extend({}, defaults, options, true); 16654 }; 16655 16656 AjaxAdapter.prototype.processResults = function (results) { 16657 return results; 16658 }; 16659 16660 AjaxAdapter.prototype.query = function (params, callback) { 16661 var matches = []; 16662 var self = this; 16663 16664 if (this._request != null) { 16665 // JSONP requests cannot always be aborted 16666 if (typeof this._request.abort === 'function') { 16667 this._request.abort(); 16668 } 16669 16670 this._request = null; 16671 } 16672 16673 var options = $.extend({ 16674 type: 'GET' 16675 }, this.ajaxOptions); 16676 16677 if (typeof options.url === 'function') { 16678 options.url = options.url.call(this.$element, params); 16679 } 16680 16681 if (typeof options.data === 'function') { 16682 options.data = options.data.call(this.$element, params); 16683 } 16684 16685 function request () { 16686 var $request = options.transport(options, function (data) { 16687 var results = self.processResults(data, params); 16688 16689 if (self.options.get('debug') && window.console && console.error) { 16690 // Check to make sure that the response included a `results` key. 16691 if (!results || !results.results || !Array.isArray(results.results)) { 16692 console.error( 16693 'Select2: The AJAX results did not return an array in the ' + 16694 '`results` key of the response.' 16695 ); 16696 } 16697 } 16698 16699 callback(results); 16700 }, function () { 16701 // Attempt to detect if a request was aborted 16702 // Only works if the transport exposes a status property 16703 if ('status' in $request && 16704 ($request.status === 0 || $request.status === '0')) { 16705 return; 16706 } 16707 16708 self.trigger('results:message', { 16709 message: 'errorLoading' 16710 }); 16711 }); 16712 16713 self._request = $request; 16714 } 16715 16716 if (this.ajaxOptions.delay && params.term != null) { 16717 if (this._queryTimeout) { 16718 window.clearTimeout(this._queryTimeout); 16719 } 16720 16721 this._queryTimeout = window.setTimeout(request, this.ajaxOptions.delay); 16722 } else { 16723 request(); 16724 } 16725 }; 16726 16727 return AjaxAdapter; 16728}); 16729 16730S2.define('select2/data/tags',[ 16731 'jquery' 16732], function ($) { 16733 function Tags (decorated, $element, options) { 16734 var tags = options.get('tags'); 16735 16736 var createTag = options.get('createTag'); 16737 16738 if (createTag !== undefined) { 16739 this.createTag = createTag; 16740 } 16741 16742 var insertTag = options.get('insertTag'); 16743 16744 if (insertTag !== undefined) { 16745 this.insertTag = insertTag; 16746 } 16747 16748 decorated.call(this, $element, options); 16749 16750 if (Array.isArray(tags)) { 16751 for (var t = 0; t < tags.length; t++) { 16752 var tag = tags[t]; 16753 var item = this._normalizeItem(tag); 16754 16755 var $option = this.option(item); 16756 16757 this.$element.append($option); 16758 } 16759 } 16760 } 16761 16762 Tags.prototype.query = function (decorated, params, callback) { 16763 var self = this; 16764 16765 this._removeOldTags(); 16766 16767 if (params.term == null || params.page != null) { 16768 decorated.call(this, params, callback); 16769 return; 16770 } 16771 16772 function wrapper (obj, child) { 16773 var data = obj.results; 16774 16775 for (var i = 0; i < data.length; i++) { 16776 var option = data[i]; 16777 16778 var checkChildren = ( 16779 option.children != null && 16780 !wrapper({ 16781 results: option.children 16782 }, true) 16783 ); 16784 16785 var optionText = (option.text || '').toUpperCase(); 16786 var paramsTerm = (params.term || '').toUpperCase(); 16787 16788 var checkText = optionText === paramsTerm; 16789 16790 if (checkText || checkChildren) { 16791 if (child) { 16792 return false; 16793 } 16794 16795 obj.data = data; 16796 callback(obj); 16797 16798 return; 16799 } 16800 } 16801 16802 if (child) { 16803 return true; 16804 } 16805 16806 var tag = self.createTag(params); 16807 16808 if (tag != null) { 16809 var $option = self.option(tag); 16810 $option.attr('data-select2-tag', 'true'); 16811 16812 self.addOptions([$option]); 16813 16814 self.insertTag(data, tag); 16815 } 16816 16817 obj.results = data; 16818 16819 callback(obj); 16820 } 16821 16822 decorated.call(this, params, wrapper); 16823 }; 16824 16825 Tags.prototype.createTag = function (decorated, params) { 16826 if (params.term == null) { 16827 return null; 16828 } 16829 16830 var term = params.term.trim(); 16831 16832 if (term === '') { 16833 return null; 16834 } 16835 16836 return { 16837 id: term, 16838 text: term 16839 }; 16840 }; 16841 16842 Tags.prototype.insertTag = function (_, data, tag) { 16843 data.unshift(tag); 16844 }; 16845 16846 Tags.prototype._removeOldTags = function (_) { 16847 var $options = this.$element.find('option[data-select2-tag]'); 16848 16849 $options.each(function () { 16850 if (this.selected) { 16851 return; 16852 } 16853 16854 $(this).remove(); 16855 }); 16856 }; 16857 16858 return Tags; 16859}); 16860 16861S2.define('select2/data/tokenizer',[ 16862 'jquery' 16863], function ($) { 16864 function Tokenizer (decorated, $element, options) { 16865 var tokenizer = options.get('tokenizer'); 16866 16867 if (tokenizer !== undefined) { 16868 this.tokenizer = tokenizer; 16869 } 16870 16871 decorated.call(this, $element, options); 16872 } 16873 16874 Tokenizer.prototype.bind = function (decorated, container, $container) { 16875 decorated.call(this, container, $container); 16876 16877 this.$search = container.dropdown.$search || container.selection.$search || 16878 $container.find('.select2-search__field'); 16879 }; 16880 16881 Tokenizer.prototype.query = function (decorated, params, callback) { 16882 var self = this; 16883 16884 function createAndSelect (data) { 16885 // Normalize the data object so we can use it for checks 16886 var item = self._normalizeItem(data); 16887 16888 // Check if the data object already exists as a tag 16889 // Select it if it doesn't 16890 var $existingOptions = self.$element.find('option').filter(function () { 16891 return $(this).val() === item.id; 16892 }); 16893 16894 // If an existing option wasn't found for it, create the option 16895 if (!$existingOptions.length) { 16896 var $option = self.option(item); 16897 $option.attr('data-select2-tag', true); 16898 16899 self._removeOldTags(); 16900 self.addOptions([$option]); 16901 } 16902 16903 // Select the item, now that we know there is an option for it 16904 select(item); 16905 } 16906 16907 function select (data) { 16908 self.trigger('select', { 16909 data: data 16910 }); 16911 } 16912 16913 params.term = params.term || ''; 16914 16915 var tokenData = this.tokenizer(params, this.options, createAndSelect); 16916 16917 if (tokenData.term !== params.term) { 16918 // Replace the search term if we have the search box 16919 if (this.$search.length) { 16920 this.$search.val(tokenData.term); 16921 this.$search.trigger('focus'); 16922 } 16923 16924 params.term = tokenData.term; 16925 } 16926 16927 decorated.call(this, params, callback); 16928 }; 16929 16930 Tokenizer.prototype.tokenizer = function (_, params, options, callback) { 16931 var separators = options.get('tokenSeparators') || []; 16932 var term = params.term; 16933 var i = 0; 16934 16935 var createTag = this.createTag || function (params) { 16936 return { 16937 id: params.term, 16938 text: params.term 16939 }; 16940 }; 16941 16942 while (i < term.length) { 16943 var termChar = term[i]; 16944 16945 if (separators.indexOf(termChar) === -1) { 16946 i++; 16947 16948 continue; 16949 } 16950 16951 var part = term.substr(0, i); 16952 var partParams = $.extend({}, params, { 16953 term: part 16954 }); 16955 16956 var data = createTag(partParams); 16957 16958 if (data == null) { 16959 i++; 16960 continue; 16961 } 16962 16963 callback(data); 16964 16965 // Reset the term to not include the tokenized portion 16966 term = term.substr(i + 1) || ''; 16967 i = 0; 16968 } 16969 16970 return { 16971 term: term 16972 }; 16973 }; 16974 16975 return Tokenizer; 16976}); 16977 16978S2.define('select2/data/minimumInputLength',[ 16979 16980], function () { 16981 function MinimumInputLength (decorated, $e, options) { 16982 this.minimumInputLength = options.get('minimumInputLength'); 16983 16984 decorated.call(this, $e, options); 16985 } 16986 16987 MinimumInputLength.prototype.query = function (decorated, params, callback) { 16988 params.term = params.term || ''; 16989 16990 if (params.term.length < this.minimumInputLength) { 16991 this.trigger('results:message', { 16992 message: 'inputTooShort', 16993 args: { 16994 minimum: this.minimumInputLength, 16995 input: params.term, 16996 params: params 16997 } 16998 }); 16999 17000 return; 17001 } 17002 17003 decorated.call(this, params, callback); 17004 }; 17005 17006 return MinimumInputLength; 17007}); 17008 17009S2.define('select2/data/maximumInputLength',[ 17010 17011], function () { 17012 function MaximumInputLength (decorated, $e, options) { 17013 this.maximumInputLength = options.get('maximumInputLength'); 17014 17015 decorated.call(this, $e, options); 17016 } 17017 17018 MaximumInputLength.prototype.query = function (decorated, params, callback) { 17019 params.term = params.term || ''; 17020 17021 if (this.maximumInputLength > 0 && 17022 params.term.length > this.maximumInputLength) { 17023 this.trigger('results:message', { 17024 message: 'inputTooLong', 17025 args: { 17026 maximum: this.maximumInputLength, 17027 input: params.term, 17028 params: params 17029 } 17030 }); 17031 17032 return; 17033 } 17034 17035 decorated.call(this, params, callback); 17036 }; 17037 17038 return MaximumInputLength; 17039}); 17040 17041S2.define('select2/data/maximumSelectionLength',[ 17042 17043], function (){ 17044 function MaximumSelectionLength (decorated, $e, options) { 17045 this.maximumSelectionLength = options.get('maximumSelectionLength'); 17046 17047 decorated.call(this, $e, options); 17048 } 17049 17050 MaximumSelectionLength.prototype.bind = 17051 function (decorated, container, $container) { 17052 var self = this; 17053 17054 decorated.call(this, container, $container); 17055 17056 container.on('select', function () { 17057 self._checkIfMaximumSelected(); 17058 }); 17059 }; 17060 17061 MaximumSelectionLength.prototype.query = 17062 function (decorated, params, callback) { 17063 var self = this; 17064 17065 this._checkIfMaximumSelected(function () { 17066 decorated.call(self, params, callback); 17067 }); 17068 }; 17069 17070 MaximumSelectionLength.prototype._checkIfMaximumSelected = 17071 function (_, successCallback) { 17072 var self = this; 17073 17074 this.current(function (currentData) { 17075 var count = currentData != null ? currentData.length : 0; 17076 if (self.maximumSelectionLength > 0 && 17077 count >= self.maximumSelectionLength) { 17078 self.trigger('results:message', { 17079 message: 'maximumSelected', 17080 args: { 17081 maximum: self.maximumSelectionLength 17082 } 17083 }); 17084 return; 17085 } 17086 17087 if (successCallback) { 17088 successCallback(); 17089 } 17090 }); 17091 }; 17092 17093 return MaximumSelectionLength; 17094}); 17095 17096S2.define('select2/dropdown',[ 17097 'jquery', 17098 './utils' 17099], function ($, Utils) { 17100 function Dropdown ($element, options) { 17101 this.$element = $element; 17102 this.options = options; 17103 17104 Dropdown.__super__.constructor.call(this); 17105 } 17106 17107 Utils.Extend(Dropdown, Utils.Observable); 17108 17109 Dropdown.prototype.render = function () { 17110 var $dropdown = $( 17111 '<span class="select2-dropdown">' + 17112 '<span class="select2-results"></span>' + 17113 '</span>' 17114 ); 17115 17116 $dropdown.attr('dir', this.options.get('dir')); 17117 17118 this.$dropdown = $dropdown; 17119 17120 return $dropdown; 17121 }; 17122 17123 Dropdown.prototype.bind = function () { 17124 // Should be implemented in subclasses 17125 }; 17126 17127 Dropdown.prototype.position = function ($dropdown, $container) { 17128 // Should be implemented in subclasses 17129 }; 17130 17131 Dropdown.prototype.destroy = function () { 17132 // Remove the dropdown from the DOM 17133 this.$dropdown.remove(); 17134 }; 17135 17136 return Dropdown; 17137}); 17138 17139S2.define('select2/dropdown/search',[ 17140 'jquery' 17141], function ($) { 17142 function Search () { } 17143 17144 Search.prototype.render = function (decorated) { 17145 var $rendered = decorated.call(this); 17146 var searchLabel = this.options.get('translations').get('search'); 17147 17148 var $search = $( 17149 '<span class="select2-search select2-search--dropdown">' + 17150 '<input class="select2-search__field" type="search" tabindex="-1"' + 17151 ' autocorrect="off" autocapitalize="none"' + 17152 ' spellcheck="false" role="searchbox" aria-autocomplete="list" />' + 17153 '</span>' 17154 ); 17155 17156 this.$searchContainer = $search; 17157 this.$search = $search.find('input'); 17158 17159 this.$search.prop('autocomplete', this.options.get('autocomplete')); 17160 this.$search.attr('aria-label', searchLabel()); 17161 17162 $rendered.prepend($search); 17163 17164 return $rendered; 17165 }; 17166 17167 Search.prototype.bind = function (decorated, container, $container) { 17168 var self = this; 17169 17170 var resultsId = container.id + '-results'; 17171 17172 decorated.call(this, container, $container); 17173 17174 this.$search.on('keydown', function (evt) { 17175 self.trigger('keypress', evt); 17176 17177 self._keyUpPrevented = evt.isDefaultPrevented(); 17178 }); 17179 17180 // Workaround for browsers which do not support the `input` event 17181 // This will prevent double-triggering of events for browsers which support 17182 // both the `keyup` and `input` events. 17183 this.$search.on('input', function (evt) { 17184 // Unbind the duplicated `keyup` event 17185 $(this).off('keyup'); 17186 }); 17187 17188 this.$search.on('keyup input', function (evt) { 17189 self.handleSearch(evt); 17190 }); 17191 17192 container.on('open', function () { 17193 self.$search.attr('tabindex', 0); 17194 self.$search.attr('aria-controls', resultsId); 17195 17196 self.$search.trigger('focus'); 17197 17198 window.setTimeout(function () { 17199 self.$search.trigger('focus'); 17200 }, 0); 17201 }); 17202 17203 container.on('close', function () { 17204 self.$search.attr('tabindex', -1); 17205 self.$search.removeAttr('aria-controls'); 17206 self.$search.removeAttr('aria-activedescendant'); 17207 17208 self.$search.val(''); 17209 self.$search.trigger('blur'); 17210 }); 17211 17212 container.on('focus', function () { 17213 if (!container.isOpen()) { 17214 self.$search.trigger('focus'); 17215 } 17216 }); 17217 17218 container.on('results:all', function (params) { 17219 if (params.query.term == null || params.query.term === '') { 17220 var showSearch = self.showSearch(params); 17221 17222 if (showSearch) { 17223 self.$searchContainer[0].classList.remove('select2-search--hide'); 17224 } else { 17225 self.$searchContainer[0].classList.add('select2-search--hide'); 17226 } 17227 } 17228 }); 17229 17230 container.on('results:focus', function (params) { 17231 if (params.data._resultId) { 17232 self.$search.attr('aria-activedescendant', params.data._resultId); 17233 } else { 17234 self.$search.removeAttr('aria-activedescendant'); 17235 } 17236 }); 17237 }; 17238 17239 Search.prototype.handleSearch = function (evt) { 17240 if (!this._keyUpPrevented) { 17241 var input = this.$search.val(); 17242 17243 this.trigger('query', { 17244 term: input 17245 }); 17246 } 17247 17248 this._keyUpPrevented = false; 17249 }; 17250 17251 Search.prototype.showSearch = function (_, params) { 17252 return true; 17253 }; 17254 17255 return Search; 17256}); 17257 17258S2.define('select2/dropdown/hidePlaceholder',[ 17259 17260], function () { 17261 function HidePlaceholder (decorated, $element, options, dataAdapter) { 17262 this.placeholder = this.normalizePlaceholder(options.get('placeholder')); 17263 17264 decorated.call(this, $element, options, dataAdapter); 17265 } 17266 17267 HidePlaceholder.prototype.append = function (decorated, data) { 17268 data.results = this.removePlaceholder(data.results); 17269 17270 decorated.call(this, data); 17271 }; 17272 17273 HidePlaceholder.prototype.normalizePlaceholder = function (_, placeholder) { 17274 if (typeof placeholder === 'string') { 17275 placeholder = { 17276 id: '', 17277 text: placeholder 17278 }; 17279 } 17280 17281 return placeholder; 17282 }; 17283 17284 HidePlaceholder.prototype.removePlaceholder = function (_, data) { 17285 var modifiedData = data.slice(0); 17286 17287 for (var d = data.length - 1; d >= 0; d--) { 17288 var item = data[d]; 17289 17290 if (this.placeholder.id === item.id) { 17291 modifiedData.splice(d, 1); 17292 } 17293 } 17294 17295 return modifiedData; 17296 }; 17297 17298 return HidePlaceholder; 17299}); 17300 17301S2.define('select2/dropdown/infiniteScroll',[ 17302 'jquery' 17303], function ($) { 17304 function InfiniteScroll (decorated, $element, options, dataAdapter) { 17305 this.lastParams = {}; 17306 17307 decorated.call(this, $element, options, dataAdapter); 17308 17309 this.$loadingMore = this.createLoadingMore(); 17310 this.loading = false; 17311 } 17312 17313 InfiniteScroll.prototype.append = function (decorated, data) { 17314 this.$loadingMore.remove(); 17315 this.loading = false; 17316 17317 decorated.call(this, data); 17318 17319 if (this.showLoadingMore(data)) { 17320 this.$results.append(this.$loadingMore); 17321 this.loadMoreIfNeeded(); 17322 } 17323 }; 17324 17325 InfiniteScroll.prototype.bind = function (decorated, container, $container) { 17326 var self = this; 17327 17328 decorated.call(this, container, $container); 17329 17330 container.on('query', function (params) { 17331 self.lastParams = params; 17332 self.loading = true; 17333 }); 17334 17335 container.on('query:append', function (params) { 17336 self.lastParams = params; 17337 self.loading = true; 17338 }); 17339 17340 this.$results.on('scroll', this.loadMoreIfNeeded.bind(this)); 17341 }; 17342 17343 InfiniteScroll.prototype.loadMoreIfNeeded = function () { 17344 var isLoadMoreVisible = $.contains( 17345 document.documentElement, 17346 this.$loadingMore[0] 17347 ); 17348 17349 if (this.loading || !isLoadMoreVisible) { 17350 return; 17351 } 17352 17353 var currentOffset = this.$results.offset().top + 17354 this.$results.outerHeight(false); 17355 var loadingMoreOffset = this.$loadingMore.offset().top + 17356 this.$loadingMore.outerHeight(false); 17357 17358 if (currentOffset + 50 >= loadingMoreOffset) { 17359 this.loadMore(); 17360 } 17361 }; 17362 17363 InfiniteScroll.prototype.loadMore = function () { 17364 this.loading = true; 17365 17366 var params = $.extend({}, {page: 1}, this.lastParams); 17367 17368 params.page++; 17369 17370 this.trigger('query:append', params); 17371 }; 17372 17373 InfiniteScroll.prototype.showLoadingMore = function (_, data) { 17374 return data.pagination && data.pagination.more; 17375 }; 17376 17377 InfiniteScroll.prototype.createLoadingMore = function () { 17378 var $option = $( 17379 '<li ' + 17380 'class="select2-results__option select2-results__option--load-more"' + 17381 'role="option" aria-disabled="true"></li>' 17382 ); 17383 17384 var message = this.options.get('translations').get('loadingMore'); 17385 17386 $option.html(message(this.lastParams)); 17387 17388 return $option; 17389 }; 17390 17391 return InfiniteScroll; 17392}); 17393 17394S2.define('select2/dropdown/attachBody',[ 17395 'jquery', 17396 '../utils' 17397], function ($, Utils) { 17398 function AttachBody (decorated, $element, options) { 17399 this.$dropdownParent = $(options.get('dropdownParent') || document.body); 17400 17401 decorated.call(this, $element, options); 17402 } 17403 17404 AttachBody.prototype.bind = function (decorated, container, $container) { 17405 var self = this; 17406 17407 decorated.call(this, container, $container); 17408 17409 container.on('open', function () { 17410 self._showDropdown(); 17411 self._attachPositioningHandler(container); 17412 17413 // Must bind after the results handlers to ensure correct sizing 17414 self._bindContainerResultHandlers(container); 17415 }); 17416 17417 container.on('close', function () { 17418 self._hideDropdown(); 17419 self._detachPositioningHandler(container); 17420 }); 17421 17422 this.$dropdownContainer.on('mousedown', function (evt) { 17423 evt.stopPropagation(); 17424 }); 17425 }; 17426 17427 AttachBody.prototype.destroy = function (decorated) { 17428 decorated.call(this); 17429 17430 this.$dropdownContainer.remove(); 17431 }; 17432 17433 AttachBody.prototype.position = function (decorated, $dropdown, $container) { 17434 // Clone all of the container classes 17435 $dropdown.attr('class', $container.attr('class')); 17436 17437 $dropdown[0].classList.remove('select2'); 17438 $dropdown[0].classList.add('select2-container--open'); 17439 17440 $dropdown.css({ 17441 position: 'absolute', 17442 top: -999999 17443 }); 17444 17445 this.$container = $container; 17446 }; 17447 17448 AttachBody.prototype.render = function (decorated) { 17449 var $container = $('<span></span>'); 17450 17451 var $dropdown = decorated.call(this); 17452 $container.append($dropdown); 17453 17454 this.$dropdownContainer = $container; 17455 17456 return $container; 17457 }; 17458 17459 AttachBody.prototype._hideDropdown = function (decorated) { 17460 this.$dropdownContainer.detach(); 17461 }; 17462 17463 AttachBody.prototype._bindContainerResultHandlers = 17464 function (decorated, container) { 17465 17466 // These should only be bound once 17467 if (this._containerResultsHandlersBound) { 17468 return; 17469 } 17470 17471 var self = this; 17472 17473 container.on('results:all', function () { 17474 self._positionDropdown(); 17475 self._resizeDropdown(); 17476 }); 17477 17478 container.on('results:append', function () { 17479 self._positionDropdown(); 17480 self._resizeDropdown(); 17481 }); 17482 17483 container.on('results:message', function () { 17484 self._positionDropdown(); 17485 self._resizeDropdown(); 17486 }); 17487 17488 container.on('select', function () { 17489 self._positionDropdown(); 17490 self._resizeDropdown(); 17491 }); 17492 17493 container.on('unselect', function () { 17494 self._positionDropdown(); 17495 self._resizeDropdown(); 17496 }); 17497 17498 this._containerResultsHandlersBound = true; 17499 }; 17500 17501 AttachBody.prototype._attachPositioningHandler = 17502 function (decorated, container) { 17503 var self = this; 17504 17505 var scrollEvent = 'scroll.select2.' + container.id; 17506 var resizeEvent = 'resize.select2.' + container.id; 17507 var orientationEvent = 'orientationchange.select2.' + container.id; 17508 17509 var $watchers = this.$container.parents().filter(Utils.hasScroll); 17510 $watchers.each(function () { 17511 Utils.StoreData(this, 'select2-scroll-position', { 17512 x: $(this).scrollLeft(), 17513 y: $(this).scrollTop() 17514 }); 17515 }); 17516 17517 $watchers.on(scrollEvent, function (ev) { 17518 var position = Utils.GetData(this, 'select2-scroll-position'); 17519 $(this).scrollTop(position.y); 17520 }); 17521 17522 $(window).on(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent, 17523 function (e) { 17524 self._positionDropdown(); 17525 self._resizeDropdown(); 17526 }); 17527 }; 17528 17529 AttachBody.prototype._detachPositioningHandler = 17530 function (decorated, container) { 17531 var scrollEvent = 'scroll.select2.' + container.id; 17532 var resizeEvent = 'resize.select2.' + container.id; 17533 var orientationEvent = 'orientationchange.select2.' + container.id; 17534 17535 var $watchers = this.$container.parents().filter(Utils.hasScroll); 17536 $watchers.off(scrollEvent); 17537 17538 $(window).off(scrollEvent + ' ' + resizeEvent + ' ' + orientationEvent); 17539 }; 17540 17541 AttachBody.prototype._positionDropdown = function () { 17542 var $window = $(window); 17543 17544 var isCurrentlyAbove = this.$dropdown[0].classList 17545 .contains('select2-dropdown--above'); 17546 var isCurrentlyBelow = this.$dropdown[0].classList 17547 .contains('select2-dropdown--below'); 17548 17549 var newDirection = null; 17550 17551 var offset = this.$container.offset(); 17552 17553 offset.bottom = offset.top + this.$container.outerHeight(false); 17554 17555 var container = { 17556 height: this.$container.outerHeight(false) 17557 }; 17558 17559 container.top = offset.top; 17560 container.bottom = offset.top + container.height; 17561 17562 var dropdown = { 17563 height: this.$dropdown.outerHeight(false) 17564 }; 17565 17566 var viewport = { 17567 top: $window.scrollTop(), 17568 bottom: $window.scrollTop() + $window.height() 17569 }; 17570 17571 var enoughRoomAbove = viewport.top < (offset.top - dropdown.height); 17572 var enoughRoomBelow = viewport.bottom > (offset.bottom + dropdown.height); 17573 17574 var css = { 17575 left: offset.left, 17576 top: container.bottom 17577 }; 17578 17579 // Determine what the parent element is to use for calculating the offset 17580 var $offsetParent = this.$dropdownParent; 17581 17582 // For statically positioned elements, we need to get the element 17583 // that is determining the offset 17584 if ($offsetParent.css('position') === 'static') { 17585 $offsetParent = $offsetParent.offsetParent(); 17586 } 17587 17588 var parentOffset = { 17589 top: 0, 17590 left: 0 17591 }; 17592 17593 if ( 17594 $.contains(document.body, $offsetParent[0]) || 17595 $offsetParent[0].isConnected 17596 ) { 17597 parentOffset = $offsetParent.offset(); 17598 } 17599 17600 css.top -= parentOffset.top; 17601 css.left -= parentOffset.left; 17602 17603 if (!isCurrentlyAbove && !isCurrentlyBelow) { 17604 newDirection = 'below'; 17605 } 17606 17607 if (!enoughRoomBelow && enoughRoomAbove && !isCurrentlyAbove) { 17608 newDirection = 'above'; 17609 } else if (!enoughRoomAbove && enoughRoomBelow && isCurrentlyAbove) { 17610 newDirection = 'below'; 17611 } 17612 17613 if (newDirection == 'above' || 17614 (isCurrentlyAbove && newDirection !== 'below')) { 17615 css.top = container.top - parentOffset.top - dropdown.height; 17616 } 17617 17618 if (newDirection != null) { 17619 this.$dropdown[0].classList.remove('select2-dropdown--below'); 17620 this.$dropdown[0].classList.remove('select2-dropdown--above'); 17621 this.$dropdown[0].classList.add('select2-dropdown--' + newDirection); 17622 17623 this.$container[0].classList.remove('select2-container--below'); 17624 this.$container[0].classList.remove('select2-container--above'); 17625 this.$container[0].classList.add('select2-container--' + newDirection); 17626 } 17627 17628 this.$dropdownContainer.css(css); 17629 }; 17630 17631 AttachBody.prototype._resizeDropdown = function () { 17632 var css = { 17633 width: this.$container.outerWidth(false) + 'px' 17634 }; 17635 17636 if (this.options.get('dropdownAutoWidth')) { 17637 css.minWidth = css.width; 17638 css.position = 'relative'; 17639 css.width = 'auto'; 17640 } 17641 17642 this.$dropdown.css(css); 17643 }; 17644 17645 AttachBody.prototype._showDropdown = function (decorated) { 17646 this.$dropdownContainer.appendTo(this.$dropdownParent); 17647 17648 this._positionDropdown(); 17649 this._resizeDropdown(); 17650 }; 17651 17652 return AttachBody; 17653}); 17654 17655S2.define('select2/dropdown/minimumResultsForSearch',[ 17656 17657], function () { 17658 function countResults (data) { 17659 var count = 0; 17660 17661 for (var d = 0; d < data.length; d++) { 17662 var item = data[d]; 17663 17664 if (item.children) { 17665 count += countResults(item.children); 17666 } else { 17667 count++; 17668 } 17669 } 17670 17671 return count; 17672 } 17673 17674 function MinimumResultsForSearch (decorated, $element, options, dataAdapter) { 17675 this.minimumResultsForSearch = options.get('minimumResultsForSearch'); 17676 17677 if (this.minimumResultsForSearch < 0) { 17678 this.minimumResultsForSearch = Infinity; 17679 } 17680 17681 decorated.call(this, $element, options, dataAdapter); 17682 } 17683 17684 MinimumResultsForSearch.prototype.showSearch = function (decorated, params) { 17685 if (countResults(params.data.results) < this.minimumResultsForSearch) { 17686 return false; 17687 } 17688 17689 return decorated.call(this, params); 17690 }; 17691 17692 return MinimumResultsForSearch; 17693}); 17694 17695S2.define('select2/dropdown/selectOnClose',[ 17696 '../utils' 17697], function (Utils) { 17698 function SelectOnClose () { } 17699 17700 SelectOnClose.prototype.bind = function (decorated, container, $container) { 17701 var self = this; 17702 17703 decorated.call(this, container, $container); 17704 17705 container.on('close', function (params) { 17706 self._handleSelectOnClose(params); 17707 }); 17708 }; 17709 17710 SelectOnClose.prototype._handleSelectOnClose = function (_, params) { 17711 if (params && params.originalSelect2Event != null) { 17712 var event = params.originalSelect2Event; 17713 17714 // Don't select an item if the close event was triggered from a select or 17715 // unselect event 17716 if (event._type === 'select' || event._type === 'unselect') { 17717 return; 17718 } 17719 } 17720 17721 var $highlightedResults = this.getHighlightedResults(); 17722 17723 // Only select highlighted results 17724 if ($highlightedResults.length < 1) { 17725 return; 17726 } 17727 17728 var data = Utils.GetData($highlightedResults[0], 'data'); 17729 17730 // Don't re-select already selected resulte 17731 if ( 17732 (data.element != null && data.element.selected) || 17733 (data.element == null && data.selected) 17734 ) { 17735 return; 17736 } 17737 17738 this.trigger('select', { 17739 data: data 17740 }); 17741 }; 17742 17743 return SelectOnClose; 17744}); 17745 17746S2.define('select2/dropdown/closeOnSelect',[ 17747 17748], function () { 17749 function CloseOnSelect () { } 17750 17751 CloseOnSelect.prototype.bind = function (decorated, container, $container) { 17752 var self = this; 17753 17754 decorated.call(this, container, $container); 17755 17756 container.on('select', function (evt) { 17757 self._selectTriggered(evt); 17758 }); 17759 17760 container.on('unselect', function (evt) { 17761 self._selectTriggered(evt); 17762 }); 17763 }; 17764 17765 CloseOnSelect.prototype._selectTriggered = function (_, evt) { 17766 var originalEvent = evt.originalEvent; 17767 17768 // Don't close if the control key is being held 17769 if (originalEvent && (originalEvent.ctrlKey || originalEvent.metaKey)) { 17770 return; 17771 } 17772 17773 this.trigger('close', { 17774 originalEvent: originalEvent, 17775 originalSelect2Event: evt 17776 }); 17777 }; 17778 17779 return CloseOnSelect; 17780}); 17781 17782S2.define('select2/dropdown/dropdownCss',[ 17783 '../utils' 17784], function (Utils) { 17785 function DropdownCSS () { } 17786 17787 DropdownCSS.prototype.render = function (decorated) { 17788 var $dropdown = decorated.call(this); 17789 17790 var dropdownCssClass = this.options.get('dropdownCssClass') || ''; 17791 17792 if (dropdownCssClass.indexOf(':all:') !== -1) { 17793 dropdownCssClass = dropdownCssClass.replace(':all:', ''); 17794 17795 Utils.copyNonInternalCssClasses($dropdown[0], this.$element[0]); 17796 } 17797 17798 $dropdown.addClass(dropdownCssClass
vendor: 10,812 bytes, lines 17798-18220
17798); 17799 17800 return $dropdown; 17801 }; 17802 17803 return DropdownCSS; 17804}); 17805 17806S2.define('select2/dropdown/tagsSearchHighlight',[ 17807 '../utils' 17808], function (Utils) { 17809 function TagsSearchHighlight () { } 17810 17811 TagsSearchHighlight.prototype.highlightFirstItem = function (decorated) { 17812 var $options = this.$results 17813 .find( 17814 '.select2-results__option--selectable' + 17815 ':not(.select2-results__option--selected)' 17816 ); 17817 17818 if ($options.length > 0) { 17819 var $firstOption = $options.first(); 17820 var data = Utils.GetData($firstOption[0], 'data'); 17821 var firstElement = data.element; 17822 17823 if (firstElement && firstElement.getAttribute) { 17824 if (firstElement.getAttribute('data-select2-tag') === 'true') { 17825 $firstOption.trigger('mouseenter'); 17826 17827 return; 17828 } 17829 } 17830 } 17831 17832 decorated.call(this); 17833 }; 17834 17835 return TagsSearchHighlight; 17836}); 17837 17838S2.define('select2/i18n/en',[],function () { 17839 // English 17840 return { 17841 errorLoading: function () { 17842 return 'The results could not be loaded.'; 17843 }, 17844 inputTooLong: function (args) { 17845 var overChars = args.input.length - args.maximum; 17846 17847 var message = 'Please delete ' + overChars + ' character'; 17848 17849 if (overChars != 1) { 17850 message += 's'; 17851 } 17852 17853 return message; 17854 }, 17855 inputTooShort: function (args) { 17856 var remainingChars = args.minimum - args.input.length; 17857 17858 var message = 'Please enter ' + remainingChars + ' or more characters'; 17859 17860 return message; 17861 }, 17862 loadingMore: function () { 17863 return 'Loading more resultsâ¦'; 17864 }, 17865 maximumSelected: function (args) { 17866 var message = 'You can only select ' + args.maximum + ' item'; 17867 17868 if (args.maximum != 1) { 17869 message += 's'; 17870 } 17871 17872 return message; 17873 }, 17874 noResults: function () { 17875 return 'No results found'; 17876 }, 17877 searching: function () { 17878 return 'Searchingâ¦'; 17879 }, 17880 removeAllItems: function () { 17881 return 'Remove all items'; 17882 }, 17883 removeItem: function () { 17884 return 'Remove item'; 17885 }, 17886 search: function() { 17887 return 'Search'; 17888 } 17889 }; 17890}); 17891 17892S2.define('select2/defaults',[ 17893 'jquery', 17894 17895 './results', 17896 17897 './selection/single', 17898 './selection/multiple', 17899 './selection/placeholder', 17900 './selection/allowClear', 17901 './selection/search', 17902 './selection/selectionCss', 17903 './selection/eventRelay', 17904 17905 './utils', 17906 './translation', 17907 './diacritics', 17908 17909 './data/select', 17910 './data/array', 17911 './data/ajax', 17912 './data/tags', 17913 './data/tokenizer', 17914 './data/minimumInputLength', 17915 './data/maximumInputLength', 17916 './data/maximumSelectionLength', 17917 17918 './dropdown', 17919 './dropdown/search', 17920 './dropdown/hidePlaceholder', 17921 './dropdown/infiniteScroll', 17922 './dropdown/attachBody', 17923 './dropdown/minimumResultsForSearch', 17924 './dropdown/selectOnClose', 17925 './dropdown/closeOnSelect', 17926 './dropdown/dropdownCss', 17927 './dropdown/tagsSearchHighlight', 17928 17929 './i18n/en' 17930], function ($, 17931 17932 ResultsList, 17933 17934 SingleSelection, MultipleSelection, Placeholder, AllowClear, 17935 SelectionSearch, SelectionCSS, EventRelay, 17936 17937 Utils, Translation, DIACRITICS, 17938 17939 SelectData, ArrayData, AjaxData, Tags, Tokenizer, 17940 MinimumInputLength, MaximumInputLength, MaximumSelectionLength, 17941 17942 Dropdown, DropdownSearch, HidePlaceholder, InfiniteScroll, 17943 AttachBody, MinimumResultsForSearch, SelectOnClose, CloseOnSelect, 17944 DropdownCSS, TagsSearchHighlight, 17945 17946 EnglishTranslation) { 17947 function Defaults () { 17948 this.reset(); 17949 } 17950 17951 Defaults.prototype.apply = function (options) { 17952 options = $.extend(true, {}, this.defaults, options); 17953 17954 if (options.dataAdapter == null) { 17955 if (options.ajax != null) { 17956 options.dataAdapter = AjaxData; 17957 } else if (options.data != null) { 17958 options.dataAdapter = ArrayData; 17959 } else { 17960 options.dataAdapter = SelectData; 17961 } 17962 17963 if (options.minimumInputLength > 0) { 17964 options.dataAdapter = Utils.Decorate( 17965 options.dataAdapter, 17966 MinimumInputLength 17967 ); 17968 } 17969 17970 if (options.maximumInputLength > 0) { 17971 options.dataAdapter = Utils.Decorate( 17972 options.dataAdapter, 17973 MaximumInputLength 17974 ); 17975 } 17976 17977 if (options.maximumSelectionLength > 0) { 17978 options.dataAdapter = Utils.Decorate( 17979 options.dataAdapter, 17980 MaximumSelectionLength 17981 ); 17982 } 17983 17984 if (options.tags) { 17985 options.dataAdapter = Utils.Decorate(options.dataAdapter, Tags); 17986 } 17987 17988 if (options.tokenSeparators != null || options.tokenizer != null) { 17989 options.dataAdapter = Utils.Decorate( 17990 options.dataAdapter, 17991 Tokenizer 17992 ); 17993 } 17994 } 17995 17996 if (options.resultsAdapter == null) { 17997 options.resultsAdapter = ResultsList; 17998 17999 if (options.ajax != null) { 18000 options.resultsAdapter = Utils.Decorate( 18001 options.resultsAdapter, 18002 InfiniteScroll 18003 ); 18004 } 18005 18006 if (options.placeholder != null) { 18007 options.resultsAdapter = Utils.Decorate( 18008 options.resultsAdapter, 18009 HidePlaceholder 18010 ); 18011 } 18012 18013 if (options.selectOnClose) { 18014 options.resultsAdapter = Utils.Decorate( 18015 options.resultsAdapter, 18016 SelectOnClose 18017 ); 18018 } 18019 18020 if (options.tags) { 18021 options.resultsAdapter = Utils.Decorate( 18022 options.resultsAdapter, 18023 TagsSearchHighlight 18024 ); 18025 } 18026 } 18027 18028 if (options.dropdownAdapter == null) { 18029 if (options.multiple) { 18030 options.dropdownAdapter = Dropdown; 18031 } else { 18032 var SearchableDropdown = Utils.Decorate(Dropdown, DropdownSearch); 18033 18034 options.dropdownAdapter = SearchableDropdown; 18035 } 18036 18037 if (options.minimumResultsForSearch !== 0) { 18038 options.dropdownAdapter = Utils.Decorate( 18039 options.dropdownAdapter, 18040 MinimumResultsForSearch 18041 ); 18042 } 18043 18044 if (options.closeOnSelect) { 18045 options.dropdownAdapter = Utils.Decorate( 18046 options.dropdownAdapter, 18047 CloseOnSelect 18048 ); 18049 } 18050 18051 if (options.dropdownCssClass != null) { 18052 options.dropdownAdapter = Utils.Decorate( 18053 options.dropdownAdapter, 18054 DropdownCSS 18055 ); 18056 } 18057 18058 options.dropdownAdapter = Utils.Decorate( 18059 options.dropdownAdapter, 18060 AttachBody 18061 ); 18062 } 18063 18064 if (options.selectionAdapter == null) { 18065 if (options.multiple) { 18066 options.selectionAdapter = MultipleSelection; 18067 } else { 18068 options.selectionAdapter = SingleSelection; 18069 } 18070 18071 // Add the placeholder mixin if a placeholder was specified 18072 if (options.placeholder != null) { 18073 options.selectionAdapter = Utils.Decorate( 18074 options.selectionAdapter, 18075 Placeholder 18076 ); 18077 } 18078 18079 if (options.allowClear) { 18080 options.selectionAdapter = Utils.Decorate( 18081 options.selectionAdapter, 18082 AllowClear 18083 ); 18084 } 18085 18086 if (options.multiple) { 18087 options.selectionAdapter = Utils.Decorate( 18088 options.selectionAdapter, 18089 SelectionSearch 18090 ); 18091 } 18092 18093 if (options.selectionCssClass != null) { 18094 options.selectionAdapter = Utils.Decorate( 18095 options.selectionAdapter, 18096 SelectionCSS 18097 ); 18098 } 18099 18100 options.selectionAdapter = Utils.Decorate( 18101 options.selectionAdapter, 18102 EventRelay 18103 ); 18104 } 18105 18106 // If the defaults were not previously applied from an element, it is 18107 // possible for the language option to have not been resolved 18108 options.language = this._resolveLanguage(options.language); 18109 18110 // Always fall back to English since it will always be complete 18111 options.language.push('en'); 18112 18113 var uniqueLanguages = []; 18114 18115 for (var l = 0; l < options.language.length; l++) { 18116 var language = options.language[l]; 18117 18118 if (uniqueLanguages.indexOf(language) === -1) { 18119 uniqueLanguages.push(language); 18120 } 18121 } 18122 18123 options.language = uniqueLanguages; 18124 18125 options.translations = this._processTranslations( 18126 options.language, 18127 options.debug 18128 ); 18129 18130 return options; 18131 }; 18132 18133 Defaults.prototype.reset = function () { 18134 function stripDiacritics (text) { 18135 // Used 'uni range + named function' from http://jsperf.com/diacritics/18 18136 function match(a) { 18137 return DIACRITICS[a] || a; 18138 } 18139 18140 return text.replace(/[^\u0000-\u007E]/g, match); 18141 } 18142 18143 function matcher (params, data) { 18144 // Always return the object if there is nothing to compare 18145 if (params.term == null || params.term.trim() === '') { 18146 return data; 18147 } 18148 18149 // Do a recursive check for options with children 18150 if (data.children && data.children.length > 0) { 18151 // Clone the data object if there are children 18152 // This is required as we modify the object to remove any non-matches 18153 var match = $.extend(true, {}, data); 18154 18155 // Check each child of the option 18156 for (var c = data.children.length - 1; c >= 0; c--) { 18157 var child = data.children[c]; 18158 18159 var matches = matcher(params, child); 18160 18161 // If there wasn't a match, remove the object in the array 18162 if (matches == null) { 18163 match.children.splice(c, 1); 18164 } 18165 } 18166 18167 // If any children matched, return the new object 18168 if (match.children.length > 0) { 18169 return match; 18170 } 18171 18172 // If there were no matching children, check just the plain object 18173 return matcher(params, match); 18174 } 18175 18176 var original = stripDiacritics(data.text).toUpperCase(); 18177 var term = stripDiacritics(params.term).toUpperCase(); 18178 18179 // Check if the text contains the term 18180 if (original.indexOf(term) > -1) { 18181 return data; 18182 } 18183 18184 // If it doesn't contain the term, don't return anything 18185 return null; 18186 } 18187 18188 this.defaults = { 18189 amdLanguageBase: './i18n/', 18190 autocomplete: 'off', 18191 closeOnSelect: true, 18192 debug: false, 18193 dropdownAutoWidth: false, 18194 escapeMarkup: Utils.escapeMarkup, 18195 language: {}, 18196 matcher: matcher, 18197 minimumInputLength: 0, 18198 maximumInputLength: 0, 18199 maximumSelectionLength: 0, 18200 minimumResultsForSearch: 0, 18201 selectOnClose: false, 18202 scrollAfterSelect: false, 18203 sorter: function (data) { 18204 return data; 18205 }, 18206 templateResult: function (result) { 18207 return result.text; 18208 }, 18209 templateSelection: function (selection) { 18210 return selection.text; 18211 }, 18212 theme: 'default', 18213 width: 'resolve' 18214 }; 18215 }; 18216 18217 Defaults.prototype.applyFromElement = function (options, $element) { 18218 var optionLanguage = options.language; 18219 var defaultLanguage = this.defaults.language; 18220 var elementLanguage = $element
vendor: 23,793 bytes, lines 18220-19144
18220.prop('lang'); 18221 var parentLanguage = $element.closest('[lang]').prop('lang'); 18222 18223 var languages = Array.prototype.concat.call( 18224 this._resolveLanguage(elementLanguage), 18225 this._resolveLanguage(optionLanguage), 18226 this._resolveLanguage(defaultLanguage), 18227 this._resolveLanguage(parentLanguage) 18228 ); 18229 18230 options.language = languages; 18231 18232 return options; 18233 }; 18234 18235 Defaults.prototype._resolveLanguage = function (language) { 18236 if (!language) { 18237 return []; 18238 } 18239 18240 if ($.isEmptyObject(language)) { 18241 return []; 18242 } 18243 18244 if ($.isPlainObject(language)) { 18245 return [language]; 18246 } 18247 18248 var languages; 18249 18250 if (!Array.isArray(language)) { 18251 languages = [language]; 18252 } else { 18253 languages = language; 18254 } 18255 18256 var resolvedLanguages = []; 18257 18258 for (var l = 0; l < languages.length; l++) { 18259 resolvedLanguages.push(languages[l]); 18260 18261 if (typeof languages[l] === 'string' && languages[l].indexOf('-') > 0) { 18262 // Extract the region information if it is included 18263 var languageParts = languages[l].split('-'); 18264 var baseLanguage = languageParts[0]; 18265 18266 resolvedLanguages.push(baseLanguage); 18267 } 18268 } 18269 18270 return resolvedLanguages; 18271 }; 18272 18273 Defaults.prototype._processTranslations = function (languages, debug) { 18274 var translations = new Translation(); 18275 18276 for (var l = 0; l < languages.length; l++) { 18277 var languageData = new Translation(); 18278 18279 var language = languages[l]; 18280 18281 if (typeof language === 'string') { 18282 try { 18283 // Try to load it with the original name 18284 languageData = Translation.loadPath(language); 18285 } catch (e) { 18286 try { 18287 // If we couldn't load it, check if it wasn't the full path 18288 language = this.defaults.amdLanguageBase + language; 18289 languageData = Translation.loadPath(language); 18290 } catch (ex) { 18291 // The translation could not be loaded at all. Sometimes this is 18292 // because of a configuration problem, other times this can be 18293 // because of how Select2 helps load all possible translation files 18294 if (debug && window.console && console.warn) { 18295 console.warn( 18296 'Select2: The language file for "' + language + '" could ' + 18297 'not be automatically loaded. A fallback will be used instead.' 18298 ); 18299 } 18300 } 18301 } 18302 } else if ($.isPlainObject(language)) { 18303 languageData = new Translation(language); 18304 } else { 18305 languageData = language; 18306 } 18307 18308 translations.extend(languageData); 18309 } 18310 18311 return translations; 18312 }; 18313 18314 Defaults.prototype.set = function (key, value) { 18315 var camelKey = $.camelCase(key); 18316 18317 var data = {}; 18318 data[camelKey] = value; 18319 18320 var convertedData = Utils._convertData(data); 18321 18322 $.extend(true, this.defaults, convertedData); 18323 }; 18324 18325 var defaults = new Defaults(); 18326 18327 return defaults; 18328}); 18329 18330S2.define('select2/options',[ 18331 'jquery', 18332 './defaults', 18333 './utils' 18334], function ($, Defaults, Utils) { 18335 function Options (options, $element) { 18336 this.options = options; 18337 18338 if ($element != null) { 18339 this.fromElement($element); 18340 } 18341 18342 if ($element != null) { 18343 this.options = Defaults.applyFromElement(this.options, $element); 18344 } 18345 18346 this.options = Defaults.apply(this.options); 18347 } 18348 18349 Options.prototype.fromElement = function ($e) { 18350 var excludedData = ['select2']; 18351 18352 if (this.options.multiple == null) { 18353 this.options.multiple = $e.prop('multiple'); 18354 } 18355 18356 if (this.options.disabled == null) { 18357 this.options.disabled = $e.prop('disabled'); 18358 } 18359 18360 if (this.options.autocomplete == null && $e.prop('autocomplete')) { 18361 this.options.autocomplete = $e.prop('autocomplete'); 18362 } 18363 18364 if (this.options.dir == null) { 18365 if ($e.prop('dir')) { 18366 this.options.dir = $e.prop('dir'); 18367 } else if ($e.closest('[dir]').prop('dir')) { 18368 this.options.dir = $e.closest('[dir]').prop('dir'); 18369 } else { 18370 this.options.dir = 'ltr'; 18371 } 18372 } 18373 18374 $e.prop('disabled', this.options.disabled); 18375 $e.prop('multiple', this.options.multiple); 18376 18377 if (Utils.GetData($e[0], 'select2Tags')) { 18378 if (this.options.debug && window.console && console.warn) { 18379 console.warn( 18380 'Select2: The `data-select2-tags` attribute has been changed to ' + 18381 'use the `data-data` and `data-tags="true"` attributes and will be ' + 18382 'removed in future versions of Select2.' 18383 ); 18384 } 18385 18386 Utils.StoreData($e[0], 'data', Utils.GetData($e[0], 'select2Tags')); 18387 Utils.StoreData($e[0], 'tags', true); 18388 } 18389 18390 if (Utils.GetData($e[0], 'ajaxUrl')) { 18391 if (this.options.debug && window.console && console.warn) { 18392 console.warn( 18393 'Select2: The `data-ajax-url` attribute has been changed to ' + 18394 '`data-ajax--url` and support for the old attribute will be removed' + 18395 ' in future versions of Select2.' 18396 ); 18397 } 18398 18399 $e.attr('ajax--url', Utils.GetData($e[0], 'ajaxUrl')); 18400 Utils.StoreData($e[0], 'ajax-Url', Utils.GetData($e[0], 'ajaxUrl')); 18401 } 18402 18403 var dataset = {}; 18404 18405 function upperCaseLetter(_, letter) { 18406 return letter.toUpperCase(); 18407 } 18408 18409 // Pre-load all of the attributes which are prefixed with `data-` 18410 for (var attr = 0; attr < $e[0].attributes.length; attr++) { 18411 var attributeName = $e[0].attributes[attr].name; 18412 var prefix = 'data-'; 18413 18414 if (attributeName.substr(0, prefix.length) == prefix) { 18415 // Get the contents of the attribute after `data-` 18416 var dataName = attributeName.substring(prefix.length); 18417 18418 // Get the data contents from the consistent source 18419 // This is more than likely the jQuery data helper 18420 var dataValue = Utils.GetData($e[0], dataName); 18421 18422 // camelCase the attribute name to match the spec 18423 var camelDataName = dataName.replace(/-([a-z])/g, upperCaseLetter); 18424 18425 // Store the data attribute contents into the dataset since 18426 dataset[camelDataName] = dataValue; 18427 } 18428 } 18429 18430 // Prefer the element's `dataset` attribute if it exists 18431 // jQuery 1.x does not correctly handle data attributes with multiple dashes 18432 if ($.fn.jquery && $.fn.jquery.substr(0, 2) == '1.' && $e[0].dataset) { 18433 dataset = $.extend(true, {}, $e[0].dataset, dataset); 18434 } 18435 18436 // Prefer our internal data cache if it exists 18437 var data = $.extend(true, {}, Utils.GetData($e[0]), dataset); 18438 18439 data = Utils._convertData(data); 18440 18441 for (var key in data) { 18442 if (excludedData.indexOf(key) > -1) { 18443 continue; 18444 } 18445 18446 if ($.isPlainObject(this.options[key])) { 18447 $.extend(this.options[key], data[key]); 18448 } else { 18449 this.options[key] = data[key]; 18450 } 18451 } 18452 18453 return this; 18454 }; 18455 18456 Options.prototype.get = function (key) { 18457 return this.options[key]; 18458 }; 18459 18460 Options.prototype.set = function (key, val) { 18461 this.options[key] = val; 18462 }; 18463 18464 return Options; 18465}); 18466 18467S2.define('select2/core',[ 18468 'jquery', 18469 './options', 18470 './utils', 18471 './keys' 18472], function ($, Options, Utils, KEYS) { 18473 var Select2 = function ($element, options) { 18474 if (Utils.GetData($element[0], 'select2') != null) { 18475 Utils.GetData($element[0], 'select2').destroy(); 18476 } 18477 18478 this.$element = $element; 18479 18480 this.id = this._generateId($element); 18481 18482 options = options || {}; 18483 18484 this.options = new Options(options, $element); 18485 18486 Select2.__super__.constructor.call(this); 18487 18488 // Set up the tabindex 18489 18490 var tabindex = $element.attr('tabindex') || 0; 18491 Utils.StoreData($element[0], 'old-tabindex', tabindex); 18492 $element.attr('tabindex', '-1'); 18493 18494 // Set up containers and adapters 18495 18496 var DataAdapter = this.options.get('dataAdapter'); 18497 this.dataAdapter = new DataAdapter($element, this.options); 18498 18499 var $container = this.render(); 18500 18501 this._placeContainer($container); 18502 18503 var SelectionAdapter = this.options.get('selectionAdapter'); 18504 this.selection = new SelectionAdapter($element, this.options); 18505 this.$selection = this.selection.render(); 18506 18507 this.selection.position(this.$selection, $container); 18508 18509 var DropdownAdapter = this.options.get('dropdownAdapter'); 18510 this.dropdown = new DropdownAdapter($element, this.options); 18511 this.$dropdown = this.dropdown.render(); 18512 18513 this.dropdown.position(this.$dropdown, $container); 18514 18515 var ResultsAdapter = this.options.get('resultsAdapter'); 18516 this.results = new ResultsAdapter($element, this.options, this.dataAdapter); 18517 this.$results = this.results.render(); 18518 18519 this.results.position(this.$results, this.$dropdown); 18520 18521 // Bind events 18522 18523 var self = this; 18524 18525 // Bind the container to all of the adapters 18526 this._bindAdapters(); 18527 18528 // Register any DOM event handlers 18529 this._registerDomEvents(); 18530 18531 // Register any internal event handlers 18532 this._registerDataEvents(); 18533 this._registerSelectionEvents(); 18534 this._registerDropdownEvents(); 18535 this._registerResultsEvents(); 18536 this._registerEvents(); 18537 18538 // Set the initial state 18539 this.dataAdapter.current(function (initialData) { 18540 self.trigger('selection:update', { 18541 data: initialData 18542 }); 18543 }); 18544 18545 // Hide the original select 18546 $element[0].classList.add('select2-hidden-accessible'); 18547 $element.attr('aria-hidden', 'true'); 18548 18549 // Synchronize any monitored attributes 18550 this._syncAttributes(); 18551 18552 Utils.StoreData($element[0], 'select2', this); 18553 18554 // Ensure backwards compatibility with $element.data('select2'). 18555 $element.data('select2', this); 18556 }; 18557 18558 Utils.Extend(Select2, Utils.Observable); 18559 18560 Select2.prototype._generateId = function ($element) { 18561 var id = ''; 18562 18563 if ($element.attr('id') != null) { 18564 id = $element.attr('id'); 18565 } else if ($element.attr('name') != null) { 18566 id = $element.attr('name') + '-' + Utils.generateChars(2); 18567 } else { 18568 id = Utils.generateChars(4); 18569 } 18570 18571 id = id.replace(/(:|\.|\[|\]|,)/g, ''); 18572 id = 'select2-' + id; 18573 18574 return id; 18575 }; 18576 18577 Select2.prototype._placeContainer = function ($container) { 18578 $container.insertAfter(this.$element); 18579 18580 var width = this._resolveWidth(this.$element, this.options.get('width')); 18581 18582 if (width != null) { 18583 $container.css('width', width); 18584 } 18585 }; 18586 18587 Select2.prototype._resolveWidth = function ($element, method) { 18588 var WIDTH = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; 18589 18590 if (method == 'resolve') { 18591 var styleWidth = this._resolveWidth($element, 'style'); 18592 18593 if (styleWidth != null) { 18594 return styleWidth; 18595 } 18596 18597 return this._resolveWidth($element, 'element'); 18598 } 18599 18600 if (method == 'element') { 18601 var elementWidth = $element.outerWidth(false); 18602 18603 if (elementWidth <= 0) { 18604 return 'auto'; 18605 } 18606 18607 return elementWidth + 'px'; 18608 } 18609 18610 if (method == 'style') { 18611 var style = $element.attr('style'); 18612 18613 if (typeof(style) !== 'string') { 18614 return null; 18615 } 18616 18617 var attrs = style.split(';'); 18618 18619 for (var i = 0, l = attrs.length; i < l; i = i + 1) { 18620 var attr = attrs[i].replace(/\s/g, ''); 18621 var matches = attr.match(WIDTH); 18622 18623 if (matches !== null && matches.length >= 1) { 18624 return matches[1]; 18625 } 18626 } 18627 18628 return null; 18629 } 18630 18631 if (method == 'computedstyle') { 18632 var computedStyle = window.getComputedStyle($element[0]); 18633 18634 return computedStyle.width; 18635 } 18636 18637 return method; 18638 }; 18639 18640 Select2.prototype._bindAdapters = function () { 18641 this.dataAdapter.bind(this, this.$container); 18642 this.selection.bind(this, this.$container); 18643 18644 this.dropdown.bind(this, this.$container); 18645 this.results.bind(this, this.$container); 18646 }; 18647 18648 Select2.prototype._registerDomEvents = function () { 18649 var self = this; 18650 18651 this.$element.on('change.select2', function () { 18652 self.dataAdapter.current(function (data) { 18653 self.trigger('selection:update', { 18654 data: data 18655 }); 18656 }); 18657 }); 18658 18659 this.$element.on('focus.select2', function (evt) { 18660 self.trigger('focus', evt); 18661 }); 18662 18663 this._syncA = Utils.bind(this._syncAttributes, this); 18664 this._syncS = Utils.bind(this._syncSubtree, this); 18665 18666 this._observer = new window.MutationObserver(function (mutations) { 18667 self._syncA(); 18668 self._syncS(mutations); 18669 }); 18670 this._observer.observe(this.$element[0], { 18671 attributes: true, 18672 childList: true, 18673 subtree: false 18674 }); 18675 }; 18676 18677 Select2.prototype._registerDataEvents = function () { 18678 var self = this; 18679 18680 this.dataAdapter.on('*', function (name, params) { 18681 self.trigger(name, params); 18682 }); 18683 }; 18684 18685 Select2.prototype._registerSelectionEvents = function () { 18686 var self = this; 18687 var nonRelayEvents = ['toggle', 'focus']; 18688 18689 this.selection.on('toggle', function () { 18690 self.toggleDropdown(); 18691 }); 18692 18693 this.selection.on('focus', function (params) { 18694 self.focus(params); 18695 }); 18696 18697 this.selection.on('*', function (name, params) { 18698 if (nonRelayEvents.indexOf(name) !== -1) { 18699 return; 18700 } 18701 18702 self.trigger(name, params); 18703 }); 18704 }; 18705 18706 Select2.prototype._registerDropdownEvents = function () { 18707 var self = this; 18708 18709 this.dropdown.on('*', function (name, params) { 18710 self.trigger(name, params); 18711 }); 18712 }; 18713 18714 Select2.prototype._registerResultsEvents = function () { 18715 var self = this; 18716 18717 this.results.on('*', function (name, params) { 18718 self.trigger(name, params); 18719 }); 18720 }; 18721 18722 Select2.prototype._registerEvents = function () { 18723 var self = this; 18724 18725 this.on('open', function () { 18726 self.$container[0].classList.add('select2-container--open'); 18727 }); 18728 18729 this.on('close', function () { 18730 self.$container[0].classList.remove('select2-container--open'); 18731 }); 18732 18733 this.on('enable', function () { 18734 self.$container[0].classList.remove('select2-container--disabled'); 18735 }); 18736 18737 this.on('disable', function () { 18738 self.$container[0].classList.add('select2-container--disabled'); 18739 }); 18740 18741 this.on('blur', function () { 18742 self.$container[0].classList.remove('select2-container--focus'); 18743 }); 18744 18745 this.on('query', function (params) { 18746 if (!self.isOpen()) { 18747 self.trigger('open', {}); 18748 } 18749 18750 this.dataAdapter.query(params, function (data) { 18751 self.trigger('results:all', { 18752 data: data, 18753 query: params 18754 }); 18755 }); 18756 }); 18757 18758 this.on('query:append', function (params) { 18759 this.dataAdapter.query(params, function (data) { 18760 self.trigger('results:append', { 18761 data: data, 18762 query: params 18763 }); 18764 }); 18765 }); 18766 18767 this.on('keypress', function (evt) { 18768 var key = evt.which; 18769 18770 if (self.isOpen()) { 18771 if (key === KEYS.ESC || (key === KEYS.UP && evt.altKey)) { 18772 self.close(evt); 18773 18774 evt.preventDefault(); 18775 } else if (key === KEYS.ENTER || key === KEYS.TAB) { 18776 self.trigger('results:select', {}); 18777 18778 evt.preventDefault(); 18779 } else if ((key === KEYS.SPACE && evt.ctrlKey)) { 18780 self.trigger('results:toggle', {}); 18781 18782 evt.preventDefault(); 18783 } else if (key === KEYS.UP) { 18784 self.trigger('results:previous', {}); 18785 18786 evt.preventDefault(); 18787 } else if (key === KEYS.DOWN) { 18788 self.trigger('results:next', {}); 18789 18790 evt.preventDefault(); 18791 } 18792 } else { 18793 if (key === KEYS.ENTER || key === KEYS.SPACE || 18794 (key === KEYS.DOWN && evt.altKey)) { 18795 self.open(); 18796 18797 evt.preventDefault(); 18798 } 18799 } 18800 }); 18801 }; 18802 18803 Select2.prototype._syncAttributes = function () { 18804 this.options.set('disabled', this.$element.prop('disabled')); 18805 18806 if (this.isDisabled()) { 18807 if (this.isOpen()) { 18808 this.close(); 18809 } 18810 18811 this.trigger('disable', {}); 18812 } else { 18813 this.trigger('enable', {}); 18814 } 18815 }; 18816 18817 Select2.prototype._isChangeMutation = function (mutations) { 18818 var self = this; 18819 18820 if (mutations.addedNodes && mutations.addedNodes.length > 0) { 18821 for (var n = 0; n < mutations.addedNodes.length; n++) { 18822 var node = mutations.addedNodes[n]; 18823 18824 if (node.selected) { 18825 return true; 18826 } 18827 } 18828 } else if (mutations.removedNodes && mutations.removedNodes.length > 0) { 18829 return true; 18830 } else if (Array.isArray(mutations)) { 18831 return mutations.some(function (mutation) { 18832 return self._isChangeMutation(mutation); 18833 }); 18834 } 18835 18836 return false; 18837 }; 18838 18839 Select2.prototype._syncSubtree = function (mutations) { 18840 var changed = this._isChangeMutation(mutations); 18841 var self = this; 18842 18843 // Only re-pull the data if we think there is a change 18844 if (changed) { 18845 this.dataAdapter.current(function (currentData) { 18846 self.trigger('selection:update', { 18847 data: currentData 18848 }); 18849 }); 18850 } 18851 }; 18852 18853 /** 18854 * Override the trigger method to automatically trigger pre-events when 18855 * there are events that can be prevented. 18856 */ 18857 Select2.prototype.trigger = function (name, args) { 18858 var actualTrigger = Select2.__super__.trigger; 18859 var preTriggerMap = { 18860 'open': 'opening', 18861 'close': 'closing', 18862 'select': 'selecting', 18863 'unselect': 'unselecting', 18864 'clear': 'clearing' 18865 }; 18866 18867 if (args === undefined) { 18868 args = {}; 18869 } 18870 18871 if (name in preTriggerMap) { 18872 var preTriggerName = preTriggerMap[name]; 18873 var preTriggerArgs = { 18874 prevented: false, 18875 name: name, 18876 args: args 18877 }; 18878 18879 actualTrigger.call(this, preTriggerName, preTriggerArgs); 18880 18881 if (preTriggerArgs.prevented) { 18882 args.prevented = true; 18883 18884 return; 18885 } 18886 } 18887 18888 actualTrigger.call(this, name, args); 18889 }; 18890 18891 Select2.prototype.toggleDropdown = function () { 18892 if (this.isDisabled()) { 18893 return; 18894 } 18895 18896 if (this.isOpen()) { 18897 this.close(); 18898 } else { 18899 this.open(); 18900 } 18901 }; 18902 18903 Select2.prototype.open = function () { 18904 if (this.isOpen()) { 18905 return; 18906 } 18907 18908 if (this.isDisabled()) { 18909 return; 18910 } 18911 18912 this.trigger('query', {}); 18913 }; 18914 18915 Select2.prototype.close = function (evt) { 18916 if (!this.isOpen()) { 18917 return; 18918 } 18919 18920 this.trigger('close', { originalEvent : evt }); 18921 }; 18922 18923 /** 18924 * Helper method to abstract the "enabled" (not "disabled") state of this 18925 * object. 18926 * 18927 * @return {true} if the instance is not disabled. 18928 * @return {false} if the instance is disabled. 18929 */ 18930 Select2.prototype.isEnabled = function () { 18931 return !this.isDisabled(); 18932 }; 18933 18934 /** 18935 * Helper method to abstract the "disabled" state of this object. 18936 * 18937 * @return {true} if the disabled option is true. 18938 * @return {false} if the disabled option is false. 18939 */ 18940 Select2.prototype.isDisabled = function () { 18941 return this.options.get('disabled'); 18942 }; 18943 18944 Select2.prototype.isOpen = function () { 18945 return this.$container[0].classList.contains('select2-container--open'); 18946 }; 18947 18948 Select2.prototype.hasFocus = function () { 18949 return this.$container[0].classList.contains('select2-container--focus'); 18950 }; 18951 18952 Select2.prototype.focus = function (data) { 18953 // No need to re-trigger focus events if we are already focused 18954 if (this.hasFocus()) { 18955 return; 18956 } 18957 18958 this.$container[0].classList.add('select2-container--focus'); 18959 this.trigger('focus', {}); 18960 }; 18961 18962 Select2.prototype.enable = function (args) { 18963 if (this.options.get('debug') && window.console && console.warn) { 18964 console.warn( 18965 'Select2: The `select2("enable")` method has been deprecated and will' + 18966 ' be removed in later Select2 versions. Use $element.prop("disabled")' + 18967 ' instead.' 18968 ); 18969 } 18970 18971 if (args == null || args.length === 0) { 18972 args = [true]; 18973 } 18974 18975 var disabled = !args[0]; 18976 18977 this.$element.prop('disabled', disabled); 18978 }; 18979 18980 Select2.prototype.data = function () { 18981 if (this.options.get('debug') && 18982 arguments.length > 0 && window.console && console.warn) { 18983 console.warn( 18984 'Select2: Data can no longer be set using `select2("data")`. You ' + 18985 'should consider setting the value instead using `$element.val()`.' 18986 ); 18987 } 18988 18989 var data = []; 18990 18991 this.dataAdapter.current(function (currentData) { 18992 data = currentData; 18993 }); 18994 18995 return data; 18996 }; 18997 18998 Select2.prototype.val = function (args) { 18999 if (this.options.get('debug') && window.console && console.warn) { 19000 console.warn( 19001 'Select2: The `select2("val")` method has been deprecated and will be' + 19002 ' removed in later Select2 versions. Use $element.val() instead.' 19003 ); 19004 } 19005 19006 if (args == null || args.length === 0) { 19007 return this.$element.val(); 19008 } 19009 19010 var newVal = args[0]; 19011 19012 if (Array.isArray(newVal)) { 19013 newVal = newVal.map(function (obj) { 19014 return obj.toString(); 19015 }); 19016 } 19017 19018 this.$element.val(newVal).trigger('input').trigger('change'); 19019 }; 19020 19021 Select2.prototype.destroy = function () { 19022 Utils.RemoveData(this.$container[0]); 19023 this.$container.remove(); 19024 19025 this._observer.disconnect(); 19026 this._observer = null; 19027 19028 this._syncA = null; 19029 this._syncS = null; 19030 19031 this.$element.off('.select2'); 19032 this.$element.attr('tabindex', 19033 Utils.GetData(this.$element[0], 'old-tabindex')); 19034 19035 this.$element[0].classList.remove('select2-hidden-accessible'); 19036 this.$element.attr('aria-hidden', 'false'); 19037 Utils.RemoveData(this.$element[0]); 19038 this.$element.removeData('select2'); 19039 19040 this.dataAdapter.destroy(); 19041 this.selection.destroy(); 19042 this.dropdown.destroy(); 19043 this.results.destroy(); 19044 19045 this.dataAdapter = null; 19046 this.selection = null; 19047 this.dropdown = null; 19048 this.results = null; 19049 }; 19050 19051 Select2.prototype.render = function () { 19052 var $container = $( 19053 '<span class="select2 select2-container">' + 19054 '<span class="selection"></span>' + 19055 '<span class="dropdown-wrapper" aria-hidden="true"></span>' + 19056 '</span>' 19057 ); 19058 19059 $container.attr('dir', this.options.get('dir')); 19060 19061 this.$container = $container; 19062 19063 this.$container[0].classList 19064 .add('select2-container--' + this.options.get('theme')); 19065 19066 Utils.StoreData($container[0], 'element', this.$element); 19067 19068 return $container; 19069 }; 19070 19071 return Select2; 19072}); 19073 19074S2.define('select2/dropdown/attachContainer',[ 19075 19076], function () { 19077 function AttachContainer (decorated, $element, options) { 19078 decorated.call(this, $element, options); 19079 } 19080 19081 AttachContainer.prototype.position = 19082 function (decorated, $dropdown, $container) { 19083 var $dropdownContainer = $container.find('.dropdown-wrapper'); 19084 $dropdownContainer.append($dropdown); 19085 19086 $dropdown[0].classList.add('select2-dropdown--below'); 19087 $container[0].classList.add('select2-container--below'); 19088 }; 19089 19090 return AttachContainer; 19091}); 19092 19093S2.define('select2/dropdown/stopPropagation',[ 19094 19095], function () { 19096 function StopPropagation () { } 19097 19098 StopPropagation.prototype.bind = function (decorated, container, $container) { 19099 decorated.call(this, container, $container); 19100 19101 var stoppedEvents = [ 19102 'blur', 19103 'change', 19104 'click', 19105 'dblclick', 19106 'focus', 19107 'focusin', 19108 'focusout', 19109 'input', 19110 'keydown', 19111 'keyup', 19112 'keypress', 19113 'mousedown', 19114 'mouseenter', 19115 'mouseleave', 19116 'mousemove', 19117 'mouseover', 19118 'mouseup', 19119 'search', 19120 'touchend', 19121 'touchstart' 19122 ]; 19123 19124 this.$dropdown.on(stoppedEvents.join(' '), function (evt) { 19125 evt.stopPropagation(); 19126 }); 19127 }; 19128 19129 return StopPropagation; 19130}); 19131 19132S2.define('select2/selection/stopPropagation',[ 19133 19134], function () { 19135 function StopPropagation () { } 19136 19137 StopPropagation.prototype.bind = function (decorated, container, $container) { 19138 decorated.call(this, container, $container); 19139 19140 var stoppedEvents = [ 19141 'blur', 19142 'change', 19143 'click', 19144 'dblclick',
vendor: 7,732 bytes, lines 19145-19369
19145 'focus', 19146 'focusin', 19147 'focusout', 19148 'input', 19149 'keydown', 19150 'keyup', 19151 'keypress', 19152 'mousedown', 19153 'mouseenter', 19154 'mouseleave', 19155 'mousemove', 19156 'mouseover', 19157 'mouseup', 19158 'search', 19159 'touchend', 19160 'touchstart' 19161 ]; 19162 19163 this.$selection.on(stoppedEvents.join(' '), function (evt) { 19164 evt.stopPropagation(); 19165 }); 19166 }; 19167 19168 return StopPropagation; 19169}); 19170 19171/*! 19172 * jQuery Mousewheel 3.1.13 19173 * 19174 * Copyright jQuery Foundation and other contributors 19175 * Released under the MIT license 19176 * http://jquery.org/license 19177 */ 19178 19179(function (factory) { 19180 if ( typeof S2.define === 'function' && S2.define.amd ) { 19181 // AMD. Register as an anonymous module. 19182 S2.define('jquery-mousewheel',['jquery'], factory); 19183 } else if (typeof exports === 'object') { 19184 // Node/CommonJS style for Browserify 19185 module.exports = factory; 19186 } else { 19187 // Browser globals 19188 factory(jQuery); 19189 } 19190}(function ($) { 19191 19192 var toFix = ['wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], 19193 toBind = ( 'onwheel' in document || document.documentMode >= 9 ) ? 19194 ['wheel'] : ['mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], 19195 slice = Array.prototype.slice, 19196 nullLowestDeltaTimeout, lowestDelta; 19197 19198 if ( $.event.fixHooks ) { 19199 for ( var i = toFix.length; i; ) { 19200 $.event.fixHooks[ toFix[--i] ] = $.event.mouseHooks; 19201 } 19202 } 19203 19204 var special = $.event.special.mousewheel = { 19205 version: '3.1.12', 19206 19207 setup: function() { 19208 if ( this.addEventListener ) { 19209 for ( var i = toBind.length; i; ) { 19210 this.addEventListener( toBind[--i], handler, false ); 19211 } 19212 } else { 19213 this.onmousewheel = handler; 19214 } 19215 // Store the line height and page height for this particular element 19216 $.data(this, 'mousewheel-line-height', special.getLineHeight(this)); 19217 $.data(this, 'mousewheel-page-height', special.getPageHeight(this)); 19218 }, 19219 19220 teardown: function() { 19221 if ( this.removeEventListener ) { 19222 for ( var i = toBind.length; i; ) { 19223 this.removeEventListener( toBind[--i], handler, false ); 19224 } 19225 } else { 19226 this.onmousewheel = null; 19227 } 19228 // Clean up the data we added to the element 19229 $.removeData(this, 'mousewheel-line-height'); 19230 $.removeData(this, 'mousewheel-page-height'); 19231 }, 19232 19233 getLineHeight: function(elem) { 19234 var $elem = $(elem), 19235 $parent = $elem['offsetParent' in $.fn ? 'offsetParent' : 'parent'](); 19236 if (!$parent.length) { 19237 $parent = $('body'); 19238 } 19239 return parseInt($parent.css('fontSize'), 10) || parseInt($elem.css('fontSize'), 10) || 16; 19240 }, 19241 19242 getPageHeight: function(elem) { 19243 return $(elem).height(); 19244 }, 19245 19246 settings: { 19247 adjustOldDeltas: true, // see shouldAdjustOldDeltas() below 19248 normalizeOffset: true // calls getBoundingClientRect for each event 19249 } 19250 }; 19251 19252 $.fn.extend({ 19253 mousewheel: function(fn) { 19254 return fn ? this.bind('mousewheel', fn) : this.trigger('mousewheel'); 19255 }, 19256 19257 unmousewheel: function(fn) { 19258 return this.unbind('mousewheel', fn); 19259 } 19260 }); 19261 19262 19263 function handler(event) { 19264 var orgEvent = event || window.event, 19265 args = slice.call(arguments, 1), 19266 delta = 0, 19267 deltaX = 0, 19268 deltaY = 0, 19269 absDelta = 0, 19270 offsetX = 0, 19271 offsetY = 0; 19272 event = $.event.fix(orgEvent); 19273 event.type = 'mousewheel'; 19274 19275 // Old school scrollwheel delta 19276 if ( 'detail' in orgEvent ) { deltaY = orgEvent.detail * -1; } 19277 if ( 'wheelDelta' in orgEvent ) { deltaY = orgEvent.wheelDelta; } 19278 if ( 'wheelDeltaY' in orgEvent ) { deltaY = orgEvent.wheelDeltaY; } 19279 if ( 'wheelDeltaX' in orgEvent ) { deltaX = orgEvent.wheelDeltaX * -1; } 19280 19281 // Firefox < 17 horizontal scrolling related to DOMMouseScroll event 19282 if ( 'axis' in orgEvent && orgEvent.axis === orgEvent.HORIZONTAL_AXIS ) { 19283 deltaX = deltaY * -1; 19284 deltaY = 0; 19285 } 19286 19287 // Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy 19288 delta = deltaY === 0 ? deltaX : deltaY; 19289 19290 // New school wheel delta (wheel event) 19291 if ( 'deltaY' in orgEvent ) { 19292 deltaY = orgEvent.deltaY * -1; 19293 delta = deltaY; 19294 } 19295 if ( 'deltaX' in orgEvent ) { 19296 deltaX = orgEvent.deltaX; 19297 if ( deltaY === 0 ) { delta = deltaX * -1; } 19298 } 19299 19300 // No change actually happened, no reason to go any further 19301 if ( deltaY === 0 && deltaX === 0 ) { return; } 19302 19303 // Need to convert lines and pages to pixels if we aren't already in pixels 19304 // There are three delta modes: 19305 // * deltaMode 0 is by pixels, nothing to do 19306 // * deltaMode 1 is by lines 19307 // * deltaMode 2 is by pages 19308 if ( orgEvent.deltaMode === 1 ) { 19309 var lineHeight = $.data(this, 'mousewheel-line-height'); 19310 delta *= lineHeight; 19311 deltaY *= lineHeight; 19312 deltaX *= lineHeight; 19313 } else if ( orgEvent.deltaMode === 2 ) { 19314 var pageHeight = $.data(this, 'mousewheel-page-height'); 19315 delta *= pageHeight; 19316 deltaY *= pageHeight; 19317 deltaX *= pageHeight; 19318 } 19319 19320 // Store lowest absolute delta to normalize the delta values 19321 absDelta = Math.max( Math.abs(deltaY), Math.abs(deltaX) ); 19322 19323 if ( !lowestDelta || absDelta < lowestDelta ) { 19324 lowestDelta = absDelta; 19325 19326 // Adjust older deltas if necessary 19327 if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { 19328 lowestDelta /= 40; 19329 } 19330 } 19331 19332 // Adjust older deltas if necessary 19333 if ( shouldAdjustOldDeltas(orgEvent, absDelta) ) { 19334 // Divide all the things by 40! 19335 delta /= 40; 19336 deltaX /= 40; 19337 deltaY /= 40; 19338 } 19339 19340 // Get a whole, normalized value for the deltas 19341 delta = Math[ delta >= 1 ? 'floor' : 'ceil' ](delta / lowestDelta); 19342 deltaX = Math[ deltaX >= 1 ? 'floor' : 'ceil' ](deltaX / lowestDelta); 19343 deltaY = Math[ deltaY >= 1 ? 'floor' : 'ceil' ](deltaY / lowestDelta); 19344 19345 // Normalise offsetX and offsetY properties 19346 if ( special.settings.normalizeOffset && this.getBoundingClientRect ) { 19347 var boundingRect = this.getBoundingClientRect(); 19348 offsetX = event.clientX - boundingRect.left; 19349 offsetY = event.clientY - boundingRect.top; 19350 } 19351 19352 // Add information to the event object 19353 event.deltaX = deltaX; 19354 event.deltaY = deltaY; 19355 event.deltaFactor = lowestDelta; 19356 event.offsetX = offsetX; 19357 event.offsetY = offsetY; 19358 // Go ahead and set deltaMode to 0 since we converted to pixels 19359 // Although this is a little odd since we overwrite the deltaX/Y 19360 // properties with normalized deltas. 19361 event.deltaMode = 0; 19362 19363 // Add event and delta to the front of the arguments 19364 args.unshift(event, delta, deltaX, deltaY); 19365 19366 // Clearout lowestDelta after sometime to better 19367 // handle multiple device types that give different 19368 // a different lowestDelta 19369 // Ex: trackpad = 3 and mouse wheel = 120
vendor: 3,319 bytes, lines 19370-19481
19370 if (nullLowestDeltaTimeout) { clearTimeout(nullLowestDeltaTimeout); } 19371 nullLowestDeltaTimeout = setTimeout(nullLowestDelta, 200); 19372 19373 return ($.event.dispatch || $.event.handle).apply(this, args); 19374 } 19375 19376 function nullLowestDelta() { 19377 lowestDelta = null; 19378 } 19379 19380 function shouldAdjustOldDeltas(orgEvent, absDelta) { 19381 // If this is an older event and the delta is divisable by 120, 19382 // then we are assuming that the browser is treating this as an 19383 // older mouse wheel event and that we should divide the deltas 19384 // by 40 to try and get a more usable deltaFactor. 19385 // Side note, this actually impacts the reported scroll distance 19386 // in older browsers and can cause scrolling to be slower than native. 19387 // Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false. 19388 return special.settings.adjustOldDeltas && orgEvent.type === 'mousewheel' && absDelta % 120 === 0; 19389 } 19390 19391})); 19392 19393S2.define('jquery.select2',[ 19394 'jquery', 19395 'jquery-mousewheel', 19396 19397 './select2/core', 19398 './select2/defaults', 19399 './select2/utils' 19400], function ($, _, Select2, Defaults, Utils) { 19401 if ($.fn.select2 == null) { 19402 // All methods that should return the element 19403 var thisMethods = ['open', 'close', 'destroy']; 19404 19405 $.fn.select2 = function (options) { 19406 options = options || {}; 19407 19408 if (typeof options === 'object') { 19409 this.each(function () { 19410 var instanceOptions = $.extend(true, {}, options); 19411 19412 var instance = new Select2($(this), instanceOptions); 19413 }); 19414 19415 return this; 19416 } else if (typeof options === 'string') { 19417 var ret; 19418 var args = Array.prototype.slice.call(arguments, 1); 19419 19420 this.each(function () { 19421 var instance = Utils.GetData(this, 'select2'); 19422 19423 if (instance == null && window.console && console.error) { 19424 console.error( 19425 'The select2(\'' + options + '\') method was called on an ' + 19426 'element that is not using Select2.' 19427 ); 19428 } 19429 19430 ret = instance[options].apply(instance, args); 19431 }); 19432 19433 // Check if we should be returning `this` 19434 if (thisMethods.indexOf(options) > -1) { 19435 return this; 19436 } 19437 19438 return ret; 19439 } else { 19440 throw new Error('Invalid arguments for Select2: ' + options); 19441 } 19442 }; 19443 } 19444 19445 if ($.fn.select2.defaults == null) { 19446 $.fn.select2.defaults = Defaults; 19447 } 19448 19449 return Select2; 19450}); 19451 19452 // Return the AMD loader configuration so it can be used outside of this file 19453 return { 19454 define: S2.define, 19455 require: S2.require 19456 }; 19457}()); 19458 19459 // Autoload the jQuery bindings 19460 // We know that all of the modules exist above this, so we're safe 19461 var select2 = S2.require('jquery.select2'); 19462 19463 // Hold the AMD module references on the jQuery function that was just loaded 19464 // This allows Select2 to use the internal loader outside of this file, such 19465 // as in the language files. 19466 jQuery.fn.select2.amd = S2; 19467 19468 // Return the Select2 instance for anyone who is importing it. 19469 return select2; 19470})); 19471 19472"use strict"; 19473 19474// 19475// Select2 Initialization 19476// 19477 19478$.fn.select2.defaults.set("theme", "bootstrap5"); 19479$.fn.select2.defaults.set("width", "100%"); 19480$.fn.select2.defaults.set("selectionCssClass", ":all:"); 19481
vendor: 86,362 bytes, lines 19482-19487
19482/*! 19483 * Tempus Dominus vv6.10.4 (https://getdatepicker.com/) 19484 * Copyright 2013-2025 Jonathan Peterson 19485 * Licensed under MIT (https://github.com/Eonasdan/tempus-dominus/blob/master/LICENSE) 19486 */ 19487!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).tempusDominus={})}(this,(function(t){"use strict";class e extends Error{}const s="tempus-dominus";class i{}i.NAME=s,i.dataKey="td",i.events=new class{constructor(){this.key=".td",this.change=`change${this.key}`,this.update=`update${this.key}`,this.error=`error${this.key}`,this.show=`show${this.key}`,this.hide=`hide${this.key}`,this.blur=`blur${this.key}`,this.focus=`focus${this.key}`,this.keyup=`keyup${this.key}`,this.keydown=`keydown${this.key}`}},i.css=new class{constructor(){this.widget=`${s}-widget`,this.calendarHeader="calendar-header",this.switch="picker-switch",this.toolbar="toolbar",this.noHighlight="no-highlight",this.sideBySide="timepicker-sbs",this.previous="previous",this.next="next",this.disabled="disabled",this.old="old",this.new="new",this.active="active",this.dateContainer="date-container",this.decadesContainer=`${this.dateContainer}-decades`,this.decade="decade",this.yearsContainer=`${this.dateContainer}-years`,this.year="year",this.monthsContainer=`${this.dateContainer}-months`,this.month="month",this.daysContainer=`${this.dateContainer}-days`,this.day="day",this.calendarWeeks="cw",this.dayOfTheWeek="dow",this.today="today",this.weekend="weekend",this.rangeIn="range-in",this.rangeStart="range-start",this.rangeEnd="range-end",this.timeContainer="time-container",this.separator="separator",this.clockContainer=`${this.timeContainer}-clock`,this.hourContainer=`${this.timeContainer}-hour`,this.minuteContainer=`${this.timeContainer}-minute`,this.secondContainer=`${this.timeContainer}-second`,this.hour="hour",this.minute="minute",this.second="second",this.toggleMeridiem="toggleMeridiem",this.show="show",this.collapsing="td-collapsing",this.collapse="td-collapse",this.inline="inline",this.lightTheme="light",this.darkTheme="dark",this.isDarkPreferredQuery="(prefers-color-scheme: dark)"}},i.errorMessages=new class{constructor(){this.base="TD:",this.failedToSetInvalidDate="Failed to set invalid date",this.failedToParseInput="Failed parse input field"}unexpectedOption(t){const s=new e(`${this.base} Unexpected option: ${t} does not match a known option.`);throw s.code=1,s}unexpectedOptions(t){const s=new e(`${this.base}: ${t.join(", ")}`);throw s.code=1,s}unexpectedOptionValue(t,s,i){const o=new e(`${this.base} Unexpected option value: ${t} does not accept a value of "${s}". Valid values are: ${i.join(", ")}`);throw o.code=2,o}typeMismatch(t,s,i){const o=new e(`${this.base} Mismatch types: ${t} has a type of ${s} instead of the required ${i}`);throw o.code=3,o}numbersOutOfRange(t,s,i){const o=new e(`${this.base} ${t} expected an array of number between ${s} and ${i}.`);throw o.code=4,o}failedToParseDate(t,s,i=!1){const o=new e(`${this.base} Could not correctly parse "${s}" to a date for ${t}.`);if(o.code=5,!i)throw o;console.warn(o)}mustProvideElement(){const t=new e(`${this.base} No element was provided.`);throw t.code=6,t}subscribeMismatch(){const t=new e(`${this.base} The subscribed events does not match the number of callbacks`);throw t.code=7,t}conflictingConfiguration(t){const s=new e(`${this.base} A configuration value conflicts with another rule. ${t}`);throw s.code=8,s}customDateFormatError(t){const s=new e(`${this.base} Custom Date Format: ${t}`);throw s.code=9,s}dateString(){console.warn(`${this.base} Using a string for date options is not recommended unless you specify an ISO string or use the customDateFormat plugin.`)}deprecatedWarning(t,e){console.warn(`${this.base} Warning ${t} is deprecated and will be removed in a future version. ${e}`)}throwError(t){const s=new e(`${this.base} ${t}`);throw s.code=9,s}};var o,a={...{dateFormats:{LTS:"h:mm:ss T",LT:"h:mm T",L:"MM/dd/yyyy",LL:"MMMM d, yyyy",LLL:"MMMM d, yyyy h:mm T",LLLL:"dddd, MMMM d, yyyy h:mm T"},format:"L LT",locale:"default",hourCycle:void 0,ordinal:t=>{const e=["th","st","nd","rd"],s=t%100;return`[${t}${e[(s-20)%10]||e[s]||e[0]}]`}}};t.Unit=void 0,(o=t.Unit||(t.Unit={})).seconds="seconds",o.minutes="minutes",o.hours="hours",o.date="date",o.month="month",o.year="year";const n={month:"2-digit",day:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"},r=t=>{switch(t){case"date":return{dateStyle:"short"};case"month":return{month:"numeric",year:"numeric"};case"year":return{year:"numeric"}}},d=t=>{if(!t)return"h12";const e={hour:"2-digit",minute:"2-digit",numberingSystem:"latn"},s=(new l).setLocalization({locale:t});s.hours=0;const i=s.parts(void 0,e).hour;if("12"===i)return"h12";if("24"===i)return"h24";s.hours=23;const o=s.parts(void 0,e).hour;return"00"===i&&"11"===o?"h11":"00"===i&&"23"===o?"h23":void console.warn(`couldn't determine hour cycle for ${t}. start: ${i}. end: ${o}`)};class l extends Date{constructor(){super(...arguments),this.localization=a,this.nonLeapLadder=[0,31,59,90,120,151,181,212,243,273,304,334],this.leapLadder=[0,31,60,91,121,152,182,213,244,274,305,335],this.dateTimeRegex=/(\[[^[\]]*])|y{1,4}|M{1,4}|d{1,4}|H{1,2}|h{1,2}|t|T|m{1,2}|s{1,2}|f{3}/g,this.formattingTokens=/(\[[^[\]]*])|([-_:/.,()\s]+)|(T|t|yyyy|yy?|MM?M?M?|Do|dd?d?d?|hh?|HH?|mm?|ss?)/g,this.match2=/\d\d/,this.match3=/\d{3}/,this.match4=/\d{4}/,this.match1to2=/\d\d?/,this.matchSigned=/[+-]?\d+/,this.matchOffset=/[+-]\d\d:?(\d\d)?|Z/,this.matchWord=/[^\d_:/,\-()\s]+/,this.zoneExpressions=[this.matchOffset,(t,e)=>{t.offset=this.offsetFromString(e)}],this.expressions={t:{pattern:void 0,parser:(t,e)=>{t.afternoon=this.meridiemMatch(e)}},T:{pattern:void 0,parser:(t,e)=>{t.afternoon=this.meridiemMatch(e)}},fff:{pattern:this.match3,parser:(t,e)=>{t.milliseconds=+e}},s:{pattern:this.match1to2,parser:this.addInput("seconds")},ss:{pattern:this.match1to2,parser:this.addInput("seconds")},m:{pattern:this.match1to2,parser:this.addInput("minutes")},mm:{pattern:this.match1to2,parser:this.addInput("minutes")},H:{pattern:this.match1to2,parser:this.addInput("hours")},h:{pattern:this.match1to2,parser:this.addInput("hours")},HH:{pattern:this.match1to2,parser:this.addInput("hours")},hh:{pattern:this.match1to2,parser:this.addInput("hours")},d:{pattern:this.match1to2,parser:this.addInput("day")},dd:{pattern:this.match2,parser:this.addInput("day")},Do:{pattern:this.matchWord,parser:(t,e)=>{if(t.day=+(e.match(/\d+/)[0]||1),this.localization.ordinal)for(let s=1;s<=31;s+=1)this.localization.ordinal(s).replace(/[[\]]/g,"")===e&&(t.day=s)}},M:{pattern:this.match1to2,parser:this.addInput("month")},MM:{pattern:this.match2,parser:this.addInput("month")},MMM:{pattern:this.matchWord,parser:(t,e)=>{const s=this.getAllMonths(),i=(this.getAllMonths("short")||s.map((t=>t.slice(0,3)))).indexOf(e)+1;if(i<1)throw new Error;t.month=i%12||i}},MMMM:{pattern:this.matchWord,parser:(t,e)=>{const s=this.getAllMonths().indexOf(e)+1;if(s<1)throw new Error;t.month=s%12||s}},y:{pattern:this.matchSigned,parser:this.addInput("year")},yy:{pattern:this.match2,parser:(t,e)=>{t.year=this.parseTwoDigitYear(+e)}},yyyy:{pattern:this.match4,parser:this.addInput("year")}}}setLocale(t){return this.localization||(this.localization=a,this.localization.locale=t),this}setLocalization(t){return this.localization=t,this}static convert(t,e="default",s=undefined){if(!t)throw new Error("A date is required");return s||((s=a).locale=e),new l(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()).setLocalization(s)}get clone(){return new l(this.year,this.month,this.date,this.hours,this.minutes,this.seconds,this.getMilliseconds()).setLocalization(this.localization)}static isValid(t){return void 0!==t&&"null"!==JSON.stringify(t)&&t.constructor.name===l.name}startOf(e,s=0){if(void 0===this[e])throw new Error(`Unit '${e}' is not valid`);switch(e){case"seconds":this.setMilliseconds(0);break;case"minutes":this.setSeconds(0,0);break;case"hours":this.setMinutes(0,0,0);break;case"date":this.setHours(0,0,0,0);break;case"weekDay":{if(this.startOf(t.Unit.date),this.weekDay===s)break;const e=(this.weekDay-s+7)%7;this.manipulate(-1*e,t.Unit.date);break}case"month":this.startOf(t.Unit.date),this.setDate(1);break;case"year":this.startOf(t.Unit.date),this.setMonth(0,1)}return this}endOf(e,s=0){if(void 0===this[e])throw new Error(`Unit '${e}' is not valid`);switch(e){case"seconds":this.setMilliseconds(999);break;case"minutes":this.setSeconds(59,999);break;case"hours":this.setMinutes(59,59,999);break;case"date":this.setHours(23,59,59,999);break;case"weekDay":{this.endOf(t.Unit.date);const e=6+s;if(this.weekDay===e)break;this.manipulate(e-this.weekDay,t.Unit.date);break}case"month":this.endOf(t.Unit.date),this.manipulate(1,t.Unit.month),this.setDate(0);break;case"year":this.endOf(t.Unit.date),this.setMonth(11,31)}return this}manipulate(t,e){if(void 0===this[e])throw new Error(`Unit '${e}' is not valid`);return this[e]+=t,this}isBefore(t,e){if(!l.isValid(t))return!1;if(!e)return this.valueOf()<t.valueOf();if(void 0===this[e])throw new Error(`Unit '${e}' is not valid`);return this.clone.startOf(e).valueOf()<t.clone.startOf(e).valueOf()}isAfter(t,e){if(!l.isValid(t))return!1;if(!e)return this.valueOf()>t.valueOf();if(void 0===this[e])throw new Error(`Unit '${e}' is not valid`);return this.clone.startOf(e).valueOf()>t.clone.startOf(e).valueOf()}isSame(t,e){if(!l.isValid(t))return!1;if(!e)return this.valueOf()===t.valueOf();if(void 0===this[e])throw new Error(`Unit '${e}' is not valid`);return t=l.convert(t),this.clone.startOf(e).valueOf()===t.startOf(e).valueOf()}isBetween(t,e,s,i="()"){if(!l.isValid(t)||!l.isValid(e))return!1;if(s&&void 0===this[s])throw new Error(`Unit '${s}' is not valid`);const o="("===i[0],a=")"===i[1],n=o?this.isAfter(t,s):!this.isBefore(t,s),r=a?this.isBefore(e,s):!this.isAfter(e,s);return n&&r}parts(t=this.localization.locale,e={dateStyle:"full",timeStyle:"long"}){const s={};return new Intl.DateTimeFormat(t,e).formatToParts(this).filter((t=>"literal"!==t.type)).forEach((t=>s[t.type]=t.value)),s}get seconds(){return this.getSeconds()}set seconds(t){this.setSeconds(t)}get secondsFormatted(){return this.parts(void 0,n).second}get minutes(){return this.getMinutes()}set minutes(t){this.setMinutes(t)}get minutesFormatted(){return this.parts(void 0,n).minute}get hours(){return this.getHours()}set hours(t){this.setHours(t)}getHoursFormatted(t="h12"){return this.parts(void 0,{...n,hourCycle:t}).hour}meridiem(t=this.localization.locale){return new Intl.DateTimeFormat(t,{hour:"numeric",hour12:!0}).formatToParts(this).find((t=>"dayPeriod"===t.type))?.value}get date(){return this.getDate()}set date(t){this.setDate(t)}get dateFormatted(){return this.parts(void 0,n).day}get weekDay(){return this.getDay()}get month(){return this.getMonth()}set month(t){const e=new Date(this.year,t+1);e.setDate(0);const s=e.getDate();this.date>s&&(this.date=s),this.setMonth(t)}get monthFormatted(){return this.parts(void 0,n).month}get year(){return this.getFullYear()}set year(t){this.setFullYear(t)}get week(){const t=this.computeOrdinal(),e=this.getUTCDay();let s=Math.floor((t-e+10)/7);return s<1?s=this.weeksInWeekYear():s>this.weeksInWeekYear()&&(s=1),s}weeksInWeekYear(){const t=(this.year+Math.floor(this.year/4)-Math.floor(this.year/100)+Math.floor(this.year/400))%7,e=this.year-1,s=(e+Math.floor(e/4)-Math.floor(e/100)+Math.floor(e/400))%7;return 4===t||3===s?53:52}dateToDataValue(){return l.isValid(this)?`${this.year}-${this.month.toString().padStart(2,"0")}-${this.date.toString().padStart(2,"0")}`:""}get isLeapYear(){return this.year%4==0&&(this.year%100!=0||this.year%400==0)}computeOrdinal(){return this.date+(this.isLeapYear?this.leapLadder:this.nonLeapLadder)[this.month]}getAllMonths(t="long"){const e=new Intl.DateTimeFormat(this.localization.locale,{month:t}).format;return[...Array(12).keys()].map((t=>e(new Date(2021,t))))}replaceTokens(t,e){return t.replace(/(\[[^[\]]*])|(LTS?|l{1,4}|L{1,4})/g,((t,s,i)=>{const o=i&&i.toUpperCase();return s||e[o]||a.dateFormats[o]}))}parseTwoDigitYear(t){return t+(t>68?1900:2e3)}offsetFromString(t){if(!t)return 0;if("Z"===t)return 0;const[e,s,i]=t.match(/([+-]|\d\d)/g),o=60*+s+(+i||0);return 0===o?0:"+"===e?-o:o}zoneInformation(t,e){let s=t.parts(this.localization.locale,{timeZoneName:"longOffset"}).timeZoneName.replace("GMT","").replace(":","");const i=s.includes("-");return s=s.replace("-",""),"z"===e?s=s.substring(1,2):"zz"===e&&(s=s.substring(0,2)),`${i?"-":""}${s}`}addInput(t){return(e,s)=>{e[t]=+s}}getLocaleAfternoon(){return new Intl.DateTimeFormat(this.localization.locale,{hour:"numeric",hour12:!0}).formatToParts(new Date(2022,3,4,13)).find((t=>"dayPeriod"===t.type))?.value?.replace(/\s+/g," ")}meridiemMatch(t){return t.toLowerCase()===this.getLocaleAfternoon().toLowerCase()}correctHours(t){const{afternoon:e}=t;if(void 0!==e){const{hours:s}=t;e?s<12&&(t.hours+=12):12===s&&(t.hours=0),delete t.afternoon}}makeParser(t){const e=(t=this.replaceTokens(t,this.localization.dateFormats)).match(this.formattingTokens),{length:s}=e,i=[];for(let t=0;t<s;t+=1){const s=e[t],o=this.expressions[s];i[t]=o?.parser?o:s.replace(/^\[[^[\]]*]$/g,"")}return t=>{const e={hours:0,minutes:0,seconds:0,milliseconds:0};for(let o=0,a=0;o<s;o+=1){const s=i[o];if("string"==typeof s)a+=s.length;else{const i=t.slice(a);let o=i;if(s.pattern){o=s.pattern.exec(i)[0]}s.parser.call(this,e,o),t=t.replace(o,"")}}return this.correctHours(e),e}}static fromString(t,e){e?.format||i.errorMessages.customDateFormatError("No format was provided");try{const s=new l;if(s.setLocalization(e),["x","X"].indexOf(e.format)>-1)return new l(("X"===e.format?1e3:1)*+t);t=t.replace(/\s+/g," ");const i=s.makeParser(e.format),{year:o,month:a,day:n,hours:r,minutes:d,seconds:c,milliseconds:h,zone:p}=i(t),u=n||(o||a?1:s.getDate()),m=o||s.getFullYear();let y=0;return o&&!a||(y=a>0?a-1:s.getMonth()),p?new l(Date.UTC(m,y,u,r,d,c,h+60*p.offset*1e3)):new l(m,y,u,r,d,c,h)}catch(s){i.errorMessages.customDateFormatError(`Unable to parse provided input: ${t}, format: ${e.format}`)}}format(t,e=this.localization.locale){if(t&&"object"==typeof t)return new Intl.DateTimeFormat(e,t).format(this);const s=this.replaceTokens(t||this.localization.format||`${a.dateFormats.L}, ${a.dateFormats.LT}`,this.localization.dateFormats),i=t=>new Intl.DateTimeFormat(this.localization.locale,t).format(this);this.localization.hourCycle||(this.localization.hourCycle=d(this.localization.locale));const o=this.localization.hourCycle.startsWith("h1")?"h24":this.localization.hourCycle,n=this.localization.hourCycle.startsWith("h2")?"h12":this.localization.hourCycle,r={y:this.year,yy:i({year:"2-digit"}),yyyy:this.year,M:i({month:"numeric"}),MM:this.monthFormatted,MMM:this.getAllMonths("short")[this.getMonth()],MMMM:this.getAllMonths()[this.getMonth()],d:this.date,dd:this.dateFormatted,ddd:i({weekday:"short"}),dddd:i({weekday:"long"}),H:this.getHours(),HH:this.getHoursFormatted(o),h:this.hours>12?this.hours-12:this.hours,hh:this.getHoursFormatted(n),t:this.meridiem(),T:this.meridiem().toUpperCase(),m:this.minutes,mm:this.minutesFormatted,s:this.seconds,ss:this.secondsFormatted,fff:this.getMilliseconds()};return s.replace(this.dateTimeRegex,((t,e)=>e||r[t])).replace(/\[/g,"").replace(/]/g,"")}}class c{constructor(){this.cache=new Map}locate(t){const e=this.cache.get(t);if(e)return e;const s=new t;return this.cache.set(t,s),s}}let h;const p=[{name:"calendar",className:i.css.daysContainer,unit:t.Unit.month,step:1},{name:"months",className:i.css.monthsContainer,unit:t.Unit.year,step:1},{name:"years",className:i.css.yearsContainer,unit:t.Unit.year,step:10},{name:"decades",className:i.css.decadesContainer,unit:t.Unit.year,step:100}];class u{constructor(){this._currentCalendarViewMode=0,this._viewDate=new l,this.minimumCalendarViewMode=0,this.currentView="calendar"}get currentCalendarViewMode(){return this._currentCalendarViewMode}set currentCalendarViewMode(t){this._currentCalendarViewMode=t,this.currentView=p[t].name}get viewDate(){return this._viewDate}set viewDate(t){this._viewDate=t,this.options&&(this.options.viewDate=t)}refreshCurrentView(){this.currentView=p[this.currentCalendarViewMode].name}get isTwelveHour(){return["h12","h11"].includes(this.options.localization.hourCycle)}}class m{constructor(){this.optionsStore=h.locate(u)}isValid(e,s){if(!this._enabledDisabledDatesIsValid(s,e))return!1;if(s!==t.Unit.month&&s!==t.Unit.year&&this.optionsStore.options.restrictions.daysOfWeekDisabled?.length>0&&-1!==this.optionsStore.options.restrictions.daysOfWeekDisabled.indexOf(e.weekDay))return!1;if(!this._minMaxIsValid(s,e))return!1;if(s===t.Unit.hours||s===t.Unit.minutes||s===t.Unit.seconds){if(!this._enabledDisabledHoursIsValid(e))return!1;if(0!==this.optionsStore.options.restrictions.disabledTimeIntervals?.filter((t=>e.isBetween(t.from,t.to))).length)return!1}return!0}_enabledDisabledDatesIsValid(e,s){return e!==t.Unit.date||!(this.optionsStore.options.restrictions.disabledDates.length>0&&this._isInDisabledDates(s))&&!(this.optionsStore.options.restrictions.enabledDates.length>0&&!this._isInEnabledDates(s))}_isInDisabledDates(e){return!(!this.optionsStore.options.restrictions.disabledDates||0===this.optionsStore.options.restrictions.disabledDates.length)&&!!this.optionsStore.options.restrictions.disabledDates.find((s=>s.isSame(e,t.Unit.date)))}_isInEnabledDates(e){return!this.optionsStore.options.restrictions.enabledDates||0===this.optionsStore.options.restrictions.enabledDates.length||!!this.optionsStore.options.restrictions.enabledDates.find((s=>s.isSame(e,t.Unit.date)))}_minMaxIsValid(t,e){return(!this.optionsStore.options.restrictions.minDate||!e.isBefore(this.optionsStore.options.restrictions.minDate,t))&&(!this.optionsStore.options.restrictions.maxDate||!e.isAfter(this.optionsStore.options.restrictions.maxDate,t))}_enabledDisabledHoursIsValid(t){return!(this.optionsStore.options.restrictions.disabledHours.length>0&&this._isInDisabledHours(t))&&!(this.optionsStore.options.restrictions.enabledHours.length>0&&!this._isInEnabledHours(t))}_isInDisabledHours(t){if(!this.optionsStore.options.restrictions.disabledHours||0===this.optionsStore.options.restrictions.disabledHours.length)return!1;const e=t.hours;return this.optionsStore.options.restrictions.disabledHours.includes(e)}_isInEnabledHours(t){if(!this.optionsStore.options.restrictions.enabledHours||0===this.optionsStore.options.restrictions.enabledHours.length)return!0;const e=t.hours;return this.optionsStore.options.restrictions.enabledHours.includes(e)}dateRangeIsValid(e,s,i){if(!this.optionsStore.options.dateRange)return!0;if(2!==e.length&&1!==s)return!0;const o=e[0].clone;if(o.isSame(i,t.Unit.date))return!0;for(o.manipulate(1,t.Unit.date);!o.isSame(i,t.Unit.date);){if(!this.isValid(o,t.Unit.date))return!1;o.manipulate(1,t.Unit.date)}return!0}}class y{constructor(){this.subscribers=[]}subscribe(t){return this.subscribers.push(t),this.unsubscribe.bind(this,this.subscribers.length-1)}unsubscribe(t){this.subscribers.splice(t,1)}emit(t){this.subscribers.forEach((e=>{e(t)}))}destroy(){this.subscribers=null,this.subscribers=[]}}class g{constructor(){this.triggerEvent=new y,this.viewUpdate=new y,this.updateDisplay=new y,this.action=new y,this.updateViewDate=new y}destroy(){this.triggerEvent.destroy(),this.viewUpdate.destroy(),this.updateDisplay.destroy(),this.action.destroy(),this.updateViewDate.destroy()}}const v={clear:"Clear selection",close:"Close the picker",dateFormats:a.dateFormats,dayViewHeaderFormat:{month:"long",year:"2-digit"},decrementHour:"Decrement Hour",decrementMinute:"Decrement Minute",decrementSecond:"Decrement Second",format:a.format,hourCycle:a.hourCycle,incrementHour:"Increment Hour",incrementMinute:"Increment Minute",incrementSecond:"Increment Second",locale:a.locale,maxWeekdayLength:0,nextCentury:"Next Century",nextDecade:"Next Decade",nextMonth:"Next Month",nextYear:"Next Year",ordinal:a.ordinal,pickHour:"Pick Hour",pickMinute:"Pick Minute",pickSecond:"Pick Second",previousCentury:"Previous Century",previousDecade:"Previous Decade",previousMonth:"Previous Month",previousYear:"Previous Year",selectDate:"Select Date",selectDecade:"Select Decade",selectMonth:"Select Month",selectTime:"Select Time",selectYear:"Select Year",startOfTheWeek:0,today:"Go to today",toggleMeridiem:"Toggle Meridiem",toggleAriaLabel:"Change date"},f={allowInputToggle:!1,container:void 0,dateRange:!1,debug:!1,defaultDate:void 0,display:{icons:{type:"icons",time:"fa-solid fa-clock",date:"fa-solid fa-calendar",up:"fa-solid fa-arrow-up",down:"fa-solid fa-arrow-down",previous:"fa-solid fa-chevron-left",next:"fa-solid fa-chevron-right",today:"fa-solid fa-calendar-check",clear:"fa-solid fa-trash",close:"fa-solid fa-xmark"},sideBySide:!1,calendarWeeks:!1,viewMode:"calendar",toolbarPlacement:"bottom",keepOpen:!1,buttons:{today:!1,clear:!1,close:!1},components:{calendar:!0,date:!0,month:!0,year:!0,decades:!0,clock:!0,hours:!0,minutes:!0,seconds:!1,useTwentyfourHour:void 0},inline:!1,theme:"auto",placement:"bottom",keyboardNavigation:!0},keepInvalid:!1,localization:v,meta:{},multipleDates:!1,multipleDatesSeparator:"; ",promptTimeOnDateChange:!1,promptTimeOnDateChangeTransitionDelay:200,restrictions:{minDate:void 0,maxDate:void 0,disabledDates:[],enabledDates:[],daysOfWeekDisabled:[],disabledTimeIntervals:[],disabledHours:[],enabledHours:[]},stepping:1,useCurrent:!0,viewDate:new l},S={...v};function w(t,e){if(!t)return null;if(t.constructor.name===l.name)return t;if(t.constructor.name===Date.name)return l.convert(t);if("string"==typeof t){const s=l.fromString(t,e);return"null"===JSON.stringify(s)?null:s}return null}function b(t,e,s){"string"==typeof t&&"input"!==e&&i.errorMessages.dateString();const o=w(t,s);return o||i.errorMessages.failedToParseDate(e,t,"input"===e),o}function D(t,e,s,o=a){Array.isArray(e)||i.errorMessages.typeMismatch(t,s,"array of DateTime or Date");for(let s=0;s<e.length;s++){const i=b(e[s],t,o);i.setLocalization(o),e[s]=i}}function k(t,e,s){Array.isArray(e)&&!e.some((t=>"number"!=typeof t))||i.errorMessages.typeMismatch(t,s,"array of numbers")}function _(t){return({value:e,localization:s})=>{const i=b(e,t,s);if(void 0!==i)return i.setLocalization(s),i}}function C(t){const e=_(t);return t=>void 0===t.value?t.value:e(t)}function E(t,e,s){return({value:o,providedType:a})=>void 0===o?[]:(k(t,o,a),o.some((t=>t<e||t>s))&&i.errorMessages.numbersOutOfRange(t,e,s),o)}function M(t){return E(t,0,23)}function L(t){return({value:e,providedType:s,localization:i})=>void 0===e?[]:(D(t,e,s,i),e)}function T(t){return({value:e,path:s})=>(t.includes(e)||i.errorMessages.unexpectedOptionValue(s.substring(1),e,t),e)}const U=Object.freeze({defaultDate:_("defaultDate"),viewDate:_("viewDate"),minDate:C("restrictions.minDate"),maxDate:C("restrictions.maxDate"),disabledHours:M("restrictions.disabledHours"),enabledHours:M("restrictions.enabledHours"),disabledDates:L("restrictions.disabledDates"),enabledDates:L("restrictions.enabledDates"),daysOfWeekDisabled:E("restrictions.daysOfWeekDisabled",0,6),disabledTimeIntervals:({key:t,value:e,providedType:s,localization:o})=>{if(void 0===e)return[];Array.isArray(e)||i.errorMessages.typeMismatch(t,s,"array of { from: DateTime|Date, to: DateTime|Date }");const a=e;for(let e=0;e<a.length;e++)Object.keys(a[e]).forEach((s=>{const i=`${t}[${e}].${s}`,n=b(a[e][s],i,o);n.setLocalization(o),a[e][s]=n}));return a},toolbarPlacement:T(["top","bottom","default"]),type:T(["icons","sprites"]),viewMode:T(["clock","calendar","months","years","decades"]),theme:T(["light","dark","auto"]),placement:T(["top","bottom"]),meta:({value:t})=>t,dayViewHeaderFormat:({value:t})=>t,container:({value:t,path:e})=>(t&&!(t instanceof HTMLElement||t instanceof Element||t?.appendChild)&&i.errorMessages.typeMismatch(e.substring(1),typeof t,"HTMLElement"),t),useTwentyfourHour:({value:t,path:e,providedType:s,defaultType:o})=>{if(i.errorMessages.deprecatedWarning("useTwentyfourHour",'Please use "options.localization.hourCycle" instead'),void 0===t||"boolean"===s)return t;i.errorMessages.typeMismatch(e,s,o)},hourCycle:T(["h11","h12","h23","h24"])}),A=({value:t,defaultType:e,providedType:s,path:o})=>{switch(e){case"boolean":return"true"===t||!0===t;case"number":return+t;case"string":return t.toString();case"object":return{};case"function":return t;default:i.errorMessages.typeMismatch(o,s,e)}};class V{static deepCopy(t){const e={};return Object.keys(t).forEach((s=>{const i=t[s];i instanceof l?e[s]=i.clone:i instanceof Date?e[s]=new Date(i.valueOf()):(e[s]=i,"object"!=typeof i||i instanceof HTMLElement||i instanceof Element||Array.isArray(i)||(e[s]=V.deepCopy(i)))})),e}static objectPath(t,e){return"."===t.charAt(0)&&(t=t.slice(1)),t?t.split(".").reduce(((t,e)=>V.isValue(t)||V.isValue(t[e])?t[e]:void 0),e):e}static spread(t,e,s,o=""){const a=V.objectPath(o,f),n=Object.keys(t).filter((t=>!Object.keys(a).includes(t)));if(n.length>0){const t=V.getFlattenDefaultOptions(),e=n.map((e=>{let s=`"${o}${o?".":""}${e}" is not a known option.`;const i=t.find((t=>t.includes(e)));return i&&(s+=` Did you mean "${i}"?`),s}));i.errorMessages.unexpectedOptions(e)}Object.keys(t).filter((t=>"__proto__"!==t&&"constructor"!==t)).forEach((i=>{"."===(o+=`.${i}`).charAt(0)&&(o=o.slice(1));const n=a[i],r=typeof t[i],d=typeof n,l=t[i];if(null==l)return e[i]=l,void(o=o.substring(0,o.lastIndexOf(`.${i}`)));"object"!=typeof n||Array.isArray(t[i])||n instanceof Date||V.ignoreProperties.includes(i)?e[i]=V.processKey(i,l,r,d,o,s):V.spread(t[i],e[i],s,o),o=o.substring(0,o.lastIndexOf(`.${i}`))}))}static processKey(t,e,s,i,o,a){return(U[(n={key:t,value:e,providedType:s,defaultType:i,path:o,localization:a}).key]||A)(n);var n}static _mergeOptions(t,e){const s=V.deepCopy(e),i="default"!==e.localization?.locale?e.localization:t?.localization||f.localization;return V.spread(t,s,i,""),s}static _dataToOptions(t,e){const s=JSON.parse(JSON.stringify(t.dataset));if(s?.tdTargetInput&&delete s.tdTargetInput,s?.tdTargetToggle&&delete s.tdTargetToggle,!s||0===Object.keys(s).length)return e;const o={},a=t=>{const e={};return Object.keys(t).forEach((t=>{e[t.toLowerCase()]=t})),e},n=this.normalizeObject(a),r=a(e);return Object.keys(s).filter((t=>t.startsWith(i.dataKey))).map((t=>t.substring(2))).forEach((t=>{let i=r[t.toLowerCase()];if(t.includes("_")){const a=t.split("_");i=r[a[0].toLowerCase()],void 0!==i&&e[i].constructor===Object&&(o[i]=n(a,1,e[i],s[`td${t}`]))}else void 0!==i&&(o[i]=s[`td${t}`])})),this._mergeOptions(o,e)}static normalizeObject(t){const e=(s,i,o,a)=>{const n=t(o)[s[i].toLowerCase()],r={};return void 0===n||(o[n]?.constructor===Object?(i++,r[n]=e(s,i,o[n],a)):r[n]=a),r};return e}static _dateTypeCheck(t,e){return w(t,e)}static _typeCheckDateArray(t,e,s,i){return D(t,e,s,i)}static _typeCheckNumberArray(t,e,s){return k(t,e,s)}static dateConversion(t,e,s){return b(t,e,s)}static getFlattenDefaultOptions(){if(this._flattenDefaults)return this._flattenDefaults;const t=(e,s=[])=>Array.isArray(e)?[]:Object(e)===e?Object.entries(e).flatMap((([e,i])=>t(i,[...s,e]))):s.join(".");return this._flattenDefaults=t(f),this._flattenDefaults}static _validateConflicts(t){!t.display.sideBySide||t.display.components.clock&&(t.display.components.hours||t.display.components.minutes||t.display.components.seconds)||i.errorMessages.conflictingConfiguration("Cannot use side by side mode without the clock components"),t.restrictions.minDate&&t.restrictions.maxDate&&(t.restrictions.minDate.isAfter(t.restrictions.maxDate)&&i.errorMessages.conflictingConfiguration("minDate is after maxDate"),t.restrictions.maxDate.isBefore(t.restrictions.minDate)&&i.errorMessages.conflictingConfiguration("maxDate is before minDate")),t.multipleDates&&t.dateRange&&i.errorMessages.conflictingConfiguration('Cannot uss option "multipleDates" with "dateRange"')}}V.ignoreProperties=["meta","dayViewHeaderFormat","container","dateForms","ordinal"],V.isValue=t=>null!=t;class x{constructor(){this._dates=[],this.optionsStore=h.locate(u),this.validation=h.locate(m),this._eventEmitters=h.locate(g)}get picked(){return[...this._dates]}get lastPicked(){return this._dates[this.lastPickedIndex]?.clone}get lastPickedIndex(){return 0===this._dates.length?0:this._dates.length-1}formatInput(t){return t?(t.localization=this.optionsStore.options.localization,t.format()):""}parseInput(t){try{return V.dateConversion(t,"input",this.optionsStore.options.localization)}catch(e){return void this._eventEmitters.triggerEvent.emit({type:i.events.error,reason:i.errorMessages.failedToParseInput,format:this.optionsStore.options.localization.format,value:t})}}setFromInput(t,e){if(!t)return void this.setValue(void 0,e);const s=this.parseInput(t);s&&(s.setLocalization(this.optionsStore.options.localization),this.setValue(s,e))}add(t){this._dates.push(t)}isPicked(t,e){if(!l.isValid(t))return!1;if(!e)return void 0!==this._dates.find((e=>e.isSame(t)));const s=r(e),i=t.format(s);return void 0!==this._dates.map((t=>t.format(s))).find((t=>t===i))}pickedIndex(t,e){if(!l.isValid(t))return-1;if(!e)return this._dates.map((t=>t.valueOf())).indexOf(t.valueOf());const s=r(e),i=t.format(s);return this._dates.map((t=>t.format(s))).indexOf(i)}clear(){this.optionsStore.unset=!0,this._eventEmitters.triggerEvent.emit({type:i.events.change,date:void 0,oldDate:this.lastPicked,isClear:!0,isValid:!0}),this._dates=[],this.optionsStore.input&&(this.optionsStore.input.value=""),this._eventEmitters.updateDisplay.emit("all")}static getStartEndYear(t,e){const s=t/10,i=Math.floor(e/t)*t;return[i,i+9*s,Math.floor(e/s)*s]}updateInput(t){if(!this.optionsStore.input)return;let e=this.formatInput(t);(this.optionsStore.options.multipleDates||this.optionsStore.options.dateRange)&&(e=this._dates.map((t=>this.formatInput(t))).join(this.optionsStore.options.multipleDatesSeparator)),this.optionsStore.input.value!=e&&(this.optionsStore.input.value=e)}setValue(e,s){const o=void 0===s,a=!e&&o;let n=this.optionsStore.unset?null:this._dates[s]?.clone;if(!n&&!this.optionsStore.unset&&o&&a&&(n=this.lastPicked),e&&n?.isSame(e))return void this.updateInput(e);if(!e)return void this._setValueNull(a,s,n);s=s||0,e=e.clone,1!==this.optionsStore.options.stepping&&(e.minutes=Math.round(e.minutes/this.optionsStore.options.stepping)*this.optionsStore.options.stepping,e.startOf(t.Unit.minutes));const r=t=>{this._dates[s]=e,this._eventEmitters.updateViewDate.emit(e.clone),this.updateInput(e),this.optionsStore.unset=!1,this._eventEmitters.updateDisplay.emit("all"),this._eventEmitters.triggerEvent.emit({type:i.events.change,date:e,oldDate:n,isClear:a,isValid:t})};this.validation.isValid(e)&&this.validation.dateRangeIsValid(this.picked,s,e)?r(!0):(this.optionsStore.options.keepInvalid&&r(!1),this._eventEmitters.triggerEvent.emit({type:i.events.error,reason:i.errorMessages.failedToSetInvalidDate,date:e,oldDate:n}))}_setValueNull(t,e,s){!this.optionsStore.options.multipleDates||1===this._dates.length||t?(this.optionsStore.unset=!0,this._dates=[]):this._dates.splice(e,1),this.updateInput(),this._eventEmitters.triggerEvent.emit({type:i.events.change,date:void 0,oldDate:s,isClear:t,isValid:!0}),this._eventEmitters.updateDisplay.emit("all")}}var $;!function(t){t.next="next",t.previous="previous",t.changeCalendarView="changeCalendarView",t.selectMonth="selectMonth",t.selectYear="selectYear",t.selectDecade="selectDecade",t.selectDay="selectDay",t.selectHour="selectHour",t.selectMinute="selectMinute",t.selectSecond="selectSecond",t.incrementHours="incrementHours",t.incrementMinutes="incrementMinutes",t.incrementSeconds="incrementSeconds",t.decrementHours="decrementHours",t.decrementMinutes="decrementMinutes",t.decrementSeconds="decrementSeconds",t.toggleMeridiem="toggleMeridiem",t.togglePicker="togglePicker",t.showClock="showClock",t.showHours="showHours",t.showMinutes="showMinutes",t.showSeconds="showSeconds",t.clear="clear",t.close="close",t.today="today"}($||($={}));var I=$;class O{constructor(){this.optionsStore=h.locate(u),this.dates=h.locate(x),this.validation=h.locate(m)}getPicker(){const t=document.createElement("div");if(t.classList.add(i.css.daysContainer),t.role="grid",t.append(...this._daysOfTheWeek()),this.optionsStore.options.display.calendarWeeks){const e=document.createElement("div");e.classList.add(i.css.calendarWeeks,i.css.noHighlight),t.appendChild(e)}const{rangeHoverEvent:e,rangeHoverOutEvent:s}=this.handleMouseEvents(t);for(let o=0;o<42;o++){if(0!==o&&o%7==0&&this.optionsStore.options.display.calendarWeeks){const e=document.createElement("div");e.classList.add(i.css.calendarWeeks,i.css.noHighlight),e.tabIndex=-1,t.appendChild(e)}const a=document.createElement("div");a.setAttribute("data-action",I.selectDay),a.role="gridcell",a.tabIndex=-1,t.appendChild(a),matchMedia("(hover: hover)").matches&&this.optionsStore.options.dateRange&&(a.addEventListener("mouseover",e),a.addEventListener("mouseout",s))}return t}_update(e,s){const o=e.getElementsByClassName(i.css.daysContainer)[0];this._updateCalendarView(o);const a=this.optionsStore.viewDate.clone.startOf(t.Unit.month).startOf("weekDay",this.optionsStore.options.localization.startOfTheWeek).manipulate(12,t.Unit.hours);this._handleCalendarWeeks(o,a.clone),o.querySelectorAll(`[data-action="${I.selectDay}"]`).forEach((e=>{const o=[];o.push(i.css.day),a.isBefore(this.optionsStore.viewDate,t.Unit.month)&&o.push(i.css.old),a.isAfter(this.optionsStore.viewDate,t.Unit.month)&&o.push(i.css.new),this.optionsStore.unset||this.optionsStore.options.dateRange||!this.dates.isPicked(a,t.Unit.date)||o.push(i.css.active),this.validation.isValid(a,t.Unit.date)||o.push(i.css.disabled),a.isSame(new l,t.Unit.date)&&o.push(i.css.today),0!==a.weekDay&&6!==a.weekDay||o.push(i.css.weekend),this._handleDateRange(a,o),s(t.Unit.date,a,o,e),e.classList.remove(...e.classList),e.classList.add(...o),e.setAttribute("data-value",a.dateToDataValue()),e.setAttribute("data-day",`${a.date}`),e.innerText=a.parts(void 0,{day:"numeric"}).day,e.ariaLabel=a.format("MMMM dd, yyyy"),a.manipulate(1,t.Unit.date)}))}_handleDateRange(e,s){const o=this.dates.picked[0],a=this.dates.picked[1];this.optionsStore.options.dateRange&&(e.isBetween(o,a,t.Unit.date)&&s.push(i.css.rangeIn),e.isSame(o,t.Unit.date)&&s.push(i.css.rangeStart),e.isSame(a,t.Unit.date)&&s.push(i.css.rangeEnd))}handleMouseEvents(e){return{rangeHoverEvent:s=>{const o=s?.currentTarget;if(1!==this.dates.picked.length||o.classList.contains(i.css.disabled))return;const a=[...e.querySelectorAll(".day")],n=o.getAttribute("data-value"),r=l.fromString(n,{format:"yyyy-MM-dd"}),d=a.findIndex((t=>t.getAttribute("data-value")===n)),c=this.dates.picked[0],h=this.dates.picked[1],p=c.dateToDataValue(),u=a.findIndex((t=>t.getAttribute("data-value")===p)),m=a[u];let y;r.isSame(c,t.Unit.date)||o.classList.remove(i.css.rangeStart),r.isSame(h,t.Unit.date)||o.classList.remove(i.css.rangeEnd),r.isBefore(c)?(o.classList.add(i.css.rangeStart),m?.classList.remove(i.css.rangeStart),m?.classList.add(i.css.rangeEnd),y=(t,e)=>e>d&&e<u):(o.classList.add(i.css.rangeEnd),m?.classList.remove(i.css.rangeEnd),m?.classList.add(i.css.rangeStart),y=(t,e)=>e<d&&e>u),a.filter(y).forEach((t=>{t.classList.add(i.css.rangeIn)}))},rangeHoverOutEvent:s=>{const o=[...e.querySelectorAll(".day")];if(1===this.dates.picked.length&&o.forEach((t=>t.classList.remove(i.css.rangeIn))),1!==this.dates.picked.length)return;const a=s?.currentTarget,n=new l(a.getAttribute("data-value"));n.isSame(this.dates.picked[0],t.Unit.date)||a.classList.remove(i.css.rangeStart),n.isSame(this.dates.picked[1],t.Unit.date)||a.classList.remove(i.css.rangeEnd)}}}_updateCalendarView(e){if("calendar"!==this.optionsStore.currentView)return;const[s,o,a]=e.parentElement.getElementsByClassName(i.css.calendarHeader)[0].getElementsByTagName("div");o.setAttribute(i.css.daysContainer,this.optionsStore.viewDate.format(this.optionsStore.options.localization.dayViewHeaderFormat)),this.optionsStore.options.display.components.month?o.classList.remove(i.css.disabled):o.classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(-1,t.Unit.month),t.Unit.month)?s.classList.remove(i.css.disabled):s.classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(1,t.Unit.month),t.Unit.month)?a.classList.remove(i.css.disabled):a.classList.add(i.css.disabled)}_daysOfTheWeek(){const e=this.optionsStore.viewDate.clone.startOf("weekDay",this.optionsStore.options.localization.startOfTheWeek).startOf(t.Unit.date),s=[];if(document.createElement("div"),this.optionsStore.options.display.calendarWeeks){const t=document.createElement("div");t.classList.add(i.css.calendarWeeks,i.css.noHighlight),t.innerText="#",s.push(t)}for(let o=0;o<7;o++){const o=document.createElement("div");o.classList.add(i.css.dayOfTheWeek,i.css.noHighlight);let a=e.format({weekday:"short"});this.optionsStore.options.localization.maxWeekdayLength>0&&(a=a.substring(0,this.optionsStore.options.localization.maxWeekdayLength)),o.innerText=a,o.ariaLabel=e.format({weekday:"long"}),e.manipulate(1,t.Unit.date),s.push(o)}return s}_handleCalendarWeeks(e,s){[...e.querySelectorAll(`.${i.css.calendarWeeks}`)].filter((t=>"#"!==t.innerText)).forEach((e=>{e.innerText=`${s.week}`,s.manipulate(7,t.Unit.date)}))}}class z{constructor(){this.optionsStore=h.locate(u),this.dates=h.locate(x),this.validation=h.locate(m)}getPicker(){const t=document.createElement("div");t.classList.add(i.css.monthsContainer);for(let e=0;e<12;e++){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.selectMonth),t.appendChild(e)}return t}_update(e,s){const o=e.getElementsByClassName(i.css.monthsContainer)[0];if("months"===this.optionsStore.currentView){const[e,s,a]=o.parentElement.getElementsByClassName(i.css.calendarHeader)[0].getElementsByTagName("div");s.setAttribute(i.css.monthsContainer,this.optionsStore.viewDate.format({year:"numeric"})),this.optionsStore.options.display.components.year?s.classList.remove(i.css.disabled):s.classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(-1,t.Unit.year),t.Unit.year)?e.classList.remove(i.css.disabled):e.classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(1,t.Unit.year),t.Unit.year)?a.classList.remove(i.css.disabled):a.classList.add(i.css.disabled)}const a=this.optionsStore.viewDate.clone.startOf(t.Unit.year);o.querySelectorAll(`[data-action="${I.selectMonth}"]`).forEach(((e,o)=>{const n=[];n.push(i.css.month),!this.optionsStore.unset&&this.dates.isPicked(a,t.Unit.month)&&n.push(i.css.active),this.validation.isValid(a,t.Unit.month)||n.push(i.css.disabled),s(t.Unit.month,a,n,e),e.classList.remove(...e.classList),e.classList.add(...n),e.setAttribute("data-value",`${o}`),e.innerText=`${a.format({month:"short"})}`,a.manipulate(1,t.Unit.month)}))}}class H{constructor(){this.optionsStore=h.locate(u),this.dates=h.locate(x),this.validation=h.locate(m)}getPicker(){const t=document.createElement("div");t.classList.add(i.css.yearsContainer);for(let e=0;e<12;e++){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.selectYear),t.appendChild(e)}return t}_update(e,s){this._startYear=this.optionsStore.viewDate.clone.manipulate(-1,t.Unit.year),this._endYear=this.optionsStore.viewDate.clone.manipulate(10,t.Unit.year);const o=e.getElementsByClassName(i.css.yearsContainer)[0];if("years"===this.optionsStore.currentView){const[e,s,a]=o.parentElement.getElementsByClassName(i.css.calendarHeader)[0].getElementsByTagName("div");s.setAttribute(i.css.yearsContainer,`${this._startYear.format({year:"numeric"})}-${this._endYear.format({year:"numeric"})}`),this.optionsStore.options.display.components.decades?s.classList.remove(i.css.disabled):s.classList.add(i.css.disabled),this.validation.isValid(this._startYear,t.Unit.year)?e.classList.remove(i.css.disabled):e.classList.add(i.css.disabled),this.validation.isValid(this._endYear,t.Unit.year)?a.classList.remove(i.css.disabled):a.classList.add(i.css.disabled)}const a=this.optionsStore.viewDate.clone.startOf(t.Unit.year).manipulate(-1,t.Unit.year);o.querySelectorAll(`[data-action="${I.selectYear}"]`).forEach((e=>{const o=[];o.push(i.css.year),!this.optionsStore.unset&&this.dates.isPicked(a,t.Unit.year)&&o.push(i.css.active),this.validation.isValid(a,t.Unit.year)||o.push(i.css.disabled),s(t.Unit.year,a,o,e),e.classList.remove(...e.classList),e.classList.add(...o),e.setAttribute("data-value",`${a.year}`),e.innerText=a.format({year:"numeric"}),a.manipulate(1,t.Unit.year)}))}}class P{constructor(){this.optionsStore=h.locate(u),this.dates=h.locate(x),this.validation=h.locate(m)}getPicker(){const t=document.createElement("div");t.classList.add(i.css.decadesContainer);for(let e=0;e<12;e++){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.selectDecade),t.appendChild(e)}return t}_update(e,s){const[o,a]=x.getStartEndYear(100,this.optionsStore.viewDate.year);this._startDecade=this.optionsStore.viewDate.clone.startOf(t.Unit.year),this._startDecade.year=o,this._endDecade=this.optionsStore.viewDate.clone.startOf(t.Unit.year),this._endDecade.year=a;const n=e.getElementsByClassName(i.css.decadesContainer)[0],[r,d,l]=n.parentElement.getElementsByClassName(i.css.calendarHeader)[0].getElementsByTagName("div"),c=this.validation.isValid(this._startDecade,t.Unit.year);"decades"===this.optionsStore.currentView&&(d.setAttribute(i.css.decadesContainer,`${this._startDecade.format({year:"numeric"})}-${this._endDecade.format({year:"numeric"})}`),c?r.classList.remove(i.css.disabled):r.classList.add(i.css.disabled),this.validation.isValid(this._endDecade,t.Unit.year)?l.classList.remove(i.css.disabled):l.classList.add(i.css.disabled));const h=this.dates.picked.map((t=>t.year));n.querySelectorAll(`[data-action="${I.selectDecade}"]`).forEach(((e,o)=>{if(0===o)return e.classList.add(i.css.old),void(this._startDecade.year-10<0&&(e.textContent=" ",r.classList.add(i.css.disabled),e.classList.add(i.css.disabled),e.setAttribute("data-value","")));const a=[];a.push(i.css.decade);const n=this._startDecade.year,d=this._startDecade.year+9;!this.optionsStore.unset&&h.filter((t=>t>=n&&t<=d)).length>0&&a.push(i.css.active),c||this.validation.isValid(this._startDecade.clone.manipulate(10,t.Unit.year),t.Unit.year)||a.push(i.css.disabled),s("decade",this._startDecade,a,e),e.classList.remove(...e.classList),e.classList.add(...a),e.setAttribute("data-value",`${this._startDecade.year}`),e.innerText=`${this._startDecade.format({year:"numeric"})}`,this._startDecade.manipulate(10,t.Unit.year)}))}}class N{constructor(){this._gridColumns="",this.optionsStore=h.locate(u),this.dates=h.locate(x),this.validation=h.locate(m)}getPicker(t){const e=document.createElement("div");return e.classList.add(i.css.clockContainer),e.append(...this._grid(t)),e}_update(e){const s=e.getElementsByClassName(i.css.clockContainer)[0];let o=this.dates.lastPicked?.clone;if(!o&&this.optionsStore.options.useCurrent&&(o=this.optionsStore.viewDate.clone),s.querySelectorAll(".disabled").forEach((t=>t.classList.remove(i.css.disabled))),this.optionsStore.options.display.components.hours&&(this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(1,t.Unit.hours),t.Unit.hours)||s.querySelector(`[data-action=${I.incrementHours}]`).classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(-1,t.Unit.hours),t.Unit.hours)||s.querySelector(`[data-action=${I.decrementHours}]`).classList.add(i.css.disabled),s.querySelector(`[data-time-component=${t.Unit.hours}]`).innerText=o?o.getHoursFormatted(this.optionsStore.options.localization.hourCycle):"--"),this.optionsStore.options.display.components.minutes&&(this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(1,t.Unit.minutes),t.Unit.minutes)||s.querySelector(`[data-action=${I.incrementMinutes}]`).classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(-1,t.Unit.minutes),t.Unit.minutes)||s.querySelector(`[data-action=${I.decrementMinutes}]`).classList.add(i.css.disabled),s.querySelector(`[data-time-component=${t.Unit.minutes}]`).innerText=o?o.minutesFormatted:"--"),this.optionsStore.options.display.components.seconds&&(this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(1,t.Unit.seconds),t.Unit.seconds)||s.querySelector(`[data-action=${I.incrementSeconds}]`).classList.add(i.css.disabled),this.validation.isValid(this.optionsStore.viewDate.clone.manipulate(-1,t.Unit.seconds),t.Unit.seconds)||s.querySelector(`[data-action=${I.decrementSeconds}]`).classList.add(i.css.disabled),s.querySelector(`[data-time-component=${t.Unit.seconds}]`).innerText=o?o.secondsFormatted:"--"),this.optionsStore.isTwelveHour){const e=s.querySelector(`[data-action=${I.toggleMeridiem}]`),a=(o||this.optionsStore.viewDate).clone;e.innerText=a.meridiem(),this.validation.isValid(a.manipulate(a.hours>=12?-12:12,t.Unit.hours))?e.classList.remove(i.css.disabled):e.classList.add(i.css.disabled)}s.style.gridTemplateAreas=`"${this._gridColumns}"`}_grid(e){this._gridColumns="";const s=[],o=[],a=[],n=document.createElement("div"),r=e(this.optionsStore.options.display.icons.up),d=e(this.optionsStore.options.display.icons.down);n.classList.add(i.css.separator,i.css.noHighlight);const l=n.cloneNode(!0);l.innerHTML=":";const c=(t=!1)=>t?l.cloneNode(!0):n.cloneNode(!0);if(this.optionsStore.options.display.components.hours){let e=document.createElement("div");e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.incrementHour),e.setAttribute("data-action",I.incrementHours),e.appendChild(r.cloneNode(!0)),s.push(e),e=document.createElement("div"),e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.pickHour),e.setAttribute("data-action",I.showHours),e.setAttribute("data-time-component",t.Unit.hours),o.push(e),e=document.createElement("div"),e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.decrementHour),e.setAttribute("data-action",I.decrementHours),e.appendChild(d.cloneNode(!0)),a.push(e),this._gridColumns+="a"}if(this.optionsStore.options.display.components.minutes){this._gridColumns+=" a",this.optionsStore.options.display.components.hours&&(s.push(c()),o.push(c(!0)),a.push(c()),this._gridColumns+=" a");let e=document.createElement("div");e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.incrementMinute),e.setAttribute("data-action",I.incrementMinutes),e.appendChild(r.cloneNode(!0)),s.push(e),e=document.createElement("div"),e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.pickMinute),e.setAttribute("data-action",I.showMinutes),e.setAttribute("data-time-component",t.Unit.minutes),o.push(e),e=document.createElement("div"),e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.decrementMinute),e.setAttribute("data-action",I.decrementMinutes),e.appendChild(d.cloneNode(!0)),a.push(e)}if(this.optionsStore.options.display.components.seconds){this._gridColumns+=" a",this.optionsStore.options.display.components.minutes&&(s.push(c()),o.push(c(!0)),a.push(c()),this._gridColumns+=" a");let e=document.createElement("div");e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.incrementSecond),e.setAttribute("data-action",I.incrementSeconds),e.appendChild(r.cloneNode(!0)),s.push(e),e=document.createElement("div"),e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.pickSecond),e.setAttribute("data-action",I.showSeconds),e.setAttribute("data-time-component",t.Unit.seconds),o.push(e),e=document.createElement("div"),e.tabIndex=-1,e.setAttribute("title",this.optionsStore.options.localization.decrementSecond),e.setAttribute("data-action",I.decrementSeconds),e.appendChild(d.cloneNode(!0)),a.push(e)}if(this.optionsStore.isTwelveHour){this._gridColumns+=" a";let t=c();s.push(t);const e=document.createElement("button");e.tabIndex=-1,e.setAttribute("type","button"),e.setAttribute("title",this.optionsStore.options.localization.toggleMeridiem),e.setAttribute("data-action",I.toggleMeridiem),e.setAttribute("tabindex","-1"),i.css.toggleMeridiem.includes(",")?e.classList.add(...i.css.toggleMeridiem.split(",")):e.classList.add(i.css.toggleMeridiem),t=document.createElement("div"),t.classList.add(i.css.noHighlight),t.appendChild(e),o.push(t),t=c(),a.push(t)}return this._gridColumns=this._gridColumns.trim(),[...s,...o,...a]}}class F{constructor(){this.optionsStore=h.locate(u),this.validation=h.locate(m),this.dates=h.locate(x)}getPicker(){const t=document.createElement("div");t.classList.add(i.css.hourContainer);for(let e=0;e<(this.optionsStore.isTwelveHour?12:24);e++){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.selectHour),t.appendChild(e)}return t}_update(e,s){const o=e.getElementsByClassName(i.css.hourContainer)[0],a=this.optionsStore.viewDate.clone.startOf(t.Unit.date);o.querySelectorAll(`[data-action="${I.selectHour}"]`).forEach((e=>{const o=[];o.push(i.css.hour),this.validation.isValid(a,t.Unit.hours)||o.push(i.css.disabled),s(t.Unit.hours,a,o,e),e.classList.remove(...e.classList),e.classList.add(...o),e.setAttribute("data-value",`${a.hours}`),e.innerText=a.getHoursFormatted(this.optionsStore.options.localization.hourCycle),a.manipulate(1,t.Unit.hours)}))}}class B{constructor(){this.optionsStore=h.locate(u),this.validation=h.locate(m)}getPicker(){const t=document.createElement("div");t.classList.add(i.css.minuteContainer);const e=1===this.optionsStore.options.stepping?5:this.optionsStore.options.stepping;for(let s=0;s<60/e;s++){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.selectMinute),t.appendChild(e)}return t}_update(e,s){const o=e.getElementsByClassName(i.css.minuteContainer)[0],a=this.optionsStore.viewDate.clone.startOf(t.Unit.hours),n=1===this.optionsStore.options.stepping?5:this.optionsStore.options.stepping;o.querySelectorAll(`[data-action="${I.selectMinute}"]`).forEach((e=>{const o=[];o.push(i.css.minute),this.validation.isValid(a,t.Unit.minutes)||o.push(i.css.disabled),s(t.Unit.minutes,a,o,e),e.classList.remove(...e.classList),e.classList.add(...o),e.setAttribute("data-value",`${a.minutes}`),e.innerText=a.minutesFormatted,a.manipulate(n,t.Unit.minutes)}))}}class W{constructor(){this.optionsStore=h.locate(u),this.validation=h.locate(m)}getPicker(){const t=document.createElement("div");t.classList.add(i.css.secondContainer);for(let e=0;e<12;e++){const e=document.createElement("div");e.setAttribute("data-action",I.selectSecond),e.tabIndex=-1,t.appendChild(e)}return t}_update(e,s){const o=e.getElementsByClassName(i.css.secondContainer)[0],a=this.optionsStore.viewDate.clone.startOf(t.Unit.minutes);o.querySelectorAll(`[data-action="${I.selectSecond}"]`).forEach((e=>{const o=[];o.push(i.css.second),this.validation.isValid(a,t.Unit.seconds)||o.push(i.css.disabled),s(t.Unit.seconds,a,o,e),e.classList.remove(...e.classList),e.classList.add(...o),e.setAttribute("data-value",`${a.seconds}`),e.innerText=a.secondsFormatted,a.manipulate(5,t.Unit.seconds)}))}}class q{static toggle(t){t.classList.contains(i.css.show)?this.hide(t):this.show(t)}static showImmediately(t){t.classList.remove(i.css.collapsing),t.classList.add(i.css.collapse,i.css.show),t.style.height=""}static show(t){if(t.classList.contains(i.css.collapsing)||t.classList.contains(i.css.show))return;t.style.height="0",t.classList.remove(i.css.collapse),t.classList.add(i.css.collapsing),setTimeout((()=>{q.showImmediately(t)}),this.getTransitionDurationFromElement(t)),t.style.height=`${t.scrollHeight}px`}static hideImmediately(t){t&&(t.classList.remove(i.css.collapsing,i.css.show),t.classList.add(i.css.collapse))}static hide(t){if(t.classList.contains(i.css.collapsing)||!t.classList.contains(i.css.show))return;t.style.height=`${t.getBoundingClientRect().height}px`;t.offsetHeight,t.classList.remove(i.css.collapse,i.css.show),t.classList.add(i.css.collapsing),t.style.height="",setTimeout((()=>{q.hideImmediately(t)}),this.getTransitionDurationFromElement(t))}}q.getTransitionDurationFromElement=t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:s}=window.getComputedStyle(t);const i=Number.parseFloat(e),o=Number.parseFloat(s);return i||o?(e=e.split(",")[0],s=s.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(s))):0};class Y{constructor(){this._isVisible=!1,this._keyboardEventBound=this._keyboardEvent.bind(this),this._documentClickEvent=t=>{this.optionsStore.options.debug||window.debug||!this._isVisible||t.composedPath().includes(this.widget)||t.composedPath()?.includes(this.optionsStore.element)||this.hide()},this._actionsClickEvent=t=>{this._eventEmitters.action.emit({e:t})},this.optionsStore=h.locate(u),this.validation=h.locate(m),this.dates=h.locate(x),this.dateDisplay=h.locate(O),this.monthDisplay=h.locate(z),this.yearDisplay=h.locate(H),this.decadeDisplay=h.locate(P),this.timeDisplay=h.locate(N),this.hourDisplay=h.locate(F),this.minuteDisplay=h.locate(B),this.secondDisplay=h.locate(W),this._eventEmitters=h.locate(g),this._widget=void 0,this._eventEmitters.updateDisplay.subscribe((t=>{this._update(t)}))}get widget(){return this._widget}get dateContainer(){return this.widget?.querySelector(`div.${i.css.dateContainer}`)}get timeContainer(){return this.widget?.querySelector(`div.${i.css.timeContainer}`)}get isVisible(){return this._isVisible}_update(e){if(this.widget)switch(e){case t.Unit.seconds:this.secondDisplay._update(this.widget,this.paint);break;case t.Unit.minutes:this.minuteDisplay._update(this.widget,this.paint);break;case t.Unit.hours:this.hourDisplay._update(this.widget,this.paint);break;case t.Unit.date:this.dateDisplay._update(this.widget,this.paint);break;case t.Unit.month:this.monthDisplay._update(this.widget,this.paint);break;case t.Unit.year:this.yearDisplay._update(this.widget,this.paint);break;case"decade":this.decadeDisplay._update(this.widget,this.paint);break;case"clock":if(!this._hasTime)break;this.timeDisplay._update(this.widget),this._update(t.Unit.hours),this._update(t.Unit.minutes),this._update(t.Unit.seconds);break;case"calendar":this._update(t.Unit.date),this._update(t.Unit.year),this._update(t.Unit.month),this.decadeDisplay._update(this.widget,this.paint),this._updateCalendarHeader();break;case"all":this._hasTime&&this._update("clock"),this._hasDate&&this._update("calendar")}}paint(t,e,s,i){}show(){if(null==this.widget){if(this._showSetDefaultIfNeeded(),this._buildWidget(),this._updateTheme(),this._showSetupViewMode(),this.optionsStore.options.display.inline)this.optionsStore.element.appendChild(this.widget);else{const t=this.optionsStore.options?.container||document.body,e=this.optionsStore.options?.display?.placement||"bottom";t.appendChild(this.widget);const s=this._handleFocus.bind(this);this.createPopup(this.optionsStore.element,this.widget,{modifiers:[{name:"eventListeners",enabled:!0},{name:"focusDate",enabled:!0,phase:"afterWrite",fn(){s()}}],placement:"rtl"===document.documentElement.dir?`${e}-end`:`${e}-start`}).then((()=>{this._handleFocus()}))}"clock"==this.optionsStore.options.display.viewMode&&this._eventEmitters.action.emit({e:null,action:I.showClock}),this.widget.querySelectorAll("[data-action]").forEach((t=>t.addEventListener("click",this._actionsClickEvent))),this._hasTime&&this.optionsStore.options.display.sideBySide&&(this.timeDisplay._update(this.widget),this.widget.getElementsByClassName(i.css.clockContainer)[0].style.display="grid")}this.widget.classList.add(i.css.show),this.optionsStore.options.display.inline||(this.updatePopup(),document.addEventListener("click",this._documentClickEvent)),this._eventEmitters.triggerEvent.emit({type:i.events.show}),this._isVisible=!0,this.optionsStore.options.display.keyboardNavigation&&this.widget.addEventListener("keydown",this._keyboardEventBound)}_showSetupViewMode(){const t=this._hasTime&&!this._hasDate;t?(this.optionsStore.currentView="clock",this._eventEmitters.action.emit({e:null,action:I.showClock})):this.optionsStore.currentCalendarViewMode||(this.optionsStore.currentCalendarViewMode=this.optionsStore.minimumCalendarViewMode),t||"clock"===this.optionsStore.options.display.viewMode||(this._hasTime&&(this.optionsStore.options.display.sideBySide?q.show(this.timeContainer):q.hideImmediately(this.timeContainer)),q.show(this.dateContainer)),this._hasDate&&this._showMode()}_showSetDefaultIfNeeded(){if(0==this.dates.picked.length){if(this.optionsStore.options.useCurrent&&!this.optionsStore.options.defaultDate){const e=(new l).setLocalization(this.optionsStore.options.localization);if(!this.optionsStore.options.keepInvalid){let s=0,i=1;for(this.optionsStore.options.restrictions.maxDate?.isBefore(e)&&(i=-1);!this.validation.isValid(e)&&s>31;)e.manipulate(i,t.Unit.date),s++}this.dates.setValue(e)}this.optionsStore.options.defaultDate&&this.dates.setValue(this.optionsStore.options.defaultDate)}}async createPopup(t,e,s){let i;if(window?.Popper)i=window?.Popper?.createPopper;else{const{createPopper:t}=await import("@popperjs/core");i=t}i&&(this._popperInstance=i(t,e,s))}updatePopup(){this._popperInstance&&this._popperInstance.update()}_showMode(t){if(!this.widget)return;if(t){const e=Math.max(this.optionsStore.minimumCalendarViewMode,Math.min(3,this.optionsStore.currentCalendarViewMode+t));if(this.optionsStore.currentCalendarViewMode==e)return;this.optionsStore.currentCalendarViewMode=e}this.widget.querySelectorAll(`.${i.css.dateContainer} > div:not(.${i.css.calendarHeader}), .${i.css.timeContainer} > div:not(.${i.css.clockContainer})`).forEach((t=>t.style.display="none"));const e=p[this.optionsStore.currentCalendarViewMode],s=this.widget.querySelector(`.${e.className}`);switch(e.className){case i.css.decadesContainer:this.decadeDisplay._update(this.widget,this.paint);break;case i.css.yearsContainer:this.yearDisplay._update(this.widget,this.paint);break;case i.css.monthsContainer:this.monthDisplay._update(this.widget,this.paint);break;case i.css.daysContainer:this.dateDisplay._update(this.widget,this.paint)}s.style.display="grid",this.optionsStore.options.display.sideBySide&&(this.widget.querySelectorAll(`.${i.css.clockContainer}`)[0].style.display="grid"),this._updateCalendarHeader(),this._eventEmitters.viewUpdate.emit(),this.findViewDateElement()?.focus()}_updateTheme(t){if(this.widget){if(t){if(this.optionsStore.options.display.theme===t)return;this.optionsStore.options.display.theme=t}this.widget.classList.remove("light","dark"),this.widget.classList.add(this._getThemeClass()),"auto"===this.optionsStore.options.display.theme?window.matchMedia(i.css.isDarkPreferredQuery).addEventListener("change",(()=>this._updateTheme())):window.matchMedia(i.css.isDarkPreferredQuery).removeEventListener("change",(()=>this._updateTheme()))}}_getThemeClass(){const t=this.optionsStore.options.display.theme||"auto",e=window.matchMedia&&window.matchMedia(i.css.isDarkPreferredQuery).matches;switch(t){case"light":return i.css.lightTheme;case"dark":return i.css.darkTheme;case"auto":return e?i.css.darkTheme:i.css.lightTheme}}_updateCalendarHeader(){if(!this._hasDate)return;const t=[...this.widget.querySelector(`.${i.css.dateContainer} div[style*="display: grid"]`).classList].find((t=>t.startsWith(i.css.dateContainer))),[e,s,o]=this.widget.getElementsByClassName(i.css.calendarHeader)[0].getElementsByTagName("div");switch(t){case i.css.decadesContainer:e.setAttribute("title",this.optionsStore.options.localization.previousCentury),s.setAttribute("title",""),o.setAttribute("title",this.optionsStore.options.localization.nextCentury);break;case i.css.yearsContainer:e.setAttribute("title",this.optionsStore.options.localization.previousDecade),s.setAttribute("title",this.optionsStore.options.localization.selectDecade),o.setAttribute("title",this.optionsStore.options.localization.nextDecade);break;case i.css.monthsContainer:e.setAttribute("title",this.optionsStore.options.localization.previousYear),s.setAttribute("title",this.optionsStore.options.localization.selectYear),o.setAttribute("title",this.optionsStore.options.localization.nextYear);break;case i.css.daysContainer:e.setAttribute("title",this.optionsStore.options.localization.previousMonth),s.setAttribute("title",this.optionsStore.options.localization.selectMonth),o.setAttribute("title",this.optionsStore.options.localization.nextMonth),s.setAttribute(t,this.optionsStore.viewDate.format(this.optionsStore.options.localization.dayViewHeaderFormat))}s.innerText=s.getAttribute(t)}hide(){this.widget&&this._isVisible&&(this.widget.classList.remove(i.css.show),this._isVisible&&(this._eventEmitters.triggerEvent.emit({type:i.events.hide,date:this.optionsStore.unset?null:this.dates.lastPicked?.clone}),this._isVisible=!1),document.removeEventListener("click",this._documentClickEvent),this.optionsStore.options.display.keyboardNavigation&&this.widget.removeEventListener("keydown",this._keyboardEventBound),this.optionsStore.toggle?this.optionsStore.toggle.focus():this.optionsStore.input&&this.optionsStore.input.focus())}toggle(){return this._isVisible?this.hide():this.show()}_dispose(){document.removeEventListener("click",this._documentClickEvent),this._popperInstance&&this._popperInstance.destroy(),this.widget&&(this.widget.querySelectorAll("[data-action]").forEach((t=>t.removeEventListener("click",this._actionsClickEvent))),this.widget.parentNode.removeChild(this.widget),this._widget=void 0)}_buildWidget(){const t=document.createElement("div");t.tabIndex=-1,t.classList.add(i.css.widget),t.setAttribute("role","widget");const e=document.createElement("div");e.tabIndex=-1,e.classList.add(i.css.dateContainer),e.append(this.getHeadTemplate(),this.decadeDisplay.getPicker(),this.yearDisplay.getPicker(),this.monthDisplay.getPicker(),this.dateDisplay.getPicker());const s=document.createElement("div");s.tabIndex=-1,s.classList.add(i.css.timeContainer),s.appendChild(this.timeDisplay.getPicker(this._iconTag.bind(this))),s.appendChild(this.hourDisplay.getPicker()),s.appendChild(this.minuteDisplay.getPicker()),s.appendChild(this.secondDisplay.getPicker());const o=document.createElement("div");if(o.tabIndex=-1,o.classList.add(i.css.toolbar),o.append(...this.getToolbarElements()),this.optionsStore.options.display.inline&&t.classList.add(i.css.inline),this.optionsStore.options.display.calendarWeeks&&t.classList.add("calendarWeeks"),this.optionsStore.options.display.sideBySide&&this._hasDateAndTime)return void this._buildWidgetSideBySide(t,e,s,o);"top"===this.optionsStore.options.display.toolbarPlacement&&t.appendChild(o);const a=(e,s,o,a)=>{e&&(s&&(o.classList.add(i.css.collapse),a&&o.classList.add(i.css.show)),t.appendChild(o))};a(this._hasDate,this._hasTime,e,"clock"!==this.optionsStore.options.display.viewMode),a(this._hasTime,this._hasDate,s,"clock"===this.optionsStore.options.display.viewMode),"bottom"===this.optionsStore.options.display.toolbarPlacement&&t.appendChild(o);const n=document.createElement("div");n.classList.add("arrow"),n.setAttribute("data-popper-arrow",""),t.appendChild(n),this._widget=t}_buildWidgetSideBySide(t,e,s,o){t.classList.add(i.css.sideBySide),"top"===this.optionsStore.options.display.toolbarPlacement&&t.appendChild(o);const a=document.createElement("div");a.classList.add("td-row"),e.classList.add("td-half"),s.classList.add("td-half"),a.appendChild(e),a.appendChild(s),t.appendChild(a),"bottom"===this.optionsStore.options.display.toolbarPlacement&&t.appendChild(o),this._widget=t}get _hasTime(){return this.optionsStore.options.display.components.clock&&(this.optionsStore.options.display.components.hours||this.optionsStore.options.display.components.minutes||this.optionsStore.options.display.components.seconds)}get _hasDate(){return this.optionsStore.options.display.components.calendar&&(this.optionsStore.options.display.components.year||this.optionsStore.options.display.components.month||this.optionsStore.options.display.components.date)}get _hasDateAndTime(){return this._hasDate&&this._hasTime}getToolbarElements(){const t=[];if(this.optionsStore.options.display.buttons.today){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.today),e.setAttribute("title",this.optionsStore.options.localization.today),e.appendChild(this._iconTag(this.optionsStore.options.display.icons.today)),t.push(e)}if(!this.optionsStore.options.display.sideBySide&&this._hasDate&&this._hasTime){let e,s;"clock"===this.optionsStore.options.display.viewMode?(e=this.optionsStore.options.localization.selectDate,s=this.optionsStore.options.display.icons.date):(e=this.optionsStore.options.localization.selectTime,s=this.optionsStore.options.display.icons.time);const i=document.createElement("div");i.tabIndex=-1,i.setAttribute("data-action",I.togglePicker),i.setAttribute("title",e),i.appendChild(this._iconTag(s)),t.push(i)}if(this.optionsStore.options.display.buttons.clear){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.clear),e.setAttribute("title",this.optionsStore.options.localization.clear),e.appendChild(this._iconTag(this.optionsStore.options.display.icons.clear)),t.push(e)}if(this.optionsStore.options.display.buttons.close){const e=document.createElement("div");e.tabIndex=-1,e.setAttribute("data-action",I.close),e.setAttribute("title",this.optionsStore.options.localization.close),e.appendChild(this._iconTag(this.optionsStore.options.display.icons.close)),t.push(e)}return t}getHeadTemplate(){const t=document.createElement("div");t.classList.add(i.css.calendarHeader);const e=document.createElement("div");e.classList.add(i.css.previous),e.setAttribute("data-action",I.previous),e.appendChild(this._iconTag(this.optionsStore.options.display.icons.previous)),e.tabIndex=-1;const s=document.createElement("div");s.classList.add(i.css.switch),s.setAttribute("data-action",I.changeCalendarView),s.tabIndex=-1;const o=document.createElement("div");return o.classList.add(i.css.next),o.setAttribute("data-action",I.next),o.appendChild(this._iconTag(this.optionsStore.options.display.icons.next)),o.tabIndex=-1,t.append(e,s,o),t}_iconTag(t){if("sprites"===this.optionsStore.options.display.icons.type){const e=document.createElementNS("http://www.w3.org/2000/svg","svg"),s=document.createElementNS("http://www.w3.org/2000/svg","use");return s.setAttribute("xlink:href",t),s.setAttribute("href",t),e.appendChild(s),e}const e=document.createElement("i");return e.classList.add(...t.split(" ")),e}_rebuild(){const t=this._isVisible;this._dispose(),t&&this.show()}refreshCurrentView(){switch(this._isVisible||this._dispose(),this.optionsStore.currentView){case"clock":this._update("clock");break;case"calendar":this._update(t.Unit.date);break;case"months":this._update(t.Unit.month);break;case"years":this._update(t.Unit.year);break;case"decades":this._update("decade")}}_keyboardEvent(t){if("clock"!==this.optionsStore.currentView)return this._handleKeyDownDate(t),!1;this._handleKeyDownClock(t)}findViewDateElement(){let t="",e="";switch(this.optionsStore.currentView){case"clock":break;case"calendar":t=i.css.daysContainer,e=this.optionsStore.viewDate.dateToDataValue();break;case"months":t=i.css.monthsContainer,e=this.optionsStore.viewDate.month.toString();break;case"years":t=i.css.yearsContainer,e=this.optionsStore.viewDate.year.toString();break;case"decades":t=i.css.decadesContainer,e=(10*Math.floor(this.optionsStore.viewDate.year/10)).toString()}return this.widget.querySelector(`.${t} > div[data-value="${e}"]`)}_handleKeyDownDate(e){let s=!1;const i=document.activeElement;let o=null,a=7,n=1,r=1;const d=this.optionsStore.currentView;switch(d){case"calendar":o=t.Unit.date;break;case"months":o=t.Unit.month,a=3,n=1;break;case"years":o=t.Unit.year,a=3,n=1;break;case"decades":o=t.Unit.year,a=30,n=10}switch(e.key){case"Esc":case"Escape":this._eventEmitters.action.emit({e:null,action:I.close});break;case" ":case"Enter":return i.click(),e.stopPropagation(),void e.preventDefault();case"Tab":return void this._handleTab(i,e);case"Right":case"ArrowRight":r=n,s=!0;break;case"Left":case"ArrowLeft":s=!0,r=-n;break;case"Down":case"ArrowDown":s=!0,r=a;break;case"Up":case"ArrowUp":s=!0,r=-a;break;case"PageDown":switch(d){case"calendar":o=e.shiftKey?t.Unit.year:t.Unit.month,r=1;break;case"months":o=t.Unit.year,r=e.shiftKey?10:1;break;case"years":case"decades":o=t.Unit.year,r=e.shiftKey?100:10}s=!0;break;case"PageUp":switch(d){case"calendar":o=e.shiftKey?t.Unit.year:t.Unit.month,r=-1;break;case"months":o=t.Unit.year,r=-(e.shiftKey?10:1);break;case"years":case"decades":o=t.Unit.year,r=-(e.shiftKey?100:10)}s=!0;break;case"Home":this.optionsStore.viewDate=this.optionsStore.viewDate.clone.startOf("weekDay",this.optionsStore.options.localization.startOfTheWeek),s=!0,o=null;break;case"End":this.optionsStore.viewDate=this.optionsStore.viewDate.clone.endOf("weekDay",this.optionsStore.options.localization.startOfTheWeek),s=!0,o=null}if(!s)return;let l=this.optionsStore.viewDate;o&&(l=l.clone.manipulate(r,o)),this._eventEmitters.updateViewDate.emit(l);const c=this.findViewDateElement();c&&c.focus(),e.stopPropagation(),e.preventDefault()}_handleKeyDownClock(t){let e=!1;const s=document.activeElement,o=this.widget.querySelector(`.${i.css.timeContainer} > div[style*="display: grid"]`);let a=i.css.clockContainer;switch(o.classList.contains(i.css.hourContainer)&&(a=i.css.hourContainer),o.classList.contains(i.css.minuteContainer)&&(a=i.css.minuteContainer),o.classList.contains(i.css.secondContainer)&&(a=i.css.secondContainer),t.key){case"Esc":case"Escape":this._eventEmitters.action.emit({e:null,action:I.close});break;case" ":case"Enter":return s.click(),t.stopPropagation(),void t.preventDefault();case"Tab":return void this._handleTab(s,t)}if(a===i.css.clockContainer)return;const n=[...o.querySelectorAll("div")],r=n.indexOf(document.activeElement);let d;switch(t.key){case"Right":case"ArrowRight":d=r<n.length-1?r+1:null,e=!0;break;case"Left":case"ArrowLeft":e=!0,d=r>0?r-1:null;break;case"Down":case"ArrowDown":d=r+4<n.length?r+4:null,e=!0;break;case"Up":case"ArrowUp":d=r-4>=0?r-4:null,e=!0}e&&(null!=d&&n[d].focus(),t.stopPropagation(),t.preventDefault())}_handleTab(t,e){const s=e.shiftKey,o=()=>{const t=this.widget.querySelectorAll(`.${i.css.calendarHeader} > div`);a.push(...t)},a=[];switch(console.log(this.optionsStore.currentView),this.optionsStore.currentView){case"clock":{a.push(...this.widget.querySelectorAll(`.${i.css.timeContainer} > div[style*="display: grid"] > div[data-action]`));const t=this.widget.querySelectorAll(`.${i.css.clockContainer}`)[0];"grid"===t?.style.display&&a.push(...this.widget.querySelectorAll(`.${i.css.toggleMeridiem}`))}break;case"calendar":case"months":case"years":case"decades":o(),a.push(this.findViewDateElement())}const n=this.widget.querySelectorAll(`.${i.css.toolbar} > div`);a.push(...n);const r=a.indexOf(t);-1!==r&&(s?0===r?a[a.length-1].focus():a[r-1].focus():r===a.length-1?a[0].focus():a[r+1].focus(),e.stopPropagation(),e.preventDefault())}_handleFocus(){"clock"===this.optionsStore.currentView?this._handleFocusClock():this.findViewDateElement().focus()}_handleFocusClock(){this.widget.querySelector(`.${i.css.timeContainer} > div[style*="display: grid"]`).children[0].focus()}}class j{constructor(){this.optionsStore=h.locate(u),this.dates=h.locate(x),this.validation=h.locate(m),this.display=h.locate(Y),this._eventEmitters=h.locate(g),this._eventEmitters.action.subscribe((t=>{this.do(t.e,t.action)}))}do(e,s){const o=e?.currentTarget;if(o?.classList?.contains(i.css.disabled))return;s=s||o?.dataset?.action;const a=(this.dates.lastPicked||this.optionsStore.viewDate).clone;switch(s){case I.next:case I.previous:this.handleNextPrevious(s);break;case I.changeCalendarView:this.display._showMode(1),this.display._updateCalendarHeader();break;case I.selectMonth:case I.selectYear:case I.selectDecade:this.handleSelectCalendarMode(s,o);break;case I.selectDay:this.handleSelectDay(o);break;case I.selectHour:{let t=+o.dataset.value;a.hours>=12&&this.optionsStore.isTwelveHour&&(t+=12),a.hours=t,this.dates.setValue(a,this.dates.lastPickedIndex),this.hideOrClock(e);break}case I.selectMinute:a.minutes=+o.dataset.value,this.dates.setValue(a,this.dates.lastPickedIndex),this.hideOrClock(e);break;case I.selectSecond:a.seconds=+o.dataset.value,this.dates.setValue(a,this.dates.lastPickedIndex),this.hideOrClock(e);break;case I.incrementHours:this.manipulateAndSet(a,t.Unit.hours);break;case I.incrementMinutes:this.manipulateAndSet(a,t.Unit.minutes,this.optionsStore.options.stepping);break;case I.incrementSeconds:this.manipulateAndSet(a,t.Unit.seconds);break;case I.decrementHours:this.manipulateAndSet(a,t.Unit.hours,-1);break;case I.decrementMinutes:this.manipulateAndSet(a,t.Unit.minutes,-1*this.optionsStore.options.stepping);break;case I.decrementSeconds:this.manipulateAndSet(a,t.Unit.seconds,-1);break;case I.toggleMeridiem:this.manipulateAndSet(a,t.Unit.hours,this.dates.lastPicked.hours>=12?-12:12);break;case I.togglePicker:this.handleToggle(o);break;case I.showClock:case I.showHours:case I.showMinutes:case I.showSeconds:this.optionsStore.options.display.sideBySide||"clock"===this.optionsStore.currentView||(q.hideImmediately(this.display.dateContainer),q.showImmediately(this.display.timeContainer)),this.handleShowClockContainers(s);break;case I.clear:this.dates.setValue(null),this.display._updateCalendarHeader();break;case I.close:this.display.hide();break;case I.today:{const e=(new l).setLocalization(this.optionsStore.options.localization);if(this._eventEmitters.updateViewDate.emit(e),!this.validation.isValid(e,t.Unit.date))break;this.optionsStore.options.dateRange?this.handleDateRange(e):this.optionsStore.options.multipleDates?this.handleMultiDate(e):this.dates.setValue(e,this.dates.lastPickedIndex);break}}}handleShowClockContainers(e){if(!this.display._hasTime)return void i.errorMessages.throwError("Cannot show clock containers when time is disabled.");this.optionsStore.currentView="clock",this.display.widget.querySelectorAll(`.${i.css.timeContainer} > div`).forEach((t=>t.style.display="none"));let s="";switch(e){case I.showClock:s=i.css.clockContainer,this.display._update("clock");break;case I.showHours:s=i.css.hourContainer,this.display._update(t.Unit.hours);break;case I.showMinutes:s=i.css.minuteContainer,this.display._update(t.Unit.minutes);break;case I.showSeconds:s=i.css.secondContainer,this.display._update(t.Unit.seconds)}const o=this.display.widget.getElementsByClassName(s)[0];o.style.display="grid",o.children[0]?.focus()}handleNextPrevious(t){const{unit:e,step:s}=p[this.optionsStore.currentCalendarViewMode];t===I.next?this.optionsStore.viewDate.manipulate(s,e):this.optionsStore.viewDate.manipulate(-1*s,e),this._eventEmitters.viewUpdate.emit(),this.display._showMode()}hideOrClock(t){this.optionsStore.isTwelveHour||this.optionsStore.options.display.components.minutes||this.optionsStore.options.display.keepOpen||this.optionsStore.options.display.inline?this.do(t,I.showClock):this.display.hide()}manipulateAndSet(t,e,s=1){const i=t.manipulate(s,e);this.validation.isValid(i,e)&&this.dates.setValue(i,this.dates.lastPickedIndex)}handleSelectCalendarMode(t,e){const s=+e.dataset.value;switch(t){case I.selectMonth:this.optionsStore.viewDate.month=s;break;case I.selectYear:case I.selectDecade:this.optionsStore.viewDate.year=s}this.optionsStore.currentCalendarViewMode===this.optionsStore.minimumCalendarViewMode?(this.dates.setValue(this.optionsStore.viewDate,this.dates.lastPickedIndex),this.optionsStore.options.display.inline||this.display.hide()):this.display._showMode(-1)}handleToggle(t){t.getAttribute("title")===this.optionsStore.options.localization.selectDate?(t.setAttribute("title",this.optionsStore.options.localization.selectTime),t.innerHTML=this.display._iconTag(this.optionsStore.options.display.icons.time).outerHTML,this.display._updateCalendarHeader(),this.optionsStore.refreshCurrentView()):(t.setAttribute("title",this.optionsStore.options.localization.selectDate),t.innerHTML=this.display._iconTag(this.optionsStore.options.display.icons.date).outerHTML,this.display._hasTime&&(this.handleShowClockContainers(I.showClock),this.display._update("clock"))),this.display.widget.querySelectorAll(`.${i.css.dateContainer}, .${i.css.timeContainer}`).forEach((t=>q.toggle(t))),this._eventEmitters.viewUpdate.emit();const e=this.display.widget.querySelector(`.${i.css.collapsing} > div[style*="display: grid"]`);e?.focus()}handleSelectDay(e){const s=this.optionsStore.viewDate.clone;e.classList.contains(i.css.old)&&s.manipulate(-1,t.Unit.month),e.classList.contains(i.css.new)&&s.manipulate(1,t.Unit.month),s.date=+e.dataset.day,this.optionsStore.options.dateRange?this.handleDateRange(s):this.optionsStore.options.multipleDates?this.handleMultiDate(s):this.dates.setValue(s,this.dates.lastPickedIndex),this.display._hasTime||this.optionsStore.options.display.keepOpen||this.optionsStore.options.display.inline||this.optionsStore.options.multipleDates||this.optionsStore.options.dateRange||this.display.hide()}handleMultiDate(e){let s=this.dates.pickedIndex(e,t.Unit.date);-1!==s?this.dates.setValue(null,s):(s=this.dates.lastPickedIndex+1,0===this.dates.picked.length&&(s=0),this.dates.setValue(e,s))}handleDateRange(t){switch(this.dates.picked.length){case 2:this.dates.clear();break;case 1:{const e=this.dates.picked[0];if(t.getTime()===e.getTime()){this.dates.clear();break}return t.isBefore(e)?(this.dates.setValue(t,0),void this.dates.setValue(e,1)):void this.dates.setValue(t,1)}}this.dates.setValue(t,0)}}class R{constructor(t,e={}){this._subscribers={},this._isDisabled=!1,this._inputChangeEvent=t=>{const e=t?.detail;if(e)return;const s=()=>{this.dates.lastPicked&&(this.optionsStore.viewDate=this.dates.lastPicked.clone)},i=this.optionsStore.input.value;if(this.optionsStore.options.multipleDates||this.optionsStore.options.dateRange)try{const t=i.split(this.optionsStore.options.multipleDatesSeparator);for(let e=0;e<t.length;e++)this.dates.setFromInput(t[e],e);s()}catch{console.warn("TD: Something went wrong trying to set the multipleDates values from the input field.")}else this.dates.setFromInput(i,0),s()},this._toggleClickEvent=()=>{this.optionsStore.element?.disabled||this.optionsStore.input?.disabled||"INPUT"===this.optionsStore.toggle.nodeName&&"text"===this.optionsStore.toggle?.type&&this.optionsStore.options.allowInputToggle||this.toggle()},this._openClickEvent=()=>{this.optionsStore.element?.disabled||this.optionsStore.input?.disabled||this.display.isVisible||this.show()},h=new c,this._eventEmitters=h.locate(g),this.optionsStore=h.locate(u),this.display=h.locate(Y),this.dates=h.locate(x),this.actions=h.locate(j),t||i.errorMessages.mustProvideElement(),this.optionsStore.element=t,this._initializeOptions(e,f,!0),this.optionsStore.viewDate.setLocalization(this.optionsStore.options.localization),this.optionsStore.unset=!0,this._initializeInput(),this._initializeToggle(),this.optionsStore.options.display.inline&&this.display.show(),this._eventEmitters.triggerEvent.subscribe((t=>{this._triggerEvent(t)})),this._eventEmitters.viewUpdate.subscribe((()=>{this._viewUpdate()})),this._eventEmitters.updateViewDate.subscribe((t=>{this.viewDate=t}))}get viewDate(){return this.optionsStore.viewDate}set viewDate(t){this.optionsStore.viewDate=t,this.optionsStore.viewDate.setLocalization(this.optionsStore.options.localization),this.display._update("clock"===this.optionsStore.currentView?"clock":"calendar")}updateOptions(t,e=!1){e?this._initializeOptions(t,f):this._initializeOptions(t,this.optionsStore.options),this.optionsStore.viewDate.setLocalization(this.optionsStore.options.localization),this.display.refreshCurrentView()}toggle(){this._isDisabled||this.display.toggle()}show(){this._isDisabled||this.display.show()}hide(){this.display.hide()}disable(){this._isDisabled=!0,this.optionsStore.input?.setAttribute("disabled","disabled"),this.display.hide()}enable(){this._isDisabled=!1,this.optionsStore.input?.removeAttribute("disabled")}clear(){this.optionsStore.input.value="",this.dates.clear()}subscribe(t,e){let s;"string"==typeof t&&(t=[t]),s=Array.isArray(e)?e:[e],t.length!==s.length&&i.errorMessages.subscribeMismatch();const o=[];for(let e=0;e<t.length;e++){const i=t[e];if(Array.isArray(this._subscribers[i])||(this._subscribers[i]=[]),this._subscribers[i].push(s[e]),o.push({unsubscribe:this._unsubscribe.bind(this,i,this._subscribers[i].length-1)}),1===t.length)return o[0]}return o}dispose(){this.display.hide(),this.display._dispose(),this._eventEmitters.destroy(),this.optionsStore.input?.removeEventListener("change",this._inputChangeEvent),this.optionsStore.options.allowInputToggle&&(this.optionsStore.input?.removeEventListener("click",this._openClickEvent),this.optionsStore.input?.removeEventListener("focus",this._openClickEvent)),this.optionsStore.toggle?.removeEventListener("click",this._toggleClickEvent),this.optionsStore.toggle?.removeEventListener("keydown",this._handleToggleKeydown),this._subscribers={}}locale(t){const e=K[t];e&&this.updateOptions({localization:e})}_triggerEvent(t){t.viewMode=this.optionsStore.currentView;const e=t.type===i.events.change;if(e){const{date:e,oldDate:s,isClear:i}=t;if(e&&s&&e.isSame(s)||!i&&!e&&!s)return;if(this._handleAfterChangeEvent(t),this.optionsStore.input?.dispatchEvent(new CustomEvent("change",{detail:t})),this.optionsStore.toggle){let t=this.optionsStore.options.localization.toggleAriaLabel;if(this.dates.picked.length>0){t=`${t}, ${this.dates.picked.map((t=>t.format())).join(", ")}`}this.optionsStore.toggle.ariaLabel=t}}if(this.optionsStore.element.dispatchEvent(new CustomEvent(t.type,{detail:t})),window.jQuery){const s=window.jQuery;e&&this.optionsStore.input?s(this.optionsStore.input).trigger(t):s(this.optionsStore.element).trigger(t)}this._publish(t)}_publish(t){Array.isArray(this._subscribers[t.type])&&this._subscribers[t.type].forEach((e=>{e(t)}))}_viewUpdate(){this._triggerEvent({type:i.events.update,viewDate:this.optionsStore.viewDate.clone})}_unsubscribe(t,e){this._subscribers[t].splice(e,1)}_initializeOptions(t,e,s=!1){let i=V.deepCopy(t);i=V._mergeOptions(i,e),s&&(i=V._dataToOptions(this.optionsStore.element,i)),V._validateConflicts(i),i.viewDate=i.viewDate.setLocalization(i.localization),this.optionsStore.viewDate.isSame(i.viewDate)||(this.optionsStore.viewDate=i.viewDate),i.display.components.year&&(this.optionsStore.minimumCalendarViewMode=2),i.display.components.month&&(this.optionsStore.minimumCalendarViewMode=1),i.display.components.date&&(this.optionsStore.minimumCalendarViewMode=0),this.optionsStore.currentCalendarViewMode=Math.max(this.optionsStore.minimumCalendarViewMode,this.optionsStore.currentCalendarViewMode),p[this.optionsStore.currentCalendarViewMode].name!==i.display.viewMode&&(this.optionsStore.currentCalendarViewMode=Math.max(p.findIndex((t=>t.name===i.display.viewMode)),this.optionsStore.minimumCalendarViewMode)),this.display?.isVisible&&this.display._update("all"),i.display.components.useTwentyfourHour&&void 0===i.localization.hourCycle?i.localization.hourCycle="h24":void 0===i.localization.hourCycle&&(i.localization.hourCycle=d(i.localization.locale)),this.optionsStore.options=i,i.restrictions.maxDate&&this.viewDate.isAfter(i.restrictions.maxDate)&&(this.viewDate=i.restrictions.maxDate.clone),i.restrictions.minDate&&this.viewDate.isBefore(i.restrictions.minDate)&&(this.viewDate=i.restrictions.minDate.clone)}_initializeInput(){if("INPUT"==this.optionsStore.element.tagName)this.optionsStore.input=this.optionsStore.element;else{const t=this.optionsStore.element.dataset.tdTargetInput;this.optionsStore.input=null==t||"nearest"==t?this.optionsStore.element.querySelector("input"):this.optionsStore.element.querySelector(t)}this.optionsStore.input&&(!this.optionsStore.input.value&&this.optionsStore.options.defaultDate&&(this.optionsStore.input.value=this.dates.formatInput(this.optionsStore.options.defaultDate)),this.optionsStore.input.addEventListener("change",this._inputChangeEvent),this.optionsStore.options.allowInputToggle&&(this.optionsStore.input.addEventListener("click",this._openClickEvent),this.optionsStore.input.addEventListener("focus",this._openClickEvent)),this.optionsStore.input.value&&this._inputChangeEvent())}_initializeToggle(){if(this.optionsStore.options.display.inline)return;let t=this.optionsStore.element.dataset.tdTargetToggle;"nearest"==t&&(t='[data-td-toggle="datetimepicker"]'),this.optionsStore.toggle=null==t?this.optionsStore.element:this.optionsStore.element.querySelector(t),null!=this.optionsStore.toggle&&(this.optionsStore.toggle.addEventListener("click",this._toggleClickEvent),this.optionsStore.toggle!==this.optionsStore.element&&this.optionsStore.toggle.addEventListener("keydown",this._handleToggleKeydown.bind(this)))}_handleAfterChangeEvent(t){!this.optionsStore.options.promptTimeOnDateChange||this.optionsStore.options.multipleDates||this.optionsStore.options.display.inline||this.optionsStore.options.display.sideBySide||!this.display._hasTime||this.display.widget?.getElementsByClassName(i.css.show)[0].classList.contains(i.css.timeContainer)||!t.oldDate&&this.optionsStore.options.useCurrent||t.oldDate&&t.date?.isSame(t.oldDate)||(clearTimeout(this._currentPromptTimeTimeout),this._currentPromptTimeTimeout=setTimeout((()=>{this.display.widget&&this._eventEmitters.action.emit({e:{currentTarget:this.display.widget.querySelector('[data-action="togglePicker"]')},action:I.togglePicker})}),this.optionsStore.options.promptTimeOnDateChangeTransitionDelay))}_handleToggleKeydown(t){" "!==t.key&&"Enter"!==t.key||(this.optionsStore.toggle.click(),t.stopPropagation(),t.preventDefault())}}const K={},Q=t=>{K[t.name]||(K[t.name]=t.localization)},J=t=>{const e=K[t];e&&(f.localization=e)},Z=function(t,e=undefined){return t?(t.installed||(t(e,{TempusDominus:R,Dates:x,Display:Y,DateTime:l,Namespace:i},X),t.installed=!0),X):X},G="v6.10.4",X={TempusDominus:R,extend:Z,loadLocale:Q,locale:J,Namespace:i,DefaultOptions:f,DateTime:l,Unit:t.Unit,version:G,DefaultEnLocalization:S};t.DateTime=l,t.DefaultEnLocalization=S,t.DefaultOptions=f,t.Namespace=i,t.TempusDominus=R,t.extend=Z,t.loadLocale=Q,t.locale=J,t.version=G,Object.defineProperty(t,"__esModule",{value:!0})}));
19488 19489"use strict"; 19490 19491// 19492// Tempus Dominus Datepicker Global Settings(learn more: https://getdatepicker.com/6/options/) 19493// 19494 19495tempusDominus.DefaultOptions.display.icons = { 19496 time: "ki-outline ki-time fs-3", 19497 date: "ki-outline ki-calendar fs-3", 19498 up: "ki-outline ki-up fs-3", 19499 down: "ki-outline ki-down fs-3", 19500 previous: "ki-outline ki-left fs-3", 19501 next: "ki-outline ki-right fs-3", 19502 today: "ki-outline ki-calendar-tick fs-3", 19503 clear: "ki-outline ki-trash fs-3", 19504 close: "ki-outline ki-cross fs-2", 19505}; 19506/*! 19507 * Tempus Dominus vv6.10.4 (https://getdatepicker.com/) 19508 * Copyright 2013-2025 Jonathan Peterson 19509 * Licensed under MIT (https://github.com/Eonasdan/tempus-dominus/blob/master/LICENSE) 19510 */ 19511(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?f(exports):typeof define==='function'&&define.amd?define(['exports'],f):(g=typeof globalThis!=='undefined'?globalThis:g||self,f((g.tempusDominus=g.tempusDominus||{},g.tempusDominus.locales=g.tempusDominus.locales||{},g.tempusDominus.locales.de={})));})(this,(function(exports){'use strict';const name = 'de'; 19512const localization = { 19513 today: 'Heute', 19514 clear: 'Auswahl löschen', 19515 close: 'Auswahlbox schlieÃen', 19516 selectMonth: 'Monat wählen', 19517 previousMonth: 'Letzter Monat', 19518 nextMonth: 'Nächster Monat', 19519 selectYear: 'Jahr wählen', 19520 previousYear: 'Letztes Jahr', 19521 nextYear: 'Nächstes Jahr', 19522 selectDecade: 'Jahrzehnt wählen', 19523 previousDecade: 'Letztes Jahrzehnt', 19524 nextDecade: 'Nächstes Jahrzehnt', 19525 previousCentury: 'Letztes Jahrhundert', 19526 nextCentury: 'Nächstes Jahrhundert', 19527 pickHour: 'Stunde wählen', 19528 incrementHour: 'Stunde erhöhen', 19529 decrementHour: 'Stunde verringern', 19530 pickMinute: 'Minute wählen', 19531 incrementMinute: 'Minute erhöhen', 19532 decrementMinute: 'Minute verringern', 19533 pickSecond: 'Sekunde wählen', 19534 incrementSecond: 'Sekunde erhöhen', 19535 decrementSecond: 'Sekunde verringern', 19536 toggleMeridiem: 'Tageszeit umschalten', 19537 selectTime: 'Zeit wählen', 19538 selectDate: 'Datum wählen', 19539 dayViewHeaderFormat: { month: 'long', year: '2-digit' }, 19540 locale: 'de', 19541 startOfTheWeek: 1, 19542 dateFormats: { 19543 LTS: 'HH:mm:ss', 19544 LT: 'HH:mm', 19545 L: 'dd.MM.yyyy', 19546 LL: 'd. MMMM yyyy', 19547 LLL: 'd. MMMM yyyy HH:mm', 19548 LLLL: 'dddd, d. MMMM yyyy HH:mm', 19549 }, 19550 ordinal: (n) => `${n}.`, 19551 format: 'L LT', 19552};exports.localization=localization;exports.name=name;Object.defineProperty(exports,'__esModule',{value:true});})); 19553/*! 19554 * Tempus Dominus vv6.10.4 (https://getdatepicker.com/) 19555 * Copyright 2013-2025 Jonathan Peterson 19556 * Licensed under MIT (https://github.com/Eonasdan/tempus-dominus/blob/master/LICENSE) 19557 */ 19558(function(g,f){typeof exports==='object'&&typeof module!=='undefined'?module.exports=f():typeof define==='function'&&define.amd?define(f):(g=typeof globalThis!=='undefined'?globalThis:g||self,(g.tempusDominus=g.tempusDominus||{},g.tempusDominus.plugins=g.tempusDominus.plugins||{},g.tempusDominus.plugins.customDateFormat=f()));})(this,(function(){'use strict';var index = () => { 19559 console.warn('This plugin has been merged with the main picker and is now longer required'); 19560};return index;})); 19561/* flatpickr v4.6.13, @license MIT */ 19562(function (global, factory) { 19563 typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : 19564 typeof define === 'function' && define.amd ? define(factory) : 19565 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.flatpickr = factory()); 19566}(this, (function () { 'use strict'; 19567 19568 /*! ***************************************************************************** 19569 Copyright (c) Microsoft Corporation. 19570 19571 Permission to use, copy, modify, and/or distribute this software for any 19572 purpose with or without fee is hereby granted. 19573 19574 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 19575 REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 19576 AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 19577 INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 19578 LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 19579 OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 19580 PERFORMANCE OF THIS SOFTWARE. 19581 ***************************************************************************** */ 19582 19583 var __assign = function() { 19584 __assign = Object.assign || function __assign(t) { 19585 for (var s, i = 1, n = arguments.length; i < n; i++) { 19586 s = arguments[i]; 19587 for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; 19588 } 19589 return t; 19590 }; 19591 return __assign.apply(this, arguments); 19592 }; 19593 19594 function __spreadArrays() { 19595 for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; 19596 for (var r = Array(s), k = 0, i = 0; i < il; i++) 19597 for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) 19598 r[k] = a[j]; 19599 return r;
vendor: 122,249 bytes, lines 19599-22279
19599 19600 } 19601 19602 var HOOKS = [ 19603 "onChange", 19604 "onClose", 19605 "onDayCreate", 19606 "onDestroy", 19607 "onKeyDown", 19608 "onMonthChange", 19609 "onOpen", 19610 "onParseConfig", 19611 "onReady", 19612 "onValueUpdate", 19613 "onYearChange", 19614 "onPreCalendarPosition", 19615 ]; 19616 var defaults = { 19617 _disable: [], 19618 allowInput: false, 19619 allowInvalidPreload: false, 19620 altFormat: "F j, Y", 19621 altInput: false, 19622 altInputClass: "form-control input", 19623 animate: typeof window === "object" && 19624 window.navigator.userAgent.indexOf("MSIE") === -1, 19625 ariaDateFormat: "F j, Y", 19626 autoFillDefaultTime: true, 19627 clickOpens: true, 19628 closeOnSelect: true, 19629 conjunction: ", ", 19630 dateFormat: "Y-m-d", 19631 defaultHour: 12, 19632 defaultMinute: 0, 19633 defaultSeconds: 0, 19634 disable: [], 19635 disableMobile: false, 19636 enableSeconds: false, 19637 enableTime: false, 19638 errorHandler: function (err) { 19639 return typeof console !== "undefined" && console.warn(err); 19640 }, 19641 getWeek: function (givenDate) { 19642 var date = new Date(givenDate.getTime()); 19643 date.setHours(0, 0, 0, 0); 19644 // Thursday in current week decides the year. 19645 date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7)); 19646 // January 4 is always in week 1. 19647 var week1 = new Date(date.getFullYear(), 0, 4); 19648 // Adjust to Thursday in week 1 and count number of weeks from date to week1. 19649 return (1 + 19650 Math.round(((date.getTime() - week1.getTime()) / 86400000 - 19651 3 + 19652 ((week1.getDay() + 6) % 7)) / 19653 7)); 19654 }, 19655 hourIncrement: 1, 19656 ignoredFocusElements: [], 19657 inline: false, 19658 locale: "default", 19659 minuteIncrement: 5, 19660 mode: "single", 19661 monthSelectorType: "dropdown", 19662 nextArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M13.207 8.472l-7.854 7.854-0.707-0.707 7.146-7.146-7.146-7.148 0.707-0.707 7.854 7.854z' /></svg>", 19663 noCalendar: false, 19664 now: new Date(), 19665 onChange: [], 19666 onClose: [], 19667 onDayCreate: [], 19668 onDestroy: [], 19669 onKeyDown: [], 19670 onMonthChange: [], 19671 onOpen: [], 19672 onParseConfig: [], 19673 onReady: [], 19674 onValueUpdate: [], 19675 onYearChange: [], 19676 onPreCalendarPosition: [], 19677 plugins: [], 19678 position: "auto", 19679 positionElement: undefined, 19680 prevArrow: "<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' viewBox='0 0 17 17'><g></g><path d='M5.207 8.471l7.146 7.147-0.707 0.707-7.853-7.854 7.854-7.853 0.707 0.707-7.147 7.146z' /></svg>", 19681 shorthandCurrentMonth: false, 19682 showMonths: 1, 19683 static: false, 19684 time_24hr: false, 19685 weekNumbers: false, 19686 wrap: false, 19687 }; 19688 19689 var english = { 19690 weekdays: { 19691 shorthand: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], 19692 longhand: [ 19693 "Sunday", 19694 "Monday", 19695 "Tuesday", 19696 "Wednesday", 19697 "Thursday", 19698 "Friday", 19699 "Saturday", 19700 ], 19701 }, 19702 months: { 19703 shorthand: [ 19704 "Jan", 19705 "Feb", 19706 "Mar", 19707 "Apr", 19708 "May", 19709 "Jun", 19710 "Jul", 19711 "Aug", 19712 "Sep", 19713 "Oct", 19714 "Nov", 19715 "Dec", 19716 ], 19717 longhand: [ 19718 "January", 19719 "February", 19720 "March", 19721 "April", 19722 "May", 19723 "June", 19724 "July", 19725 "August", 19726 "September", 19727 "October", 19728 "November", 19729 "December", 19730 ], 19731 }, 19732 daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], 19733 firstDayOfWeek: 0, 19734 ordinal: function (nth) { 19735 var s = nth % 100; 19736 if (s > 3 && s < 21) 19737 return "th"; 19738 switch (s % 10) { 19739 case 1: 19740 return "st"; 19741 case 2: 19742 return "nd"; 19743 case 3: 19744 return "rd"; 19745 default: 19746 return "th"; 19747 } 19748 }, 19749 rangeSeparator: " to ", 19750 weekAbbreviation: "Wk", 19751 scrollTitle: "Scroll to increment", 19752 toggleTitle: "Click to toggle", 19753 amPM: ["AM", "PM"], 19754 yearAriaLabel: "Year", 19755 monthAriaLabel: "Month", 19756 hourAriaLabel: "Hour", 19757 minuteAriaLabel: "Minute", 19758 time_24hr: false, 19759 }; 19760 19761 var pad = function (number, length) { 19762 if (length === void 0) { length = 2; } 19763 return ("000" + number).slice(length * -1); 19764 }; 19765 var int = function (bool) { return (bool === true ? 1 : 0); }; 19766 /* istanbul ignore next */ 19767 function debounce(fn, wait) { 19768 var t; 19769 return function () { 19770 var _this = this; 19771 var args = arguments; 19772 clearTimeout(t); 19773 t = setTimeout(function () { return fn.apply(_this, args); }, wait); 19774 }; 19775 } 19776 var arrayify = function (obj) { 19777 return obj instanceof Array ? obj : [obj]; 19778 }; 19779 19780 function toggleClass(elem, className, bool) { 19781 if (bool === true) 19782 return elem.classList.add(className); 19783 elem.classList.remove(className); 19784 } 19785 function createElement(tag, className, content) { 19786 var e = window.document.createElement(tag); 19787 className = className || ""; 19788 content = content || ""; 19789 e.className = className; 19790 if (content !== undefined) 19791 e.textContent = content; 19792 return e; 19793 } 19794 function clearNode(node) { 19795 while (node.firstChild) 19796 node.removeChild(node.firstChild); 19797 } 19798 function findParent(node, condition) { 19799 if (condition(node)) 19800 return node; 19801 else if (node.parentNode) 19802 return findParent(node.parentNode, condition); 19803 return undefined; // nothing found 19804 } 19805 function createNumberInput(inputClassName, opts) { 19806 var wrapper = createElement("div", "numInputWrapper"), numInput = createElement("input", "numInput " + inputClassName), arrowUp = createElement("span", "arrowUp"), arrowDown = createElement("span", "arrowDown"); 19807 if (navigator.userAgent.indexOf("MSIE 9.0") === -1) { 19808 numInput.type = "number"; 19809 } 19810 else { 19811 numInput.type = "text"; 19812 numInput.pattern = "\\d*"; 19813 } 19814 if (opts !== undefined) 19815 for (var key in opts) 19816 numInput.setAttribute(key, opts[key]); 19817 wrapper.appendChild(numInput); 19818 wrapper.appendChild(arrowUp); 19819 wrapper.appendChild(arrowDown); 19820 return wrapper; 19821 } 19822 function getEventTarget(event) { 19823 try { 19824 if (typeof event.composedPath === "function") { 19825 var path = event.composedPath(); 19826 return path[0]; 19827 } 19828 return event.target; 19829 } 19830 catch (error) { 19831 return event.target; 19832 } 19833 } 19834 19835 var doNothing = function () { return undefined; }; 19836 var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? "shorthand" : "longhand"][monthNumber]; }; 19837 var revFormat = { 19838 D: doNothing, 19839 F: function (dateObj, monthName, locale) { 19840 dateObj.setMonth(locale.months.longhand.indexOf(monthName)); 19841 }, 19842 G: function (dateObj, hour) { 19843 dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour)); 19844 }, 19845 H: function (dateObj, hour) { 19846 dateObj.setHours(parseFloat(hour)); 19847 }, 19848 J: function (dateObj, day) { 19849 dateObj.setDate(parseFloat(day)); 19850 }, 19851 K: function (dateObj, amPM, locale) { 19852 dateObj.setHours((dateObj.getHours() % 12) + 19853 12 * int(new RegExp(locale.amPM[1], "i").test(amPM))); 19854 }, 19855 M: function (dateObj, shortMonth, locale) { 19856 dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth)); 19857 }, 19858 S: function (dateObj, seconds) { 19859 dateObj.setSeconds(parseFloat(seconds)); 19860 }, 19861 U: function (_, unixSeconds) { return new Date(parseFloat(unixSeconds) * 1000); }, 19862 W: function (dateObj, weekNum, locale) { 19863 var weekNumber = parseInt(weekNum); 19864 var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0); 19865 date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek); 19866 return date; 19867 }, 19868 Y: function (dateObj, year) { 19869 dateObj.setFullYear(parseFloat(year)); 19870 }, 19871 Z: function (_, ISODate) { return new Date(ISODate); }, 19872 d: function (dateObj, day) { 19873 dateObj.setDate(parseFloat(day)); 19874 }, 19875 h: function (dateObj, hour) { 19876 dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour)); 19877 }, 19878 i: function (dateObj, minutes) { 19879 dateObj.setMinutes(parseFloat(minutes)); 19880 }, 19881 j: function (dateObj, day) { 19882 dateObj.setDate(parseFloat(day)); 19883 }, 19884 l: doNothing, 19885 m: function (dateObj, month) { 19886 dateObj.setMonth(parseFloat(month) - 1); 19887 }, 19888 n: function (dateObj, month) { 19889 dateObj.setMonth(parseFloat(month) - 1); 19890 }, 19891 s: function (dateObj, seconds) { 19892 dateObj.setSeconds(parseFloat(seconds)); 19893 }, 19894 u: function (_, unixMillSeconds) { 19895 return new Date(parseFloat(unixMillSeconds)); 19896 }, 19897 w: doNothing, 19898 y: function (dateObj, year) { 19899 dateObj.setFullYear(2000 + parseFloat(year)); 19900 }, 19901 }; 19902 var tokenRegex = { 19903 D: "", 19904 F: "", 19905 G: "(\\d\\d|\\d)", 19906 H: "(\\d\\d|\\d)", 19907 J: "(\\d\\d|\\d)\\w+", 19908 K: "", 19909 M: "", 19910 S: "(\\d\\d|\\d)", 19911 U: "(.+)", 19912 W: "(\\d\\d|\\d)", 19913 Y: "(\\d{4})", 19914 Z: "(.+)", 19915 d: "(\\d\\d|\\d)", 19916 h: "(\\d\\d|\\d)", 19917 i: "(\\d\\d|\\d)", 19918 j: "(\\d\\d|\\d)", 19919 l: "", 19920 m: "(\\d\\d|\\d)", 19921 n: "(\\d\\d|\\d)", 19922 s: "(\\d\\d|\\d)", 19923 u: "(.+)", 19924 w: "(\\d\\d|\\d)", 19925 y: "(\\d{2})", 19926 }; 19927 var formats = { 19928 // get the date in UTC 19929 Z: function (date) { return date.toISOString(); }, 19930 // weekday name, short, e.g. Thu 19931 D: function (date, locale, options) { 19932 return locale.weekdays.shorthand[formats.w(date, locale, options)]; 19933 }, 19934 // full month name e.g. January 19935 F: function (date, locale, options) { 19936 return monthToStr(formats.n(date, locale, options) - 1, false, locale); 19937 }, 19938 // padded hour 1-12 19939 G: function (date, locale, options) { 19940 return pad(formats.h(date, locale, options)); 19941 }, 19942 // hours with leading zero e.g. 03 19943 H: function (date) { return pad(date.getHours()); }, 19944 // day (1-30) with ordinal suffix e.g. 1st, 2nd 19945 J: function (date, locale) { 19946 return locale.ordinal !== undefined 19947 ? date.getDate() + locale.ordinal(date.getDate()) 19948 : date.getDate(); 19949 }, 19950 // AM/PM 19951 K: function (date, locale) { return locale.amPM[int(date.getHours() > 11)]; }, 19952 // shorthand month e.g. Jan, Sep, Oct, etc 19953 M: function (date, locale) { 19954 return monthToStr(date.getMonth(), true, locale); 19955 }, 19956 // seconds 00-59 19957 S: function (date) { return pad(date.getSeconds()); }, 19958 // unix timestamp 19959 U: function (date) { return date.getTime() / 1000; }, 19960 W: function (date, _, options) { 19961 return options.getWeek(date); 19962 }, 19963 // full year e.g. 2016, padded (0001-9999) 19964 Y: function (date) { return pad(date.getFullYear(), 4); }, 19965 // day in month, padded (01-30) 19966 d: function (date) { return pad(date.getDate()); }, 19967 // hour from 1-12 (am/pm) 19968 h: function (date) { return (date.getHours() % 12 ? date.getHours() % 12 : 12); }, 19969 // minutes, padded with leading zero e.g. 09 19970 i: function (date) { return pad(date.getMinutes()); }, 19971 // day in month (1-30) 19972 j: function (date) { return date.getDate(); }, 19973 // weekday name, full, e.g. Thursday 19974 l: function (date, locale) { 19975 return locale.weekdays.longhand[date.getDay()]; 19976 }, 19977 // padded month number (01-12) 19978 m: function (date) { return pad(date.getMonth() + 1); }, 19979 // the month number (1-12) 19980 n: function (date) { return date.getMonth() + 1; }, 19981 // seconds 0-59 19982 s: function (date) { return date.getSeconds(); }, 19983 // Unix Milliseconds 19984 u: function (date) { return date.getTime(); }, 19985 // number of the day of the week 19986 w: function (date) { return date.getDay(); }, 19987 // last two digits of year e.g. 16 for 2016 19988 y: function (date) { return String(date.getFullYear()).substring(2); }, 19989 }; 19990 19991 var createDateFormatter = function (_a) { 19992 var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d; 19993 return function (dateObj, frmt, overrideLocale) { 19994 var locale = overrideLocale || l10n; 19995 if (config.formatDate !== undefined && !isMobile) { 19996 return config.formatDate(dateObj, frmt, locale); 19997 } 19998 return frmt 19999 .split("") 20000 .map(function (c, i, arr) { 20001 return formats[c] && arr[i - 1] !== "\\" 20002 ? formats[c](dateObj, locale, config) 20003 : c !== "\\" 20004 ? c 20005 : ""; 20006 }) 20007 .join(""); 20008 }; 20009 }; 20010 var createDateParser = function (_a) { 20011 var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c; 20012 return function (date, givenFormat, timeless, customLocale) { 20013 if (date !== 0 && !date) 20014 return undefined; 20015 var locale = customLocale || l10n; 20016 var parsedDate; 20017 var dateOrig = date; 20018 if (date instanceof Date) 20019 parsedDate = new Date(date.getTime()); 20020 else if (typeof date !== "string" && 20021 date.toFixed !== undefined // timestamp 20022 ) 20023 // create a copy 20024 parsedDate = new Date(date); 20025 else if (typeof date === "string") { 20026 // date string 20027 var format = givenFormat || (config || defaults).dateFormat; 20028 var datestr = String(date).trim(); 20029 if (datestr === "today") { 20030 parsedDate = new Date(); 20031 timeless = true; 20032 } 20033 else if (config && config.parseDate) { 20034 parsedDate = config.parseDate(date, format); 20035 } 20036 else if (/Z$/.test(datestr) || 20037 /GMT$/.test(datestr) // datestrings w/ timezone 20038 ) { 20039 parsedDate = new Date(date); 20040 } 20041 else { 20042 var matched = void 0, ops = []; 20043 for (var i = 0, matchIndex = 0, regexStr = ""; i < format.length; i++) { 20044 var token_1 = format[i]; 20045 var isBackSlash = token_1 === "\\"; 20046 var escaped = format[i - 1] === "\\" || isBackSlash; 20047 if (tokenRegex[token_1] && !escaped) { 20048 regexStr += tokenRegex[token_1]; 20049 var match = new RegExp(regexStr).exec(date); 20050 if (match && (matched = true)) { 20051 ops[token_1 !== "Y" ? "push" : "unshift"]({ 20052 fn: revFormat[token_1], 20053 val: match[++matchIndex], 20054 }); 20055 } 20056 } 20057 else if (!isBackSlash) 20058 regexStr += "."; // don't really care 20059 } 20060 parsedDate = 20061 !config || !config.noCalendar 20062 ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0) 20063 : new Date(new Date().setHours(0, 0, 0, 0)); 20064 ops.forEach(function (_a) { 20065 var fn = _a.fn, val = _a.val; 20066 return (parsedDate = fn(parsedDate, val, locale) || parsedDate); 20067 }); 20068 parsedDate = matched ? parsedDate : undefined; 20069 } 20070 } 20071 /* istanbul ignore next */ 20072 if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) { 20073 config.errorHandler(new Error("Invalid date provided: " + dateOrig)); 20074 return undefined; 20075 } 20076 if (timeless === true) 20077 parsedDate.setHours(0, 0, 0, 0); 20078 return parsedDate; 20079 }; 20080 }; 20081 /** 20082 * Compute the difference in dates, measured in ms 20083 */ 20084 function compareDates(date1, date2, timeless) { 20085 if (timeless === void 0) { timeless = true; } 20086 if (timeless !== false) { 20087 return (new Date(date1.getTime()).setHours(0, 0, 0, 0) - 20088 new Date(date2.getTime()).setHours(0, 0, 0, 0)); 20089 } 20090 return date1.getTime() - date2.getTime(); 20091 } 20092 var isBetween = function (ts, ts1, ts2) { 20093 return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2); 20094 }; 20095 var calculateSecondsSinceMidnight = function (hours, minutes, seconds) { 20096 return hours * 3600 + minutes * 60 + seconds; 20097 }; 20098 var parseSeconds = function (secondsSinceMidnight) { 20099 var hours = Math.floor(secondsSinceMidnight / 3600), minutes = (secondsSinceMidnight - hours * 3600) / 60; 20100 return [hours, minutes, secondsSinceMidnight - hours * 3600 - minutes * 60]; 20101 }; 20102 var duration = { 20103 DAY: 86400000, 20104 }; 20105 function getDefaultHours(config) { 20106 var hours = config.defaultHour; 20107 var minutes = config.defaultMinute; 20108 var seconds = config.defaultSeconds; 20109 if (config.minDate !== undefined) { 20110 var minHour = config.minDate.getHours(); 20111 var minMinutes = config.minDate.getMinutes(); 20112 var minSeconds = config.minDate.getSeconds(); 20113 if (hours < minHour) { 20114 hours = minHour; 20115 } 20116 if (hours === minHour && minutes < minMinutes) { 20117 minutes = minMinutes; 20118 } 20119 if (hours === minHour && minutes === minMinutes && seconds < minSeconds) 20120 seconds = config.minDate.getSeconds(); 20121 } 20122 if (config.maxDate !== undefined) { 20123 var maxHr = config.maxDate.getHours(); 20124 var maxMinutes = config.maxDate.getMinutes(); 20125 hours = Math.min(hours, maxHr); 20126 if (hours === maxHr) 20127 minutes = Math.min(maxMinutes, minutes); 20128 if (hours === maxHr && minutes === maxMinutes) 20129 seconds = config.maxDate.getSeconds(); 20130 } 20131 return { hours: hours, minutes: minutes, seconds: seconds }; 20132 } 20133 20134 if (typeof Object.assign !== "function") { 20135 Object.assign = function (target) { 20136 var args = []; 20137 for (var _i = 1; _i < arguments.length; _i++) { 20138 args[_i - 1] = arguments[_i]; 20139 } 20140 if (!target) { 20141 throw TypeError("Cannot convert undefined or null to object"); 20142 } 20143 var _loop_1 = function (source) { 20144 if (source) { 20145 Object.keys(source).forEach(function (key) { return (target[key] = source[key]); }); 20146 } 20147 }; 20148 for (var _a = 0, args_1 = args; _a < args_1.length; _a++) { 20149 var source = args_1[_a]; 20150 _loop_1(source); 20151 } 20152 return target; 20153 }; 20154 } 20155 20156 var DEBOUNCED_CHANGE_MS = 300; 20157 function FlatpickrInstance(element, instanceConfig) { 20158 var self = { 20159 config: __assign(__assign({}, defaults), flatpickr.defaultConfig), 20160 l10n: english, 20161 }; 20162 self.parseDate = createDateParser({ config: self.config, l10n: self.l10n }); 20163 self._handlers = []; 20164 self.pluginElements = []; 20165 self.loadedPlugins = []; 20166 self._bind = bind; 20167 self._setHoursFromDate = setHoursFromDate; 20168 self._positionCalendar = positionCalendar; 20169 self.changeMonth = changeMonth; 20170 self.changeYear = changeYear; 20171 self.clear = clear; 20172 self.close = close; 20173 self.onMouseOver = onMouseOver; 20174 self._createElement = createElement; 20175 self.createDay = createDay; 20176 self.destroy = destroy; 20177 self.isEnabled = isEnabled; 20178 self.jumpToDate = jumpToDate; 20179 self.updateValue = updateValue; 20180 self.open = open; 20181 self.redraw = redraw; 20182 self.set = set; 20183 self.setDate = setDate; 20184 self.toggle = toggle; 20185 function setupHelperFunctions() { 20186 self.utils = { 20187 getDaysInMonth: function (month, yr) { 20188 if (month === void 0) { month = self.currentMonth; } 20189 if (yr === void 0) { yr = self.currentYear; } 20190 if (month === 1 && ((yr % 4 === 0 && yr % 100 !== 0) || yr % 400 === 0)) 20191 return 29; 20192 return self.l10n.daysInMonth[month]; 20193 }, 20194 }; 20195 } 20196 function init() { 20197 self.element = self.input = element; 20198 self.isOpen = false; 20199 parseConfig(); 20200 setupLocale(); 20201 setupInputs(); 20202 setupDates(); 20203 setupHelperFunctions(); 20204 if (!self.isMobile) 20205 build(); 20206 bindEvents(); 20207 if (self.selectedDates.length || self.config.noCalendar) { 20208 if (self.config.enableTime) { 20209 setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : undefined); 20210 } 20211 updateValue(false); 20212 } 20213 setCalendarWidth(); 20214 var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent); 20215 /* TODO: investigate this further 20216 20217 Currently, there is weird positioning behavior in safari causing pages 20218 to scroll up. https://github.com/chmln/flatpickr/issues/563 20219 20220 However, most browsers are not Safari and positioning is expensive when used 20221 in scale. https://github.com/chmln/flatpickr/issues/1096 20222 */ 20223 if (!self.isMobile && isSafari) { 20224 positionCalendar(); 20225 } 20226 triggerEvent("onReady"); 20227 } 20228 function getClosestActiveElement() { 20229 var _a; 20230 return (((_a = self.calendarContainer) === null || _a === void 0 ? void 0 : _a.getRootNode()) 20231 .activeElement || document.activeElement); 20232 } 20233 function bindToInstance(fn) { 20234 return fn.bind(self); 20235 } 20236 function setCalendarWidth() { 20237 var config = self.config; 20238 if (config.weekNumbers === false && config.showMonths === 1) { 20239 return; 20240 } 20241 else if (config.noCalendar !== true) { 20242 window.requestAnimationFrame(function () { 20243 if (self.calendarContainer !== undefined) { 20244 self.calendarContainer.style.visibility = "hidden"; 20245 self.calendarContainer.style.display = "block"; 20246 } 20247 if (self.daysContainer !== undefined) { 20248 var daysWidth = (self.days.offsetWidth + 1) * config.showMonths; 20249 self.daysContainer.style.width = daysWidth + "px"; 20250 self.calendarContainer.style.width = 20251 daysWidth + 20252 (self.weekWrapper !== undefined 20253 ? self.weekWrapper.offsetWidth 20254 : 0) + 20255 "px"; 20256 self.calendarContainer.style.removeProperty("visibility"); 20257 self.calendarContainer.style.removeProperty("display"); 20258 } 20259 }); 20260 } 20261 } 20262 /** 20263 * The handler for all events targeting the time inputs 20264 */ 20265 function updateTime(e) { 20266 if (self.selectedDates.length === 0) { 20267 var defaultDate = self.config.minDate === undefined || 20268 compareDates(new Date(), self.config.minDate) >= 0 20269 ? new Date() 20270 : new Date(self.config.minDate.getTime()); 20271 var defaults = getDefaultHours(self.config); 20272 defaultDate.setHours(defaults.hours, defaults.minutes, defaults.seconds, defaultDate.getMilliseconds()); 20273 self.selectedDates = [defaultDate]; 20274 self.latestSelectedDateObj = defaultDate; 20275 } 20276 if (e !== undefined && e.type !== "blur") { 20277 timeWrapper(e); 20278 } 20279 var prevValue = self._input.value; 20280 setHoursFromInputs(); 20281 updateValue(); 20282 if (self._input.value !== prevValue) { 20283 self._debouncedChange(); 20284 } 20285 } 20286 function ampm2military(hour, amPM) { 20287 return (hour % 12) + 12 * int(amPM === self.l10n.amPM[1]); 20288 } 20289 function military2ampm(hour) { 20290 switch (hour % 24) { 20291 case 0: 20292 case 12: 20293 return 12; 20294 default: 20295 return hour % 12; 20296 } 20297 } 20298 /** 20299 * Syncs the selected date object time with user's time input 20300 */ 20301 function setHoursFromInputs() { 20302 if (self.hourElement === undefined || self.minuteElement === undefined) 20303 return; 20304 var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== undefined 20305 ? (parseInt(self.secondElement.value, 10) || 0) % 60 20306 : 0; 20307 if (self.amPM !== undefined) { 20308 hours = ampm2military(hours, self.amPM.textContent); 20309 } 20310 var limitMinHours = self.config.minTime !== undefined || 20311 (self.config.minDate && 20312 self.minDateHasTime && 20313 self.latestSelectedDateObj && 20314 compareDates(self.latestSelectedDateObj, self.config.minDate, true) === 20315 0); 20316 var limitMaxHours = self.config.maxTime !== undefined || 20317 (self.config.maxDate && 20318 self.maxDateHasTime && 20319 self.latestSelectedDateObj && 20320 compareDates(self.latestSelectedDateObj, self.config.maxDate, true) === 20321 0); 20322 if (self.config.maxTime !== undefined && 20323 self.config.minTime !== undefined && 20324 self.config.minTime > self.config.maxTime) { 20325 var minBound = calculateSecondsSinceMidnight(self.config.minTime.getHours(), self.config.minTime.getMinutes(), self.config.minTime.getSeconds()); 20326 var maxBound = calculateSecondsSinceMidnight(self.config.maxTime.getHours(), self.config.maxTime.getMinutes(), self.config.maxTime.getSeconds()); 20327 var currentTime = calculateSecondsSinceMidnight(hours, minutes, seconds); 20328 if (currentTime > maxBound && currentTime < minBound) { 20329 var result = parseSeconds(minBound); 20330 hours = result[0]; 20331 minutes = result[1]; 20332 seconds = result[2]; 20333 } 20334 } 20335 else { 20336 if (limitMaxHours) { 20337 var maxTime = self.config.maxTime !== undefined 20338 ? self.config.maxTime 20339 : self.config.maxDate; 20340 hours = Math.min(hours, maxTime.getHours()); 20341 if (hours === maxTime.getHours()) 20342 minutes = Math.min(minutes, maxTime.getMinutes()); 20343 if (minutes === maxTime.getMinutes()) 20344 seconds = Math.min(seconds, maxTime.getSeconds()); 20345 } 20346 if (limitMinHours) { 20347 var minTime = self.config.minTime !== undefined 20348 ? self.config.minTime 20349 : self.config.minDate; 20350 hours = Math.max(hours, minTime.getHours()); 20351 if (hours === minTime.getHours() && minutes < minTime.getMinutes()) 20352 minutes = minTime.getMinutes(); 20353 if (minutes === minTime.getMinutes()) 20354 seconds = Math.max(seconds, minTime.getSeconds()); 20355 } 20356 } 20357 setHours(hours, minutes, seconds); 20358 } 20359 /** 20360 * Syncs time input values with a date 20361 */ 20362 function setHoursFromDate(dateObj) { 20363 var date = dateObj || self.latestSelectedDateObj; 20364 if (date && date instanceof Date) { 20365 setHours(date.getHours(), date.getMinutes(), date.getSeconds()); 20366 } 20367 } 20368 /** 20369 * Sets the hours, minutes, and optionally seconds 20370 * of the latest selected date object and the 20371 * corresponding time inputs 20372 * @param {Number} hours the hour. whether its military 20373 * or am-pm gets inferred from config 20374 * @param {Number} minutes the minutes 20375 * @param {Number} seconds the seconds (optional) 20376 */ 20377 function setHours(hours, minutes, seconds) { 20378 if (self.latestSelectedDateObj !== undefined) { 20379 self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0); 20380 } 20381 if (!self.hourElement || !self.minuteElement || self.isMobile) 20382 return; 20383 self.hourElement.value = pad(!self.config.time_24hr 20384 ? ((12 + hours) % 12) + 12 * int(hours % 12 === 0) 20385 : hours); 20386 self.minuteElement.value = pad(minutes); 20387 if (self.amPM !== undefined) 20388 self.amPM.textContent = self.l10n.amPM[int(hours >= 12)]; 20389 if (self.secondElement !== undefined) 20390 self.secondElement.value = pad(seconds); 20391 } 20392 /** 20393 * Handles the year input and incrementing events 20394 * @param {Event} event the keyup or increment event 20395 */ 20396 function onYearInput(event) { 20397 var eventTarget = getEventTarget(event); 20398 var year = parseInt(eventTarget.value) + (event.delta || 0); 20399 if (year / 1000 > 1 || 20400 (event.key === "Enter" && !/[^\d]/.test(year.toString()))) { 20401 changeYear(year); 20402 } 20403 } 20404 /** 20405 * Essentially addEventListener + tracking 20406 * @param {Element} element the element to addEventListener to 20407 * @param {String} event the event name 20408 * @param {Function} handler the event handler 20409 */ 20410 function bind(element, event, handler, options) { 20411 if (event instanceof Array) 20412 return event.forEach(function (ev) { return bind(element, ev, handler, options); }); 20413 if (element instanceof Array) 20414 return element.forEach(function (el) { return bind(el, event, handler, options); }); 20415 element.addEventListener(event, handler, options); 20416 self._handlers.push({ 20417 remove: function () { return element.removeEventListener(event, handler, options); }, 20418 }); 20419 } 20420 function triggerChange() { 20421 triggerEvent("onChange"); 20422 } 20423 /** 20424 * Adds all the necessary event listeners 20425 */ 20426 function bindEvents() { 20427 if (self.config.wrap) { 20428 ["open", "close", "toggle", "clear"].forEach(function (evt) { 20429 Array.prototype.forEach.call(self.element.querySelectorAll("[data-" + evt + "]"), function (el) { 20430 return bind(el, "click", self[evt]); 20431 }); 20432 }); 20433 } 20434 if (self.isMobile) { 20435 setupMobile(); 20436 return; 20437 } 20438 var debouncedResize = debounce(onResize, 50); 20439 self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS); 20440 if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent)) 20441 bind(self.daysContainer, "mouseover", function (e) { 20442 if (self.config.mode === "range") 20443 onMouseOver(getEventTarget(e)); 20444 }); 20445 bind(self._input, "keydown", onKeyDown); 20446 if (self.calendarContainer !== undefined) { 20447 bind(self.calendarContainer, "keydown", onKeyDown); 20448 } 20449 if (!self.config.inline && !self.config.static) 20450 bind(window, "resize", debouncedResize); 20451 if (window.ontouchstart !== undefined) 20452 bind(window.document, "touchstart", documentClick); 20453 else 20454 bind(window.document, "mousedown", documentClick); 20455 bind(window.document, "focus", documentClick, { capture: true }); 20456 if (self.config.clickOpens === true) { 20457 bind(self._input, "focus", self.open); 20458 bind(self._input, "click", self.open); 20459 } 20460 if (self.daysContainer !== undefined) { 20461 bind(self.monthNav, "click", onMonthNavClick); 20462 bind(self.monthNav, ["keyup", "increment"], onYearInput); 20463 bind(self.daysContainer, "click", selectDate); 20464 } 20465 if (self.timeContainer !== undefined && 20466 self.minuteElement !== undefined && 20467 self.hourElement !== undefined) { 20468 var selText = function (e) { 20469 return getEventTarget(e).select(); 20470 }; 20471 bind(self.timeContainer, ["increment"], updateTime); 20472 bind(self.timeContainer, "blur", updateTime, { capture: true }); 20473 bind(self.timeContainer, "click", timeIncrement); 20474 bind([self.hourElement, self.minuteElement], ["focus", "click"], selText); 20475 if (self.secondElement !== undefined) 20476 bind(self.secondElement, "focus", function () { return self.secondElement && self.secondElement.select(); }); 20477 if (self.amPM !== undefined) { 20478 bind(self.amPM, "click", function (e) { 20479 updateTime(e); 20480 }); 20481 } 20482 } 20483 if (self.config.allowInput) { 20484 bind(self._input, "blur", onBlur); 20485 } 20486 } 20487 /** 20488 * Set the calendar view to a particular date. 20489 * @param {Date} jumpDate the date to set the view to 20490 * @param {boolean} triggerChange if change events should be triggered 20491 */ 20492 function jumpToDate(jumpDate, triggerChange) { 20493 var jumpTo = jumpDate !== undefined 20494 ? self.parseDate(jumpDate) 20495 : self.latestSelectedDateObj || 20496 (self.config.minDate && self.config.minDate > self.now 20497 ? self.config.minDate 20498 : self.config.maxDate && self.config.maxDate < self.now 20499 ? self.config.maxDate 20500 : self.now); 20501 var oldYear = self.currentYear; 20502 var oldMonth = self.currentMonth; 20503 try { 20504 if (jumpTo !== undefined) { 20505 self.currentYear = jumpTo.getFullYear(); 20506 self.currentMonth = jumpTo.getMonth(); 20507 } 20508 } 20509 catch (e) { 20510 /* istanbul ignore next */ 20511 e.message = "Invalid date supplied: " + jumpTo; 20512 self.config.errorHandler(e); 20513 } 20514 if (triggerChange && self.currentYear !== oldYear) { 20515 triggerEvent("onYearChange"); 20516 buildMonthSwitch(); 20517 } 20518 if (triggerChange && 20519 (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) { 20520 triggerEvent("onMonthChange"); 20521 } 20522 self.redraw(); 20523 } 20524 /** 20525 * The up/down arrow handler for time inputs 20526 * @param {Event} e the click event 20527 */ 20528 function timeIncrement(e) { 20529 var eventTarget = getEventTarget(e); 20530 if (~eventTarget.className.indexOf("arrow")) 20531 incrementNumInput(e, eventTarget.classList.contains("arrowUp") ? 1 : -1); 20532 } 20533 /** 20534 * Increments/decrements the value of input associ- 20535 * ated with the up/down arrow by dispatching an 20536 * "increment" event on the input. 20537 * 20538 * @param {Event} e the click event 20539 * @param {Number} delta the diff (usually 1 or -1) 20540 * @param {Element} inputElem the input element 20541 */ 20542 function incrementNumInput(e, delta, inputElem) { 20543 var target = e && getEventTarget(e); 20544 var input = inputElem || 20545 (target && target.parentNode && target.parentNode.firstChild); 20546 var event = createEvent("increment"); 20547 event.delta = delta; 20548 input && input.dispatchEvent(event); 20549 } 20550 function build() { 20551 var fragment = window.document.createDocumentFragment(); 20552 self.calendarContainer = createElement("div", "flatpickr-calendar"); 20553 self.calendarContainer.tabIndex = -1; 20554 if (!self.config.noCalendar) { 20555 fragment.appendChild(buildMonthNav()); 20556 self.innerContainer = createElement("div", "flatpickr-innerContainer"); 20557 if (self.config.weekNumbers) { 20558 var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers; 20559 self.innerContainer.appendChild(weekWrapper); 20560 self.weekNumbers = weekNumbers; 20561 self.weekWrapper = weekWrapper; 20562 } 20563 self.rContainer = createElement("div", "flatpickr-rContainer"); 20564 self.rContainer.appendChild(buildWeekdays()); 20565 if (!self.daysContainer) { 20566 self.daysContainer = createElement("div", "flatpickr-days"); 20567 self.daysContainer.tabIndex = -1; 20568 } 20569 buildDays(); 20570 self.rContainer.appendChild(self.daysContainer); 20571 self.innerContainer.appendChild(self.rContainer); 20572 fragment.appendChild(self.innerContainer); 20573 } 20574 if (self.config.enableTime) { 20575 fragment.appendChild(buildTime()); 20576 } 20577 toggleClass(self.calendarContainer, "rangeMode", self.config.mode === "range"); 20578 toggleClass(self.calendarContainer, "animate", self.config.animate === true); 20579 toggleClass(self.calendarContainer, "multiMonth", self.config.showMonths > 1); 20580 self.calendarContainer.appendChild(fragment); 20581 var customAppend = self.config.appendTo !== undefined && 20582 self.config.appendTo.nodeType !== undefined; 20583 if (self.config.inline || self.config.static) { 20584 self.calendarContainer.classList.add(self.config.inline ? "inline" : "static"); 20585 if (self.config.inline) { 20586 if (!customAppend && self.element.parentNode) 20587 self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling); 20588 else if (self.config.appendTo !== undefined) 20589 self.config.appendTo.appendChild(self.calendarContainer); 20590 } 20591 if (self.config.static) { 20592 var wrapper = createElement("div", "flatpickr-wrapper"); 20593 if (self.element.parentNode) 20594 self.element.parentNode.insertBefore(wrapper, self.element); 20595 wrapper.appendChild(self.element); 20596 if (self.altInput) 20597 wrapper.appendChild(self.altInput); 20598 wrapper.appendChild(self.calendarContainer); 20599 } 20600 } 20601 if (!self.config.static && !self.config.inline) 20602 (self.config.appendTo !== undefined 20603 ? self.config.appendTo 20604 : window.document.body).appendChild(self.calendarContainer); 20605 } 20606 function createDay(className, date, _dayNumber, i) { 20607 var dateIsEnabled = isEnabled(date, true), dayElement = createElement("span", className, date.getDate().toString()); 20608 dayElement.dateObj = date; 20609 dayElement.$i = i; 20610 dayElement.setAttribute("aria-label", self.formatDate(date, self.config.ariaDateFormat)); 20611 if (className.indexOf("hidden") === -1 && 20612 compareDates(date, self.now) === 0) { 20613 self.todayDateElem = dayElement; 20614 dayElement.classList.add("today"); 20615 dayElement.setAttribute("aria-current", "date"); 20616 } 20617 if (dateIsEnabled) { 20618 dayElement.tabIndex = -1; 20619 if (isDateSelected(date)) { 20620 dayElement.classList.add("selected"); 20621 self.selectedDateElem = dayElement; 20622 if (self.config.mode === "range") { 20623 toggleClass(dayElement, "startRange", self.selectedDates[0] && 20624 compareDates(date, self.selectedDates[0], true) === 0); 20625 toggleClass(dayElement, "endRange", self.selectedDates[1] && 20626 compareDates(date, self.selectedDates[1], true) === 0); 20627 if (className === "nextMonthDay") 20628 dayElement.classList.add("inRange"); 20629 } 20630 } 20631 } 20632 else { 20633 dayElement.classList.add("flatpickr-disabled"); 20634 } 20635 if (self.config.mode === "range") { 20636 if (isDateInRange(date) && !isDateSelected(date)) 20637 dayElement.classList.add("inRange"); 20638 } 20639 if (self.weekNumbers && 20640 self.config.showMonths === 1 && 20641 className !== "prevMonthDay" && 20642 i % 7 === 6) { 20643 self.weekNumbers.insertAdjacentHTML("beforeend", "<span class='flatpickr-day'>" + self.config.getWeek(date) + "</span>"); 20644 } 20645 triggerEvent("onDayCreate", dayElement); 20646 return dayElement; 20647 } 20648 function focusOnDayElem(targetNode) { 20649 targetNode.focus(); 20650 if (self.config.mode === "range") 20651 onMouseOver(targetNode); 20652 } 20653 function getFirstAvailableDay(delta) { 20654 var startMonth = delta > 0 ? 0 : self.config.showMonths - 1; 20655 var endMonth = delta > 0 ? self.config.showMonths : -1; 20656 for (var m = startMonth; m != endMonth; m += delta) { 20657 var month = self.daysContainer.children[m]; 20658 var startIndex = delta > 0 ? 0 : month.children.length - 1; 20659 var endIndex = delta > 0 ? month.children.length : -1; 20660 for (var i = startIndex; i != endIndex; i += delta) { 20661 var c = month.children[i]; 20662 if (c.className.indexOf("hidden") === -1 && isEnabled(c.dateObj)) 20663 return c; 20664 } 20665 } 20666 return undefined; 20667 } 20668 function getNextAvailableDay(current, delta) { 20669 var givenMonth = current.className.indexOf("Month") === -1 20670 ? current.dateObj.getMonth() 20671 : self.currentMonth; 20672 var endMonth = delta > 0 ? self.config.showMonths : -1; 20673 var loopDelta = delta > 0 ? 1 : -1; 20674 for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) { 20675 var month = self.daysContainer.children[m]; 20676 var startIndex = givenMonth - self.currentMonth === m 20677 ? current.$i + delta 20678 : delta < 0 20679 ? month.children.length - 1 20680 : 0; 20681 var numMonthDays = month.children.length; 20682 for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) { 20683 var c = month.children[i]; 20684 if (c.className.indexOf("hidden") === -1 && 20685 isEnabled(c.dateObj) && 20686 Math.abs(current.$i - i) >= Math.abs(delta)) 20687 return focusOnDayElem(c); 20688 } 20689 } 20690 self.changeMonth(loopDelta); 20691 focusOnDay(getFirstAvailableDay(loopDelta), 0); 20692 return undefined; 20693 } 20694 function focusOnDay(current, offset) { 20695 var activeElement = getClosestActiveElement(); 20696 var dayFocused = isInView(activeElement || document.body); 20697 var startElem = current !== undefined 20698 ? current 20699 : dayFocused 20700 ? activeElement 20701 : self.selectedDateElem !== undefined && isInView(self.selectedDateElem) 20702 ? self.selectedDateElem 20703 : self.todayDateElem !== undefined && isInView(self.todayDateElem) 20704 ? self.todayDateElem 20705 : getFirstAvailableDay(offset > 0 ? 1 : -1); 20706 if (startElem === undefined) { 20707 self._input.focus(); 20708 } 20709 else if (!dayFocused) { 20710 focusOnDayElem(startElem); 20711 } 20712 else { 20713 getNextAvailableDay(startElem, offset); 20714 } 20715 } 20716 function buildMonthDays(year, month) { 20717 var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7; 20718 var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year); 20719 var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? "prevMonthDay hidden" : "prevMonthDay", nextMonthDayClass = isMultiMonth ? "nextMonthDay hidden" : "nextMonthDay"; 20720 var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0; 20721 // prepend days from the ending of previous month 20722 for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) { 20723 days.appendChild(createDay("flatpickr-day " + prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex)); 20724 } 20725 // Start at 1 since there is no 0th day 20726 for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) { 20727 days.appendChild(createDay("flatpickr-day", new Date(year, month, dayNumber), dayNumber, dayIndex)); 20728 } 20729 // append days from the next month 20730 for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth && 20731 (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) { 20732 days.appendChild(createDay("flatpickr-day " + nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex)); 20733 } 20734 //updateNavigationCurrentMonth(); 20735 var dayContainer = createElement("div", "dayContainer"); 20736 dayContainer.appendChild(days); 20737 return dayContainer; 20738 } 20739 function buildDays() { 20740 if (self.daysContainer === undefined) { 20741 return; 20742 } 20743 clearNode(self.daysContainer); 20744 // TODO: week numbers for each month 20745 if (self.weekNumbers) 20746 clearNode(self.weekNumbers); 20747 var frag = document.createDocumentFragment(); 20748 for (var i = 0; i < self.config.showMonths; i++) { 20749 var d = new Date(self.currentYear, self.currentMonth, 1); 20750 d.setMonth(self.currentMonth + i); 20751 frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth())); 20752 } 20753 self.daysContainer.appendChild(frag); 20754 self.days = self.daysContainer.firstChild; 20755 if (self.config.mode === "range" && self.selectedDates.length === 1) { 20756 onMouseOver(); 20757 } 20758 } 20759 function buildMonthSwitch() { 20760 if (self.config.showMonths > 1 || 20761 self.config.monthSelectorType !== "dropdown") 20762 return; 20763 var shouldBuildMonth = function (month) { 20764 if (self.config.minDate !== undefined && 20765 self.currentYear === self.config.minDate.getFullYear() && 20766 month < self.config.minDate.getMonth()) { 20767 return false; 20768 } 20769 return !(self.config.maxDate !== undefined && 20770 self.currentYear === self.config.maxDate.getFullYear() && 20771 month > self.config.maxDate.getMonth()); 20772 }; 20773 self.monthsDropdownContainer.tabIndex = -1; 20774 self.monthsDropdownContainer.innerHTML = ""; 20775 for (var i = 0; i < 12; i++) { 20776 if (!shouldBuildMonth(i)) 20777 continue; 20778 var month = createElement("option", "flatpickr-monthDropdown-month"); 20779 month.value = new Date(self.currentYear, i).getMonth().toString(); 20780 month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n); 20781 month.tabIndex = -1; 20782 if (self.currentMonth === i) { 20783 month.selected = true; 20784 } 20785 self.monthsDropdownContainer.appendChild(month); 20786 } 20787 } 20788 function buildMonth() { 20789 var container = createElement("div", "flatpickr-month"); 20790 var monthNavFragment = window.document.createDocumentFragment(); 20791 var monthElement; 20792 if (self.config.showMonths > 1 || 20793 self.config.monthSelectorType === "static") { 20794 monthElement = createElement("span", "cur-month"); 20795 } 20796 else { 20797 self.monthsDropdownContainer = createElement("select", "flatpickr-monthDropdown-months"); 20798 self.monthsDropdownContainer.setAttribute("aria-label", self.l10n.monthAriaLabel); 20799 bind(self.monthsDropdownContainer, "change", function (e) { 20800 var target = getEventTarget(e); 20801 var selectedMonth = parseInt(target.value, 10); 20802 self.changeMonth(selectedMonth - self.currentMonth); 20803 triggerEvent("onMonthChange"); 20804 }); 20805 buildMonthSwitch(); 20806 monthElement = self.monthsDropdownContainer; 20807 } 20808 var yearInput = createNumberInput("cur-year", { tabindex: "-1" }); 20809 var yearElement = yearInput.getElementsByTagName("input")[0]; 20810 yearElement.setAttribute("aria-label", self.l10n.yearAriaLabel); 20811 if (self.config.minDate) { 20812 yearElement.setAttribute("min", self.config.minDate.getFullYear().toString()); 20813 } 20814 if (self.config.maxDate) { 20815 yearElement.setAttribute("max", self.config.maxDate.getFullYear().toString()); 20816 yearElement.disabled = 20817 !!self.config.minDate && 20818 self.config.minDate.getFullYear() === self.config.maxDate.getFullYear(); 20819 } 20820 var currentMonth = createElement("div", "flatpickr-current-month"); 20821 currentMonth.appendChild(monthElement); 20822 currentMonth.appendChild(yearInput); 20823 monthNavFragment.appendChild(currentMonth); 20824 container.appendChild(monthNavFragment); 20825 return { 20826 container: container, 20827 yearElement: yearElement, 20828 monthElement: monthElement, 20829 }; 20830 } 20831 function buildMonths() { 20832 clearNode(self.monthNav); 20833 self.monthNav.appendChild(self.prevMonthNav); 20834 if (self.config.showMonths) { 20835 self.yearElements = []; 20836 self.monthElements = []; 20837 } 20838 for (var m = self.config.showMonths; m--;) { 20839 var month = buildMonth(); 20840 self.yearElements.push(month.yearElement); 20841 self.monthElements.push(month.monthElement); 20842 self.monthNav.appendChild(month.container); 20843 } 20844 self.monthNav.appendChild(self.nextMonthNav); 20845 } 20846 function buildMonthNav() { 20847 self.monthNav = createElement("div", "flatpickr-months"); 20848 self.yearElements = []; 20849 self.monthElements = []; 20850 self.prevMonthNav = createElement("span", "flatpickr-prev-month"); 20851 self.prevMonthNav.innerHTML = self.config.prevArrow; 20852 self.nextMonthNav = createElement("span", "flatpickr-next-month"); 20853 self.nextMonthNav.innerHTML = self.config.nextArrow; 20854 buildMonths(); 20855 Object.defineProperty(self, "_hidePrevMonthArrow", { 20856 get: function () { return self.__hidePrevMonthArrow; }, 20857 set: function (bool) { 20858 if (self.__hidePrevMonthArrow !== bool) { 20859 toggleClass(self.prevMonthNav, "flatpickr-disabled", bool); 20860 self.__hidePrevMonthArrow = bool; 20861 } 20862 }, 20863 }); 20864 Object.defineProperty(self, "_hideNextMonthArrow", { 20865 get: function () { return self.__hideNextMonthArrow; }, 20866 set: function (bool) { 20867 if (self.__hideNextMonthArrow !== bool) { 20868 toggleClass(self.nextMonthNav, "flatpickr-disabled", bool); 20869 self.__hideNextMonthArrow = bool; 20870 } 20871 }, 20872 }); 20873 self.currentYearElement = self.yearElements[0]; 20874 updateNavigationCurrentMonth(); 20875 return self.monthNav; 20876 } 20877 function buildTime() { 20878 self.calendarContainer.classList.add("hasTime"); 20879 if (self.config.noCalendar) 20880 self.calendarContainer.classList.add("noCalendar"); 20881 var defaults = getDefaultHours(self.config); 20882 self.timeContainer = createElement("div", "flatpickr-time"); 20883 self.timeContainer.tabIndex = -1; 20884 var separator = createElement("span", "flatpickr-time-separator", ":"); 20885 var hourInput = createNumberInput("flatpickr-hour", { 20886 "aria-label": self.l10n.hourAriaLabel, 20887 }); 20888 self.hourElement = hourInput.getElementsByTagName("input")[0]; 20889 var minuteInput = createNumberInput("flatpickr-minute", { 20890 "aria-label": self.l10n.minuteAriaLabel, 20891 }); 20892 self.minuteElement = minuteInput.getElementsByTagName("input")[0]; 20893 self.hourElement.tabIndex = self.minuteElement.tabIndex = -1; 20894 self.hourElement.value = pad(self.latestSelectedDateObj 20895 ? self.latestSelectedDateObj.getHours() 20896 : self.config.time_24hr 20897 ? defaults.hours 20898 : military2ampm(defaults.hours)); 20899 self.minuteElement.value = pad(self.latestSelectedDateObj 20900 ? self.latestSelectedDateObj.getMinutes() 20901 : defaults.minutes); 20902 self.hourElement.setAttribute("step", self.config.hourIncrement.toString()); 20903 self.minuteElement.setAttribute("step", self.config.minuteIncrement.toString()); 20904 self.hourElement.setAttribute("min", self.config.time_24hr ? "0" : "1"); 20905 self.hourElement.setAttribute("max", self.config.time_24hr ? "23" : "12"); 20906 self.hourElement.setAttribute("maxlength", "2"); 20907 self.minuteElement.setAttribute("min", "0"); 20908 self.minuteElement.setAttribute("max", "59"); 20909 self.minuteElement.setAttribute("maxlength", "2"); 20910 self.timeContainer.appendChild(hourInput); 20911 self.timeContainer.appendChild(separator); 20912 self.timeContainer.appendChild(minuteInput); 20913 if (self.config.time_24hr) 20914 self.timeContainer.classList.add("time24hr"); 20915 if (self.config.enableSeconds) { 20916 self.timeContainer.classList.add("hasSeconds"); 20917 var secondInput = createNumberInput("flatpickr-second"); 20918 self.secondElement = secondInput.getElementsByTagName("input")[0]; 20919 self.secondElement.value = pad(self.latestSelectedDateObj 20920 ? self.latestSelectedDateObj.getSeconds() 20921 : defaults.seconds); 20922 self.secondElement.setAttribute("step", self.minuteElement.getAttribute("step")); 20923 self.secondElement.setAttribute("min", "0"); 20924 self.secondElement.setAttribute("max", "59"); 20925 self.secondElement.setAttribute("maxlength", "2"); 20926 self.timeContainer.appendChild(createElement("span", "flatpickr-time-separator", ":")); 20927 self.timeContainer.appendChild(secondInput); 20928 } 20929 if (!self.config.time_24hr) { 20930 // add self.amPM if appropriate 20931 self.amPM = createElement("span", "flatpickr-am-pm", self.l10n.amPM[int((self.latestSelectedDateObj 20932 ? self.hourElement.value 20933 : self.config.defaultHour) > 11)]); 20934 self.amPM.title = self.l10n.toggleTitle; 20935 self.amPM.tabIndex = -1; 20936 self.timeContainer.appendChild(self.amPM); 20937 } 20938 return self.timeContainer; 20939 } 20940 function buildWeekdays() { 20941 if (!self.weekdayContainer) 20942 self.weekdayContainer = createElement("div", "flatpickr-weekdays"); 20943 else 20944 clearNode(self.weekdayContainer); 20945 for (var i = self.config.showMonths; i--;) { 20946 var container = createElement("div", "flatpickr-weekdaycontainer"); 20947 self.weekdayContainer.appendChild(container); 20948 } 20949 updateWeekdays(); 20950 return self.weekdayContainer; 20951 } 20952 function updateWeekdays() { 20953 if (!self.weekdayContainer) { 20954 return; 20955 } 20956 var firstDayOfWeek = self.l10n.firstDayOfWeek; 20957 var weekdays = __spreadArrays(self.l10n.weekdays.shorthand); 20958 if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) { 20959 weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek)); 20960 } 20961 for (var i = self.config.showMonths; i--;) { 20962 self.weekdayContainer.children[i].innerHTML = "\n <span class='flatpickr-weekday'>\n " + weekdays.join("</span><span class='flatpickr-weekday'>") + "\n </span>\n "; 20963 } 20964 } 20965 /* istanbul ignore next */ 20966 function buildWeeks() { 20967 self.calendarContainer.classList.add("hasWeeks"); 20968 var weekWrapper = createElement("div", "flatpickr-weekwrapper"); 20969 weekWrapper.appendChild(createElement("span", "flatpickr-weekday", self.l10n.weekAbbreviation)); 20970 var weekNumbers = createElement("div", "flatpickr-weeks"); 20971 weekWrapper.appendChild(weekNumbers); 20972 return { 20973 weekWrapper: weekWrapper, 20974 weekNumbers: weekNumbers, 20975 }; 20976 } 20977 function changeMonth(value, isOffset) { 20978 if (isOffset === void 0) { isOffset = true; } 20979 var delta = isOffset ? value : value - self.currentMonth; 20980 if ((delta < 0 && self._hidePrevMonthArrow === true) || 20981 (delta > 0 && self._hideNextMonthArrow === true)) 20982 return; 20983 self.currentMonth += delta; 20984 if (self.currentMonth < 0 || self.currentMonth > 11) { 20985 self.currentYear += self.currentMonth > 11 ? 1 : -1; 20986 self.currentMonth = (self.currentMonth + 12) % 12; 20987 triggerEvent("onYearChange"); 20988 buildMonthSwitch(); 20989 } 20990 buildDays(); 20991 triggerEvent("onMonthChange"); 20992 updateNavigationCurrentMonth(); 20993 } 20994 function clear(triggerChangeEvent, toInitial) { 20995 if (triggerChangeEvent === void 0) { triggerChangeEvent = true; } 20996 if (toInitial === void 0) { toInitial = true; } 20997 self.input.value = ""; 20998 if (self.altInput !== undefined) 20999 self.altInput.value = ""; 21000 if (self.mobileInput !== undefined) 21001 self.mobileInput.value = ""; 21002 self.selectedDates = []; 21003 self.latestSelectedDateObj = undefined; 21004 if (toInitial === true) { 21005 self.currentYear = self._initialDate.getFullYear(); 21006 self.currentMonth = self._initialDate.getMonth(); 21007 } 21008 if (self.config.enableTime === true) { 21009 var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds; 21010 setHours(hours, minutes, seconds); 21011 } 21012 self.redraw(); 21013 if (triggerChangeEvent) 21014 // triggerChangeEvent is true (default) or an Event 21015 triggerEvent("onChange"); 21016 } 21017 function close() { 21018 self.isOpen = false; 21019 if (!self.isMobile) { 21020 if (self.calendarContainer !== undefined) { 21021 self.calendarContainer.classList.remove("open"); 21022 } 21023 if (self._input !== undefined) { 21024 self._input.classList.remove("active"); 21025 } 21026 } 21027 triggerEvent("onClose"); 21028 } 21029 function destroy() { 21030 if (self.config !== undefined) 21031 triggerEvent("onDestroy"); 21032 for (var i = self._handlers.length; i--;) { 21033 self._handlers[i].remove(); 21034 } 21035 self._handlers = []; 21036 if (self.mobileInput) { 21037 if (self.mobileInput.parentNode) 21038 self.mobileInput.parentNode.removeChild(self.mobileInput); 21039 self.mobileInput = undefined; 21040 } 21041 else if (self.calendarContainer && self.calendarContainer.parentNode) { 21042 if (self.config.static && self.calendarContainer.parentNode) { 21043 var wrapper = self.calendarContainer.parentNode; 21044 wrapper.lastChild && wrapper.removeChild(wrapper.lastChild); 21045 if (wrapper.parentNode) { 21046 while (wrapper.firstChild) 21047 wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper); 21048 wrapper.parentNode.removeChild(wrapper); 21049 } 21050 } 21051 else 21052 self.calendarContainer.parentNode.removeChild(self.calendarContainer); 21053 } 21054 if (self.altInput) { 21055 self.input.type = "text"; 21056 if (self.altInput.parentNode) 21057 self.altInput.parentNode.removeChild(self.altInput); 21058 delete self.altInput; 21059 } 21060 if (self.input) { 21061 self.input.type = self.input._type; 21062 self.input.classList.remove("flatpickr-input"); 21063 self.input.removeAttribute("readonly"); 21064 } 21065 [ 21066 "_showTimeInput", 21067 "latestSelectedDateObj", 21068 "_hideNextMonthArrow", 21069 "_hidePrevMonthArrow", 21070 "__hideNextMonthArrow", 21071 "__hidePrevMonthArrow", 21072 "isMobile", 21073 "isOpen", 21074 "selectedDateElem", 21075 "minDateHasTime", 21076 "maxDateHasTime", 21077 "days", 21078 "daysContainer", 21079 "_input", 21080 "_positionElement", 21081 "innerContainer", 21082 "rContainer", 21083 "monthNav", 21084 "todayDateElem", 21085 "calendarContainer", 21086 "weekdayContainer", 21087 "prevMonthNav", 21088 "nextMonthNav", 21089 "monthsDropdownContainer", 21090 "currentMonthElement", 21091 "currentYearElement", 21092 "navigationCurrentMonth", 21093 "selectedDateElem", 21094 "config", 21095 ].forEach(function (k) { 21096 try { 21097 delete self[k]; 21098 } 21099 catch (_) { } 21100 }); 21101 } 21102 function isCalendarElem(elem) { 21103 return self.calendarContainer.contains(elem); 21104 } 21105 function documentClick(e) { 21106 if (self.isOpen && !self.config.inline) { 21107 var eventTarget_1 = getEventTarget(e); 21108 var isCalendarElement = isCalendarElem(eventTarget_1); 21109 var isInput = eventTarget_1 === self.input || 21110 eventTarget_1 === self.altInput || 21111 self.element.contains(eventTarget_1) || 21112 // web components 21113 // e.path is not present in all browsers. circumventing typechecks 21114 (e.path && 21115 e.path.indexOf && 21116 (~e.path.indexOf(self.input) || 21117 ~e.path.indexOf(self.altInput))); 21118 var lostFocus = !isInput && 21119 !isCalendarElement && 21120 !isCalendarElem(e.relatedTarget); 21121 var isIgnored = !self.config.ignoredFocusElements.some(function (elem) { 21122 return elem.contains(eventTarget_1); 21123 }); 21124 if (lostFocus && isIgnored) { 21125 if (self.config.allowInput) { 21126 self.setDate(self._input.value, false, self.config.altInput 21127 ? self.config.altFormat 21128 : self.config.dateFormat); 21129 } 21130 if (self.timeContainer !== undefined && 21131 self.minuteElement !== undefined && 21132 self.hourElement !== undefined && 21133 self.input.value !== "" && 21134 self.input.value !== undefined) { 21135 updateTime(); 21136 } 21137 self.close(); 21138 if (self.config && 21139 self.config.mode === "range" && 21140 self.selectedDates.length === 1) 21141 self.clear(false); 21142 } 21143 } 21144 } 21145 function changeYear(newYear) { 21146 if (!newYear || 21147 (self.config.minDate && newYear < self.config.minDate.getFullYear()) || 21148 (self.config.maxDate && newYear > self.config.maxDate.getFullYear())) 21149 return; 21150 var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum; 21151 self.currentYear = newYearNum || self.currentYear; 21152 if (self.config.maxDate && 21153 self.currentYear === self.config.maxDate.getFullYear()) { 21154 self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth); 21155 } 21156 else if (self.config.minDate && 21157 self.currentYear === self.config.minDate.getFullYear()) { 21158 self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth); 21159 } 21160 if (isNewYear) { 21161 self.redraw(); 21162 triggerEvent("onYearChange"); 21163 buildMonthSwitch(); 21164 } 21165 } 21166 function isEnabled(date, timeless) { 21167 var _a; 21168 if (timeless === void 0) { timeless = true; } 21169 var dateToCheck = self.parseDate(date, undefined, timeless); // timeless 21170 if ((self.config.minDate && 21171 dateToCheck && 21172 compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0) || 21173 (self.config.maxDate && 21174 dateToCheck && 21175 compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0)) 21176 return false; 21177 if (!self.config.enable && self.config.disable.length === 0) 21178 return true; 21179 if (dateToCheck === undefined) 21180 return false; 21181 var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable; 21182 for (var i = 0, d = void 0; i < array.length; i++) { 21183 d = array[i]; 21184 if (typeof d === "function" && 21185 d(dateToCheck) // disabled by function 21186 ) 21187 return bool; 21188 else if (d instanceof Date && 21189 dateToCheck !== undefined && 21190 d.getTime() === dateToCheck.getTime()) 21191 // disabled by date 21192 return bool; 21193 else if (typeof d === "string") { 21194 // disabled by date string 21195 var parsed = self.parseDate(d, undefined, true); 21196 return parsed && parsed.getTime() === dateToCheck.getTime() 21197 ? bool 21198 : !bool; 21199 } 21200 else if ( 21201 // disabled by range 21202 typeof d === "object" && 21203 dateToCheck !== undefined && 21204 d.from && 21205 d.to && 21206 dateToCheck.getTime() >= d.from.getTime() && 21207 dateToCheck.getTime() <= d.to.getTime()) 21208 return bool; 21209 } 21210 return !bool; 21211 } 21212 function isInView(elem) { 21213 if (self.daysContainer !== undefined) 21214 return (elem.className.indexOf("hidden") === -1 && 21215 elem.className.indexOf("flatpickr-disabled") === -1 && 21216 self.daysContainer.contains(elem)); 21217 return false; 21218 } 21219 function onBlur(e) { 21220 var isInput = e.target === self._input; 21221 var valueChanged = self._input.value.trimEnd() !== getDateStr(); 21222 if (isInput && 21223 valueChanged && 21224 !(e.relatedTarget && isCalendarElem(e.relatedTarget))) { 21225 self.setDate(self._input.value, true, e.target === self.altInput 21226 ? self.config.altFormat 21227 : self.config.dateFormat); 21228 } 21229 } 21230 function onKeyDown(e) { 21231 // e.key e.keyCode 21232 // "Backspace" 8 21233 // "Tab" 9 21234 // "Enter" 13 21235 // "Escape" (IE "Esc") 27 21236 // "ArrowLeft" (IE "Left") 37 21237 // "ArrowUp" (IE "Up") 38 21238 // "ArrowRight" (IE "Right") 39 21239 // "ArrowDown" (IE "Down") 40 21240 // "Delete" (IE "Del") 46 21241 var eventTarget = getEventTarget(e); 21242 var isInput = self.config.wrap 21243 ? element.contains(eventTarget) 21244 : eventTarget === self._input; 21245 var allowInput = self.config.allowInput; 21246 var allowKeydown = self.isOpen && (!allowInput || !isInput); 21247 var allowInlineKeydown = self.config.inline && isInput && !allowInput; 21248 if (e.keyCode === 13 && isInput) { 21249 if (allowInput) { 21250 self.setDate(self._input.value, true, eventTarget === self.altInput 21251 ? self.config.altFormat 21252 : self.config.dateFormat); 21253 self.close(); 21254 return eventTarget.blur(); 21255 } 21256 else { 21257 self.open(); 21258 } 21259 } 21260 else if (isCalendarElem(eventTarget) || 21261 allowKeydown || 21262 allowInlineKeydown) { 21263 var isTimeObj = !!self.timeContainer && 21264 self.timeContainer.contains(eventTarget); 21265 switch (e.keyCode) { 21266 case 13: 21267 if (isTimeObj) { 21268 e.preventDefault(); 21269 updateTime(); 21270 focusAndClose(); 21271 } 21272 else 21273 selectDate(e); 21274 break; 21275 case 27: // escape 21276 e.preventDefault(); 21277 focusAndClose(); 21278 break; 21279 case 8: 21280 case 46: 21281 if (isInput && !self.config.allowInput) { 21282 e.preventDefault(); 21283 self.clear(); 21284 } 21285 break; 21286 case 37: 21287 case 39: 21288 if (!isTimeObj && !isInput) { 21289 e.preventDefault(); 21290 var activeElement = getClosestActiveElement(); 21291 if (self.daysContainer !== undefined && 21292 (allowInput === false || 21293 (activeElement && isInView(activeElement)))) { 21294 var delta_1 = e.keyCode === 39 ? 1 : -1; 21295 if (!e.ctrlKey) 21296 focusOnDay(undefined, delta_1); 21297 else { 21298 e.stopPropagation(); 21299 changeMonth(delta_1); 21300 focusOnDay(getFirstAvailableDay(1), 0); 21301 } 21302 } 21303 } 21304 else if (self.hourElement) 21305 self.hourElement.focus(); 21306 break; 21307 case 38: 21308 case 40: 21309 e.preventDefault(); 21310 var delta = e.keyCode === 40 ? 1 : -1; 21311 if ((self.daysContainer && 21312 eventTarget.$i !== undefined) || 21313 eventTarget === self.input || 21314 eventTarget === self.altInput) { 21315 if (e.ctrlKey) { 21316 e.stopPropagation(); 21317 changeYear(self.currentYear - delta); 21318 focusOnDay(getFirstAvailableDay(1), 0); 21319 } 21320 else if (!isTimeObj) 21321 focusOnDay(undefined, delta * 7); 21322 } 21323 else if (eventTarget === self.currentYearElement) { 21324 changeYear(self.currentYear - delta); 21325 } 21326 else if (self.config.enableTime) { 21327 if (!isTimeObj && self.hourElement) 21328 self.hourElement.focus(); 21329 updateTime(e); 21330 self._debouncedChange(); 21331 } 21332 break; 21333 case 9: 21334 if (isTimeObj) { 21335 var elems = [ 21336 self.hourElement, 21337 self.minuteElement, 21338 self.secondElement, 21339 self.amPM, 21340 ] 21341 .concat(self.pluginElements) 21342 .filter(function (x) { return x; }); 21343 var i = elems.indexOf(eventTarget); 21344 if (i !== -1) { 21345 var target = elems[i + (e.shiftKey ? -1 : 1)]; 21346 e.preventDefault(); 21347 (target || self._input).focus(); 21348 } 21349 } 21350 else if (!self.config.noCalendar && 21351 self.daysContainer && 21352 self.daysContainer.contains(eventTarget) && 21353 e.shiftKey) { 21354 e.preventDefault(); 21355 self._input.focus(); 21356 } 21357 break; 21358 } 21359 } 21360 if (self.amPM !== undefined && eventTarget === self.amPM) { 21361 switch (e.key) { 21362 case self.l10n.amPM[0].charAt(0): 21363 case self.l10n.amPM[0].charAt(0).toLowerCase(): 21364 self.amPM.textContent = self.l10n.amPM[0]; 21365 setHoursFromInputs(); 21366 updateValue(); 21367 break; 21368 case self.l10n.amPM[1].charAt(0): 21369 case self.l10n.amPM[1].charAt(0).toLowerCase(): 21370 self.amPM.textContent = self.l10n.amPM[1]; 21371 setHoursFromInputs(); 21372 updateValue(); 21373 break; 21374 } 21375 } 21376 if (isInput || isCalendarElem(eventTarget)) { 21377 triggerEvent("onKeyDown", e); 21378 } 21379 } 21380 function onMouseOver(elem, cellClass) { 21381 if (cellClass === void 0) { cellClass = "flatpickr-day"; } 21382 if (self.selectedDates.length !== 1 || 21383 (elem && 21384 (!elem.classList.contains(cellClass) || 21385 elem.classList.contains("flatpickr-disabled")))) 21386 return; 21387 var hoverDate = elem 21388 ? elem.dateObj.getTime() 21389 : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime()); 21390 var containsDisabled = false; 21391 var minRange = 0, maxRange = 0; 21392 for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) { 21393 if (!isEnabled(new Date(t), true)) { 21394 containsDisabled = 21395 containsDisabled || (t > rangeStartDate && t < rangeEndDate); 21396 if (t < initialDate && (!minRange || t > minRange)) 21397 minRange = t; 21398 else if (t > initialDate && (!maxRange || t < maxRange)) 21399 maxRange = t; 21400 } 21401 } 21402 var hoverableCells = Array.from(self.rContainer.querySelectorAll("*:nth-child(-n+" + self.config.showMonths + ") > ." + cellClass)); 21403 hoverableCells.forEach(function (dayElem) { 21404 var date = dayElem.dateObj; 21405 var timestamp = date.getTime(); 21406 var outOfRange = (minRange > 0 && timestamp < minRange) || 21407 (maxRange > 0 && timestamp > maxRange); 21408 if (outOfRange) { 21409 dayElem.classList.add("notAllowed"); 21410 ["inRange", "startRange", "endRange"].forEach(function (c) { 21411 dayElem.classList.remove(c); 21412 }); 21413 return; 21414 } 21415 else if (containsDisabled && !outOfRange) 21416 return; 21417 ["startRange", "inRange", "endRange", "notAllowed"].forEach(function (c) { 21418 dayElem.classList.remove(c); 21419 }); 21420 if (elem !== undefined) { 21421 elem.classList.add(hoverDate <= self.selectedDates[0].getTime() 21422 ? "startRange" 21423 : "endRange"); 21424 if (initialDate < hoverDate && timestamp === initialDate) 21425 dayElem.classList.add("startRange"); 21426 else if (initialDate > hoverDate && timestamp === initialDate) 21427 dayElem.classList.add("endRange"); 21428 if (timestamp >= minRange && 21429 (maxRange === 0 || timestamp <= maxRange) && 21430 isBetween(timestamp, initialDate, hoverDate)) 21431 dayElem.classList.add("inRange"); 21432 } 21433 }); 21434 } 21435 function onResize() { 21436 if (self.isOpen && !self.config.static && !self.config.inline) 21437 positionCalendar(); 21438 } 21439 function open(e, positionElement) { 21440 if (positionElement === void 0) { positionElement = self._positionElement; } 21441 if (self.isMobile === true) { 21442 if (e) { 21443 e.preventDefault(); 21444 var eventTarget = getEventTarget(e); 21445 if (eventTarget) { 21446 eventTarget.blur(); 21447 } 21448 } 21449 if (self.mobileInput !== undefined) { 21450 self.mobileInput.focus(); 21451 self.mobileInput.click(); 21452 } 21453 triggerEvent("onOpen"); 21454 return; 21455 } 21456 else if (self._input.disabled || self.config.inline) { 21457 return; 21458 } 21459 var wasOpen = self.isOpen; 21460 self.isOpen = true; 21461 if (!wasOpen) { 21462 self.calendarContainer.classList.add("open"); 21463 self._input.classList.add("active"); 21464 triggerEvent("onOpen"); 21465 positionCalendar(positionElement); 21466 } 21467 if (self.config.enableTime === true && self.config.noCalendar === true) { 21468 if (self.config.allowInput === false && 21469 (e === undefined || 21470 !self.timeContainer.contains(e.relatedTarget))) { 21471 setTimeout(function () { return self.hourElement.select(); }, 50); 21472 } 21473 } 21474 } 21475 function minMaxDateSetter(type) { 21476 return function (date) { 21477 var dateObj = (self.config["_" + type + "Date"] = self.parseDate(date, self.config.dateFormat)); 21478 var inverseDateObj = self.config["_" + (type === "min" ? "max" : "min") + "Date"]; 21479 if (dateObj !== undefined) { 21480 self[type === "min" ? "minDateHasTime" : "maxDateHasTime"] = 21481 dateObj.getHours() > 0 || 21482 dateObj.getMinutes() > 0 || 21483 dateObj.getSeconds() > 0; 21484 } 21485 if (self.selectedDates) { 21486 self.selectedDates = self.selectedDates.filter(function (d) { return isEnabled(d); }); 21487 if (!self.selectedDates.length && type === "min") 21488 setHoursFromDate(dateObj); 21489 updateValue(); 21490 } 21491 if (self.daysContainer) { 21492 redraw(); 21493 if (dateObj !== undefined) 21494 self.currentYearElement[type] = dateObj.getFullYear().toString(); 21495 else 21496 self.currentYearElement.removeAttribute(type); 21497 self.currentYearElement.disabled = 21498 !!inverseDateObj && 21499 dateObj !== undefined && 21500 inverseDateObj.getFullYear() === dateObj.getFullYear(); 21501 } 21502 }; 21503 } 21504 function parseConfig() { 21505 var boolOpts = [ 21506 "wrap", 21507 "weekNumbers", 21508 "allowInput", 21509 "allowInvalidPreload", 21510 "clickOpens", 21511 "time_24hr", 21512 "enableTime", 21513 "noCalendar", 21514 "altInput", 21515 "shorthandCurrentMonth", 21516 "inline", 21517 "static", 21518 "enableSeconds", 21519 "disableMobile", 21520 ]; 21521 var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig); 21522 var formats = {}; 21523 self.config.parseDate = userConfig.parseDate; 21524 self.config.formatDate = userConfig.formatDate; 21525 Object.defineProperty(self.config, "enable", { 21526 get: function () { return self.config._enable; }, 21527 set: function (dates) { 21528 self.config._enable = parseDateRules(dates); 21529 }, 21530 }); 21531 Object.defineProperty(self.config, "disable", { 21532 get: function () { return self.config._disable; }, 21533 set: function (dates) { 21534 self.config._disable = parseDateRules(dates); 21535 }, 21536 }); 21537 var timeMode = userConfig.mode === "time"; 21538 if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) { 21539 var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaults.dateFormat; 21540 formats.dateFormat = 21541 userConfig.noCalendar || timeMode 21542 ? "H:i" + (userConfig.enableSeconds ? ":S" : "") 21543 : defaultDateFormat + " H:i" + (userConfig.enableSeconds ? ":S" : ""); 21544 } 21545 if (userConfig.altInput && 21546 (userConfig.enableTime || timeMode) && 21547 !userConfig.altFormat) { 21548 var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaults.altFormat; 21549 formats.altFormat = 21550 userConfig.noCalendar || timeMode 21551 ? "h:i" + (userConfig.enableSeconds ? ":S K" : " K") 21552 : defaultAltFormat + (" h:i" + (userConfig.enableSeconds ? ":S" : "") + " K"); 21553 } 21554 Object.defineProperty(self.config, "minDate", { 21555 get: function () { return self.config._minDate; }, 21556 set: minMaxDateSetter("min"), 21557 }); 21558 Object.defineProperty(self.config, "maxDate", { 21559 get: function () { return self.config._maxDate; }, 21560 set: minMaxDateSetter("max"), 21561 }); 21562 var minMaxTimeSetter = function (type) { return function (val) { 21563 self.config[type === "min" ? "_minTime" : "_maxTime"] = self.parseDate(val, "H:i:S"); 21564 }; }; 21565 Object.defineProperty(self.config, "minTime", { 21566 get: function () { return self.config._minTime; }, 21567 set: minMaxTimeSetter("min"), 21568 }); 21569 Object.defineProperty(self.config, "maxTime", { 21570 get: function () { return self.config._maxTime; }, 21571 set: minMaxTimeSetter("max"), 21572 }); 21573 if (userConfig.mode === "time") { 21574 self.config.noCalendar = true; 21575 self.config.enableTime = true; 21576 } 21577 Object.assign(self.config, formats, userConfig); 21578 for (var i = 0; i < boolOpts.length; i++) 21579 // https://github.com/microsoft/TypeScript/issues/31663 21580 self.config[boolOpts[i]] = 21581 self.config[boolOpts[i]] === true || 21582 self.config[boolOpts[i]] === "true"; 21583 HOOKS.filter(function (hook) { return self.config[hook] !== undefined; }).forEach(function (hook) { 21584 self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance); 21585 }); 21586 self.isMobile = 21587 !self.config.disableMobile && 21588 !self.config.inline && 21589 self.config.mode === "single" && 21590 !self.config.disable.length && 21591 !self.config.enable && 21592 !self.config.weekNumbers && 21593 /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); 21594 for (var i = 0; i < self.config.plugins.length; i++) { 21595 var pluginConf = self.config.plugins[i](self) || {}; 21596 for (var key in pluginConf) { 21597 if (HOOKS.indexOf(key) > -1) { 21598 self.config[key] = arrayify(pluginConf[key]) 21599 .map(bindToInstance) 21600 .concat(self.config[key]); 21601 } 21602 else if (typeof userConfig[key] === "undefined") 21603 self.config[key] = pluginConf[key]; 21604 } 21605 } 21606 if (!userConfig.altInputClass) { 21607 self.config.altInputClass = 21608 getInputElem().className + " " + self.config.altInputClass; 21609 } 21610 triggerEvent("onParseConfig"); 21611 } 21612 function getInputElem() { 21613 return self.config.wrap 21614 ? element.querySelector("[data-input]") 21615 : element; 21616 } 21617 function setupLocale() { 21618 if (typeof self.config.locale !== "object" && 21619 typeof flatpickr.l10ns[self.config.locale] === "undefined") 21620 self.config.errorHandler(new Error("flatpickr: invalid locale " + self.config.locale)); 21621 self.l10n = __assign(__assign({}, flatpickr.l10ns.default), (typeof self.config.locale === "object" 21622 ? self.config.locale 21623 : self.config.locale !== "default" 21624 ? flatpickr.l10ns[self.config.locale] 21625 : undefined)); 21626 tokenRegex.D = "(" + self.l10n.weekdays.shorthand.join("|") + ")"; 21627 tokenRegex.l = "(" + self.l10n.weekdays.longhand.join("|") + ")"; 21628 tokenRegex.M = "(" + self.l10n.months.shorthand.join("|") + ")"; 21629 tokenRegex.F = "(" + self.l10n.months.longhand.join("|") + ")"; 21630 tokenRegex.K = "(" + self.l10n.amPM[0] + "|" + self.l10n.amPM[1] + "|" + self.l10n.amPM[0].toLowerCase() + "|" + self.l10n.amPM[1].toLowerCase() + ")"; 21631 var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {}))); 21632 if (userConfig.time_24hr === undefined && 21633 flatpickr.defaultConfig.time_24hr === undefined) { 21634 self.config.time_24hr = self.l10n.time_24hr; 21635 } 21636 self.formatDate = createDateFormatter(self); 21637 self.parseDate = createDateParser({ config: self.config, l10n: self.l10n }); 21638 } 21639 function positionCalendar(customPositionElement) { 21640 if (typeof self.config.position === "function") { 21641 return void self.config.position(self, customPositionElement); 21642 } 21643 if (self.calendarContainer === undefined) 21644 return; 21645 triggerEvent("onPreCalendarPosition"); 21646 var positionElement = customPositionElement || self._positionElement; 21647 var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, (function (acc, child) { return acc + child.offsetHeight; }), 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(" "), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === "above" || 21648 (configPosVertical !== "below" && 21649 distanceFromBottom < calendarHeight && 21650 inputBounds.top > calendarHeight); 21651 var top = window.pageYOffset + 21652 inputBounds.top + 21653 (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2); 21654 toggleClass(self.calendarContainer, "arrowTop", !showOnTop); 21655 toggleClass(self.calendarContainer, "arrowBottom", showOnTop); 21656 if (self.config.inline) 21657 return; 21658 var left = window.pageXOffset + inputBounds.left; 21659 var isCenter = false; 21660 var isRight = false; 21661 if (configPosHorizontal === "center") { 21662 left -= (calendarWidth - inputBounds.width) / 2; 21663 isCenter = true; 21664 } 21665 else if (configPosHorizontal === "right") { 21666 left -= calendarWidth - inputBounds.width; 21667 isRight = true; 21668 } 21669 toggleClass(self.calendarContainer, "arrowLeft", !isCenter && !isRight); 21670 toggleClass(self.calendarContainer, "arrowCenter", isCenter); 21671 toggleClass(self.calendarContainer, "arrowRight", isRight); 21672 var right = window.document.body.offsetWidth - 21673 (window.pageXOffset + inputBounds.right); 21674 var rightMost = left + calendarWidth > window.document.body.offsetWidth; 21675 var centerMost = right + calendarWidth > window.document.body.offsetWidth; 21676 toggleClass(self.calendarContainer, "rightMost", rightMost); 21677 if (self.config.static) 21678 return; 21679 self.calendarContainer.style.top = top + "px"; 21680 if (!rightMost) { 21681 self.calendarContainer.style.left = left + "px"; 21682 self.calendarContainer.style.right = "auto"; 21683 } 21684 else if (!centerMost) { 21685 self.calendarContainer.style.left = "auto"; 21686 self.calendarContainer.style.right = right + "px"; 21687 } 21688 else { 21689 var doc = getDocumentStyleSheet(); 21690 // some testing environments don't have css support 21691 if (doc === undefined) 21692 return; 21693 var bodyWidth = window.document.body.offsetWidth; 21694 var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2); 21695 var centerBefore = ".flatpickr-calendar.centerMost:before"; 21696 var centerAfter = ".flatpickr-calendar.centerMost:after"; 21697 var centerIndex = doc.cssRules.length; 21698 var centerStyle = "{left:" + inputBounds.left + "px;right:auto;}"; 21699 toggleClass(self.calendarContainer, "rightMost", false); 21700 toggleClass(self.calendarContainer, "centerMost", true); 21701 doc.insertRule(centerBefore + "," + centerAfter + centerStyle, centerIndex); 21702 self.calendarContainer.style.left = centerLeft + "px"; 21703 self.calendarContainer.style.right = "auto"; 21704 } 21705 } 21706 function getDocumentStyleSheet() { 21707 var editableSheet = null; 21708 for (var i = 0; i < document.styleSheets.length; i++) { 21709 var sheet = document.styleSheets[i]; 21710 if (!sheet.cssRules) 21711 continue; 21712 try { 21713 sheet.cssRules; 21714 } 21715 catch (err) { 21716 continue; 21717 } 21718 editableSheet = sheet; 21719 break; 21720 } 21721 return editableSheet != null ? editableSheet : createStyleSheet(); 21722 } 21723 function createStyleSheet() { 21724 var style = document.createElement("style"); 21725 document.head.appendChild(style); 21726 return style.sheet; 21727 } 21728 function redraw() { 21729 if (self.config.noCalendar || self.isMobile) 21730 return; 21731 buildMonthSwitch(); 21732 updateNavigationCurrentMonth(); 21733 buildDays(); 21734 } 21735 function focusAndClose() { 21736 self._input.focus(); 21737 if (window.navigator.userAgent.indexOf("MSIE") !== -1 || 21738 navigator.msMaxTouchPoints !== undefined) { 21739 // hack - bugs in the way IE handles focus keeps the calendar open 21740 setTimeout(self.close, 0); 21741 } 21742 else { 21743 self.close(); 21744 } 21745 } 21746 function selectDate(e) { 21747 e.preventDefault(); 21748 e.stopPropagation(); 21749 var isSelectable = function (day) { 21750 return day.classList && 21751 day.classList.contains("flatpickr-day") && 21752 !day.classList.contains("flatpickr-disabled") && 21753 !day.classList.contains("notAllowed"); 21754 }; 21755 var t = findParent(getEventTarget(e), isSelectable); 21756 if (t === undefined) 21757 return; 21758 var target = t; 21759 var selectedDate = (self.latestSelectedDateObj = new Date(target.dateObj.getTime())); 21760 var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth || 21761 selectedDate.getMonth() > 21762 self.currentMonth + self.config.showMonths - 1) && 21763 self.config.mode !== "range"; 21764 self.selectedDateElem = target; 21765 if (self.config.mode === "single") 21766 self.selectedDates = [selectedDate]; 21767 else if (self.config.mode === "multiple") { 21768 var selectedIndex = isDateSelected(selectedDate); 21769 if (selectedIndex) 21770 self.selectedDates.splice(parseInt(selectedIndex), 1); 21771 else 21772 self.selectedDates.push(selectedDate); 21773 } 21774 else if (self.config.mode === "range") { 21775 if (self.selectedDates.length === 2) { 21776 self.clear(false, false); 21777 } 21778 self.latestSelectedDateObj = selectedDate; 21779 self.selectedDates.push(selectedDate); 21780 // unless selecting same date twice, sort ascendingly 21781 if (compareDates(selectedDate, self.selectedDates[0], true) !== 0) 21782 self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); }); 21783 } 21784 setHoursFromInputs(); 21785 if (shouldChangeMonth) { 21786 var isNewYear = self.currentYear !== selectedDate.getFullYear(); 21787 self.currentYear = selectedDate.getFullYear(); 21788 self.currentMonth = selectedDate.getMonth(); 21789 if (isNewYear) { 21790 triggerEvent("onYearChange"); 21791 buildMonthSwitch(); 21792 } 21793 triggerEvent("onMonthChange"); 21794 } 21795 updateNavigationCurrentMonth(); 21796 buildDays(); 21797 updateValue(); 21798 // maintain focus 21799 if (!shouldChangeMonth && 21800 self.config.mode !== "range" && 21801 self.config.showMonths === 1) 21802 focusOnDayElem(target); 21803 else if (self.selectedDateElem !== undefined && 21804 self.hourElement === undefined) { 21805 self.selectedDateElem && self.selectedDateElem.focus(); 21806 } 21807 if (self.hourElement !== undefined) 21808 self.hourElement !== undefined && self.hourElement.focus(); 21809 if (self.config.closeOnSelect) { 21810 var single = self.config.mode === "single" && !self.config.enableTime; 21811 var range = self.config.mode === "range" && 21812 self.selectedDates.length === 2 && 21813 !self.config.enableTime; 21814 if (single || range) { 21815 focusAndClose(); 21816 } 21817 } 21818 triggerChange(); 21819 } 21820 var CALLBACKS = { 21821 locale: [setupLocale, updateWeekdays], 21822 showMonths: [buildMonths, setCalendarWidth, buildWeekdays], 21823 minDate: [jumpToDate], 21824 maxDate: [jumpToDate], 21825 positionElement: [updatePositionElement], 21826 clickOpens: [ 21827 function () { 21828 if (self.config.clickOpens === true) { 21829 bind(self._input, "focus", self.open); 21830 bind(self._input, "click", self.open); 21831 } 21832 else { 21833 self._input.removeEventListener("focus", self.open); 21834 self._input.removeEventListener("click", self.open); 21835 } 21836 }, 21837 ], 21838 }; 21839 function set(option, value) { 21840 if (option !== null && typeof option === "object") { 21841 Object.assign(self.config, option); 21842 for (var key in option) { 21843 if (CALLBACKS[key] !== undefined) 21844 CALLBACKS[key].forEach(function (x) { return x(); }); 21845 } 21846 } 21847 else { 21848 self.config[option] = value; 21849 if (CALLBACKS[option] !== undefined) 21850 CALLBACKS[option].forEach(function (x) { return x(); }); 21851 else if (HOOKS.indexOf(option) > -1) 21852 self.config[option] = arrayify(value); 21853 } 21854 self.redraw(); 21855 updateValue(true); 21856 } 21857 function setSelectedDate(inputDate, format) { 21858 var dates = []; 21859 if (inputDate instanceof Array) 21860 dates = inputDate.map(function (d) { return self.parseDate(d, format); }); 21861 else if (inputDate instanceof Date || typeof inputDate === "number") 21862 dates = [self.parseDate(inputDate, format)]; 21863 else if (typeof inputDate === "string") { 21864 switch (self.config.mode) { 21865 case "single": 21866 case "time": 21867 dates = [self.parseDate(inputDate, format)]; 21868 break; 21869 case "multiple": 21870 dates = inputDate 21871 .split(self.config.conjunction) 21872 .map(function (date) { return self.parseDate(date, format); }); 21873 break; 21874 case "range": 21875 dates = inputDate 21876 .split(self.l10n.rangeSeparator) 21877 .map(function (date) { return self.parseDate(date, format); }); 21878 break; 21879 } 21880 } 21881 else 21882 self.config.errorHandler(new Error("Invalid date supplied: " + JSON.stringify(inputDate))); 21883 self.selectedDates = (self.config.allowInvalidPreload 21884 ? dates 21885 : dates.filter(function (d) { return d instanceof Date && isEnabled(d, false); })); 21886 if (self.config.mode === "range") 21887 self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); }); 21888 } 21889 function setDate(date, triggerChange, format) { 21890 if (triggerChange === void 0) { triggerChange = false; } 21891 if (format === void 0) { format = self.config.dateFormat; } 21892 if ((date !== 0 && !date) || (date instanceof Array && date.length === 0)) 21893 return self.clear(triggerChange); 21894 setSelectedDate(date, format); 21895 self.latestSelectedDateObj = 21896 self.selectedDates[self.selectedDates.length - 1]; 21897 self.redraw(); 21898 jumpToDate(undefined, triggerChange); 21899 setHoursFromDate(); 21900 if (self.selectedDates.length === 0) { 21901 self.clear(false); 21902 } 21903 updateValue(triggerChange); 21904 if (triggerChange) 21905 triggerEvent("onChange"); 21906 } 21907 function parseDateRules(arr) { 21908 return arr 21909 .slice() 21910 .map(function (rule) { 21911 if (typeof rule === "string" || 21912 typeof rule === "number" || 21913 rule instanceof Date) { 21914 return self.parseDate(rule, undefined, true); 21915 } 21916 else if (rule && 21917 typeof rule === "object" && 21918 rule.from && 21919 rule.to) 21920 return { 21921 from: self.parseDate(rule.from, undefined), 21922 to: self.parseDate(rule.to, undefined), 21923 }; 21924 return rule; 21925 }) 21926 .filter(function (x) { return x; }); // remove falsy values 21927 } 21928 function setupDates() { 21929 self.selectedDates = []; 21930 self.now = self.parseDate(self.config.now) || new Date(); 21931 // Workaround IE11 setting placeholder as the input's value 21932 var preloadedDate = self.config.defaultDate || 21933 ((self.input.nodeName === "INPUT" || 21934 self.input.nodeName === "TEXTAREA") && 21935 self.input.placeholder && 21936 self.input.value === self.input.placeholder 21937 ? null 21938 : self.input.value); 21939 if (preloadedDate) 21940 setSelectedDate(preloadedDate, self.config.dateFormat); 21941 self._initialDate = 21942 self.selectedDates.length > 0 21943 ? self.selectedDates[0] 21944 : self.config.minDate && 21945 self.config.minDate.getTime() > self.now.getTime() 21946 ? self.config.minDate 21947 : self.config.maxDate && 21948 self.config.maxDate.getTime() < self.now.getTime() 21949 ? self.config.maxDate 21950 : self.now; 21951 self.currentYear = self._initialDate.getFullYear(); 21952 self.currentMonth = self._initialDate.getMonth(); 21953 if (self.selectedDates.length > 0) 21954 self.latestSelectedDateObj = self.selectedDates[0]; 21955 if (self.config.minTime !== undefined) 21956 self.config.minTime = self.parseDate(self.config.minTime, "H:i"); 21957 if (self.config.maxTime !== undefined) 21958 self.config.maxTime = self.parseDate(self.config.maxTime, "H:i"); 21959 self.minDateHasTime = 21960 !!self.config.minDate && 21961 (self.config.minDate.getHours() > 0 || 21962 self.config.minDate.getMinutes() > 0 || 21963 self.config.minDate.getSeconds() > 0); 21964 self.maxDateHasTime = 21965 !!self.config.maxDate && 21966 (self.config.maxDate.getHours() > 0 || 21967 self.config.maxDate.getMinutes() > 0 || 21968 self.config.maxDate.getSeconds() > 0); 21969 } 21970 function setupInputs() { 21971 self.input = getInputElem(); 21972 /* istanbul ignore next */ 21973 if (!self.input) { 21974 self.config.errorHandler(new Error("Invalid input element specified")); 21975 return; 21976 } 21977 // hack: store previous type to restore it after destroy() 21978 self.input._type = self.input.type; 21979 self.input.type = "text"; 21980 self.input.classList.add("flatpickr-input"); 21981 self._input = self.input; 21982 if (self.config.altInput) { 21983 // replicate self.element 21984 self.altInput = createElement(self.input.nodeName, self.config.altInputClass); 21985 self._input = self.altInput; 21986 self.altInput.placeholder = self.input.placeholder; 21987 self.altInput.disabled = self.input.disabled; 21988 self.altInput.required = self.input.required; 21989 self.altInput.tabIndex = self.input.tabIndex; 21990 self.altInput.type = "text"; 21991 self.input.setAttribute("type", "hidden"); 21992 if (!self.config.static && self.input.parentNode) 21993 self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling); 21994 } 21995 if (!self.config.allowInput) 21996 self._input.setAttribute("readonly", "readonly"); 21997 updatePositionElement(); 21998 } 21999 function updatePositionElement() { 22000 self._positionElement = self.config.positionElement || self._input; 22001 } 22002 function setupMobile() { 22003 var inputType = self.config.enableTime 22004 ? self.config.noCalendar 22005 ? "time" 22006 : "datetime-local" 22007 : "date"; 22008 self.mobileInput = createElement("input", self.input.className + " flatpickr-mobile"); 22009 self.mobileInput.tabIndex = 1; 22010 self.mobileInput.type = inputType; 22011 self.mobileInput.disabled = self.input.disabled; 22012 self.mobileInput.required = self.input.required; 22013 self.mobileInput.placeholder = self.input.placeholder; 22014 self.mobileFormatStr = 22015 inputType === "datetime-local" 22016 ? "Y-m-d\\TH:i:S" 22017 : inputType === "date" 22018 ? "Y-m-d" 22019 : "H:i:S"; 22020 if (self.selectedDates.length > 0) { 22021 self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr); 22022 } 22023 if (self.config.minDate) 22024 self.mobileInput.min = self.formatDate(self.config.minDate, "Y-m-d"); 22025 if (self.config.maxDate) 22026 self.mobileInput.max = self.formatDate(self.config.maxDate, "Y-m-d"); 22027 if (self.input.getAttribute("step")) 22028 self.mobileInput.step = String(self.input.getAttribute("step")); 22029 self.input.type = "hidden"; 22030 if (self.altInput !== undefined) 22031 self.altInput.type = "hidden"; 22032 try { 22033 if (self.input.parentNode) 22034 self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling); 22035 } 22036 catch (_a) { } 22037 bind(self.mobileInput, "change", function (e) { 22038 self.setDate(getEventTarget(e).value, false, self.mobileFormatStr); 22039 triggerEvent("onChange"); 22040 triggerEvent("onClose"); 22041 }); 22042 } 22043 function toggle(e) { 22044 if (self.isOpen === true) 22045 return self.close(); 22046 self.open(e); 22047 } 22048 function triggerEvent(event, data) { 22049 // If the instance has been destroyed already, all hooks have been removed 22050 if (self.config === undefined) 22051 return; 22052 var hooks = self.config[event]; 22053 if (hooks !== undefined && hooks.length > 0) { 22054 for (var i = 0; hooks[i] && i < hooks.length; i++) 22055 hooks[i](self.selectedDates, self.input.value, self, data); 22056 } 22057 if (event === "onChange") { 22058 self.input.dispatchEvent(createEvent("change")); 22059 // many front-end frameworks bind to the input event 22060 self.input.dispatchEvent(createEvent("input")); 22061 } 22062 } 22063 function createEvent(name) { 22064 var e = document.createEvent("Event"); 22065 e.initEvent(name, true, true); 22066 return e; 22067 } 22068 function isDateSelected(date) { 22069 for (var i = 0; i < self.selectedDates.length; i++) { 22070 var selectedDate = self.selectedDates[i]; 22071 if (selectedDate instanceof Date && 22072 compareDates(selectedDate, date) === 0) 22073 return "" + i; 22074 } 22075 return false; 22076 } 22077 function isDateInRange(date) { 22078 if (self.config.mode !== "range" || self.selectedDates.length < 2) 22079 return false; 22080 return (compareDates(date, self.selectedDates[0]) >= 0 && 22081 compareDates(date, self.selectedDates[1]) <= 0); 22082 } 22083 function updateNavigationCurrentMonth() { 22084 if (self.config.noCalendar || self.isMobile || !self.monthNav) 22085 return; 22086 self.yearElements.forEach(function (yearElement, i) { 22087 var d = new Date(self.currentYear, self.currentMonth, 1); 22088 d.setMonth(self.currentMonth + i); 22089 if (self.config.showMonths > 1 || 22090 self.config.monthSelectorType === "static") { 22091 self.monthElements[i].textContent = 22092 monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + " "; 22093 } 22094 else { 22095 self.monthsDropdownContainer.value = d.getMonth().toString(); 22096 } 22097 yearElement.value = d.getFullYear().toString(); 22098 }); 22099 self._hidePrevMonthArrow = 22100 self.config.minDate !== undefined && 22101 (self.currentYear === self.config.minDate.getFullYear() 22102 ? self.currentMonth <= self.config.minDate.getMonth() 22103 : self.currentYear < self.config.minDate.getFullYear()); 22104 self._hideNextMonthArrow = 22105 self.config.maxDate !== undefined && 22106 (self.currentYear === self.config.maxDate.getFullYear() 22107 ? self.currentMonth + 1 > self.config.maxDate.getMonth() 22108 : self.currentYear > self.config.maxDate.getFullYear()); 22109 } 22110 function getDateStr(specificFormat) { 22111 var format = specificFormat || 22112 (self.config.altInput ? self.config.altFormat : self.config.dateFormat); 22113 return self.selectedDates 22114 .map(function (dObj) { return self.formatDate(dObj, format); }) 22115 .filter(function (d, i, arr) { 22116 return self.config.mode !== "range" || 22117 self.config.enableTime || 22118 arr.indexOf(d) === i; 22119 }) 22120 .join(self.config.mode !== "range" 22121 ? self.config.conjunction 22122 : self.l10n.rangeSeparator); 22123 } 22124 /** 22125 * Updates the values of inputs associated with the calendar 22126 */ 22127 function updateValue(triggerChange) { 22128 if (triggerChange === void 0) { triggerChange = true; } 22129 if (self.mobileInput !== undefined && self.mobileFormatStr) { 22130 self.mobileInput.value = 22131 self.latestSelectedDateObj !== undefined 22132 ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr) 22133 : ""; 22134 } 22135 self.input.value = getDateStr(self.config.dateFormat); 22136 if (self.altInput !== undefined) { 22137 self.altInput.value = getDateStr(self.config.altFormat); 22138 } 22139 if (triggerChange !== false) 22140 triggerEvent("onValueUpdate"); 22141 } 22142 function onMonthNavClick(e) { 22143 var eventTarget = getEventTarget(e); 22144 var isPrevMonth = self.prevMonthNav.contains(eventTarget); 22145 var isNextMonth = self.nextMonthNav.contains(eventTarget); 22146 if (isPrevMonth || isNextMonth) { 22147 changeMonth(isPrevMonth ? -1 : 1); 22148 } 22149 else if (self.yearElements.indexOf(eventTarget) >= 0) { 22150 eventTarget.select(); 22151 } 22152 else if (eventTarget.classList.contains("arrowUp")) { 22153 self.changeYear(self.currentYear + 1); 22154 } 22155 else if (eventTarget.classList.contains("arrowDown")) { 22156 self.changeYear(self.currentYear - 1); 22157 } 22158 } 22159 function timeWrapper(e) { 22160 e.preventDefault(); 22161 var isKeyDown = e.type === "keydown", eventTarget = getEventTarget(e), input = eventTarget; 22162 if (self.amPM !== undefined && eventTarget === self.amPM) { 22163 self.amPM.textContent = 22164 self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])]; 22165 } 22166 var min = parseFloat(input.getAttribute("min")), max = parseFloat(input.getAttribute("max")), step = parseFloat(input.getAttribute("step")), curValue = parseInt(input.value, 10), delta = e.delta || 22167 (isKeyDown ? (e.which === 38 ? 1 : -1) : 0); 22168 var newValue = curValue + step * delta; 22169 if (typeof input.value !== "undefined" && input.value.length === 2) { 22170 var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement; 22171 if (newValue < min) { 22172 newValue = 22173 max + 22174 newValue + 22175 int(!isHourElem) + 22176 (int(isHourElem) && int(!self.amPM)); 22177 if (isMinuteElem) 22178 incrementNumInput(undefined, -1, self.hourElement); 22179 } 22180 else if (newValue > max) { 22181 newValue = 22182 input === self.hourElement ? newValue - max - int(!self.amPM) : min; 22183 if (isMinuteElem) 22184 incrementNumInput(undefined, 1, self.hourElement); 22185 } 22186 if (self.amPM && 22187 isHourElem && 22188 (step === 1 22189 ? newValue + curValue === 23 22190 : Math.abs(newValue - curValue) > step)) { 22191 self.amPM.textContent = 22192 self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])]; 22193 } 22194 input.value = pad(newValue); 22195 } 22196 } 22197 init(); 22198 return self; 22199 } 22200 /* istanbul ignore next */ 22201 function _flatpickr(nodeList, config) { 22202 // static list 22203 var nodes = Array.prototype.slice 22204 .call(nodeList) 22205 .filter(function (x) { return x instanceof HTMLElement; }); 22206 var instances = []; 22207 for (var i = 0; i < nodes.length; i++) { 22208 var node = nodes[i]; 22209 try { 22210 if (node.getAttribute("data-fp-omit") !== null) 22211 continue; 22212 if (node._flatpickr !== undefined) { 22213 node._flatpickr.destroy(); 22214 node._flatpickr = undefined; 22215 } 22216 node._flatpickr = FlatpickrInstance(node, config || {}); 22217 instances.push(node._flatpickr); 22218 } 22219 catch (e) { 22220 console.error(e); 22221 } 22222 } 22223 return instances.length === 1 ? instances[0] : instances; 22224 } 22225 /* istanbul ignore next */ 22226 if (typeof HTMLElement !== "undefined" && 22227 typeof HTMLCollection !== "undefined" && 22228 typeof NodeList !== "undefined") { 22229 // browser env 22230 HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) { 22231 return _flatpickr(this, config); 22232 }; 22233 HTMLElement.prototype.flatpickr = function (config) { 22234 return _flatpickr([this], config); 22235 }; 22236 } 22237 /* istanbul ignore next */ 22238 var flatpickr = function (selector, config) { 22239 if (typeof selector === "string") { 22240 return _flatpickr(window.document.querySelectorAll(selector), config); 22241 } 22242 else if (selector instanceof Node) { 22243 return _flatpickr([selector], config); 22244 } 22245 else { 22246 return _flatpickr(selector, config); 22247 } 22248 }; 22249 /* istanbul ignore next */ 22250 flatpickr.defaultConfig = {}; 22251 flatpickr.l10ns = { 22252 en: __assign({}, english), 22253 default: __assign({}, english), 22254 }; 22255 flatpickr.localize = function (l10n) { 22256 flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n); 22257 }; 22258 flatpickr.setDefaults = function (config) { 22259 flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config); 22260 }; 22261 flatpickr.parseDate = createDateParser({}); 22262 flatpickr.formatDate = createDateFormatter({}); 22263 flatpickr.compareDates = compareDates; 22264 /* istanbul ignore next */ 22265 if (typeof jQuery !== "undefined" && typeof jQuery.fn !== "undefined") { 22266 jQuery.fn.flatpickr = function (config) { 22267 return _flatpickr(this, config); 22268 }; 22269 } 22270 Date.prototype.fp_incr = function (days) { 22271 return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === "string" ? parseInt(days, 10) : days)); 22272 }; 22273 if (typeof window !== "undefined") { 22274 window.flatpickr = flatpickr; 22275 } 22276 22277 return flatpickr; 22278 22279})));
22280 22281(function (global, factory) { 22282 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : 22283 typeof define === 'function' && define.amd ? define(['exports'], factory) : 22284 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.ar = {})); 22285}(this, (function (exports) { 'use strict'; 22286 22287 var fp = typeof window !== "undefined" && window.flatpickr !== undefined 22288 ? window.flatpickr 22289 : { 22290 l10ns: {}, 22291 }; 22292 var Arabic = { 22293 weekdays: { 22294 shorthand: ["Ø£ØØ¯", "اثÙÙÙ", "Ø«ÙØ§Ø«Ø§Ø¡", "أربعاء", "Ø®Ù ÙØ³", "ج٠عة", "سبت"], 22295 longhand: [ 22296 "Ø§ÙØ£ØØ¯", 22297 "Ø§ÙØ§Ø«ÙÙÙ", 22298 "Ø§ÙØ«Ùاثاء", 22299 "Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡", 22300 "Ø§ÙØ®Ù ÙØ³", 22301 "Ø§ÙØ¬Ù عة", 22302 "Ø§ÙØ³Ø¨Øª", 22303 ], 22304 }, 22305 months: { 22306 shorthand: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"], 22307 longhand: [ 22308 "ÙÙØ§Ùر", 22309 "ÙØ¨Ø±Ø§Ùر", 22310 "٠ارس", 22311 "أبرÙÙ", 22312 "٠اÙÙ", 22313 "ÙÙÙÙÙ", 22314 "ÙÙÙÙÙ", 22315 "أغسطس", 22316 "سبت٠بر", 22317 "Ø£ÙØªÙبر", 22318 "ÙÙÙ٠بر", 22319 "Ø¯ÙØ³Ù بر", 22320 ], 22321 }, 22322 firstDayOfWeek: 6, 22323 rangeSeparator: " Ø¥ÙÙ ", 22324 weekAbbreviation: "Wk", 22325 scrollTitle: "ÙÙ Ø¨Ø§ÙØªÙ Ø±ÙØ± ÙÙØ²Ùادة", 22326 toggleTitle: "اضغط ÙÙØªØ¨Ø¯ÙÙ", 22327 amPM: ["ص", "Ù "], 22328 yearAriaLabel: "Ø³ÙØ©", 22329 monthAriaLabel: "Ø´ÙØ±", 22330 hourAriaLabel: "ساعة", 22331 minuteAriaLabel: "دÙÙÙØ©", 22332 time_24hr: false, 22333 }; 22334 fp.l10ns.ar = Arabic; 22335 var ar = fp.l10ns; 22336 22337 exports.Arabic = Arabic; 22338 exports.default = ar; 22339 22340 Object.defineProperty(exports, '__esModule', { value: true }); 22341 22342}))); 22343 22344/*! 22345 * https://github.com/paulmillr/es6-shim 22346 * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) 22347 * and contributors, MIT License 22348 * es6-shim: v0.35.4 22349 * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE 22350 * Details and documentation: 22351 * https://github.com/paulmillr/es6-shim/ 22352 */ 22353 22354// UMD (Universal Module Definition) 22355// see https://github.com/umdjs/umd/blob/master/returnExports.js 22356(function (root, factory) { 22357 /*global define */ 22358 if (typeof define === 'function' && define.amd) { 22359 // AMD. Register as an anonymous module. 22360 define(factory); 22361 } else if (typeof exports === 'object') { 22362 // Node. Does not work with strict CommonJS, but 22363 // only CommonJS-like environments that support module.exports, 22364 // like Node. 22365 module.exports = factory(); 22366 } else { 22367 // Browser globals (root is window) 22368 root.returnExports = factory(); 22369 } 22370}(this, function () { 22371 'use strict'; 22372 22373 var _apply = Function.call.bind(Function.apply); 22374 var _call = Function.call.bind(Function.call); 22375 var isArray = Array.isArray; 22376 var keys = Object.keys; 22377 22378 var not = function notThunker(func) { 22379 return function notThunk() { 22380 return !_apply(func, this, arguments); 22381 }; 22382 }; 22383 var throwsError = function (func) { 22384 try { 22385 func(); 22386 return false;
vendor: 4,115 bytes, lines 22387-22503
22387 } catch (e) { 22388 return true; 22389 } 22390 }; 22391 var valueOrFalseIfThrows = function valueOrFalseIfThrows(func) { 22392 try { 22393 return func(); 22394 } catch (e) { 22395 return false; 22396 } 22397 }; 22398 22399 var isCallableWithoutNew = not(throwsError); 22400 var arePropertyDescriptorsSupported = function () { 22401 // if Object.defineProperty exists but throws, it's IE 8 22402 return !throwsError(function () { 22403 return Object.defineProperty({}, 'x', { get: function () { } }); // eslint-disable-line getter-return 22404 }); 22405 }; 22406 var supportsDescriptors = !!Object.defineProperty && arePropertyDescriptorsSupported(); 22407 var functionsHaveNames = (function foo() {}).name === 'foo'; 22408 22409 var _forEach = Function.call.bind(Array.prototype.forEach); 22410 var _reduce = Function.call.bind(Array.prototype.reduce); 22411 var _filter = Function.call.bind(Array.prototype.filter); 22412 var _some = Function.call.bind(Array.prototype.some); 22413 22414 var defineProperty = function (object, name, value, force) { 22415 if (!force && name in object) { return; } 22416 if (supportsDescriptors) { 22417 Object.defineProperty(object, name, { 22418 configurable: true, 22419 enumerable: false, 22420 writable: true, 22421 value: value 22422 }); 22423 } else { 22424 object[name] = value; 22425 } 22426 }; 22427 22428 // Define configurable, writable and non-enumerable props 22429 // if they donât exist. 22430 var defineProperties = function (object, map, forceOverride) { 22431 _forEach(keys(map), function (name) { 22432 var method = map[name]; 22433 defineProperty(object, name, method, !!forceOverride); 22434 }); 22435 }; 22436 22437 var _toString = Function.call.bind(Object.prototype.toString); 22438 var isCallable = typeof /abc/ === 'function' ? function IsCallableSlow(x) { 22439 // Some old browsers (IE, FF) say that typeof /abc/ === 'function' 22440 return typeof x === 'function' && _toString(x) === '[object Function]'; 22441 } : function IsCallableFast(x) { return typeof x === 'function'; }; 22442 22443 var Value = { 22444 getter: function (object, name, getter) { 22445 if (!supportsDescriptors) { 22446 throw new TypeError('getters require true ES5 support'); 22447 } 22448 Object.defineProperty(object, name, { 22449 configurable: true, 22450 enumerable: false, 22451 get: getter 22452 }); 22453 }, 22454 proxy: function (originalObject, key, targetObject) { 22455 if (!supportsDescriptors) { 22456 throw new TypeError('getters require true ES5 support'); 22457 } 22458 var originalDescriptor = Object.getOwnPropertyDescriptor(originalObject, key); 22459 Object.defineProperty(targetObject, key, { 22460 configurable: originalDescriptor.configurable, 22461 enumerable: originalDescriptor.enumerable, 22462 get: function getKey() { return originalObject[key]; }, 22463 set: function setKey(value) { originalObject[key] = value; } 22464 }); 22465 }, 22466 redefine: function (object, property, newValue) { 22467 if (supportsDescriptors) { 22468 var descriptor = Object.getOwnPropertyDescriptor(object, property); 22469 descriptor.value = newValue; 22470 Object.defineProperty(object, property, descriptor); 22471 } else { 22472 object[property] = newValue; 22473 } 22474 }, 22475 defineByDescriptor: function (object, property, descriptor) { 22476 if (supportsDescriptors) { 22477 Object.defineProperty(object, property, descriptor); 22478 } else if ('value' in descriptor) { 22479 object[property] = descriptor.value; 22480 } 22481 }, 22482 preserveToString: function (target, source) { 22483 if (source && isCallable(source.toString)) { 22484 defineProperty(target, 'toString', source.toString.bind(source), true); 22485 } 22486 } 22487 }; 22488 22489 // Simple shim for Object.create on ES3 browsers 22490 // (unlike real shim, no attempt to support `prototype === null`) 22491 var create = Object.create || function (prototype, properties) { 22492 var Prototype = function Prototype() {}; 22493 Prototype.prototype = prototype; 22494 var object = new Prototype(); 22495 if (typeof properties !== 'undefined') { 22496 keys(properties).forEach(function (key) { 22497 Value.defineByDescriptor(object, key, properties[key]); 22498 }); 22499 } 22500 return object; 22501 }; 22502 22503 var supportsSubclassing = function (C, f) {
22504 if (!Object.setPrototypeOf) { return false; /* skip test on IE < 11 */ } 22505 return valueOrFalseIfThrows(function () { 22506 var Sub = function Subclass(arg) { 22507 var o = new C(arg); 22508 Object.setPrototypeOf(o, Subclass.prototype); 22509 return o; 22510 }; 22511 Object.setPrototypeOf(Sub, C); 22512 Sub.prototype = create(C.prototype, { 22513 constructor: { value: Sub } 22514 }); 22515 return f(Sub); 22516 }); 22517 }; 22518 22519 var getGlobal = function () { 22520 /* global self, window */ 22521 // the only reliable means to get the global object is 22522 // `Function('return this')()` 22523 // However, this causes CSP violations in Chrome apps. 22524 if (typeof self !== 'undefined') { return self; } 22525 if (typeof window !== 'undefined') { return window; } 22526 if (typeof global !== 'undefined') { return global
vendor: 132,966 bytes, lines 22526-26239
22526; } 22527 throw new Error('unable to locate global object'); 22528 }; 22529 22530 var globals = getGlobal(); 22531 var globalIsFinite = globals.isFinite; 22532 var _indexOf = Function.call.bind(String.prototype.indexOf); 22533 var _arrayIndexOfApply = Function.apply.bind(Array.prototype.indexOf); 22534 var _concat = Function.call.bind(Array.prototype.concat); 22535 // var _sort = Function.call.bind(Array.prototype.sort); 22536 var _strSlice = Function.call.bind(String.prototype.slice); 22537 var _push = Function.call.bind(Array.prototype.push); 22538 var _pushApply = Function.apply.bind(Array.prototype.push); 22539 var _join = Function.call.bind(Array.prototype.join); 22540 var _shift = Function.call.bind(Array.prototype.shift); 22541 var _max = Math.max; 22542 var _min = Math.min; 22543 var _floor = Math.floor; 22544 var _abs = Math.abs; 22545 var _exp = Math.exp; 22546 var _log = Math.log; 22547 var _sqrt = Math.sqrt; 22548 var _hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty); 22549 var ArrayIterator; // make our implementation private 22550 var noop = function () {}; 22551 22552 var OrigMap = globals.Map; 22553 var origMapDelete = OrigMap && OrigMap.prototype['delete']; 22554 var origMapGet = OrigMap && OrigMap.prototype.get; 22555 var origMapHas = OrigMap && OrigMap.prototype.has; 22556 var origMapSet = OrigMap && OrigMap.prototype.set; 22557 22558 var Symbol = globals.Symbol || {}; 22559 var symbolSpecies = Symbol.species || '@@species'; 22560 22561 var numberIsNaN = Number.isNaN || function isNaN(value) { 22562 // NaN !== NaN, but they are identical. 22563 // NaNs are the only non-reflexive value, i.e., if x !== x, 22564 // then x is NaN. 22565 // isNaN is broken: it converts its argument to number, so 22566 // isNaN('foo') => true 22567 return value !== value; 22568 }; 22569 var numberIsFinite = Number.isFinite || function isFinite(value) { 22570 return typeof value === 'number' && globalIsFinite(value); 22571 }; 22572 var _sign = isCallable(Math.sign) ? Math.sign : function sign(value) { 22573 var number = Number(value); 22574 if (number === 0) { return number; } 22575 if (numberIsNaN(number)) { return number; } 22576 return number < 0 ? -1 : 1; 22577 }; 22578 var _log1p = function log1p(value) { 22579 var x = Number(value); 22580 if (x < -1 || numberIsNaN(x)) { return NaN; } 22581 if (x === 0 || x === Infinity) { return x; } 22582 if (x === -1) { return -Infinity; } 22583 22584 return (1 + x) - 1 === 0 ? x : x * (_log(1 + x) / ((1 + x) - 1)); 22585 }; 22586 22587 // taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js 22588 // can be replaced with require('is-arguments') if we ever use a build process instead 22589 var isStandardArguments = function isArguments(value) { 22590 return _toString(value) === '[object Arguments]'; 22591 }; 22592 var isLegacyArguments = function isArguments(value) { 22593 return value !== null 22594 && typeof value === 'object' 22595 && typeof value.length === 'number' 22596 && value.length >= 0 22597 && _toString(value) !== '[object Array]' 22598 && _toString(value.callee) === '[object Function]'; 22599 }; 22600 var isArguments = isStandardArguments(arguments) ? isStandardArguments : isLegacyArguments; 22601 22602 var Type = { 22603 primitive: function (x) { return x === null || (typeof x !== 'function' && typeof x !== 'object'); }, 22604 string: function (x) { return _toString(x) === '[object String]'; }, 22605 regex: function (x) { return _toString(x) === '[object RegExp]'; }, 22606 symbol: function (x) { 22607 return typeof globals.Symbol === 'function' && typeof x === 'symbol'; 22608 } 22609 }; 22610 22611 var overrideNative = function overrideNative(object, property, replacement) { 22612 var original = object[property]; 22613 defineProperty(object, property, replacement, true); 22614 Value.preserveToString(object[property], original); 22615 }; 22616 22617 // eslint-disable-next-line no-restricted-properties 22618 var hasSymbols = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' && Type.symbol(Symbol()); 22619 22620 // This is a private name in the es6 spec, equal to '[Symbol.iterator]' 22621 // we're going to use an arbitrary _-prefixed name to make our shims 22622 // work properly with each other, even though we don't have full Iterator 22623 // support. That is, `Array.from(map.keys())` will work, but we don't 22624 // pretend to export a "real" Iterator interface. 22625 var $iterator$ = Type.symbol(Symbol.iterator) ? Symbol.iterator : '_es6-shim iterator_'; 22626 // Firefox ships a partial implementation using the name @@iterator. 22627 // https://bugzilla.mozilla.org/show_bug.cgi?id=907077#c14 22628 // So use that name if we detect it. 22629 if (globals.Set && typeof new globals.Set()['@@iterator'] === 'function') { 22630 $iterator$ = '@@iterator'; 22631 } 22632 22633 // Reflect 22634 if (!globals.Reflect) { 22635 defineProperty(globals, 'Reflect', {}, true); 22636 } 22637 var Reflect = globals.Reflect; 22638 22639 var $String = String; 22640 22641 /* global document */ 22642 var domAll = (typeof document === 'undefined' || !document) ? null : document.all; 22643 var isNullOrUndefined = domAll == null ? function isNullOrUndefined(x) { 22644 return x == null; 22645 } : function isNullOrUndefinedAndNotDocumentAll(x) { 22646 return x == null && x !== domAll; 22647 }; 22648 22649 var ES = { 22650 // http://www.ecma-international.org/ecma-262/6.0/#sec-call 22651 Call: function Call(F, V) { 22652 var args = arguments.length > 2 ? arguments[2] : []; 22653 if (!ES.IsCallable(F)) { 22654 throw new TypeError(F + ' is not a function'); 22655 } 22656 return _apply(F, V, args); 22657 }, 22658 22659 RequireObjectCoercible: function (x, optMessage) { 22660 if (isNullOrUndefined(x)) { 22661 throw new TypeError(optMessage || 'Cannot call method on ' + x); 22662 } 22663 return x; 22664 }, 22665 22666 // This might miss the "(non-standard exotic and does not implement 22667 // [[Call]])" case from 22668 // http://www.ecma-international.org/ecma-262/6.0/#sec-typeof-operator-runtime-semantics-evaluation 22669 // but we can't find any evidence these objects exist in practice. 22670 // If we find some in the future, you could test `Object(x) === x`, 22671 // which is reliable according to 22672 // http://www.ecma-international.org/ecma-262/6.0/#sec-toobject 22673 // but is not well optimized by runtimes and creates an object 22674 // whenever it returns false, and thus is very slow. 22675 TypeIsObject: function (x) { 22676 if (x === void 0 || x === null || x === true || x === false) { 22677 return false; 22678 } 22679 return typeof x === 'function' || typeof x === 'object' || x === domAll; 22680 }, 22681 22682 ToObject: function (o, optMessage) { 22683 return Object(ES.RequireObjectCoercible(o, optMessage)); 22684 }, 22685 22686 IsCallable: isCallable, 22687 22688 IsConstructor: function (x) { 22689 // We can't tell callables from constructors in ES5 22690 return ES.IsCallable(x); 22691 }, 22692 22693 ToInt32: function (x) { 22694 return ES.ToNumber(x) >> 0; 22695 }, 22696 22697 ToUint32: function (x) { 22698 return ES.ToNumber(x) >>> 0; 22699 }, 22700 22701 ToNumber: function (value) { 22702 if (hasSymbols && _toString(value) === '[object Symbol]') { 22703 throw new TypeError('Cannot convert a Symbol value to a number'); 22704 } 22705 return +value; 22706 }, 22707 22708 ToInteger: function (value) { 22709 var number = ES.ToNumber(value); 22710 if (numberIsNaN(number)) { return 0; } 22711 if (number === 0 || !numberIsFinite(number)) { return number; } 22712 return (number > 0 ? 1 : -1) * _floor(_abs(number)); 22713 }, 22714 22715 ToLength: function (value) { 22716 var len = ES.ToInteger(value); 22717 if (len <= 0) { return 0; } // includes converting -0 to +0 22718 if (len > Number.MAX_SAFE_INTEGER) { return Number.MAX_SAFE_INTEGER; } 22719 return len; 22720 }, 22721 22722 SameValue: function (a, b) { 22723 if (a === b) { 22724 // 0 === -0, but they are not identical. 22725 if (a === 0) { return 1 / a === 1 / b; } 22726 return true; 22727 } 22728 return numberIsNaN(a) && numberIsNaN(b); 22729 }, 22730 22731 SameValueZero: function (a, b) { 22732 // same as SameValue except for SameValueZero(+0, -0) == true 22733 return (a === b) || (numberIsNaN(a) && numberIsNaN(b)); 22734 }, 22735 22736 GetIterator: function (o) { 22737 if (isArguments(o)) { 22738 // special case support for `arguments` 22739 return new ArrayIterator(o, 'value'); 22740 } 22741 var itFn = ES.GetMethod(o, $iterator$); 22742 if (!ES.IsCallable(itFn)) { 22743 // Better diagnostics if itFn is null or undefined 22744 throw new TypeError('value is not an iterable'); 22745 } 22746 var it = ES.Call(itFn, o); 22747 if (!ES.TypeIsObject(it)) { 22748 throw new TypeError('bad iterator'); 22749 } 22750 return it; 22751 }, 22752 22753 GetMethod: function (o, p) { 22754 var func = ES.ToObject(o)[p]; 22755 if (isNullOrUndefined(func)) { 22756 return void 0; 22757 } 22758 if (!ES.IsCallable(func)) { 22759 throw new TypeError('Method not callable: ' + p); 22760 } 22761 return func; 22762 }, 22763 22764 IteratorComplete: function (iterResult) { 22765 return !!iterResult.done; 22766 }, 22767 22768 IteratorClose: function (iterator, completionIsThrow) { 22769 var returnMethod = ES.GetMethod(iterator, 'return'); 22770 if (returnMethod === void 0) { 22771 return; 22772 } 22773 var innerResult, innerException; 22774 try { 22775 innerResult = ES.Call(returnMethod, iterator); 22776 } catch (e) { 22777 innerException = e; 22778 } 22779 if (completionIsThrow) { 22780 return; 22781 } 22782 if (innerException) { 22783 throw innerException; 22784 } 22785 if (!ES.TypeIsObject(innerResult)) { 22786 throw new TypeError("Iterator's return method returned a non-object."); 22787 } 22788 }, 22789 22790 IteratorNext: function (it) { 22791 var result = arguments.length > 1 ? it.next(arguments[1]) : it.next(); 22792 if (!ES.TypeIsObject(result)) { 22793 throw new TypeError('bad iterator'); 22794 } 22795 return result; 22796 }, 22797 22798 IteratorStep: function (it) { 22799 var result = ES.IteratorNext(it); 22800 var done = ES.IteratorComplete(result); 22801 return done ? false : result; 22802 }, 22803 22804 Construct: function (C, args, newTarget, isES6internal) { 22805 var target = typeof newTarget === 'undefined' ? C : newTarget; 22806 22807 if (!isES6internal && Reflect.construct) { 22808 // Try to use Reflect.construct if available 22809 return Reflect.construct(C, args, target); 22810 } 22811 // OK, we have to fake it. This will only work if the 22812 // C.[[ConstructorKind]] == "base" -- but that's the only 22813 // kind we can make in ES5 code anyway. 22814 22815 // OrdinaryCreateFromConstructor(target, "%ObjectPrototype%") 22816 var proto = target.prototype; 22817 if (!ES.TypeIsObject(proto)) { 22818 proto = Object.prototype; 22819 } 22820 var obj = create(proto); 22821 // Call the constructor. 22822 var result = ES.Call(C, obj, args); 22823 return ES.TypeIsObject(result) ? result : obj; 22824 }, 22825 22826 SpeciesConstructor: function (O, defaultConstructor) { 22827 var C = O.constructor; 22828 if (C === void 0) { 22829 return defaultConstructor; 22830 } 22831 if (!ES.TypeIsObject(C)) { 22832 throw new TypeError('Bad constructor'); 22833 } 22834 var S = C[symbolSpecies]; 22835 if (isNullOrUndefined(S)) { 22836 return defaultConstructor; 22837 } 22838 if (!ES.IsConstructor(S)) { 22839 throw new TypeError('Bad @@species'); 22840 } 22841 return S; 22842 }, 22843 22844 CreateHTML: function (string, tag, attribute, value) { 22845 var S = ES.ToString(string); 22846 var p1 = '<' + tag; 22847 if (attribute !== '') { 22848 var V = ES.ToString(value); 22849 var escapedV = V.replace(/"/g, '"'); 22850 p1 += ' ' + attribute + '="' + escapedV + '"'; 22851 } 22852 var p2 = p1 + '>'; 22853 var p3 = p2 + S; 22854 return p3 + '</' + tag + '>'; 22855 }, 22856 22857 IsRegExp: function IsRegExp(argument) { 22858 if (!ES.TypeIsObject(argument)) { 22859 return false; 22860 } 22861 var isRegExp = argument[Symbol.match]; 22862 if (typeof isRegExp !== 'undefined') { 22863 return !!isRegExp; 22864 } 22865 return Type.regex(argument); 22866 }, 22867 22868 ToString: function ToString(string) { 22869 if (hasSymbols && _toString(string) === '[object Symbol]') { 22870 throw new TypeError('Cannot convert a Symbol value to a number'); 22871 } 22872 return $String(string); 22873 } 22874 }; 22875 22876 // Well-known Symbol shims 22877 if (supportsDescriptors && hasSymbols) { 22878 var defineWellKnownSymbol = function defineWellKnownSymbol(name) { 22879 if (Type.symbol(Symbol[name])) { 22880 return Symbol[name]; 22881 } 22882 // eslint-disable-next-line no-restricted-properties 22883 var sym = Symbol['for']('Symbol.' + name); 22884 Object.defineProperty(Symbol, name, { 22885 configurable: false, 22886 enumerable: false, 22887 writable: false, 22888 value: sym 22889 }); 22890 return sym; 22891 }; 22892 if (!Type.symbol(Symbol.search)) { 22893 var symbolSearch = defineWellKnownSymbol('search'); 22894 var originalSearch = String.prototype.search; 22895 defineProperty(RegExp.prototype, symbolSearch, function search(string) { 22896 return ES.Call(originalSearch, string, [this]); 22897 }); 22898 var searchShim = function search(regexp) { 22899 var O = ES.RequireObjectCoercible(this); 22900 if (!isNullOrUndefined(regexp)) { 22901 var searcher = ES.GetMethod(regexp, symbolSearch); 22902 if (typeof searcher !== 'undefined') { 22903 return ES.Call(searcher, regexp, [O]); 22904 } 22905 } 22906 return ES.Call(originalSearch, O, [ES.ToString(regexp)]); 22907 }; 22908 overrideNative(String.prototype, 'search', searchShim); 22909 } 22910 if (!Type.symbol(Symbol.replace)) { 22911 var symbolReplace = defineWellKnownSymbol('replace'); 22912 var originalReplace = String.prototype.replace; 22913 defineProperty(RegExp.prototype, symbolReplace, function replace(string, replaceValue) { 22914 return ES.Call(originalReplace, string, [this, replaceValue]); 22915 }); 22916 var replaceShim = function replace(searchValue, replaceValue) { 22917 var O = ES.RequireObjectCoercible(this); 22918 if (!isNullOrUndefined(searchValue)) { 22919 var replacer = ES.GetMethod(searchValue, symbolReplace); 22920 if (typeof replacer !== 'undefined') { 22921 return ES.Call(replacer, searchValue, [O, replaceValue]); 22922 } 22923 } 22924 return ES.Call(originalReplace, O, [ES.ToString(searchValue), replaceValue]); 22925 }; 22926 overrideNative(String.prototype, 'replace', replaceShim); 22927 } 22928 if (!Type.symbol(Symbol.split)) { 22929 var symbolSplit = defineWellKnownSymbol('split'); 22930 var originalSplit = String.prototype.split; 22931 defineProperty(RegExp.prototype, symbolSplit, function split(string, limit) { 22932 return ES.Call(originalSplit, string, [this, limit]); 22933 }); 22934 var splitShim = function split(separator, limit) { 22935 var O = ES.RequireObjectCoercible(this); 22936 if (!isNullOrUndefined(separator)) { 22937 var splitter = ES.GetMethod(separator, symbolSplit); 22938 if (typeof splitter !== 'undefined') { 22939 return ES.Call(splitter, separator, [O, limit]); 22940 } 22941 } 22942 return ES.Call(originalSplit, O, [ES.ToString(separator), limit]); 22943 }; 22944 overrideNative(String.prototype, 'split', splitShim); 22945 } 22946 var symbolMatchExists = Type.symbol(Symbol.match); 22947 var stringMatchIgnoresSymbolMatch = symbolMatchExists && (function () { 22948 // Firefox 41, through Nightly 45 has Symbol.match, but String#match ignores it. 22949 // Firefox 40 and below have Symbol.match but String#match works fine. 22950 var o = {}; 22951 o[Symbol.match] = function () { return 42; }; 22952 return 'a'.match(o) !== 42; 22953 }()); 22954 if (!symbolMatchExists || stringMatchIgnoresSymbolMatch) { 22955 var symbolMatch = defineWellKnownSymbol('match'); 22956 22957 var originalMatch = String.prototype.match; 22958 defineProperty(RegExp.prototype, symbolMatch, function match(string) { 22959 return ES.Call(originalMatch, string, [this]); 22960 }); 22961 22962 var matchShim = function match(regexp) { 22963 var O = ES.RequireObjectCoercible(this); 22964 if (!isNullOrUndefined(regexp)) { 22965 var matcher = ES.GetMethod(regexp, symbolMatch); 22966 if (typeof matcher !== 'undefined') { 22967 return ES.Call(matcher, regexp, [O]); 22968 } 22969 } 22970 return ES.Call(originalMatch, O, [ES.ToString(regexp)]); 22971 }; 22972 overrideNative(String.prototype, 'match', matchShim); 22973 } 22974 } 22975 22976 var wrapConstructor = function wrapConstructor(original, replacement, keysToSkip) { 22977 Value.preserveToString(replacement, original); 22978 if (Object.setPrototypeOf) { 22979 // sets up proper prototype chain where possible 22980 Object.setPrototypeOf(original, replacement); 22981 } 22982 if (supportsDescriptors) { 22983 _forEach(Object.getOwnPropertyNames(original), function (key) { 22984 if (key in noop || keysToSkip[key]) { return; } 22985 Value.proxy(original, key, replacement); 22986 }); 22987 } else { 22988 _forEach(Object.keys(original), function (key) { 22989 if (key in noop || keysToSkip[key]) { return; } 22990 replacement[key] = original[key]; 22991 }); 22992 } 22993 replacement.prototype = original.prototype; 22994 Value.redefine(original.prototype, 'constructor', replacement); 22995 }; 22996 22997 var defaultSpeciesGetter = function () { return this; }; 22998 var addDefaultSpecies = function (C) { 22999 if (supportsDescriptors && !_hasOwnProperty(C, symbolSpecies)) { 23000 Value.getter(C, symbolSpecies, defaultSpeciesGetter); 23001 } 23002 }; 23003 23004 var addIterator = function (prototype, impl) { 23005 var implementation = impl || function iterator() { return this; }; 23006 defineProperty(prototype, $iterator$, implementation); 23007 if (!prototype[$iterator$] && Type.symbol($iterator$)) { 23008 // implementations are buggy when $iterator$ is a Symbol 23009 prototype[$iterator$] = implementation; 23010 } 23011 }; 23012 23013 var createDataProperty = function createDataProperty(object, name, value) { 23014 if (supportsDescriptors) { 23015 Object.defineProperty(object, name, { 23016 configurable: true, 23017 enumerable: true, 23018 writable: true, 23019 value: value 23020 }); 23021 } else { 23022 object[name] = value; 23023 } 23024 }; 23025 var createDataPropertyOrThrow = function createDataPropertyOrThrow(object, name, value) { 23026 createDataProperty(object, name, value); 23027 if (!ES.SameValue(object[name], value)) { 23028 throw new TypeError('property is nonconfigurable'); 23029 } 23030 }; 23031 23032 var emulateES6construct = function (o, defaultNewTarget, defaultProto, slots) { 23033 // This is an es5 approximation to es6 construct semantics. in es6, 23034 // 'new Foo' invokes Foo.[[Construct]] which (for almost all objects) 23035 // just sets the internal variable NewTarget (in es6 syntax `new.target`) 23036 // to Foo and then returns Foo(). 23037 23038 // Many ES6 object then have constructors of the form: 23039 // 1. If NewTarget is undefined, throw a TypeError exception 23040 // 2. Let xxx by OrdinaryCreateFromConstructor(NewTarget, yyy, zzz) 23041 23042 // So we're going to emulate those first two steps. 23043 if (!ES.TypeIsObject(o)) { 23044 throw new TypeError('Constructor requires `new`: ' + defaultNewTarget.name); 23045 } 23046 var proto = defaultNewTarget.prototype; 23047 if (!ES.TypeIsObject(proto)) { 23048 proto = defaultProto; 23049 } 23050 var obj = create(proto); 23051 for (var name in slots) { 23052 if (_hasOwnProperty(slots, name)) { 23053 var value = slots[name]; 23054 defineProperty(obj, name, value, true); 23055 } 23056 } 23057 return obj; 23058 }; 23059 23060 // Firefox 31 reports this function's length as 0 23061 // https://bugzilla.mozilla.org/show_bug.cgi?id=1062484 23062 if (String.fromCodePoint && String.fromCodePoint.length !== 1) { 23063 var originalFromCodePoint = String.fromCodePoint; 23064 overrideNative(String, 'fromCodePoint', function fromCodePoint(codePoints) { 23065 return ES.Call(originalFromCodePoint, this, arguments); 23066 }); 23067 } 23068 23069 var StringShims = { 23070 fromCodePoint: function fromCodePoint(codePoints) { 23071 var result = []; 23072 var next; 23073 for (var i = 0, length = arguments.length; i < length; i++) { 23074 next = Number(arguments[i]); 23075 if (!ES.SameValue(next, ES.ToInteger(next)) || next < 0 || next > 0x10FFFF) { 23076 throw new RangeError('Invalid code point ' + next); 23077 } 23078 23079 if (next < 0x10000) { 23080 _push(result, String.fromCharCode(next)); 23081 } else { 23082 next -= 0x10000; 23083 _push(result, String.fromCharCode((next >> 10) + 0xD800)); 23084 _push(result, String.fromCharCode((next % 0x400) + 0xDC00)); 23085 } 23086 } 23087 return _join(result, ''); 23088 }, 23089 23090 raw: function raw(template) { 23091 var numberOfSubstitutions = arguments.length - 1; 23092 var cooked = ES.ToObject(template, 'bad template'); 23093 var raw = ES.ToObject(cooked.raw, 'bad raw value'); 23094 var len = raw.length; 23095 var literalSegments = ES.ToLength(len); 23096 if (literalSegments <= 0) { 23097 return ''; 23098 } 23099 23100 var stringElements = []; 23101 var nextIndex = 0; 23102 var nextKey, next, nextSeg, nextSub; 23103 while (nextIndex < literalSegments) { 23104 nextKey = ES.ToString(nextIndex); 23105 nextSeg = ES.ToString(raw[nextKey]); 23106 _push(stringElements, nextSeg); 23107 if (nextIndex + 1 >= literalSegments) { 23108 break; 23109 } 23110 next = nextIndex + 1 < arguments.length ? arguments[nextIndex + 1] : ''; 23111 nextSub = ES.ToString(next); 23112 _push(stringElements, nextSub); 23113 nextIndex += 1; 23114 } 23115 return _join(stringElements, ''); 23116 } 23117 }; 23118 if (String.raw && String.raw({ raw: { 0: 'x', 1: 'y', length: 2 } }) !== 'xy') { 23119 // IE 11 TP has a broken String.raw implementation 23120 overrideNative(String, 'raw', StringShims.raw); 23121 } 23122 defineProperties(String, StringShims); 23123 23124 // Fast repeat, uses the `Exponentiation by squaring` algorithm. 23125 // Perf: http://jsperf.com/string-repeat2/2 23126 var stringRepeat = function repeat(s, times) { 23127 if (times < 1) { return ''; } 23128 if (times % 2) { return repeat(s, times - 1) + s; } 23129 var half = repeat(s, times / 2); 23130 return half + half; 23131 }; 23132 var stringMaxLength = Infinity; 23133 23134 var StringPrototypeShims = { 23135 repeat: function repeat(times) { 23136 var thisStr = ES.ToString(ES.RequireObjectCoercible(this)); 23137 var numTimes = ES.ToInteger(times); 23138 if (numTimes < 0 || numTimes >= stringMaxLength) { 23139 throw new RangeError('repeat count must be less than infinity and not overflow maximum string size'); 23140 } 23141 return stringRepeat(thisStr, numTimes); 23142 }, 23143 23144 startsWith: function startsWith(searchString) { 23145 var S = ES.ToString(ES.RequireObjectCoercible(this)); 23146 if (ES.IsRegExp(searchString)) { 23147 throw new TypeError('Cannot call method "startsWith" with a regex'); 23148 } 23149 var searchStr = ES.ToString(searchString); 23150 var position; 23151 if (arguments.length > 1) { 23152 position = arguments[1]; 23153 } 23154 var start = _max(ES.ToInteger(position), 0); 23155 return _strSlice(S, start, start + searchStr.length) === searchStr; 23156 }, 23157 23158 endsWith: function endsWith(searchString) { 23159 var S = ES.ToString(ES.RequireObjectCoercible(this)); 23160 if (ES.IsRegExp(searchString)) { 23161 throw new TypeError('Cannot call method "endsWith" with a regex'); 23162 } 23163 var searchStr = ES.ToString(searchString); 23164 var len = S.length; 23165 var endPosition; 23166 if (arguments.length > 1) { 23167 endPosition = arguments[1]; 23168 } 23169 var pos = typeof endPosition === 'undefined' ? len : ES.ToInteger(endPosition); 23170 var end = _min(_max(pos, 0), len); 23171 return _strSlice(S, end - searchStr.length, end) === searchStr; 23172 }, 23173 23174 includes: function includes(searchString) { 23175 if (ES.IsRegExp(searchString)) { 23176 throw new TypeError('"includes" does not accept a RegExp'); 23177 } 23178 var searchStr = ES.ToString(searchString); 23179 var position; 23180 if (arguments.length > 1) { 23181 position = arguments[1]; 23182 } 23183 // Somehow this trick makes method 100% compat with the spec. 23184 return _indexOf(this, searchStr, position) !== -1; 23185 }, 23186 23187 codePointAt: function codePointAt(pos) { 23188 var thisStr = ES.ToString(ES.RequireObjectCoercible(this)); 23189 var position = ES.ToInteger(pos); 23190 var length = thisStr.length; 23191 if (position >= 0 && position < length) { 23192 var first = thisStr.charCodeAt(position); 23193 var isEnd = position + 1 === length; 23194 if (first < 0xD800 || first > 0xDBFF || isEnd) { return first; } 23195 var second = thisStr.charCodeAt(position + 1); 23196 if (second < 0xDC00 || second > 0xDFFF) { return first; } 23197 return ((first - 0xD800) * 1024) + (second - 0xDC00) + 0x10000; 23198 } 23199 } 23200 }; 23201 if (String.prototype.includes && 'a'.includes('a', Infinity) !== false) { 23202 overrideNative(String.prototype, 'includes', StringPrototypeShims.includes); 23203 } 23204 23205 if (String.prototype.startsWith && String.prototype.endsWith) { 23206 var startsWithRejectsRegex = throwsError(function () { 23207 /* throws if spec-compliant */ 23208 return '/a/'.startsWith(/a/); 23209 }); 23210 var startsWithHandlesInfinity = valueOrFalseIfThrows(function () { 23211 return 'abc'.startsWith('a', Infinity) === false; 23212 }); 23213 if (!startsWithRejectsRegex || !startsWithHandlesInfinity) { 23214 // Firefox (< 37?) and IE 11 TP have a noncompliant startsWith implementation 23215 overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith); 23216 overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith); 23217 } 23218 } 23219 if (hasSymbols) { 23220 var startsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () { 23221 var re = /a/; 23222 re[Symbol.match] = false; 23223 return '/a/'.startsWith(re); 23224 }); 23225 if (!startsWithSupportsSymbolMatch) { 23226 overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith); 23227 } 23228 var endsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () { 23229 var re = /a/; 23230 re[Symbol.match] = false; 23231 return '/a/'.endsWith(re); 23232 }); 23233 if (!endsWithSupportsSymbolMatch) { 23234 overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith); 23235 } 23236 var includesSupportsSymbolMatch = valueOrFalseIfThrows(function () { 23237 var re = /a/; 23238 re[Symbol.match] = false; 23239 return '/a/'.includes(re); 23240 }); 23241 if (!includesSupportsSymbolMatch) { 23242 overrideNative(String.prototype, 'includes', StringPrototypeShims.includes); 23243 } 23244 } 23245 23246 defineProperties(String.prototype, StringPrototypeShims); 23247 23248 // whitespace from: http://es5.github.io/#x15.5.4.20 23249 // implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324 23250 var ws = [ 23251 '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003', 23252 '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028', 23253 '\u2029\uFEFF' 23254 ].join(''); 23255 var trimRegexp = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g'); 23256 var trimShim = function trim() { 23257 return ES.ToString(ES.RequireObjectCoercible(this)).replace(trimRegexp, ''); 23258 }; 23259 var nonWS = ['\u0085', '\u200b', '\ufffe'].join(''); 23260 var nonWSregex = new RegExp('[' + nonWS + ']', 'g'); 23261 var isBadHexRegex = /^[-+]0x[0-9a-f]+$/i; 23262 var hasStringTrimBug = nonWS.trim().length !== nonWS.length; 23263 defineProperty(String.prototype, 'trim', trimShim, hasStringTrimBug); 23264 23265 // Given an argument x, it will return an IteratorResult object, 23266 // with value set to x and done to false. 23267 // Given no arguments, it will return an iterator completion object. 23268 var iteratorResult = function (x) { 23269 return { value: x, done: arguments.length === 0 }; 23270 }; 23271 23272 // see http://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype-@@iterator 23273 var StringIterator = function (s) { 23274 ES.RequireObjectCoercible(s); 23275 defineProperty(this, '_s', ES.ToString(s)); 23276 defineProperty(this, '_i', 0); 23277 }; 23278 StringIterator.prototype.next = function () { 23279 var s = this._s; 23280 var i = this._i; 23281 if (typeof s === 'undefined' || i >= s.length) { 23282 this._s = void 0; 23283 return iteratorResult(); 23284 } 23285 var first = s.charCodeAt(i); 23286 var second, len; 23287 if (first < 0xD800 || first > 0xDBFF || (i + 1) === s.length) { 23288 len = 1; 23289 } else { 23290 second = s.charCodeAt(i + 1); 23291 len = (second < 0xDC00 || second > 0xDFFF) ? 1 : 2; 23292 } 23293 this._i = i + len; 23294 return iteratorResult(s.substr(i, len)); 23295 }; 23296 addIterator(StringIterator.prototype); 23297 addIterator(String.prototype, function () { 23298 return new StringIterator(this); 23299 }); 23300 23301 var ArrayShims = { 23302 from: function from(items) { 23303 var C = this; 23304 var mapFn; 23305 if (arguments.length > 1) { 23306 mapFn = arguments[1]; 23307 } 23308 var mapping, T; 23309 if (typeof mapFn === 'undefined') { 23310 mapping = false; 23311 } else { 23312 if (!ES.IsCallable(mapFn)) { 23313 throw new TypeError('Array.from: when provided, the second argument must be a function'); 23314 } 23315 if (arguments.length > 2) { 23316 T = arguments[2]; 23317 } 23318 mapping = true; 23319 } 23320 23321 // Note that that Arrays will use ArrayIterator: 23322 // https://bugs.ecmascript.org/show_bug.cgi?id=2416 23323 var usingIterator = typeof (isArguments(items) || ES.GetMethod(items, $iterator$)) !== 'undefined'; 23324 23325 var length, result, i; 23326 if (usingIterator) { 23327 result = ES.IsConstructor(C) ? Object(new C()) : []; 23328 var iterator = ES.GetIterator(items); 23329 var next, nextValue; 23330 23331 i = 0; 23332 while (true) { 23333 next = ES.IteratorStep(iterator); 23334 if (next === false) { 23335 break; 23336 } 23337 nextValue = next.value; 23338 try { 23339 if (mapping) { 23340 nextValue = typeof T === 'undefined' ? mapFn(nextValue, i) : _call(mapFn, T, nextValue, i); 23341 } 23342 result[i] = nextValue; 23343 } catch (e) { 23344 ES.IteratorClose(iterator, true); 23345 throw e; 23346 } 23347 i += 1; 23348 } 23349 length = i; 23350 } else { 23351 var arrayLike = ES.ToObject(items); 23352 length = ES.ToLength(arrayLike.length); 23353 result = ES.IsConstructor(C) ? Object(new C(length)) : new Array(length); 23354 var value; 23355 for (i = 0; i < length; ++i) { 23356 value = arrayLike[i]; 23357 if (mapping) { 23358 value = typeof T === 'undefined' ? mapFn(value, i) : _call(mapFn, T, value, i); 23359 } 23360 createDataPropertyOrThrow(result, i, value); 23361 } 23362 } 23363 23364 result.length = length; 23365 return result; 23366 }, 23367 23368 of: function of() { 23369 var len = arguments.length; 23370 var C = this; 23371 var A = isArray(C) || !ES.IsCallable(C) ? new Array(len) : ES.Construct(C, [len]); 23372 for (var k = 0; k < len; ++k) { 23373 createDataPropertyOrThrow(A, k, arguments[k]); 23374 } 23375 A.length = len; 23376 return A; 23377 } 23378 }; 23379 defineProperties(Array, ArrayShims); 23380 addDefaultSpecies(Array); 23381 23382 // Our ArrayIterator is private; see 23383 // https://github.com/paulmillr/es6-shim/issues/252 23384 ArrayIterator = function (array, kind) { 23385 defineProperty(this, 'i', 0); 23386 defineProperty(this, 'array', array); 23387 defineProperty(this, 'kind', kind); 23388 }; 23389 23390 defineProperties(ArrayIterator.prototype, { 23391 next: function () { 23392 var i = this.i; 23393 var array = this.array; 23394 if (!(this instanceof ArrayIterator)) { 23395 throw new TypeError('Not an ArrayIterator'); 23396 } 23397 if (typeof array !== 'undefined') { 23398 var len = ES.ToLength(array.length); 23399 if (i < len) { 23400 //for (; i < len; i++) { 23401 var kind = this.kind; 23402 var retval; 23403 if (kind === 'key') { 23404 retval = i; 23405 } else if (kind === 'value') { 23406 retval = array[i]; 23407 } else if (kind === 'entry') { 23408 retval = [i, array[i]]; 23409 } 23410 this.i = i + 1; 23411 return iteratorResult(retval); 23412 } 23413 } 23414 this.array = void 0; 23415 return iteratorResult(); 23416 } 23417 }); 23418 addIterator(ArrayIterator.prototype); 23419 23420 /* 23421 var orderKeys = function orderKeys(a, b) { 23422 var aNumeric = String(ES.ToInteger(a)) === a; 23423 var bNumeric = String(ES.ToInteger(b)) === b; 23424 if (aNumeric && bNumeric) { 23425 return b - a; 23426 } else if (aNumeric && !bNumeric) { 23427 return -1; 23428 } else if (!aNumeric && bNumeric) { 23429 return 1; 23430 } else { 23431 return a.localeCompare(b); 23432 } 23433 }; 23434 23435 var getAllKeys = function getAllKeys(object) { 23436 var ownKeys = []; 23437 var keys = []; 23438 23439 for (var key in object) { 23440 _push(_hasOwnProperty(object, key) ? ownKeys : keys, key); 23441 } 23442 _sort(ownKeys, orderKeys); 23443 _sort(keys, orderKeys); 23444 23445 return _concat(ownKeys, keys); 23446 }; 23447 */ 23448 23449 // note: this is positioned here because it depends on ArrayIterator 23450 var arrayOfSupportsSubclassing = Array.of === ArrayShims.of || (function () { 23451 // Detects a bug in Webkit nightly r181886 23452 var Foo = function Foo(len) { this.length = len; }; 23453 Foo.prototype = []; 23454 var fooArr = Array.of.apply(Foo, [1, 2]); 23455 return fooArr instanceof Foo && fooArr.length === 2; 23456 }()); 23457 if (!arrayOfSupportsSubclassing) { 23458 overrideNative(Array, 'of', ArrayShims.of); 23459 } 23460 23461 var ArrayPrototypeShims = { 23462 copyWithin: function copyWithin(target, start) { 23463 var o = ES.ToObject(this); 23464 var len = ES.ToLength(o.length); 23465 var relativeTarget = ES.ToInteger(target); 23466 var relativeStart = ES.ToInteger(start); 23467 var to = relativeTarget < 0 ? _max(len + relativeTarget, 0) : _min(relativeTarget, len); 23468 var from = relativeStart < 0 ? _max(len + relativeStart, 0) : _min(relativeStart, len); 23469 var end; 23470 if (arguments.length > 2) { 23471 end = arguments[2]; 23472 } 23473 var relativeEnd = typeof end === 'undefined' ? len : ES.ToInteger(end); 23474 var finalItem = relativeEnd < 0 ? _max(len + relativeEnd, 0) : _min(relativeEnd, len); 23475 var count = _min(finalItem - from, len - to); 23476 var direction = 1; 23477 if (from < to && to < (from + count)) { 23478 direction = -1; 23479 from += count - 1; 23480 to += count - 1; 23481 } 23482 while (count > 0) { 23483 if (from in o) { 23484 o[to] = o[from]; 23485 } else { 23486 delete o[to]; 23487 } 23488 from += direction; 23489 to += direction; 23490 count -= 1; 23491 } 23492 return o; 23493 }, 23494 23495 fill: function fill(value) { 23496 var start; 23497 if (arguments.length > 1) { 23498 start = arguments[1]; 23499 } 23500 var end; 23501 if (arguments.length > 2) { 23502 end = arguments[2]; 23503 } 23504 var O = ES.ToObject(this); 23505 var len = ES.ToLength(O.length); 23506 start = ES.ToInteger(typeof start === 'undefined' ? 0 : start); 23507 end = ES.ToInteger(typeof end === 'undefined' ? len : end); 23508 23509 var relativeStart = start < 0 ? _max(len + start, 0) : _min(start, len); 23510 var relativeEnd = end < 0 ? len + end : end; 23511 23512 for (var i = relativeStart; i < len && i < relativeEnd; ++i) { 23513 O[i] = value; 23514 } 23515 return O; 23516 }, 23517 23518 find: function find(predicate) { 23519 var list = ES.ToObject(this); 23520 var length = ES.ToLength(list.length); 23521 if (!ES.IsCallable(predicate)) { 23522 throw new TypeError('Array#find: predicate must be a function'); 23523 } 23524 var thisArg = arguments.length > 1 ? arguments[1] : null; 23525 for (var i = 0, value; i < length; i++) { 23526 value = list[i]; 23527 if (thisArg) { 23528 if (_call(predicate, thisArg, value, i, list)) { 23529 return value; 23530 } 23531 } else if (predicate(value, i, list)) { 23532 return value; 23533 } 23534 } 23535 }, 23536 23537 findIndex: function findIndex(predicate) { 23538 var list = ES.ToObject(this); 23539 var length = ES.ToLength(list.length); 23540 if (!ES.IsCallable(predicate)) { 23541 throw new TypeError('Array#findIndex: predicate must be a function'); 23542 } 23543 var thisArg = arguments.length > 1 ? arguments[1] : null; 23544 for (var i = 0; i < length; i++) { 23545 if (thisArg) { 23546 if (_call(predicate, thisArg, list[i], i, list)) { 23547 return i; 23548 } 23549 } else if (predicate(list[i], i, list)) { 23550 return i; 23551 } 23552 } 23553 return -1; 23554 }, 23555 23556 keys: function keys() { 23557 return new ArrayIterator(this, 'key'); 23558 }, 23559 23560 values: function values() { 23561 return new ArrayIterator(this, 'value'); 23562 }, 23563 23564 entries: function entries() { 23565 return new ArrayIterator(this, 'entry'); 23566 } 23567 }; 23568 // Safari 7.1 defines Array#keys and Array#entries natively, 23569 // but the resulting ArrayIterator objects don't have a "next" method. 23570 if (Array.prototype.keys && !ES.IsCallable([1].keys().next)) { 23571 delete Array.prototype.keys; 23572 } 23573 if (Array.prototype.entries && !ES.IsCallable([1].entries().next)) { 23574 delete Array.prototype.entries; 23575 } 23576 23577 // Chrome 38 defines Array#keys and Array#entries, and Array#@@iterator, but not Array#values 23578 if (Array.prototype.keys && Array.prototype.entries && !Array.prototype.values && Array.prototype[$iterator$]) { 23579 defineProperties(Array.prototype, { 23580 values: Array.prototype[$iterator$] 23581 }); 23582 if (Type.symbol(Symbol.unscopables)) { 23583 Array.prototype[Symbol.unscopables].values = true; 23584 } 23585 } 23586 // Chrome 40 defines Array#values with the incorrect name, although Array#{keys,entries} have the correct name 23587 if (functionsHaveNames && Array.prototype.values && Array.prototype.values.name !== 'values') { 23588 var originalArrayPrototypeValues = Array.prototype.values; 23589 overrideNative(Array.prototype, 'values', function values() { return ES.Call(originalArrayPrototypeValues, this, arguments); }); 23590 defineProperty(Array.prototype, $iterator$, Array.prototype.values, true); 23591 } 23592 defineProperties(Array.prototype, ArrayPrototypeShims); 23593 23594 if (1 / [true].indexOf(true, -0) < 0) { 23595 // indexOf when given a position arg of -0 should return +0. 23596 // https://github.com/tc39/ecma262/pull/316 23597 defineProperty(Array.prototype, 'indexOf', function indexOf(searchElement) { 23598 var value = _arrayIndexOfApply(this, arguments); 23599 if (value === 0 && (1 / value) < 0) { 23600 return 0; 23601 } 23602 return value; 23603 }, true); 23604 } 23605 23606 addIterator(Array.prototype, function () { return this.values(); }); 23607 // Chrome defines keys/values/entries on Array, but doesn't give us 23608 // any way to identify its iterator. So add our own shimmed field. 23609 if (Object.getPrototypeOf) { 23610 var ChromeArrayIterator = Object.getPrototypeOf([].values()); 23611 if (ChromeArrayIterator) { // in WSH, this is `undefined` 23612 addIterator(ChromeArrayIterator); 23613 } 23614 } 23615 23616 // note: this is positioned here because it relies on Array#entries 23617 var arrayFromSwallowsNegativeLengths = (function () { 23618 // Detects a Firefox bug in v32 23619 // https://bugzilla.mozilla.org/show_bug.cgi?id=1063993 23620 return valueOrFalseIfThrows(function () { 23621 return Array.from({ length: -1 }).length === 0; 23622 }); 23623 }()); 23624 var arrayFromHandlesIterables = (function () { 23625 // Detects a bug in Webkit nightly r181886 23626 var arr = Array.from([0].entries()); 23627 return arr.length === 1 && isArray(arr[0]) && arr[0][0] === 0 && arr[0][1] === 0; 23628 }()); 23629 if (!arrayFromSwallowsNegativeLengths || !arrayFromHandlesIterables) { 23630 overrideNative(Array, 'from', ArrayShims.from); 23631 } 23632 var arrayFromHandlesUndefinedMapFunction = (function () { 23633 // Microsoft Edge v0.11 throws if the mapFn argument is *provided* but undefined, 23634 // but the spec doesn't care if it's provided or not - undefined doesn't throw. 23635 return valueOrFalseIfThrows(function () { 23636 return Array.from([0], void 0); 23637 }); 23638 }()); 23639 if (!arrayFromHandlesUndefinedMapFunction) { 23640 var origArrayFrom = Array.from; 23641 overrideNative(Array, 'from', function from(items) { 23642 if (arguments.length > 1 && typeof arguments[1] !== 'undefined') { 23643 return ES.Call(origArrayFrom, this, arguments); 23644 } 23645 return _call(origArrayFrom, this, items); 23646 23647 }); 23648 } 23649 23650 var int32sAsOne = -(Math.pow(2, 32) - 1); 23651 var toLengthsCorrectly = function (method, reversed) { 23652 var obj = { length: int32sAsOne }; 23653 obj[reversed ? (obj.length >>> 0) - 1 : 0] = true; 23654 return valueOrFalseIfThrows(function () { 23655 _call(method, obj, function () { 23656 // note: in nonconforming browsers, this will be called 23657 // -1 >>> 0 times, which is 4294967295, so the throw matters. 23658 throw new RangeError('should not reach here'); 23659 }, []); 23660 return true; 23661 }); 23662 }; 23663 if (!toLengthsCorrectly(Array.prototype.forEach)) { 23664 var originalForEach = Array.prototype.forEach; 23665 overrideNative(Array.prototype, 'forEach', function forEach(callbackFn) { 23666 return ES.Call(originalForEach, this.length >= 0 ? this : [], arguments); 23667 }); 23668 } 23669 if (!toLengthsCorrectly(Array.prototype.map)) { 23670 var originalMap = Array.prototype.map; 23671 overrideNative(Array.prototype, 'map', function map(callbackFn) { 23672 return ES.Call(originalMap, this.length >= 0 ? this : [], arguments); 23673 }); 23674 } 23675 if (!toLengthsCorrectly(Array.prototype.filter)) { 23676 var originalFilter = Array.prototype.filter; 23677 overrideNative(Array.prototype, 'filter', function filter(callbackFn) { 23678 return ES.Call(originalFilter, this.length >= 0 ? this : [], arguments); 23679 }); 23680 } 23681 if (!toLengthsCorrectly(Array.prototype.some)) { 23682 var originalSome = Array.prototype.some; 23683 overrideNative(Array.prototype, 'some', function some(callbackFn) { 23684 return ES.Call(originalSome, this.length >= 0 ? this : [], arguments); 23685 }); 23686 } 23687 if (!toLengthsCorrectly(Array.prototype.every)) { 23688 var originalEvery = Array.prototype.every; 23689 overrideNative(Array.prototype, 'every', function every(callbackFn) { 23690 return ES.Call(originalEvery, this.length >= 0 ? this : [], arguments); 23691 }); 23692 } 23693 if (!toLengthsCorrectly(Array.prototype.reduce)) { 23694 var originalReduce = Array.prototype.reduce; 23695 overrideNative(Array.prototype, 'reduce', function reduce(callbackFn) { 23696 return ES.Call(originalReduce, this.length >= 0 ? this : [], arguments); 23697 }); 23698 } 23699 if (!toLengthsCorrectly(Array.prototype.reduceRight, true)) { 23700 var originalReduceRight = Array.prototype.reduceRight; 23701 overrideNative(Array.prototype, 'reduceRight', function reduceRight(callbackFn) { 23702 return ES.Call(originalReduceRight, this.length >= 0 ? this : [], arguments); 23703 }); 23704 } 23705 23706 var lacksOctalSupport = Number('0o10') !== 8; 23707 var lacksBinarySupport = Number('0b10') !== 2; 23708 var trimsNonWhitespace = _some(nonWS, function (c) { 23709 return Number(c + 0 + c) === 0; 23710 }); 23711 if (lacksOctalSupport || lacksBinarySupport || trimsNonWhitespace) { 23712 var OrigNumber = Number; 23713 var binaryRegex = /^0b[01]+$/i; 23714 var octalRegex = /^0o[0-7]+$/i; 23715 // Note that in IE 8, RegExp.prototype.test doesn't seem to exist: ie, "test" is an own property of regexes. wtf. 23716 var isBinary = binaryRegex.test.bind(binaryRegex); 23717 var isOctal = octalRegex.test.bind(octalRegex); 23718 var toPrimitive = function (O, hint) { // need to replace this with `es-to-primitive/es6` 23719 var result; 23720 if (typeof O.valueOf === 'function') { 23721 result = O.valueOf(); 23722 if (Type.primitive(result)) { 23723 return result; 23724 } 23725 } 23726 if (typeof O.toString === 'function') { 23727 result = O.toString(); 23728 if (Type.primitive(result)) { 23729 return result; 23730 } 23731 } 23732 throw new TypeError('No default value'); 23733 }; 23734 var hasNonWS = nonWSregex.test.bind(nonWSregex); 23735 var isBadHex = isBadHexRegex.test.bind(isBadHexRegex); 23736 var NumberShim = (function () { 23737 // this is wrapped in an IIFE because of IE 6-8's wacky scoping issues with named function expressions. 23738 var NumberShim = function Number(value) { 23739 var primValue; 23740 if (arguments.length > 0) { 23741 primValue = Type.primitive(value) ? value : toPrimitive(value, 'number'); 23742 } else { 23743 primValue = 0; 23744 } 23745 if (typeof primValue === 'string') { 23746 primValue = ES.Call(trimShim, primValue); 23747 if (isBinary(primValue)) { 23748 primValue = parseInt(_strSlice(primValue, 2), 2); 23749 } else if (isOctal(primValue)) { 23750 primValue = parseInt(_strSlice(primValue, 2), 8); 23751 } else if (hasNonWS(primValue) || isBadHex(primValue)) { 23752 primValue = NaN; 23753 } 23754 } 23755 var receiver = this; 23756 var valueOfSucceeds = valueOrFalseIfThrows(function () { 23757 OrigNumber.prototype.valueOf.call(receiver); 23758 return true; 23759 }); 23760 if (receiver instanceof NumberShim && !valueOfSucceeds) { 23761 return new OrigNumber(primValue); 23762 } 23763 return OrigNumber(primValue); 23764 }; 23765 return NumberShim; 23766 }()); 23767 wrapConstructor(OrigNumber, NumberShim, {}); 23768 // this is necessary for ES3 browsers, where these properties are non-enumerable. 23769 defineProperties(NumberShim, { 23770 NaN: OrigNumber.NaN, 23771 MAX_VALUE: OrigNumber.MAX_VALUE, 23772 MIN_VALUE: OrigNumber.MIN_VALUE, 23773 NEGATIVE_INFINITY: OrigNumber.NEGATIVE_INFINITY, 23774 POSITIVE_INFINITY: OrigNumber.POSITIVE_INFINITY 23775 }); 23776 Number = NumberShim; // eslint-disable-line no-global-assign 23777 Value.redefine(globals, 'Number', NumberShim); 23778 } 23779 23780 var maxSafeInteger = Math.pow(2, 53) - 1; 23781 defineProperties(Number, { 23782 MAX_SAFE_INTEGER: maxSafeInteger, 23783 MIN_SAFE_INTEGER: -maxSafeInteger, 23784 EPSILON: 2.220446049250313e-16, 23785 23786 parseInt: globals.parseInt, 23787 parseFloat: globals.parseFloat, 23788 23789 isFinite: numberIsFinite, 23790 23791 isInteger: function isInteger(value) { 23792 return numberIsFinite(value) && ES.ToInteger(value) === value; 23793 }, 23794 23795 isSafeInteger: function isSafeInteger(value) { 23796 return Number.isInteger(value) && _abs(value) <= Number.MAX_SAFE_INTEGER; 23797 }, 23798 23799 isNaN: numberIsNaN 23800 }); 23801 // Firefox 37 has a conforming Number.parseInt, but it's not === to the global parseInt (fixed in v40) 23802 defineProperty(Number, 'parseInt', globals.parseInt, Number.parseInt !== globals.parseInt); 23803 23804 // Work around bugs in Array#find and Array#findIndex -- early 23805 // implementations skipped holes in sparse arrays. (Note that the 23806 // implementations of find/findIndex indirectly use shimmed 23807 // methods of Number, so this test has to happen down here.) 23808 /* eslint-disable no-sparse-arrays */ 23809 if ([, 1].find(function () { return true; }) === 1) { 23810 overrideNative(Array.prototype, 'find', ArrayPrototypeShims.find); 23811 } 23812 if ([, 1].findIndex(function () { return true; }) !== 0) { 23813 overrideNative(Array.prototype, 'findIndex', ArrayPrototypeShims.findIndex); 23814 } 23815 /* eslint-enable no-sparse-arrays */ 23816 23817 var isEnumerableOn = Function.bind.call(Function.bind, Object.prototype.propertyIsEnumerable); 23818 var ensureEnumerable = function ensureEnumerable(obj, prop) { 23819 if (supportsDescriptors && isEnumerableOn(obj, prop)) { 23820 Object.defineProperty(obj, prop, { enumerable: false }); 23821 } 23822 }; 23823 var sliceArgs = function sliceArgs() { 23824 // per https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments 23825 // and https://gist.github.com/WebReflection/4327762cb87a8c634a29 23826 var initial = Number(this); 23827 var len = arguments.length; 23828 var desiredArgCount = len - initial; 23829 var args = new Array(desiredArgCount < 0 ? 0 : desiredArgCount); 23830 for (var i = initial; i < len; ++i) { 23831 args[i - initial] = arguments[i]; 23832 } 23833 return args; 23834 }; 23835 var assignTo = function assignTo(source) { 23836 return function assignToSource(target, key) { 23837 target[key] = source[key]; 23838 return target; 23839 }; 23840 }; 23841 var assignReducer = function (target, source) { 23842 var sourceKeys = keys(Object(source)); 23843 var symbols; 23844 if (ES.IsCallable(Object.getOwnPropertySymbols)) { 23845 symbols = _filter(Object.getOwnPropertySymbols(Object(source)), isEnumerableOn(source)); 23846 } 23847 return _reduce(_concat(sourceKeys, symbols || []), assignTo(source), target); 23848 }; 23849 23850 var ObjectShims = { 23851 // 19.1.3.1 23852 assign: function (target, source) { 23853 var to = ES.ToObject(target, 'Cannot convert undefined or null to object'); 23854 return _reduce(ES.Call(sliceArgs, 1, arguments), assignReducer, to); 23855 }, 23856 23857 // Added in WebKit in https://bugs.webkit.org/show_bug.cgi?id=143865 23858 is: function is(a, b) { 23859 return ES.SameValue(a, b); 23860 } 23861 }; 23862 var assignHasPendingExceptions = Object.assign && Object.preventExtensions && (function () { 23863 // Firefox 37 still has "pending exception" logic in its Object.assign implementation, 23864 // which is 72% slower than our shim, and Firefox 40's native implementation. 23865 var thrower = Object.preventExtensions({ 1: 2 }); 23866 try { 23867 Object.assign(thrower, 'xy'); 23868 } catch (e) { 23869 return thrower[1] === 'y'; 23870 } 23871 }()); 23872 if (assignHasPendingExceptions) { 23873 overrideNative(Object, 'assign', ObjectShims.assign); 23874 } 23875 defineProperties(Object, ObjectShims); 23876 23877 if (supportsDescriptors) { 23878 var ES5ObjectShims = { 23879 // 19.1.3.9 23880 // shim from https://gist.github.com/WebReflection/5593554 23881 setPrototypeOf: (function (Object) { 23882 var set; 23883 23884 var checkArgs = function (O, proto) { 23885 if (!ES.TypeIsObject(O)) { 23886 throw new TypeError('cannot set prototype on a non-object'); 23887 } 23888 if (!(proto === null || ES.TypeIsObject(proto))) { 23889 throw new TypeError('can only set prototype to an object or null' + proto); 23890 } 23891 }; 23892 23893 var setPrototypeOf = function (O, proto) { 23894 checkArgs(O, proto); 23895 _call(set, O, proto); 23896 return O; 23897 }; 23898 23899 try { 23900 // this works already in Firefox and Safari 23901 set = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; 23902 _call(set, {}, null); 23903 } catch (e) { 23904 if (Object.prototype !== ({}).__proto__) { // eslint-disable-line no-proto 23905 // IE < 11 cannot be shimmed 23906 return; 23907 } 23908 // probably Chrome or some old Mobile stock browser 23909 set = function (proto) { 23910 this.__proto__ = proto; // eslint-disable-line no-proto 23911 }; 23912 // please note that this will **not** work 23913 // in those browsers that do not inherit 23914 // __proto__ by mistake from Object.prototype 23915 // in these cases we should probably throw an error 23916 // or at least be informed about the issue 23917 setPrototypeOf.polyfill = setPrototypeOf( 23918 setPrototypeOf({}, null), 23919 Object.prototype 23920 ) instanceof Object; 23921 // setPrototypeOf.polyfill === true means it works as meant 23922 // setPrototypeOf.polyfill === false means it's not 100% reliable 23923 // setPrototypeOf.polyfill === undefined 23924 // or 23925 // setPrototypeOf.polyfill == null means it's not a polyfill 23926 // which means it works as expected 23927 // we can even delete Object.prototype.__proto__; 23928 } 23929 return setPrototypeOf; 23930 }(Object)) 23931 }; 23932 23933 defineProperties(Object, ES5ObjectShims); 23934 } 23935 23936 // Workaround bug in Opera 12 where setPrototypeOf(x, null) doesn't work, 23937 // but Object.create(null) does. 23938 if ( 23939 Object.setPrototypeOf 23940 && Object.getPrototypeOf 23941 && Object.getPrototypeOf(Object.setPrototypeOf({}, null)) !== null 23942 && Object.getPrototypeOf(Object.create(null)) === null 23943 ) { 23944 (function () { 23945 var FAKENULL = Object.create(null); 23946 var gpo = Object.getPrototypeOf; 23947 var spo = Object.setPrototypeOf; 23948 Object.getPrototypeOf = function (o) { 23949 var result = gpo(o); 23950 return result === FAKENULL ? null : result; 23951 }; 23952 Object.setPrototypeOf = function (o, p) { 23953 var proto = p === null ? FAKENULL : p; 23954 return spo(o, proto); 23955 }; 23956 Object.setPrototypeOf.polyfill = false; 23957 }()); 23958 } 23959 23960 var objectKeysAcceptsPrimitives = !throwsError(function () { return Object.keys('foo'); }); 23961 if (!objectKeysAcceptsPrimitives) { 23962 var originalObjectKeys = Object.keys; 23963 overrideNative(Object, 'keys', function keys(value) { 23964 return originalObjectKeys(ES.ToObject(value)); 23965 }); 23966 keys = Object.keys; 23967 } 23968 var objectKeysRejectsRegex = throwsError(function () { return Object.keys(/a/g); }); 23969 if (objectKeysRejectsRegex) { 23970 var regexRejectingObjectKeys = Object.keys; 23971 overrideNative(Object, 'keys', function keys(value) { 23972 if (Type.regex(value)) { 23973 var regexKeys = []; 23974 for (var k in value) { 23975 if (_hasOwnProperty(value, k)) { 23976 _push(regexKeys, k); 23977 } 23978 } 23979 return regexKeys; 23980 } 23981 return regexRejectingObjectKeys(value); 23982 }); 23983 keys = Object.keys; 23984 } 23985 23986 if (Object.getOwnPropertyNames) { 23987 var objectGOPNAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyNames('foo'); }); 23988 if (!objectGOPNAcceptsPrimitives) { 23989 var cachedWindowNames = typeof window === 'object' ? Object.getOwnPropertyNames(window) : []; 23990 var originalObjectGetOwnPropertyNames = Object.getOwnPropertyNames; 23991 overrideNative(Object, 'getOwnPropertyNames', function getOwnPropertyNames(value) { 23992 var val = ES.ToObject(value); 23993 if (_toString(val) === '[object Window]') { 23994 try { 23995 return originalObjectGetOwnPropertyNames(val); 23996 } catch (e) { 23997 // IE bug where layout engine calls userland gOPN for cross-domain `window` objects 23998 return _concat([], cachedWindowNames); 23999 } 24000 } 24001 return originalObjectGetOwnPropertyNames(val); 24002 }); 24003 } 24004 } 24005 if (Object.getOwnPropertyDescriptor) { 24006 var objectGOPDAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyDescriptor('foo', 'bar'); }); 24007 if (!objectGOPDAcceptsPrimitives) { 24008 var originalObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 24009 overrideNative(Object, 'getOwnPropertyDescriptor', function getOwnPropertyDescriptor(value, property) { 24010 return originalObjectGetOwnPropertyDescriptor(ES.ToObject(value), property); 24011 }); 24012 } 24013 } 24014 if (Object.seal) { 24015 var objectSealAcceptsPrimitives = !throwsError(function () { return Object.seal('foo'); }); 24016 if (!objectSealAcceptsPrimitives) { 24017 var originalObjectSeal = Object.seal; 24018 overrideNative(Object, 'seal', function seal(value) { 24019 if (!ES.TypeIsObject(value)) { return value; } 24020 return originalObjectSeal(value); 24021 }); 24022 } 24023 } 24024 if (Object.isSealed) { 24025 var objectIsSealedAcceptsPrimitives = !throwsError(function () { return Object.isSealed('foo'); }); 24026 if (!objectIsSealedAcceptsPrimitives) { 24027 var originalObjectIsSealed = Object.isSealed; 24028 overrideNative(Object, 'isSealed', function isSealed(value) { 24029 if (!ES.TypeIsObject(value)) { return true; } 24030 return originalObjectIsSealed(value); 24031 }); 24032 } 24033 } 24034 if (Object.freeze) { 24035 var objectFreezeAcceptsPrimitives = !throwsError(function () { return Object.freeze('foo'); }); 24036 if (!objectFreezeAcceptsPrimitives) { 24037 var originalObjectFreeze = Object.freeze; 24038 overrideNative(Object, 'freeze', function freeze(value) { 24039 if (!ES.TypeIsObject(value)) { return value; } 24040 return originalObjectFreeze(value); 24041 }); 24042 } 24043 } 24044 if (Object.isFrozen) { 24045 var objectIsFrozenAcceptsPrimitives = !throwsError(function () { return Object.isFrozen('foo'); }); 24046 if (!objectIsFrozenAcceptsPrimitives) { 24047 var originalObjectIsFrozen = Object.isFrozen; 24048 overrideNative(Object, 'isFrozen', function isFrozen(value) { 24049 if (!ES.TypeIsObject(value)) { return true; } 24050 return originalObjectIsFrozen(value); 24051 }); 24052 } 24053 } 24054 if (Object.preventExtensions) { 24055 var objectPreventExtensionsAcceptsPrimitives = !throwsError(function () { return Object.preventExtensions('foo'); }); 24056 if (!objectPreventExtensionsAcceptsPrimitives) { 24057 var originalObjectPreventExtensions = Object.preventExtensions; 24058 overrideNative(Object, 'preventExtensions', function preventExtensions(value) { 24059 if (!ES.TypeIsObject(value)) { return value; } 24060 return originalObjectPreventExtensions(value); 24061 }); 24062 } 24063 } 24064 if (Object.isExtensible) { 24065 var objectIsExtensibleAcceptsPrimitives = !throwsError(function () { return Object.isExtensible('foo'); }); 24066 if (!objectIsExtensibleAcceptsPrimitives) { 24067 var originalObjectIsExtensible = Object.isExtensible; 24068 overrideNative(Object, 'isExtensible', function isExtensible(value) { 24069 if (!ES.TypeIsObject(value)) { return false; } 24070 return originalObjectIsExtensible(value); 24071 }); 24072 } 24073 } 24074 if (Object.getPrototypeOf) { 24075 var objectGetProtoAcceptsPrimitives = !throwsError(function () { return Object.getPrototypeOf('foo'); }); 24076 if (!objectGetProtoAcceptsPrimitives) { 24077 var originalGetProto = Object.getPrototypeOf; 24078 overrideNative(Object, 'getPrototypeOf', function getPrototypeOf(value) { 24079 return originalGetProto(ES.ToObject(value)); 24080 }); 24081 } 24082 } 24083 24084 var hasFlags = supportsDescriptors && (function () { 24085 var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags'); 24086 return desc && ES.IsCallable(desc.get); 24087 }()); 24088 if (supportsDescriptors && !hasFlags) { 24089 var regExpFlagsGetter = function flags() { 24090 if (!ES.TypeIsObject(this)) { 24091 throw new TypeError('Method called on incompatible type: must be an object.'); 24092 } 24093 var result = ''; 24094 if (this.global) { 24095 result += 'g'; 24096 } 24097 if (this.ignoreCase) { 24098 result += 'i'; 24099 } 24100 if (this.multiline) { 24101 result += 'm'; 24102 } 24103 if (this.unicode) { 24104 result += 'u'; 24105 } 24106 if (this.sticky) { 24107 result += 'y'; 24108 } 24109 return result; 24110 }; 24111 24112 Value.getter(RegExp.prototype, 'flags', regExpFlagsGetter); 24113 } 24114 24115 var regExpSupportsFlagsWithRegex = supportsDescriptors && valueOrFalseIfThrows(function () { 24116 return String(new RegExp(/a/g, 'i')) === '/a/i'; 24117 }); 24118 var regExpNeedsToSupportSymbolMatch = hasSymbols && supportsDescriptors && (function () { 24119 // Edge 0.12 supports flags fully, but does not support Symbol.match 24120 var regex = /./; 24121 regex[Symbol.match] = false; 24122 return RegExp(regex) === regex; 24123 }()); 24124 24125 var regexToStringIsGeneric = valueOrFalseIfThrows(function () { 24126 return RegExp.prototype.toString.call({ source: 'abc' }) === '/abc/'; 24127 }); 24128 var regexToStringSupportsGenericFlags = regexToStringIsGeneric && valueOrFalseIfThrows(function () { 24129 return RegExp.prototype.toString.call({ source: 'a', flags: 'b' }) === '/a/b'; 24130 }); 24131 if (!regexToStringIsGeneric || !regexToStringSupportsGenericFlags) { 24132 var origRegExpToString = RegExp.prototype.toString; 24133 defineProperty(RegExp.prototype, 'toString', function toString() { 24134 var R = ES.RequireObjectCoercible(this); 24135 if (Type.regex(R)) { 24136 return _call(origRegExpToString, R); 24137 } 24138 var pattern = $String(R.source); 24139 var flags = $String(R.flags); 24140 return '/' + pattern + '/' + flags; 24141 }, true); 24142 Value.preserveToString(RegExp.prototype.toString, origRegExpToString); 24143 RegExp.prototype.toString.prototype = void 0; 24144 } 24145 24146 if (supportsDescriptors && (!regExpSupportsFlagsWithRegex || regExpNeedsToSupportSymbolMatch)) { 24147 var flagsGetter = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get; 24148 var sourceDesc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source') || {}; 24149 var legacySourceGetter = function () { 24150 // prior to it being a getter, it's own + nonconfigurable 24151 return this.source; 24152 }; 24153 var sourceGetter = ES.IsCallable(sourceDesc.get) ? sourceDesc.get : legacySourceGetter; 24154 24155 var OrigRegExp = RegExp; 24156 var RegExpShim = (function () { 24157 return function RegExp(pattern, flags) { 24158 var patternIsRegExp = ES.IsRegExp(pattern); 24159 var calledWithNew = this instanceof RegExp; 24160 if (!calledWithNew && patternIsRegExp && typeof flags === 'undefined' && pattern.constructor === RegExp) { 24161 return pattern; 24162 } 24163 24164 var P = pattern; 24165 var F = flags; 24166 if (Type.regex(pattern)) { 24167 P = ES.Call(sourceGetter, pattern); 24168 F = typeof flags === 'undefined' ? ES.Call(flagsGetter, pattern) : flags; 24169 return new RegExp(P, F); 24170 } else if (patternIsRegExp) { 24171 P = pattern.source; 24172 F = typeof flags === 'undefined' ? pattern.flags : flags; 24173 } 24174 return new OrigRegExp(pattern, flags); 24175 }; 24176 }()); 24177 wrapConstructor(OrigRegExp, RegExpShim, { 24178 $input: true // Chrome < v39 & Opera < 26 have a nonstandard "$input" property 24179 }); 24180 RegExp = RegExpShim; // eslint-disable-line no-global-assign 24181 Value.redefine(globals, 'RegExp', RegExpShim); 24182 } 24183 24184 if (supportsDescriptors) { 24185 var regexGlobals = { 24186 input: '$_', 24187 lastMatch: '$&', 24188 lastParen: '$+', 24189 leftContext: '$`', 24190 rightContext: '$\'' 24191 }; 24192 _forEach(keys(regexGlobals), function (prop) { 24193 if (prop in RegExp && !(regexGlobals[prop] in RegExp)) { 24194 Value.getter(RegExp, regexGlobals[prop], function get() { 24195 return RegExp[prop]; 24196 }); 24197 } 24198 }); 24199 } 24200 addDefaultSpecies(RegExp); 24201 24202 var inverseEpsilon = 1 / Number.EPSILON; 24203 var roundTiesToEven = function roundTiesToEven(n) { 24204 // Even though this reduces down to `return n`, it takes advantage of built-in rounding. 24205 return (n + inverseEpsilon) - inverseEpsilon; 24206 }; 24207 var BINARY_32_EPSILON = Math.pow(2, -23); 24208 var BINARY_32_MAX_VALUE = Math.pow(2, 127) * (2 - BINARY_32_EPSILON); 24209 var BINARY_32_MIN_VALUE = Math.pow(2, -126); 24210 var E = Math.E; 24211 var LOG2E = Math.LOG2E; 24212 var LOG10E = Math.LOG10E; 24213 var numberCLZ = Number.prototype.clz; 24214 delete Number.prototype.clz; // Safari 8 has Number#clz 24215 24216 var MathShims = { 24217 acosh: function acosh(value) { 24218 var x = Number(value); 24219 if (numberIsNaN(x) || value < 1) { return NaN; } 24220 if (x === 1) { return 0; } 24221 if (x === Infinity) { return x; } 24222 24223 var xInvSquared = 1 / (x * x); 24224 if (x < 2) { 24225 return _log1p(x - 1 + (_sqrt(1 - xInvSquared) * x)); 24226 } 24227 var halfX = x / 2; 24228 return _log1p(halfX + (_sqrt(1 - xInvSquared) * halfX) - 1) + (1 / LOG2E); 24229 }, 24230 24231 asinh: function asinh(value) { 24232 var x = Number(value); 24233 if (x === 0 || !globalIsFinite(x)) { 24234 return x; 24235 } 24236 24237 var a = _abs(x); 24238 var aSquared = a * a; 24239 var s = _sign(x); 24240 if (a < 1) { 24241 return s * _log1p(a + (aSquared / (_sqrt(aSquared + 1) + 1))); 24242 } 24243 return s * (_log1p((a / 2) + (_sqrt(1 + (1 / aSquared)) * a / 2) - 1) + (1 / LOG2E)); 24244 }, 24245 24246 atanh: function atanh(value) { 24247 var x = Number(value); 24248 24249 if (x === 0) { return x; } 24250 if (x === -1) { return -Infinity; } 24251 if (x === 1) { return Infinity; } 24252 if (numberIsNaN(x) || x < -1 || x > 1) { 24253 return NaN; 24254 } 24255 24256 var a = _abs(x); 24257 return _sign(x) * _log1p(2 * a / (1 - a)) / 2; 24258 }, 24259 24260 cbrt: function cbrt(value) { 24261 var x = Number(value); 24262 if (x === 0) { return x; } 24263 var negate = x < 0; 24264 var result; 24265 if (negate) { x = -x; } 24266 if (x === Infinity) { 24267 result = Infinity; 24268 } else { 24269 result = _exp(_log(x) / 3); 24270 // from http://en.wikipedia.org/wiki/Cube_root#Numerical_methods 24271 result = ((x / (result * result)) + (2 * result)) / 3; 24272 } 24273 return negate ? -result : result; 24274 }, 24275 24276 clz32: function clz32(value) { 24277 // See https://bugs.ecmascript.org/show_bug.cgi?id=2465 24278 var x = Number(value); 24279 var number = ES.ToUint32(x); 24280 if (number === 0) { 24281 return 32; 24282 } 24283 return numberCLZ ? ES.Call(numberCLZ, number) : 31 - _floor(_log(number + 0.5) * LOG2E); 24284 }, 24285 24286 cosh: function cosh(value) { 24287 var x = Number(value); 24288 if (x === 0) { return 1; } // +0 or -0 24289 if (numberIsNaN(x)) { return NaN; } 24290 if (!globalIsFinite(x)) { return Infinity; } 24291 24292 var t = _exp(_abs(x) - 1); 24293 return (t + (1 / (t * E * E))) * (E / 2); 24294 }, 24295 24296 expm1: function expm1(value) { 24297 var x = Number(value); 24298 if (x === -Infinity) { return -1; } 24299 if (!globalIsFinite(x) || x === 0) { return x; } 24300 if (_abs(x) > 0.5) { 24301 return _exp(x) - 1; 24302 } 24303 // A more precise approximation using Taylor series expansion 24304 // from https://github.com/paulmillr/es6-shim/issues/314#issuecomment-70293986 24305 var t = x; 24306 var sum = 0; 24307 var n = 1; 24308 while (sum + t !== sum) { 24309 sum += t; 24310 n += 1; 24311 t *= x / n; 24312 } 24313 return sum; 24314 }, 24315 24316 hypot: function hypot(x, y) { 24317 var result = 0; 24318 var largest = 0; 24319 for (var i = 0; i < arguments.length; ++i) { 24320 var value = _abs(Number(arguments[i])); 24321 if (largest < value) { 24322 result *= (largest / value) * (largest / value); 24323 result += 1; 24324 largest = value; 24325 } else { 24326 result += value > 0 ? (value / largest) * (value / largest) : value; 24327 } 24328 } 24329 return largest === Infinity ? Infinity : largest * _sqrt(result); 24330 }, 24331 24332 log2: function log2(value) { 24333 return _log(value) * LOG2E; 24334 }, 24335 24336 log10: function log10(value) { 24337 return _log(value) * LOG10E; 24338 }, 24339 24340 log1p: _log1p, 24341 24342 sign: _sign, 24343 24344 sinh: function sinh(value) { 24345 var x = Number(value); 24346 if (!globalIsFinite(x) || x === 0) { return x; } 24347 24348 var a = _abs(x); 24349 if (a < 1) { 24350 var u = Math.expm1(a); 24351 return _sign(x) * u * (1 + (1 / (u + 1))) / 2; 24352 } 24353 var t = _exp(a - 1); 24354 return _sign(x) * (t - (1 / (t * E * E))) * (E / 2); 24355 }, 24356 24357 tanh: function tanh(value) { 24358 var x = Number(value); 24359 if (numberIsNaN(x) || x === 0) { return x; } 24360 // can exit early at +-20 as JS loses precision for true value at this integer 24361 if (x >= 20) { return 1; } 24362 if (x <= -20) { return -1; } 24363 24364 return (Math.expm1(x) - Math.expm1(-x)) / (_exp(x) + _exp(-x)); 24365 }, 24366 24367 trunc: function trunc(value) { 24368 var x = Number(value); 24369 return x < 0 ? -_floor(-x) : _floor(x); 24370 }, 24371 24372 imul: function imul(x, y) { 24373 // taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul 24374 var a = ES.ToUint32(x); 24375 var b = ES.ToUint32(y); 24376 var ah = (a >>> 16) & 0xffff; 24377 var al = a & 0xffff; 24378 var bh = (b >>> 16) & 0xffff; 24379 var bl = b & 0xffff; 24380 // the shift by 0 fixes the sign on the high part 24381 // the final |0 converts the unsigned value into a signed value 24382 return (al * bl) + ((((ah * bl) + (al * bh)) << 16) >>> 0) | 0; 24383 }, 24384 24385 fround: function fround(x) { 24386 var v = Number(x); 24387 if (v === 0 || v === Infinity || v === -Infinity || numberIsNaN(v)) { 24388 return v; 24389 } 24390 var sign = _sign(v); 24391 var abs = _abs(v); 24392 if (abs < BINARY_32_MIN_VALUE) { 24393 return sign * roundTiesToEven(abs / BINARY_32_MIN_VALUE / BINARY_32_EPSILON) * BINARY_32_MIN_VALUE * BINARY_32_EPSILON; 24394 } 24395 // Veltkamp's splitting (?) 24396 var a = (1 + (BINARY_32_EPSILON / Number.EPSILON)) * abs; 24397 var result = a - (a - abs); 24398 if (result > BINARY_32_MAX_VALUE || numberIsNaN(result)) { 24399 return sign * Infinity; 24400 } 24401 return sign * result; 24402 } 24403 }; 24404 24405 var withinULPDistance = function withinULPDistance(result, expected, distance) { 24406 return _abs(1 - (result / expected)) / Number.EPSILON < (distance || 8); 24407 }; 24408 24409 defineProperties(Math, MathShims); 24410 // Chrome < 40 sinh returns â for large numbers 24411 defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(710) === Infinity); 24412 // Chrome < 40 cosh returns â for large numbers 24413 defineProperty(Math, 'cosh', MathShims.cosh, Math.cosh(710) === Infinity); 24414 // IE 11 TP has an imprecise log1p: reports Math.log1p(-1e-17) as 0 24415 defineProperty(Math, 'log1p', MathShims.log1p, Math.log1p(-1e-17) !== -1e-17); 24416 // IE 11 TP has an imprecise asinh: reports Math.asinh(-1e7) as not exactly equal to -Math.asinh(1e7) 24417 defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(-1e7) !== -Math.asinh(1e7)); 24418 // Chrome < 54 asinh returns â for large numbers and should not 24419 defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(1e+300) === Infinity); 24420 // Chrome < 54 atanh incorrectly returns 0 for large numbers 24421 defineProperty(Math, 'atanh', MathShims.atanh, Math.atanh(1e-300) === 0); 24422 // Chrome 40 has an imprecise Math.tanh with very small numbers 24423 defineProperty(Math, 'tanh', MathShims.tanh, Math.tanh(-2e-17) !== -2e-17); 24424 // Chrome 40 loses Math.acosh precision with high numbers 24425 defineProperty(Math, 'acosh', MathShims.acosh, Math.acosh(Number.MAX_VALUE) === Infinity); 24426 // Chrome < 54 has an inaccurate acosh for EPSILON deltas 24427 defineProperty(Math, 'acosh', MathShims.acosh, !withinULPDistance(Math.acosh(1 + Number.EPSILON), Math.sqrt(2 * Number.EPSILON))); 24428 // Firefox 38 on Windows 24429 defineProperty(Math, 'cbrt', MathShims.cbrt, !withinULPDistance(Math.cbrt(1e-300), 1e-100)); 24430 // node 0.11 has an imprecise Math.sinh with very small numbers 24431 defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(-2e-17) !== -2e-17); 24432 // FF 35 on Linux reports 22025.465794806725 for Math.expm1(10) 24433 var expm1OfTen = Math.expm1(10); 24434 defineProperty(Math, 'expm1', MathShims.expm1, expm1OfTen > 22025.465794806719 || expm1OfTen < 22025.4657948067165168); 24435 // node v12.11 - v12.15 report NaN 24436 defineProperty(Math, 'hypot', MathShims.hypot, Math.hypot(Infinity, NaN) !== Infinity); 24437 24438 var origMathRound = Math.round; 24439 // breaks in e.g. Safari 8, Internet Explorer 11, Opera 12 24440 var roundHandlesBoundaryConditions = Math.round(0.5 - (Number.EPSILON / 4)) === 0 24441 && Math.round(-0.5 + (Number.EPSILON / 3.99)) === 1; 24442 24443 // When engines use Math.floor(x + 0.5) internally, Math.round can be buggy for large integers. 24444 // This behavior should be governed by "round to nearest, ties to even mode" 24445 // see http://www.ecma-international.org/ecma-262/6.0/#sec-terms-and-definitions-number-type 24446 // These are the boundary cases where it breaks. 24447 var smallestPositiveNumberWhereRoundBreaks = inverseEpsilon + 1; 24448 var largestPositiveNumberWhereRoundBreaks = (2 * inverseEpsilon) - 1; 24449 var roundDoesNotIncreaseIntegers = [ 24450 smallestPositiveNumberWhereRoundBreaks, 24451 largestPositiveNumberWhereRoundBreaks 24452 ].every(function (num) { 24453 return Math.round(num) === num; 24454 }); 24455 defineProperty(Math, 'round', function round(x) { 24456 var floor = _floor(x); 24457 var ceil = floor === -1 ? -0 : floor + 1; 24458 return x - floor < 0.5 ? floor : ceil; 24459 }, !roundHandlesBoundaryConditions || !roundDoesNotIncreaseIntegers); 24460 Value.preserveToString(Math.round, origMathRound); 24461 24462 var origImul = Math.imul; 24463 if (Math.imul(0xffffffff, 5) !== -5) { 24464 // Safari 6.1, at least, reports "0" for this value 24465 Math.imul = MathShims.imul; 24466 Value.preserveToString(Math.imul, origImul); 24467 } 24468 if (Math.imul.length !== 2) { 24469 // Safari 8.0.4 has a length of 1 24470 // fixed in https://bugs.webkit.org/show_bug.cgi?id=143658 24471 overrideNative(Math, 'imul', function imul(x, y) { 24472 return ES.Call(origImul, Math, arguments); 24473 }); 24474 } 24475 24476 // Promises 24477 // Simplest possible implementation; use a 3rd-party library if you 24478 // want the best possible speed and/or long stack traces. 24479 var PromiseShim = (function () { 24480 var setTimeout = globals.setTimeout; 24481 // some environments don't have setTimeout - no way to shim here. 24482 if (typeof setTimeout !== 'function' && typeof setTimeout !== 'object') { return; } 24483 24484 ES.IsPromise = function (promise) { 24485 if (!ES.TypeIsObject(promise)) { 24486 return false; 24487 } 24488 if (typeof promise._promise === 'undefined') { 24489 return false; // uninitialized, or missing our hidden field. 24490 } 24491 return true; 24492 }; 24493 24494 // "PromiseCapability" in the spec is what most promise implementations 24495 // call a "deferred". 24496 var PromiseCapability = function (C) { 24497 if (!ES.IsConstructor(C)) { 24498 throw new TypeError('Bad promise constructor'); 24499 } 24500 var capability = this; 24501 var resolver = function (resolve, reject) { 24502 if (capability.resolve !== void 0 || capability.reject !== void 0) { 24503 throw new TypeError('Bad Promise implementation!'); 24504 } 24505 capability.resolve = resolve; 24506 capability.reject = reject; 24507 }; 24508 // Initialize fields to inform optimizers about the object shape. 24509 capability.resolve = void 0; 24510 capability.reject = void 0; 24511 capability.promise = new C(resolver); 24512 if (!(ES.IsCallable(capability.resolve) && ES.IsCallable(capability.reject))) { 24513 throw new TypeError('Bad promise constructor'); 24514 } 24515 }; 24516 24517 // find an appropriate setImmediate-alike 24518 var makeZeroTimeout; 24519 if (typeof window !== 'undefined' && ES.IsCallable(window.postMessage)) { 24520 makeZeroTimeout = function () { 24521 // from http://dbaron.org/log/20100309-faster-timeouts 24522 var timeouts = []; 24523 var messageName = 'zero-timeout-message'; 24524 var setZeroTimeout = function (fn) { 24525 _push(timeouts, fn); 24526 window.postMessage(messageName, '*'); 24527 }; 24528 var handleMessage = function (event) { 24529 if (event.source === window && event.data === messageName) { 24530 event.stopPropagation(); 24531 if (timeouts.length === 0) { return; } 24532 var fn = _shift(timeouts); 24533 fn(); 24534 } 24535 }; 24536 window.addEventListener('message', handleMessage, true); 24537 return setZeroTimeout; 24538 }; 24539 } 24540 var makePromiseAsap = function () { 24541 // An efficient task-scheduler based on a pre-existing Promise 24542 // implementation, which we can use even if we override the 24543 // global Promise below (in order to workaround bugs) 24544 // https://github.com/Raynos/observ-hash/issues/2#issuecomment-35857671 24545 var P = globals.Promise; 24546 var pr = P && P.resolve && P.resolve(); 24547 return pr && function (task) { 24548 return pr.then(task); 24549 }; 24550 }; 24551 var enqueue = ES.IsCallable(globals.setImmediate) 24552 ? globals.setImmediate 24553 : ( 24554 typeof process === 'object' && process.nextTick 24555 ? process.nextTick 24556 : makePromiseAsap() || (ES.IsCallable(makeZeroTimeout) ? makeZeroTimeout() : function (task) { setTimeout(task, 0); }) 24557 ); // fallback 24558 24559 // Constants for Promise implementation 24560 var PROMISE_IDENTITY = function (x) { return x; }; 24561 var PROMISE_THROWER = function (e) { throw e; }; 24562 var PROMISE_PENDING = 0; 24563 var PROMISE_FULFILLED = 1; 24564 var PROMISE_REJECTED = 2; 24565 // We store fulfill/reject handlers and capabilities in a single array. 24566 var PROMISE_FULFILL_OFFSET = 0; 24567 var PROMISE_REJECT_OFFSET = 1; 24568 var PROMISE_CAPABILITY_OFFSET = 2; 24569 // This is used in an optimization for chaining promises via then. 24570 var PROMISE_FAKE_CAPABILITY = {}; 24571 24572 var enqueuePromiseReactionJob = function (handler, capability, argument) { 24573 enqueue(function () { 24574 promiseReactionJob(handler, capability, argument); 24575 }); 24576 }; 24577 24578 var promiseReactionJob = function (handler, promiseCapability, argument) { 24579 var handlerResult, f; 24580 if (promiseCapability === PROMISE_FAKE_CAPABILITY) { 24581 // Fast case, when we don't actually need to chain through to a 24582 // (real) promiseCapability. 24583 return handler(argument); 24584 } 24585 try { 24586 handlerResult = handler(argument); 24587 f = promiseCapability.resolve; 24588 } catch (e) { 24589 handlerResult = e; 24590 f = promiseCapability.reject; 24591 } 24592 f(handlerResult); 24593 }; 24594 24595 var fulfillPromise = function (promise, value) { 24596 var _promise = promise._promise; 24597 var length = _promise.reactionLength; 24598 if (length > 0) { 24599 enqueuePromiseReactionJob( 24600 _promise.fulfillReactionHandler0, 24601 _promise.reactionCapability0, 24602 value 24603 ); 24604 _promise.fulfillReactionHandler0 = void 0; 24605 _promise.rejectReactions0 = void 0; 24606 _promise.reactionCapability0 = void 0; 24607 if (length > 1) { 24608 for (var i = 1, idx = 0; i < length; i++, idx += 3) { 24609 enqueuePromiseReactionJob( 24610 _promise[idx + PROMISE_FULFILL_OFFSET], 24611 _promise[idx + PROMISE_CAPABILITY_OFFSET], 24612 value 24613 ); 24614 promise[idx + PROMISE_FULFILL_OFFSET] = void 0; 24615 promise[idx + PROMISE_REJECT_OFFSET] = void 0; 24616 promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0; 24617 } 24618 } 24619 } 24620 _promise.result = value; 24621 _promise.state = PROMISE_FULFILLED; 24622 _promise.reactionLength = 0; 24623 }; 24624 24625 var rejectPromise = function (promise, reason) { 24626 var _promise = promise._promise; 24627 var length = _promise.reactionLength; 24628 if (length > 0) { 24629 enqueuePromiseReactionJob( 24630 _promise.rejectReactionHandler0, 24631 _promise.reactionCapability0, 24632 reason 24633 ); 24634 _promise.fulfillReactionHandler0 = void 0; 24635 _promise.rejectReactions0 = void 0; 24636 _promise.reactionCapability0 = void 0; 24637 if (length > 1) { 24638 for (var i = 1, idx = 0; i < length; i++, idx += 3) { 24639 enqueuePromiseReactionJob( 24640 _promise[idx + PROMISE_REJECT_OFFSET], 24641 _promise[idx + PROMISE_CAPABILITY_OFFSET], 24642 reason 24643 ); 24644 promise[idx + PROMISE_FULFILL_OFFSET] = void 0; 24645 promise[idx + PROMISE_REJECT_OFFSET] = void 0; 24646 promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0; 24647 } 24648 } 24649 } 24650 _promise.result = reason; 24651 _promise.state = PROMISE_REJECTED; 24652 _promise.reactionLength = 0; 24653 }; 24654 24655 var createResolvingFunctions = function (promise) { 24656 var alreadyResolved = false; 24657 var resolve = function (resolution) { 24658 var then; 24659 if (alreadyResolved) { return; } 24660 alreadyResolved = true; 24661 if (resolution === promise) { 24662 return rejectPromise(promise, new TypeError('Self resolution')); 24663 } 24664 if (!ES.TypeIsObject(resolution)) { 24665 return fulfillPromise(promise, resolution); 24666 } 24667 try { 24668 then = resolution.then; 24669 } catch (e) { 24670 return rejectPromise(promise, e); 24671 } 24672 if (!ES.IsCallable(then)) { 24673 return fulfillPromise(promise, resolution); 24674 } 24675 enqueue(function () { 24676 promiseResolveThenableJob(promise, resolution, then); 24677 }); 24678 }; 24679 var reject = function (reason) { 24680 if (alreadyResolved) { return; } 24681 alreadyResolved = true; 24682 return rejectPromise(promise, reason); 24683 }; 24684 return { resolve: resolve, reject: reject }; 24685 }; 24686 24687 var optimizedThen = function (then, thenable, resolve, reject) { 24688 // Optimization: since we discard the result, we can pass our 24689 // own then implementation a special hint to let it know it 24690 // doesn't have to create it. (The PROMISE_FAKE_CAPABILITY 24691 // object is local to this implementation and unforgeable outside.) 24692 if (then === Promise$prototype$then) { 24693 _call(then, thenable, resolve, reject, PROMISE_FAKE_CAPABILITY); 24694 } else { 24695 _call(then, thenable, resolve, reject); 24696 } 24697 }; 24698 var promiseResolveThenableJob = function (promise, thenable, then) { 24699 var resolvingFunctions = createResolvingFunctions(promise); 24700 var resolve = resolvingFunctions.resolve; 24701 var reject = resolvingFunctions.reject; 24702 try { 24703 optimizedThen(then, thenable, resolve, reject); 24704 } catch (e) { 24705 reject(e); 24706 } 24707 }; 24708 24709 var Promise$prototype, Promise$prototype$then; 24710 var Promise = (function () { 24711 var PromiseShim = function Promise(resolver) { 24712 if (!(this instanceof PromiseShim)) { 24713 throw new TypeError('Constructor Promise requires "new"'); 24714 } 24715 if (this && this._promise) { 24716 throw new TypeError('Bad construction'); 24717 } 24718 // see https://bugs.ecmascript.org/show_bug.cgi?id=2482 24719 if (!ES.IsCallable(resolver)) { 24720 throw new TypeError('not a valid resolver'); 24721 } 24722 var promise = emulateES6construct(this, PromiseShim, Promise$prototype, { 24723 _promise: { 24724 result: void 0, 24725 state: PROMISE_PENDING, 24726 // The first member of the "reactions" array is inlined here, 24727 // since most promises only have one reaction. 24728 // We've also exploded the 'reaction' object to inline the 24729 // "handler" and "capability" fields, since both fulfill and 24730 // reject reactions share the same capability. 24731 reactionLength: 0, 24732 fulfillReactionHandler0: void 0, 24733 rejectReactionHandler0: void 0, 24734 reactionCapability0: void 0 24735 } 24736 }); 24737 var resolvingFunctions = createResolvingFunctions(promise); 24738 var reject = resolvingFunctions.reject; 24739 try { 24740 resolver(resolvingFunctions.resolve, reject); 24741 } catch (e) { 24742 reject(e); 24743 } 24744 return promise; 24745 }; 24746 return PromiseShim; 24747 }()); 24748 Promise$prototype = Promise.prototype; 24749 24750 var _promiseAllResolver = function (index, values, capability, remaining) { 24751 var alreadyCalled = false; 24752 return function (x) { 24753 if (alreadyCalled) { return; } 24754 alreadyCalled = true; 24755 values[index] = x; 24756 if ((--remaining.count) === 0) { 24757 var resolve = capability.resolve; 24758 resolve(values); // call w/ this===undefined 24759 } 24760 }; 24761 }; 24762 24763 var performPromiseAll = function (iteratorRecord, C, resultCapability) { 24764 var it = iteratorRecord.iterator; 24765 var values = []; 24766 var remaining = { count: 1 }; 24767 var next, nextValue; 24768 var index = 0; 24769 while (true) { 24770 try { 24771 next = ES.IteratorStep(it); 24772 if (next === false) { 24773 iteratorRecord.done = true; 24774 break; 24775 } 24776 nextValue = next.value; 24777 } catch (e) { 24778 iteratorRecord.done = true; 24779 throw e; 24780 } 24781 values[index] = void 0; 24782 var nextPromise = C.resolve(nextValue); 24783 var resolveElement = _promiseAllResolver( 24784 index, 24785 values, 24786 resultCapability, 24787 remaining 24788 ); 24789 remaining.count += 1; 24790 optimizedThen(nextPromise.then, nextPromise, resolveElement, resultCapability.reject); 24791 index += 1; 24792 } 24793 if ((--remaining.count) === 0) { 24794 var resolve = resultCapability.resolve; 24795 resolve(values); // call w/ this===undefined 24796 } 24797 return resultCapability.promise; 24798 }; 24799 24800 var performPromiseRace = function (iteratorRecord, C, resultCapability) { 24801 var it = iteratorRecord.iterator; 24802 var next, nextValue, nextPromise; 24803 while (true) { 24804 try { 24805 next = ES.IteratorStep(it); 24806 if (next === false) { 24807 // NOTE: If iterable has no items, resulting promise will never 24808 // resolve; see: 24809 // https://github.com/domenic/promises-unwrapping/issues/75 24810 // https://bugs.ecmascript.org/show_bug.cgi?id=2515 24811 iteratorRecord.done = true; 24812 break; 24813 } 24814 nextValue = next.value; 24815 } catch (e) { 24816 iteratorRecord.done = true; 24817 throw e; 24818 } 24819 nextPromise = C.resolve(nextValue); 24820 optimizedThen(nextPromise.then, nextPromise, resultCapability.resolve, resultCapability.reject); 24821 } 24822 return resultCapability.promise; 24823 }; 24824 24825 defineProperties(Promise, { 24826 all: function all(iterable) { 24827 var C = this; 24828 if (!ES.TypeIsObject(C)) { 24829 throw new TypeError('Promise is not object'); 24830 } 24831 var capability = new PromiseCapability(C); 24832 var iterator, iteratorRecord; 24833 try { 24834 iterator = ES.GetIterator(iterable); 24835 iteratorRecord = { iterator: iterator, done: false }; 24836 return performPromiseAll(iteratorRecord, C, capability); 24837 } catch (e) { 24838 var exception = e; 24839 if (iteratorRecord && !iteratorRecord.done) { 24840 try { 24841 ES.IteratorClose(iterator, true); 24842 } catch (ee) { 24843 exception = ee; 24844 } 24845 } 24846 var reject = capability.reject; 24847 reject(exception); 24848 return capability.promise; 24849 } 24850 }, 24851 24852 race: function race(iterable) { 24853 var C = this; 24854 if (!ES.TypeIsObject(C)) { 24855 throw new TypeError('Promise is not object'); 24856 } 24857 var capability = new PromiseCapability(C); 24858 var iterator, iteratorRecord; 24859 try { 24860 iterator = ES.GetIterator(iterable); 24861 iteratorRecord = { iterator: iterator, done: false }; 24862 return performPromiseRace(iteratorRecord, C, capability); 24863 } catch (e) { 24864 var exception = e; 24865 if (iteratorRecord && !iteratorRecord.done) { 24866 try { 24867 ES.IteratorClose(iterator, true); 24868 } catch (ee) { 24869 exception = ee; 24870 } 24871 } 24872 var reject = capability.reject; 24873 reject(exception); 24874 return capability.promise; 24875 } 24876 }, 24877 24878 reject: function reject(reason) { 24879 var C = this; 24880 if (!ES.TypeIsObject(C)) { 24881 throw new TypeError('Bad promise constructor'); 24882 } 24883 var capability = new PromiseCapability(C); 24884 var rejectFunc = capability.reject; 24885 rejectFunc(reason); // call with this===undefined 24886 return capability.promise; 24887 }, 24888 24889 resolve: function resolve(v) { 24890 // See https://esdiscuss.org/topic/fixing-promise-resolve for spec 24891 var C = this; 24892 if (!ES.TypeIsObject(C)) { 24893 throw new TypeError('Bad promise constructor'); 24894 } 24895 if (ES.IsPromise(v)) { 24896 var constructor = v.constructor; 24897 if (constructor === C) { 24898 return v; 24899 } 24900 } 24901 var capability = new PromiseCapability(C); 24902 var resolveFunc = capability.resolve; 24903 resolveFunc(v); // call with this===undefined 24904 return capability.promise; 24905 } 24906 }); 24907 24908 defineProperties(Promise$prototype, { 24909 'catch': function (onRejected) { 24910 return this.then(null, onRejected); 24911 }, 24912 24913 then: function then(onFulfilled, onRejected) { 24914 var promise = this; 24915 if (!ES.IsPromise(promise)) { throw new TypeError('not a promise'); } 24916 var C = ES.SpeciesConstructor(promise, Promise); 24917 var resultCapability; 24918 var returnValueIsIgnored = arguments.length > 2 && arguments[2] === PROMISE_FAKE_CAPABILITY; 24919 if (returnValueIsIgnored && C === Promise) { 24920 resultCapability = PROMISE_FAKE_CAPABILITY; 24921 } else { 24922 resultCapability = new PromiseCapability(C); 24923 } 24924 // PerformPromiseThen(promise, onFulfilled, onRejected, resultCapability) 24925 // Note that we've split the 'reaction' object into its two 24926 // components, "capabilities" and "handler" 24927 // "capabilities" is always equal to `resultCapability` 24928 var fulfillReactionHandler = ES.IsCallable(onFulfilled) ? onFulfilled : PROMISE_IDENTITY; 24929 var rejectReactionHandler = ES.IsCallable(onRejected) ? onRejected : PROMISE_THROWER; 24930 var _promise = promise._promise; 24931 var value; 24932 if (_promise.state === PROMISE_PENDING) { 24933 if (_promise.reactionLength === 0) { 24934 _promise.fulfillReactionHandler0 = fulfillReactionHandler; 24935 _promise.rejectReactionHandler0 = rejectReactionHandler; 24936 _promise.reactionCapability0 = resultCapability; 24937 } else { 24938 var idx = 3 * (_promise.reactionLength - 1); 24939 _promise[idx + PROMISE_FULFILL_OFFSET] = fulfillReactionHandler; 24940 _promise[idx + PROMISE_REJECT_OFFSET] = rejectReactionHandler; 24941 _promise[idx + PROMISE_CAPABILITY_OFFSET] = resultCapability; 24942 } 24943 _promise.reactionLength += 1; 24944 } else if (_promise.state === PROMISE_FULFILLED) { 24945 value = _promise.result; 24946 enqueuePromiseReactionJob( 24947 fulfillReactionHandler, 24948 resultCapability, 24949 value 24950 ); 24951 } else if (_promise.state === PROMISE_REJECTED) { 24952 value = _promise.result; 24953 enqueuePromiseReactionJob( 24954 rejectReactionHandler, 24955 resultCapability, 24956 value 24957 ); 24958 } else { 24959 throw new TypeError('unexpected Promise state'); 24960 } 24961 return resultCapability.promise; 24962 } 24963 }); 24964 // This helps the optimizer by ensuring that methods which take 24965 // capabilities aren't polymorphic. 24966 PROMISE_FAKE_CAPABILITY = new PromiseCapability(Promise); 24967 Promise$prototype$then = Promise$prototype.then; 24968 24969 return Promise; 24970 }()); 24971 24972 // Chrome's native Promise has extra methods that it shouldn't have. Let's remove them. 24973 if (globals.Promise) { 24974 delete globals.Promise.accept; 24975 delete globals.Promise.defer; 24976 delete globals.Promise.prototype.chain; 24977 } 24978 24979 if (typeof PromiseShim === 'function') { 24980 // export the Promise constructor. 24981 defineProperties(globals, { Promise: PromiseShim }); 24982 // In Chrome 33 (and thereabouts) Promise is defined, but the 24983 // implementation is buggy in a number of ways. Let's check subclassing 24984 // support to see if we have a buggy implementation. 24985 var promiseSupportsSubclassing = supportsSubclassing(globals.Promise, function (S) { 24986 return S.resolve(42).then(function () {}) instanceof S; 24987 }); 24988 var promiseIgnoresNonFunctionThenCallbacks = !throwsError(function () { 24989 return globals.Promise.reject(42).then(null, 5).then(null, noop); 24990 }); 24991 var promiseRequiresObjectContext = throwsError(function () { return globals.Promise.call(3, noop); }); 24992 // Promise.resolve() was errata'ed late in the ES6 process. 24993 // See: https://bugzilla.mozilla.org/show_bug.cgi?id=1170742 24994 // https://code.google.com/p/v8/issues/detail?id=4161 24995 // It serves as a proxy for a number of other bugs in early Promise 24996 // implementations. 24997 var promiseResolveBroken = (function (Promise) { 24998 var p = Promise.resolve(5); 24999 p.constructor = {}; 25000 var p2 = Promise.resolve(p); 25001 try { 25002 p2.then(null, noop).then(null, noop); // avoid "uncaught rejection" warnings in console 25003 } catch (e) { 25004 return true; // v8 native Promises break here https://code.google.com/p/chromium/issues/detail?id=575314 25005 } 25006 return p === p2; // This *should* be false! 25007 }(globals.Promise)); 25008 25009 // Chrome 46 (probably older too) does not retrieve a thenable's .then synchronously 25010 var getsThenSynchronously = supportsDescriptors && (function () { 25011 var count = 0; 25012 // eslint-disable-next-line getter-return 25013 var thenable = Object.defineProperty({}, 'then', { get: function () { count += 1; } }); 25014 Promise.resolve(thenable); 25015 return count === 1; 25016 }()); 25017 25018 var BadResolverPromise = function BadResolverPromise(executor) { 25019 var p = new Promise(executor); 25020 executor(3, function () {}); 25021 this.then = p.then; 25022 this.constructor = BadResolverPromise; 25023 }; 25024 BadResolverPromise.prototype = Promise.prototype; 25025 BadResolverPromise.all = Promise.all; 25026 // Chrome Canary 49 (probably older too) has some implementation bugs 25027 var hasBadResolverPromise = valueOrFalseIfThrows(function () { 25028 return !!BadResolverPromise.all([1, 2]); 25029 }); 25030 25031 if ( 25032 !promiseSupportsSubclassing 25033 || !promiseIgnoresNonFunctionThenCallbacks 25034 || !promiseRequiresObjectContext 25035 || promiseResolveBroken 25036 || !getsThenSynchronously 25037 || hasBadResolverPromise 25038 ) { 25039 Promise = PromiseShim; // eslint-disable-line no-global-assign 25040 overrideNative(globals, 'Promise', PromiseShim); 25041 } 25042 if (Promise.all.length !== 1) { 25043 var origAll = Promise.all; 25044 overrideNative(Promise, 'all', function all(iterable) { 25045 return ES.Call(origAll, this, arguments); 25046 }); 25047 } 25048 if (Promise.race.length !== 1) { 25049 var origRace = Promise.race; 25050 overrideNative(Promise, 'race', function race(iterable) { 25051 return ES.Call(origRace, this, arguments); 25052 }); 25053 } 25054 if (Promise.resolve.length !== 1) { 25055 var origResolve = Promise.resolve; 25056 overrideNative(Promise, 'resolve', function resolve(x) { 25057 return ES.Call(origResolve, this, arguments); 25058 }); 25059 } 25060 if (Promise.reject.length !== 1) { 25061 var origReject = Promise.reject; 25062 overrideNative(Promise, 'reject', function reject(r) { 25063 return ES.Call(origReject, this, arguments); 25064 }); 25065 } 25066 ensureEnumerable(Promise, 'all'); 25067 ensureEnumerable(Promise, 'race'); 25068 ensureEnumerable(Promise, 'resolve'); 25069 ensureEnumerable(Promise, 'reject'); 25070 addDefaultSpecies(Promise); 25071 } 25072 25073 // Map and Set require a true ES5 environment 25074 // Their fast path also requires that the environment preserve 25075 // property insertion order, which is not guaranteed by the spec. 25076 var testOrder = function (a) { 25077 var b = keys(_reduce(a, function (o, k) { 25078 o[k] = true; 25079 return o; 25080 }, {})); 25081 return a.join(':') === b.join(':'); 25082 }; 25083 var preservesInsertionOrder = testOrder(['z', 'a', 'bb']); 25084 // some engines (eg, Chrome) only preserve insertion order for string keys 25085 var preservesNumericInsertionOrder = testOrder(['z', 1, 'a', '3', 2]); 25086 25087 if (supportsDescriptors) { 25088 25089 var fastkey = function fastkey(key, skipInsertionOrderCheck) { 25090 if (!skipInsertionOrderCheck && !preservesInsertionOrder) { 25091 return null; 25092 } 25093 if (isNullOrUndefined(key)) { 25094 return '^' + ES.ToString(key); 25095 } else if (typeof key === 'string') { 25096 return '$' + key; 25097 } else if (typeof key === 'number') { 25098 // note that -0 will get coerced to "0" when used as a property key 25099 if (!preservesNumericInsertionOrder) { 25100 return 'n' + key; 25101 } 25102 return key; 25103 } else if (typeof key === 'boolean') { 25104 return 'b' + key; 25105 } 25106 return null; 25107 }; 25108 25109 var emptyObject = function emptyObject() { 25110 // accomodate some older not-quite-ES5 browsers 25111 return Object.create ? Object.create(null) : {}; 25112 }; 25113 25114 var addIterableToMap = function addIterableToMap(MapConstructor, map, iterable) { 25115 if (isArray(iterable) || Type.string(iterable)) { 25116 _forEach(iterable, function (entry) { 25117 if (!ES.TypeIsObject(entry)) { 25118 throw new TypeError('Iterator value ' + entry + ' is not an entry object'); 25119 } 25120 map.set(entry[0], entry[1]); 25121 }); 25122 } else if (iterable instanceof MapConstructor) { 25123 _call(MapConstructor.prototype.forEach, iterable, function (value, key) { 25124 map.set(key, value); 25125 }); 25126 } else { 25127 var iter, adder; 25128 if (!isNullOrUndefined(iterable)) { 25129 adder = map.set; 25130 if (!ES.IsCallable(adder)) { throw new TypeError('bad map'); } 25131 iter = ES.GetIterator(iterable); 25132 } 25133 if (typeof iter !== 'undefined') { 25134 while (true) { 25135 var next = ES.IteratorStep(iter); 25136 if (next === false) { break; } 25137 var nextItem = next.value; 25138 try { 25139 if (!ES.TypeIsObject(nextItem)) { 25140 throw new TypeError('Iterator value ' + nextItem + ' is not an entry object'); 25141 } 25142 _call(adder, map, nextItem[0], nextItem[1]); 25143 } catch (e) { 25144 ES.IteratorClose(iter, true); 25145 throw e; 25146 } 25147 } 25148 } 25149 } 25150 }; 25151 var addIterableToSet = function addIterableToSet(SetConstructor, set, iterable) { 25152 if (isArray(iterable) || Type.string(iterable)) { 25153 _forEach(iterable, function (value) { 25154 set.add(value); 25155 }); 25156 } else if (iterable instanceof SetConstructor) { 25157 _call(SetConstructor.prototype.forEach, iterable, function (value) { 25158 set.add(value); 25159 }); 25160 } else { 25161 var iter, adder; 25162 if (!isNullOrUndefined(iterable)) { 25163 adder = set.add; 25164 if (!ES.IsCallable(adder)) { throw new TypeError('bad set'); } 25165 iter = ES.GetIterator(iterable); 25166 } 25167 if (typeof iter !== 'undefined') { 25168 while (true) { 25169 var next = ES.IteratorStep(iter); 25170 if (next === false) { break; } 25171 var nextValue = next.value; 25172 try { 25173 _call(adder, set, nextValue); 25174 } catch (e) { 25175 ES.IteratorClose(iter, true); 25176 throw e; 25177 } 25178 } 25179 } 25180 } 25181 }; 25182 25183 var collectionShims = { 25184 Map: (function () { 25185 25186 var empty = {}; 25187 25188 var MapEntry = function MapEntry(key, value) { 25189 this.key = key; 25190 this.value = value; 25191 this.next = null; 25192 this.prev = null; 25193 }; 25194 25195 MapEntry.prototype.isRemoved = function isRemoved() { 25196 return this.key === empty; 25197 }; 25198 25199 var isMap = function isMap(map) { 25200 return !!map._es6map; 25201 }; 25202 25203 var requireMapSlot = function requireMapSlot(map, method) { 25204 if (!ES.TypeIsObject(map) || !isMap(map)) { 25205 throw new TypeError('Method Map.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(map)); 25206 } 25207 }; 25208 25209 var MapIterator = function MapIterator(map, kind) { 25210 requireMapSlot(map, '[[MapIterator]]'); 25211 defineProperty(this, 'head', map._head); 25212 defineProperty(this, 'i', this.head); 25213 defineProperty(this, 'kind', kind); 25214 }; 25215 25216 MapIterator.prototype = { 25217 isMapIterator: true, 25218 next: function next() { 25219 if (!this.isMapIterator) { 25220 throw new TypeError('Not a MapIterator'); 25221 } 25222 var i = this.i; 25223 var kind = this.kind; 25224 var head = this.head; 25225 if (typeof this.i === 'undefined') { 25226 return iteratorResult(); 25227 } 25228 while (i.isRemoved() && i !== head) { 25229 // back up off of removed entries 25230 i = i.prev; 25231 } 25232 // advance to next unreturned element. 25233 var result; 25234 while (i.next !== head) { 25235 i = i.next; 25236 if (!i.isRemoved()) { 25237 if (kind === 'key') { 25238 result = i.key; 25239 } else if (kind === 'value') { 25240 result = i.value; 25241 } else { 25242 result = [i.key, i.value]; 25243 } 25244 this.i = i; 25245 return iteratorResult(result); 25246 } 25247 } 25248 // once the iterator is done, it is done forever. 25249 this.i = void 0; 25250 return iteratorResult(); 25251 } 25252 }; 25253 addIterator(MapIterator.prototype); 25254 25255 var Map$prototype; 25256 var MapShim = function Map() { 25257 if (!(this instanceof Map)) { 25258 throw new TypeError('Constructor Map requires "new"'); 25259 } 25260 if (this && this._es6map) { 25261 throw new TypeError('Bad construction'); 25262 } 25263 var map = emulateES6construct(this, Map, Map$prototype, { 25264 _es6map: true, 25265 _head: null, 25266 _map: OrigMap ? new OrigMap() : null, 25267 _size: 0, 25268 _storage: emptyObject() 25269 }); 25270 25271 var head = new MapEntry(null, null); 25272 // circular doubly-linked list. 25273 /* eslint no-multi-assign: 1 */ 25274 head.next = head.prev = head; 25275 map._head = head; 25276 25277 // Optionally initialize map from iterable 25278 if (arguments.length > 0) { 25279 addIterableToMap(Map, map, arguments[0]); 25280 } 25281 return map; 25282 }; 25283 Map$prototype = MapShim.prototype; 25284 25285 Value.getter(Map$prototype, 'size', function () { 25286 if (typeof this._size === 'undefined') { 25287 throw new TypeError('size method called on incompatible Map'); 25288 } 25289 return this._size; 25290 }); 25291 25292 defineProperties(Map$prototype, { 25293 get: function get(key) { 25294 requireMapSlot(this, 'get'); 25295 var entry; 25296 var fkey = fastkey(key, true); 25297 if (fkey !== null) { 25298 // fast O(1) path 25299 entry = this._storage[fkey]; 25300 if (entry) { 25301 return entry.value; 25302 } 25303 return; 25304 25305 } 25306 if (this._map) { 25307 // fast object key path 25308 entry = origMapGet.call(this._map, key); 25309 if (entry) { 25310 return entry.value; 25311 } 25312 return; 25313 25314 } 25315 var head = this._head; 25316 var i = head; 25317 while ((i = i.next) !== head) { 25318 if (ES.SameValueZero(i.key, key)) { 25319 return i.value; 25320 } 25321 } 25322 }, 25323 25324 has: function has(key) { 25325 requireMapSlot(this, 'has'); 25326 var fkey = fastkey(key, true); 25327 if (fkey !== null) { 25328 // fast O(1) path 25329 return typeof this._storage[fkey] !== 'undefined'; 25330 } 25331 if (this._map) { 25332 // fast object key path 25333 return origMapHas.call(this._map, key); 25334 } 25335 var head = this._head; 25336 var i = head; 25337 while ((i = i.next) !== head) { 25338 if (ES.SameValueZero(i.key, key)) { 25339 return true; 25340 } 25341 } 25342 return false; 25343 }, 25344 25345 set: function set(key, value) { 25346 requireMapSlot(this, 'set'); 25347 var head = this._head; 25348 var i = head; 25349 var entry; 25350 var fkey = fastkey(key, true); 25351 if (fkey !== null) { 25352 // fast O(1) path 25353 if (typeof this._storage[fkey] !== 'undefined') { 25354 this._storage[fkey].value = value; 25355 return this; 25356 } 25357 entry = this._storage[fkey] = new MapEntry(key, value); /* eslint no-multi-assign: 1 */ 25358 i = head.prev; 25359 // fall through 25360 25361 } else if (this._map) { 25362 // fast object key path 25363 if (origMapHas.call(this._map, key)) { 25364 origMapGet.call(this._map, key).value = value; 25365 } else { 25366 entry = new MapEntry(key, value); 25367 origMapSet.call(this._map, key, entry); 25368 i = head.prev; 25369 // fall through 25370 } 25371 } 25372 while ((i = i.next) !== head) { 25373 if (ES.SameValueZero(i.key, key)) { 25374 i.value = value; 25375 return this; 25376 } 25377 } 25378 entry = entry || new MapEntry(key, value); 25379 if (ES.SameValue(-0, key)) { 25380 entry.key = +0; // coerce -0 to +0 in entry 25381 } 25382 entry.next = this._head; 25383 entry.prev = this._head.prev; 25384 entry.prev.next = entry; 25385 entry.next.prev = entry; 25386 this._size += 1; 25387 return this; 25388 }, 25389 25390 'delete': function (key) { 25391 requireMapSlot(this, 'delete'); 25392 var head = this._head; 25393 var i = head; 25394 var fkey = fastkey(key, true); 25395 if (fkey !== null) { 25396 // fast O(1) path 25397 if (typeof this._storage[fkey] === 'undefined') { 25398 return false; 25399 } 25400 i = this._storage[fkey].prev; 25401 delete this._storage[fkey]; 25402 // fall through 25403 } else if (this._map) { 25404 // fast object key path 25405 if (!origMapHas.call(this._map, key)) { 25406 return false; 25407 } 25408 i = origMapGet.call(this._map, key).prev; 25409 origMapDelete.call(this._map, key); 25410 // fall through 25411 } 25412 while ((i = i.next) !== head) { 25413 if (ES.SameValueZero(i.key, key)) { 25414 i.key = empty; 25415 i.value = empty; 25416 i.prev.next = i.next; 25417 i.next.prev = i.prev; 25418 this._size -= 1; 25419 return true; 25420 } 25421 } 25422 return false; 25423 }, 25424 25425 clear: function clear() { 25426 /* eslint no-multi-assign: 1 */ 25427 requireMapSlot(this, 'clear'); 25428 this._map = OrigMap ? new OrigMap() : null; 25429 this._size = 0; 25430 this._storage = emptyObject(); 25431 var head = this._head; 25432 var i = head; 25433 var p = i.next; 25434 while ((i = p) !== head) { 25435 i.key = empty; 25436 i.value = empty; 25437 p = i.next; 25438 i.next = i.prev = head; 25439 } 25440 head.next = head.prev = head; 25441 }, 25442 25443 keys: function keys() { 25444 requireMapSlot(this, 'keys'); 25445 return new MapIterator(this, 'key'); 25446 }, 25447 25448 values: function values() { 25449 requireMapSlot(this, 'values'); 25450 return new MapIterator(this, 'value'); 25451 }, 25452 25453 entries: function entries() { 25454 requireMapSlot(this, 'entries'); 25455 return new MapIterator(this, 'key+value'); 25456 }, 25457 25458 forEach: function forEach(callback) { 25459 requireMapSlot(this, 'forEach'); 25460 var context = arguments.length > 1 ? arguments[1] : null; 25461 var it = this.entries(); 25462 for (var entry = it.next(); !entry.done; entry = it.next()) { 25463 if (context) { 25464 _call(callback, context, entry.value[1], entry.value[0], this); 25465 } else { 25466 callback(entry.value[1], entry.value[0], this); 25467 } 25468 } 25469 } 25470 }); 25471 addIterator(Map$prototype, Map$prototype.entries); 25472 25473 return MapShim; 25474 }()), 25475 25476 Set: (function () { 25477 var isSet = function isSet(set) { 25478 return set._es6set && typeof set._storage !== 'undefined'; 25479 }; 25480 var requireSetSlot = function requireSetSlot(set, method) { 25481 if (!ES.TypeIsObject(set) || !isSet(set)) { 25482 // https://github.com/paulmillr/es6-shim/issues/176 25483 throw new TypeError('Set.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(set)); 25484 } 25485 }; 25486 25487 // Creating a Map is expensive. To speed up the common case of 25488 // Sets containing only string or numeric keys, we use an object 25489 // as backing storage and lazily create a full Map only when 25490 // required. 25491 var Set$prototype; 25492 var SetShim = function Set() { 25493 if (!(this instanceof Set)) { 25494 throw new TypeError('Constructor Set requires "new"'); 25495 } 25496 if (this && this._es6set) { 25497 throw new TypeError('Bad construction'); 25498 } 25499 var set = emulateES6construct(this, Set, Set$prototype, { 25500 _es6set: true, 25501 '[[SetData]]': null, 25502 _storage: emptyObject() 25503 }); 25504 if (!set._es6set) { 25505 throw new TypeError('bad set'); 25506 } 25507 25508 // Optionally initialize Set from iterable 25509 if (arguments.length > 0) { 25510 addIterableToSet(Set, set, arguments[0]); 25511 } 25512 return set; 25513 }; 25514 Set$prototype = SetShim.prototype; 25515 25516 var decodeKey = function (key) { 25517 var k = key; 25518 if (k === '^null') { 25519 return null; 25520 } else if (k === '^undefined') { 25521 return void 0; 25522 } 25523 var first = k.charAt(0); 25524 if (first === '$') { 25525 return _strSlice(k, 1); 25526 } else if (first === 'n') { 25527 return +_strSlice(k, 1); 25528 } else if (first === 'b') { 25529 return k === 'btrue'; 25530 } 25531 25532 return +k; 25533 }; 25534 // Switch from the object backing storage to a full Map. 25535 var ensureMap = function ensureMap(set) { 25536 if (!set['[[SetData]]']) { 25537 var m = new collectionShims.Map(); 25538 set['[[SetData]]'] = m; 25539 _forEach(keys(set._storage), function (key) { 25540 var k = decodeKey(key); 25541 m.set(k, k); 25542 }); 25543 set['[[SetData]]'] = m; 25544 } 25545 set._storage = null; // free old backing storage 25546 }; 25547 25548 Value.getter(SetShim.prototype, 'size', function () { 25549 requireSetSlot(this, 'size'); 25550 if (this._storage) { 25551 return keys(this._storage).length; 25552 } 25553 ensureMap(this); 25554 return this['[[SetData]]'].size; 25555 }); 25556 25557 defineProperties(SetShim.prototype, { 25558 has: function has(key) { 25559 requireSetSlot(this, 'has'); 25560 var fkey; 25561 if (this._storage && (fkey = fastkey(key)) !== null) { 25562 return !!this._storage[fkey]; 25563 } 25564 ensureMap(this); 25565 return this['[[SetData]]'].has(key); 25566 }, 25567 25568 add: function add(key) { 25569 requireSetSlot(this, 'add'); 25570 var fkey; 25571 if (this._storage && (fkey = fastkey(key)) !== null) { 25572 this._storage[fkey] = true; 25573 return this; 25574 } 25575 ensureMap(this); 25576 this['[[SetData]]'].set(key, key); 25577 return this; 25578 }, 25579 25580 'delete': function (key) { 25581 requireSetSlot(this, 'delete'); 25582 var fkey; 25583 if (this._storage && (fkey = fastkey(key)) !== null) { 25584 var hasFKey = _hasOwnProperty(this._storage, fkey); 25585 return (delete this._storage[fkey]) && hasFKey; 25586 } 25587 ensureMap(this); 25588 return this['[[SetData]]']['delete'](key); 25589 }, 25590 25591 clear: function clear() { 25592 requireSetSlot(this, 'clear'); 25593 if (this._storage) { 25594 this._storage = emptyObject(); 25595 } 25596 if (this['[[SetData]]']) { 25597 this['[[SetData]]'].clear(); 25598 } 25599 }, 25600 25601 values: function values() { 25602 requireSetSlot(this, 'values'); 25603 ensureMap(this); 25604 return new SetIterator(this['[[SetData]]'].values()); 25605 }, 25606 25607 entries: function entries() { 25608 requireSetSlot(this, 'entries'); 25609 ensureMap(this); 25610 return new SetIterator(this['[[SetData]]'].entries()); 25611 }, 25612 25613 forEach: function forEach(callback) { 25614 requireSetSlot(this, 'forEach'); 25615 var context = arguments.length > 1 ? arguments[1] : null; 25616 var entireSet = this; 25617 ensureMap(entireSet); 25618 this['[[SetData]]'].forEach(function (value, key) { 25619 if (context) { 25620 _call(callback, context, key, key, entireSet); 25621 } else { 25622 callback(key, key, entireSet); 25623 } 25624 }); 25625 } 25626 }); 25627 defineProperty(SetShim.prototype, 'keys', SetShim.prototype.values, true); 25628 addIterator(SetShim.prototype, SetShim.prototype.values); 25629 25630 var SetIterator = function SetIterator(it) { 25631 defineProperty(this, 'it', it); 25632 }; 25633 SetIterator.prototype = { 25634 isSetIterator: true, 25635 next: function next() { 25636 if (!this.isSetIterator) { 25637 throw new TypeError('Not a SetIterator'); 25638 } 25639 return this.it.next(); 25640 } 25641 }; 25642 addIterator(SetIterator.prototype); 25643 25644 return SetShim; 25645 }()) 25646 }; 25647 25648 var isGoogleTranslate = globals.Set && !Set.prototype['delete'] && Set.prototype.remove && Set.prototype.items && Set.prototype.map && Array.isArray(new Set().keys); 25649 if (isGoogleTranslate) { 25650 // special-case force removal of wildly invalid Set implementation in Google Translate iframes 25651 // see https://github.com/paulmillr/es6-shim/issues/438 / https://twitter.com/ljharb/status/849335573114363904 25652 globals.Set = collectionShims.Set; 25653 } 25654 if (globals.Map || globals.Set) { 25655 // Safari 8, for example, doesn't accept an iterable. 25656 var mapAcceptsArguments = valueOrFalseIfThrows(function () { return new Map([[1, 2]]).get(1) === 2; }); 25657 if (!mapAcceptsArguments) { 25658 globals.Map = function Map() { 25659 if (!(this instanceof Map)) { 25660 throw new TypeError('Constructor Map requires "new"'); 25661 } 25662 var m = new OrigMap(); 25663 if (arguments.length > 0) { 25664 addIterableToMap(Map, m, arguments[0]); 25665 } 25666 delete m.constructor; 25667 Object.setPrototypeOf(m, globals.Map.prototype); 25668 return m; 25669 }; 25670 globals.Map.prototype = create(OrigMap.prototype); 25671 defineProperty(globals.Map.prototype, 'constructor', globals.Map, true); 25672 Value.preserveToString(globals.Map, OrigMap); 25673 } 25674 var testMap = new Map(); 25675 var mapUsesSameValueZero = (function () { 25676 // Chrome 38-42, node 0.11/0.12, iojs 1/2 also have a bug when the Map has a size > 4 25677 var m = new Map([[1, 0], [2, 0], [3, 0], [4, 0]]); 25678 m.set(-0, m); 25679 return m.get(0) === m && m.get(-0) === m && m.has(0) && m.has(-0); 25680 }()); 25681 var mapSupportsChaining = testMap.set(1, 2) === testMap; 25682 if (!mapUsesSameValueZero || !mapSupportsChaining) { 25683 overrideNative(Map.prototype, 'set', function set(k, v) { 25684 _call(origMapSet, this, k === 0 ? 0 : k, v); 25685 return this; 25686 }); 25687 } 25688 if (!mapUsesSameValueZero) { 25689 defineProperties(Map.prototype, { 25690 get: function get(k) { 25691 return _call(origMapGet, this, k === 0 ? 0 : k); 25692 }, 25693 has: function has(k) { 25694 return _call(origMapHas, this, k === 0 ? 0 : k); 25695 } 25696 }, true); 25697 Value.preserveToString(Map.prototype.get, origMapGet); 25698 Value.preserveToString(Map.prototype.has, origMapHas); 25699 } 25700 var testSet = new Set(); 25701 var setUsesSameValueZero = Set.prototype['delete'] && Set.prototype.add && Set.prototype.has && (function (s) { 25702 s['delete'](0); 25703 s.add(-0); 25704 return !s.has(0); 25705 }(testSet)); 25706 var setSupportsChaining = testSet.add(1) === testSet; 25707 if (!setUsesSameValueZero || !setSupportsChaining) { 25708 var origSetAdd = Set.prototype.add; 25709 Set.prototype.add = function add(v) { 25710 _call(origSetAdd, this, v === 0 ? 0 : v); 25711 return this; 25712 }; 25713 Value.preserveToString(Set.prototype.add, origSetAdd); 25714 } 25715 if (!setUsesSameValueZero) { 25716 var origSetHas = Set.prototype.has; 25717 Set.prototype.has = function has(v) { 25718 return _call(origSetHas, this, v === 0 ? 0 : v); 25719 }; 25720 Value.preserveToString(Set.prototype.has, origSetHas); 25721 var origSetDel = Set.prototype['delete']; 25722 Set.prototype['delete'] = function SetDelete(v) { 25723 return _call(origSetDel, this, v === 0 ? 0 : v); 25724 }; 25725 Value.preserveToString(Set.prototype['delete'], origSetDel); 25726 } 25727 var mapSupportsSubclassing = supportsSubclassing(globals.Map, function (M) { 25728 var m = new M([]); 25729 // Firefox 32 is ok with the instantiating the subclass but will 25730 // throw when the map is used. 25731 m.set(42, 42); 25732 return m instanceof M; 25733 }); 25734 // without Object.setPrototypeOf, subclassing is not possible 25735 var mapFailsToSupportSubclassing = Object.setPrototypeOf && !mapSupportsSubclassing; 25736 var mapRequiresNew = (function () { 25737 try { 25738 return !(globals.Map() instanceof globals.Map); 25739 } catch (e) { 25740 return e instanceof TypeError; 25741 } 25742 }()); 25743 if (globals.Map.length !== 0 || mapFailsToSupportSubclassing || !mapRequiresNew) { 25744 globals.Map = function Map() { 25745 if (!(this instanceof Map)) { 25746 throw new TypeError('Constructor Map requires "new"'); 25747 } 25748 var m = new OrigMap(); 25749 if (arguments.length > 0) { 25750 addIterableToMap(Map, m, arguments[0]); 25751 } 25752 delete m.constructor; 25753 Object.setPrototypeOf(m, Map.prototype); 25754 return m; 25755 }; 25756 globals.Map.prototype = OrigMap.prototype; 25757 defineProperty(globals.Map.prototype, 'constructor', globals.Map, true); 25758 Value.preserveToString(globals.Map, OrigMap); 25759 } 25760 var setSupportsSubclassing = supportsSubclassing(globals.Set, function (S) { 25761 var s = new S([]); 25762 s.add(42, 42); 25763 return s instanceof S; 25764 }); 25765 // without Object.setPrototypeOf, subclassing is not possible 25766 var setFailsToSupportSubclassing = Object.setPrototypeOf && !setSupportsSubclassing; 25767 var setRequiresNew = (function () { 25768 try { 25769 return !(globals.Set() instanceof globals.Set); 25770 } catch (e) { 25771 return e instanceof TypeError; 25772 } 25773 }()); 25774 if (globals.Set.length !== 0 || setFailsToSupportSubclassing || !setRequiresNew) { 25775 var OrigSet = globals.Set; 25776 globals.Set = function Set() { 25777 if (!(this instanceof Set)) { 25778 throw new TypeError('Constructor Set requires "new"'); 25779 } 25780 var s = new OrigSet(); 25781 if (arguments.length > 0) { 25782 addIterableToSet(Set, s, arguments[0]); 25783 } 25784 delete s.constructor; 25785 Object.setPrototypeOf(s, Set.prototype); 25786 return s; 25787 }; 25788 globals.Set.prototype = OrigSet.prototype; 25789 defineProperty(globals.Set.prototype, 'constructor', globals.Set, true); 25790 Value.preserveToString(globals.Set, OrigSet); 25791 } 25792 var newMap = new globals.Map(); 25793 var mapIterationThrowsStopIterator = !valueOrFalseIfThrows(function () { 25794 return newMap.keys().next().done; 25795 }); 25796 /* 25797 - In Firefox < 23, Map#size is a function. 25798 - In all current Firefox, Set#entries/keys/values & Map#clear do not exist 25799 - https://bugzilla.mozilla.org/show_bug.cgi?id=869996 25800 - In Firefox 24, Map and Set do not implement forEach 25801 - In Firefox 25 at least, Map and Set are callable without "new" 25802 */ 25803 if ( 25804 typeof globals.Map.prototype.clear !== 'function' 25805 || new globals.Set().size !== 0 25806 || newMap.size !== 0 25807 || typeof globals.Map.prototype.keys !== 'function' 25808 || typeof globals.Set.prototype.keys !== 'function' 25809 || typeof globals.Map.prototype.forEach !== 'function' 25810 || typeof globals.Set.prototype.forEach !== 'function' 25811 || isCallableWithoutNew(globals.Map) 25812 || isCallableWithoutNew(globals.Set) 25813 || typeof newMap.keys().next !== 'function' // Safari 8 25814 || mapIterationThrowsStopIterator // Firefox 25 25815 || !mapSupportsSubclassing 25816 ) { 25817 defineProperties(globals, { 25818 Map: collectionShims.Map, 25819 Set: collectionShims.Set 25820 }, true); 25821 } 25822 25823 if (globals.Set.prototype.keys !== globals.Set.prototype.values) { 25824 // Fixed in WebKit with https://bugs.webkit.org/show_bug.cgi?id=144190 25825 defineProperty(globals.Set.prototype, 'keys', globals.Set.prototype.values, true); 25826 } 25827 25828 // Shim incomplete iterator implementations. 25829 addIterator(Object.getPrototypeOf((new globals.Map()).keys())); 25830 addIterator(Object.getPrototypeOf((new globals.Set()).keys())); 25831 25832 if (functionsHaveNames && globals.Set.prototype.has.name !== 'has') { 25833 // Microsoft Edge v0.11.10074.0 is missing a name on Set#has 25834 var anonymousSetHas = globals.Set.prototype.has; 25835 overrideNative(globals.Set.prototype, 'has', function has(key) { 25836 return _call(anonymousSetHas, this, key); 25837 }); 25838 } 25839 } 25840 defineProperties(globals, collectionShims); 25841 addDefaultSpecies(globals.Map); 25842 addDefaultSpecies(globals.Set); 25843 } 25844 25845 var throwUnlessTargetIsObject = function throwUnlessTargetIsObject(target) { 25846 if (!ES.TypeIsObject(target)) { 25847 throw new TypeError('target must be an object'); 25848 } 25849 }; 25850 25851 // Some Reflect methods are basically the same as 25852 // those on the Object global, except that a TypeError is thrown if 25853 // target isn't an object. As well as returning a boolean indicating 25854 // the success of the operation. 25855 var ReflectShims = { 25856 // Apply method in a functional form. 25857 apply: function apply() { 25858 return ES.Call(ES.Call, null, arguments); 25859 }, 25860 25861 // New operator in a functional form. 25862 construct: function construct(constructor, args) { 25863 if (!ES.IsConstructor(constructor)) { 25864 throw new TypeError('First argument must be a constructor.'); 25865 } 25866 var newTarget = arguments.length > 2 ? arguments[2] : constructor; 25867 if (!ES.IsConstructor(newTarget)) { 25868 throw new TypeError('new.target must be a constructor.'); 25869 } 25870 return ES.Construct(constructor, args, newTarget, 'internal'); 25871 }, 25872 25873 // When deleting a non-existent or configurable property, 25874 // true is returned. 25875 // When attempting to delete a non-configurable property, 25876 // it will return false. 25877 deleteProperty: function deleteProperty(target, key) { 25878 throwUnlessTargetIsObject(target); 25879 if (supportsDescriptors) { 25880 var desc = Object.getOwnPropertyDescriptor(target, key); 25881 25882 if (desc && !desc.configurable) { 25883 return false; 25884 } 25885 } 25886 25887 // Will return true. 25888 return delete target[key]; 25889 }, 25890 25891 has: function has(target, key) { 25892 throwUnlessTargetIsObject(target); 25893 return key in target; 25894 } 25895 }; 25896 25897 if (Object.getOwnPropertyNames) { 25898 Object.assign(ReflectShims, { 25899 // Basically the result of calling the internal [[OwnPropertyKeys]]. 25900 // Concatenating propertyNames and propertySymbols should do the trick. 25901 // This should continue to work together with a Symbol shim 25902 // which overrides Object.getOwnPropertyNames and implements 25903 // Object.getOwnPropertySymbols. 25904 ownKeys: function ownKeys(target) { 25905 throwUnlessTargetIsObject(target); 25906 var keys = Object.getOwnPropertyNames(target); 25907 25908 if (ES.IsCallable(Object.getOwnPropertySymbols)) { 25909 _pushApply(keys, Object.getOwnPropertySymbols(target)); 25910 } 25911 25912 return keys; 25913 } 25914 }); 25915 } 25916 25917 var callAndCatchException = function ConvertExceptionToBoolean(func) { 25918 return !throwsError(func); 25919 }; 25920 25921 if (Object.preventExtensions) { 25922 Object.assign(ReflectShims, { 25923 isExtensible: function isExtensible(target) { 25924 throwUnlessTargetIsObject(target); 25925 return Object.isExtensible(target); 25926 }, 25927 preventExtensions: function preventExtensions(target) { 25928 throwUnlessTargetIsObject(target); 25929 return callAndCatchException(function () { 25930 return Object.preventExtensions(target); 25931 }); 25932 } 25933 }); 25934 } 25935 25936 if (supportsDescriptors) { 25937 var internalGet = function get(target, key, receiver) { 25938 var desc = Object.getOwnPropertyDescriptor(target, key); 25939 25940 if (!desc) { 25941 var parent = Object.getPrototypeOf(target); 25942 25943 if (parent === null) { 25944 return void 0; 25945 } 25946 25947 return internalGet(parent, key, receiver); 25948 } 25949 25950 if ('value' in desc) { 25951 return desc.value; 25952 } 25953 25954 if (desc.get) { 25955 return ES.Call(desc.get, receiver); 25956 } 25957 25958 return void 0; 25959 }; 25960 25961 var internalSet = function set(target, key, value, receiver) { 25962 var desc = Object.getOwnPropertyDescriptor(target, key); 25963 25964 if (!desc) { 25965 var parent = Object.getPrototypeOf(target); 25966 25967 if (parent !== null) { 25968 return internalSet(parent, key, value, receiver); 25969 } 25970 25971 desc = { 25972 value: void 0, 25973 writable: true, 25974 enumerable: true, 25975 configurable: true 25976 }; 25977 } 25978 25979 if ('value' in desc) { 25980 if (!desc.writable) { 25981 return false; 25982 } 25983 25984 if (!ES.TypeIsObject(receiver)) { 25985 return false; 25986 } 25987 25988 var existingDesc = Object.getOwnPropertyDescriptor(receiver, key); 25989 25990 if (existingDesc) { 25991 return Reflect.defineProperty(receiver, key, { 25992 value: value 25993 }); 25994 } 25995 return Reflect.defineProperty(receiver, key, { 25996 value: value, 25997 writable: true, 25998 enumerable: true, 25999 configurable: true 26000 }); 26001 26002 } 26003 26004 if (desc.set) { 26005 _call(desc.set, receiver, value); 26006 return true; 26007 } 26008 26009 return false; 26010 }; 26011 26012 Object.assign(ReflectShims, { 26013 defineProperty: function defineProperty(target, propertyKey, attributes) { 26014 throwUnlessTargetIsObject(target); 26015 return callAndCatchException(function () { 26016 return Object.defineProperty(target, propertyKey, attributes); 26017 }); 26018 }, 26019 26020 getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { 26021 throwUnlessTargetIsObject(target); 26022 return Object.getOwnPropertyDescriptor(target, propertyKey); 26023 }, 26024 26025 // Syntax in a functional form. 26026 get: function get(target, key) { 26027 throwUnlessTargetIsObject(target); 26028 var receiver = arguments.length > 2 ? arguments[2] : target; 26029 26030 return internalGet(target, key, receiver); 26031 }, 26032 26033 set: function set(target, key, value) { 26034 throwUnlessTargetIsObject(target); 26035 var receiver = arguments.length > 3 ? arguments[3] : target; 26036 26037 return internalSet(target, key, value, receiver); 26038 } 26039 }); 26040 } 26041 26042 if (Object.getPrototypeOf) { 26043 var objectDotGetPrototypeOf = Object.getPrototypeOf; 26044 ReflectShims.getPrototypeOf = function getPrototypeOf(target) { 26045 throwUnlessTargetIsObject(target); 26046 return objectDotGetPrototypeOf(target); 26047 }; 26048 } 26049 26050 if (Object.setPrototypeOf && ReflectShims.getPrototypeOf) { 26051 var willCreateCircularPrototype = function (object, lastProto) { 26052 var proto = lastProto; 26053 while (proto) { 26054 if (object === proto) { 26055 return true; 26056 } 26057 proto = ReflectShims.getPrototypeOf(proto); 26058 } 26059 return false; 26060 }; 26061 26062 Object.assign(ReflectShims, { 26063 // Sets the prototype of the given object. 26064 // Returns true on success, otherwise false. 26065 setPrototypeOf: function setPrototypeOf(object, proto) { 26066 throwUnlessTargetIsObject(object); 26067 if (proto !== null && !ES.TypeIsObject(proto)) { 26068 throw new TypeError('proto must be an object or null'); 26069 } 26070 26071 // If they already are the same, we're done. 26072 if (proto === Reflect.getPrototypeOf(object)) { 26073 return true; 26074 } 26075 26076 // Cannot alter prototype if object not extensible. 26077 if (Reflect.isExtensible && !Reflect.isExtensible(object)) { 26078 return false; 26079 } 26080 26081 // Ensure that we do not create a circular prototype chain. 26082 if (willCreateCircularPrototype(object, proto)) { 26083 return false; 26084 } 26085 26086 Object.setPrototypeOf(object, proto); 26087 26088 return true; 26089 } 26090 }); 26091 } 26092 var defineOrOverrideReflectProperty = function (key, shim) { 26093 if (!ES.IsCallable(globals.Reflect[key])) { 26094 defineProperty(globals.Reflect, key, shim); 26095 } else { 26096 var acceptsPrimitives = valueOrFalseIfThrows(function () { 26097 globals.Reflect[key](1); 26098 globals.Reflect[key](NaN); 26099 globals.Reflect[key](true); 26100 return true; 26101 }); 26102 if (acceptsPrimitives) { 26103 overrideNative(globals.Reflect, key, shim); 26104 } 26105 } 26106 }; 26107 Object.keys(ReflectShims).forEach(function (key) { 26108 defineOrOverrideReflectProperty(key, ReflectShims[key]); 26109 }); 26110 var originalReflectGetProto = globals.Reflect.getPrototypeOf; 26111 if (functionsHaveNames && originalReflectGetProto && originalReflectGetProto.name !== 'getPrototypeOf') { 26112 overrideNative(globals.Reflect, 'getPrototypeOf', function getPrototypeOf(target) { 26113 return _call(originalReflectGetProto, globals.Reflect, target); 26114 }); 26115 } 26116 if (globals.Reflect.setPrototypeOf) { 26117 if (valueOrFalseIfThrows(function () { 26118 globals.Reflect.setPrototypeOf(1, {}); 26119 return true; 26120 })) { 26121 overrideNative(globals.Reflect, 'setPrototypeOf', ReflectShims.setPrototypeOf); 26122 } 26123 } 26124 if (globals.Reflect.defineProperty) { 26125 if (!valueOrFalseIfThrows(function () { 26126 var basic = !globals.Reflect.defineProperty(1, 'test', { value: 1 }); 26127 // "extensible" fails on Edge 0.12 26128 var extensible = typeof Object.preventExtensions !== 'function' || !globals.Reflect.defineProperty(Object.preventExtensions({}), 'test', {}); 26129 return basic && extensible; 26130 })) { 26131 overrideNative(globals.Reflect, 'defineProperty', ReflectShims.defineProperty); 26132 } 26133 } 26134 if (globals.Reflect.construct) { 26135 if (!valueOrFalseIfThrows(function () { 26136 var F = function F() {}; 26137 return globals.Reflect.construct(function () {}, [], F) instanceof F; 26138 })) { 26139 overrideNative(globals.Reflect, 'construct', ReflectShims.construct); 26140 } 26141 } 26142 26143 if (String(new Date(NaN)) !== 'Invalid Date') { 26144 var dateToString = Date.prototype.toString; 26145 var shimmedDateToString = function toString() { 26146 var valueOf = +this; 26147 if (valueOf !== valueOf) { 26148 return 'Invalid Date'; 26149 } 26150 return ES.Call(dateToString, this); 26151 }; 26152 overrideNative(Date.prototype, 'toString', shimmedDateToString); 26153 } 26154 26155 // Annex B HTML methods 26156 // http://www.ecma-international.org/ecma-262/6.0/#sec-additional-properties-of-the-string.prototype-object 26157 var stringHTMLshims = { 26158 anchor: function anchor(name) { return ES.CreateHTML(this, 'a', 'name', name); }, 26159 big: function big() { return ES.CreateHTML(this, 'big', '', ''); }, 26160 blink: function blink() { return ES.CreateHTML(this, 'blink', '', ''); }, 26161 bold: function bold() { return ES.CreateHTML(this, 'b', '', ''); }, 26162 fixed: function fixed() { return ES.CreateHTML(this, 'tt', '', ''); }, 26163 fontcolor: function fontcolor(color) { return ES.CreateHTML(this, 'font', 'color', color); }, 26164 fontsize: function fontsize(size) { return ES.CreateHTML(this, 'font', 'size', size); }, 26165 italics: function italics() { return ES.CreateHTML(this, 'i', '', ''); }, 26166 link: function link(url) { return ES.CreateHTML(this, 'a', 'href', url); }, 26167 small: function small() { return ES.CreateHTML(this, 'small', '', ''); }, 26168 strike: function strike() { return ES.CreateHTML(this, 'strike', '', ''); }, 26169 sub: function sub() { return ES.CreateHTML(this, 'sub', '', ''); }, 26170 sup: function sub() { return ES.CreateHTML(this, 'sup', '', ''); } 26171 }; 26172 _forEach(Object.keys(stringHTMLshims), function (key) { 26173 var method = String.prototype[key]; 26174 var shouldOverwrite = false; 26175 if (ES.IsCallable(method)) { 26176 var output = _call(method, '', ' " '); 26177 var quotesCount = _concat([], output.match(/"/g)).length; 26178 shouldOverwrite = output !== output.toLowerCase() || quotesCount > 2; 26179 } else { 26180 shouldOverwrite = true; 26181 } 26182 if (shouldOverwrite) { 26183 overrideNative(String.prototype, key, stringHTMLshims[key]); 26184 } 26185 }); 26186 26187 var JSONstringifiesSymbols = (function () { 26188 // Microsoft Edge v0.12 stringifies Symbols incorrectly 26189 if (!hasSymbols) { return false; } // Symbols are not supported 26190 var stringify = typeof JSON === 'object' && typeof JSON.stringify === 'function' ? JSON.stringify : null; 26191 if (!stringify) { return false; } // JSON.stringify is not supported 26192 if (typeof stringify(Symbol()) !== 'undefined') { return true; } // Symbols should become `undefined` 26193 if (stringify([Symbol()]) !== '[null]') { return true; } // Symbols in arrays should become `null` 26194 var obj = { a: Symbol() }; 26195 obj[Symbol()] = true; 26196 if (stringify(obj) !== '{}') { return true; } // Symbol-valued keys *and* Symbol-valued properties should be omitted 26197 return false; 26198 }()); 26199 var JSONstringifyAcceptsObjectSymbol = valueOrFalseIfThrows(function () { 26200 // Chrome 45 throws on stringifying object symbols 26201 if (!hasSymbols) { return true; } // Symbols are not supported 26202 return JSON.stringify(Object(Symbol())) === '{}' && JSON.stringify([Object(Symbol())]) === '[{}]'; 26203 }); 26204 if (JSONstringifiesSymbols || !JSONstringifyAcceptsObjectSymbol) { 26205 var origStringify = JSON.stringify; 26206 overrideNative(JSON, 'stringify', function stringify(value) { 26207 if (typeof value === 'symbol') { return; } 26208 var replacer; 26209 if (arguments.length > 1) { 26210 replacer = arguments[1]; 26211 } 26212 var args = [value]; 26213 if (!isArray(replacer)) { 26214 var replaceFn = ES.IsCallable(replacer) ? replacer : null; 26215 var wrappedReplacer = function (key, val) { 26216 var parsedValue = replaceFn ? _call(replaceFn, this, key, val) : val; 26217 if (typeof parsedValue !== 'symbol') { 26218 if (Type.symbol(parsedValue)) { 26219 return assignTo({})(parsedValue); 26220 } 26221 return parsedValue; 26222 26223 } 26224 }; 26225 args.push(wrappedReplacer); 26226 } else { 26227 // create wrapped replacer that handles an array replacer? 26228 args.push(replacer); 26229 } 26230 if (arguments.length > 2) { 26231 args.push(arguments[2]); 26232 } 26233 return origStringify.apply(this, args); 26234 }); 26235 } 26236 26237 return globals; 26238})); 26239
26240/** 26241 * FormValidation (https://formvalidation.io) 26242 * The best validation library for JavaScript 26243 * (c) 2013 - 2023 Nguyen Huu Phuoc <[email protected]> 26244 * 26245 * @license https://formvalidation.io/license 26246 * @package @form-validation/bundle 26247 * @version 2.4.0 26248 */ 26249 26250!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).FormValidation={})}(this,(function(e){"use strict";var t,n={exports:{}},i={};n.exports=function(){if(t)return i;t=1;var e={luhn:function(e){for(var t=e.length,n=[[0,1,2,3,4,5,6,7,8,9],[0,2,4,6,8,1,3,5,7,9]],i=0,r=0;t--;)r+=n[i][parseInt(e.charAt(t),10)],i=1-i;return r%10==0&&r>0},mod11And10:function(e){for(var t=e.length,n=5,i=0;i<t;i++)n=(2*(n||10)%11+parseInt(e.charAt(i),10))%10;return 1===n},mod37And36:function(e,t){void 0===t&&(t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");for(var n=e.length,i=t.length,r=Math.floor(i/2),o=0;o<n;o++)r=(2*(r||i)%(i+1)+t.indexOf(e.charAt(o)))%i;return 1===r},mod97And10:function(e){for(var t=function(e){return e.split("").map((function(e){var t=e.charCodeAt(0);return t>=65&&t<=90?t-55:e})).join("").split("").map((function(e){return parseInt(e,10)}))}(e),n=0,i=t.length,r=0;r<i-1;++r)n=10*(n+t[r])%97;return(n+=t[i-1])%97==1},verhoeff:function(e){for(var t=[[0,1,2,3,4,5,6,7,8,9],[1,2,3,4,0,6,7,8,9,5],[2,3,4,0,1,7,8,9,5,6],[3,4,0,1,2,8,9,5,6,7],[4,0,1,2,3,9,5,6,7,8],[5,9,8,7,6,0,4,3,2,1],[6,5,9,8,7,1,0,4,3,2],[7,6,5,9,8,2,1,0,4,3],[8,7,6,5,9,3,2,1,0,4],[9,8,7,6,5,4,3,2,1,0]],n=[[0,1,2,3,4,5,6,7,8,9],[1,5,7,6,2,8,3,0,9,4],[5,8,0,3,7,9,6,1,4,2],[8,9,1,6,0,4,3,5,2,7],[9,4,5,3,1,2,6,8,7,0],[4,2,8,6,5,7,3,9,0,1],[2,7,9,3,8,0,6,4,1,5],[7,0,4,6,9,1,3,2,5,8]],i=e.reverse(),r=0,o=0;o<i.length;o++)r=t[r][n[o%8][i[o]]];return 0===r}},n=function(){function e(e,t){this.fields={},this.elements={},this.ee={fns:{},clear:function(){this.fns={}},emit:function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];(this.fns[e]||[]).map((function(e){return e.apply(e,t)}))},off:function(e,t){if(this.fns[e]){var n=this.fns[e].indexOf(t);n>=0&&this.fns[e].splice(n,1)}},on:function(e,t){(this.fns[e]=this.fns[e]||[]).push(t)}},this.filter={filters:{},add:function(e,t){(this.filters[e]=this.filters[e]||[]).push(t)},clear:function(){this.filters={}},execute:function(e,t,n){if(!this.filters[e]||!this.filters[e].length)return t;for(var i=t,r=this.filters[e],o=r.length,a=0;a<o;a++)i=r[a].apply(i,n);return i},remove:function(e,t){this.filters[e]&&(this.filters[e]=this.filters[e].filter((function(e){return e!==t})))}},this.plugins={},this.results=new Map,this.validators={},this.form=e,this.fields=t}return e.prototype.on=function(e,t){return this.ee.on(e,t),this},e.prototype.off=function(e,t){return this.ee.off(e,t),this},e.prototype.emit=function(e){for(var t,n=[],i=1;i<arguments.length;i++)n[i-1]=arguments[i];return(t=this.ee).emit.apply(t,function(e,t,n){if(n||2===arguments.length)for(var i,r=0,o=t.length;r<o;r++)!i&&r in t||(i||(i=Array.prototype.slice.call(t,0,r)),i[r]=t[r]);return e.concat(i||Array.prototype.slice.call(t))}([e],n,!1)),this},e.prototype.registerPlugin=function(e,t){if(this.plugins[e])throw new Error("The plguin ".concat(e," is registered"));return t.setCore(this),t.install(),this.plugins[e]=t,this},e.prototype.deregisterPlugin=function(e){var t=this.plugins[e];return t&&t.uninstall(),delete this.plugins[e],this},e.prototype.enablePlugin=function(e){var t=this.plugins[e];return t&&t.enable(),this},e.prototype.disablePlugin=function(e){var t=this.plugins[e];return t&&t.disable(),this},e.prototype.isPluginEnabled=function(e){var t=this.plugins[e];return!!t&&t.isPluginEnabled()},e.prototype.registerValidator=function(e,t){if(this.validators[e])throw new Error("The validator ".concat(e," is registered"));return this.validators[e]=t,this},e.prototype.registerFilter=function(e,t){return this.filter.add(e,t),this},e.prototype.deregisterFilter=function(e,t){return this.filter.remove(e,t),this},e.prototype.executeFilter=function(e,t,n){return this.filter.execute(e,t,n)},e.prototype.addField=function(e,t){var n=Object.assign({},{selector:"",validators:{}},t);return this.fields[e]=this.fields[e]?{selector:n.selector||this.fields[e].selector,validators:Object.assign({},this.fields[e].validators,n.validators)}
26250:n,this.elements[e]=this.queryElements(e),this.emit("core.field.added",{elements:this.elements[e],field:e,options:this.fields[e]}),this},e.prototype.removeField=function(e){if(!this.fields[e])throw new Error("The field ".concat(e," validators are not defined. Please ensure the field is added first"));var t=this.elements[e],n=this.fields[e];return delete this.elements[e],delete this.fields[e],this.emit("core.field.removed",{elements:t,field:e,options:n}),this},e.prototype.validate=function(){var e=this;return this.emit("core.form.validating",{formValidation:this}),this.filter.execute("validate-pre",Promise.resolve(),[]).then((function(){return Promise.all(Object.keys(e.fields).map((function(t){return e.validateField(t)}))).then((function(t){switch(!0){case-1!==t.indexOf("Invalid"):return e.emit("core.form.invalid",{formValidation:e}),Promise.resolve("Invalid");case-1!==t.indexOf("NotValidated"):return e.emit("core.form.notvalidated",{formValidation:e}),Promise.resolve("NotValidated");default:return e.emit("core.form.valid",{formValidation:e}),Promise.resolve("Valid")}}))}))},e.prototype.validateField=function(e){var t=this,n=this.results.get(e);if("Valid"===n||"Invalid"===n)return Promise.resolve(n);this.emit("core.field.validating",e);var i=this.elements[e];if(0===i.length)return this.emit("core.field.valid",e),Promise.resolve("Valid");var r=i[0].getAttribute("type");return"radio"===r||"checkbox"===r||1===i.length?this.validateElement(e,i[0]):Promise.all(i.map((function(n){return t.validateElement(e,n)}))).then((function(n){switch(!0){case-1!==n.indexOf("Invalid"):return t.emit("core.field.invalid",e),t.results.set(e,"Invalid"),Promise.resolve("Invalid");case-1!==n.indexOf("NotValidated"):return t.emit("core.field.notvalidated",e),t.results.delete(e),Promise.resolve("NotValidated");default:return t.emit("core.field.valid",e),t.results.set(e,"Valid"),Promise.resolve("Valid")}}))},e.prototype.validateElement=function(e,t){var n=this;this.results.delete(e);var i=this.elements[e];if(this.filter.execute("element-ignored",!1,[e,t,i]))return this.emit("core.element.ignored",{element:t,elements:i,field:e}),Promise.resolve("Ignored");var r=this.fields[e].validators;this.emit("core.element.validating",{element:t,elements:i,field:e});var o=Object.keys(r).map((function(i){return function(){return n.executeValidator(e,t,i,r[i])}}));return this.waterfall(o).then((function(r){var o=-1===r.indexOf("Invalid");n.emit("core.element.validated",{element:t,elements:i,field:e,valid:o});var a=t.getAttribute("type");return"radio"!==a&&"checkbox"!==a&&1!==i.length||n.emit(o?"core.field.valid":"core.field.invalid",e),Promise.resolve(o?"Valid":"Invalid")})).catch((function(r){return n.emit("core.element.notvalidated",{element:t,elements:i,field:e}),Promise.resolve(r)}))},e.prototype.executeValidator=function(e,t,n,i){var r=this,o=this.elements[e],a=this.filter.execute("validator-name",n,[n,e]);if(i.message=this.filter.execute("validator-message",i.message,[this.locale,e,a]),!this.validators[a]||!1===i.enabled)return this.emit("core.validator.validated",{element:t,elements:o,field:e,result:this.normalizeResult(e,a,{valid:!0}),validator:a}),Promise.resolve("Valid");var s=this.validators[a],l=this.getElementValue(e,t,a);if(!this.filter.execute("field-should-validate",!0,[e,t,l,n]))return this.emit("core.validator.notvalidated",{element:t,elements:o,field:e,validator:n}),Promise.resolve("NotValidated");this.emit("core.validator.validating",{element:t,elements:o,field:e,validator:n});var d=s().validate({element:t,elements:o,field:e,l10n:this.localization,options:i,value:l});if("function"==typeof d.then)return d.then((function(i){var a=r.normalizeResult(e,n,i);return r.emit("core.validator.validated",{element:t,elements:o,field:e,result:a,validator:n}),a.valid?"Valid":"Invalid"}));var c=this.normalizeResult(e,n,d);return this.emit("core.validator.validated",{element:t,elements:o,field:e,result:c,validator:n}),Promise.resolve(c.valid?"Valid":"Invalid")},e.prototype.getElementValue=function(e,t,n){var i=function(e,t,n,i){var r=(n.getAttribute("type")||"").toLowerCase(),o=n.tagName.toLowerCase();if("textarea"===o)return n.value;if("select"===o){var a=n,s=a.selectedIndex;return s>=0?a.options.item(s).value:""}if("input"===o){if("radio"===r||"checkbox"===r){var l=i.filter((function(e){return e.checked})).length;return 0===l?"":l+""}return n.value}return""}(this.form,0,t,this.elements[e]);return this.filter.execute("field-value",i,[i,e,t,n])},e.prototype.getElements=function(e){return this.elements[e]},e.prototype.getFields=function(){return this.fields},e.prototype.getFormElement=function(){return this.form},e.prototype.getLocale=function(){return this.locale},e.prototype.getPlugin=function(e){return this.plugins[e]},e.prototype.updateFieldStatus=function(e,t,n){var i=this,r=this.elements[e],o=r[0].getAttribute("type");if(("radio"===o||"checkbox"===o?[r[0]]:r).forEach((function(r){return i.updateElementStatus(e,r,t,n)}
26250)),n)"Invalid"===t&&(this.emit("core.field.invalid",e),this.results.set(e,"Invalid"));else switch(t){case"NotValidated":this.emit("core.field.notvalidated",e),this.results.delete(e);break;case"Validating":this.emit("core.field.validating",e),this.results.delete(e);break;case"Valid":this.emit("core.field.valid",e),this.results.set(e,"Valid");break;case"Invalid":this.emit("core.field.invalid",e),this.results.set(e,"Invalid")}return this},e.prototype.updateElementStatus=function(e,t,n,i){var r=this,o=this.elements[e],a=this.fields[e].validators,s=i?[i]:Object.keys(a);switch(n){case"NotValidated":s.forEach((function(n){return r.emit("core.validator.notvalidated",{element:t,elements:o,field:e,validator:n})})),this.emit("core.element.notvalidated",{element:t,elements:o,field:e});break;case"Validating":s.forEach((function(n){return r.emit("core.validator.validating",{element:t,elements:o,field:e,validator:n})})),this.emit("core.element.validating",{element:t,elements:o,field:e});break;case"Valid":s.forEach((function(n){return r.emit("core.validator.validated",{element:t,elements:o,field:e,result:{message:a[n].message,valid:!0},validator:n})})),this.emit("core.element.validated",{element:t,elements:o,field:e,valid:!0});break;case"Invalid":s.forEach((function(n){return r.emit("core.validator.validated",{element:t,elements:o,field:e,result:{message:a[n].message,valid:!1},validator:n})})),this.emit("core.element.validated",{element:t,elements:o,field:e,valid:!1})}return this},e.prototype.resetForm=function(e){var t=this;return Object.keys(this.fields).forEach((function(n){return t.resetField(n,e)})),this.emit("core.form.reset",{formValidation:this,reset:e}),this},e.prototype.resetField=function(e,t){if(t){var n=this.elements[e],i=n[0].getAttribute("type");n.forEach((function(e){"radio"===i||"checkbox"===i?(e.removeAttribute("selected"),e.removeAttribute("checked"),e.checked=!1):(e.setAttribute("value",""),(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&(e.value=""))}))}return this.updateFieldStatus(e,"NotValidated"),this.emit("core.field.reset",{field:e,reset:t}),this},e.prototype.revalidateField=function(e){return this.fields[e]?(this.updateFieldStatus(e,"NotValidated"),this.validateField(e)):Promise.resolve("Ignored")},e.prototype.disableValidator=function(e,t){if(!this.fields[e])return this;var n=this.elements[e];return this.toggleValidator(!1,e,t),this.emit("core.validator.disabled",{elements:n,field:e,formValidation:this,validator:t}),this},e.prototype.enableValidator=function(e,t){if(!this.fields[e])return this;var n=this.elements[e];return this.toggleValidator(!0,e,t),this.emit("core.validator.enabled",{elements:n,field:e,formValidation:this,validator:t}),this},e.prototype.updateValidatorOption=function(e,t,n,i){return this.fields[e]&&this.fields[e].validators&&this.fields[e].validators[t]&&(this.fields[e].validators[t][n]=i),this},e.prototype.setFieldOptions=function(e,t){return this.fields[e]=t,this},e.prototype.destroy=function(){var e=this;return Object.keys(this.plugins).forEach((function(t){return e.plugins[t].uninstall()})),this.ee.clear(),this.filter.clear(),this.results.clear(),this.plugins={},this},e.prototype.setLocale=function(e,t){return this.locale=e,this.localization=t,this},e.prototype.waterfall=function(e){return e.reduce((function(e,t){return e.then((function(e){return t().then((function(t){return e.push(t),e}))}))}),Promise.resolve([]))},e.prototype.queryElements=function(e){var t=this.fields[e].selector?"#"===this.fields[e].selector.charAt(0)?'[id="'.concat(this.fields[e].selector.substring(1),'"]'):this.fields[e].selector:'[name="'.concat(e.replace(/"/g,'\\"'),'"]');return[].slice.call(this.form.querySelectorAll(t))},e.prototype.normalizeResult=function(e,t,n){var i=this.fields[e].validators[t];return Object.assign({},n,{message:n.message||(i?i.message:"")||(this.localization&&this.localization[t]&&this.localization[t].default?this.localization[t].default:"")||"The field ".concat(e," is not valid")})},e.prototype.toggleValidator=function(e,t,n){var i=this,r=this.fields[t].validators;return n&&r&&r[n]?this.fields[t].validators[n].enabled=e:n||Object.keys(r).forEach((function(n){return i.fields[t].validators[n].enabled=e})),this.updateFieldStatus(t,"NotValidated",n)},e}(),r=function(){function e(e){this.opts=e,this.isEnabled=!0}return e.prototype.setCore=function(e){return this.core=e,this},e.prototype.enable=function(){return this.isEnabled=!0,this.onEnabled(),this},e.prototype.disable=function(){return this.isEnabled=!1,this.onDisabled(),this},e.prototype.isPluginEnabled=function(){return this.isEnabled},e.prototype.onEnabled=function(){},e.prototype.onDisabled=function(){},e.prototype.install=function(){},e.prototype.uninstall=function(){},e}(),o=function(e,t){var n=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;return n?n.call(e,t):[].slice.call(e.parentElement.querySelectorAll(t)).indexOf(e)>=0},a={call:function(e,t){if("function"==typeof e)return e.apply(this,t);if("string"==typeof e){var n=e;"()"===n.substring(n.length-2)&&(n=n.substring(0,n.length-2));for(var i=n.split("."),r=i.pop(),o=window,a=0,s=i;a<s.length;a++)o=o[s[a]];return void 0===o[r]?null:o[r].apply(this,t)}},classSet:function(e,t){var n=[],i=[];Object.keys(t).forEach((function(e){e&&(t[e]?n.push(e):i.push(e))}
26250)),i.forEach((function(t){return function(e,t){t.split(" ").forEach((function(t){e.classList?e.classList.remove(t):e.className=e.className.replace(t,"")}))}(e,t)})),n.forEach((function(t){return function(e,t){t.split(" ").forEach((function(t){e.classList?e.classList.add(t):" ".concat(e.className," ").indexOf(" ".concat(t," "))&&(e.className+=" ".concat(t))}))}(e,t)}))},closest:function(e,t){for(var n=e;n&&!o(n,t);)n=n.parentElement;return n},fetch:function(e,t){return new Promise((function(n,i){var r,o=Object.assign({},{crossDomain:!1,headers:{},method:"GET",params:{}},t),a=Object.keys(o.params).map((function(e){return"".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(o.params[e]))})).join("&"),s=e.indexOf("?")>-1,l="GET"===o.method?"".concat(e).concat(s?"&":"?").concat(a):e;if(o.crossDomain){var d=document.createElement("script"),c="___FormValidationFetch_".concat(Array(12).fill("").map((function(e){return Math.random().toString(36).charAt(2)})).join(""),"___");window[c]=function(e){delete window[c],n(e)},d.src="".concat(l).concat(s?"&":"?","callback=").concat(c),d.async=!0,d.addEventListener("load",(function(){d.parentNode.removeChild(d)})),d.addEventListener("error",(function(){return i})),document.head.appendChild(d)}else{var u=new XMLHttpRequest;u.open(o.method,l),u.setRequestHeader("X-Requested-With","XMLHttpRequest"),"POST"===o.method&&u.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),Object.keys(o.headers).forEach((function(e){return u.setRequestHeader(e,o.headers[e])})),u.addEventListener("load",(function(){n(JSON.parse(this.responseText))})),u.addEventListener("error",(function(){return i})),u.send((r=o.params,Object.keys(r).map((function(e){return"".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(r[e]))})).join("&")))}}))},format:function(e,t){var n=Array.isArray(t)?t:[t],i=e;return n.forEach((function(e){i=i.replace("%s",e)})),i},hasClass:function(e,t){return e.classList?e.classList.contains(t):new RegExp("(^| )".concat(t,"( |$)"),"gi").test(e.className)},isValidDate:function(e,t,n,i){if(isNaN(e)||isNaN(t)||isNaN(n))return!1;if(e<1e3||e>9999||t<=0||t>12)return!1;if(n<=0||n>[31,e%400==0||e%100!=0&&e%4==0?29:28,31,30,31,30,31,31,30,31,30,31][t-1])return!1;if(!0===i){var r=new Date,o=r.getFullYear(),a=r.getMonth(),s=r.getDate();return e<o||e===o&&t-1<a||e===o&&t-1===a&&n<s}return!0},removeUndefined:function(e){return e?Object.entries(e).reduce((function(e,t){var n=t[0],i=t[1];return void 0===i||(e[n]=i),e}),{}):{}}};return i.Plugin=r,i.algorithms=e,i.formValidation=function(e,t){var i=Object.assign({},{fields:{},locale:"en_US",plugins:{},init:function(e){}},t),r=new n(e,i.fields);return r.setLocale(i.locale,i.localization),Object.keys(i.plugins).forEach((function(e){return r.registerPlugin(e,i.plugins[e])})),i.init(r),Object.keys(i.fields).forEach((function(e){return r.addField(e,i.fields[e])})),r},i.utils=a,i}();var r,o=n.exports,a={exports:{}},s={};a.exports=function(){if(r)return s;r=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(e){var n=t.call(this,e)||this;return n.opts=e||{},n.validatorNameFilter=n.getValidatorName.bind(n),n}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){this.core.registerFilter("validator-name",this.validatorNameFilter)},n.prototype.uninstall=function(){this.core.deregisterFilter("validator-name",this.validatorNameFilter)},n.prototype.getValidatorName=function(e,t){return this.isEnabled&&this.opts[e]||e},n}(o.Plugin);return s.Alias=t,s}();var l,d=a.exports,c={exports:{}},u={};c.exports=function(){if(l)return u;l=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(){var e=t.call(this,{})||this;return e.elementValidatedHandler=e.onElementValidated.bind(e),e.fieldValidHandler=e.onFieldValid.bind(e),e.fieldInvalidHandler=e.onFieldInvalid.bind(e),e.messageDisplayedHandler=e.onMessageDisplayed.bind(e),e}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){this.core.on("core.field.valid",this.fieldValidHandler).on("core.field.invalid",this.fieldInvalidHandler).on("core.element.validated",this.elementValidatedHandler).on("plugins.message.displayed",this.messageDisplayedHandler)},n.prototype.uninstall=function(){this.core.off("core.field.valid",this.fieldValidHandler).off("core.field.invalid",this.fieldInvalidHandler).off("core.element.validated",this.elementValidatedHandler).off("plugins.message.displayed",this.messageDisplayedHandler)},n.prototype.onElementValidated=function(e){e.valid&&(e.element.setAttribute("aria-invalid","false"),e.element.removeAttribute("aria-describedby"))},n.prototype.onFieldValid=function(e){var t=this.core.getElements(e);t&&t.forEach((function(e){e.setAttribute("aria-invalid","false"),e.removeAttribute("aria-describedby")}))},n.prototype.onFieldInvalid=function(e){var t=this.core.getElements(e);t&&t.forEach((function(e){return e.setAttribute("aria-invalid","true")}))},n.prototype.onMessageDisplayed=function(e){e.messageElement.setAttribute("role","alert"),e.messageElement.setAttribute("aria-hidden","false");var t=this.core.getElements(e.field),n=t.indexOf(e.element),i="js-fv-".concat(e.field,"-").concat(n,"-").concat(Date.now(),"-message");e.messageElement.setAttribute("id",i),e.element.setAttribute("aria-describedby",i);var r=e.element.getAttribute("type");"radio"!==r&&"checkbox"!==r||t.forEach((function(e){return e.setAttribute("aria-describedby",i)}))},n}(o.Plugin);return u.Aria=t,u}();var f,p=c.exports,h={exports:{}},m={};h.exports=function(){if(f)return m;f=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(e){var n=t.call(this,e)||this;return n.addedFields=new Map,n.opts=Object.assign({},{html5Input:!1,pluginPrefix:"data-fvp-",prefix:"data-fv-"},e),n.fieldAddedHandler=n.onFieldAdded.bind(n),n.fieldRemovedHandler=n.onFieldRemoved.bind(n),n}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){var e=this;this.parsePlugins();var t=this.parseOptions();Object.keys(t).forEach((function(n){e.addedFields.has(n)||e.addedFields.set(n,!0),e.core.addField(n,t[n])})),this.core.on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler)},n.prototype.uninstall=function(){this.addedFields.clear(),this.core.off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler)},n.prototype.onFieldAdded=function(e){var t=this,n=e.elements;n&&0!==n.length&&!this.addedFields.has(e.field)&&(this.addedFields.set(e.field,!0),n.forEac
26250h((function(n){var i=t.parseElement(n);if(!t.isEmptyOption(i)){var r={selector:e.options.selector,validators:Object.assign({},e.options.validators||{},i.validators)};t.core.setFieldOptions(e.field,r)}})))},n.prototype.onFieldRemoved=function(e){e.field&&this.addedFields.has(e.field)&&this.addedFields.delete(e.field)},n.prototype.parseOptions=function(){var e=this,t=this.opts.prefix,n={},i=this.core.getFields(),r=this.core.getFormElement();return[].slice.call(r.querySelectorAll("[name], [".concat(t,"field]"))).forEach((function(i){var r=e.parseElement(i);if(!e.isEmptyOption(r)){var o=i.getAttribute("name")||i.getAttribute("".concat(t,"field"));n[o]=Object.assign({},n[o],r)}})),Object.keys(n).forEach((function(e){Object.keys(n[e].validators).forEach((function(t){n[e].validators[t].enabled=n[e].validators[t].enabled||!1,i[e]&&i[e].validators&&i[e].validators[t]&&Object.assign(n[e].validators[t],i[e].validators[t])}))})),Object.assign({},i,n)},n.prototype.createPluginInstance=function(e,t){for(var n=e.split("."),i=window||this,r=0,o=n.length;r<o;r++)i=i[n[r]];if("function"!=typeof i)throw new Error("the plugin ".concat(e," doesn't exist"));return new i(t)},n.prototype.parsePlugins=function(){for(var e,t=this,n=this.core.getFormElement(),i=new RegExp("^".concat(this.opts.pluginPrefix,"([a-z0-9-]+)(___)*([a-z0-9-]+)*$")),r=n.attributes.length,o={},a=0;a<r;a++){var s=n.attributes[a].name,l=n.attributes[a].value,d=i.exec(s);if(d&&4===d.length){var c=this.toCamelCase(d[1]);o[c]=Object.assign({},d[3]?((e={})[this.toCamelCase(d[3])]=l,e):{enabled:""===l||"true"===l},o[c])}}Object.keys(o).forEach((function(e){var n=o[e],i=n.enabled,r=n.class;if(i&&r){delete n.enabled,delete n.clazz;var a=t.createPluginInstance(r,n);t.core.registerPlugin(e,a)}}))},n.prototype.isEmptyOption=function(e){var t=e.validators;return 0===Object.keys(t).length&&t.constructor===Object},n.prototype.parseElement=function(e){for(var t=new RegExp("^".concat(this.opts.prefix,"([a-z0-9-]+)(___)*([a-z0-9-]+)*$")),n=e.attributes.length,i={},r=e.getAttribute("type"),o=0;o<n;o++){var a=e.attributes[o].name,s=e.attributes[o].value;if(this.opts.html5Input)switch(!0){case"minlength"===a:i.stringLength=Object.assign({},{enabled:!0,min:parseInt(s,10)},i.stringLength);break;case"maxlength"===a:i.stringLength=Object.assign({},{enabled:!0,max:parseInt(s,10)},i.stringLength);break;case"pattern"===a:i.regexp=Object.assign({},{enabled:!0,regexp:s},i.regexp);break;case"required"===a:i.notEmpty=Object.assign({},{enabled:!0},i.notEmpty);break;case"type"===a&&"color"===s:i.color=Object.assign({},{enabled:!0,type:"hex"},i.color);break;case"type"===a&&"email"===s:i.emailAddress=Object.assign({},{enabled:!0},i.emailAddress);break;case"type"===a&&"url"===s:i.uri=Object.assign({},{enabled:!0},i.uri);break;case"type"===a&&"range"===s:i.between=Object.assign({},{enabled:!0,max:parseFloat(e.getAttribute("max")),min:parseFloat(e.getAttribute("min"))},i.between);break;case"min"===a&&"date"!==r&&"range"!==r:i.greaterThan=Object.assign({},{enabled:!0,min:parseFloat(s)},i.greaterThan);break;case"max"===a&&"date"!==r&&"range"!==r:i.lessThan=Object.assign({},{enabled:!0,max:parseFloat(s)},i.lessThan)}var l=t.exec(a);if(l&&4===l.length){var d=this.toCamelCase(l[1]);i[d]||(i[d]={}),l[3]?i[d][this.toCamelCase(l[3])]=this.normalizeValue(s):!0===i[d].enabled&&!1===i[d].enabled||(i[d].enabled=""===s||"true"===s)}}return{validators:i}},n.prototype.normalizeValue=function(e){return"true"===e||""===e||"false"!==e&&e},n.prototype.toUpperCase=function(e){return e.charAt(1).toUpperCase()},n.prototype.toCamelCase=function(e){return e.replace(/-./g,this.toUpperCase)},n}(o.Plugin);return m.Declarative=t,m}();var v,g=h.exports,y={exports:{}},b={};y.exports=function(){if(v)return b;v=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(){var e=t.call(this,{})||this;return e.onValidHandler=e.onFormValid.bind(e),e}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){if(this.core.getFormElement().querySelectorAll('[type="submit"][name="submit"]').length)throw new Error("Do not use `submit` for the name attribute of submit button");this.core.on("core.form.valid",this.onValidHandler)},n.prototype.uninstall=function(){this.core.off("core.form.valid",this.onValidHandler)},n.prototype.onFormValid=function(){var e=this.core.getFormElement();this.isEnabled&&e instanceof HTMLFormElement&&e.submit()},n}(o.Plugin);return b.DefaultSubmit=t,b}();var E,x=y.exports,V={exports:{}},A={};V.exports=function(){if(E)return A;E=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(e){var n=t.call(this,e)||this;return n.opts=e||{},n.triggerExecutedHandler=n.onTriggerExecuted.bind(n),n}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){this.core.on("plugins.trigger.executed",this.triggerExecutedHandler)},n.prototype.uninstall=function(){this.core.off("plugins.trigger.executed",this.triggerExecutedHandler)},n.prototype.onTriggerExecuted=function(e){if(this.isEnabled&&this.opts[e.field])for(var t=0,n=this.opts[e.field].split(" ");t<n.length;t++){var i=n[t].trim();this.opts[i]&&this.core.revalidateField(i)}},n}(o.Plugin);return A.Dependency=t,A}();var w,F=V.exports,O={exports:{}},C={};O.exports=function(){if(w)return C;w=1;var e=o,t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)},n=e.utils.removeUndefined,i=function(e){function i(t){var r=e.call(this,t)||this;return r.opts=Object.assign({},{excluded:i.defaultIgnore},n(t)),r.ignoreValidationFilter=r.ignoreValidation.bind(r),r}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(i,e),i.defaultIgnore=function(e,t,n){var i=!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length),r=t.getAttribute("disabled");return""===r||"disabled"===r||"hidden"===t.getAttribute("type")||!i},i.prototype.install=function(){this.core.registerFilter("element-ignored",this.ignoreValidationFilter)},i.prototype.uninstall=function(){this.core.deregisterFilter("element-ignored",this.ignoreValidationFilter)},i.prototype.ignoreValidation=function(e,t,n){return!!this.isEnabled&&this.opts.excluded.apply(this,[e,t,n])},i}(e.Plugin);return C.Excluded=i,C}();var I,_=O.exports,H={exports:{}},S={};H.exports=function(){if(I)return S;I=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(e){var n=t.call(this,e)||this;return n.statuses=new Map,n.opts=Object.assign({},{onStatusChanged:function(){}},e),n.elementValidatingHandler=n.onElementValidating.bind(n),n.elementValidatedHandler=n.onElementValidated.bind(n),n.elementNotValidatedHandler=n.onElementNotValidated.bind(n),n.elementIgnoredH
26250andler=n.onElementIgnored.bind(n),n.fieldAddedHandler=n.onFieldAdded.bind(n),n.fieldRemovedHandler=n.onFieldRemoved.bind(n),n}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){this.core.on("core.element.validating",this.elementValidatingHandler).on("core.element.validated",this.elementValidatedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("core.element.ignored",this.elementIgnoredHandler).on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler)},n.prototype.uninstall=function(){this.statuses.clear(),this.core.off("core.element.validating",this.elementValidatingHandler).off("core.element.validated",this.elementValidatedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("core.element.ignored",this.elementIgnoredHandler).off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler)},n.prototype.areFieldsValid=function(){return Array.from(this.statuses.values()).every((function(e){return"Valid"===e||"NotValidated"===e||"Ignored"===e}))},n.prototype.getStatuses=function(){return this.isEnabled?this.statuses:new Map},n.prototype.onFieldAdded=function(e){this.statuses.set(e.field,"NotValidated")},n.prototype.onFieldRemoved=function(e){this.statuses.has(e.field)&&this.statuses.delete(e.field),this.handleStatusChanged(this.areFieldsValid())},n.prototype.onElementValidating=function(e){this.statuses.set(e.field,"Validating"),this.handleStatusChanged(!1)},n.prototype.onElementValidated=function(e){this.statuses.set(e.field,e.valid?"Valid":"Invalid"),e.valid?this.handleStatusChanged(this.areFieldsValid()):this.handleStatusChanged(!1)},n.prototype.onElementNotValidated=function(e){this.statuses.set(e.field,"NotValidated"),this.handleStatusChanged(!1)},n.prototype.onElementIgnored=function(e){this.statuses.set(e.field,"Ignored"),this.handleStatusChanged(this.areFieldsValid())},n.prototype.handleStatusChanged=function(e){this.isEnabled&&this.opts.onStatusChanged(e)},n}(o.Plugin);return S.FieldStatus=t,S}();var k,P=H.exports,j={exports:{}},N={},L={exports:{}},T={};L.exports=function(){if(k)return T;k=1;var e=o,t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)},n=e.utils.classSet,i=function(e){function i(t){var n=e.call(this,t)||this;return n.useDefaultContainer=!1,n.messages=new Map,n.defaultContainer=document.createElement("div"),n.useDefaultContainer=!t||!t.container,n.opts=Object.assign({},{container:function(e,t){return n.defaultContainer}},t),n.elementIgnoredHandler=n.onElementIgnored.bind(n),n.fieldAddedHandler=n.onFieldAdded.bind(n),n.fieldRemovedHandler=n.onFieldRemoved.bind(n),n.validatorValidatedHandler=n.onValidatorValidated.bind(n),n.validatorNotValidatedHandler=n.onValidatorNotValidated.bind(n),n}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(i,e),i.getClosestContainer=function(e,t,n){for(var i=e;i&&i!==t&&(i=i.parentElement,!n.test(i.className)););return i},i.prototype.install=function(){this.useDefaultContainer&&this.core.getFormElement().appendChild(this.defaultContainer),this.core.on("core.element.ignored",this.elementIgnoredHandler).on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler).on("core.validator.validated",this.validatorValidatedHandler).on("core.validator.notvalidated",this.validatorNotValidatedHandler)},i.prototype.uninstall=function(){this.useDefaultContainer&&this.core.getFormElement().removeChild(this.defaultContainer),this.messages.forEach((function(e){return e.parentNode.removeChild(e)})),this.messages.clear(),this.core.off("core.element.ignored",this.elementIgnoredH
26250andler).off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler).off("core.validator.validated",this.validatorValidatedHandler).off("core.validator.notvalidated",this.validatorNotValidatedHandler)},i.prototype.onEnabled=function(){this.messages.forEach((function(e,t,i){n(t,{"fv-plugins-message-container--enabled":!0,"fv-plugins-message-container--disabled":!1})}))},i.prototype.onDisabled=function(){this.messages.forEach((function(e,t,i){n(t,{"fv-plugins-message-container--enabled":!1,"fv-plugins-message-container--disabled":!0})}))},i.prototype.onFieldAdded=function(e){var t=this,n=e.elements;n&&(n.forEach((function(e){var n=t.messages.get(e);n&&(n.parentNode.removeChild(n),t.messages.delete(e))})),this.prepareFieldContainer(e.field,n))},i.prototype.onFieldRemoved=function(e){var t=this;if(e.elements.length&&e.field){var n=e.elements[0].getAttribute("type");("radio"===n||"checkbox"===n?[e.elements[0]]:e.elements).forEach((function(e){if(t.messages.has(e)){var n=t.messages.get(e);n.parentNode.removeChild(n),t.messages.delete(e)}}))}},i.prototype.prepareFieldContainer=function(e,t){var n=this;if(t.length){var i=t[0].getAttribute("type");"radio"===i||"checkbox"===i?this.prepareElementContainer(e,t[0],t):t.forEach((function(i){return n.prepareElementContainer(e,i,t)}))}},i.prototype.prepareElementContainer=function(e,t,i){var r;if("string"==typeof this.opts.container){var o="#"===this.opts.container.charAt(0)?'[id="'.concat(this.opts.container.substring(1),'"]'):this.opts.container;r=this.core.getFormElement().querySelector(o)}else r=this.opts.container(e,t);var a=document.createElement("div");r.appendChild(a),n(a,{"fv-plugins-message-container":!0,"fv-plugins-message-container--enabled":this.isEnabled,"fv-plugins-message-container--disabled":!this.isEnabled}),this.core.emit("plugins.message.placed",{element:t,elements:i,field:e,messageElement:a}),this.messages.set(t,a)},i.prototype.getMessage=function(e){return"string"==typeof e.message?e.message:e.message[this.core.getLocale()]},i.prototype.onValidatorValidated=function(e){var t,i=e.elements,r=e.element.getAttribute("type"),o=("radio"===r||"checkbox"===r)&&i.length>0?i[0]:e.element;if(this.messages.has(o)){var a=this.messages.get(o),s=a.querySelector('[data-field="'.concat(e.field.replace(/"/g,'\\"'),'"][data-validator="').concat(e.validator.replace(/"/g,'\\"'),'"]'));if(s||e.result.valid)s&&!e.result.valid?(s.innerHTML=this.getMessage(e.result),this.core.emit("plugins.message.displayed",{element:e.element,field:e.field,message:e.result.message,messageElement:s,meta:e.result.meta,validator:e.validator})):s&&e.result.valid&&a.removeChild(s);else{var l=document.createElement("div");l.innerHTML=this.getMessage(e.result),l.setAttribute("data-field",e.field),l.setAttribute("data-validator",e.validator),this.opts.clazz&&n(l,((t={})[this.opts.clazz]=!0,t)),a.appendChild(l),this.core.emit("plugins.message.displayed",{element:e.element,field:e.field,message:e.result.message,messageElement:l,meta:e.result.meta,validator:e.validator})}}},i.prototype.onValidatorNotValidated=function(e){var t=e.elements,n=e.element.getAttribute("type"),i="radio"===n||"checkbox"===n?t[0]:e.element;if(this.messages.has(i)){var r=this.messages.get(i),o=r.querySelector('[data-field="'.concat(e.field.replace(/"/g,'\\"'),'"][data-validator="').concat(e.validator.replace(/"/g,'\\"'),'"]'));o&&r.removeChild(o)}},i.prototype.onElementIgnored=function(e){var t=e.elements,n=e.element.getAttribute("type"),i="radio"===n||"checkbox"===n?t[0]:e.element;if(this.messages.has(i)){var r=this.messages.get(i);[].slice.call(r.querySelectorAll('[data-field="'.concat(e.field.replace(/"/g,'\\"'),'"]'))).forEach((function(e){r.removeChild(e)}))}},i}(e.Plugin);return T.Message=i,T}();var M,D=L.exports; 26251/** 26252 * FormValidation (https://formvalidation.io) 26253 * The best validation library for JavaScript 26254 * (c) 2013 - 2023 Nguyen Huu Phuoc <[email protected]> 26255 * 26256 * @license https://formvalidation.io/license 26257 * @package @form-validation/plugin-framework 26258 * @version 2.4.0 26259 */j.exports=function(){if(M)return N;M=1;
26259var e=o,t=D,n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},n(e,t)},i=e.utils.classSet,r=e.utils.closest,a=function(e){function o(t){var n=e.call(this,t)||this;return n.results=new Map,n.containers=new Map,n.opts=Object.assign({},{defaultMessageContainer:!0,eleInvalidClass:"",eleValidClass:"",rowClasses:"",rowValidatingClass:""},t),n.elementIgnoredHandler=n.onElementIgnored.bind(n),n.elementValidatingHandler=n.onElementValidating.bind(n),n.elementValidatedHandler=n.onElementValidated.bind(n),n.elementNotValidatedHandler=n.onElementNotValidated.bind(n),n.iconPlacedHandler=n.onIconPlaced.bind(n),n.fieldAddedHandler=n.onFieldAdded.bind(n),n.fieldRemovedHandler=n.onFieldRemoved.bind(n),n.messagePlacedHandler=n.onMessagePlaced.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}(o,e),o.prototype.install=function(){var e,n=this;i(this.core.getFormElement(),((e={})[this.opts.formClass]=!0,e["fv-plugins-framework"]=!0,e)),this.core.on("core.element.ignored",this.elementIgnoredHandler).on("core.element.validating",this.elementValidatingHandler).on("core.element.validated",this.elementValidatedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("plugins.icon.placed",this.iconPlacedHandler).on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler),this.opts.defaultMessageContainer&&(this.core.registerPlugin(o.MESSAGE_PLUGIN,new t.Message({clazz:this.opts.messageClass,container:function(e,i){var o="string"==typeof n.opts.rowSelector?n.opts.rowSelector:n.opts.rowSelector(e,i),a=r(i,o);return t.Message.getClosestContainer(i,a,n.opts.rowPattern)}})),this.core.on("plugins.message.placed",this.messagePlacedHandler))},o.prototype.uninstall=function(){var e;this.results.clear(),this.containers.clear(),i(this.core.getFormElement(),((e={})[this.opts.formClass]=!1,e["fv-plugins-framework"]=!1,e)),this.core.off("core.element.ignored",this.elementIgnoredHandler).off("core.element.validating",this.elementValidatingHandler).off("core.element.validated",this.elementValidatedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("plugins.icon.placed",this.iconPlacedHandler).off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler),this.opts.defaultMessageContainer&&(this.core.deregisterPlugin(o.MESSAGE_PLUGIN),this.core.off("plugins.message.placed",this.messagePlacedHandler))},o.prototype.onEnabled=function(){var e;i(this.core.getFormElement(),((e={})[this.opts.formClass]=!0,e)),this.opts.defaultMessageContainer&&this.core.enablePlugin(o.MESSAGE_PLUGIN)},o.prototype.onDisabled=function(){var e;i(this.core.getFormElement(),((e={})[this.opts.formClass]=!1,e)),this.opts.defaultMessageContainer&&this.core.disablePlugin(o.MESSAGE_PLUGIN)},o.prototype.onIconPlaced=function(e){},o.prototype.onMessagePlaced=function(e){},o.prototype.onFieldAdded=function(e){var t=this,n=e.elements;n&&(n.forEach((function(e){var n,r=t.containers.get(e);r&&(i(r,((n={})[t.opts.rowInvalidClass]=!1,n[t.opts.rowValidatingClass]=!1,n[t.opts.rowValidClass]=!1,n["fv-plugins-icon-container"]=!1,n)),t.containers.delete(e))})),this.prepareFieldContainer(e.field,n))},o.prototype.onFieldRemoved=function(e){var t=this;e.elements.forEach((function(e){var n,r=t.containers.get(e);r&&i(r,((n={})[t.opts.rowInvalidClass]=!1,n[t.opts.rowValidatingClass]=!1,n[t.opts.rowValidClass]=!1,n))}))},o.prototype.prepareFieldContainer=function(e,t){var n=this;if(t.length){var i=t[0].getAttribute("type");"radio"===i||"checkbox"===i?this.prepareElementContainer(e,t[0]):t.forEach((function(t){return n.prepareElementContainer(e,t)}))}},o.prototype.prepareElementContainer=function(e,t){var n,o="string"==typeof this.opts.rowSelector?this.opts.rowSelector:this.opts.rowSelector(e,t),a=r(t,o);a!==t&&(i(a,((n={}
26259)[this.opts.rowClasses]=!0,n["fv-plugins-icon-container"]=!0,n)),this.containers.set(t,a))},o.prototype.onElementValidating=function(e){this.removeClasses(e.element,e.elements)},o.prototype.onElementNotValidated=function(e){this.removeClasses(e.element,e.elements)},o.prototype.onElementIgnored=function(e){this.removeClasses(e.element,e.elements)},o.prototype.removeClasses=function(e,t){var n,r=this,o=e.getAttribute("type"),a="radio"===o||"checkbox"===o?t[0]:e;t.forEach((function(e){var t;i(e,((t={})[r.opts.eleValidClass]=!1,t[r.opts.eleInvalidClass]=!1,t))}));var s=this.containers.get(a);s&&i(s,((n={})[this.opts.rowInvalidClass]=!1,n[this.opts.rowValidatingClass]=!1,n[this.opts.rowValidClass]=!1,n))},o.prototype.onElementValidated=function(e){var t,n,r=this,o=e.elements,a=e.element.getAttribute("type"),s="radio"===a||"checkbox"===a?o[0]:e.element;o.forEach((function(t){var n;i(t,((n={})[r.opts.eleValidClass]=e.valid,n[r.opts.eleInvalidClass]=!e.valid,n))}));var l=this.containers.get(s);if(l)if(e.valid){this.results.delete(s);var d=!0;this.containers.forEach((function(e,t){e===l&&!1===r.results.get(t)&&(d=!1)})),d&&i(l,((n={})[this.opts.rowInvalidClass]=!1,n[this.opts.rowValidatingClass]=!1,n[this.opts.rowValidClass]=!0,n))}else this.results.set(s,!1),i(l,((t={})[this.opts.rowInvalidClass]=!0,t[this.opts.rowValidatingClass]=!1,t[this.opts.rowValidClass]=!1,t))},o.MESSAGE_PLUGIN="___frameworkMessage",o}(e.Plugin);return N.Framework=a,N}();var R,z=j.exports,U={exports:{}},B={};U.exports=function(){if(R)return B;R=1;var e=o,t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)},n=e.utils.classSet,i=function(e){function i(t){var n=e.call(this,t)||this;return n.icons=new Map,n.opts=Object.assign({},{invalid:"fv-plugins-icon--invalid",onPlaced:function(){},onSet:function(){},valid:"fv-plugins-icon--valid",validating:"fv-plugins-icon--validating"},t),n.elementValidatingHandler=n.onElementValidating.bind(n),n.elementValidatedHandler=n.onElementValidated.bind(n),n.elementNotValidatedHandler=n.onElementNotValidated.bind(n),n.elementIgnoredHandler=n.onElementIgnored.bind(n),n.fieldAddedHandler=n.onFieldAdded.bind(n),n}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(i,e),i.prototype.install=function(){this.core.on("core.element.validating",this.elementValidatingHandler).on("core.element.validated",this.elementValidatedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("core.element.ignored",this.elementIgnoredHandler).on("core.field.added",this.fieldAddedHandler)},i.prototype.uninstall=function(){this.icons.forEach((function(e){return e.parentNode.removeChild(e)})),this.icons.clear(),this.core.off("core.element.validating",this.elementValidatingHandler).off("core.element.validated",this.elementValidatedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("core.element.ignored",this.elementIgnoredHandler).off("core.field.added",this.fieldAddedHandler)},i.prototype.onEnabled=function(){this.icons.forEach((function(e,t,i){n(t,{"fv-plugins-icon--enabled":!0,"fv-plugins-icon--disabled":!1})}))},i.prototype.onDisabled=function(){this.icons.forEach((function(e,t,i){n(t,{"fv-plugins-icon--enabled":!1,"fv-plugins-icon--disabled":!0})}))},i.prototype.onFieldAdded=function(e){var t=this,n=e.elements;n&&(n.forEach((function(e){var n=t.icons.get(e);n&&(n.parentNode.removeChild(n),t.icons.delete(e))})),this.prepareFieldIcon(e.field,n))},i.prototype.prepareFieldIcon=function(e,t){var n=this;if(t.length){var i=t[0].getAttribute("type");"radio"===i||"checkbox"===i?this.prepareElementIcon(e,t[0]):t.forEach((function(t){return n.prepareElementIcon(e,t)}))}},i.prototype.prepareElementIcon=function(e,t){var i=document.createElement("i");i.setAttribute("data-field",e),t.parentNode.insertBefore(i,t.nextSibling),n(i,{"fv-plugins-icon":!0,"fv-plugins-icon--enabled":this.isEnabled,"fv-plugins-icon--disabled":!this.isEnabled});
26259var r={classes:{invalid:this.opts.invalid,valid:this.opts.valid,validating:this.opts.validating},element:t,field:e,iconElement:i};this.core.emit("plugins.icon.placed",r),this.opts.onPlaced(r),this.icons.set(t,i)},i.prototype.onElementValidating=function(e){var t,n=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!1,t[this.opts.valid]=!1,t[this.opts.validating]=!0,t)),i={element:e.element,field:e.field,iconElement:n,status:"Validating"};this.core.emit("plugins.icon.set",i),this.opts.onSet(i)},i.prototype.onElementValidated=function(e){var t,n=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!e.valid,t[this.opts.valid]=e.valid,t[this.opts.validating]=!1,t)),i={element:e.element,field:e.field,iconElement:n,status:e.valid?"Valid":"Invalid"};this.core.emit("plugins.icon.set",i),this.opts.onSet(i)},i.prototype.onElementNotValidated=function(e){var t,n=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!1,t[this.opts.valid]=!1,t[this.opts.validating]=!1,t)),i={element:e.element,field:e.field,iconElement:n,status:"NotValidated"};this.core.emit("plugins.icon.set",i),this.opts.onSet(i)},i.prototype.onElementIgnored=function(e){var t,n=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!1,t[this.opts.valid]=!1,t[this.opts.validating]=!1,t)),i={element:e.element,field:e.field,iconElement:n,status:"Ignored"};this.core.emit("plugins.icon.set",i),this.opts.onSet(i)},i.prototype.setClasses=function(e,t,i,r){var o=t.getAttribute("type"),a="radio"===o||"checkbox"===o?i[0]:t;if(this.icons.has(a)){var s=this.icons.get(a);return n(s,r),s}return null},i}(e.Plugin);return B.Icon=i,B}();var Y,q=U.exports,G={exports:{}},Z={};G.exports=function(){if(Y)return Z;Y=1;var e=o,t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)},n=e.utils.removeUndefined,i=function(e){function i(t){var i=e.call(this,t)||this;return i.invalidFields=new Map,i.opts=Object.assign({},{enabled:!0},n(t)),i.validatorHandler=i.onValidatorValidated.bind(i),i.shouldValidateFilter=i.shouldValidate.bind(i),i.fieldAddedHandler=i.onFieldAdded.bind(i),i.elementNotValidatedHandler=i.onElementNotValidated.bind(i),i.elementValidatingHandler=i.onElementValidating.bind(i),i}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(i,e),i.prototype.install=function(){this.core.on("core.validator.validated",this.validatorHandler).on("core.field.added",this.fieldAddedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("core.element.validating",this.elementValidatingHandler).registerFilter("field-should-validate",this.shouldValidateFilter)},i.prototype.uninstall=function(){this.invalidFields.clear(),this.core.off("core.validator.validated",this.validatorHandler).off("core.field.added",this.fieldAddedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("core.element.validating",this.elementValidatingHandler).deregisterFilter("field-should-validate",this.shouldValidateFilter)},i.prototype.shouldValidate=function(e,t,n,i){return!this.isEnabled||!((!0===this.opts.enabled||!0===this.opts.enabled[e])&&this.invalidFields.has(t)&&this.invalidFields.get(t).length&&-1===this.invalidFields.get(t).indexOf(i))},i.prototype.onValidatorValidated=function(e){var t=this.invalidFields.has(e.element)?this.invalidFields.get(e.element):[],n=t.indexOf(e.validator);e.result.valid&&n>=0?t.splice(n,1):e.result.valid||-1!==n||t.push(e.validator),this.invalidFields.set(e.element,t)},i.prototype.onFieldAdded=function(e){e.elements&&this.clearInvalidFields(e.elements)},i.prototype.onElementNotValidated=function(e){this.clearInvalidFields(e.elements)},i.prototype.onElementValidating=function(e){this.clearInvalidFields(e.elements)},i.prototype.clearInvalidFields=function(e){var t=this;e.forEach((function(e){return t.invalidFields.delete(e)}))},i}(e.Plugin);return Z.Sequence=i,Z}();var $,X=G.exports,J={exports:{}},K={};J.exports=function(){if($)return K;$=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(e){var n=t.call(this,e)||this;return n.isFormValid=!1,n.isButtonClicked=!1,n.opts=Object.assign({},{aspNetButton:!1,buttons:function(e){return[].slice.call(e.querySelectorAll('[type="submit"]:not([formnovalidate])'))},liveMode:!0},e),n.submitHandler=n.handleSubmitEvent.bind(n),n.buttonClickHandler=n.handleClickEvent.bind(n),n.ignoreValidationFilter=n.ignoreValidation.bind(n),n}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){var e=this;if(this.core.getFormElement()instanceof HTMLFormElement){var t=this.core.getFormElement();this.submitButtons=this.opts.buttons(t),t.setAttribute("novalidate","novalidate"),t.addEventListener("submit",this.submitHandler),this.hiddenClickedEle=document.createElement("input"),this.hiddenClickedEle.setAttribute("type","hidden"),t.appendChild(this.hiddenClickedEle),this.submitButtons.forEach((function(t){t.addEventListener("click",e.buttonClickHandler)})),this.core.registerFilter("element-ignored",this.ignoreValidationFilter)}},n.prototype.uninstall=function(){var e=this,t=this.core.getFormElement();t instanceof HTMLFormElement&&t.removeEventListener("submit",this.submitHandler),this.submitButtons.forEach((function(t){t.removeEventListener("click",e.buttonClickHandler)})),this.hiddenClickedEle.parentElement.removeChild(this.hiddenClickedEle),this.core.deregisterFilter("element-ignored",this.ignoreValidationFilter)},n.prototype.handleSubmitEvent=function(e){this.validateForm(e)},n.prototype.handleClickEvent=function(e){var t=e.currentTarget;if(this.isButtonClicked=!0,t instanceof HTMLElement)if(this.opts.aspNetButton&&!0===this.isFormValid);else{this.core.getFormElement().removeEventListener("submit",this.submitHandler),this.clickedButton=e.target;var n=this.clickedButton.getAttribute("name"),i=this.clickedButton.getAttribute("value");n&&i&&(this.hiddenClickedEle.setAttribute("name",n),this.hiddenClickedEle.setAttribute("value",i)),this.validateForm(e)}},n.prototype.validateForm=function(e){var t=this;this.isEnabled&&(e.preventDefault(),this.core.validate().then((function(e){"Valid"===e&&t.opts.aspNetButton&&!t.isFormValid&&t.clickedButton&&(t.isFormValid=!0,t.clickedButton.removeEventListener("click",t.buttonClickHandler),t.clickedButton.click())})))},n.prototype.ignoreValidation=function(e,t,n){return!!this.isEnabled&&!this.opts.liveMode&&!this.isButtonClicked},n}(o.Plugin);return K.SubmitButton=t,K}();var W,Q=J.exports,ee={exports:{}},te={};ee.exports=function(){if(W)return te;W=1;var e=o,t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},t(e,n)},n=e.utils.classSet,i=function(e){function i(t){var n=e.call(this,t)||this;return n.messages=new Map,n.opts=Object.assign({},{placement:"top",trigger:"click"},t),n.iconPlacedHandler=n.onIconPlaced.bind(n),n.validatorValidatedHandler=n.onValidatorValidated.bind(n),n.elementValidatedHandler=n.onElementValidated.bind(n),n.documentClickHandler=n.onDocumentClicked.bind(n),n}return function(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}t(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(i,e),i.prototype.install=function(){var e;this.tip=document.createElement("div"),n(this.tip,((e={"fv-plugins-tooltip":!0})["fv-plugins-tooltip--".concat(this.opts.placement)]=!0,e)),document.body.appendChild(this.tip),this.core.on("plugins.icon.placed",this.iconPlacedHandler).on("core.validator.validated",this.validatorValidatedHandler).on("core.element.validated",this.elementValidatedHandler),"click"===this.opts.trigger&&document.addEventListener("click",this.documentClickHandler)},i.prototype.uninstall=function(){this.messages.clear(),document.body.removeChild(this.tip),this.core.off("plugins.icon.placed",this.iconPlacedHandler).off("core.validator.validated",this.validatorValidatedHandler).off("core.element.validated",this.elementValidatedHandler),"click"===this.opts.trigger&&document.removeEventListener("click",this.documentClickHandler)},i.prototype.onIconPlaced=function(e){var t=this;n(e.iconElement,{"fv-plugins-tooltip-icon":!0}),"hover"===this.opts.trigger?(e.iconElement.addEventListener("mouseenter",(function(n){return t.show(e.element,n)}
26259)),e.iconElement.addEventListener("mouseleave",(function(e){return t.hide()}))):e.iconElement.addEventListener("click",(function(n){return t.show(e.element,n)}))},i.prototype.onValidatorValidated=function(e){if(!e.result.valid){var t=e.elements,n=e.element.getAttribute("type"),i="radio"===n||"checkbox"===n?t[0]:e.element,r="string"==typeof e.result.message?e.result.message:e.result.message[this.core.getLocale()];this.messages.set(i,r)}},i.prototype.onElementValidated=function(e){if(e.valid){var t=e.elements,n=e.element.getAttribute("type"),i="radio"===n||"checkbox"===n?t[0]:e.element;this.messages.delete(i)}},i.prototype.onDocumentClicked=function(e){this.hide()},i.prototype.show=function(e,t){if(this.isEnabled&&(t.preventDefault(),t.stopPropagation(),this.messages.has(e))){n(this.tip,{"fv-plugins-tooltip--hide":!1}),this.tip.innerHTML='<div class="fv-plugins-tooltip__content">'.concat(this.messages.get(e),"</div>");var i=t.target.getBoundingClientRect(),r=this.tip.getBoundingClientRect(),o=r.height,a=r.width,s=0,l=0;switch(this.opts.placement){case"bottom":s=i.top+i.height,l=i.left+i.width/2-a/2;break;case"bottom-left":s=i.top+i.height,l=i.left;break;case"bottom-right":s=i.top+i.height,l=i.left+i.width-a;break;case"left":s=i.top+i.height/2-o/2,l=i.left-a;break;case"right":s=i.top+i.height/2-o/2,l=i.left+i.width;break;case"top-left":s=i.top-o,l=i.left;break;case"top-right":s=i.top-o,l=i.left+i.width-a;break;default:s=i.top-o,l=i.left+i.width/2-a/2}s+=window.scrollY||document.documentElement.scrollTop||document.body.scrollTop||0,l+=window.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft||0,this.tip.setAttribute("style","top: ".concat(s,"px; left: ").concat(l,"px"))}},i.prototype.hide=function(){this.isEnabled&&n(this.tip,{"fv-plugins-tooltip--hide":!0})},i}(e.Plugin);return te.Tooltip=i,te}();var ne,ie=ee.exports,re={exports:{}},oe={};re.exports=function(){if(ne)return oe;ne=1;var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)},t=function(t){function n(e){var n=t.call(this,e)||this;n.handlers=[],n.timers=new Map;var i=document.createElement("div");return n.defaultEvent="oninput"in i?"input":"keyup",n.opts=Object.assign({},{delay:0,event:n.defaultEvent,threshold:0},e),n.fieldAddedHandler=n.onFieldAdded.bind(n),n.fieldRemovedHandler=n.onFieldRemoved.bind(n),n}return function(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}(n,t),n.prototype.install=function(){this.core.on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler)},n.prototype.uninstall=function(){this.handlers.forEach((function(e){return e.element.removeEventListener(e.event,e.handler)})),this.handlers=[],this.timers.forEach((function(e){return window.clearTimeout(e)})),this.timers.clear(),this.core.off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler)},n.prototype.prepareHandler=function(e,t){var n=this;t.forEach((function(t){var i=[];if(n.opts.event&&!1===n.opts.event[e])i=[];else if(n.opts.event&&n.opts.event[e]&&"function"!=typeof n.opts.event[e])i=n.opts.event[e].split(" ");else if("string"==typeof n.opts.event&&n.opts.event!==n.defaultEvent)i=n.opts.event.split(" ");else{var r=t.getAttribute("type"),o=t.tagName.toLowerCase();i=["radio"===r||"checkbox"===r||"file"===r||"select"===o?"change":n.ieVersion>=10&&t.getAttribute("placeholder")?"keyup":n.defaultEvent]}i.forEach((function(i){var r=function(i){return n.handleEvent(i,e,t)};n.handlers.push({element:t,event:i,field:e,handler:r}),t.addEventListener(i,r)}))}))},n.prototype.handleEvent=function(e,t,n){var i=this;if(this.isEnabled&&this.exceedThreshold(t,n)&&this.core.executeFilter("plugins-trigger-should-validate",!0,[t,n])){var r=function(){return i.core.validateElement(t,n).then((function(r){i.core.emit("plugins.trigger.executed",{element:n,event:e,field:t})}))},o=this.opts.delay[t]||this.opts.delay;if(0===o)r();else{var a=this.timers.get(n);a&&window.clearTimeout(a),this.timers.set(n,window.setTimeout(r,1e3*o))}}},n.prototype.onFieldAdded=function(e){this.handlers.filter((function(t){return t.field===e.field}
26259)).forEach((function(e){return e.element.removeEventListener(e.event,e.handler)})),this.prepareHandler(e.field,e.elements)},n.prototype.onFieldRemoved=function(e){this.handlers.filter((function(t){return t.field===e.field&&e.elements.indexOf(t.element)>=0})).forEach((function(e){return e.element.removeEventListener(e.event,e.handler)}))},n.prototype.exceedThreshold=function(e,t){var n=0!==this.opts.threshold[e]&&0!==this.opts.threshold&&(this.opts.threshold[e]||this.opts.threshold);if(!n)return!0;var i=t.getAttribute("type");return-1!==["button","checkbox","file","hidden","image","radio","reset","submit"].indexOf(i)||this.core.getElementValue(e,t).length>=n},n}(o.Plugin);return oe.Trigger=t,oe}();var ae,se=re.exports,le={exports:{}},de={};le.exports=function(){if(ae)return de;ae=1;var e=o,t=e.utils.format,n=e.utils.removeUndefined;return de.between=function(){var e=function(e){return parseFloat("".concat(e).replace(",","."))};return{validate:function(i){var r=i.value;if(""===r)return{valid:!0};var o=Object.assign({},{inclusive:!0,message:""},n(i.options)),a=e(o.min),s=e(o.max);return o.inclusive?{message:t(i.l10n?o.message||i.l10n.between.default:o.message,["".concat(a),"".concat(s)]),valid:parseFloat(r)>=a&&parseFloat(r)<=s}:{message:t(i.l10n?o.message||i.l10n.between.notInclusive:o.message,["".concat(a),"".concat(s)]),valid:parseFloat(r)>a&&parseFloat(r)<s}}}},de}();var ce,ue=le.exports,fe={exports:{}},pe={};fe.exports=(ce||(ce=1,pe.blank=function(){return{validate:function(e){return{valid:!0}}}}),pe);var he,me=fe.exports,ve={exports:{}},ge={};ve.exports=function(){if(he)return ge;he=1;var e=o.utils.call;return ge.callback=function(){return{validate:function(t){var n=e(t.options.callback,[t]);return"boolean"==typeof n?{valid:n}:n}}},ge}();var ye,be=ve.exports,Ee={exports:{}},xe={};Ee.exports=function(){if(ye)return xe;ye=1;var e=o.utils.format;return xe.choice=function(){return{validate:function(t){var n="select"===t.element.tagName.toLowerCase()?t.element.querySelectorAll("option:checked").length:t.elements.filter((function(e){return e.checked})).length,i=t.options.min?"".concat(t.options.min):"",r=t.options.max?"".concat(t.options.max):"",o=t.l10n?t.options.message||t.l10n.choice.default:t.options.message,a=!(i&&n<parseInt(i,10)||r&&n>parseInt(r,10));switch(!0){case!!i&&!!r:o=e(t.l10n?t.l10n.choice.between:t.options.message,[i,r]);break;case!!i:o=e(t.l10n?t.l10n.choice.more:t.options.message,i);break;case!!r:o=e(t.l10n?t.l10n.choice.less:t.options.message,r)}return{message:o,valid:a}}}},xe}();var Ve,Ae=Ee.exports,we={exports:{}},Fe={};we.exports=function(){if(Ve)return Fe;Ve=1;var e=o.algorithms.luhn,t={AMERICAN_EXPRESS:{length:[15],prefix:["34","37"]},DANKORT:{length:[16],prefix:["5019"]},DINERS_CLUB:{length:[14],prefix:["300","301","302","303","304","305","36"]},DINERS_CLUB_US:{length:[16],prefix:["54","55"]},DISCOVER:{length:[16],prefix:["6011","622126","622127","622128","622129","62213","62214","62215","62216","62217","62218","62219","6222","6223","6224","6225","6226","6227","6228","62290","62291","622920","622921","622922","622923","622924","622925","644","645","646","647","648","649","65"]},ELO:{length:[16],prefix:["4011","4312","4389","4514","4573","4576","5041","5066","5067","509","6277","6362","6363","650","6516","6550"]},FORBRUGSFORENINGEN:{length:[16],prefix:["600722"]},JCB:{length:[16],prefix:["3528","3529","353","354","355","356","357","358"]},LASER:{length:[16,17,18,19],prefix:["6304","6706","6771","6709"]},MAESTRO:{length:[12,13,14,15,16,17,18,19],prefix:["5018","5020","5038","5868","6304","6759","6761","6762","6763","6764","6765","6766"]},MASTERCARD:{length:[16],prefix:["51","52","53","54","55"]},SOLO:{length:[16,18,19],prefix:["6334","6767"]},UNIONPAY:{length:[16,17,18,19],prefix:["622126","622127","622128","622129","62213","62214","62215","62216","62217","62218","62219","6222","6223","6224","6225","6226","6227","6228","62290","62291","622920","622921","622922","622923","622924","622925"]},VISA:{length:[16],prefix:["4"]},VISA_ELECTRON:{length:[16],prefix:["4026","417500","4405","4508","4844","4913","4917"]}};return Fe.CREDIT_CARD_TYPES=t,Fe.creditCard=function(){return{validate:function(n){if(""===n.value)return{meta:{type:null},valid:!0};if(/[^0-9-\s]+/.test(n.value))return{meta:{type:null},valid:!1};var i=n.value.replace(/\D/g,"");if(!e(i))return{meta:{type:null},valid:!1};for(var r=0,o=Object.keys(t);r<o.length;r++){var a=o[r];for(var s in t[a].prefix)if(n.value.substr(0,t[a].prefix[s].length)===t[a].prefix[s]&&-1!==t[a].length.indexOf(i.length))return{meta:{type:a},valid:!0}}return{meta:{type:null},valid:!1}}}},Fe}();var Oe,Ce=we.exports,Ie={exports:{}},_e={};Ie.exports=function(){if(Oe)return _e;Oe=1;var e=o,t=e.utils.format,n=e.utils.isValidDate,i=e.utils.removeUndefined,r=function(e,t,n){var i=t.indexOf("YYYY"),r=t.indexOf("MM"),o=t.indexOf("DD");if(-1===i||-1===r||-1===o)return null;var a=e.split(" "),s=a[0].split(n);if(s.length<3)return null;var l=new Date(parseInt(s[i],10),parseInt(s[r],10)-1,parseInt(s[o],10)),d=a.length>2?a[2]:null;if(a.length>1){var c=a[1].split(":"),u=c.length>0?parseInt(c[0],10):0;l.setHours(d&&"PM"===d.toUpperCase()&&u<12?u+12:u),l.setMinutes(c.length>1?parseInt(c[1],10):0),l.setSeconds(c.length>2?parseInt(c[2],10):0)}return l},a=function(e,t){var n=t.replace(/Y/g,"y").replace(/M/g,"m").replace(/D/g,"d").replace(/:m/g,":M").replace(/:mm/g,":MM").replace(/:S/,":s").replace(/:SS/,":ss"),i=e.getDate(),r=i<10?"0".concat(i):i,o=e.getMonth()+1,a=o<10?"0".concat(o):o,s="".concat(e.getFullYear()).substr(2),l=e.getFullYear(),d=e.getHours()%12||12,c=d<10?"0".concat(d):d,u=e.getHours(),f=u<10?"0".concat(u):u,p=e.getMinutes(),h=p<10?"0".concat(p):p,m=e.getSeconds(),v=m<10?"0".concat(m):m,g={H:"".concat(u),HH:"".concat(f),M:"".concat(p),MM:"".concat(h),d:"".concat(i),dd:"".concat(r),h:"".concat(d),hh:"".concat(c),m:"".concat(o),mm:"".concat(a),s:"".concat(m),ss:"".concat(v),yy:"".concat(s),yyyy:"".concat(l)};return n.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMs])\1?|"[^"]*"|'[^']*'/g,(function(e){return g[e]?g[e]:e.slice(1,e.length-1)}))};return _e.date=function(){return{validate:function(e){if(""===e.value)return{meta:{date:null},valid:!0};var o=Object.assign({},{format:e.element&&"date"===e.element.getAttribute("type")?"YYYY-MM-DD":"MM/DD/YYYY",message:""},i(e.options)),s=e.l10n?e.l10n.date.default:o.message,l={message:"".concat(s),meta:{date:null},valid:!1},d=o.format.split(" "),c=d.length>1?d[1]:null,u=d.length>2?d[2]:null,f=e.value.split(" "),p=f[0],h=f.length>1?f[1]:null,m=f.length>2?f[2]:null;if(d.length!==f.length)return l;var v=o.separator||(-1!==p.indexOf("/")?"/":-1!==p.indexOf("-")?"-":-1!==p.indexOf(".")?".":"/");
26259if(null===v||-1===p.indexOf(v))return l;var g=p.split(v),y=d[0].split(v);if(g.length!==y.length)return l;var b=g[y.indexOf("YYYY")],E=g[y.indexOf("MM")],x=g[y.indexOf("DD")];if(!/^\d+$/.test(b)||!/^\d+$/.test(E)||!/^\d+$/.test(x)||b.length>4||E.length>2||x.length>2)return l;var V=parseInt(b,10),A=parseInt(E,10),w=parseInt(x,10);if(!n(V,A,w))return l;var F=new Date(V,A-1,w);if(c){var O=h.split(":");if(c.split(":").length!==O.length)return l;var C=O.length>0?O[0].length<=2&&/^\d+$/.test(O[0])?parseInt(O[0],10):-1:0,I=O.length>1?O[1].length<=2&&/^\d+$/.test(O[1])?parseInt(O[1],10):-1:0,_=O.length>2?O[2].length<=2&&/^\d+$/.test(O[2])?parseInt(O[2],10):-1:0;if(-1===C||-1===I||-1===_)return l;if(_<0||_>60)return l;if(C<0||C>=24||u&&C>12)return l;if(I<0||I>59)return l;F.setHours(m&&"PM"===m.toUpperCase()&&C<12?C+12:C),F.setMinutes(I),F.setSeconds(_)}var H="function"==typeof o.min?o.min():o.min,S=H instanceof Date?H:H?r(H,y,v):F,k="function"==typeof o.max?o.max():o.max,P=k instanceof Date?k:k?r(k,y,v):F,j=H instanceof Date?a(S,o.format):H,N=k instanceof Date?a(P,o.format):k;switch(!0){case!!j&&!N:return{message:t(e.l10n?e.l10n.date.min:s,j),meta:{date:F},valid:F.getTime()>=S.getTime()};case!!N&&!j:return{message:t(e.l10n?e.l10n.date.max:s,N),meta:{date:F},valid:F.getTime()<=P.getTime()};case!!N&&!!j:return{message:t(e.l10n?e.l10n.date.range:s,[j,N]),meta:{date:F},valid:F.getTime()<=P.getTime()&&F.getTime()>=S.getTime()};default:return{message:"".concat(s),meta:{date:F},valid:!0}}}}},_e}();var He,Se=Ie.exports,ke={exports:{}},Pe={};ke.exports=(He||(He=1,Pe.different=function(){return{validate:function(e){var t="function"==typeof e.options.compare?e.options.compare.call(this):e.options.compare;return{valid:""===t||e.value!==t}}}}),Pe);var je,Ne=ke.exports,Le={exports:{}},Te={};Le.exports=(je||(je=1,Te.digits=function(){return{validate:function(e){return{valid:""===e.value||/^\d+$/.test(e.value)}}}}),Te);var Me,De=Le.exports,Re={exports:{}},ze={};Re.exports=function(){if(Me)return ze;Me=1;var e=o.utils.removeUndefined,t=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,n=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/;return ze.emailAddress=function(){return{validate:function(i){if(""===i.value)return{valid:!0};var r=Object.assign({},{multiple:!1,requireGlobalDomain:!1,separator:/[,;]/},e(i.options)),o=r.requireGlobalDomain?n:t;if(!0===r.multiple||"true"==="".concat(r.multiple)){for(var a=r.separator||/[,;]/,s=function(e,t){for(var n=e.split(/"/),i=n.length,r=[],o="",a=0;a<i;a++)if(a%2==0){var s=n[a].split(t),l=s.length;if(1===l)o+=s[0];else{r.push(o+s[0]);for(var d=1;d<l-1;d++)r.push(s[d]);o=s[l-1]}}else o+='"'+n[a],a<i-1&&(o+='"');return r.push(o),r}(i.value,a),l=s.length,d=0;d<l;d++)if(!o.test(s[d]))return{valid:!1};return{valid:!0}}return{valid:o.test(i.value)}}}},ze}();var Ue,Be=Re.exports,Ye={exports:{}},qe={};Ye.exports=function(){if(Ue)return qe;Ue=1;var e=function(e){return-1===e.indexOf(".")?e:e.split(".").slice(0,-1).join(".")};return qe.file=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var n,i,r=t.options.extension?t.options.extension.toLowerCase().split(",").map((function(e){return e.trim()})):[],o=t.options.type?t.options.type.toLowerCase().split(",").map((function(e){return e.trim()})):[];if(window.File&&window.FileList&&window.FileReader){var a=t.element.files,s=a.length,l=0;if(t.options.maxFiles&&s>parseInt("".concat(t.options.maxFiles),10))return{meta:{error:"INVALID_MAX_FILES"},valid:!1};if(t.options.minFiles&&s<parseInt("".concat(t.options.minFiles),10))return{meta:{error:"INVALID_MIN_FILES"},valid:!1};for(var d={},c=0;c<s;c++){if(l+=a[c].size,d={ext:n=a[c].name.substr(a[c].name.lastIndexOf(".")+1),file:a[c],size:a[c].size,type:a[c].type},t.options.minSize&&a[c].size<parseInt("".concat(t.options.minSize),10))return{meta:Object.assign({},{error:"INVALID_MIN_SIZE"},d),valid:!1};if(t.options.maxSize&&a[c].size>parseInt("".concat(t.options.maxSize),10))return{meta:Object.assign({},{error:"INVALID_MAX_SIZE"},d),valid:!1};if(r.length>0&&-1===r.indexOf(n.toLowerCase()))return{meta:Object.assign({},{error:"INVALID_EXTENSION"},d),valid:!1};if(o.length>0&&a[c].type&&-1===o.indexOf(a[c].type.toLowerCase()))return{meta:Object.assign({},{error:"INVALID_TYPE"},d),valid:!1};if(t.options.validateFileName&&!t.options.validateFileName(e(a[c].name)))return{meta:Object.assign({}
26259,{error:"INVALID_NAME"},d),valid:!1}}if(t.options.maxTotalSize&&l>parseInt("".concat(t.options.maxTotalSize),10))return{meta:Object.assign({},{error:"INVALID_MAX_TOTAL_SIZE",totalSize:l},d),valid:!1};if(t.options.minTotalSize&&l<parseInt("".concat(t.options.minTotalSize),10))return{meta:Object.assign({},{error:"INVALID_MIN_TOTAL_SIZE",totalSize:l},d),valid:!1}}else{if(n=t.value.substr(t.value.lastIndexOf(".")+1),r.length>0&&-1===r.indexOf(n.toLowerCase()))return{meta:{error:"INVALID_EXTENSION",ext:n},valid:!1};if(i=e(t.value),t.options.validateFileName&&!t.options.validateFileName(i))return{meta:{error:"INVALID_NAME",name:i},valid:!1}}return{valid:!0}}}},qe}();var Ge,Ze=Ye.exports,$e={exports:{}},Xe={};$e.exports=function(){if(Ge)return Xe;Ge=1;var e=o,t=e.utils.format,n=e.utils.removeUndefined;return Xe.greaterThan=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var i=Object.assign({},{inclusive:!0,message:""},n(e.options)),r=parseFloat("".concat(i.min).replace(",","."));return i.inclusive?{message:t(e.l10n?i.message||e.l10n.greaterThan.default:i.message,"".concat(r)),valid:parseFloat(e.value)>=r}:{message:t(e.l10n?i.message||e.l10n.greaterThan.notInclusive:i.message,"".concat(r)),valid:parseFloat(e.value)>r}}}},Xe}();var Je,Ke=$e.exports,We={exports:{}},Qe={};We.exports=(Je||(Je=1,Qe.identical=function(){return{validate:function(e){var t="function"==typeof e.options.compare?e.options.compare.call(this):e.options.compare;return{valid:""===t||e.value===t}}}}),Qe);var et,tt=We.exports,nt={exports:{}},it={};nt.exports=function(){if(et)return it;et=1;var e=o.utils.removeUndefined;return it.integer=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var n=Object.assign({},{decimalSeparator:".",thousandsSeparator:""},e(t.options)),i="."===n.decimalSeparator?"\\.":n.decimalSeparator,r="."===n.thousandsSeparator?"\\.":n.thousandsSeparator,o=new RegExp("^-?[0-9]{1,3}(".concat(r,"[0-9]{3})*(").concat(i,"[0-9]+)?$")),a=new RegExp(r,"g"),s="".concat(t.value);if(!o.test(s))return{valid:!1};r&&(s=s.replace(a,"")),i&&(s=s.replace(i,"."));var l=parseFloat(s);return{valid:!isNaN(l)&&isFinite(l)&&Math.floor(l)===l}}}},it}();var rt,ot=nt.exports,at={exports:{}},st={};at.exports=function(){if(rt)return st;rt=1;var e=o.utils.removeUndefined;return st.ip=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var n=Object.assign({},{ipv4:!0,ipv6:!0},e(t.options)),i=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\/([0-9]|[1-2][0-9]|3[0-2]))?$/,r=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*(\/(\d|\d\d|1[0-1]\d|12[0-8]))?$/;switch(!0){case n.ipv4&&!n.ipv6:return{message:t.l10n?n.message||t.l10n.ip.ipv4:n.message,valid:i.test(t.value)};case!n.ipv4&&n.ipv6:return{message:t.l10n?n.message||t.l10n.ip.ipv6:n.message,valid:r.test(t.value)};case n.ipv4&&n.ipv6:default:return{message:t.l10n?n.message||t.l10n.ip.default:n.message,valid:i.test(t.value)||r.test(t.value)}}}}},st}();var lt,dt=at.exports,ct={exports:{}},ut={};ct.exports=function(){if(lt)return ut;lt=1;var e=o,t=e.utils.format,n=e.utils.removeUndefined;return ut.lessThan=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var i=Object.assign({},{inclusive:!0,message:""},n(e.options)),r=parseFloat("".concat(i.max).replace(",","."));return i.inclusive?{message:t(e.l10n?i.message||e.l10n.lessThan.default:i.message,"".concat(r)),valid:parseFloat(e.value)<=r}:{message:t(e.l10n?i.message||e.l10n.lessThan.notInclusive:i.message,"".concat(r)),valid:parseFloat(e.value)<r}}}},ut}();var ft,pt=ct.exports,ht={exports:{}},mt={};ht.exports=(ft||(ft=1,mt.notEmpty=function(){return{validate:function(e){var t=!!e.options&&!!e.options.trim,n=e.value;return{valid:!t&&""!==n||t&&""!==n&&""!==n.trim()}}}}),mt);var vt,gt=ht.exports,yt={exports:{}},bt={};yt.exports=function(){if(vt)return bt;vt=1;var e=o.utils.removeUndefined;return bt.numeric=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var n=Object.assign({},{decimalSeparator:".",thousandsSeparator:""},e(t.options)),i="".concat(t.value);i.substr(0,1)===n.decimalSeparator?i="0".concat(n.decimalSeparator).concat(i.substr(1)):i.substr(0,2)==="-".concat(n.decimalSeparator)&&(i="-0".concat(n.decimalSeparator).concat(i.substr(2)));var r="."===n.decimalSeparator?"\\.":n.decimalSeparator,o="."===n.thousandsSeparator?"\\.":n.thousandsSeparator,a=new RegExp("^-?[0-9]{1,3}(".concat(o,"[0-9]{3})*(").concat(r,"[0-9]+)?$")),s=new RegExp(o,"g");if(!a.test(i))return{valid:!1};o&&(i=i.replace(s,"")),r&&(i=i.replace(r,"."));var l=parseFloat(i);return{valid:!isNaN(l)&&isFinite(l)}}}},bt}();var Et,xt=yt.exports,Vt={exports:{}},At={};Vt.exports=function(){if(Et)return At;Et=1;var e=o.utils.call;return At.promise=function(){return{validate:function(t){return e(t.options.promise,[t])}}},At}();var wt,Ft=Vt.exports,Ot={exports:{}},Ct={};Ot.exports=(wt||(wt=1,Ct.regexp=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var t=e.options.regexp;if(t instanceof RegExp)return{valid:t.test(e.value)};var n=t.toString();return{valid:(e.options.flags?new RegExp(n,e.options.flags):new RegExp(n)).test(e.value)}}}}),Ct);var It,_t=Ot.exports,Ht={exports:{}},St={};Ht.exports=function(){if(It)return St;It=1;var e=o,t=e.utils.fetch,n=e.utils.removeUndefined;return St.remote=function(){var e={crossDomain:!1,data:{},headers:{},method:"GET",validKey:"valid"};return{validate:function(i){if(""===i.value)return Promise.resolve({valid:!0});var r=Object.assign({},e,n(i.options)),o=r.data;"function"==typeof r.data&&(o=r.data.call(this,i)),"string"==typeof o&&(o=JSON.parse(o)),o[r.name||i.field]=i.value;var a="function"==typeof r.url?r.url.call(this,i):r.url;return t(a,{crossDomain:r.crossDomain,headers:r.headers,method:r.method,params:o}).then((function(e){return Promise.resolve({message:e.message,meta:e,valid:"true"==="".concat(e[r.validKey])})})).catch((function(e){return Promise.reject({valid:!1})}))}}},St}();var kt,Pt=Ht.exports,jt={exports:{}},Nt={};jt.exports=function(){if(kt)return Nt;kt=1;var e=o.utils.removeUndefined;return Nt.stringCase=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var n=Object.assign({},{case:"lower"},e(t.options)),i=(n.case||"lower").toLowerCase();return{message:n.message||(t.l10n?"upper"===i?t.l10n.stringCase.upper:t.l10n.stringCase.default:n.message),valid:"upper"===i?t.value===t.value.toUpperCase():t.value===t.value.toLowerCase()}}}},Nt}();var Lt,Tt=jt.exports,Mt={exports:{}},Dt={};Mt.exports=function(){if(Lt)return Dt;Lt=1;var e=o,t=e.utils.format,n=e.utils.removeUndefined;return Dt.stringLength=function(){return{validate:function(e){var i=Object.assign({},{message:"",trim:!1,utf8Bytes:!1},n(e.options)),r=!0===i.trim||"true"==="".concat(i.trim)?e.value.trim():e.value;if(""===r)return{valid:!0};var o=i.min?"".concat(i.min):"",a=i.max?"".concat(i.max):"",s=i.utf8Bytes?function(e){for(var t=e.length,n=e.length-1;n>=0;n--){var i=e.charCodeAt(n);i>127&&i<=2047?t++:i>2047&&i<=65535&&(t+=2),i>=56320&&i<=57343&&n--}return t}(r):r.length,l=!0,d=e.l10n?i.message||e.l10n.stringLength.default:i.message;switch((o&&s<parseInt(o,10)||a&&s>parseInt(a,10))&&(l=!1),!0){case!!o&&!!a:d=t(e.l10n?i.message||e.l10n.stringLength.between:i.message,[o,a]);break;case!!o:d=t(e.l10n?i.message||e.l10n.stringLength.more:i.message,"".concat(parseInt(o,10)));break;case!!a:d=t(e.l10n?i.message||e.l10n.stringLength.less:i.message,"".concat(parseInt(a,10)))}return{message:d,valid:l}}}},Dt}();var Rt,zt=Mt.exports,Ut={exports:{}},Bt={};Ut.exports=function(){if(Rt)return Bt;Rt=1;var e=o.utils.removeUndefined;return Bt.uri=function(){var t={allowEmptyProtocol:!1,allowLocal:!1,protocol:"http, https, ftp"};return{validate:function(n){if(""===n.value)return{valid:!0};var i=Object.assign({},t,e(n.options)),r=!0===i.allowLocal||"true"==="".concat(i.allowLocal),o=!0===i.allowEmptyProtocol||"true"==="".concat(i.allowEmptyProtocol),a=i.protocol.split(",").join("|").replace(/\s/g,"");return{valid:new RegExp("^(?:(?:"+a+")://)"+(o?"?":"")+"(?:\\S+(?::\\S*)?@)?(?:"+(r?"":"(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})")+"(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-?)*[a-z\\u00a1-\\uffff0-9])*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))"+(r?"?":"")+")(?::\\d{2,5})?(?:/[^\\s]*)?$","i").test(n.value)}}}},Bt}();var Yt=Ut.exports,qt={Alias:d.Alias,Aria:p.Aria,Declarative:g.Declarative,DefaultSubmit:x.DefaultSubmit,Depen
26259dency:F.Dependency,Excluded:_.Excluded,FieldStatus:P.FieldStatus,Framework:z.Framework,Icon:q.Icon,Message:D.Message,Sequence:X.Sequence,SubmitButton:Q.SubmitButton,Tooltip:ie.Tooltip,Trigger:se.Trigger},Gt={between:ue.between,blank:me.blank,callback:be.callback,choice:Ae.choice,creditCard:Ce.creditCard,date:Se.date,different:Ne.different,digits:De.digits,emailAddress:Be.emailAddress,file:Ze.file,greaterThan:Ke.greaterThan,identical:tt.identical,integer:ot.integer,ip:dt.ip,lessThan:pt.lessThan,notEmpty:gt.notEmpty,numeric:xt.numeric,promise:Ft.promise,regexp:_t.regexp,remote:Pt.remote,stringCase:Tt.stringCase,stringLength:zt.stringLength,uri:Yt.uri};e.Plugin=o.Plugin,e.algorithms=o.algorithms,e.formValidation=function(e,t){var n=o.formValidation(e,t);return Object.keys(Gt).forEach((function(e){return n.registerValidator(e,Gt[e])})),n},e.plugins=qt,e.utils=o.utils,e.validators=Gt})); 26260 26261/** 26262 * FormValidation (https://formvalidation.io) 26263 * The best validation library for JavaScript 26264 * (c) 2013 - 2023 Nguyen Huu Phuoc <[email protected]> 26265 * 26266 * @license https://formvalidation.io/license 26267 * @package @form-validation/bundle 26268 * @version 2.4.0 26269 */ 26270 26271!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).FormValidation={})}(this,(function(e){"use strict";var t,r={exports:{}},a={};r.exports=function(){if(t)return a;t=1;var e={luhn:function(e){for(var t=e.length,r=[[0,1,2,3,4,5,6,7,8,9],[0,2,4,6,8,1,3,5,7,9]],a=0,n=0;t--;)n+=r[a][parseInt(e.charAt(t),10)],a=1-a;return n%10==0&&n>0},mod11And10:function(e){for(var t=e.length,r=5,a=0;a<t;a++)r=(2*(r||10)%11+parseInt(e.charAt(a),10))%10;return 1===r},mod37And36:function(e,t){void 0===t&&(t="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ");for(var r=e.length,a=t.length,n=Math.floor(a/2),i=0;i<r;i++)n=(2*(n||a)%(a+1)+t.indexOf(e.charAt(i)))%a;return 1===n},mod97And10:function(e){for(var t=function(e){return e.split("").map((function(e){var t=e.charCodeAt(0);return t>=65&&t<=90?t-55:e})).join("").split("").map((function(e){return parseInt(e,10)}))}(e),r=0,a=t.length,n=0;n<a-1;++n)r=10*(r+t[n])%97;return(r+=t[a-1])%97==1},verhoeff:function(e){for(var t=[[0,1,2,3,4,5,6,7,8,9],[1,2,3,4,0,6,7,8,9,5],[2,3,4,0,1,7,8,9,5,6],[3,4,0,1,2,8,9,5,6,7],[4,0,1,2,3,9,5,6,7,8],[5,9,8,7,6,0,4,3,2,1],[6,5,9,8,7,1,0,4,3,2],[7,6,5,9,8,2,1,0,4,3],[8,7,6,5,9,3,2,1,0,4],[9,8,7,6,5,4,3,2,1,0]],r=[[0,1,2,3,4,5,6,7,8,9],[1,5,7,6,2,8,3,0,9,4],[5,8,0,3,7,9,6,1,4,2],[8,9,1,6,0,4,3,5,2,7],[9,4,5,3,1,2,6,8,7,0],[4,2,8,6,5,7,3,9,0,1],[2,7,9,3,8,0,6,4,1,5],[7,0,4,6,9,1,3,2,5,8]],a=e.reverse(),n=0,i=0;i<a.length;i++)n=t[n][r[i%8][a[i]]];return 0===n}},r=function(){function e(e,t){this.fields={},this.elements={},this.ee={fns:{},clear:function(){this.fns={}},emit:function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];(this.fns[e]||[]).map((function(e){return e.apply(e,t)}))},off:function(e,t){if(this.fns[e]){var r=this.fns[e].indexOf(t);r>=0&&this.fns[e].splice(r,1)}},on:function(e,t){(this.fns[e]=this.fns[e]||[]).push(t)}},this.filter={filters:{},add:function(e,t){(this.filters[e]=this.filters[e]||[]).push(t)},clear:function(){this.filters={}},execute:function(e,t,r){if(!this.filters[e]||!this.filters[e].length)return t;for(var a=t,n=this.filters[e],i=n.length,s=0;s<i;s++)a=n[s].apply(a,r);return a},remove:function(e,t){this.filters[e]&&(this.filters[e]=this.filters[e].filter((function(e){return e!==t})))}},this.plugins={},this.results=new Map,this.validators={},this.form=e,this.fields=t}return e.prototype.on=function(e,t){return this.ee.on(e,t),this},e.prototype.off=function(e,t){return this.ee.off(e,t),this},e.prototype.emit=function(e){for(var t,r=[],a=1;a<arguments.length;a++)r[a-1]=arguments[a];return(t=this.ee).emit.apply(t,function(e,t,r){if(r||2===arguments.length)for(var a,n=0,i=t.length;n<i;n++)!a&&n in t||(a||(a=Array.prototype.slice.call(t,0,n)),a[n]=t[n]);return e.concat(a||Array.prototype.slice.call(t))}([e],r,!1)),this},e.prototype.registerPlugin=function(e,t){if(this.plugins[e])throw new Error("The plguin ".concat(e," is registered"));return t.setCore(this),t.install(),this.plugins[e]=t,this},e.prototype.deregisterPlugin=function(e){var t=this.plugins[e];return t&&t.uninstall(),delete this.plugins[e],this},e.prototype.enablePlugin=function(e){var t=this.plugins[e];return t&&t.enable(),this},e.prototype.disablePlugin=function(e){var t=this.plugins[e];return t&&t.disable(),this},e.prototype.isPluginEnabled=function(e){var t=this.plugins[e];return!!t&&t.isPluginEnabled()},e.prototype.registerValidator=function(e,t){if(this.validators[e])throw new Error("The validator ".concat(e," is registered"));return this.validators[e]=t,this},e.prototype.registerFilter=function(e,t){return this.filter.add(e,t),this},e.prototype.deregisterFilter=function(e,t){return this.filter.remove(e,t),this},e.prototype.executeFilter=function(e,t,r){return this.filter.execute(e,t,r)},e.prototype.addField=function(e,t){var r=Object.assign({},{selector:"",validators:{}},t);return this.fields[e]=this.fields[e]?{selector:r.selector||this.fields[e].selector,validators:Object.assign({},this.fields[e].validators,r.validators)}
26271:r,this.elements[e]=this.queryElements(e),this.emit("core.field.added",{elements:this.elements[e],field:e,options:this.fields[e]}),this},e.prototype.removeField=function(e){if(!this.fields[e])throw new Error("The field ".concat(e," validators are not defined. Please ensure the field is added first"));var t=this.elements[e],r=this.fields[e];return delete this.elements[e],delete this.fields[e],this.emit("core.field.removed",{elements:t,field:e,options:r}),this},e.prototype.validate=function(){var e=this;return this.emit("core.form.validating",{formValidation:this}),this.filter.execute("validate-pre",Promise.resolve(),[]).then((function(){return Promise.all(Object.keys(e.fields).map((function(t){return e.validateField(t)}))).then((function(t){switch(!0){case-1!==t.indexOf("Invalid"):return e.emit("core.form.invalid",{formValidation:e}),Promise.resolve("Invalid");case-1!==t.indexOf("NotValidated"):return e.emit("core.form.notvalidated",{formValidation:e}),Promise.resolve("NotValidated");default:return e.emit("core.form.valid",{formValidation:e}),Promise.resolve("Valid")}}))}))},e.prototype.validateField=function(e){var t=this,r=this.results.get(e);if("Valid"===r||"Invalid"===r)return Promise.resolve(r);this.emit("core.field.validating",e);var a=this.elements[e];if(0===a.length)return this.emit("core.field.valid",e),Promise.resolve("Valid");var n=a[0].getAttribute("type");return"radio"===n||"checkbox"===n||1===a.length?this.validateElement(e,a[0]):Promise.all(a.map((function(r){return t.validateElement(e,r)}))).then((function(r){switch(!0){case-1!==r.indexOf("Invalid"):return t.emit("core.field.invalid",e),t.results.set(e,"Invalid"),Promise.resolve("Invalid");case-1!==r.indexOf("NotValidated"):return t.emit("core.field.notvalidated",e),t.results.delete(e),Promise.resolve("NotValidated");default:return t.emit("core.field.valid",e),t.results.set(e,"Valid"),Promise.resolve("Valid")}}))},e.prototype.validateElement=function(e,t){var r=this;this.results.delete(e);var a=this.elements[e];if(this.filter.execute("element-ignored",!1,[e,t,a]))return this.emit("core.element.ignored",{element:t,elements:a,field:e}),Promise.resolve("Ignored");var n=this.fields[e].validators;this.emit("core.element.validating",{element:t,elements:a,field:e});var i=Object.keys(n).map((function(a){return function(){return r.executeValidator(e,t,a,n[a])}}));return this.waterfall(i).then((function(n){var i=-1===n.indexOf("Invalid");r.emit("core.element.validated",{element:t,elements:a,field:e,valid:i});var s=t.getAttribute("type");return"radio"!==s&&"checkbox"!==s&&1!==a.length||r.emit(i?"core.field.valid":"core.field.invalid",e),Promise.resolve(i?"Valid":"Invalid")})).catch((function(n){return r.emit("core.element.notvalidated",{element:t,elements:a,field:e}),Promise.resolve(n)}))},e.prototype.executeValidator=function(e,t,r,a){var n=this,i=this.elements[e],s=this.filter.execute("validator-name",r,[r,e]);if(a.message=this.filter.execute("validator-message",a.message,[this.locale,e,s]),!this.validators[s]||!1===a.enabled)return this.emit("core.validator.validated",{element:t,elements:i,field:e,result:this.normalizeResult(e,s,{valid:!0}),validator:s}),Promise.resolve("Valid");var o=this.validators[s],l=this.getElementValue(e,t,s);if(!this.filter.execute("field-should-validate",!0,[e,t,l,r]))return this.emit("core.validator.notvalidated",{element:t,elements:i,field:e,validator:r}),Promise.resolve("NotValidated");this.emit("core.validator.validating",{element:t,elements:i,field:e,validator:r});var d=o().validate({element:t,elements:i,field:e,l10n:this.localization,options:a,value:l});if("function"==typeof d.then)return d.then((function(a){var s=n.normalizeResult(e,r,a);return n.emit("core.validator.validated",{element:t,elements:i,field:e,result:s,validator:r}),s.valid?"Valid":"Invalid"}));var u=this.normalizeResult(e,r,d);return this.emit("core.validator.validated",{element:t,elements:i,field:e,result:u,validator:r}),Promise.resolve(u.valid?"Valid":"Invalid")},e.prototype.getElementValue=function(e,t,r){var a=function(e,t,r,a){var n=(r.getAttribute("type")||"").toLowerCase(),i=r.tagName.toLowerCase();if("textarea"===i)return r.value;if("select"===i){var s=r,o=s.selectedIndex;return o>=0?s.options.item(o).value:""}if("input"===i){if("radio"===n||"checkbox"===n){var l=a.filter((function(e){return e.checked})).length;return 0===l?"":l+""}return r.value}return""}(this.form,0,t,this.elements[e]);return this.filter.execute("field-value",a,[a,e,t,r])},e.prototype.getElements=function(e){return this.elements[e]},e.prototype.getFields=function(){return this.fields},e.prototype.getFormElement=function(){return this.form},e.prototype.getLocale=function(){return this.locale},e.prototype.getPlugin=function(e){return this.plugins[e]},e.prototype.updateFieldStatus=function(e,t,r){var a=this,n=this.elements[e],i=n[0].getAttribute("type");
26271if(("radio"===i||"checkbox"===i?[n[0]]:n).forEach((function(n){return a.updateElementStatus(e,n,t,r)})),r)"Invalid"===t&&(this.emit("core.field.invalid",e),this.results.set(e,"Invalid"));else switch(t){case"NotValidated":this.emit("core.field.notvalidated",e),this.results.delete(e);break;case"Validating":this.emit("core.field.validating",e),this.results.delete(e);break;case"Valid":this.emit("core.field.valid",e),this.results.set(e,"Valid");break;case"Invalid":this.emit("core.field.invalid",e),this.results.set(e,"Invalid")}return this},e.prototype.updateElementStatus=function(e,t,r,a){var n=this,i=this.elements[e],s=this.fields[e].validators,o=a?[a]:Object.keys(s);switch(r){case"NotValidated":o.forEach((function(r){return n.emit("core.validator.notvalidated",{element:t,elements:i,field:e,validator:r})})),this.emit("core.element.notvalidated",{element:t,elements:i,field:e});break;case"Validating":o.forEach((function(r){return n.emit("core.validator.validating",{element:t,elements:i,field:e,validator:r})})),this.emit("core.element.validating",{element:t,elements:i,field:e});break;case"Valid":o.forEach((function(r){return n.emit("core.validator.validated",{element:t,elements:i,field:e,result:{message:s[r].message,valid:!0},validator:r})})),this.emit("core.element.validated",{element:t,elements:i,field:e,valid:!0});break;case"Invalid":o.forEach((function(r){return n.emit("core.validator.validated",{element:t,elements:i,field:e,result:{message:s[r].message,valid:!1},validator:r})})),this.emit("core.element.validated",{element:t,elements:i,field:e,valid:!1})}return this},e.prototype.resetForm=function(e){var t=this;return Object.keys(this.fields).forEach((function(r){return t.resetField(r,e)})),this.emit("core.form.reset",{formValidation:this,reset:e}),this},e.prototype.resetField=function(e,t){if(t){var r=this.elements[e],a=r[0].getAttribute("type");r.forEach((function(e){"radio"===a||"checkbox"===a?(e.removeAttribute("selected"),e.removeAttribute("checked"),e.checked=!1):(e.setAttribute("value",""),(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&(e.value=""))}))}return this.updateFieldStatus(e,"NotValidated"),this.emit("core.field.reset",{field:e,reset:t}),this},e.prototype.revalidateField=function(e){return this.fields[e]?(this.updateFieldStatus(e,"NotValidated"),this.validateField(e)):Promise.resolve("Ignored")},e.prototype.disableValidator=function(e,t){if(!this.fields[e])return this;var r=this.elements[e];return this.toggleValidator(!1,e,t),this.emit("core.validator.disabled",{elements:r,field:e,formValidation:this,validator:t}),this},e.prototype.enableValidator=function(e,t){if(!this.fields[e])return this;var r=this.elements[e];return this.toggleValidator(!0,e,t),this.emit("core.validator.enabled",{elements:r,field:e,formValidation:this,validator:t}),this},e.prototype.updateValidatorOption=function(e,t,r,a){return this.fields[e]&&this.fields[e].validators&&this.fields[e].validators[t]&&(this.fields[e].validators[t][r]=a),this},e.prototype.setFieldOptions=function(e,t){return this.fields[e]=t,this},e.prototype.destroy=function(){var e=this;return Object.keys(this.plugins).forEach((function(t){return e.plugins[t].uninstall()})),this.ee.clear(),this.filter.clear(),this.results.clear(),this.plugins={},this},e.prototype.setLocale=function(e,t){return this.locale=e,this.localization=t,this},e.prototype.waterfall=function(e){return e.reduce((function(e,t){return e.then((function(e){return t().then((function(t){return e.push(t),e}))}))}),Promise.resolve([]))},e.prototype.queryElements=function(e){var t=this.fields[e].selector?"#"===this.fields[e].selector.charAt(0)?'[id="'.concat(this.fields[e].selector.substring(1),'"]'):this.fields[e].selector:'[name="'.concat(e.replace(/"/g,'\\"'),'"]');return[].slice.call(this.form.querySelectorAll(t))},e.prototype.normalizeResult=function(e,t,r){var a=this.fields[e].validators[t];return Object.assign({},r,{message:r.message||(a?a.message:"")||(this.localization&&this.localization[t]&&this.localization[t].default?this.localization[t].default:"")||"The field ".concat(e," is not val
26271id")})},e.prototype.toggleValidator=function(e,t,r){var a=this,n=this.fields[t].validators;return r&&n&&n[r]?this.fields[t].validators[r].enabled=e:r||Object.keys(n).forEach((function(r){return a.fields[t].validators[r].enabled=e})),this.updateFieldStatus(t,"NotValidated",r)},e}(),n=function(){function e(e){this.opts=e,this.isEnabled=!0}return e.prototype.setCore=function(e){return this.core=e,this},e.prototype.enable=function(){return this.isEnabled=!0,this.onEnabled(),this},e.prototype.disable=function(){return this.isEnabled=!1,this.onDisabled(),this},e.prototype.isPluginEnabled=function(){return this.isEnabled},e.prototype.onEnabled=function(){},e.prototype.onDisabled=function(){},e.prototype.install=function(){},e.prototype.uninstall=function(){},e}(),i=function(e,t){var r=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector;return r?r.call(e,t):[].slice.call(e.parentElement.querySelectorAll(t)).indexOf(e)>=0},s={call:function(e,t){if("function"==typeof e)return e.apply(this,t);if("string"==typeof e){var r=e;"()"===r.substring(r.length-2)&&(r=r.substring(0,r.length-2));for(var a=r.split("."),n=a.pop(),i=window,s=0,o=a;s<o.length;s++)i=i[o[s]];return void 0===i[n]?null:i[n].apply(this,t)}},classSet:function(e,t){var r=[],a=[];Object.keys(t).forEach((function(e){e&&(t[e]?r.push(e):a.push(e))})),a.forEach((function(t){return function(e,t){t.split(" ").forEach((function(t){e.classList?e.classList.remove(t):e.className=e.className.replace(t,"")}))}(e,t)})),r.forEach((function(t){return function(e,t){t.split(" ").forEach((function(t){e.classList?e.classList.add(t):" ".concat(e.className," ").indexOf(" ".concat(t," "))&&(e.className+=" ".concat(t))}))}(e,t)}))},closest:function(e,t){for(var r=e;r&&!i(r,t);)r=r.parentElement;return r},fetch:function(e,t){return new Promise((function(r,a){var n,i=Object.assign({},{crossDomain:!1,headers:{},method:"GET",params:{}},t),s=Object.keys(i.params).map((function(e){return"".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(i.params[e]))})).join("&"),o=e.indexOf("?")>-1,l="GET"===i.method?"".concat(e).concat(o?"&":"?").concat(s):e;if(i.crossDomain){var d=document.createElement("script"),u="___FormValidationFetch_".concat(Array(12).fill("").map((function(e){return Math.random().toString(36).charAt(2)})).join(""),"___");window[u]=function(e){delete window[u],r(e)},d.src="".concat(l).concat(o?"&":"?","callback=").concat(u),d.async=!0,d.addEventListener("load",(function(){d.parentNode.removeChild(d)})),d.addEventListener("error",(function(){return a})),document.head.appendChild(d)}else{var c=new XMLHttpRequest;c.open(i.method,l),c.setRequestHeader("X-Requested-With","XMLHttpRequest"),"POST"===i.method&&c.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),Object.keys(i.headers).forEach((function(e){return c.setRequestHeader(e,i.headers[e])})),c.addEventListener("load",(function(){r(JSON.parse(this.responseText))})),c.addEventListener("error",(function(){return a})),c.send((n=i.params,Object.keys(n).map((function(e){return"".concat(encodeURIComponent(e),"=").concat(encodeURIComponent(n[e]))})).join("&")))}}))},format:function(e,t){var r=Array.isArray(t)?t:[t],a=e;return r.forEach((function(e){a=a.replace("%s",e)})),a},hasClass:function(e,t){return e.classList?e.classList.contains(t):new RegExp("(^| )".concat(t,"( |$)"),"gi").test(e.className)},isValidDate:function(e,t,r,a){if(isNaN(e)||isNaN(t)||isNaN(r))return!1;if(e<1e3||e>9999||t<=0||t>12)return!1;if(r<=0||r>[31,e%400==0||e%100!=0&&e%4==0?29:28,31,30,31,30,31,31,30,31,30,31][t-1])return!1;if(!0===a){var n=new Date,i=n.getFullYear(),s=n.getMonth(),o=n.getDate();return e<i||e===i&&t-1<s||e===i&&t-1===s&&r<o}return!0},removeUndefined:function(e){return e?Object.entries(e).reduce((function(e,t){var r=t[0],a=t[1];return void 0===a||(e[r]=a),e}),{}):{}}};return a.Plugin=n,a.algorithms=e,a.formValidation=function(e,t){var a=Object.assign({},{fields:{},locale:"en_US",plugins:{},init:function(e){}},t),n=new r(e,a.fields);return n.setLocale(a.locale,a.localization),Object.keys(a.plugins).forEach((function(e){return n.registerPlugin(e,a.plugins[e])}
26271)),a.init(n),Object.keys(a.fields).forEach((function(e){return n.addField(e,a.fields[e])})),n},a.utils=s,a}();var n,i=r.exports,s={exports:{}},o={};s.exports=function(){if(n)return o;n=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(e){var r=t.call(this,e)||this;return r.opts=e||{},r.validatorNameFilter=r.getValidatorName.bind(r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){this.core.registerFilter("validator-name",this.validatorNameFilter)},r.prototype.uninstall=function(){this.core.deregisterFilter("validator-name",this.validatorNameFilter)},r.prototype.getValidatorName=function(e,t){return this.isEnabled&&this.opts[e]||e},r}(i.Plugin);return o.Alias=t,o}();var l,d=s.exports,u={exports:{}},c={};u.exports=function(){if(l)return c;l=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(){var e=t.call(this,{})||this;return e.elementValidatedHandler=e.onElementValidated.bind(e),e.fieldValidHandler=e.onFieldValid.bind(e),e.fieldInvalidHandler=e.onFieldInvalid.bind(e),e.messageDisplayedHandler=e.onMessageDisplayed.bind(e),e}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){this.core.on("core.field.valid",this.fieldValidHandler).on("core.field.invalid",this.fieldInvalidHandler).on("core.element.validated",this.elementValidatedHandler).on("plugins.message.displayed",this.messageDisplayedHandler)},r.prototype.uninstall=function(){this.core.off("core.field.valid",this.fieldValidHandler).off("core.field.invalid",this.fieldInvalidHandler).off("core.element.validated",this.elementValidatedHandler).off("plugins.message.displayed",this.messageDisplayedHandler)},r.prototype.onElementValidated=function(e){e.valid&&(e.element.setAttribute("aria-invalid","false"),e.element.removeAttribute("aria-describedby"))},r.prototype.onFieldValid=function(e){var t=this.core.getElements(e);t&&t.forEach((function(e){e.setAttribute("aria-invalid","false"),e.removeAttribute("aria-describedby")}))},r.prototype.onFieldInvalid=function(e){var t=this.core.getElements(e);t&&t.forEach((function(e){return e.setAttribute("aria-invalid","true")}))},r.prototype.onMessageDisplayed=function(e){e.messageElement.setAttribute("role","alert"),e.messageElement.setAttribute("aria-hidden","false");var t=this.core.getElements(e.field),r=t.indexOf(e.element),a="js-fv-".concat(e.field,"-").concat(r,"-").concat(Date.now(),"-message");e.messageElement.setAttribute("id",a),e.element.setAttribute("aria-describedby",a);var n=e.element.getAttribute("type");"radio"!==n&&"checkbox"!==n||t.forEach((function(e){return e.setAttribute("aria-describedby",a)}))},r}(i.Plugin);return c.Aria=t,c}();var f,p=u.exports,v={exports:{}},h={};v.exports=function(){if(f)return h;f=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(e){var r=t.call(this,e)||this;return r.addedFields=new Map,r.opts=Object.assign({},{html5Input:!1,pluginPrefix:"data-fvp-",prefix:"data-fv-"},e),r.fieldAddedHandler=r.onFieldAdded.bind(r),r.fieldRemovedHandler=r.onFieldRemoved.bind(r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){var e=this;this.parsePlugins();var t=this.parseOptions();Object.keys(t).forEach((function(r){e.addedFields.has(r)||e.addedFields.set(r,!0),e.core.addField(r,t[r])})),this.core.on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler)},r.prototype.uninstall=function(){this.addedFields.clear(),this.core.off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler)},r.prototype.onFieldAdded=function(e){var t=this,r=e.elements;r&&0!==r.length&&!this.addedFields.has(e.field)&&(this.addedFields.set(e.field,!0),r.forEach((function(r){var a=t.parseElement(r);if(!t.isEmptyOption(a)){var n={selector:e.options.selector,validators:Object.assign({},e.options.validators||{},a.validators)};t.core.setFieldOptions(e.field,n)}})))},r.prototype.onFieldRemoved=function(e){e.field&&this.addedFields.has(e.field)&&this.addedFields.delete(e.field)},r.prototype.parseOptions=function(){var e=this,t=this.opts.prefix,r
26271={},a=this.core.getFields(),n=this.core.getFormElement();return[].slice.call(n.querySelectorAll("[name], [".concat(t,"field]"))).forEach((function(a){var n=e.parseElement(a);if(!e.isEmptyOption(n)){var i=a.getAttribute("name")||a.getAttribute("".concat(t,"field"));r[i]=Object.assign({},r[i],n)}})),Object.keys(r).forEach((function(e){Object.keys(r[e].validators).forEach((function(t){r[e].validators[t].enabled=r[e].validators[t].enabled||!1,a[e]&&a[e].validators&&a[e].validators[t]&&Object.assign(r[e].validators[t],a[e].validators[t])}))})),Object.assign({},a,r)},r.prototype.createPluginInstance=function(e,t){for(var r=e.split("."),a=window||this,n=0,i=r.length;n<i;n++)a=a[r[n]];if("function"!=typeof a)throw new Error("the plugin ".concat(e," doesn't exist"));return new a(t)},r.prototype.parsePlugins=function(){for(var e,t=this,r=this.core.getFormElement(),a=new RegExp("^".concat(this.opts.pluginPrefix,"([a-z0-9-]+)(___)*([a-z0-9-]+)*$")),n=r.attributes.length,i={},s=0;s<n;s++){var o=r.attributes[s].name,l=r.attributes[s].value,d=a.exec(o);if(d&&4===d.length){var u=this.toCamelCase(d[1]);i[u]=Object.assign({},d[3]?((e={})[this.toCamelCase(d[3])]=l,e):{enabled:""===l||"true"===l},i[u])}}
26271Object.keys(i).forEach((function(e){var r=i[e],a=r.enabled,n=r.class;if(a&&n){delete r.enabled,delete r.clazz;var s=t.createPluginInstance(n,r);t.core.registerPlugin(e,s)}}))},r.prototype.isEmptyOption=function(e){var t=e.validators;return 0===Object.keys(t).length&&t.constructor===Object},r.prototype.parseElement=function(e){for(var t=new RegExp("^".concat(this.opts.prefix,"([a-z0-9-]+)(___)*([a-z0-9-]+)*$")),r=e.attributes.length,a={},n=e.getAttribute("type"),i=0;i<r;i++){var s=e.attributes[i].name,o=e.attributes[i].value;if(this.opts.html5Input)switch(!0){case"minlength"===s:a.stringLength=Object.assign({},{enabled:!0,min:parseInt(o,10)},a.stringLength);break;case"maxlength"===s:a.stringLength=Object.assign({},{enabled:!0,max:parseInt(o,10)},a.stringLength);break;case"pattern"===s:a.regexp=Object.assign({},{enabled:!0,regexp:o},a.regexp);break;case"required"===s:a.notEmpty=Object.assign({},{enabled:!0},a.notEmpty);break;case"type"===s&&"color"===o:a.color=Object.assign({},{enabled:!0,type:"hex"},a.color);break;case"type"===s&&"email"===o:a.emailAddress=Object.assign({},{enabled:!0},a.emailAddress);break;case"type"===s&&"url"===o:a.uri=Object.assign({},{enabled:!0},a.uri);break;case"type"===s&&"range"===o:a.between=Object.assign({},{enabled:!0,max:parseFloat(e.getAttribute("max")),min:parseFloat(e.getAttribute("min"))},a.between);break;case"min"===s&&"date"!==n&&"range"!==n:a.greaterThan=Object.assign({},{enabled:!0,min:parseFloat(o)},a.greaterThan);break;case"max"===s&&"date"!==n&&"range"!==n:a.lessThan=Object.assign({},{enabled:!0,max:parseFloat(o)},a.lessThan)}var l=t.exec(s);if(l&&4===l.length){var d=this.toCamelCase(l[1]);a[d]||(a[d]={}),l[3]?a[d][this.toCamelCase(l[3])]=this.normalizeValue(o):!0===a[d].enabled&&!1===a[d].enabled||(a[d].enabled=""===o||"true"===o)}}return{validators:a}},r.prototype.normalizeValue=function(e){return"true"===e||""===e||"false"!==e&&e},r.prototype.toUpperCase=function(e){return e.charAt(1).toUpperCase()},r.prototype.toCamelCase=function(e){return e.replace(/-./g,this.toUpperCase)},r}(i.Plugin);return h.Declarative=t,h}();var m,g=v.exports,b={exports:{}},A={};b.exports=function(){if(m)return A;m=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(){var e=t.call(this,{})||this;return e.onValidHandler=e.onFormValid.bind(e),e}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){if(this.core.getFormElement().querySelectorAll('[type="submit"][name="submit"]').length)throw new Error("Do not use `submit` for the name attribute of submit button");this.core.on("core.form.valid",this.onValidHandler)},r.prototype.uninstall=function(){this.core.off("core.form.valid",this.onValidHandler)},r.prototype.onFormValid=function(){var e=this.core.getFormElement();this.isEnabled&&e instanceof HTMLFormElement&&e.submit()},r}(i.Plugin);return A.DefaultSubmit=t,A}();var y,E=b.exports,I={exports:{}},x={};I.exports=function(){if(y)return x;y=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(e){var r=t.call(this,e)||this;return r.opts=e||{},r.triggerExecutedHandler=r.onTriggerExecuted.bind(r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){this.core.on("plugins.trigger.executed",this.triggerExecutedHandler)},r.prototype.uninstall=function(){this.core.off("plugins.trigger.executed",this.triggerExecutedHandler)},r.prototype.onTriggerExecuted=function(e){if(this.isEnabled&&this.opts[e.field])for(var t=0,r=this.opts[e.field].split(" ");t<r.length;t++){var a=r[t].trim();this.opts[a]&&this.core.revalidateField(a)}},r}(i.Plugin);return x.Dependency=t,x}();
26271var C,O=I.exports,F={exports:{}},V={};F.exports=function(){if(C)return V;C=1;var e=i,t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)},r=e.utils.removeUndefined,a=function(e){function a(t){var n=e.call(this,t)||this;return n.opts=Object.assign({},{excluded:a.defaultIgnore},r(t)),n.ignoreValidationFilter=n.ignoreValidation.bind(n),n}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(a,e),a.defaultIgnore=function(e,t,r){var a=!!(t.offsetWidth||t.offsetHeight||t.getClientRects().length),n=t.getAttribute("disabled");return""===n||"disabled"===n||"hidden"===t.getAttribute("type")||!a},a.prototype.install=function(){this.core.registerFilter("element-ignored",this.ignoreValidationFilter)},a.prototype.uninstall=function(){this.core.deregisterFilter("element-ignored",this.ignoreValidationFilter)},a.prototype.ignoreValidation=function(e,t,r){return!!this.isEnabled&&this.opts.excluded.apply(this,[e,t,r])},a}(e.Plugin);return V.Excluded=a,V}();var S,k=F.exports,w={exports:{}},H={};w.exports=function(){if(S)return H;S=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(e){var r=t.call(this,e)||this;return r.statuses=new Map,r.opts=Object.assign({},{onStatusChanged:function(){}},e),r.elementValidatingHandler=r.onElementValidating.bind(r),r.elementValidatedHandler=r.onElementValidated.bind(r),r.elementNotValidatedHandler=r.onElementNotValidated.bind(r),r.elementIgnoredHandler=r.onElementIgnored.bind(r),r.fieldAddedHandler=r.onFieldAdded.bind(r),r.fieldRemovedHandler=r.onFieldRemoved.bind(r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){this.core.on("core.element.validating",this.elementValidatingHandler).on("core.element.validated",this.elementValidatedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("core.element.ignored",this.elementIgnoredHandler).on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler)},r.prototype.uninstall=function(){this.statuses.clear(),this.core.off("core.element.validating",this.elementValidatingHandler).off("core.element.validated",this.elementValidatedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("core.element.ignored",this.elementIgnoredHandler).off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler)},r.prototype.areFieldsValid=function(){return Array.from(this.statuses.values()).every((function(e){return"Valid"===e||"NotValidated"===e||"Ignored"===e}))},r.prototype.getStatuses=function(){return this.isEnabled?this.statuses:new Map},r.prototype.onFieldAdded=function(e){this.statuses.set(e.field,"NotValidated")},r.prototype.onFieldRemoved=function(e){this.statuses.has(e.field)&&this.statuses.delete(e.field),this.handleStatusChanged(this.areFieldsValid())},r.prototype.onElementValidating=function(e){this.statuses.set(e.field,"Validating"),this.handleStatusChanged(!1)},r.prototype.onElementValidated=function(e){this.statuses.set(e.field,e.valid?"Valid":"Invalid"),e.valid?this.handleStatusChanged(this.areFieldsValid()):this.handleStatusChanged(!1)},r.prototype.onElementNotValidated=function(e){this.statuses.set(e.field,"NotValidated"),this.handleStatusChanged(!1)},r.prototype.onElementIgnored=function(e){this.statuses.set(e.field,"Ignored"),this.handleStatusChanged(this.areFieldsValid())},r.prototype.handleStatusChanged=function(e){this.isEnabled&&this.opts.onStatusChanged(e)},r}(i.Plugin);return H.FieldStatus=t,H}();var $,N=w.exports,M={exports:{}},T={},L={exports:{}},P={};L.exports=function(){if($)return P;$=1;var e=i,t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)},r=e.utils.classSet,a=function(e){function a(t){var r=e.call(this,t)||this;return r.useDefaultContainer=!1,r.messages=new Map,r.defaultContainer=document.createElement("div"),r.useDefaultContainer=!t||!t.container,r.opts=Object.assign({},{container:function(e,t){return r.defaultContainer}}
26271,t),r.elementIgnoredHandler=r.onElementIgnored.bind(r),r.fieldAddedHandler=r.onFieldAdded.bind(r),r.fieldRemovedHandler=r.onFieldRemoved.bind(r),r.validatorValidatedHandler=r.onValidatorValidated.bind(r),r.validatorNotValidatedHandler=r.onValidatorNotValidated.bind(r),r}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(a,e),a.getClosestContainer=function(e,t,r){for(var a=e;a&&a!==t&&(a=a.parentElement,!r.test(a.className)););return a},a.prototype.install=function(){this.useDefaultContainer&&this.core.getFormElement().appendChild(this.defaultContainer),this.core.on("core.element.ignored",this.elementIgnoredHandler).on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler).on("core.validator.validated",this.validatorValidatedHandler).on("core.validator.notvalidated",this.validatorNotValidatedHandler)},a.prototype.uninstall=function(){this.useDefaultContainer&&this.core.getFormElement().removeChild(this.defaultContainer),this.messages.forEach((function(e){return e.parentNode.removeChild(e)})),this.messages.clear(),this.core.off("core.element.ignored",this.elementIgnoredHandler).off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler).off("core.validator.validated",this.validatorValidatedHandler).off("core.validator.notvalidated",this.validatorNotValidatedHandler)},a.prototype.onEnabled=function(){this.messages.forEach((function(e,t,a){r(t,{"fv-plugins-message-container--enabled":!0,"fv-plugins-message-container--disabled":!1})}))},a.prototype.onDisabled=function(){this.messages.forEach((function(e,t,a){r(t,{"fv-plugins-message-container--enabled":!1,"fv-plugins-message-container--disabled":!0})}))},a.prototype.onFieldAdded=function(e){var t=this,r=e.elements;r&&(r.forEach((function(e){var r=t.messages.get(e);r&&(r.parentNode.removeChild(r),t.messages.delete(e))})),this.prepareFieldContainer(e.field,r))},a.prototype.onFieldRemoved=function(e){var t=this;if(e.elements.length&&e.field){var r=e.elements[0].getAttribute("type");("radio"===r||"checkbox"===r?[e.elements[0]]:e.elements).forEach((function(e){if(t.messages.has(e)){var r=t.messages.get(e);r.parentNode.removeChild(r),t.messages.delete(e)}}))}},a.prototype.prepareFieldContainer=function(e,t){var r=this;if(t.length){var a=t[0].getAttribute("type");"radio"===a||"checkbox"===a?this.prepareElementContainer(e,t[0],t):t.forEach((function(a){return r.prepareElementContainer(e,a,t)}))}},a.prototype.prepareElementContainer=function(e,t,a){var n;if("string"==typeof this.opts.container){var i="#"===this.opts.container.charAt(0)?'[id="'.concat(this.opts.container.substring(1),'"]'):this.opts.container;n=this.core.getFormElement().querySelector(i)}else n=this.opts.container(e,t);var s=document.createElement("div");n.appendChild(s),r(s,{"fv-plugins-message-container":!0,"fv-plugins-message-container--enabled":this.isEnabled,"fv-plugins-message-container--disabled":!this.isEnabled}),this.core.emit("plugins.message.placed",{element:t,elements:a,field:e,messageElement:s}),this.messages.set(t,s)},a.prototype.getMessage=function(e){return"string"==typeof e.message?e.message:e.message[this.core.getLocale()]},a.prototype.onValidatorValidated=function(e){var t,a=e.elements,n=e.element.getAttribute("type"),i=("radio"===n||"checkbox"===n)&&a.length>0?a[0]:e.element;if(this.messages.has(i)){var s=this.messages.get(i),o=s.querySelector('[data-field="'.concat(e.field.replace(/"/g,'\\"'),'"][data-validator="').concat(e.validator.replace(/"/g,'\\"'),'"]'));if(o||e.result.valid)o&&!e.result.valid?(o.innerHTML=this.getMessage(e.result),this.core.emit("plugins.message.displayed",{element:e.element,field:e.field,message:e.result.message,messageElement:o,meta:e.result.meta,validator:e.validator})):o&&e.result.valid&&s.removeChild(o);else{var l=document.createElement("div");l.innerHTML=this.getMessage(e.result),l.setAttribute("data-field",e.field),l.setAttribute("data-validator",e.validator),this.opts.clazz&&r(l,((t={})[this.opts.clazz]=!0,t)),s.appendChild(l),this.core.emit("plugins.message.displayed",{element:e.element,field:e.field,message:e.result.message,messageElement:l,meta:e.result.meta,validator:e.validator})}}},a.prototype.onValidatorNotValidated=function(e){var t=e.elements,r=e.element.getAttribute("type"),a="radio"===r||"checkbox"===r?t[0]:e.element;if(this.messages.has(a)){var n=this.messages.get(a),i=n.querySelector('[data-field="'.concat(e.field.replace(/"/g,'\\"'),'"][data-validator="').concat(e.validator.replace(/"/g,'\\"'),'"]'));i&&n.removeChild(i)}},a.prototype.onElementIgnored=function(e){var t=e.elements,r=e.element.getAttribute("type"),a="radio"===r||"checkbox"===r?t[0]:e.element;if(this.messages.has(a)){var n=this.messages.get(a);[].slice.call(n.querySelectorAll('[data-field="'.concat(e.field.replace(/"/g,'\\"'),'"]'))).forEac
26271h((function(e){n.removeChild(e)}))}},a}(e.Plugin);return P.Message=a,P}();var R,D=L.exports; 26272/** 26273 * FormValidation (https://formvalidation.io) 26274 * The best validation library for JavaScript 26275 * (c) 2013 - 2023 Nguyen Huu Phuoc <[email protected]> 26276 * 26277 * @license https://formvalidation.io/license 26278 * @package @form-validation/plugin-framework 26279 * @version 2.4.0 26280 */M.exports=function(){if(R)return T;R=1;var e=i,t=D,r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},r(e,t)},a=e.utils.classSet,n=e.utils.closest,s=function(e){function i(t){var r=e.call(this,t)||this;return r.results=new Map,r.containers=new Map,r.opts=Object.assign({},{defaultMessageContainer:!0,eleInvalidClass:"",eleValidClass:"",rowClasses:"",rowValidatingClass:""},t),r.elementIgnoredHandler=r.onElementIgnored.bind(r),r.elementValidatingHandler=r.onElementValidating.bind(r),r.elementValidatedHandler=r.onElementValidated.bind(r),r.elementNotValidatedHandler=r.onElementNotValidated.bind(r),r.iconPlacedHandler=r.onIconPlaced.bind(r),r.fieldAddedHandler=r.onFieldAdded.bind(r),r.fieldRemovedHandler=r.onFieldRemoved.bind(r),r.messagePlacedHandler=r.onMessagePlaced.bind(r),r}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function a(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(a.prototype=t.prototype,new a)}(i,e),i.prototype.install=function(){var e,r=this;a(this.core.getFormElement(),((e={})[this.opts.formClass]=!0,e["fv-plugins-framework"]=!0,e)),this.core.on("core.element.ignored",this.elementIgnoredHandler).on("core.element.validating",this.elementValidatingHandler).on("core.element.validated",this.elementValidatedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("plugins.icon.placed",this.iconPlacedHandler).on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler),this.opts.defaultMessageContainer&&(this.core.registerPlugin(i.MESSAGE_PLUGIN,new t.Message({clazz:this.opts.messageClass,container:function(e,a){var i="string"==typeof r.opts.rowSelector?r.opts.rowSelector:r.opts.rowSelector(e,a),s=n(a,i);return t.Message.getClosestContainer(a,s,r.opts.rowPattern)}})),this.core.on("plugins.message.placed",this.messagePlacedHandler))},i.prototype.uninstall=function(){var e;this.results.clear(),this.containers.clear(),a(this.core.getFormElement(),((e={})[this.opts.formClass]=!1,e["fv-plugins-framework"]=!1,e)),this.core.off("core.element.ignored",this.elementIgnoredHandler).off("core.element.validating",this.elementValidatingHandler).off("core.element.validated",this.elementValidatedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("plugins.icon.placed",this.iconPlacedHandler).off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler),this.opts.defaultMessageContainer&&(this.core.deregisterPlugin(i.MESSAGE_PLUGIN),this.core.off("plugins.message.placed",this.messagePlacedHandler))},i.prototype.onEnabled=function(){var e;a(this.core.getFormElement(),((e={})[this.opts.formClass]=!0,e)),this.opts.defaultMessageContainer&&this.core.enablePlugin(i.MESSAGE_PLUGIN)},i.prototype.onDisabled=function(){var e;a(this.core.getFormElement(),((e={})[this.opts.formClass]=!1,e)),this.opts.defaultMessageContainer&&this.core.disablePlugin(i.MESSAGE_PLUGIN)},i.prototype.onIconPlaced=function(e){},i.prototype.onMessagePlaced=function(e){},i.prototype.onFieldAdded=function(e){var t=this,r=e.elements;r&&(r.forEach((function(e){var r,n=t.containers.get(e);n&&(a(n,((r={})[t.opts.rowInvalidClass]=!1,r[t.opts.rowValidatingClass]=!1,r[t.opts.rowValidClass]=!1,r["fv-plugins-icon-container"]=!1,r)),t.containers.delete(e))})),this.prepareFieldContainer(e.field,r))},i.prototype.onFieldRemoved=function(e){var t=this;e.elements.forEach((function(e){var r,n=t.containers.get(e);n&&a(n,((r={})[t.opts.rowInvalidClass]=!1,r[t.opts.rowValidatingClass]=!1,r[t.opts.rowValidClass]=!1,r))}))},i.prototype.prepareFieldContainer=function(e,t){var r=this;if(t.length){var a=t[0].getAttribute("type");"radio"===a||"checkbox"===a?this.prepareElementContainer(e,t[0]):t.forEach((function(t){return r.prepareElementContainer(e,t)}))}},i.prototype.prepareElementContainer=function(e,t){var r,i="string"==typeof this.opts.rowSelector?this.opts.rowSelector:this.opts.rowSelector(e,t),s=n(t,i);s!==t&&(a(s,((r={}
26280)[this.opts.rowClasses]=!0,r["fv-plugins-icon-container"]=!0,r)),this.containers.set(t,s))},i.prototype.onElementValidating=function(e){this.removeClasses(e.element,e.elements)},i.prototype.onElementNotValidated=function(e){this.removeClasses(e.element,e.elements)},i.prototype.onElementIgnored=function(e){this.removeClasses(e.element,e.elements)},i.prototype.removeClasses=function(e,t){var r,n=this,i=e.getAttribute("type"),s="radio"===i||"checkbox"===i?t[0]:e;t.forEach((function(e){var t;a(e,((t={})[n.opts.eleValidClass]=!1,t[n.opts.eleInvalidClass]=!1,t))}));var o=this.containers.get(s);o&&a(o,((r={})[this.opts.rowInvalidClass]=!1,r[this.opts.rowValidatingClass]=!1,r[this.opts.rowValidClass]=!1,r))},i.prototype.onElementValidated=function(e){var t,r,n=this,i=e.elements,s=e.element.getAttribute("type"),o="radio"===s||"checkbox"===s?i[0]:e.element;i.forEach((function(t){var r;a(t,((r={})[n.opts.eleValidClass]=e.valid,r[n.opts.eleInvalidClass]=!e.valid,r))}));var l=this.containers.get(o);if(l)if(e.valid){this.results.delete(o);var d=!0;this.containers.forEach((function(e,t){e===l&&!1===n.results.get(t)&&(d=!1)})),d&&a(l,((r={})[this.opts.rowInvalidClass]=!1,r[this.opts.rowValidatingClass]=!1,r[this.opts.rowValidClass]=!0,r))}else this.results.set(o,!1),a(l,((t={})[this.opts.rowInvalidClass]=!0,t[this.opts.rowValidatingClass]=!1,t[this.opts.rowValidClass]=!1,t))},i.MESSAGE_PLUGIN="___frameworkMessage",i}(e.Plugin);return T.Framework=s,T}();var Z,_=M.exports,B={exports:{}},G={};B.exports=function(){if(Z)return G;Z=1;var e=i,t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)},r=e.utils.classSet,a=function(e){function a(t){var r=e.call(this,t)||this;return r.icons=new Map,r.opts=Object.assign({},{invalid:"fv-plugins-icon--invalid",onPlaced:function(){},onSet:function(){},valid:"fv-plugins-icon--valid",validating:"fv-plugins-icon--validating"},t),r.elementValidatingHandler=r.onElementValidating.bind(r),r.elementValidatedHandler=r.onElementValidated.bind(r),r.elementNotValidatedHandler=r.onElementNotValidated.bind(r),r.elementIgnoredHandler=r.onElementIgnored.bind(r),r.fieldAddedHandler=r.onFieldAdded.bind(r),r}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(a,e),a.prototype.install=function(){this.core.on("core.element.validating",this.elementValidatingHandler).on("core.element.validated",this.elementValidatedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("core.element.ignored",this.elementIgnoredHandler).on("core.field.added",this.fieldAddedHandler)},a.prototype.uninstall=function(){this.icons.forEach((function(e){return e.parentNode.removeChild(e)})),this.icons.clear(),this.core.off("core.element.validating",this.elementValidatingHandler).off("core.element.validated",this.elementValidatedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("core.element.ignored",this.elementIgnoredHandler).off("core.field.added",this.fieldAddedHandler)},a.prototype.onEnabled=function(){this.icons.forEach((function(e,t,a){r(t,{"fv-plugins-icon--enabled":!0,"fv-plugins-icon--disabled":!1})}))},a.prototype.onDisabled=function(){this.icons.forEach((function(e,t,a){r(t,{"fv-plugins-icon--enabled":!1,"fv-plugins-icon--disabled":!0})}))},a.prototype.onFieldAdded=function(e){var t=this,r=e.elements;r&&(r.forEach((function(e){var r=t.icons.get(e);r&&(r.parentNode.removeChild(r),t.icons.delete(e))})),this.prepareFieldIcon(e.field,r))},a.prototype.prepareFieldIcon=function(e,t){var r=this;if(t.length){var a=t[0].getAttribute("type");"radio"===a||"checkbox"===a?this.prepareElementIcon(e,t[0]):t.forEach((function(t){return r.prepareElementIcon(e,t)}))}},a.prototype.prepareElementIcon=function(e,t){var a=document.createElement("i");a.setAttribute("data-field",e),t.parentNode.insertBefore(a,t.nextSibling),r(a,{"fv-plugins-icon":!0,"fv-plugins-icon--enabled":this.isEnabled,"fv-plugins-icon--disabled":!this.isEnabled});
26280var n={classes:{invalid:this.opts.invalid,valid:this.opts.valid,validating:this.opts.validating},element:t,field:e,iconElement:a};this.core.emit("plugins.icon.placed",n),this.opts.onPlaced(n),this.icons.set(t,a)},a.prototype.onElementValidating=function(e){var t,r=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!1,t[this.opts.valid]=!1,t[this.opts.validating]=!0,t)),a={element:e.element,field:e.field,iconElement:r,status:"Validating"};this.core.emit("plugins.icon.set",a),this.opts.onSet(a)},a.prototype.onElementValidated=function(e){var t,r=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!e.valid,t[this.opts.valid]=e.valid,t[this.opts.validating]=!1,t)),a={element:e.element,field:e.field,iconElement:r,status:e.valid?"Valid":"Invalid"};this.core.emit("plugins.icon.set",a),this.opts.onSet(a)},a.prototype.onElementNotValidated=function(e){var t,r=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!1,t[this.opts.valid]=!1,t[this.opts.validating]=!1,t)),a={element:e.element,field:e.field,iconElement:r,status:"NotValidated"};this.core.emit("plugins.icon.set",a),this.opts.onSet(a)},a.prototype.onElementIgnored=function(e){var t,r=this.setClasses(e.field,e.element,e.elements,((t={})[this.opts.invalid]=!1,t[this.opts.valid]=!1,t[this.opts.validating]=!1,t)),a={element:e.element,field:e.field,iconElement:r,status:"Ignored"};this.core.emit("plugins.icon.set",a),this.opts.onSet(a)},a.prototype.setClasses=function(e,t,a,n){var i=t.getAttribute("type"),s="radio"===i||"checkbox"===i?a[0]:t;if(this.icons.has(s)){var o=this.icons.get(s);return r(o,n),o}return null},a}(e.Plugin);return G.Icon=a,G}();var U,j=B.exports,K={exports:{}},z={};K.exports=function(){if(U)return z;U=1;var e=i,t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)},r=e.utils.removeUndefined,a=function(e){function a(t){var a=e.call(this,t)||this;return a.invalidFields=new Map,a.opts=Object.assign({},{enabled:!0},r(t)),a.validatorHandler=a.onValidatorValidated.bind(a),a.shouldValidateFilter=a.shouldValidate.bind(a),a.fieldAddedHandler=a.onFieldAdded.bind(a),a.elementNotValidatedHandler=a.onElementNotValidated.bind(a),a.elementValidatingHandler=a.onElementValidating.bind(a),a}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(a,e),a.prototype.install=function(){this.core.on("core.validator.validated",this.validatorHandler).on("core.field.added",this.fieldAddedHandler).on("core.element.notvalidated",this.elementNotValidatedHandler).on("core.element.validating",this.elementValidatingHandler).registerFilter("field-should-validate",this.shouldValidateFilter)},a.prototype.uninstall=function(){this.invalidFields.clear(),this.core.off("core.validator.validated",this.validatorHandler).off("core.field.added",this.fieldAddedHandler).off("core.element.notvalidated",this.elementNotValidatedHandler).off("core.element.validating",this.elementValidatingHandler).deregisterFilter("field-should-validate",this.shouldValidateFilter)},a.prototype.shouldValidate=function(e,t,r,a){return!this.isEnabled||!((!0===this.opts.enabled||!0===this.opts.enabled[e])&&this.invalidFields.has(t)&&this.invalidFields.get(t).length&&-1===this.invalidFields.get(t).indexOf(a))},a.prototype.onValidatorValidated=function(e){var t=this.invalidFields.has(e.element)?this.invalidFields.get(e.element):[],r=t.indexOf(e.validator);e.result.valid&&r>=0?t.splice(r,1):e.result.valid||-1!==r||t.push(e.validator),this.invalidFields.set(e.element,t)},a.prototype.onFieldAdded=function(e){e.elements&&this.clearInvalidFields(e.elements)},a.prototype.onElementNotValidated=function(e){this.clearInvalidFields(e.elements)},a.prototype.onElementValidating=function(e){this.clearInvalidFields(e.elements)},a.prototype.clearInvalidFields=function(e){var t=this;e.forEach((function(e){return t.invalidFields.delete(e)}))},a}(e.Plugin);return z.Sequence=a,z}();var Y,J=K.exports,X={exports:{}},W={};X.exports=function(){if(Y)return W;Y=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(e){var r=t.call(this,e)||this;return r.isFormValid=!1,r.isButtonClicked=!1,r.opts=Object.assign({},{aspNetButton:!1,buttons:function(e){return[].slice.call(e.querySelectorAll('[type="submit"]:not([formnovalidate])'))},liveMode:!0},e),r.submitHandler=r.handleSubmitEvent.bind(r),r.buttonClickHandler=r.handleClickEvent.bind(r),r.ignoreValidationFilter=r.ignoreValidation.bind(r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){var e=this;if(this.core.getFormElement()instanceof HTMLFormElement){var t=this.core.getFormElement();this.submitButtons=this.opts.buttons(t),t.setAttribute("novalidate","novalidate"),t.addEventListener("submit",this.submitHandler),this.hiddenClickedEle=document.createElement("input"),this.hiddenClickedEle.setAttribute("type","hidden"),t.appendChild(this.hiddenClickedEle),this.submitButtons.forEach((function(t){t.addEventListener("click",e.buttonClickHandler)})),this.core.registerFilter("element-ignored",this.ignoreValidationFilter)}},r.prototype.uninstall=function(){var e=this,t=this.core.getFormElement();t instanceof HTMLFormElement&&t.removeEventListener("submit",this.submitHandler),this.submitButtons.forEach((function(t){t.removeEventListener("click",e.buttonClickHandler)})),this.hiddenClickedEle.parentElement.removeChild(this.hiddenClickedEle),this.core.deregisterFilter("element-ignored",this.ignoreValidationFilter)},r.prototype.handleSubmitEvent=function(e){this.validateForm(e)},r.prototype.handleClickEvent=function(e){var t=e.currentTarget;if(this.isButtonClicked=!0,t instanceof HTMLElement)if(this.opts.aspNetButton&&!0===this.isFormValid);else{this.core.getFormElement().removeEventListener("submit",this.submitHandler),this.clickedButton=e.target;var r=this.clickedButton.getAttribute("name"),a=this.clickedButton.getAttribute("value");r&&a&&(this.hiddenClickedEle.setAttribute("name",r),this.hiddenClickedEle.setAttribute("value",a)),this.validateForm(e)}},r.prototype.validateForm=function(e){var t=this;this.isEnabled&&(e.preventDefault(),this.core.validate().then((function(e){"Valid"===e&&t.opts.aspNetButton&&!t.isFormValid&&t.clickedButton&&(t.isFormValid=!0,t.clickedButton.removeEventListener("click",t.buttonClickHandler),t.clickedButton.click())})))},r.prototype.ignoreValidation=function(e,t,r){return!!this.isEnabled&&!this.opts.liveMode&&!this.isButtonClicked},r}(i.Plugin);return W.SubmitButton=t,W}();var q,Q=X.exports,ee={exports:{}},te={};ee.exports=function(){if(q)return te;q=1;var e=i,t=function(e,r){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},t(e,r)},r=e.utils.classSet,a=function(e){function a(t){var r=e.call(this,t)||this;return r.messages=new Map,r.opts=Object.assign({},{placement:"top",trigger:"click"},t),r.iconPlacedHandler=r.onIconPlaced.bind(r),r.validatorValidatedHandler=r.onValidatorValidated.bind(r),r.elementValidatedHandler=r.onElementValidated.bind(r),r.documentClickHandler=r.onDocumentClicked.bind(r),r}return function(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=e}t(e,r),e.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(a,e),a.prototype.install=function(){var e;this.tip=document.createElement("div"),r(this.tip,((e={"fv-plugins-tooltip":!0})["fv-plugins-tooltip--".concat(this.opts.placement)]=!0,e)),document.body.appendChild(this.tip),this.core.on("plugins.icon.placed",this.iconPlacedHandler).on("core.validator.validated",this.validatorValidatedHandler).on("core.element.validated",this.elementValidatedHandler),"click"===this.opts.trigger&&document.addEventListener("click",this.documentClickHandler)},a.prototype.uninstall=function(){this.messages.clear(),document.body.removeChild(this.tip),this.core.off("plugins.icon.placed",this.iconPlacedHandler).off("core.validator.validated",this.validatorValidatedHandler).off("core.element.validated",this.elementValidatedHandler),"click"===this.opts.trigger&&document.removeEventListener("click",this.documentClickHandler)},a.prototype.onIconPlaced=function(e){var t=this;r(e.iconElement,{"fv-plugins-tooltip-icon":!0}),"hover"===this.opts.trigger?(e.iconElement.addEventListener("mouseenter",(function(r){return t.show(e.element,r)})),e.iconElement.addEventListener("mouseleave",(function(e){return t.hide()}))):e.iconElement.addEventListener("click",(function(r){return t.show(e.element,r)}))},a.prototype.onValidatorValidated=function(e){if(!e.result.valid){var t=e.elements,r=e.element.getAttribute("type"),a="radio"===r||"checkbox"===r?t[0]:e.element,n="string"==typeof e.result.message?e.result.message:e.result.message[this.core.getLocale()];this.messages.set(a,n)}},a.prototype.onElementValidated=function(e){if(e.valid){var t=e.elements,r=e.element.getAttribute("type"),a="radio"===r||"checkbox"===r?t[0]:e.element;this.messages.delete(a)}},a.prototype.onDocumentClicked=function(e){this.hide()},a.prototype.show=function(e,t){if(this.isEnabled&&(t.preventDefault(),t.stopPropagation(),this.messages.has(e))){r(this.tip,{"fv-plugins-tooltip--hide":!1}),this.tip.innerHTML='<div class="fv-plugins-tooltip__content">'.concat(this.messages.get(e),"</div>");var a=t.target.getBoundingClientRect(),n=this.tip.getBoundingClientRect(),i=n.height,s=n.width,o=0,l=0;switch(this.opts.placement){case"bottom":o=a.top+a.height,l=a.left+a.width/2-s/2;break;case"bottom-left":o=a.top+a.height,l=a.left;break;case"bottom-right":o=a.top+a.height,l=a.left+a.width-s;break;case"left":o=a.top+a.height/2-i/2,l=a.left-s;break;case"right":o=a.top+a.height/2-i/2,l=a.left+a.width;break;case"top-left":o=a.top-i,l=a.left;break;case"top-right":o=a.top-i,l=a.left+a.width-s;break;default:o=a.top-i,l=a.left+a.width/2-s/2}o+=window.scrollY||document.documentElement.scrollTop||document.body.scrollTop||0,l+=window.scrollX||document.documentElement.scrollLeft||document.body.scrollLeft||0,this.tip.setAttribute("style","top: ".concat(o,"px; left: ").concat(l,"px"))}},a.prototype.hide=function(){this.isEnabled&&r(this.tip,{"fv-plugins-tooltip--hide":!0})},a}(e.Plugin);return te.Tooltip=a,te}();var re,ae=ee.exports,ne={exports:{}},ie={};ne.exports=function(){if(re)return ie;re=1;var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},e(t,r)},t=function(t){function r(e){var r=t.call(this,e)||this;r.handlers=[],r.timers=new Map;var a=document.createElement("div");return r.defaultEvent="oninput"in a?"input":"keyup",r.opts=Object.assign({},{delay:0,event:r.defaultEvent,threshold:0},e),r.fieldAddedHandler=r.onFieldAdded.bind(r),r.fieldRemovedHandler=r.onFieldRemoved.bind(r),r}return function(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function a(){this.constructor=t}e(t,r),t.prototype=null===r?Object.create(r):(a.prototype=r.prototype,new a)}(r,t),r.prototype.install=function(){this.core.on("core.field.added",this.fieldAddedHandler).on("core.field.removed",this.fieldRemovedHandler)}
26280,r.prototype.uninstall=function(){this.handlers.forEach((function(e){return e.element.removeEventListener(e.event,e.handler)})),this.handlers=[],this.timers.forEach((function(e){return window.clearTimeout(e)})),this.timers.clear(),this.core.off("core.field.added",this.fieldAddedHandler).off("core.field.removed",this.fieldRemovedHandler)},r.prototype.prepareHandler=function(e,t){var r=this;t.forEach((function(t){var a=[];if(r.opts.event&&!1===r.opts.event[e])a=[];else if(r.opts.event&&r.opts.event[e]&&"function"!=typeof r.opts.event[e])a=r.opts.event[e].split(" ");else if("string"==typeof r.opts.event&&r.opts.event!==r.defaultEvent)a=r.opts.event.split(" ");else{var n=t.getAttribute("type"),i=t.tagName.toLowerCase();a=["radio"===n||"checkbox"===n||"file"===n||"select"===i?"change":r.ieVersion>=10&&t.getAttribute("placeholder")?"keyup":r.defaultEvent]}a.forEach((function(a){var n=function(a){return r.handleEvent(a,e,t)};r.handlers.push({element:t,event:a,field:e,handler:n}),t.addEventListener(a,n)}))}))},r.prototype.handleEvent=function(e,t,r){var a=this;if(this.isEnabled&&this.exceedThreshold(t,r)&&this.core.executeFilter("plugins-trigger-should-validate",!0,[t,r])){var n=function(){return a.core.validateElement(t,r).then((function(n){a.core.emit("plugins.trigger.executed",{element:r,event:e,field:t})}))},i=this.opts.delay[t]||this.opts.delay;if(0===i)n();else{var s=this.timers.get(r);s&&window.clearTimeout(s),this.timers.set(r,window.setTimeout(n,1e3*i))}}},r.prototype.onFieldAdded=function(e){this.handlers.filter((function(t){return t.field===e.field})).forEach((function(e){return e.element.removeEventListener(e.event,e.handler)})),this.prepareHandler(e.field,e.elements)},r.prototype.onFieldRemoved=function(e){this.handlers.filter((function(t){return t.field===e.field&&e.elements.indexOf(t.element)>=0})).forEach((function(e){return e.element.removeEventListener(e.event,e.handler)}))},r.prototype.exceedThreshold=function(e,t){var r=0!==this.opts.threshold[e]&&0!==this.opts.threshold&&(this.opts.threshold[e]||this.opts.threshold);if(!r)return!0;var a=t.getAttribute("type");return-1!==["button","checkbox","file","hidden","image","radio","reset","submit"].indexOf(a)||this.core.getElementValue(e,t).length>=r},r}(i.Plugin);return ie.Trigger=t,ie}();var se,oe=ne.exports,le={exports:{}},de={};le.exports=function(){if(se)return de;se=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return de.between=function(){var e=function(e){return parseFloat("".concat(e).replace(",","."))};return{validate:function(a){var n=a.value;if(""===n)return{valid:!0};var i=Object.assign({},{inclusive:!0,message:""},r(a.options)),s=e(i.min),o=e(i.max);return i.inclusive?{message:t(a.l10n?i.message||a.l10n.between.default:i.message,["".concat(s),"".concat(o)]),valid:parseFloat(n)>=s&&parseFloat(n)<=o}:{message:t(a.l10n?i.message||a.l10n.between.notInclusive:i.message,["".concat(s),"".concat(o)]),valid:parseFloat(n)>s&&parseFloat(n)<o}}}},de}();var ue,ce=le.exports,fe={exports:{}},pe={};fe.exports=(ue||(ue=1,pe.blank=function(){return{validate:function(e){return{valid:!0}}}}),pe);var ve,he=fe.exports,me={exports:{}},ge={};me.exports=function(){if(ve)return ge;ve=1;var e=i.utils.call;return ge.callback=function(){return{validate:function(t){var r=e(t.options.callback,[t]);return"boolean"==typeof r?{valid:r}:r}}},ge}();var be,Ae=me.exports,ye={exports:{}},Ee={};ye.exports=function(){if(be)return Ee;be=1;var e=i.utils.format;return Ee.choice=function(){return{validate:function(t){var r="select"===t.element.tagName.toLowerCase()?t.element.querySelectorAll("option:checked").length:t.elements.filter((function(e){return e.checked})).length,a=t.options.min?"".concat(t.options.min):"",n=t.options.max?"".concat(t.options.max):"",i=t.l10n?t.options.message||t.l10n.choice.default:t.options.message,s=!(a&&r<parseInt(a,10)||n&&r>parseInt(n,10));switch(!0){case!!a&&!!n:i=e(t.l10n?t.l10n.choice.between:t.options.message,[a,n]);break;case!!a:i=e(t.l10n?t.l10n.choice.more:t.options.message,a);break;case!!n:i=e(t.l10n?t.l10n.choice.less:t.options.message,n)}return{message:i,valid:s}}}},Ee}();var Ie,xe=ye.exports,Ce={exports:{}},Oe={};Ce.exports=function(){if(Ie)return Oe;Ie=1;var e=i.algorithms.luhn,t={AMERICAN_EXPRESS:{length:[15],prefix:["34","37"]},DANKORT:{length:[16],prefix:["5019"]},DINERS_CLUB:{length:[14],prefix:["300","301","302","303","304","305","36"]},DINERS_CLUB_US:{length:[16],prefix:["54","55"]},DISCOVER:{length:[16],prefix:["6011","622126","622127","622128","622129","62213","62214","62215","62216","62217","62218","62219","6222","6223","6224","6225","6226","6227","6228","62290","62291","622920","622921","622922","622923","622924","622925","644","645","646","647","648","649","65"]},ELO:{length:[16],prefix:["4011","4312","4389","4514","4573","4576","5041","5066","5067","509","6277","6362","6363","650","6516","6550"]},FORBRUGSFORENINGEN:{length:[16],prefix:["600722"]},JCB:{length:[16],prefix:["3528","3529","353","354","355","356","357","358"]},LASER:{length:[16,17,18,19],prefix:["6304","6706","6771","6709"]},MAESTRO:{length:[12,13,14,15,16,17,18,19],prefix:["5018","5020","5038","5868","6304","6759","6761","6762","6763","6764","6765","6766"]}
26280,MASTERCARD:{length:[16],prefix:["51","52","53","54","55"]},SOLO:{length:[16,18,19],prefix:["6334","6767"]},UNIONPAY:{length:[16,17,18,19],prefix:["622126","622127","622128","622129","62213","62214","62215","62216","62217","62218","62219","6222","6223","6224","6225","6226","6227","6228","62290","62291","622920","622921","622922","622923","622924","622925"]},VISA:{length:[16],prefix:["4"]},VISA_ELECTRON:{length:[16],prefix:["4026","417500","4405","4508","4844","4913","4917"]}};return Oe.CREDIT_CARD_TYPES=t,Oe.creditCard=function(){return{validate:function(r){if(""===r.value)return{meta:{type:null},valid:!0};if(/[^0-9-\s]+/.test(r.value))return{meta:{type:null},valid:!1};var a=r.value.replace(/\D/g,"");if(!e(a))return{meta:{type:null},valid:!1};for(var n=0,i=Object.keys(t);n<i.length;n++){var s=i[n];for(var o in t[s].prefix)if(r.value.substr(0,t[s].prefix[o].length)===t[s].prefix[o]&&-1!==t[s].length.indexOf(a.length))return{meta:{type:s},valid:!0}}return{meta:{type:null},valid:!1}}}},Oe}();var Fe,Ve=Ce.exports,Se={exports:{}},ke={};Se.exports=function(){if(Fe)return ke;Fe=1;var e=i,t=e.utils.format,r=e.utils.isValidDate,a=e.utils.removeUndefined,n=function(e,t,r){var a=t.indexOf("YYYY"),n=t.indexOf("MM"),i=t.indexOf("DD");if(-1===a||-1===n||-1===i)return null;var s=e.split(" "),o=s[0].split(r);if(o.length<3)return null;var l=new Date(parseInt(o[a],10),parseInt(o[n],10)-1,parseInt(o[i],10)),d=s.length>2?s[2]:null;if(s.length>1){var u=s[1].split(":"),c=u.length>0?parseInt(u[0],10):0;l.setHours(d&&"PM"===d.toUpperCase()&&c<12?c+12:c),l.setMinutes(u.length>1?parseInt(u[1],10):0),l.setSeconds(u.length>2?parseInt(u[2],10):0)}return l},s=function(e,t){var r=t.replace(/Y/g,"y").replace(/M/g,"m").replace(/D/g,"d").replace(/:m/g,":M").replace(/:mm/g,":MM").replace(/:S/,":s").replace(/:SS/,":ss"),a=e.getDate(),n=a<10?"0".concat(a):a,i=e.getMonth()+1,s=i<10?"0".concat(i):i,o="".concat(e.getFullYear()).substr(2),l=e.getFullYear(),d=e.getHours()%12||12,u=d<10?"0".concat(d):d,c=e.getHours(),f=c<10?"0".concat(c):c,p=e.getMinutes(),v=p<10?"0".concat(p):p,h=e.getSeconds(),m=h<10?"0".concat(h):h,g={H:"".concat(c),HH:"".concat(f),M:"".concat(p),MM:"".concat(v),d:"".concat(a),dd:"".concat(n),h:"".concat(d),hh:"".concat(u),m:"".concat(i),mm:"".concat(s),s:"".concat(h),ss:"".concat(m),yy:"".concat(o),yyyy:"".concat(l)};return r.replace(/d{1,4}|m{1,4}|yy(?:yy)?|([HhMs])\1?|"[^"]*"|'[^']*'/g,(function(e){return g[e]?g[e]:e.slice(1,e.length-1)}))};return ke.date=function(){return{validate:function(e){if(""===e.value)return{meta:{date:null},valid:!0};var i=Object.assign({},{format:e.element&&"date"===e.element.getAttribute("type")?"YYYY-MM-DD":"MM/DD/YYYY",message:""},a(e.options)),o=e.l10n?e.l10n.date.default:i.message,l={message:"".concat(o),meta:{date:null},valid:!1},d=i.format.split(" "),u=d.length>1?d[1]:null,c=d.length>2?d[2]:null,f=e.value.split(" "),p=f[0],v=f.length>1?f[1]:null,h=f.length>2?f[2]:null;if(d.length!==f.length)return l;var m=i.separator||(-1!==p.indexOf("/")?"/":-1!==p.indexOf("-")?"-":-1!==p.indexOf(".")?".":"/");if(null===m||-1===p.indexOf(m))return l;var g=p.split(m),b=d[0].split(m);if(g.length!==b.length)return l;var A=g[b.indexOf("YYYY")],y=g[b.indexOf("MM")],E=g[b.indexOf("DD")];if(!/^\d+$/.test(A)||!/^\d+$/.test(y)||!/^\d+$/.test(E)||A.length>4||y.length>2||E.length>2)return l;var I=parseInt(A,10),x=parseInt(y,10),C=parseInt(E,10);if(!r(I,x,C))return l;var O=new Date(I,x-1,C);if(u){var F=v.split(":");if(u.split(":").length!==F.length)return l;var V=F.length>0?F[0].length<=2&&/^\d+$/.test(F[0])?parseInt(F[0],10):-1:0,S=F.length>1?F[1].length<=2&&/^\d+$/.test(F[1])?parseInt(F[1],10):-1:0,k=F.length>2?F[2].length<=2&&/^\d+$/.test(F[2])?parseInt(F[2],10):-1:0;if(-1===V||-1===S||-1===k)return l;if(k<0||k>60)return l;if(V<0||V>=24||c&&V>12)return l;if(S<0||S>59)return l;O.setHours(h&&"PM"===h.toUpperCase()&&V<12?V+12:V),O.setMinutes(S),O.setSeconds(k)}var w="function"==typeof i.min?i.min():i.min,H=w instanceof Date?w:w?n(w,b,m):O,$="function"==typeof i.max?i.max():i.max,N=$ instanceof Date?$:$?n($,b,m):O,M=w instanceof Date?s(H,i.format):w,T=$ instanceof Date?s(N,i.format):$;switch(!0){case!!M&&!T:return{message:t(e.l10n?e.l10n.date.min:o,M),meta:{date:O},valid:O.getTime()>=H.getTime()};case!!T&&!M:return{message:t(e.l10n?e.l10n.date.max:o,T),meta:{date:O},valid:O.getTime()<=N.getTime()};case!!T&&!!M:return{message:t(e.l10n?e.l10n.date.range:o,[M,T]),meta:{date:O},valid:O.getTime()<=N.getTime()&&O.getTime()>=H.getTime()};default:return{message:"".concat(o),meta:{date:O},valid:!0}}}}},ke}();var we,He=Se.exports,$e={exports:{}},Ne={};$e.exports=(we||(we=1,Ne.different=function(){return{validate:function(e){var t="function"==typeof e.o
26280ptions.compare?e.options.compare.call(this):e.options.compare;return{valid:""===t||e.value!==t}}}}),Ne);var Me,Te=$e.exports,Le={exports:{}},Pe={};Le.exports=(Me||(Me=1,Pe.digits=function(){return{validate:function(e){return{valid:""===e.value||/^\d+$/.test(e.value)}}}}),Pe);var Re,De=Le.exports,Ze={exports:{}},_e={};Ze.exports=function(){if(Re)return _e;Re=1;var e=i.utils.removeUndefined,t=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,r=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/;return _e.emailAddress=function(){return{validate:function(a){if(""===a.value)return{valid:!0};var n=Object.assign({},{multiple:!1,requireGlobalDomain:!1,separator:/[,;]/},e(a.options)),i=n.requireGlobalDomain?r:t;if(!0===n.multiple||"true"==="".concat(n.multiple)){for(var s=n.separator||/[,;]/,o=function(e,t){for(var r=e.split(/"/),a=r.length,n=[],i="",s=0;s<a;s++)if(s%2==0){var o=r[s].split(t),l=o.length;if(1===l)i+=o[0];else{n.push(i+o[0]);for(var d=1;d<l-1;d++)n.push(o[d]);i=o[l-1]}}else i+='"'+r[s],s<a-1&&(i+='"');return n.push(i),n}(a.value,s),l=o.length,d=0;d<l;d++)if(!i.test(o[d]))return{valid:!1};return{valid:!0}}return{valid:i.test(a.value)}}}},_e}();var Be,Ge=Ze.exports,Ue={exports:{}},je={};Ue.exports=function(){if(Be)return je;Be=1;var e=function(e){return-1===e.indexOf(".")?e:e.split(".").slice(0,-1).join(".")};return je.file=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r,a,n=t.options.extension?t.options.extension.toLowerCase().split(",").map((function(e){return e.trim()})):[],i=t.options.type?t.options.type.toLowerCase().split(",").map((function(e){return e.trim()})):[];if(window.File&&window.FileList&&window.FileReader){var s=t.element.files,o=s.length,l=0;if(t.options.maxFiles&&o>parseInt("".concat(t.options.maxFiles),10))return{meta:{error:"INVALID_MAX_FILES"},valid:!1};if(t.options.minFiles&&o<parseInt("".concat(t.options.minFiles),10))return{meta:{error:"INVALID_MIN_FILES"},valid:!1};for(var d={},u=0;u<o;u++){if(l+=s[u].size,d={ext:r=s[u].name.substr(s[u].name.lastIndexOf(".")+1),file:s[u],size:s[u].size,type:s[u].type},t.options.minSize&&s[u].size<parseInt("".concat(t.options.minSize),10))return{meta:Object.assign({},{error:"INVALID_MIN_SIZE"},d),valid:!1};if(t.options.maxSize&&s[u].size>parseInt("".concat(t.options.maxSize),10))return{meta:Object.assign({},{error:"INVALID_MAX_SIZE"},d),valid:!1};if(n.length>0&&-1===n.indexOf(r.toLowerCase()))return{meta:Object.assign({},{error:"INVALID_EXTENSION"},d),valid:!1};if(i.length>0&&s[u].type&&-1===i.indexOf(s[u].type.toLowerCase()))return{meta:Object.assign({},{error:"INVALID_TYPE"},d),valid:!1};if(t.options.validateFileName&&!t.options.validateFileName(e(s[u].name)))return{meta:Object.assign({},{error:"INVALID_NAME"},d),valid:!1}}if(t.options.maxTotalSize&&l>parseInt("".concat(t.options.maxTotalSize),10))return{meta:Object.assign({},{error:"INVALID_MAX_TOTAL_SIZE",totalSize:l},d),valid:!1};if(t.options.minTotalSize&&l<parseInt("".concat(t.options.minTotalSize),10))return{meta:Object.assign({},{error:"INVALID_MIN_TOTAL_SIZE",totalSize:l},d),valid:!1}}else{if(r=t.value.substr(t.value.lastIndexOf(".")+1),n.length>0&&-1===n.indexOf(r.toLowerCase()))return{meta:{error:"INVALID_EXTENSION",ext:r},valid:!1};if(a=e(t.value),t.options.validateFileName&&!t.options.validateFileName(a))return{meta:{error:"INVALID_NAME",name:a},valid:!1}}return{valid:!0}}}},je}();var Ke,ze=Ue.exports,Ye={exports:{}},Je={};Ye.exports=function(){if(Ke)return Je;Ke=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return Je.greaterThan=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var a=Object.assign({},{inclusive:!0,message:""},r(e.options)),n=parseFloat("".concat(a.min).replace(",","."));return a.inclusive?{message:t(e.l10n?a.message||e.l10n.greaterThan.default:a.message,"".concat(n)),valid:parseFloat(e.value)>=n}:{message:t(e.l10n?a.message||e.l10n.greaterThan.notInclusive:a.message,"".concat(n)),valid:parseFloat(e.value)>n}}}},Je}();var Xe,We=Ye.exports,qe={exports:{}},Qe={};qe.exports=(Xe||(Xe=1,Qe.identical=function(){return{validate:function(e){var t="function"==typeof e.o
26280ptions.compare?e.options.compare.call(this):e.options.compare;return{valid:""===t||e.value===t}}}}),Qe);var et,tt=qe.exports,rt={exports:{}},at={};rt.exports=function(){if(et)return at;et=1;var e=i.utils.removeUndefined;return at.integer=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=Object.assign({},{decimalSeparator:".",thousandsSeparator:""},e(t.options)),a="."===r.decimalSeparator?"\\.":r.decimalSeparator,n="."===r.thousandsSeparator?"\\.":r.thousandsSeparator,i=new RegExp("^-?[0-9]{1,3}(".concat(n,"[0-9]{3})*(").concat(a,"[0-9]+)?$")),s=new RegExp(n,"g"),o="".concat(t.value);if(!i.test(o))return{valid:!1};n&&(o=o.replace(s,"")),a&&(o=o.replace(a,"."));var l=parseFloat(o);return{valid:!isNaN(l)&&isFinite(l)&&Math.floor(l)===l}}}},at}();var nt,it=rt.exports,st={exports:{}},ot={};st.exports=function(){if(nt)return ot;nt=1;var e=i.utils.removeUndefined;return ot.ip=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=Object.assign({},{ipv4:!0,ipv6:!0},e(t.options)),a=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(\/([0-9]|[1-2][0-9]|3[0-2]))?$/,n=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*(\/(\d|\d\d|1[0-1]\d|12[0-8]))?$/;switch(!0){case r.ipv4&&!r.ipv6:return{message:t.l10n?r.message||t.l10n.ip.ipv4:r.message,valid:a.test(t.value)};case!r.ipv4&&r.ipv6:return{message:t.l10n?r.message||t.l10n.ip.ipv6:r.message,valid:n.test(t.value)};case r.ipv4&&r.ipv6:default:return{message:t.l10n?r.message||t.l10n.ip.default:r.message,valid:a.test(t.value)||n.test(t.value)}}}}},ot}();var lt,dt=st.exports,ut={exports:{}},ct={};ut.exports=function(){if(lt)return ct;lt=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return ct.lessThan=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var a=Object.assign({},{inclusive:!0,message:""},r(e.options)),n=parseFloat("".concat(a.max).replace(",","."));return a.inclusive?{message:t(e.l10n?a.message||e.l10n.lessThan.default:a.message,"".concat(n)),valid:parseFloat(e.value)<=n}:{message:t(e.l10n?a.message||e.l10n.lessThan.notInclusive:a.message,"".concat(n)),valid:parseFloat(e.value)<n}}}},ct}();var ft,pt=ut.exports,vt={exports:{}},ht={};vt.exports=(ft||(ft=1,ht.notEmpty=function(){return{validate:function(e){var t=!!e.options&&!!e.options.trim,r=e.value;return{valid:!t&&""!==r||t&&""!==r&&""!==r.trim()}}}}),ht);var mt,gt=vt.exports,bt={exports:{}},At={};bt.exports=function(){if(mt)return At;mt=1;var e=i.utils.removeUndefined;return At.numeric=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=Object.assign({},{decimalSeparator:".",thousandsSeparator:""},e(t.options)),a="".concat(t.value);a.substr(0,1)===r.decimalSeparator?a="0".concat(r.decimalSeparator).concat(a.substr(1)):a.substr(0,2)==="-".concat(r.decimalSeparator)&&(a="-0".concat(r.decimalSeparator).concat(a.substr(2)));var n="."===r.decimalSeparator?"\\.":r.decimalSeparator,i="."===r.thousandsSeparator?"\\.":r.thousandsSeparator,s=new RegExp("^-?[0-9]{1,3}(".concat(i,"[0-9]{3})*(").concat(n,"[0-9]+)?$")),o=new RegExp(i,"g");if(!s.test(a))return{valid:!1};i&&(a=a.replace(o,"")),n&&(a=a.replace(n,"."));var l=parseFloat(a);return{valid:!isNaN(l)&&isFinite(l)}}}},At}();
26280var yt,Et=bt.exports,It={exports:{}},xt={};It.exports=function(){if(yt)return xt;yt=1;var e=i.utils.call;return xt.promise=function(){return{validate:function(t){return e(t.options.promise,[t])}}},xt}();var Ct,Ot=It.exports,Ft={exports:{}},Vt={};Ft.exports=(Ct||(Ct=1,Vt.regexp=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var t=e.options.regexp;if(t instanceof RegExp)return{valid:t.test(e.value)};var r=t.toString();return{valid:(e.options.flags?new RegExp(r,e.options.flags):new RegExp(r)).test(e.value)}}}}),Vt);var St,kt=Ft.exports,wt={exports:{}},Ht={};wt.exports=function(){if(St)return Ht;St=1;var e=i,t=e.utils.fetch,r=e.utils.removeUndefined;return Ht.remote=function(){var e={crossDomain:!1,data:{},headers:{},method:"GET",validKey:"valid"};return{validate:function(a){if(""===a.value)return Promise.resolve({valid:!0});var n=Object.assign({},e,r(a.options)),i=n.data;"function"==typeof n.data&&(i=n.data.call(this,a)),"string"==typeof i&&(i=JSON.parse(i)),i[n.name||a.field]=a.value;var s="function"==typeof n.url?n.url.call(this,a):n.url;return t(s,{crossDomain:n.crossDomain,headers:n.headers,method:n.method,params:i}).then((function(e){return Promise.resolve({message:e.message,meta:e,valid:"true"==="".concat(e[n.validKey])})})).catch((function(e){return Promise.reject({valid:!1})}))}}},Ht}();var $t,Nt=wt.exports,Mt={exports:{}},Tt={};Mt.exports=function(){if($t)return Tt;$t=1;var e=i.utils.removeUndefined;return Tt.stringCase=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=Object.assign({},{case:"lower"},e(t.options)),a=(r.case||"lower").toLowerCase();return{message:r.message||(t.l10n?"upper"===a?t.l10n.stringCase.upper:t.l10n.stringCase.default:r.message),valid:"upper"===a?t.value===t.value.toUpperCase():t.value===t.value.toLowerCase()}}}},Tt}();var Lt,Pt=Mt.exports,Rt={exports:{}},Dt={};Rt.exports=function(){if(Lt)return Dt;Lt=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return Dt.stringLength=function(){return{validate:function(e){var a=Object.assign({},{message:"",trim:!1,utf8Bytes:!1},r(e.options)),n=!0===a.trim||"true"==="".concat(a.trim)?e.value.trim():e.value;if(""===n)return{valid:!0};var i=a.min?"".concat(a.min):"",s=a.max?"".concat(a.max):"",o=a.utf8Bytes?function(e){for(var t=e.length,r=e.length-1;r>=0;r--){var a=e.charCodeAt(r);a>127&&a<=2047?t++:a>2047&&a<=65535&&(t+=2),a>=56320&&a<=57343&&r--}return t}(n):n.length,l=!0,d=e.l10n?a.message||e.l10n.stringLength.default:a.message;switch((i&&o<parseInt(i,10)||s&&o>parseInt(s,10))&&(l=!1),!0){case!!i&&!!s:d=t(e.l10n?a.message||e.l10n.stringLength.between:a.message,[i,s]);break;case!!i:d=t(e.l10n?a.message||e.l10n.stringLength.more:a.message,"".concat(parseInt(i,10)));break;case!!s:d=t(e.l10n?a.message||e.l10n.stringLength.less:a.message,"".concat(parseInt(s,10)))}return{message:d,valid:l}}}},Dt}();var Zt,_t=Rt.exports,Bt={exports:{}},Gt={};Bt.exports=function(){if(Zt)return Gt;Zt=1;var e=i.utils.removeUndefined;return Gt.uri=function(){var t={allowEmptyProtocol:!1,allowLocal:!1,protocol:"http, https, ftp"};return{validate:function(r){if(""===r.value)return{valid:!0};var a=Object.assign({},t,e(r.options)),n=!0===a.allowLocal||"true"==="".concat(a.allowLocal),i=!0===a.allowEmptyProtocol||"true"==="".concat(a.allowEmptyProtocol),s=a.protocol.split(",").join("|").replace(/\s/g,"");return{valid:new RegExp("^(?:(?:"+s+")://)"+(i?"?":"")+"(?:\\S+(?::\\S*)?@)?(?:"+(n?"":"(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})")+"(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-?)*[a-z\\u00a1-\\uffff0-9])*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))"+(n?"?":"")+")(?::\\d{2,5})?(?:/[^\\s]*)?$","i").test(r.value)}}}},Gt}();var Ut,jt=Bt.exports,Kt={exports:{}},zt={};Kt.exports=(Ut||(Ut=1,zt.base64=function(){return{validate:function(e){return{valid:""===e.value||/^(?:[A-Za-z0-9+/]{4}
26280)*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$/.test(e.value)}}}}),zt);var Yt,Jt=Kt.exports,Xt={exports:{}},Wt={};Xt.exports=(Yt||(Yt=1,Wt.bic=function(){return{validate:function(e){return{valid:""===e.value||/^[a-zA-Z]{6}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?$/.test(e.value)}}}}),Wt);var qt,Qt=Xt.exports,er={exports:{}},tr={};er.exports=(qt||(qt=1,tr.color=function(){var e=["hex","rgb","rgba","hsl","hsla","keyword"],t=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","transparent","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],r=function(e){return/^hsl\((\s*(-?\d+)\s*,)(\s*(\b(0?\d{1,2}|100)\b%)\s*,)(\s*(\b(0?\d{1,2}|100)\b%)\s*)\)$/.test(e)},a=function(e){return/^hsla\((\s*(-?\d+)\s*,)(\s*(\b(0?\d{1,2}|100)\b%)\s*,){2}(\s*(0?(\.\d+)?|1(\.0+)?)\s*)\)$/.test(e)},n=function(e){return t.indexOf(e)>=0},i=function(e){return/^rgb\((\s*(\b([01]?\d{1,2}|2[0-4]\d|25[0-5])\b)\s*,){2}(\s*(\b([01]?\d{1,2}|2[0-4]\d|25[0-5])\b)\s*)\)$/.test(e)||/^rgb\((\s*(\b(0?\d{1,2}|100)\b%)\s*,){2}(\s*(\b(0?\d{1,2}|100)\b%)\s*)\)$/.test(e)},s=function(e){return/^rgba\((\s*(\b([01]?\d{1,2}|2[0-4]\d|25[0-5])\b)\s*,){3}(\s*(0?(\.\d+)?|1(\.0+)?)\s*)\)$/.test(e)||/^rgba\((\s*(\b(0?\d{1,2}|100)\b%)\s*,){3}(\s*(0?(\.\d+)?|1(\.0+)?)\s*)\)$/.test(e)};return{validate:function(t){if(""===t.value)return{valid:!0};for(var o,l=0,d="string"==typeof t.options.type?t.options.type.toString().replace(/s/g,"").split(","):t.options.type||e;l<d.length;l++){var u=d[l].toLowerCase();if(-1!==e.indexOf(u)){var c=!0;switch(u){case"hex":o=t.value,c=/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(o);break;case"hsl":c=r(t.value);break;case"hsla":c=a(t.value);break;case"keyword":c=n(t.value);break;case"rgb":c=i(t.value);break;case"rgba":c=s(t.value)}if(c)return{valid:!0}}}return{valid:!1}}}}),tr);var rr,ar=er.exports,nr={exports:{}},ir={};nr.exports=(rr||(rr=1,ir.cusip=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var t=e.value.toUpperCase();if(!/^[0123456789ABCDEFGHJKLMNPQRSTUVWXYZ*@#]{9}$/.test(t))return{valid:!1};var r=t.split(""),a=r.pop(),n=r.map((function(e){var t=e.charCodeAt(0);switch(!0){case"*"===e:return 36;case"@"===e:return 37;case"#"===e:return 38;case t>="A".charCodeAt(0)&&t<="Z".charCodeAt(0):return t-"A".charCodeAt(0)+10;default:return parseInt(e,10)}})).map((function(e,t){var r=t%2==0?e:2*e;return Math.floor(r/10)+r%10})).reduce((function(e,t){return e+t}),0);return{valid:a==="".concat((10-n%10)%10)}}}}),ir);var sr,or=nr.exports,lr={exports:{}},dr={};lr.exports=(sr||(sr=1,dr.ean=function(){return{validate:function(e){if(""===e.value)return{valid:!0};if(!/^(\d{8}|\d{12}|\d{13}|\d{14})$/.test(e.value))return{valid:!1};for(var t=e.value.length,r=0,a=8===t?[3,1]:[1,3],n=0;n<t-1;n++)r+=parseInt(e.value.charAt(n),10)*a[n%2];return{valid:"".concat(r=(10-r%10)%10)===e.value.charAt(t-1)}}}}),dr);var ur,cr=lr.exports,fr={exports:{}},pr={};fr.exports=(ur||(ur=1,pr.ein=function(){var e={ANDOVER:["10","12"],ATLANTA:["60","67"],AUSTIN:["50","53"],BROOKHAVEN:["01","02","03","04","05","06","11","13","14","16","21","22","23","25","34","51","52","54","5
262805","56","57","58","59","65"],CINCINNATI:["30","32","35","36","37","38","61"],FRESNO:["15","24"],INTERNET:["20","26","27","45","46","47"],KANSAS_CITY:["40","44"],MEMPHIS:["94","95"],OGDEN:["80","90"],PHILADELPHIA:["33","39","41","42","43","48","62","63","64","66","68","71","72","73","74","75","76","77","81","82","83","84","85","86","87","88","91","92","93","98","99"],SMALL_BUSINESS_ADMINISTRATION:["31"]};return{validate:function(t){if(""===t.value)return{meta:null,valid:!0};if(!/^[0-9]{2}-?[0-9]{7}$/.test(t.value))return{meta:null,valid:!1};var r="".concat(t.value.substr(0,2));for(var a in e)if(-1!==e[a].indexOf(r))return{meta:{campus:a},valid:!0};return{meta:null,valid:!1}}}}),pr);var vr,hr=fr.exports,mr={exports:{}},gr={};mr.exports=function(){if(vr)return gr;vr=1;var e=i.algorithms.mod37And36;return gr.grid=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=t.value.toUpperCase();return/^[GRID:]*([0-9A-Z]{2})[-\s]*([0-9A-Z]{5})[-\s]*([0-9A-Z]{10})[-\s]*([0-9A-Z]{1})$/g.test(r)?("GRID:"===(r=r.replace(/\s/g,"").replace(/-/g,"")).substr(0,5)&&(r=r.substr(5)),{valid:e(r)}):{valid:!1}}}},gr}();var br,Ar=mr.exports,yr={exports:{}},Er={};yr.exports=(br||(br=1,Er.hex=function(){return{validate:function(e){return{valid:""===e.value||/^[0-9a-fA-F]+$/.test(e.value)}}}}),Er);var Ir,xr=yr.exports,Cr={exports:{}},Or={};Cr.exports=function(){if(Ir)return Or;Ir=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return Or.iban=function(){var e={AD:"AD[0-9]{2}[0-9]{4}[0-9]{4}[A-Z0-9]{12}",AE:"AE[0-9]{2}[0-9]{3}[0-9]{16}",AL:"AL[0-9]{2}[0-9]{8}[A-Z0-9]{16}",AO:"AO[0-9]{2}[0-9]{21}",AT:"AT[0-9]{2}[0-9]{5}[0-9]{11}",AZ:"AZ[0-9]{2}[A-Z]{4}[A-Z0-9]{20}",BA:"BA[0-9]{2}[0-9]{3}[0-9]{3}[0-9]{8}[0-9]{2}",BE:"BE[0-9]{2}[0-9]{3}[0-9]{7}[0-9]{2}",BF:"BF[0-9]{2}[0-9]{23}",BG:"BG[0-9]{2}[A-Z]{4}[0-9]{4}[0-9]{2}[A-Z0-9]{8}",BH:"BH[0-9]{2}[A-Z]{4}[A-Z0-9]{14}",BI:"BI[0-9]{2}[0-9]{12}",BJ:"BJ[0-9]{2}[A-Z]{1}[0-9]{23}",BR:"BR[0-9]{2}[0-9]{8}[0-9]{5}[0-9]{10}[A-Z][A-Z0-9]",CH:"CH[0-9]{2}[0-9]{5}[A-Z0-9]{12}",CI:"CI[0-9]{2}[A-Z]{1}[0-9]{23}",CM:"CM[0-9]{2}[0-9]{23}",CR:"CR[0-9]{2}[0-9][0-9]{3}[0-9]{14}",CV:"CV[0-9]{2}[0-9]{21}",CY:"CY[0-9]{2}[0-9]{3}[0-9]{5}[A-Z0-9]{16}",CZ:"CZ[0-9]{2}[0-9]{20}",DE:"DE[0-9]{2}[0-9]{8}[0-9]{10}",DK:"DK[0-9]{2}[0-9]{14}",DO:"DO[0-9]{2}[A-Z0-9]{4}[0-9]{20}",DZ:"DZ[0-9]{2}[0-9]{20}",EE:"EE[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{11}[0-9]{1}",ES:"ES[0-9]{2}[0-9]{4}[0-9]{4}[0-9]{1}[0-9]{1}[0-9]{10}",FI:"FI[0-9]{2}[0-9]{6}[0-9]{7}[0-9]{1}",FO:"FO[0-9]{2}[0-9]{4}[0-9]{9}[0-9]{1}",FR:"FR[0-9]{2}[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}",GB:"GB[0-9]{2}[A-Z]{4}[0-9]{6}[0-9]{8}",GE:"GE[0-9]{2}[A-Z]{2}[0-9]{16}",GI:"GI[0-9]{2}[A-Z]{4}[A-Z0-9]{15}",GL:"GL[0-9]{2}[0-9]{4}[0-9]{9}[0-9]{1}",GR:"GR[0-9]{2}[0-9]{3}[0-9]{4}[A-Z0-9]{16}",GT:"GT[0-9]{2}[A-Z0-9]{4}[A-Z0-9]{20}",HR:"HR[0-9]{2}[0-9]{7}[0-9]{10}",HU:"HU[0-9]{2}[0-9]{3}[0-9]{4}[0-9]{1}[0-9]{15}[0-9]{1}",IE:"IE[0-9]{2}[A-Z]{4}[0-9]{6}[0-9]{8}",IL:"IL[0-9]{2}[0-9]{3}[0-9]{3}[0-9]{13}",IR:"IR[0-9]{2}[0-9]{22}",IS:"IS[0-9]{2}[0-9]{4}[0-9]{2}[0-9]{6}[0-9]{10}",IT:"IT[0-9]{2}[A-Z]{1}[0-9]{5}[0-9]{5}[A-Z0-9]{12}",JO:"JO[0-9]{2}[A-Z]{4}[0-9]{4}[0]{8}[A-Z0-9]{10}",KW:"KW[0-9]{2}[A-Z]{4}[0-9]{22}",KZ:"KZ[0-9]{2}[0-9]{3}[A-Z0-9]{13}",LB:"LB[0-9]{2}[0-9]{4}[A-Z0-9]{20}",LI:"LI[0-9]{2}[0-9]{5}[A-Z0-9]{12}",LT:"LT[0-9]{2}[0-9]{5}[0-9]{11}",LU:"LU[0-9]{2}[0-9]{3}[A-Z0-9]{13}",LV:"LV[0-9]{2}[A-Z]{4}[A-Z0-9]{13}",MC:"MC[0-9]{2}[0-9]{5}[0-9]{5}[A-Z0-9]{11}[0-9]{2}",MD:"MD[0-9]{2}[A-Z0-9]{20}",ME:"ME[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}",MG:"MG[0-9]{2}[0-9]{23}",MK:"MK[0-9]{2}[0-9]{3}[A-Z0-9]{10}[0-9]{2}",ML:"ML[0-9]{2}[A-Z]{1}[0-9]{23}",MR:"MR13[0-9]{5}[0-9]{5}[0-9]{11}[0-9]{2}",MT:"MT[0-9]{2}[A-Z]{4}[0-9]{5}[A-Z0-9]{18}",MU:"MU[0-9]{2}[A-Z]{4}[0-9]{2}[0-9]{2}[0-9]{12}[0-9]{3}[A-Z]{3}",MZ:"MZ[0-9]{2}[0-9]{21}",NL:"NL[0-9]{2}[A-Z]{4}[0-9]{10}",NO:"NO[0-9]{2}[0-9]{4}[0-9]{6}[0-9]{1}",PK:"PK[0-9]{2}[A-Z]{4}[A-Z0-9]{16}",PL:"PL[0-9]{2}[0-9]{8}[0-9]{16}",PS:"PS[0-9]{2}[A-Z]{4}[A-Z0-9]{21}",PT:"PT[0-9]{2}[0-9]{4}[0-9]{4}[0-9]{11}[0-9]{2}",QA:"QA[0-9]{2}[A-Z]{4}[A-Z0-9]{21}",RO:"RO[0-9]{2}[A-Z]{4}[A-Z0-9]{16}",RS:"RS[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}",SA:"SA[0-9]{2}[0-9]{2}[A-Z0-9]{18}",SE:"SE[0-9]{2}[0-9]{3}[0-9]{16}[0-9]{1}",SI:"SI[0-9]{2}[0-9]{5}[0-9]{8}[0-9]{2}",SK:"SK[0-9]{2}[0-9]{4}[0-9]{6}[0-9]{10}
26280",SM:"SM[0-9]{2}[A-Z]{1}[0-9]{5}[0-9]{5}[A-Z0-9]{12}",SN:"SN[0-9]{2}[A-Z]{1}[0-9]{23}",TL:"TL38[0-9]{3}[0-9]{14}[0-9]{2}",TN:"TN59[0-9]{2}[0-9]{3}[0-9]{13}[0-9]{2}",TR:"TR[0-9]{2}[0-9]{5}[A-Z0-9]{1}[A-Z0-9]{16}",VG:"VG[0-9]{2}[A-Z]{4}[0-9]{16}",XK:"XK[0-9]{2}[0-9]{4}[0-9]{10}[0-9]{2}"},a=["AT","BE","BG","CH","CY","CZ","DE","DK","EE","ES","FI","FR","GB","GI","GR","HR","HU","IE","IS","IT","LI","LT","LU","LV","MC","MT","NL","NO","PL","PT","RO","SE","SI","SK","SM"];return{validate:function(n){if(""===n.value)return{valid:!0};var i=Object.assign({},{message:""},r(n.options)),s=n.value.replace(/[^a-zA-Z0-9]/g,"").toUpperCase(),o=i.country||s.substr(0,2);if(!e[o])return{message:i.message,valid:!1};if(void 0!==i.sepa){var l=-1!==a.indexOf(o);if(("true"===i.sepa||!0===i.sepa)&&!l||("false"===i.sepa||!1===i.sepa)&&l)return{message:i.message,valid:!1}}var d=t(n.l10n?i.message||n.l10n.iban.country:i.message,n.l10n?n.l10n.iban.countries[o]:o);if(!new RegExp("^".concat(e[o],"$")).test(n.value))return{message:d,valid:!1};s=(s="".concat(s.substr(4)).concat(s.substr(0,4))).split("").map((function(e){var t=e.charCodeAt(0);return t>="A".charCodeAt(0)&&t<="Z".charCodeAt(0)?t-"A".charCodeAt(0)+10:e})).join("");for(var u=parseInt(s.substr(0,1),10),c=s.length,f=1;f<c;++f)u=(10*u+parseInt(s.substr(f,1),10))%97;return{message:d,valid:1===u}}}},Or}();var Fr,Vr=Cr.exports,Sr={exports:{}},kr={};Sr.exports=function(){if(Fr)return kr;Fr=1;var e=i;function t(e,t){if(!/^\d{13}$/.test(e))return!1;var r=parseInt(e.substr(0,2),10),a=parseInt(e.substr(2,2),10),n=parseInt(e.substr(7,2),10),i=parseInt(e.substr(12,1),10);if(r>31||a>12)return!1;for(var s=0,o=0;o<6;o++)s+=(7-o)*(parseInt(e.charAt(o),10)+parseInt(e.charAt(o+6),10));if(10!=(s=11-s%11)&&11!==s||(s=0),s!==i)return!1;switch(t.toUpperCase()){case"BA":return 10<=n&&n<=19;case"MK":return 41<=n&&n<=49;case"ME":return 20<=n&&n<=29;case"RS":return 70<=n&&n<=99;case"SI":return 50<=n&&n<=59;default:return!0}}var r=e.utils.isValidDate,a=e.utils.isValidDate,n=e.utils.isValidDate;function s(e){if(!/^\d{9,10}$/.test(e))return{meta:{},valid:!1};var t=1900+parseInt(e.substr(0,2),10),r=parseInt(e.substr(2,2),10)%50%20,a=parseInt(e.substr(4,2),10);if(9===e.length){if(t>=1980&&(t-=100),t>1953)return{meta:{},valid:!1}}else t<1954&&(t+=100);if(!n(t,r,a))return{meta:{},valid:!1};if(10===e.length){var i=parseInt(e.substr(0,9),10)%11;return t<1985&&(i%=10),{meta:{},valid:"".concat(i)===e.substr(9,1)}}return{meta:{},valid:!0}}var o=e.utils.isValidDate,l=e.utils.isValidDate,d=e.algorithms.mod11And10,u=e.algorithms.verhoeff,c=e.algorithms.luhn,f=e.utils.isValidDate,p=e.utils.isValidDate,v=e.utils.isValidDate;function h(e){if(!/^[0-9]{11}$/.test(e))return{meta:{},valid:!1};var t=parseInt(e.charAt(0),10),r=parseInt(e.substr(1,2),10),a=parseInt(e.substr(3,2),10),n=parseInt(e.substr(5,2),10);if(!v(r=100*(t%2==0?17+t/2:17+(t+1)/2)+r,a,n,!0))return{meta:{},valid:!1};var i,s=[1,2,3,4,5,6,7,8,9,1],o=0;for(i=0;i<10;i++)o+=parseInt(e.charAt(i),10)*s[i];if(10!=(o%=11))return{meta:{},valid:"".concat(o)===e.charAt(10)};for(o=0,s=[3,4,5,6,7,8,9,1,2,3],i=0;i<10;i++)o+=parseInt(e.charAt(i),10)*s[i];return 10==(o%=11)&&(o=0),{meta:{},valid:"".concat(o)===e.charAt(10)}}var m=e.utils.isValidDate,g=e.utils.isValidDate,b=e.utils.isValidDate,A=e.utils.isValidDate,y=e.algorithms.luhn,E=e.utils.isValidDate,I=e.algorithms.luhn,x=e.utils.isValidDate,C=e.utils.format,O=e.utils.removeUndefined;return kr.id=function(){var e=["AR","BA","BG","BR","CH","CL","CN","CO","CZ","DK","EE","ES","FI","FR","HK","HR","ID","IE","IL","IS","KR","LT","LV","ME","MK","MX","MY","NL","NO","PE","PL","RO","RS","SE","SI","SK","SM","TH","TR","TW","UY","ZA"];return{validate:function(n){if(""===n.value)return{valid:!0};var i=Object.assign({},{message:""},O(n.options)),v=n.value.substr(0,2);if(v="function"==typeof i.country?i.country.call(this):i.country,-1===e.indexOf(v))return{valid:!0};var F,V={meta:{},valid:!0};switch(v.toLowerCase()){case"ar":F=n.value.replace(/\./g,""),V={meta:{},valid:/^\d{7,8}$/.test(F)};break;case"ba":V=function(e){return{meta:{},valid:t(e,"BA")}}(n.value);break;case"bg":V=function(e){if(!/^\d{10}$/.test(e)&&!/^\d{6}\s\d{3}\s\d{1}$/.test(e))return{meta:{},valid:!1};var t=e.replace(/\s/g,""),a=parseInt(t.substr(0,2),10)+1900,n=parseInt(t.substr(2,2),10),i=parseInt(t.substr(4,2),10);if(n>40?(a+=100,n-=40):n>20&&(a-=100,n-=20),!r(a,n,i))return{meta:{},valid:!1};for(var s=0,o=[2,4,8,5,10,9,7,3,6],l=0;l<9;l++)s+=parseInt(t.charAt(l),10)*o[l];return{meta:{},valid:"".concat(s=s%11%10)===t.substr(9,1)}}(n.value);break;case"br":V=function(e){var t=e.replace(/\D/g,"");if(!/^\d{11}$/.test(t)||/^1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}|0{11}$/.test(t))return{meta:{},valid:!1};var r,a=0;for(r=0;r<9;r++)a+=(10-r)*parseInt(t.charAt(r),10);if(10!=(a=11-a%11)&&11!==a||(a=0),"".concat(a)!==t.charAt(9))return{meta:{},valid:!1};var n=0;for(r=0;r<10;r++)n+=(11-r)*parseInt(t.charAt(r),10);return 10!=(n=11-n%11)&&11!==n||(n=0),{meta:{},valid:"".concat(n)===t.charAt(10)}}(n.value);break;case"ch":V=function(e){if(!/^756[.]{0,1}[0-9]{4}[.]{0,1}[0-9]{4}[.]{0,1}[0-9]{2}$/.test(e))return{meta:{},valid:!1};for(var t=e.replace(/\D/g,"").substr(3),r=t.length,a=8===r?[3,1]:[1,3],n=0,i=0;i<r-1;i++)n+=parseInt(t.charAt(i),10)*a[i%2];return{meta:{},valid:"".concat(n=10-n%10)===t.charAt(r-1)}}(n.value);break;case"cl":V=function(e){if(!/^\d{7,8}[-]{0,1}[0-9K]$/i.test(e))return{meta:{},valid:!1};for(var t=e.replace(/-/g,"");t.length<9;)t="0".concat(t);for(var r=[3,2,7,6,5,4,3,2],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];var i="".concat(a=11-a%11);return 11===a?i="0":10===a&&(i="K"),{meta:{},valid:i===t.charAt(8).toUpperCase()}}(n.value);break;case"cn":V=function(e){var t=e.trim();if(!/^\d{15}$/.test(t)&&!/^\d{17}[\dXx]{1}$/.test(t))return{meta:{},valid:!1};var r={11:{0:[0],1:[[0,9],[11,17]],2:[0,28,29]},12:{0:[0],1:[[0,16]],2:[0,21,23,25]},13:{0:[0],1:[[0,5],7,8,21,[23,33],[81,85]],2:[[0,5],[7,9],[23,25],27,29,30,81,83],3:[[0,4],[21,24]],4:[[0,4],6,21,[23,35],81],5:[[0,3],[21,35],81,82],6:[[0,4],[21,38],[81,84]],7:[[0,3],5,6,[21,33]],8:[[0,4],[21,28]],9:[[0,3],[21,30],[81,84]],10:[[0,3],[22,26],28,81,82],11:[[0,2],[21,28],81,82]},14:{0:[0],1:[0,1,[5,10],[21,23],81],2:[[0,3],11,12,[21,27]],3:[[0,3],11,21,22],4:[[0,2],11,21,[23,31],81],5:[[0,2],21,22,24,25,81],6:[[0,3],[21,24]],7:[[0,2],[21,29],81],8:[[0,2],[21,30],81,82],9:[[0,2],[21,32],81],10:[[0,2],[21,34],81,82],11:[[0,2],[21,30],81,82],23:[[0,3],22,23,[25,30],32,33]},15:{0:[0],1:[[0,5],[21,25]],2:[[0,7],[21,23]],3:[[0,4]],4:[[0,4],[21,26],[28,30]],5:[[0,2],[21,26],81],6:[[0,2],[21,27]],7:[[0,3],[21,27],[81,85]],8:[[0,2],[21,26]],9:[[0,2],[21,29],81],22:[[0,2],[21,24]],25:[[0,2],[22,31]],26:[[0,2],[24,27],[29,32],34],28:[0,1,[22,27]],29:[0,[21,23]]},21:{0:[0],1:[[0,6],[11,14],[22,24],81],2:[[0,4],[11,13],24,[81,83]],3:[[0,4],11,21,23,81],4:[[0,4],11,[21,23]],5:[[0,5],21,22],6:[[0,4],24,81,82],7:[[0,3],11,26,27,81,82],8:[[0,4],11,81,82],9:[[0,5],11,21,22],10:[[0,5],11,21,81],11:[[0,3],21,22],12:[[0,2],4,21,23,24,81,82],13:[[0,3],21,22,24,81,82],14:[[0,4],21,22,81]},22:{0:[0],1:[[0,6],12,22,[81,83]],2:[[0,4],11,21,[81,84]],3:[[0,3],22,23,81,82],4:[[0,3],21,22],5:[[0,3],21,23,24,81,82],6:[[0,2],4,5,[21,23],25,81],7:[[0,2],[21,24],81],8:[[0,2],21,22,81,82],24:[[0,6],24,26]},23:{0:[0],1:[[0,12],21,[23,29],[81,84]],2:[[0,8],21,[23,25],27,[29,31],81],3:[[0,7],21,81,82],4:[[0,7],21,22],5:[[0,3],5,6,[21,24]],6:[[0,6],[21,24]],7:[[0,16],22,81],8:[[0,5],11,22,26,28,33,81,82],9:[[0,4],21],10:[[0,5],24,25,81,[83,85]],11:[[0,2],21,23,24,81,82],12:[[0,2],[21,26],[81,83]],27:[[0,4],[21,23]]},31:{0:[0],1:[0,1,[3,10],[12,20]],2:[0,30]},32:{0:[0],1:[[0,7],11,[13,18],24,25],2:[[0,6],11,81,82],3:[[0,5],11,12,[21,24],81,82],4:[[0,2],4,5,11,12,81,82],5:[[0,9],[81,85]],6:[[0,2],11,12,21,23,[8
vendor: 6,047 bytes, line 26280
262801,84]],7:[0,1,3,5,6,[21,24]],8:[[0,4],11,26,[29,31]],9:[[0,3],[21,25],28,81,82],10:[[0,3],11,12,23,81,84,88],11:[[0,2],11,12,[81,83]],12:[[0,4],[81,84]],13:[[0,2],11,[21,24]]},33:{0:[0],1:[[0,6],[8,10],22,27,82,83,85],2:[0,1,[3,6],11,12,25,26,[81,83]],3:[[0,4],22,24,[26,29],81,82],4:[[0,2],11,21,24,[81,83]],5:[[0,3],[21,23]],6:[[0,2],21,24,[81,83]],7:[[0,3],23,26,27,[81,84]],8:[[0,3],22,24,25,81],9:[[0,3],21,22],10:[[0,4],[21,24],81,82],11:[[0,2],[21,27],81]},34:{0:[0],1:[[0,4],11,[21,24],81],2:[[0,4],7,8,[21,23],25],3:[[0,4],11,[21,23]],4:[[0,6],21],5:[[0,4],6,[21,23]],6:[[0,4],21],7:[[0,3],11,21],8:[[0,3],11,[22,28],81],10:[[0,4],[21,24]],11:[[0,3],22,[24,26],81,82],12:[[0,4],21,22,25,26,82],13:[[0,2],[21,24]],14:[[0,2],[21,24]],15:[[0,3],[21,25]],16:[[0,2],[21,23]],17:[[0,2],[21,23]],18:[[0,2],[21,25],81]},35:{0:[0],1:[[0,5],11,[21,25],28,81,82],2:[[0,6],[11,13]],3:[[0,5],22],4:[[0,3],21,[23,30],81],5:[[0,5],21,[24,27],[81,83]],6:[[0,3],[22,29],81],7:[[0,2],[21,25],[81,84]],8:[[0,2],[21,25],81],9:[[0,2],[21,26],81,82]},36:{0:[0],1:[[0,5],11,[21,24]],2:[[0,3],22,81],3:[[0,2],13,[21,23]],4:[[0,3],21,[23,30],81,82],5:[[0,2],21],6:[[0,2],22,81],7:[[0,2],[21,35],81,82],8:[[0,3],[21,30],81],9:[[0,2],[21,26],[81,83]],10:[[0,2],[21,30]],11:[[0,2],[21,30],81]},37:{0:[0],1:[[0,5],12,13,[24,26],81],2:[[0,3],5,[11,14],[81,85]],3:[[0,6],[21,23]],4:[[0,6],81],5:[[0,3],[21,23]],6:[[0,2],[11,13],34,[81,87]],7:[[0,5],24,25,[81,86]],8:[[0,2],11,[26,32],[81,83]],9:[[0,3],11,21,23,82,83],10:[[0,2],[81,83]],11:[[0,3],21,22],12:[[0,3]],13:[[0,2],11,12,[21,29]],14:[[0,2],[21,28],81,82],15:[[0,2],[21,26],81],16:[[0,2],[21,26]],17:[[0,2],[21,28]]},41:{0:[0],1:[[0,6],8,22,[81,85]],2:[[0,5],11,[21,25]],3:[[0,7],11,[22,29],81],4:[[0,4],11,[21,23],25,81,82],5:[[0,3],5,6,22,23,26,27,81],6:[[0,3],11,21,22],7:[[0,4],11,21,[24,28],81,82],8:[[0,4],11,[21,23],25,[81,83]],9:[[0,2],22,23,[26,28]],10:[[0,2],[23,25],81,82],11:[[0,4],[21,23]],12:[[0,2],21,22,24,81,82],13:[[0,3],[21,30],81],14:[[0,3],[21,26],81],15:[[0,3],[21,28]],16:[[0,2],[21,28],81],17:[[0,2],[21,29]],90:[0,1]},42:{0:[0],1:[[0,7],[11,17]],2:[[0,5],22,81],3:[[0,3],[21,25],81],5:[[0,6],[25,29],[81,83]],6:[[0,2],6,7,[24,26],[82,84]],7:[[0,4]],8:[[0,2],4,21,22,81],9:[[0,2],[21,23],81,82,84],10:[[0,3],[22,24],81,83,87],11:[[0,2],[21,27],81,82],12:[[0,2],[21,24],81],13:[[0,3],21,81],28:[[0,2],22,23,[25,28]],90:[0,[4,6],21]},43:{0:[0],1:[[0,5],11,12,21,22,24,81],2:[[0,4],11,21,[23,25],81],3:[[0,2],4,21,81,82],4:[0,1,[5,8],12,[21,24],26,81,82],5:[[0,3],11,[21,25],[27,29],81],6:[[0,3],11,21,23,24,26,81,82],7:[[0,3],[21,26],81],8:[[0,2],11,21,22],9:[[0,3],[21,23],81],10:[[0,3],[21,28],81],11:[[0,3],[21,29]],12:[[0,2],[21,30],81],13:[[0,2],21,22,81,82],31:[0,1,[22,27],30]},44:{0:[0],1:[[0,7],[11,16],83,84],2:[[0,5],21,22,24,29,32,33,81,82],3:[0,1,[3,8]],4:[[0,4]],5:[0,1,[6,15],23,82,83],6:[0,1,[4,8]],7:[0,1,[3,5],81,[83,85]],8:[[0,4],11,23,25,[81,83]],9:[[0,3],23,[81,83]],12:[[0,3],[23,26],83,84],13:[[0,3],[22,24],81],14:[[0,2],[21,24],26,27,81],15:[[0,2],21,23,81],16:[[0,2],[21,25]],17:[[0,2],21,23,81],18:[[0,3],21,23,[25,27],81,82],19:[0],20:[0],51:[[0,3],21,22],52:[[0,3],21,22,24,81],53:[[0,2],[21,23],81]},45:{0:[0],1:[[0,9],[21,27]],2:[[0,5],[21,26]],3:[[0,5],11,12,[21,32]],4:[0,1,[3,6],11,[21,23],81],5:[[0,3],12,21],6:[[0,3],21,81],7:[[0,3],21,22],8:[[0,4],21,81],9:[[0,3],[21,24],81],10:[[0,2],[21,31]],11:[[0,2],[21,23]],12:[[0,2],[21,29],81],13:[[0,2],[21,24],81],14:[[0,2],[21,25],81]},46:{0:[0],1:[0,1,[5,8]],2:[0,1],3:[0,[21,23]],90:[[0,3],[5,7],[21,39]]},50:{0:[0],1:[[0,19]],2:[0,[22,38],[40,43]],3:[0,[81,84]]},51:{0:[0],1:[0,1,[4,8],[12,15],[21,24],29,31,32,[81,84]],3:[[0,4],11,21,22],4:[[0,3],11,21,22],5:[[0,4],21,22,24,25],6:[0,1,3,23,26,[81,83]],7:[0,1,3,4,[22,27],81],8:[[0,2],11,12,[21,24]],9:[[0,4],[21,23]],10:[[0,2],11,24,25,28],11:[[0,2],[11,13],23,24,26,29,32,33,81],13:[[0,4],[21,25],81],14:[[0,2],[21,25]],15:[[0,3],[21,29]],16:[[0,3],[21,23],81],17:[[0,3],[21,25],81],18:[[0,3],[21,27]],19:[[0,3],[21,23]],20:[[0,2],21,22,81],32:[0,[21,33]],33:[0,[21,38]],34:[0,1,[22,37]]},52:{0:[0],1:[[0,3],[11,15],[21,23],81],2:[0,1,3,21,22],3:[[0,3],[21,30],81,82],4:[[0,2],[21,25]],5:[[0,2],[21,27]],6:[[0,3],[21,28]],22:[0,1,[22,30]],23:[0,1,[22,28]],24:[0,1,[22,28]],26:[0,1,[22,36]],27:[[0,2],22,23,[25,32]]},53:{0:[0],1:[[0,3],[11,14],21,22,[24,29],81],3:[[0,2],[21,26],28,81],4:[[0,2],[21,28]],5:[[0,2],[21,24]],6:[[0,2],[21,30]],7:[[0,2],[21,24]],8:[[0,2],[21,29]],9:[[0,2],[21,27]],23:[0,1,[22,29],31],25:[[0,4],[22,32]],26:[0,1,[21,28]],27:[0,1,[22,30]],28:[0,1,22,23],29:[0,1,[22,32]],31:[0,2,3,[22,24]],34:[0,[21,23]],33:[0,21,[23,25]],35:[0,[21,28]]},54:{0:[0],1:[[0,2],[21,27]],21:[0,[21,29],32,33],22:[0,[21,29],[31,33]],23:[0,1,[22,38]],24:[0,[21,31]],25:[0,[21,27]],26:[0,[21,27]]},61:{0:[0],1:[[0,4],[11,16],22,[24,26]],2:[[0,4],22],3:[[0,4],[21,24],[26,31]],4:[[0,4],[22,31],81],5:[[0,2],[21,28],81,82],6:[[0,2],[21,32]],7:[[0,2],[21,30]],8:[[0,2],[21,31]],9:[[0,2],[21,29]],10:[[0,2],[21,26]]},62:{0:[0],1:[[0,5],11,[21,23]],2:[0,1],3:[[0,2],21],4:[[0,3],[21,23]],5:[[0,3],[21,25]],6:[[0,2],[21,23]],7:[[0,2],[21,25]],8:[[0,2],[21,26]],9:[[0,2],[21,24],81,82],10:[[0,2],[21,27]],11:[[0,2],[21,26]],12:[[0,2],[21,28]],24:[0,21,[24,29]],26:[0,21,[23,30]],29:[0,1,[21,27]],30:[0,1,[21,27]]},63:{0:[0],1:[[0,5],[21,23]],2:[0,2,[21,25]],21:[0,[21,23],[26,28]],22:[0,[21,24]],23:[0,[21,24]],25:[0,[21,25]],26:[0,[21,26]],27:[0,1,[21,26]],28:[[0,2],[21,23]]},64:{0:[0],1:[0,1,[4,6],21,22,81],2:[[0,3],5,[21,23]],3:[[0,3],[21,24],81],4:[[0,2],[21,25]],5:[[0,2],21,22]},65:{0:[0],1:[[0,9],21],2:[[0,5]],21:[0,1,22,23],22:[0,1,22,23],23:[[0,3],[23,25],27,28],28:[0,1,[22,29]],29:[0,1,[22,29]],30:[0,1,[22,24]],31:[0,1,[21,31]],32:[0,1,[21,27]],40:[0,2,3,[21,28]],42:[[0,2],21,[23,26]],43:[0,1,[21,26]],90:[[0,4]],27:[[0,2],22,23]},71:{0:[0]},81:{0:[0]},82:{0:[0]}},n=parseInt(t.substr(0,2),10),i=parseInt(t.substr(2,2),10),s=parseInt(t.substr(4,2),10);if(!r[n]||!r[n][i])return{meta:{},valid:!1};var o,l,d=!1,u=r[n][i];for(o=0;o<u.length;
26280o++)if(Array.isArray(u[o])&&u[o][0]<=s&&s<=u[o][1]||!Array.isArray(u[o])&&s===u[o]){d=!0;break}if(!d)return{meta:{},valid:!1};l=18===t.length?t.substr(6,8):"19".concat(t.substr(6,6));var c=parseInt(l.substr(0,4),10),f=parseInt(l.substr(4,2),10),p=parseInt(l.substr(6,2),10);if(!a(c,f,p))return{meta:{},valid:!1};if(18===t.length){var v=[7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2],h=0;for(o=0;o<17;o++)h+=parseInt(t.charAt(o),10)*v[o];return h=(12-h%11)%11,{meta:{},valid:("X"!==t.charAt(17).toUpperCase()?parseInt(t.charAt(17),10):10)===h}}return{meta:{},valid:!0}}(n.value);break;case"co":V=function(e){var t=e.replace(/\./g,"").replace("-","");if(!/^\d{8,16}$/.test(t))return{meta:{},valid:!1};for(var r=t.length,a=[3,7,13,17,19,23,29,37,41,43,47,53,59,67,71],n=0,i=r-2;i>=0;i--)n+=parseInt(t.charAt(i),10)*a[i];return(n%=11)>=2&&(n=11-n),{meta:{},valid:"".concat(n)===t.substr(r-1)}}(n.value);break;case"cz":case"sk":V=s(n.value);break;case"dk":V=function(e){if(!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test(e))return{meta:{},valid:!1};var t=e.replace(/-/g,""),r=parseInt(t.substr(0,2),10),a=parseInt(t.substr(2,2),10),n=parseInt(t.substr(4,2),10);switch(!0){case-1!=="5678".indexOf(t.charAt(6))&&n>=58:n+=1800;break;case-1!=="0123".indexOf(t.charAt(6)):case-1!=="49".indexOf(t.charAt(6))&&n>=37:n+=1900;break;default:n+=2e3}return{meta:{},valid:o(n,a,r)}}(n.value);break;case"ee":case"lt":V=h(n.value);break;case"es":V=function(e){var t=/^[0-9]{8}[-]{0,1}[A-HJ-NP-TV-Z]$/.test(e),r=/^[XYZ][-]{0,1}[0-9]{7}[-]{0,1}[A-HJ-NP-TV-Z]$/.test(e),a=/^[A-HNPQS][-]{0,1}[0-9]{7}[-]{0,1}[0-9A-J]$/.test(e);if(!t&&!r&&!a)return{meta:{},valid:!1};var n,i,s=e.replace(/-/g,"");if(t||r){i="DNI";var o="XYZ".indexOf(s.charAt(0));return-1!==o&&(s=o+s.substr(1)+"",i="NIE"),{meta:{type:i},valid:(n="TRWAGMYFPDXBNJZSQVHLCKE"[(n=parseInt(s.substr(0,8),10))%23])===s.substr(8,1)}}n=s.substr(1,7),i="CIF";for(var l=s[0],d=s.substr(-1),u=0,c=0;c<n.length;c++)if(c%2!=0)u+=parseInt(n[c],10);else{var f=""+2*parseInt(n[c],10);u+=parseInt(f[0],10),2===f.length&&(u+=parseInt(f[1],10))}var p=u-10*Math.floor(u/10);return 0!==p&&(p=10-p),{meta:{type:i},valid:-1!=="KQS".indexOf(l)?d==="JABCDEFGHI"[p]:-1!=="ABEH".indexOf(l)?d===""+p:d===""+p||d==="JABCDEFGHI"[p]}}(n.value);break;case"fi":V=function(e){if(!/^[0-9]{6}[-+A][0-9]{3}[0-9ABCDEFHJKLMNPRSTUVWXY]$/.test(e))return{meta:{},valid:!1};var t=parseInt(e.substr(0,2),10),r=parseInt(e.substr(2,2),10),a=parseInt(e.substr(4,2),10);if(a={"+":1800,"-":1900,A:2e3}[e.charAt(6)]+a,!l(a,r,t))return{meta:{},valid:!1};if(parseInt(e.substr(7,3),10)<2)return{meta:{},valid:!1};var n=parseInt(e.substr(0,6)+e.substr(7,3)+"",10);return{meta:{},valid:"0123456789ABCDEFHJKLMNPRSTUVWXY".charAt(n%31)===e.charAt(10)}}(n.value);break;case"fr":V=function(e){var t=e.toUpperCase();if(!/^(1|2)\d{2}\d{2}(\d{2}|\d[A-Z]|\d{3})\d{2,3}\d{3}\d{2}$/.test(t))return{meta:{},valid:!1};var r=t.substr(5,2);switch(!0){case/^\d{2}$/.test(r):t=e;break;case"2A"===r:t="".concat(e.substr(0,5),"19").concat(e.substr(7));break;case"2B"===r:t="".concat(e.substr(0,5),"18").concat(e.substr(7));break;default:return{meta:{},valid:!1}}var a=97-parseInt(t.substr(0,13),10)%97;return{meta:{},valid:(a<10?"0".concat(a):"".concat(a))===t.substr(13)}}(n.value);break;case"hk":V=function(e){var t=e.toUpperCase();if(!/^[A-MP-Z]{1,2}[0-9]{6}[0-9A]$/.test(t))return{meta:{},valid:!1};var r="ABCDEFGHIJKLMNOPQRSTUVWXYZ",a=t.charAt(0),n=t.charAt(1),i=0,s=t;/^[A-Z]$/.test(n)?(i+=9*(10+r.indexOf(a)),i+=8*(10+r.indexOf(n)),s=t.substr(2)):(i+=324,i+=8*(10+r.indexOf(a)),s=t.substr(1));for(var o=s.length,l=0;l<o-1;l++)i+=(7-l)*parseInt(s.charAt(l),10);var d=i%11;return{meta:{},valid:(0===d?"0":11-d==10?"A":"".concat(11-d))===s.charAt(o-1)}}(n.value);break;case"hr":V=function(e){return{meta:{},valid:/^[0-9]{11}$/.test(e)&&d(e)}}(n.value);break;case"id":V=function(e){if(!/^[2-9]\d{11}$/.test(e))return{meta:{},valid:!1};var t=e.split("").map((function(e){return parseInt(e,10)}));return{meta:{},valid:u(t)}}(n.value);break;case"ie":V=function(e){if(!/^\d{7}[A-W][AHWTX]?$/.test(e))return{meta:{},valid:!1};var t=function(e){for(var t=e;t.length<7;
26280)t="0".concat(t);for(var r="WABCDEFGHIJKLMNOPQRSTUV",a=0,n=0;n<7;n++)a+=parseInt(t.charAt(n),10)*(8-n);return a+=9*r.indexOf(t.substr(7)),r[a%23]};return{meta:{},valid:9!==e.length||"A"!==e.charAt(8)&&"H"!==e.charAt(8)?e.charAt(7)===t(e.substr(0,7)):e.charAt(7)===t(e.substr(0,7)+e.substr(8)+"")}}(n.value);break;case"il":V=function(e){return/^\d{1,9}$/.test(e)?{meta:{},valid:c(e)}:{meta:{},valid:!1}}(n.value);break;case"is":V=function(e){if(!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test(e))return{meta:{},valid:!1};var t=e.replace(/-/g,""),r=parseInt(t.substr(0,2),10),a=parseInt(t.substr(2,2),10),n=parseInt(t.substr(4,2),10),i=parseInt(t.charAt(9),10);if(!f(n=9===i?1900+n:100*(20+i)+n,a,r,!0))return{meta:{},valid:!1};for(var s=[3,2,7,6,5,4,3,2],o=0,l=0;l<8;l++)o+=parseInt(t.charAt(l),10)*s[l];return{meta:{},valid:"".concat(o=11-o%11)===t.charAt(8)}}(n.value);break;case"kr":V=function(e){var t=e.replace("-","");if(!/^\d{13}$/.test(t))return{meta:{},valid:!1};var r=t.charAt(6),a=parseInt(t.substr(0,2),10),n=parseInt(t.substr(2,2),10),i=parseInt(t.substr(4,2),10);switch(r){case"1":case"2":case"5":case"6":a+=1900;break;case"3":case"4":case"7":case"8":a+=2e3;break;default:a+=1800}if(!p(a,n,i))return{meta:{},valid:!1};for(var s=[2,3,4,5,6,7,8,9,2,3,4,5],o=t.length,l=0,d=0;d<o-1;d++)l+=s[d]*parseInt(t.charAt(d),10);return{meta:{},valid:"".concat((11-l%11)%10)===t.charAt(o-1)}}(n.value);break;case"lv":V=function(e){if(!/^[0-9]{6}[-]{0,1}[0-9]{5}$/.test(e))return{meta:{},valid:!1};var t=e.replace(/\D/g,""),r=parseInt(t.substr(0,2),10),a=parseInt(t.substr(2,2),10),n=parseInt(t.substr(4,2),10);if(n=n+1800+100*parseInt(t.charAt(6),10),!m(n,a,r,!0))return{meta:{},valid:!1};for(var i=0,s=[10,5,8,4,2,1,6,3,7,9],o=0;o<10;o++)i+=parseInt(t.charAt(o),10)*s[o];return{meta:{},valid:"".concat(i=(i+1)%11%10)===t.charAt(10)}}(n.value);break;case"me":V=function(e){return{meta:{},valid:t(e,"ME")}}(n.value);break;case"mk":V=function(e){return{meta:{},valid:t(e,"MK")}}(n.value);break;case"mx":V=function(e){var t=e.toUpperCase();if(!/^[A-Z]{4}\d{6}[A-Z]{6}[0-9A-Z]\d$/.test(t))return{meta:{},valid:!1};var r=t.substr(0,4);if(["BACA","BAKA","BUEI","BUEY","CACA","CACO","CAGA","CAGO","CAKA","CAKO","COGE","COGI","COJA","COJE","COJI","COJO","COLA","CULO","FALO","FETO","GETA","GUEI","GUEY","JETA","JOTO","KACA","KACO","KAGA","KAGO","KAKA","KAKO","KOGE","KOGI","KOJA","KOJE","KOJI","KOJO","KOLA","KULO","LILO","LOCA","LOCO","LOKA","LOKO","MAME","MAMO","MEAR","MEAS","MEON","MIAR","MION","MOCO","MOKO","MULA","MULO","NACA","NACO","PEDA","PEDO","PENE","PIPI","PITO","POPO","PUTA","PUTO","QULO","RATA","ROBA","ROBE","ROBO","RUIN","SENO","TETA","VACA","VAGA","VAGO","VAKA","VUEI","VUEY","WUEI","WUEY"].indexOf(r)>=0)return{meta:{},valid:!1};var a=parseInt(t.substr(4,2),10),n=parseInt(t.substr(6,2),10),i=parseInt(t.substr(6,2),10);if(/^[0-9]$/.test(t.charAt(16))?a+=1900:a+=2e3,!g(a,n,i))return{meta:{},valid:!1};var s=t.charAt(10);if("H"!==s&&"M"!==s)return{meta:{},valid:!1};var o=t.substr(11,2);if(-1===["AS","BC","BS","CC","CH","CL","CM","CS","DF","DG","GR","GT","HG","JC","MC","MN","MS","NE","NL","NT","OC","PL","QR","QT","SL","SP","SR","TC","TL","TS","VZ","YN","ZS"].indexOf(o))return{meta:{},valid:!1};for(var l=0,d=t.length,u=0;u<d-1;u++)l+=(18-u)*"0123456789ABCDEFGHIJKLMN&OPQRSTUVWXYZ".indexOf(t.charAt(u));return{meta:{},valid:"".concat(l=(10-l%10)%10)===t.charAt(d-1)}}(n.value);break;case"my":V=function(e){if(!/^\d{12}$/.test(e))return{meta:{},valid:!1};var t=parseInt(e.substr(0,2),10),r=parseInt(e.substr(2,2),10),a=parseInt(e.substr(4,2),10);if(!b(t+1900,r,a)&&!b(t+2e3,r,a))return{meta:{},valid:!1};var n=e.substr(6,2);return{meta:{},valid:-1===["17","18","19","20","69","70","73","80","81","94","95","96","97"].indexOf(n)}}(n.value);break;case"nl":V=function(e){if(e.length<8)return{meta:{},valid:!1};var t=e;if(8===t.length&&(t="0".concat(t)),!/^[0-9]{4}[.]{0,1}[0-9]{2}[.]{0,1}[0-9]{3}$/.test(t))return{meta:{},valid:!1};if(t=t.replace(/\./g,""),0===parseInt(t,10))return{meta:{},valid:!1};for(var r=0,a=t.length,n=0;n<a-1;n++)r+=(9-n)*parseInt(t.charAt(n),10);return 10==(r%=11)&&(r=0),{meta:{},valid:"".concat(r)===t.charAt(a-1)}}(n.value);break;case"no":V=function(e){return/^\d{11}$/.test(e)?{meta:{},valid:"".concat(function(e){for(var t=[3,7,6,1,8,9,4,5,2],r=0,a=0;a<9;a++)r+=t[a]*parseInt(e.charAt(a),10);return 11-r%11}(e))===e.substr(-2,1)&&"".concat(function(e){for(var t=[5,4,3,2,7,6,5,4,3,2],r=0,a=0;a<10;a++)r+=t[a]*parseInt(e.charAt(a),10);return 11-r%11}(e))===e.substr(-1)}:{meta:{},valid:!1}}(n.value);break;case"pe":V=function(e){if(!/^\d{8}[0-9A-Z]*$/.test(e))return{meta:{},valid:!1};if(8===e.length)return{meta:{},valid:!0};for(var t=[3,2,7,6,5,4,3,2],r=0,a=0;a<8;a++)r+=t[a]*parseInt(e.charAt(a),10);var n=r%11,i=[6,5,4,3,2,1,1,0,9,8,7][n],s="KJIHGFEDCBA".charAt(n);return{meta:{},valid:e.charAt(8)==="".concat(i)||e.charAt(8)===s}}(n.value);break;case"pl":V=function(e){if(!/^[0-9]{11}$/.test(e))return{meta:{},valid:!1};for(var t=0,r=e.length,a=[1,3,7,9,1,3,7,9,1,3,7],n=0;n<r-1;n++)t+=a[n]*parseInt(e.charAt(n),10);return 0==(t%=10)&&(t=10),{meta:{},valid:"".concat(t=10-t)===e.charAt(r-1)}}(n.value);break;case"ro":V=function(e){if(!/^[0-9]{13}$/.test(e))return{meta:{},valid:!1};var t=parseInt(e.charAt(0),10);if(0===t||7===t||8===t)return{meta:{},valid:!1};var r=parseInt(e.substr(1,2),10),a=parseInt(e.substr(3,2),10),n=parseInt(e.substr(5,2),10);if(n>31&&a>12)return{meta:{},valid:!1};if(9!==t&&!A(r={1:1900,2:1900,3:1800,4:1800,5:2e3,6:2e3}[t+""]+r,a,n))return{meta:{},valid:!1};for(var i=0,s=[2,7,9,1,4,6,3,5,8,2,7,9],o=e.length,l=0;l<o-1;l++)i+=parseInt(e.charAt(l),10)*s[l];return 10==(i%=11)&&(i=1),{meta:{},valid:"".concat(i)===e.charAt(o-1)}}(n.value);break;case"rs":V=function(e){return{meta:{},valid:t(e,"RS")}}(n.value);break;case"se":V=function(e){if(!/^[0-9]{10}$/.test(e)&&!/^[0-9]{6}[-|+][0-9]{4}$/.test(e))return{meta:{},valid:!1};var t=e.replace(/[^0-9]/g,""),r=parseInt(t.substr(0,2),10)+1900,a=parseInt(t.substr(2,2),10),n=parseInt(t.substr(4,2),10);return E(r,a,n)?{meta:{},valid:y(t)}:{meta:{},valid:!1}}(n.value);break;case"si":V=function(e){return{meta:{},valid:t(e,"SI")}}(n.value);break;case"sm":V=function(e){return{meta:{},valid:/^\d{5}$/.test(e)}}(n.value);break;case"th":V=function(e){if(13!==e.length)return{meta:{},valid:!1};for(var t=0,r=0;r<12;r++)t+=parseInt(e.charAt(r),10)*(13-r);return{meta:{},valid:(11-t%11)%10===parseInt(e.charAt(12),10)}}(n.value);break;case"tr":V=function(e){if(11!==e.length)return{meta:{},valid:!1};for(var t=0,r=0;r<10;r++)t+=parseInt(e.charAt(r),10);return{meta:{},valid:t%10===parseInt(e.charAt(10),10)}}(n.value);break;case"tw":V=function(e){var t=e.toUpperCase();if(!/^[A-Z][12][0-9]{8}$/.test(t))return{meta:{},valid:!1};for(var r=t.length,a="ABCDEFGHJKLMNPQRSTUVXYWZIO".indexOf(t.charAt(0))+10,n=Math.floor(a/10)+a%10*(r-1),i=0,s=1;s<r-1;s++)i+=parseInt(t.charAt(s),10)*(r-1-s);return{meta:{},valid:(n+i+parseInt(t.charAt(r-1),10))%10==0}}(n.value);break;case"uy":V=function(e){if(!/^\d{8}$/.test(e))return{meta:{},valid:!1};for(var t=[2,9,8,7,6,3,4],r=0,a=0;a<7;a++)r+=parseInt(e.charAt(a),10)*t[a];return(r%=10)>0&&(r=10-r),{meta:{},valid:"".concat(r)===e.charAt(7)}}(n.value);break;case"za":V=function(e){if(!/^[0-9]{10}[0|1][8|9][0-9]$/.test(e))return{meta:{},valid:!1};var t=parseInt(e.substr(0,2),10),r=(new Date).getFullYear()%100,a=parseInt(e.substr(2,2),10),n=parseInt(e.substr(4,2),10);return x(t=t>=r?t+1900:t+2e3,a,n)?{meta:{},valid:I(e)}:{meta:{},valid:!1}}(n.value)}var S=C(n.l10n&&n.l10n.id?i.message||n.l10n.id.country:i.message,n.l10n&&n.l10n.id&&n.l10n.id.countries?n.l10n.id.countries[v.toUpperCase()]:v.toUpperCase());return Object.assign({},{message:S},V)}}},kr}();var wr,Hr=Sr.exports,$r={exports:{}},Nr={};$r.exports=function(){if(wr)return Nr;wr=1;var e=i.algorithms.luhn;return Nr.imei=function(){return{validate:function(t){if(""===t.value)return{valid:!0};switch(!0){case/^\d{15}$/.test(t.value):case/^\d{2}-\d{6}-\d{6}-\d{1}$/.test(t.value):case/^\d{2}\s\d{6}\s\d{6}\s\d{1}$/.test(t.value):return{valid:e(t.value.replace(/[^0-9]/g,""))};case/^\d{14}$/.test(t.value):case/^\d{16}$/.test(t.value):case/^\d{2}-\d{6}-\d{6}(|-\d{2})$/.test(t.value):case/^\d{2}\s\d{6}\s\d{6}(|\s\d{2})$/.test(t.value):return{valid:!0};default:return{valid:!1}}}}},Nr}();var Mr,Tr=$r.exports,Lr={exports:{}},Pr={};Lr.exports=(Mr||(Mr=1,Pr.imo=function(){return{validate:function(e){if(""===e.value)return{valid:!0};if(!/^IMO \d{7}$/i.test(e.value))return{valid:!1};for(var t=e.value.replace(/^.*(\d{7})$/,"$1"),r=0,a=6;a>=1;a--)r+=parseInt(t.slice(6-a,-a),10)*(a+1);return{valid:r%10===parseInt(t.charAt(6),10)}}}}),Pr);var Rr,Dr=Lr.exports,Zr={exports:{}},_r={};Zr.exports=(Rr||(Rr=1,_r.isbn=function(){return{validate:function(e){if(""===e.value)return{meta:{type:null},valid:!0};var t;switch(!0){case/^\d{9}[\dX]$/.test(e.value):case 13===e.value.length&&/^(\d+)-(\d+)-(\d+)-([\dX])$/.test(e.value):case 13===e.value.length&&/^(\d+)\s(\d+)\s(\d+)\s([\dX])$/.test(e.value):t="ISBN10";break;case/^(978|979)\d{9}[\dX]$/.test(e.value):case 17===e.value.length&&/^(978|979)-(\d+)-(\d+)-(\d+)-([\dX])$/.test(e.value):case 17===e.value.length&&/^(978|979)\s(\d+)\s(\d+)\s(\d+)\s([\dX])$/.test(e.value):t="ISBN13";break;default:return{meta:{type:null},valid:!1}}var r,a,n=e.value.replace(/[^0-9X]/gi,"").split(""),i=n.length,s=0;switch(t){case"ISBN10":for(s=0,r=0;r<i-1;r++)s+=parseInt(n[r],10)*(10-r);return 11==(a=11-s%11)?a=0:10===a&&(a="X"),{meta:{type:t},valid:"".concat(a)===n[i-1]};case"ISBN13":for(s=0,r=0;r<i-1;r++)s+=r%2==0?parseInt(n[r],10):3*parseInt(n[r],10);return 10==(a=10-s%10)&&(a="0"),{meta:{type:t},valid:"".concat(a)===n[i-1]}}}}}),_r);var Br,Gr=Zr.exports,Ur={exports:{}},jr={};Ur.exports=(Br||(Br=1,jr.isin=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var t=e.value.toUpperCase();if(!new RegExp("^(AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY|BE|BZ|BJ|BM|BT|BO|BQ|BA|BW|BV|BR|IO|BN|BG|BF|BI|KH|CM|CA|CV|KY|CF|TD|CL|CN|CX|CC|CO|KM|CG|CD|CK|CR|CI|HR|CU|CW|CY|CZ|DK|DJ|DM|DO|EC|EG|SV|GQ|ER|EE|ET|FK|FO|FJ|FI|FR|GF|PF|TF|GA|GM|GE|DE|GH|GI|GR|GL|GD|GP|GU|GT|GG|GN|GW|GY|HT|HM|VA|HN|HK|HU|IS|IN|ID|IR|IQ|IE|IM|IL|IT|JM|JP|JE|JO|KZ|KE|KI|KP|KR|KW|KG|LA|LV|LB|LS|LR|LY|LI|LT|LU|MO|MK|MG|MW|MY|MV|ML|MT|MH|MQ|MR|MU|YT|MX|FM|MD|MC|MN|ME|MS|MA|MZ|MM|NA|NR|NP|NL|NC|NZ|NI|NE|NG|NU|NF|MP|NO|OM|PK|PW|PS|PA|PG|PY|PE|PH|PN|PL|PT|PR|QA|RE|RO|RU|RW|BL|SH|KN|LC|MF|PM|VC|WS|SM|ST|SA|SN|RS|SC|SL|SG|SX|SK|SI|SB|SO|ZA|GS|SS|ES|LK|SD|SR|SJ|SZ|SE|CH|SY|TW|TJ|TZ|TH|TL|TG|TK|TO|TT|TN|TR|TM|TC|TV|UG|UA|AE|GB|US|UM|UY|UZ|VU|VE|VN|VG|VI|WF|EH|YE|ZM|ZW)[0-9A-Z]{10}$").test(e.value))return{valid:!1};var r,a=t.length,n="";for(r=0;r<a-1;r++){var i=t.charCodeAt(r);n+=i>57?(i-55).toString():t.charAt(r)}var s="",o=n.length,l=o%2!=0?0:1;for(r=0;r<o;r++)s+=parseInt(n[r],10)*(r%2===l?2:1)+"";var d=0;for(r=0;r<s.length;r++)d+=parseInt(s.charAt(r),10);return{valid:"".concat(d=(10-d%10)%10)===t.charAt(a-1)}}}}),jr);var Kr,zr=Ur.exports,Yr={exports:{}},Jr={};Yr.exports=(Kr||(Kr=1,Jr.ismn=function(){return{validate:function(e){if(""===e.value)return{meta:null,valid:!0};var t;switch(!0){case/^M\d{9}$/.test(e.value):case/^M-\d{4}-\d{4}-\d{1}$/.test(e.value):case/^M\s\d{4}\s\d{4}\s\d{1}$/.test(e.value):t="ISMN10";break;case/^9790\d{9}$/.test(e.value):case/^979-0-\d{4}-\d{4}-\d{1}$/.test(e.value):case/^979\s0\s\d{4}\s\d{4}\s\d{1}$/.test(e.value):t="ISMN13";break;default:return{meta:null,valid:!1}}var r=e.value;"ISMN10"===t&&(r="9790".concat(r.substr(1)));for(var a=0,n=(r=r.replace(/[^0-9]/gi,"")).length,i=[1,3],s=0;s<n-1;s++)a+=parseInt(r.charAt(s),10)*i[s%2];return{meta:{type:t},valid:"".concat(a=(10-a%10)%10)===r.charAt(n-1)}}}}),Jr);var Xr,Wr=Yr.exports,qr={exports:{}},Qr={};qr.exports=(Xr||(Xr=1,Qr.issn=function(){return{validate:function(e){if(""===e.value)return{valid:!0};if(!/^\d{4}-\d{3}[\dX]$/.test(e.value))return{valid:!1};var t=e.value.replace(/[^0-9X]/gi,"").split(""),r=t.length,a=0;"X"===t[7]&&(t[7]="10");for(var n=0;n<r;n++)a+=parseInt(t[n],10)*(8-n);return{valid:a%11==0}}}}),Qr);var ea,ta=qr.exports,ra={exports:{}},aa={};ra.exports=(ea||(ea=1,aa.mac=function(){return{validate:function(e){return{valid:""===e.value||/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/.test(e.value)||/^([0-9A-Fa-f]{4}\.){2}([0-9A-Fa-f]{4})$/.test(e.value)}}}}),aa);var na,ia=ra.exports,sa={exports:{}},oa={};sa.exports=function(){if(na)return oa;na=1;var e=i.algorithms.luhn;return oa.meid=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=t.value;if(/^[0-9A-F]{15}$/i.test(r)||/^[0-9A-F]{2}[- ][0-9A-F]{6}[- ][0-9A-F]{6}[- ][0-9A-F]$/i.test(r)||/^\d{19}$/.test(r)||/^\d{5}[- ]\d{5}[- ]\d{4}[- ]\d{4}[- ]\d$/.test(r)){var a=r.charAt(r.length-1).toUpperCase();if((r=r.replace(/[- ]/g,"")).match(/^\d*$/i))return{valid:e(r)};r=r.slice(0,-1);var n="",i=void 0;for(i=1;i<=13;i+=2)n+=(2*parseInt(r.charAt(i),16)).toString(16);var s=0;for(i=0;i<n.length;i++)s+=parseInt(n.charAt(i),16);return{valid:s%10==0?"0"===a:a===(2*(10*Math.floor((s+10)/10)-s)).toString(16).toUpperCase()}}return/^[0-9A-F]{14}$/i.test(r)||/^[0-9A-F]{2}[- ][0-9A-F]{6}[- ][0-9A-F]{6}$/i.test(r)||/^\d{18}$/.test(r)||/^\d{5}[- ]\d{5}[- ]\d{4}[- ]\d{4}$/.test(r)?{valid:!0}:{valid:!1}}}},oa}();var la,da=sa.exports,ua={exports:{}},ca={};ua.exports=function(){if(la)return ca;la=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return ca.phone=function(){var e=["AE","BG","BR","CN","CZ","DE","DK","ES","FR","GB","IN","MA","NL","PK","RO","RU","SK","TH","US","VE"];
26280return{validate:function(a){if(""===a.value)return{valid:!0};var n=Object.assign({},{message:""},r(a.options)),i=a.value.trim(),s=i.substr(0,2);if(!(s="function"==typeof n.country?n.country.call(this):n.country)||-1===e.indexOf(s.toUpperCase()))return{valid:!0};var o=!0;switch(s.toUpperCase()){case"AE":o=/^(((\+|00)?971[\s.-]?(\(0\)[\s.-]?)?|0)(\(5(0|2|5|6)\)|5(0|2|5|6)|2|3|4|6|7|9)|60)([\s.-]?[0-9]){7}$/.test(i);break;case"BG":o=/^(0|359|00)(((700|900)[0-9]{5}|((800)[0-9]{5}|(800)[0-9]{4}))|(87|88|89)([0-9]{7})|((2[0-9]{7})|(([3-9][0-9])(([0-9]{6})|([0-9]{5})))))$/.test(i.replace(/\+|\s|-|\/|\(|\)/gi,""));break;case"BR":o=/^(([\d]{4}[-.\s]{1}[\d]{2,3}[-.\s]{1}[\d]{2}[-.\s]{1}[\d]{2})|([\d]{4}[-.\s]{1}[\d]{3}[-.\s]{1}[\d]{4})|((\(?\+?[0-9]{2}\)?\s?)?(\(?\d{2}\)?\s?)?\d{4,5}[-.\s]?\d{4}))$/.test(i);break;case"CN":o=/^((00|\+)?(86(?:-| )))?((\d{11})|(\d{3}[- ]{1}\d{4}[- ]{1}\d{4})|((\d{2,4}[- ]){1}(\d{7,8}|(\d{3,4}[- ]{1}\d{4}))([- ]{1}\d{1,4})?))$/.test(i);break;case"CZ":o=/^(((00)([- ]?)|\+)(420)([- ]?))?((\d{3})([- ]?)){2}(\d{3})$/.test(i);break;case"DE":o=/^(((((((00|\+)49[ \-/]?)|0)[1-9][0-9]{1,4})[ \-/]?)|((((00|\+)49\()|\(0)[1-9][0-9]{1,4}\)[ \-/]?))[0-9]{1,7}([ \-/]?[0-9]{1,5})?)$/.test(i);break;case"DK":o=/^(\+45|0045|\(45\))?\s?[2-9](\s?\d){7}$/.test(i);break;case"ES":o=/^(?:(?:(?:\+|00)34\D?))?(?:5|6|7|8|9)(?:\d\D?){8}$/.test(i);break;case"FR":o=/^(?:(?:(?:\+|00)33[ ]?(?:\(0\)[ ]?)?)|0){1}[1-9]{1}([ .-]?)(?:\d{2}\1?){3}\d{2}$/.test(i);break;case"GB":o=/^\(?(?:(?:0(?:0|11)\)?[\s-]?\(?|\+)44\)?[\s-]?\(?(?:0\)?[\s-]?\(?)?|0)(?:\d{2}\)?[\s-]?\d{4}[\s-]?\d{4}|\d{3}\)?[\s-]?\d{3}[\s-]?\d{3,4}|\d{4}\)?[\s-]?(?:\d{5}|\d{3}[\s-]?\d{3})|\d{5}\)?[\s-]?\d{4,5}|8(?:00[\s-]?11[\s-]?11|45[\s-]?46[\s-]?4\d))(?:(?:[\s-]?(?:x|ext\.?\s?|#)\d+)?)$/.test(i);break;case"IN":o=/((\+?)((0[ -]+)*|(91 )*)(\d{12}|\d{10}))|\d{5}([- ]*)\d{6}/.test(i);break;case"MA":o=/^(?:(?:(?:\+|00)212[\s]?(?:[\s]?\(0\)[\s]?)?)|0){1}(?:5[\s.-]?[2-3]|6[\s.-]?[13-9]){1}[0-9]{1}(?:[\s.-]?\d{2}){3}$/.test(i);break;case"NL":o=/^((\+|00(\s|\s?-\s?)?)31(\s|\s?-\s?)?(\(0\)[-\s]?)?|0)[1-9]((\s|\s?-\s?)?[0-9])((\s|\s?-\s?)?[0-9])((\s|\s?-\s?)?[0-9])\s?[0-9]\s?[0-9]\s?[0-9]\s?[0-9]\s?[0-9]$/gm.test(i);break;case"PK":o=/^0?3[0-9]{2}[0-9]{7}$/.test(i);break;case"RO":o=/^(\+4|)?(07[0-8]{1}[0-9]{1}|02[0-9]{2}|03[0-9]{2}){1}?(\s|\.|-)?([0-9]{3}(\s|\.|-|)){2}$/g.test(i);break;case"RU":o=/^((8|\+7|007)[-./ ]?)?([(/.]?\d{3}[)/.]?[-./ ]?)?[\d\-./ ]{7,10}$/g.test(i);break;case"SK":o=/^(((00)([- ]?)|\+)(421)([- ]?))?((\d{3})([- ]?)){2}(\d{3})$/.test(i);break;case"TH":o=/^0\(?([6|8-9]{2})*-([0-9]{3})*-([0-9]{4})$/.test(i);break;case"VE":o=/^0(?:2(?:12|4[0-9]|5[1-9]|6[0-9]|7[0-8]|8[1-35-8]|9[1-5]|3[45789])|4(?:1[246]|2[46]))\d{7}$/.test(i);break;default:o=/^(?:(1-?)|(\+1 ?))?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$/.test(i)}return{message:t(a.l10n&&a.l10n.phone?n.message||a.l10n.phone.country:n.message,a.l10n&&a.l10n.phone&&a.l10n.phone.countries?a.l10n.phone.countries[s]:s),valid:o}}}},ca}();var fa,pa=ua.exports,va={exports:{}},ha={};va.exports=(fa||(fa=1,ha.rtn=function(){return{validate:function(e){if(""===e.value)return{valid:!0};if(!/^\d{9}$/.test(e.value))return{valid:!1};for(var t=0,r=0;r<e.value.length;r+=3)t+=3*parseInt(e.value.charAt(r),10)+7*parseInt(e.value.charAt(r+1),10)+parseInt(e.value.charAt(r+2),10);return{valid:0!==t&&t%10==0}}}}),ha);var ma,ga=va.exports,ba={exports:{}},Aa={};ba.exports=(ma||(ma=1,Aa.sedol=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var t=e.value.toUpperCase();if(!/^[0-9A-Z]{7}$/.test(t))return{valid:!1};for(var r=[1,3,1,7,3,9,1],a=t.length,n=0,i=0;i<a-1;i++)n+=r[i]*parseInt(t.charAt(i),36);return{valid:"".concat(n=(10-n%10)%10)===t.charAt(a-1)}}}}),Aa);var ya,Ea=ba.exports,Ia={exports:{}},xa={};Ia.exports=function(){if(ya)return xa;ya=1;var e=i.algorithms.luhn;return xa.siren=function(){return{validate:function(t){return{valid:""===t.value||/^\d{9}$/.test(t.value)&&e(t.value)}}}},xa}();var Ca,Oa=Ia.exports,Fa={exports:{}},Va={};Fa.exports=(Ca||(Ca=1,Va.siret=function(){return{validate:function(e){if(""===e.value)return{valid:!0};for(var t,r=e.value.length,a=0,n=0;n<r;n++)t=parseInt(e.value.charAt(n),10),n%2==0&&(t*=2)>9&&(t-=9),a+=t;return{valid:a%10==0}}}}),Va);var Sa,ka=Fa.exports,wa={exports:{}},Ha={};wa.exports=function(){if(Sa)return Ha;Sa=1;var e=i.utils.format;return Ha.step=function(){return{validate:function(t){if(""===t.value)return{valid:!0};var r=parseFloat(t.value);if(isNaN(r)||!isFinite(r))return{valid:!1};var a=Object.assign({},{baseValue:0,message:"",step:1},t.options),n=function(e,t){if(0===t)return 1;var r="".concat(e).split("."),a="".concat(t).split("."),n=(1===r.length?0:r[1].length)+(1===a.length?0:a[1].length);return function(e,t){var r,a=Math.pow(10,t),n=e*a;switch(!0){case 0===n:r=0;break;case n>0:r=1;break;case n<0:r=-1}return n%1==.5*r?(Math.floor(n)+(r>0?1:0))/a:Math.round(n)/a}(e-t*Math.floor(e/t),n)}(r-a.baseValue,a.step);return{message:e(t.l10n?a.message||t.l10n.step.default:a.message,"".concat(a.step)),valid:0===n||n===a.step}}}},Ha}();var $a,Na=wa.exports,Ma={exports:{}},Ta={};Ma.exports=function(){if($a)return Ta;$a=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return Ta.uuid=function(){return{validate:function(e){if(""===e.value)return{valid:!0};var a=Object.assign({},{message:""},r(e.options)),n={3:/^[0-9A-F]{8}-[0-9A-F]{4}-3[0-9A-F]{3}-[0-9A-F]{4}-[0-9A-F]{12}$/i,4:/^[0-9A-F]{8}-[0-9A-F]{4}-4[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,5:/^[0-9A-F]{8}-[0-9A-F]{4}-5[0-9A-F]{3}-[89AB][0-9A-F]{3}-[0-9A-F]{12}$/i,all:/^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i},i=a.version?"".concat(a.version):"all";return{message:a.version?t(e.l10n?a.message||e.l10n.uuid.version:a.message,a.version):e.l10n?e.l10n.uuid.default:a.message,valid:null===n[i]||n[i].test(e.value)}}}},Ta}();var La,Pa=Ma.exports,Ra={exports:{}},Da={};Ra.exports=function(){if(La)return Da;La=1;var e=i,t=e.utils.isValidDate,r=e.utils.isValidDate,a=e.algorithms.mod11A
26280nd10,n=e.algorithms.luhn,s=e.algorithms.mod11And10,o=e.algorithms.luhn,l=e.utils.isValidDate,d=e.algorithms.mod97And10;function u(e){if(e.length<8)return{meta:{},valid:!1};var t=e;if(8===t.length&&(t="0".concat(t)),!/^[0-9]{4}[.]{0,1}[0-9]{2}[.]{0,1}[0-9]{3}$/.test(t))return{meta:{},valid:!1};if(t=t.replace(/\./g,""),0===parseInt(t,10))return{meta:{},valid:!1};for(var r=0,a=t.length,n=0;n<a-1;n++)r+=(9-n)*parseInt(t.charAt(n),10);return 10==(r%=11)&&(r=0),{meta:{},valid:"".concat(r)===t.charAt(a-1)}}var c=e.algorithms.luhn,f=e.utils.format,p=e.utils.removeUndefined;return Da.vat=function(){var e=["AR","AT","BE","BG","BR","CH","CY","CZ","DE","DK","EE","EL","ES","FI","FR","GB","GR","HR","HU","IE","IS","IT","LT","LU","LV","MT","NL","NO","PL","PT","RO","RU","RS","SE","SK","SI","VE","ZA"];return{validate:function(i){var v=i.value;if(""===v)return{valid:!0};var h=Object.assign({},{message:""},p(i.options)),m=v.substr(0,2);if(m="function"==typeof h.country?h.country.call(this):h.country,-1===e.indexOf(m))return{valid:!0};var g={meta:{},valid:!0};switch(m.toLowerCase()){case"ar":g=function(e){var t=e.replace("-","");if(/^AR[0-9]{11}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{11}$/.test(t))return{meta:{},valid:!1};for(var r=[5,4,3,2,7,6,5,4,3,2],a=0,n=0;n<10;n++)a+=parseInt(t.charAt(n),10)*r[n];return 11==(a=11-a%11)&&(a=0),{meta:{},valid:"".concat(a)===t.substr(10)}}(v);break;case"at":g=function(e){var t=e;if(/^ATU[0-9]{8}$/.test(t)&&(t=t.substr(2)),!/^U[0-9]{8}$/.test(t))return{meta:{},valid:!1};t=t.substr(1);for(var r=[1,2,1,2,1,2,1],a=0,n=0,i=0;i<7;i++)(n=parseInt(t.charAt(i),10)*r[i])>9&&(n=Math.floor(n/10)+n%10),a+=n;return 10==(a=10-(a+4)%10)&&(a=0),{meta:{},valid:"".concat(a)===t.substr(7,1)}}(v);break;case"be":g=function(e){var t=e;return/^BE[0]?[0-9]{9}$/.test(t)&&(t=t.substr(2)),/^[0]?[0-9]{9}$/.test(t)?(9===t.length&&(t="0".concat(t)),"0"===t.substr(1,1)?{meta:{},valid:!1}:{meta:{},valid:(parseInt(t.substr(0,8),10)+parseInt(t.substr(8,2),10))%97==0}):{meta:{},valid:!1}}(v);break;case"bg":g=function(e){var r=e;if(/^BG[0-9]{9,10}$/.test(r)&&(r=r.substr(2)),!/^[0-9]{9,10}$/.test(r))return{meta:{},valid:!1};var a=0,n=0;if(9===r.length){for(n=0;n<8;n++)a+=parseInt(r.charAt(n),10)*(n+1);if(10==(a%=11)){for(a=0,n=0;n<8;n++)a+=parseInt(r.charAt(n),10)*(n+3);a%=11}return{meta:{},valid:"".concat(a%=10)===r.substr(8)}}return{meta:{},valid:function(e){var r=parseInt(e.substr(0,2),10)+1900,a=parseInt(e.substr(2,2),10),n=parseInt(e.substr(4,2),10);if(a>40?(r+=100,a-=40):a>20&&(r-=100,a-=20),!t(r,a,n))return!1;for(var i=[2,4,8,5,10,9,7,3,6],s=0,o=0;o<9;o++)s+=parseInt(e.charAt(o),10)*i[o];return"".concat(s=s%11%10)===e.substr(9,1)}(r)||function(e){for(var t=[21,19,17,13,11,9,7,3,1],r=0,a=0;a<9;a++)r+=parseInt(e.charAt(a),10)*t[a];return"".concat(r%=10)===e.substr(9,1)}(r)||function(e){for(var t=[4,3,2,7,6,5,4,3,2],r=0,a=0;a<9;a++)r+=parseInt(e.charAt(a),10)*t[a];return 10!=(r=11-r%11)&&(11===r&&(r=0),"".concat(r)===e.substr(9,1))}(r)}}(v);break;case"br":g=function(e){if(""===e)return{meta:{},valid:!0};var t=e.replace(/[^\d]+/g,"");if(""===t||14!==t.length)return{meta:{},valid:!1};if("00000000000000"===t||"11111111111111"===t||"22222222222222"===t||"33333333333333"===t||"44444444444444"===t||"55555555555555"===t||"66666666666666"===t||"77777777777777"===t||"88888888888888"===t||"99999999999999"===t)return{meta:{},valid:!1};var r,a=t.length-2,n=t.substring(0,a),i=t.substring(a),s=0,o=a-7;for(r=a;r>=1;r--)s+=parseInt(n.charAt(a-r),10)*o--,o<2&&(o=9);var l=s%11<2?0:11-s%11;if(l!==parseInt(i.charAt(0),10))return{meta:{},valid:!1};for(a+=1,n=t.substring(0,a),s=0,o=a-7,r=a;r>=1;r--)s+=parseInt(n.charAt(a-r),10)*o--,o<2&&(o=9);return{meta:{},valid:(l=s%11<2?0:11-s%11)===parseInt(i.charAt(1),10)}}(v);break;case"ch":g=function(e){var t=e;if(/^CHE[0-9]{9}(MWST|TVA|IVA|TPV)?$/.test(t)&&(t=t.substr(2)),!/^E[0-9]{9}(MWST|TVA|IVA|TPV)?$/.test(t))return{meta:{},valid:!1};t=t.substr(1);for(var r=[5,4,3,2,7,6,5,4],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return 10==(a=11-a%11)?{meta:{},valid:!1}:(11===a&&(a=0),{meta:{},valid:"".concat(a)===t.substr(8,1)})}(v);break;case"cy":g=function(e){var t=e;if(/^CY[0-5|9][0-9]{7}
26280[A-Z]$/.test(t)&&(t=t.substr(2)),!/^[0-5|9][0-9]{7}[A-Z]$/.test(t))return{meta:{},valid:!1};if("12"===t.substr(0,2))return{meta:{},valid:!1};for(var r=0,a={0:1,1:0,2:5,3:7,4:9,5:13,6:15,7:17,8:19,9:21},n=0;n<8;n++){var i=parseInt(t.charAt(n),10);n%2==0&&(i=a["".concat(i)]),r+=i}return{meta:{},valid:"".concat("ABCDEFGHIJKLMNOPQRSTUVWXYZ"[r%26])===t.substr(8,1)}}(v);break;case"cz":g=function(e){var t=e;if(/^CZ[0-9]{8,10}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{8,10}$/.test(t))return{meta:{},valid:!1};var a=0,n=0;if(8===t.length){if("9"==="".concat(t.charAt(0)))return{meta:{},valid:!1};for(a=0,n=0;n<7;n++)a+=parseInt(t.charAt(n),10)*(8-n);return 10==(a=11-a%11)&&(a=0),11===a&&(a=1),{meta:{},valid:"".concat(a)===t.substr(7,1)}}if(9===t.length&&"6"==="".concat(t.charAt(0))){for(a=0,n=0;n<7;n++)a+=parseInt(t.charAt(n+1),10)*(8-n);return 10==(a=11-a%11)&&(a=0),11===a&&(a=1),{meta:{},valid:"".concat(a=[8,7,6,5,4,3,2,1,0,9,10][a-1])===t.substr(8,1)}}if(9===t.length||10===t.length){var i=1900+parseInt(t.substr(0,2),10),s=parseInt(t.substr(2,2),10)%50%20,o=parseInt(t.substr(4,2),10);if(9===t.length){if(i>=1980&&(i-=100),i>1953)return{meta:{},valid:!1}}else i<1954&&(i+=100);if(!r(i,s,o))return{meta:{},valid:!1};if(10===t.length){var l=parseInt(t.substr(0,9),10)%11;return i<1985&&(l%=10),{meta:{},valid:"".concat(l)===t.substr(9,1)}}return{meta:{},valid:!0}}return{meta:{},valid:!1}}(v);break;case"de":g=function(e){var t=e;return/^DE[0-9]{9}$/.test(t)&&(t=t.substr(2)),/^[1-9][0-9]{8}$/.test(t)?{meta:{},valid:a(t)}:{meta:{},valid:!1}}(v);break;case"dk":g=function(e){var t=e;if(/^DK[0-9]{8}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{8}$/.test(t))return{meta:{},valid:!1};for(var r=0,a=[2,7,6,5,4,3,2,1],n=0;n<8;n++)r+=parseInt(t.charAt(n),10)*a[n];return{meta:{},valid:r%11==0}}(v);break;case"ee":g=function(e){var t=e;if(/^EE[0-9]{9}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{9}$/.test(t))return{meta:{},valid:!1};for(var r=0,a=[3,7,1,3,7,1,3,7,1],n=0;n<9;n++)r+=parseInt(t.charAt(n),10)*a[n];return{meta:{},valid:r%10==0}}(v);break;case"el":case"gr":g=function(e){var t=e;if(/^(GR|EL)[0-9]{9}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{9}$/.test(t))return{meta:{},valid:!1};8===t.length&&(t="0".concat(t));for(var r=[256,128,64,32,16,8,4,2],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return{meta:{},valid:"".concat(a=a%11%10)===t.substr(8,1)}}(v);break;case"es":g=function(e){var t=e;if(/^ES[0-9A-Z][0-9]{7}[0-9A-Z]$/.test(t)&&(t=t.substr(2)),!/^[0-9A-Z][0-9]{7}[0-9A-Z]$/.test(t))return{meta:{},valid:!1};var r,a,n=t.charAt(0);return/^[0-9]$/.test(n)?{meta:{type:"DNI"},valid:(r=t,a=parseInt(r.substr(0,8),10),"".concat("TRWAGMYFPDXBNJZSQVHLCKE"[a%23])===r.substr(8,1))}:/^[XYZ]$/.test(n)?{meta:{type:"NIE"},valid:function(e){var t=["XYZ".indexOf(e.charAt(0)),e.substr(1)].join(""),r="TRWAGMYFPDXBNJZSQVHLCKE"[parseInt(t,10)%23];return"".concat(r)===e.substr(8,1)}(t)}:{meta:{type:"CIF"},valid:function(e){var t,r=e.charAt(0);if(-1!=="KLM".indexOf(r))return t=parseInt(e.substr(1,8),10),"".concat(t="TRWAGMYFPDXBNJZSQVHLCKE"[t%23])===e.substr(8,1);if(-1!=="ABCDEFGHJNPQRSUVW".indexOf(r)){for(var a=[2,1,2,1,2,1,2],n=0,i=0,s=0;s<7;s++)(i=parseInt(e.charAt(s+1),10)*a[s])>9&&(i=Math.floor(i/10)+i%10),n+=i;return 10==(n=10-n%10)&&(n=0),"".concat(n)===e.substr(8,1)||"JABCDEFGHI"[n]===e.substr(8,1)}return!1}(t)}}(v);break;case"fi":g=function(e){var t=e;if(/^FI[0-9]{8}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{8}$/.test(t))return{meta:{},valid:!1};for(var r=[7,9,10,5,8,4,2,1],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return{meta:{},valid:a%11==0}}(v);break;case"fr":g=function(e){var t=e;if(/^FR[0-9A-Z]{2}[0-9]{9}$/.test(t)&&(t=t.substr(2)),!/^[0-9A-Z]{2}[0-9]{9}$/.test(t))return{meta:{},valid:!1};if("000"!==t.substr(2,4))return{meta:{},valid:n(t.substr(2))};if(/^[0-9]{2}$/.test(t.substr(0,2)))return{meta:{},valid:t.substr(0,2)==="".concat(parseInt(t.substr(2)+"12",10)%97)};var r,a="0123456789ABCDEFGHJKLMNPQRSTUVWXYZ";return r=/^[0-9]$/.test(t.charAt(0))?24*a.indexOf(t.charAt(0))+a.indexOf(t.charAt(1))-10:34*a.indexOf(t.charAt(0))+a.indexOf(t.charAt(1))-100,{meta:{},valid:(parseInt(t.substr(2),10)+1+Math.floor(r/11))%11==r%11}}(v);break;case"gb":g=function(e){var t=e;if((/^GB[0-9]{9}$/.test(t)||/^GB[0-9]{12}$/.test(t)||/^GBGD[0-9]{3}$/.test(t)||/^GBHA[0-9]{3}$/.test(t)||/^GB(GD|HA)8888[0-9]{5}$/.test(t))&&(t=t.substr(2)),!(/^[0-9]{9}$/.test(t)||/^[0-9]{12}$/.test(t)||/^GD[0-9]{3}$/.test(t)||/^HA[0-9]{3}$/.test(t)||/^(GD|HA)8888[0-9]{5}$/.test(t)))return{meta:{},valid:!1};var r=t.length;if(5===r){var a=t.substr(0,2),n=parseInt(t.substr(2),10);return{meta:{},valid:"GD"===a&&n<500||"HA"===a&&n>=500}}if(11===r&&("GD8888"===t.substr(0,6)||"HA8888"===t.substr(0,6)))return"GD"===t.substr(0,2)&&parseInt(t.substr(6,3),10)>=500||"HA"===t.substr(0,2)&&parseInt(t.substr(6,3),10)<500?{meta:{},valid:!1}:{meta:{},valid:parseInt(t.substr(6,3),10)%97===parseInt(t.substr(9,2),10)};if(9===r||12===r){for(var i=[8,7,6,5,4,3,2,10,1],s=0,o=0;o<9;o++)s+=parseInt(t.charAt(o),10)*i[o];return s%=97,{meta:{},valid:parseInt(t.substr(0,3),10)>=100?0===s||42===s||55===s:0===s}}return{meta:{},valid:!0}}(v);break;case"hr":g=function(e){var t=e;return/^HR[0-9]{11}
26280$/.test(t)&&(t=t.substr(2)),/^[0-9]{11}$/.test(t)?{meta:{},valid:s(t)}:{meta:{},valid:!1}}(v);break;case"hu":g=function(e){var t=e;if(/^HU[0-9]{8}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{8}$/.test(t))return{meta:{},valid:!1};for(var r=[9,7,3,1,9,7,3,1],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return{meta:{},valid:a%10==0}}(v);break;case"ie":g=function(e){var t=e;if(/^IE[0-9][0-9A-Z*+][0-9]{5}[A-Z]{1,2}$/.test(t)&&(t=t.substr(2)),!/^[0-9][0-9A-Z*+][0-9]{5}[A-Z]{1,2}$/.test(t))return{meta:{},valid:!1};var r=function(e){for(var t=e;t.length<7;)t="0".concat(t);for(var r="WABCDEFGHIJKLMNOPQRSTUV",a=0,n=0;n<7;n++)a+=parseInt(t.charAt(n),10)*(8-n);return a+=9*r.indexOf(t.substr(7)),r[a%23]};return/^[0-9]+$/.test(t.substr(0,7))?{meta:{},valid:t.charAt(7)===r("".concat(t.substr(0,7)).concat(t.substr(8)))}:-1!=="ABCDEFGHIJKLMNOPQRSTUVWXYZ+*".indexOf(t.charAt(1))?{meta:{},valid:t.charAt(7)===r("".concat(t.substr(2,5)).concat(t.substr(0,1)))}:{meta:{},valid:!0}}(v);break;case"is":g=function(e){var t=e;return/^IS[0-9]{5,6}$/.test(t)&&(t=t.substr(2)),{meta:{},valid:/^[0-9]{5,6}$/.test(t)}}(v);break;case"it":g=function(e){var t=e;if(/^IT[0-9]{11}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{11}$/.test(t))return{meta:{},valid:!1};if(0===parseInt(t.substr(0,7),10))return{meta:{},valid:!1};var r=parseInt(t.substr(7,3),10);return r<1||r>201&&999!==r&&888!==r?{meta:{},valid:!1}:{meta:{},valid:o(t)}}(v);break;case"lt":g=function(e){var t=e;if(/^LT([0-9]{7}1[0-9]|[0-9]{10}1[0-9])$/.test(t)&&(t=t.substr(2)),!/^([0-9]{7}1[0-9]|[0-9]{10}1[0-9])$/.test(t))return{meta:{},valid:!1};var r,a=t.length,n=0;for(r=0;r<a-1;r++)n+=parseInt(t.charAt(r),10)*(1+r%9);var i=n%11;if(10===i)for(n=0,r=0;r<a-1;r++)n+=parseInt(t.charAt(r),10)*(1+(r+2)%9);return{meta:{},valid:"".concat(i=i%11%10)===t.charAt(a-1)}}(v);break;case"lu":g=function(e){var t=e;return/^LU[0-9]{8}$/.test(t)&&(t=t.substring(2)),/^[0-9]{8}$/.test(t)?{meta:{},valid:parseInt(t.substring(0,6),10)%89===parseInt(t.substring(6,8),10)}:{meta:{},valid:!1}}(v);break;case"lv":g=function(e){var t=e;if(/^LV[0-9]{11}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{11}$/.test(t))return{meta:{},valid:!1};var r,a=parseInt(t.charAt(0),10),n=t.length,i=0,s=[];if(a>3){for(i=0,s=[9,1,4,8,3,10,2,5,7,6,1],r=0;r<n;r++)i+=parseInt(t.charAt(r),10)*s[r];return{meta:{},valid:3==(i%=11)}}var o=parseInt(t.substr(0,2),10),d=parseInt(t.substr(2,2),10),u=parseInt(t.substr(4,2),10);if(u=u+1800+100*parseInt(t.charAt(6),10),!l(u,d,o))return{meta:{},valid:!1};for(i=0,s=[10,5,8,4,2,1,6,3,7,9],r=0;r<n-1;r++)i+=parseInt(t.charAt(r),10)*s[r];return{meta:{},valid:"".concat(i=(i+1)%11%10)===t.charAt(n-1)}}(v);break;case"mt":g=function(e){var t=e;if(/^MT[0-9]{8}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{8}$/.test(t))return{meta:{},valid:!1};for(var r=[3,4,6,7,8,9,10,1],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return{meta:{},valid:a%37==0}}(v);break;case"nl":g=function(e){var t=e;return/^NL[0-9]{9}B[0-9]{2}$/.test(t)&&(t=t.substr(2)),/^[0-9]{9}B[0-9]{2}$/.test(t)?{meta:{},valid:u(t.substr(0,9)).valid||d("NL".concat(t))}:{meta:{},valid:!1}}(v);break;case"no":g=function(e){var t=e;if(/^NO[0-9]{9}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{9}$/.test(t))return{meta:{},valid:!1};for(var r=[3,2,7,6,5,4,3,2],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return 11==(a=11-a%11)&&(a=0),{meta:{},valid:"".concat(a)===t.substr(8,1)}}(v);break;case"pl":g=function(e){var t=e;if(/^PL[0-9]{10}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{10}$/.test(t))return{meta:{},valid:!1};for(var r=[6,5,7,2,3,4,5,6,7,-1],a=0,n=0;n<10;n++)a+=parseInt(t.charAt(n),10)*r[n];return{meta:{},valid:a%11==0}}(v);break;case"pt":g=function(e){var t=e;if(/^PT[0-9]{9}$/.test(t)&&(t=t.substr(2)),!/^[0-9]{9}$/.test(t))return{meta:{},valid:!1};for(var r=[9,8,7,6,5,4,3,2],a=0,n=0;n<8;n++)a+=parseInt(t.charAt(n),10)*r[n];return(a=11-a%11)>9&&(a=0),{meta:{},valid:"".concat(a)===t.substr(8,1)}}(v);break;case"ro":g=function(e){var t=e;if(/^RO[1-9][0-9]{1,9}$/.test(t)&&(t=t.substr(2)),!/^[1-9][0-9]{1,9}$/.test(t))return{meta:{},valid:!1};for(var r=t.length,a=[7,5,3,2,1,7,5,3,2].slice(10-r),n=0,i=0;i<r-1;i++)n+=parseInt(t.charAt(i),10)*a[i];return{meta:{},valid:"".concat(n=10*n%11%10)===t.substr(r-1,1)}}(v);break;case"rs":g=function(e){var t=e;if(/^RS[0-9]{9}
26280$/.test(t)&&(t=t.substr(2)),!/^[0-9]{9}$/.test(t))return{meta:{},valid:!1};for(var r=10,a=0,n=0;n<8;n++)0==(a=(parseInt(t.charAt(n),10)+r)%10)&&(a=10),r=2*a%11;return{meta:{},valid:(r+parseInt(t.substr(8,1),10))%10==1}}(v);break;case"ru":g=function(e){var t=e;if(/^RU([0-9]{10}|[0-9]{12})$/.test(t)&&(t=t.substr(2)),!/^([0-9]{10}|[0-9]{12})$/.test(t))return{meta:{},valid:!1};var r=0;if(10===t.length){var a=[2,4,10,3,5,9,4,6,8,0],n=0;for(r=0;r<10;r++)n+=parseInt(t.charAt(r),10)*a[r];return(n%=11)>9&&(n%=10),{meta:{},valid:"".concat(n)===t.substr(9,1)}}if(12===t.length){var i=[7,2,4,10,3,5,9,4,6,8,0],s=[3,7,2,4,10,3,5,9,4,6,8,0],o=0,l=0;for(r=0;r<11;r++)o+=parseInt(t.charAt(r),10)*i[r],l+=parseInt(t.charAt(r),10)*s[r];return(o%=11)>9&&(o%=10),(l%=11)>9&&(l%=10),{meta:{},valid:"".concat(o)===t.substr(10,1)&&"".concat(l)===t.substr(11,1)}}return{meta:{},valid:!0}}(v);break;case"se":g=function(e){var t=e;return/^SE[0-9]{10}01$/.test(t)&&(t=t.substr(2)),/^[0-9]{10}01$/.test(t)?(t=t.substr(0,10),{meta:{},valid:c(t)}):{meta:{},valid:!1}}(v);break;case"si":g=function(e){var t=e.match(/^(SI)?([1-9][0-9]{7})$/);if(!t)return{meta:{},valid:!1};for(var r=t[1]?e.substr(2):e,a=[8,7,6,5,4,3,2],n=0,i=0;i<7;i++)n+=parseInt(r.charAt(i),10)*a[i];return 10==(n=11-n%11)&&(n=0),{meta:{},valid:"".concat(n)===r.substr(7,1)}}(v);break;case"sk":g=function(e){var t=e;return/^SK[1-9][0-9][(2-4)|(6-9)][0-9]{7}$/.test(t)&&(t=t.substr(2)),/^[1-9][0-9][(2-4)|(6-9)][0-9]{7}$/.test(t)?{meta:{},valid:parseInt(t,10)%11==0}:{meta:{},valid:!1}}(v);break;case"ve":g=function(e){var t=e;if(/^VE[VEJPG][0-9]{9}$/.test(t)&&(t=t.substr(2)),!/^[VEJPG][0-9]{9}$/.test(t))return{meta:{},valid:!1};for(var r=[3,2,7,6,5,4,3,2],a={E:8,G:20,J:12,P:16,V:4}[t.charAt(0)],n=0;n<8;n++)a+=parseInt(t.charAt(n+1),10)*r[n];return 11!=(a=11-a%11)&&10!==a||(a=0),{meta:{},valid:"".concat(a)===t.substr(9,1)}}(v);break;case"za":g=function(e){var t=e;return/^ZA4[0-9]{9}$/.test(t)&&(t=t.substr(2)),{meta:{},valid:/^4[0-9]{9}$/.test(t)}}(v)}var b=f(i.l10n&&i.l10n.vat?h.message||i.l10n.vat.country:h.message,i.l10n&&i.l10n.vat&&i.l10n.vat.countries?i.l10n.vat.countries[m.toUpperCase()]:m.toUpperCase());return Object.assign({},{message:b},g)}}},Da}();var Za,_a=Ra.exports,Ba={exports:{}},Ga={};Ba.exports=(Za||(Za=1,Ga.vin=function(){return{validate:function(e){if(""===e.value)return{valid:!0};if(!/^[a-hj-npr-z0-9]{8}[0-9xX][a-hj-npr-z0-9]{8}$/i.test(e.value))return{valid:!1};for(var t=e.value.toUpperCase(),r={A:1,B:2,C:3,D:4,E:5,F:6,G:7,H:8,J:1,K:2,L:3,M:4,N:5,P:7,R:9,
26280S:2,T:3,U:4,V:5,W:6,X:7,Y:8,Z:9,0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9},a=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],n=t.length,i=0,s=0;s<n;s++)i+=r["".concat(t.charAt(s))]*a[s];var o="".concat(i%11);return"10"===o&&(o="X"),{valid:o===t.charAt(8)}}}}),Ga);var Ua,ja=Ba.exports,Ka={exports:{}},za={};Ka.exports=function(){if(Ua)return za;Ua=1;var e=i,t=e.utils.format,r=e.utils.removeUndefined;return za.zipCode=function(){var e=["AT","BG","BR","CA","CH","CZ","DE","DK","ES","FR","GB","IE","IN","IT","MA","NL","PL","PT","RO","RU","SE","SG","SK","US"];return{validate:function(a){var n=Object.assign({},{message:""},r(a.options));if(""===a.value||!n.country)return{valid:!0};var i=a.value.substr(0,2);if(!(i="function"==typeof n.country?n.country.call(this):n.country)||-1===e.indexOf(i.toUpperCase()))return{valid:!0};var s=!1;switch(i=i.toUpperCase()){case"AT":case"CH":s=/^([1-9]{1})(\d{3})$/.test(a.value);break;case"BG":s=/^([1-9]{1}[0-9]{3})$/.test(a.value);break;case"BR":s=/^(\d{2})([.]?)(\d{3})([-]?)(\d{3})$/.test(a.value);break;case"CA":s=/^(?:A|B|C|E|G|H|J|K|L|M|N|P|R|S|T|V|X|Y){1}[0-9]{1}(?:A|B|C|E|G|H|J|K|L|M|N|P|R|S|T|V|W|X|Y|Z){1}\s?[0-9]{1}(?:A|B|C|E|G|H|J|K|L|M|N|P|R|S|T|V|W|X|Y|Z){1}[0-9]{1}$/i.test(a.value);break;case"CZ":case"SK":s=/^(\d{3})([ ]?)(\d{2})$/.test(a.value);break;case"DE":s=/^(?!01000|99999)(0[1-9]\d{3}|[1-9]\d{4})$/.test(a.value);break;case"DK":s=/^(DK(-|\s)?)?\d{4}$/i.test(a.value);break;case"ES":s=/^(?:0[1-9]|[1-4][0-9]|5[0-2])\d{3}$/.test(a.value);break;case"FR":s=/^[0-9]{5}$/i.test(a.value);break;case"GB":s=function(e){for(var t="[ABCDEFGHIJKLMNOPRSTUWYZ]",r="[ABCDEFGHKLMNOPQRSTUVWXY]",a="[ABDEFGHJLNPQRSTUWXYZ]",n=0,i=[new RegExp("^(".concat(t,"{1}").concat(r,"?[0-9]{1,2})(\\s*)([0-9]{1}").concat(a,"{2})$"),"i"),new RegExp("^(".concat(t,"{1}[0-9]{1}").concat("[ABCDEFGHJKPMNRSTUVWXY]","{1})(\\s*)([0-9]{1}").concat(a,"{2})$"),"i"),new RegExp("^(".concat(t,"{1}").concat(r,"{1}?[0-9]{1}").concat("[ABEHMNPRVWXY]","{1})(\\s*)([0-9]{1}").concat(a,"{2})$"),"i"),new RegExp("^(BF1)(\\s*)([0-6]{1}[ABDEFGHJLNPQRST]{1}[ABDEFGHJLNPQRSTUWZYZ]{1})$","i"),/^(GIR)(\s*)(0AA)$/i,/^(BFPO)(\s*)([0-9]{1,4})$/i,/^(BFPO)(\s*)(c\/o\s*[0-9]{1,3})$/i,/^([A-Z]{4}
26280)(\s*)(1ZZ)$/i,/^(AI-2640)$/i];n<i.length;n++)if(i[n].test(e))return!0;return!1}(a.value);break;case"IN":s=/^\d{3}\s?\d{3}$/.test(a.value);break;case"IE":s=/^(D6W|[ACDEFHKNPRTVWXY]\d{2})\s[0-9ACDEFHKNPRTVWXY]{4}$/.test(a.value);break;case"IT":s=/^(I-|IT-)?\d{5}$/i.test(a.value);break;case"MA":s=/^[1-9][0-9]{4}$/i.test(a.value);break;case"NL":s=/^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{2}$/i.test(a.value);break;case"PL":s=/^[0-9]{2}-[0-9]{3}$/.test(a.value);break;case"PT":s=/^[1-9]\d{3}-\d{3}$/.test(a.value);break;case"RO":s=/^(0[1-8]{1}|[1-9]{1}[0-5]{1})?[0-9]{4}$/i.test(a.value);break;case"RU":s=/^[0-9]{6}$/i.test(a.value);break;case"SE":s=/^(S-)?\d{3}\s?\d{2}$/i.test(a.value);break;case"SG":s=/^([0][1-9]|[1-6][0-9]|[7]([0-3]|[5-9])|[8][0-2])(\d{4})$/i.test(a.value);break;default:s=/^\d{4,5}([-]?\d{4})?$/.test(a.value)}return{message:t(a.l10n&&a.l10n.zipCode?n.message||a.l10n.zipCode.country:n.message,a.l10n&&a.l10n.zipCode&&a.l10n.zipCode.countries?a.l10n.zipCode.countries[i]:i),valid:s}}}},za}();var Ya=Ka.exports,Ja={Alias:d.Alias,Aria:p.Aria,Declarative:g.Declarative,DefaultSubmit:E.DefaultSubmit,Dependency:O.Dependency,Excluded:k.Excluded,FieldStatus:N.FieldStatus,Framework:_.Framework,Icon:j.Icon,Message:D.Message,Sequence:J.Sequence,SubmitButton:Q.SubmitButton,Tooltip:ae.Tooltip,Trigger:oe.Trigger},Xa={between:ce.between,blank:he.blank,callback:Ae.callback,choice:xe.choice,creditCard:Ve.creditCard,date:He.date,different:Te.different,digits:De.digits,emailAddress:Ge.emailAddress,file:ze.file,greaterThan:We.greaterThan,identical:tt.identical,integer:it.integer,ip:dt.ip,lessThan:pt.lessThan,notEmpty:gt.notEmpty,numeric:Et.numeric,promise:Ot.promise,regexp:kt.regexp,remote:Nt.remote,stringCase:Pt.stringCase,stringLength:_t.stringLength,uri:jt.uri,base64:Jt.base64,bic:Qt.bic,color:ar.color,cusip:or.cusip,ean:cr.ean,ein:hr.ein,grid:Ar.grid,hex:xr.hex,iban:Vr.iban,id:Hr.id,imei:Tr.imei,imo:Dr.imo,isbn:Gr.isbn,isin:zr.isin,ismn:Wr.ismn,issn:ta.issn,mac:ia.mac,meid:da.meid,phone:pa.phone,rtn:ga.rtn,sedol:Ea.sedol,siren:Oa.siren,siret:ka.siret,step:Na.step,uuid:Pa.uuid,vat:_a.vat,vin:ja.vin,zipCode:Ya.zipCode};e.Plugin=i.Plugin,e.algorithms=i.algorithms,e.formValidation=function(e,t){var r=i.formValidation(e,t);return Object.keys(Xa).forEach((function(e){return r.registerValidator(e,Xa[e])})),r},e.plugins=Ja,e.utils=i.utils,e.validators=Xa})); 26281 26282/** 26283 * FormValidation (https://formvalidation.io) 26284 * The best validation library for JavaScript 26285 * (c) 2013 - 2023 Nguyen Huu Phuoc <[email protected]> 26286 * 26287 * @license https://formvalidation.io/license 26288 * @package @form-validation/plugin-bootstrap5 26289 * @version 2.4.0 26290 */ 26291 26292!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("@form-validation/core"),require("@form-validation/plugin-framework")):"function"==typeof define&&define.amd?define(["@form-validation/core","@form-validation/plugin-framework"],t):((e="undefined"!=typeof globalThis?globalThis:e||self).FormValidation=e.FormValidation||{},e.FormValidation.plugins=e.FormValidation.plugins||{},e.FormValidation.plugins.Bootstrap5=t(e.FormValidation,e.FormValidation.plugins))}(this,(function(e,t){"use strict";
26292var n=function(e,t){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},n(e,t)};var i=e.utils.classSet,o=e.utils.hasClass;return function(e){function t(t){var n=e.call(this,Object.assign({},{eleInvalidClass:"is-invalid",eleValidClass:"is-valid",formClass:"fv-plugins-bootstrap5",rowInvalidClass:"fv-plugins-bootstrap5-row-invalid",rowPattern:/^(.*)(col|offset)(-(sm|md|lg|xl))*-[0-9]+(.*)$/,rowSelector:".row",rowValidClass:"fv-plugins-bootstrap5-row-valid"},t))||this;return n.eleValidatedHandler=n.handleElementValidated.bind(n),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}(t,e),t.prototype.install=function(){e.prototype.install.call(this),this.core.on("core.element.validated",this.eleValidatedHandler)},t.prototype.uninstall=function(){e.prototype.uninstall.call(this),this.core.off("core.element.validated",this.eleValidatedHandler)},t.prototype.handleElementValidated=function(e){var t=e.element.getAttribute("type");if(("checkbox"===t||"radio"===t)&&e.elements.length>1&&o(e.element,"form-check-input")){var n=e.element.parentElement;o(n,"form-check")&&o(n,"form-check-inline")&&i(n,{"is-invalid":!e.valid,"is-valid":e.valid})}},t.prototype.onIconPlaced=function(e){i(e.element,{"fv-plugins-icon-input":!0});var t=e.element.parentElement;o(t,"input-group")&&(t.parentElement.insertBefore(e.iconElement,t.nextSibling),e.element.nextElementSibling&&o(e.element.nextElementSibling,"input-group-text")&&i(e.iconElement,{"fv-plugins-icon-input-group":!0}));var n=e.element.getAttribute("type");if("checkbox"===n||"radio"===n){var l=t.parentElement;o(t,"form-check")?(i(e.iconElement,{"fv-plugins-icon-check":!0}),t.parentElement.insertBefore(e.iconElement,t.nextSibling)):o(t.parentElement,"form-check")&&(i(e.iconElement,{"fv-plugins-icon-check":!0}),l.parentElement.insertBefore(e.iconElement,l.nextSibling))}},t.prototype.onMessagePlaced=function(e){e.messageElement.classList.add("invalid-feedback");var t=e.element.parentElement;if(o(t,"input-group"))return t.appendChild(e.messageElement),void i(t,{"has-validation":!0});var n=e.element.getAttribute("type");"checkbox"!==n&&"radio"!==n||!o(e.element,"form-check-input")||o(t,"form-check")||o(t,"form-check-inline")||e.elements[e.elements.length-1].parentElement.appendChild(e.messageElement)},t}(t.Framework)})); 26293 26294/* ========================================================== 26295 * bootstrap-maxlength.js v2.0.0 26296 * 26297 * Copyright (c) 2013-2021 Maurizio Napoleoni; 26298 * 26299 * Licensed under the terms of the MIT license. 26300 * See: https://github.com/mimo84/bootstrap-maxlength/blob/master/LICENSE 26301 * ========================================================== */ 26302/*global jQuery*/ 26303 26304(function ($) { 26305 'use strict'; 26306 /** 26307 * We need an event when the elements are destroyed 26308 * because if an input is removed, we have to remove the 26309 * maxlength object associated (if any). 26310 * From: 26311 * http://stackoverflow.com/questions/2200494/jquery-trigger-event-when-an-element-is-removed-from-the-dom 26312 */ 26313 if (!$.event.special.destroyed) { 26314 $.event.special.destroyed = { 26315 remove: function (o) { 26316 if (o.handler) { 26317 o.handler(); 26318 } 26319 } 26320 }; 26321 } 26322 26323 26324 $.fn.extend({ 26325 maxlength: function (options, callback) { 26326 var documentBody = $('body'), 26327 defaults = { 26328 showOnReady: false, // true to always show when indicator is ready 26329 alwaysShow: true, // if true the indicator it's always shown. 26330 threshold: 0, // Represents how many chars left are needed to show up the counter 26331 warningClass: 'small form-text text-body-secondary', 26332 limitReachedClass: 'small form-text text-danger', 26333 limitExceededClass: '', 26334 separator: ' / ', 26335 preText: '', 26336 postText: '', 26337 showMaxLength: true, 26338 placement: 'bottom-right-inside', 26339 message: null, // an alternative way to provide the message text 26340 showCharsTyped: true, // show the number of characters typed and not the number of characters remaining 26341 validate: false, // if the browser doesn't support the maxlength attribute, attempt to type more than the indicated chars, will be prevented. 26342 utf8: false, // counts using bytesize rather than length. eg: '£' is counted as 2 characters. 26343 appendToParent: false, // append the indicator to the input field's parent instead of body 26344 twoCharLinebreak: true, // count linebreak as 2 characters to match IE/Chrome textarea validation. As well as DB storage. 26345 customMaxAttribute: null, // null = use maxlength attribute and browser functionality, string = use specified attribute instead. 26346 customMaxClass: 'overmax', // Class to add to the input field when the maxlength is exceeded. 26347 allowOverMax: false, // Form submit validation is handled on your own. when maxlength has been exceeded 'overmax' class added to element 26348 zIndex: 1099 26349 }; 26350 26351 if ($.isFunction(options) && !callback) { 26352 callback = options; 26353 options = {}; 26354 } 26355 options = $.extend(defaults, options); 26356 26357 26358 /** 26359 * Return the byte count of the specified character in UTF8 encoding. 26360 * Note: This won't cover UTF-8 characters that are 4 bytes long. 26361 * 26362 * @param input 26363 * @return {number} 26364 */ 26365 function utf8CharByteCount(character) { 26366 var c = character.charCodeAt(); 26367 // Not c then 0, else c < 128 then 1, else c < 2048 then 2, else 3 26368 return !c ? 0 : c < 128 ? 1 : c < 2048 ? 2 : 3; 26369 } 26370 26371 /** 26372 * Return the length of the specified input in UTF8 encoding. 26373 * 26374 * @param input 26375 * @return {number} 26376 */ 26377 function utf8Length(string) { 26378 return string.split("") 26379 .map(utf8CharByteCount) 26380 // Prevent reduce from throwing an error if the string is empty. 26381 .concat(0) 26382 .reduce(function (sum, val) { 26383 return sum + val; 26384 }); 26385 } 26386 26387 /** 26388 * Return the length of the specified input. 26389 * 26390 * @param input 26391 * @return {number} 26392 */
vendor: 15,206 bytes, lines 26393-26867
26393 function inputLength(input) { 26394 var text = input.val(); 26395 26396 if (options.twoCharLinebreak) { 26397 // Count all line breaks as 2 characters 26398 text = text.replace(/\r(?!\n)|\n(?!\r)/g, '\r\n'); 26399 } else { 26400 // Remove all double-character (\r\n) linebreaks, so they're counted only once. 26401 text = text.replace(/(?:\r\n|\r|\n)/g, '\n'); 26402 } 26403 26404 var currentLength = 0; 26405 26406 if (options.utf8) { 26407 currentLength = utf8Length(text); 26408 } else { 26409 currentLength = text.length; 26410 } 26411 26412 // Remove "C:\fakepath\" from counter when using file input 26413 // Fix https://github.com/mimo84/bootstrap-maxlength/issues/146 26414 if (input.prop("type") === "file" && input.val() !== "") { 26415 currentLength -= 12; 26416 } 26417 26418 return currentLength; 26419 } 26420 26421 /** 26422 * Truncate the text of the specified input. 26423 * 26424 * @param input 26425 * @param limit 26426 */ 26427 function truncateChars(input, maxlength) { 26428 var text = input.val(); 26429 26430 if (options.twoCharLinebreak) { 26431 text = text.replace(/\r(?!\n)|\n(?!\r)/g, '\r\n'); 26432 26433 if (text[text.length - 1] === '\n') { 26434 maxlength -= text.length % 2; 26435 } 26436 } 26437 26438 if (options.utf8) { 26439 var indexedSize = text.split("").map(utf8CharByteCount); 26440 for ( 26441 var removedBytes = 0, 26442 bytesPastMax = utf8Length(text) - maxlength; removedBytes < bytesPastMax; removedBytes += indexedSize.pop() 26443 ); 26444 maxlength -= (maxlength - indexedSize.length); 26445 } 26446 26447 input.val(text.substr(0, maxlength)); 26448 } 26449 26450 /** 26451 * Return true if the indicator should be showing up. 26452 * 26453 * @param input 26454 * @param threshold 26455 * @param maxlength 26456 * @return {number} 26457 */ 26458 function charsLeftThreshold(input, threshold, maxlength) { 26459 var output = true; 26460 if (!options.alwaysShow && (maxlength - inputLength(input) > threshold)) { 26461 output = false; 26462 } 26463 return output; 26464 } 26465 26466 /** 26467 * Returns how many chars are left to complete the fill up of the form. 26468 * 26469 * @param input 26470 * @param maxlength 26471 * @return {number} 26472 */ 26473 function remainingChars(input, maxlength) { 26474 var length = maxlength - inputLength(input); 26475 return length; 26476 } 26477 26478 /** 26479 * When called displays the indicator. 26480 * 26481 * @param indicator 26482 */ 26483 function showRemaining(currentInput, indicator) { 26484 indicator.css({ 26485 display: 'block' 26486 }); 26487 currentInput.trigger('maxlength.shown'); 26488 } 26489 26490 /** 26491 * When called shows the indicator. 26492 * 26493 * @param indicator 26494 */ 26495 function hideRemaining(currentInput, indicator) { 26496 26497 if (options.alwaysShow) { 26498 return; 26499 } 26500 26501 indicator.css({ 26502 display: 'none' 26503 }); 26504 currentInput.trigger('maxlength.hidden'); 26505 } 26506 26507 /** 26508 * This function updates the value in the indicator 26509 * 26510 * @param maxLengthThisInput 26511 * @param typedChars 26512 * @return String 26513 */ 26514 function updateMaxLengthHTML(currentInputText, maxLengthThisInput, typedChars) { 26515 var output = ''; 26516 if (options.message) { 26517 if (typeof options.message === 'function') { 26518 output = options.message(currentInputText, maxLengthThisInput); 26519 } else { 26520 output = options.message.replace('%charsTyped%', typedChars) 26521 .replace('%charsRemaining%', maxLengthThisInput - typedChars) 26522 .replace('%charsTotal%', maxLengthThisInput); 26523 } 26524 } else { 26525 if (options.preText) { 26526 output += options.preText; 26527 } 26528 if (!options.showCharsTyped) { 26529 output += maxLengthThisInput - typedChars; 26530 } else { 26531 output += typedChars; 26532 } 26533 if (options.showMaxLength) { 26534 output += options.separator + maxLengthThisInput; 26535 } 26536 if (options.postText) { 26537 output += options.postText; 26538 } 26539 } 26540 return output; 26541 } 26542 26543 /** 26544 * This function updates the value of the counter in the indicator. 26545 * Wants as parameters: the number of remaining chars, the element currently managed, 26546 * the maxLength for the current input and the indicator generated for it. 26547 * 26548 * @param remaining 26549 * @param currentInput 26550 * @param maxLengthCurrentInput 26551 * @param maxLengthIndicator 26552 */ 26553 function manageRemainingVisibility(remaining, currentInput, maxLengthCurrentInput, maxLengthIndicator) { 26554 if (maxLengthIndicator) { 26555 maxLengthIndicator.html(updateMaxLengthHTML(currentInput.val(), maxLengthCurrentInput, (maxLengthCurrentInput - remaining))); 26556 26557 if (remaining > 0) { 26558 if (charsLeftThreshold(currentInput, options.threshold, maxLengthCurrentInput)) { 26559 showRemaining(currentInput, maxLengthIndicator.removeClass(options.limitReachedClass + ' ' + options.limitExceededClass).addClass(options.warningClass)); 26560 } else { 26561 hideRemaining(currentInput, maxLengthIndicator); 26562 } 26563 } else { 26564 if (!options.limitExceededClass) { 26565 showRemaining(currentInput, maxLengthIndicator.removeClass(options.warningClass).addClass(options.limitReachedClass)); 26566 } else { 26567 if (remaining === 0) { 26568 showRemaining(currentInput, maxLengthIndicator.removeClass(options.warningClass + ' ' + options.limitExceededClass).addClass(options.limitReachedClass)); 26569 } else { 26570 showRemaining(currentInput, maxLengthIndicator.removeClass(options.warningClass + ' ' + options.limitReachedClass).addClass(options.limitExceededClass)); 26571 } 26572 } 26573 } 26574 } 26575 26576 if (options.customMaxAttribute) { 26577 // class to use for form validation on custom maxlength attribute 26578 if (remaining < 0) { 26579 currentInput.addClass(options.customMaxClass); 26580 } else { 26581 currentInput.removeClass(options.customMaxClass); 26582 } 26583 } 26584 } 26585 26586 /** 26587 * This function returns an object containing all the 26588 * informations about the position of the current input 26589 * 26590 * @param currentInput 26591 * @return object {bottom height left right top width} 26592 * 26593 */ 26594 function getPosition(currentInput) { 26595 var el = currentInput[0]; 26596 return $.extend({}, (typeof el.getBoundingClientRect === 'function') ? el.getBoundingClientRect() : { 26597 width: el.offsetWidth, 26598 height: el.offsetHeight 26599 }, currentInput.offset()); 26600 } 26601 26602 /** 26603 * This function places the maxLengthIndicator based on placement config object. 26604 * 26605 * @param {object} placement 26606 * @param {$} maxLengthIndicator 26607 * @return null 26608 * 26609 */ 26610 function placeWithCSS(placement, maxLengthIndicator) { 26611 if (!placement || !maxLengthIndicator) { 26612 return; 26613 } 26614 26615 var POSITION_KEYS = [ 26616 'top', 26617 'bottom', 26618 'left', 26619 'right', 26620 'position' 26621 ]; 26622 26623 var cssPos = {}; 26624 26625 // filter css properties to position 26626 $.each(POSITION_KEYS, function (i, key) { 26627 var val = options.placement[key]; 26628 if (typeof val !== 'undefined') { 26629 cssPos[key] = val; 26630 } 26631 }); 26632 26633 maxLengthIndicator.css(cssPos); 26634 26635 return; 26636 } 26637 26638 26639 /** 26640 * This function places the maxLengthIndicator at the 26641 * top / bottom / left / right of the currentInput 26642 * 26643 * @param currentInput 26644 * @param maxLengthIndicator 26645 * @return null 26646 * 26647 */ 26648 function place(currentInput, maxLengthIndicator) { 26649 var pos = getPosition(currentInput); 26650 26651 // Supports custom placement handler 26652 if ($.type(options.placement) === 'function') { 26653 options.placement(currentInput, maxLengthIndicator, pos); 26654 return; 26655 } 26656 26657 // Supports custom placement via css positional properties 26658 if ($.isPlainObject(options.placement)) { 26659 placeWithCSS(options.placement, maxLengthIndicator); 26660 return; 26661 } 26662 26663 var inputOuter = currentInput.outerWidth(), 26664 outerWidth = maxLengthIndicator.outerWidth(), 26665 actualWidth = maxLengthIndicator.width(), 26666 actualHeight = maxLengthIndicator.height(); 26667 26668 // get the right position if the indicator is appended to the input's parent 26669 if (options.appendToParent) { 26670 pos.top -= currentInput.parent().offset().top; 26671 pos.left -= currentInput.parent().offset().left; 26672 } 26673 26674 switch (options.placement) { 26675 case 'bottom': 26676 maxLengthIndicator.css({ 26677 top: pos.top + pos.height, 26678 left: pos.left + pos.width / 2 - actualWidth / 2 26679 }); 26680 break; 26681 case 'top': 26682 maxLengthIndicator.css({ 26683 top: pos.top - actualHeight, 26684 left: pos.left + pos.width / 2 - actualWidth / 2 26685 }); 26686 break; 26687 case 'left': 26688 maxLengthIndicator.css({ 26689 top: pos.top + pos.height / 2 - actualHeight / 2, 26690 left: pos.left - actualWidth 26691 }); 26692 break; 26693 case 'right': 26694 maxLengthIndicator.css({ 26695 top: pos.top + pos.height / 2 - actualHeight / 2, 26696 left: pos.left + pos.width 26697 }); 26698 break; 26699 case 'bottom-right': 26700 maxLengthIndicator.css({ 26701 top: pos.top + pos.height, 26702 left: pos.left + pos.width 26703 }); 26704 break; 26705 case 'top-right': 26706 maxLengthIndicator.css({ 26707 top: pos.top - actualHeight, 26708 left: pos.left + inputOuter 26709 }); 26710 break; 26711 case 'top-left': 26712 maxLengthIndicator.css({ 26713 top: pos.top - actualHeight, 26714 left: pos.left - outerWidth 26715 }); 26716 break; 26717 case 'bottom-left': 26718 maxLengthIndicator.css({ 26719 top: pos.top + currentInput.outerHeight(), 26720 left: pos.left - outerWidth 26721 }); 26722 break; 26723 case 'centered-right': 26724 maxLengthIndicator.css({ 26725 top: pos.top + (actualHeight / 2), 26726 left: pos.left + inputOuter - outerWidth - 3 26727 }); 26728 break; 26729 26730 // Some more options for placements 26731 case 'bottom-right-inside': 26732 maxLengthIndicator.css({ 26733 top: pos.top + pos.height, 26734 left: pos.left + pos.width - outerWidth 26735 }); 26736 break; 26737 case 'top-right-inside': 26738 maxLengthIndicator.css({ 26739 top: pos.top - actualHeight, 26740 left: pos.left + inputOuter - outerWidth 26741 }); 26742 break; 26743 case 'top-left-inside': 26744 maxLengthIndicator.css({ 26745 top: pos.top - actualHeight, 26746 left: pos.left 26747 }); 26748 break; 26749 case 'bottom-left-inside': 26750 maxLengthIndicator.css({ 26751 top: pos.top + currentInput.outerHeight(), 26752 left: pos.left 26753 }); 26754 break; 26755 } 26756 } 26757 26758 /** 26759 * This function retrieves the maximum length of currentInput 26760 * 26761 * @param currentInput 26762 * @return {number} 26763 * 26764 */ 26765 function getMaxLength(currentInput) { 26766 var max = currentInput.attr('maxlength') || options.customMaxAttribute; 26767 26768 if (options.customMaxAttribute && !options.allowOverMax) { 26769 var custom = currentInput.attr(options.customMaxAttribute); 26770 if (!max || custom < max) { 26771 max = custom; 26772 } 26773 } 26774 26775 if (!max) { 26776 max = currentInput.attr('size'); 26777 } 26778 return max; 26779 } 26780 26781 return this.each(function () { 26782 26783 var currentInput = $(this), 26784 maxLengthCurrentInput, 26785 maxLengthIndicator; 26786 26787 $(window).resize(function () { 26788 if (maxLengthIndicator) { 26789 place(currentInput, maxLengthIndicator); 26790 } 26791 }); 26792 26793 function firstInit() { 26794 var maxlengthContent = updateMaxLengthHTML(currentInput.val(), maxLengthCurrentInput, '0'); 26795 maxLengthCurrentInput = getMaxLength(currentInput); 26796 26797 if (!maxLengthIndicator) { 26798 maxLengthIndicator = $('<span class="bootstrap-maxlength"></span>').css({ 26799 display: 'none', 26800 position: 'absolute', 26801 whiteSpace: 'nowrap', 26802 zIndex: options.zIndex 26803 }).html(maxlengthContent); 26804 } 26805 26806 // We need to detect resizes if we are dealing with a textarea: 26807 if (currentInput.is('textarea')) { 26808 currentInput.data('maxlenghtsizex', currentInput.outerWidth()); 26809 currentInput.data('maxlenghtsizey', currentInput.outerHeight()); 26810 26811 currentInput.mouseup(function () { 26812 if (currentInput.outerWidth() !== currentInput.data('maxlenghtsizex') || currentInput.outerHeight() !== currentInput.data('maxlenghtsizey')) { 26813 place(currentInput, maxLengthIndicator); 26814 } 26815 26816 currentInput.data('maxlenghtsizex', currentInput.outerWidth()); 26817 currentInput.data('maxlenghtsizey', currentInput.outerHeight()); 26818 }); 26819 } 26820 26821 if (options.appendToParent) { 26822 currentInput.parent().append(maxLengthIndicator); 26823 currentInput.parent().css('position', 'relative'); 26824 } else { 26825 documentBody.append(maxLengthIndicator); 26826 } 26827 26828 var remaining = remainingChars(currentInput, getMaxLength(currentInput)); 26829 manageRemainingVisibility(remaining, currentInput, maxLengthCurrentInput, maxLengthIndicator); 26830 place(currentInput, maxLengthIndicator); 26831 } 26832 26833 if (options.showOnReady) { 26834 currentInput.ready(function () { 26835 firstInit(); 26836 }); 26837 } else { 26838 currentInput.focus(function () { 26839 firstInit(); 26840 }); 26841 } 26842 26843 currentInput.on('maxlength.reposition', function () { 26844 place(currentInput, maxLengthIndicator); 26845 }); 26846 26847 26848 currentInput.on('destroyed', function () { 26849 if (maxLengthIndicator) { 26850 maxLengthIndicator.remove(); 26851 } 26852 }); 26853 26854 currentInput.on('blur', function () { 26855 if (maxLengthIndicator && !options.showOnReady) { 26856 maxLengthIndicator.remove(); 26857 } 26858 }); 26859 26860 currentInput.on('input', function () { 26861 var maxlength = getMaxLength(currentInput), 26862 remaining = remainingChars(currentInput, maxlength), 26863 output = true; 26864 26865 if (options.validate && remaining < 0) { 26866 truncateChars(currentInput, maxlength); 26867 output = false;
vendor: 62,626 bytes, lines 26868-28343
26868 } else { 26869 manageRemainingVisibility(remaining, currentInput, maxLengthCurrentInput, maxLengthIndicator); 26870 } 26871 26872 return output; 26873 }); 26874 }); 26875 } 26876 }); 26877}(jQuery)); 26878/** 26879* @version: 3.1 26880* @author: Dan Grossman http://www.dangrossman.info/ 26881* @copyright: Copyright (c) 2012-2019 Dan Grossman. All rights reserved. 26882* @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php 26883* @website: http://www.daterangepicker.com/ 26884*/ 26885// Following the UMD template https://github.com/umdjs/umd/blob/master/templates/returnExportsGlobal.js 26886(function (root, factory) { 26887 if (typeof define === 'function' && define.amd) { 26888 // AMD. Make globaly available as well 26889 define(['moment', 'jquery'], function (moment, jquery) { 26890 if (!jquery.fn) jquery.fn = {}; // webpack server rendering 26891 if (typeof moment !== 'function' && moment.hasOwnProperty('default')) moment = moment['default'] 26892 return factory(moment, jquery); 26893 }); 26894 } else if (typeof module === 'object' && module.exports) { 26895 // Node / Browserify 26896 //isomorphic issue 26897 var jQuery = (typeof window != 'undefined') ? window.jQuery : undefined; 26898 if (!jQuery) { 26899 jQuery = require('jquery'); 26900 if (!jQuery.fn) jQuery.fn = {}; 26901 } 26902 var moment = (typeof window != 'undefined' && typeof window.moment != 'undefined') ? window.moment : require('moment'); 26903 module.exports = factory(moment, jQuery); 26904 } else { 26905 // Browser globals 26906 root.daterangepicker = factory(root.moment, root.jQuery); 26907 } 26908}(this, function(moment, $) { 26909 var DateRangePicker = function(element, options, cb) { 26910 26911 //default settings for options 26912 this.parentEl = 'body'; 26913 this.element = $(element); 26914 this.startDate = moment().startOf('day'); 26915 this.endDate = moment().endOf('day'); 26916 this.minDate = false; 26917 this.maxDate = false; 26918 this.maxSpan = false; 26919 this.autoApply = false; 26920 this.singleDatePicker = false; 26921 this.showDropdowns = false; 26922 this.minYear = moment().subtract(100, 'year').format('YYYY'); 26923 this.maxYear = moment().add(100, 'year').format('YYYY'); 26924 this.showWeekNumbers = false; 26925 this.showISOWeekNumbers = false; 26926 this.showCustomRangeLabel = true; 26927 this.timePicker = false; 26928 this.timePicker24Hour = false; 26929 this.timePickerIncrement = 1; 26930 this.timePickerSeconds = false; 26931 this.linkedCalendars = true; 26932 this.autoUpdateInput = true; 26933 this.alwaysShowCalendars = false; 26934 this.ranges = {}; 26935 26936 this.opens = 'right'; 26937 if (this.element.hasClass('pull-right')) 26938 this.opens = 'left'; 26939 26940 this.drops = 'down'; 26941 if (this.element.hasClass('dropup')) 26942 this.drops = 'up'; 26943 26944 this.buttonClasses = 'btn btn-sm'; 26945 this.applyButtonClasses = 'btn-primary'; 26946 this.cancelButtonClasses = 'btn-default'; 26947 26948 this.locale = { 26949 direction: 'ltr', 26950 format: moment.localeData().longDateFormat('L'), 26951 separator: ' - ', 26952 applyLabel: 'Apply', 26953 cancelLabel: 'Cancel', 26954 weekLabel: 'W', 26955 customRangeLabel: 'Custom Range', 26956 daysOfWeek: moment.weekdaysMin(), 26957 monthNames: moment.monthsShort(), 26958 firstDay: moment.localeData().firstDayOfWeek() 26959 }; 26960 26961 this.callback = function() { }; 26962 26963 //some state information 26964 this.isShowing = false; 26965 this.leftCalendar = {}; 26966 this.rightCalendar = {}; 26967 26968 //custom options from user 26969 if (typeof options !== 'object' || options === null) 26970 options = {}; 26971 26972 //allow setting options with data attributes 26973 //data-api options will be overwritten with custom javascript options 26974 options = $.extend(this.element.data(), options); 26975 26976 //html template for the picker UI 26977 if (typeof options.template !== 'string' && !(options.template instanceof $)) 26978 options.template = 26979 '<div class="daterangepicker">' + 26980 '<div class="ranges"></div>' + 26981 '<div class="drp-calendar left">' + 26982 '<div class="calendar-table"></div>' + 26983 '<div class="calendar-time"></div>' + 26984 '</div>' + 26985 '<div class="drp-calendar right">' + 26986 '<div class="calendar-table"></div>' + 26987 '<div class="calendar-time"></div>' + 26988 '</div>' + 26989 '<div class="drp-buttons">' + 26990 '<span class="drp-selected"></span>' + 26991 '<button class="cancelBtn" type="button"></button>' + 26992 '<button class="applyBtn" disabled="disabled" type="button"></button> ' + 26993 '</div>' + 26994 '</div>'; 26995 26996 this.parentEl = (options.parentEl && $(options.parentEl).length) ? $(options.parentEl) : $(this.parentEl); 26997 this.container = $(options.template).appendTo(this.parentEl); 26998 26999 // 27000 // handle all the possible options overriding defaults 27001 // 27002 27003 if (typeof options.locale === 'object') { 27004 27005 if (typeof options.locale.direction === 'string') 27006 this.locale.direction = options.locale.direction; 27007 27008 if (typeof options.locale.format === 'string') 27009 this.locale.format = options.locale.format; 27010 27011 if (typeof options.locale.separator === 'string') 27012 this.locale.separator = options.locale.separator; 27013 27014 if (typeof options.locale.daysOfWeek === 'object') 27015 this.locale.daysOfWeek = options.locale.daysOfWeek.slice(); 27016 27017 if (typeof options.locale.monthNames === 'object') 27018 this.locale.monthNames = options.locale.monthNames.slice(); 27019 27020 if (typeof options.locale.firstDay === 'number') 27021 this.locale.firstDay = options.locale.firstDay; 27022 27023 if (typeof options.locale.applyLabel === 'string') 27024 this.locale.applyLabel = options.locale.applyLabel; 27025 27026 if (typeof options.locale.cancelLabel === 'string') 27027 this.locale.cancelLabel = options.locale.cancelLabel; 27028 27029 if (typeof options.locale.weekLabel === 'string') 27030 this.locale.weekLabel = options.locale.weekLabel; 27031 27032 if (typeof options.locale.customRangeLabel === 'string'){ 27033 //Support unicode chars in the custom range name. 27034 var elem = document.createElement('textarea'); 27035 elem.innerHTML = options.locale.customRangeLabel; 27036 var rangeHtml = elem.value; 27037 this.locale.customRangeLabel = rangeHtml; 27038 } 27039 } 27040 this.container.addClass(this.locale.direction); 27041 27042 if (typeof options.startDate === 'string') 27043 this.startDate = moment(options.startDate, this.locale.format); 27044 27045 if (typeof options.endDate === 'string') 27046 this.endDate = moment(options.endDate, this.locale.format); 27047 27048 if (typeof options.minDate === 'string') 27049 this.minDate = moment(options.minDate, this.locale.format); 27050 27051 if (typeof options.maxDate === 'string') 27052 this.maxDate = moment(options.maxDate, this.locale.format); 27053 27054 if (typeof options.startDate === 'object') 27055 this.startDate = moment(options.startDate); 27056 27057 if (typeof options.endDate === 'object') 27058 this.endDate = moment(options.endDate); 27059 27060 if (typeof options.minDate === 'object') 27061 this.minDate = moment(options.minDate); 27062 27063 if (typeof options.maxDate === 'object') 27064 this.maxDate = moment(options.maxDate); 27065 27066 // sanity check for bad options 27067 if (this.minDate && this.startDate.isBefore(this.minDate)) 27068 this.startDate = this.minDate.clone(); 27069 27070 // sanity check for bad options 27071 if (this.maxDate && this.endDate.isAfter(this.maxDate)) 27072 this.endDate = this.maxDate.clone(); 27073 27074 if (typeof options.applyButtonClasses === 'string') 27075 this.applyButtonClasses = options.applyButtonClasses; 27076 27077 if (typeof options.applyClass === 'string') //backwards compat 27078 this.applyButtonClasses = options.applyClass; 27079 27080 if (typeof options.cancelButtonClasses === 'string') 27081 this.cancelButtonClasses = options.cancelButtonClasses; 27082 27083 if (typeof options.cancelClass === 'string') //backwards compat 27084 this.cancelButtonClasses = options.cancelClass; 27085 27086 if (typeof options.maxSpan === 'object') 27087 this.maxSpan = options.maxSpan; 27088 27089 if (typeof options.dateLimit === 'object') //backwards compat 27090 this.maxSpan = options.dateLimit; 27091 27092 if (typeof options.opens === 'string') 27093 this.opens = options.opens; 27094 27095 if (typeof options.drops === 'string') 27096 this.drops = options.drops; 27097 27098 if (typeof options.showWeekNumbers === 'boolean') 27099 this.showWeekNumbers = options.showWeekNumbers; 27100 27101 if (typeof options.showISOWeekNumbers === 'boolean') 27102 this.showISOWeekNumbers = options.showISOWeekNumbers; 27103 27104 if (typeof options.buttonClasses === 'string') 27105 this.buttonClasses = options.buttonClasses; 27106 27107 if (typeof options.buttonClasses === 'object') 27108 this.buttonClasses = options.buttonClasses.join(' '); 27109 27110 if (typeof options.showDropdowns === 'boolean') 27111 this.showDropdowns = options.showDropdowns; 27112 27113 if (typeof options.minYear === 'number') 27114 this.minYear = options.minYear; 27115 27116 if (typeof options.maxYear === 'number') 27117 this.maxYear = options.maxYear; 27118 27119 if (typeof options.showCustomRangeLabel === 'boolean') 27120 this.showCustomRangeLabel = options.showCustomRangeLabel; 27121 27122 if (typeof options.singleDatePicker === 'boolean') { 27123 this.singleDatePicker = options.singleDatePicker; 27124 if (this.singleDatePicker) 27125 this.endDate = this.startDate.clone(); 27126 } 27127 27128 if (typeof options.timePicker === 'boolean') 27129 this.timePicker = options.timePicker; 27130 27131 if (typeof options.timePickerSeconds === 'boolean') 27132 this.timePickerSeconds = options.timePickerSeconds; 27133 27134 if (typeof options.timePickerIncrement === 'number') 27135 this.timePickerIncrement = options.timePickerIncrement; 27136 27137 if (typeof options.timePicker24Hour === 'boolean') 27138 this.timePicker24Hour = options.timePicker24Hour; 27139 27140 if (typeof options.autoApply === 'boolean') 27141 this.autoApply = options.autoApply; 27142 27143 if (typeof options.autoUpdateInput === 'boolean') 27144 this.autoUpdateInput = options.autoUpdateInput; 27145 27146 if (typeof options.linkedCalendars === 'boolean') 27147 this.linkedCalendars = options.linkedCalendars; 27148 27149 if (typeof options.isInvalidDate === 'function') 27150 this.isInvalidDate = options.isInvalidDate; 27151 27152 if (typeof options.isCustomDate === 'function') 27153 this.isCustomDate = options.isCustomDate; 27154 27155 if (typeof options.alwaysShowCalendars === 'boolean') 27156 this.alwaysShowCalendars = options.alwaysShowCalendars; 27157 27158 // update day names order to firstDay 27159 if (this.locale.firstDay != 0) { 27160 var iterator = this.locale.firstDay; 27161 while (iterator > 0) { 27162 this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift()); 27163 iterator--; 27164 } 27165 } 27166 27167 var start, end, range; 27168 27169 //if no start/end dates set, check if an input element contains initial values 27170 if (typeof options.startDate === 'undefined' && typeof options.endDate === 'undefined') { 27171 if ($(this.element).is(':text')) { 27172 var val = $(this.element).val(), 27173 split = val.split(this.locale.separator); 27174 27175 start = end = null; 27176 27177 if (split.length == 2) { 27178 start = moment(split[0], this.locale.format); 27179 end = moment(split[1], this.locale.format); 27180 } else if (this.singleDatePicker && val !== "") { 27181 start = moment(val, this.locale.format); 27182 end = moment(val, this.locale.format); 27183 } 27184 if (start !== null && end !== null) { 27185 this.setStartDate(start); 27186 this.setEndDate(end); 27187 } 27188 } 27189 } 27190 27191 if (typeof options.ranges === 'object') { 27192 for (range in options.ranges) { 27193 27194 if (typeof options.ranges[range][0] === 'string') 27195 start = moment(options.ranges[range][0], this.locale.format); 27196 else 27197 start = moment(options.ranges[range][0]); 27198 27199 if (typeof options.ranges[range][1] === 'string') 27200 end = moment(options.ranges[range][1], this.locale.format); 27201 else 27202 end = moment(options.ranges[range][1]); 27203 27204 // If the start or end date exceed those allowed by the minDate or maxSpan 27205 // options, shorten the range to the allowable period. 27206 if (this.minDate && start.isBefore(this.minDate)) 27207 start = this.minDate.clone(); 27208 27209 var maxDate = this.maxDate; 27210 if (this.maxSpan && maxDate && start.clone().add(this.maxSpan).isAfter(maxDate)) 27211 maxDate = start.clone().add(this.maxSpan); 27212 if (maxDate && end.isAfter(maxDate)) 27213 end = maxDate.clone(); 27214 27215 // If the end of the range is before the minimum or the start of the range is 27216 // after the maximum, don't display this range option at all. 27217 if ((this.minDate && end.isBefore(this.minDate, this.timepicker ? 'minute' : 'day')) 27218 || (maxDate && start.isAfter(maxDate, this.timepicker ? 'minute' : 'day'))) 27219 continue; 27220 27221 //Support unicode chars in the range names. 27222 var elem = document.createElement('textarea'); 27223 elem.innerHTML = range; 27224 var rangeHtml = elem.value; 27225 27226 this.ranges[rangeHtml] = [start, end]; 27227 } 27228 27229 var list = '<ul>'; 27230 for (range in this.ranges) { 27231 list += '<li data-range-key="' + range + '">' + range + '</li>'; 27232 } 27233 if (this.showCustomRangeLabel) { 27234 list += '<li data-range-key="' + this.locale.customRangeLabel + '">' + this.locale.customRangeLabel + '</li>'; 27235 } 27236 list += '</ul>'; 27237 this.container.find('.ranges').prepend(list); 27238 } 27239 27240 if (typeof cb === 'function') { 27241 this.callback = cb; 27242 } 27243 27244 if (!this.timePicker) { 27245 this.startDate = this.startDate.startOf('day'); 27246 this.endDate = this.endDate.endOf('day'); 27247 this.container.find('.calendar-time').hide(); 27248 } 27249 27250 //can't be used together for now 27251 if (this.timePicker && this.autoApply) 27252 this.autoApply = false; 27253 27254 if (this.autoApply) { 27255 this.container.addClass('auto-apply'); 27256 } 27257 27258 if (typeof options.ranges === 'object') 27259 this.container.addClass('show-ranges'); 27260 27261 if (this.singleDatePicker) { 27262 this.container.addClass('single'); 27263 this.container.find('.drp-calendar.left').addClass('single'); 27264 this.container.find('.drp-calendar.left').show(); 27265 this.container.find('.drp-calendar.right').hide(); 27266 if (!this.timePicker && this.autoApply) { 27267 this.container.addClass('auto-apply'); 27268 } 27269 } 27270 27271 if ((typeof options.ranges === 'undefined' && !this.singleDatePicker) || this.alwaysShowCalendars) { 27272 this.container.addClass('show-calendar'); 27273 } 27274 27275 this.container.addClass('opens' + this.opens); 27276 27277 //apply CSS classes and labels to buttons 27278 this.container.find('.applyBtn, .cancelBtn').addClass(this.buttonClasses); 27279 if (this.applyButtonClasses.length) 27280 this.container.find('.applyBtn').addClass(this.applyButtonClasses); 27281 if (this.cancelButtonClasses.length) 27282 this.container.find('.cancelBtn').addClass(this.cancelButtonClasses); 27283 this.container.find('.applyBtn').html(this.locale.applyLabel); 27284 this.container.find('.cancelBtn').html(this.locale.cancelLabel); 27285 27286 // 27287 // event listeners 27288 // 27289 27290 this.container.find('.drp-calendar') 27291 .on('click.daterangepicker', '.prev', $.proxy(this.clickPrev, this)) 27292 .on('click.daterangepicker', '.next', $.proxy(this.clickNext, this)) 27293 .on('mousedown.daterangepicker', 'td.available', $.proxy(this.clickDate, this)) 27294 .on('mouseenter.daterangepicker', 'td.available', $.proxy(this.hoverDate, this)) 27295 .on('change.daterangepicker', 'select.yearselect', $.proxy(this.monthOrYearChanged, this)) 27296 .on('change.daterangepicker', 'select.monthselect', $.proxy(this.monthOrYearChanged, this)) 27297 .on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', $.proxy(this.timeChanged, this)); 27298 27299 this.container.find('.ranges') 27300 .on('click.daterangepicker', 'li', $.proxy(this.clickRange, this)); 27301 27302 this.container.find('.drp-buttons') 27303 .on('click.daterangepicker', 'button.applyBtn', $.proxy(this.clickApply, this)) 27304 .on('click.daterangepicker', 'button.cancelBtn', $.proxy(this.clickCancel, this)); 27305 27306 if (this.element.is('input') || this.element.is('button')) { 27307 this.element.on({ 27308 'click.daterangepicker': $.proxy(this.show, this), 27309 'focus.daterangepicker': $.proxy(this.show, this), 27310 'keyup.daterangepicker': $.proxy(this.elementChanged, this), 27311 'keydown.daterangepicker': $.proxy(this.keydown, this) //IE 11 compatibility 27312 }); 27313 } else { 27314 this.element.on('click.daterangepicker', $.proxy(this.toggle, this)); 27315 this.element.on('keydown.daterangepicker', $.proxy(this.toggle, this)); 27316 } 27317 27318 // 27319 // if attached to a text input, set the initial value 27320 // 27321 27322 this.updateElement(); 27323 27324 }; 27325 27326 DateRangePicker.prototype = { 27327 27328 constructor: DateRangePicker, 27329 27330 setStartDate: function(startDate) { 27331 if (typeof startDate === 'string') 27332 this.startDate = moment(startDate, this.locale.format); 27333 27334 if (typeof startDate === 'object') 27335 this.startDate = moment(startDate); 27336 27337 if (!this.timePicker) 27338 this.startDate = this.startDate.startOf('day'); 27339 27340 if (this.timePicker && this.timePickerIncrement) 27341 this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); 27342 27343 if (this.minDate && this.startDate.isBefore(this.minDate)) { 27344 this.startDate = this.minDate.clone(); 27345 if (this.timePicker && this.timePickerIncrement) 27346 this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); 27347 } 27348 27349 if (this.maxDate && this.startDate.isAfter(this.maxDate)) { 27350 this.startDate = this.maxDate.clone(); 27351 if (this.timePicker && this.timePickerIncrement) 27352 this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); 27353 } 27354 27355 if (!this.isShowing) 27356 this.updateElement(); 27357 27358 this.updateMonthsInView(); 27359 }, 27360 27361 setEndDate: function(endDate) { 27362 if (typeof endDate === 'string') 27363 this.endDate = moment(endDate, this.locale.format); 27364 27365 if (typeof endDate === 'object') 27366 this.endDate = moment(endDate); 27367 27368 if (!this.timePicker) 27369 this.endDate = this.endDate.endOf('day'); 27370 27371 if (this.timePicker && this.timePickerIncrement) 27372 this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement); 27373 27374 if (this.endDate.isBefore(this.startDate)) 27375 this.endDate = this.startDate.clone(); 27376 27377 if (this.maxDate && this.endDate.isAfter(this.maxDate)) 27378 this.endDate = this.maxDate.clone(); 27379 27380 if (this.maxSpan && this.startDate.clone().add(this.maxSpan).isBefore(this.endDate)) 27381 this.endDate = this.startDate.clone().add(this.maxSpan); 27382 27383 this.previousRightTime = this.endDate.clone(); 27384 27385 this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)); 27386 27387 if (!this.isShowing) 27388 this.updateElement(); 27389 27390 this.updateMonthsInView(); 27391 }, 27392 27393 isInvalidDate: function() { 27394 return false; 27395 }, 27396 27397 isCustomDate: function() { 27398 return false; 27399 }, 27400 27401 updateView: function() { 27402 if (this.timePicker) { 27403 this.renderTimePicker('left'); 27404 this.renderTimePicker('right'); 27405 if (!this.endDate) { 27406 this.container.find('.right .calendar-time select').prop('disabled', true).addClass('disabled'); 27407 } else { 27408 this.container.find('.right .calendar-time select').prop('disabled', false).removeClass('disabled'); 27409 } 27410 } 27411 if (this.endDate) 27412 this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format)); 27413 this.updateMonthsInView(); 27414 this.updateCalendars(); 27415 this.updateFormInputs(); 27416 }, 27417 27418 updateMonthsInView: function() { 27419 if (this.endDate) { 27420 27421 //if both dates are visible already, do nothing 27422 if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month && 27423 (this.startDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.startDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM')) 27424 && 27425 (this.endDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.endDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM')) 27426 ) { 27427 return; 27428 } 27429 27430 this.leftCalendar.month = this.startDate.clone().date(2); 27431 if (!this.linkedCalendars && (this.endDate.month() != this.startDate.month() || this.endDate.year() != this.startDate.year())) { 27432 this.rightCalendar.month = this.endDate.clone().date(2); 27433 } else { 27434 this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month'); 27435 } 27436 27437 } else { 27438 if (this.leftCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && this.rightCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM')) { 27439 this.leftCalendar.month = this.startDate.clone().date(2); 27440 this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month'); 27441 } 27442 } 27443 if (this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate) { 27444 this.rightCalendar.month = this.maxDate.clone().date(2); 27445 this.leftCalendar.month = this.maxDate.clone().date(2).subtract(1, 'month'); 27446 } 27447 }, 27448 27449 updateCalendars: function() { 27450 27451 if (this.timePicker) { 27452 var hour, minute, second; 27453 if (this.endDate) { 27454 hour = parseInt(this.container.find('.left .hourselect').val(), 10); 27455 minute = parseInt(this.container.find('.left .minuteselect').val(), 10); 27456 if (isNaN(minute)) { 27457 minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10); 27458 } 27459 second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0; 27460 if (!this.timePicker24Hour) { 27461 var ampm = this.container.find('.left .ampmselect').val(); 27462 if (ampm === 'PM' && hour < 12) 27463 hour += 12; 27464 if (ampm === 'AM' && hour === 12) 27465 hour = 0; 27466 } 27467 } else { 27468 hour = parseInt(this.container.find('.right .hourselect').val(), 10); 27469 minute = parseInt(this.container.find('.right .minuteselect').val(), 10); 27470 if (isNaN(minute)) { 27471 minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10); 27472 } 27473 second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0; 27474 if (!this.timePicker24Hour) { 27475 var ampm = this.container.find('.right .ampmselect').val(); 27476 if (ampm === 'PM' && hour < 12) 27477 hour += 12; 27478 if (ampm === 'AM' && hour === 12) 27479 hour = 0; 27480 } 27481 } 27482 this.leftCalendar.month.hour(hour).minute(minute).second(second); 27483 this.rightCalendar.month.hour(hour).minute(minute).second(second); 27484 } 27485 27486 this.renderCalendar('left'); 27487 this.renderCalendar('right'); 27488 27489 //highlight any predefined range matching the current start and end dates 27490 this.container.find('.ranges li').removeClass('active'); 27491 if (this.endDate == null) return; 27492 27493 this.calculateChosenLabel(); 27494 }, 27495 27496 renderCalendar: function(side) { 27497 27498 // 27499 // Build the matrix of dates that will populate the calendar 27500 // 27501 27502 var calendar = side == 'left' ? this.leftCalendar : this.rightCalendar; 27503 var month = calendar.month.month(); 27504 var year = calendar.month.year(); 27505 var hour = calendar.month.hour(); 27506 var minute = calendar.month.minute(); 27507 var second = calendar.month.second(); 27508 var daysInMonth = moment([year, month]).daysInMonth(); 27509 var firstDay = moment([year, month, 1]); 27510 var lastDay = moment([year, month, daysInMonth]); 27511 var lastMonth = moment(firstDay).subtract(1, 'month').month(); 27512 var lastYear = moment(firstDay).subtract(1, 'month').year(); 27513 var daysInLastMonth = moment([lastYear, lastMonth]).daysInMonth(); 27514 var dayOfWeek = firstDay.day(); 27515 27516 //initialize a 6 rows x 7 columns array for the calendar 27517 var calendar = []; 27518 calendar.firstDay = firstDay; 27519 calendar.lastDay = lastDay; 27520 27521 for (var i = 0; i < 6; i++) { 27522 calendar[i] = []; 27523 } 27524 27525 //populate the calendar with date objects 27526 var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1; 27527 if (startDay > daysInLastMonth) 27528 startDay -= 7; 27529 27530 if (dayOfWeek == this.locale.firstDay) 27531 startDay = daysInLastMonth - 6; 27532 27533 var curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]); 27534 27535 var col, row; 27536 for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add(24, 'hour')) { 27537 if (i > 0 && col % 7 === 0) { 27538 col = 0; 27539 row++; 27540 } 27541 calendar[row][col] = curDate.clone().hour(hour).minute(minute).second(second); 27542 curDate.hour(12); 27543 27544 if (this.minDate && calendar[row][col].format('YYYY-MM-DD') == this.minDate.format('YYYY-MM-DD') && calendar[row][col].isBefore(this.minDate) && side == 'left') { 27545 calendar[row][col] = this.minDate.clone(); 27546 } 27547 27548 if (this.maxDate && calendar[row][col].format('YYYY-MM-DD') == this.maxDate.format('YYYY-MM-DD') && calendar[row][col].isAfter(this.maxDate) && side == 'right') { 27549 calendar[row][col] = this.maxDate.clone(); 27550 } 27551 27552 } 27553 27554 //make the calendar object available to hoverDate/clickDate 27555 if (side == 'left') { 27556 this.leftCalendar.calendar = calendar; 27557 } else { 27558 this.rightCalendar.calendar = calendar; 27559 } 27560 27561 // 27562 // Display the calendar 27563 // 27564 27565 var minDate = side == 'left' ? this.minDate : this.startDate; 27566 var maxDate = this.maxDate; 27567 var selected = side == 'left' ? this.startDate : this.endDate; 27568 var arrow = this.locale.direction == 'ltr' ? {left: 'chevron-left', right: 'chevron-right'} : {left: 'chevron-right', right: 'chevron-left'}; 27569 27570 var html = '<table class="table-condensed">'; 27571 html += '<thead>'; 27572 html += '<tr>'; 27573 27574 // add empty cell for week number 27575 if (this.showWeekNumbers || this.showISOWeekNumbers) 27576 html += '<th></th>'; 27577 27578 if ((!minDate || minDate.isBefore(calendar.firstDay)) && (!this.linkedCalendars || side == 'left')) { 27579 html += '<th class="prev available"><span></span></th>'; 27580 } else { 27581 html += '<th></th>'; 27582 } 27583 27584 var dateHtml = this.locale.monthNames[calendar[1][1].month()] + calendar[1][1].format(" YYYY"); 27585 27586 if (this.showDropdowns) { 27587 var currentMonth = calendar[1][1].month(); 27588 var currentYear = calendar[1][1].year(); 27589 var maxYear = (maxDate && maxDate.year()) || (this.maxYear); 27590 var minYear = (minDate && minDate.year()) || (this.minYear); 27591 var inMinYear = currentYear == minYear; 27592 var inMaxYear = currentYear == maxYear; 27593 27594 var monthHtml = '<select class="monthselect">'; 27595 for (var m = 0; m < 12; m++) { 27596 if ((!inMinYear || (minDate && m >= minDate.month())) && (!inMaxYear || (maxDate && m <= maxDate.month()))) { 27597 monthHtml += "<option value='" + m + "'" + 27598 (m === currentMonth ? " selected='selected'" : "") + 27599 ">" + this.locale.monthNames[m] + "</option>"; 27600 } else { 27601 monthHtml += "<option value='" + m + "'" + 27602 (m === currentMonth ? " selected='selected'" : "") + 27603 " disabled='disabled'>" + this.locale.monthNames[m] + "</option>"; 27604 } 27605 } 27606 monthHtml += "</select>"; 27607 27608 var yearHtml = '<select class="yearselect">'; 27609 for (var y = minYear; y <= maxYear; y++) { 27610 yearHtml += '<option value="' + y + '"' + 27611 (y === currentYear ? ' selected="selected"' : '') + 27612 '>' + y + '</option>'; 27613 } 27614 yearHtml += '</select>'; 27615 27616 dateHtml = monthHtml + yearHtml; 27617 } 27618 27619 html += '<th colspan="5" class="month">' + dateHtml + '</th>'; 27620 if ((!maxDate || maxDate.isAfter(calendar.lastDay)) && (!this.linkedCalendars || side == 'right' || this.singleDatePicker)) { 27621 html += '<th class="next available"><span></span></th>'; 27622 } else { 27623 html += '<th></th>'; 27624 } 27625 27626 html += '</tr>'; 27627 html += '<tr>'; 27628 27629 // add week number label 27630 if (this.showWeekNumbers || this.showISOWeekNumbers) 27631 html += '<th class="week">' + this.locale.weekLabel + '</th>'; 27632 27633 $.each(this.locale.daysOfWeek, function(index, dayOfWeek) { 27634 html += '<th>' + dayOfWeek + '</th>'; 27635 }); 27636 27637 html += '</tr>'; 27638 html += '</thead>'; 27639 html += '<tbody>'; 27640 27641 //adjust maxDate to reflect the maxSpan setting in order to 27642 //grey out end dates beyond the maxSpan 27643 if (this.endDate == null && this.maxSpan) { 27644 var maxLimit = this.startDate.clone().add(this.maxSpan).endOf('day'); 27645 if (!maxDate || maxLimit.isBefore(maxDate)) { 27646 maxDate = maxLimit; 27647 } 27648 } 27649 27650 for (var row = 0; row < 6; row++) { 27651 html += '<tr>'; 27652 27653 // add week number 27654 if (this.showWeekNumbers) 27655 html += '<td class="week">' + calendar[row][0].week() + '</td>'; 27656 else if (this.showISOWeekNumbers) 27657 html += '<td class="week">' + calendar[row][0].isoWeek() + '</td>'; 27658 27659 for (var col = 0; col < 7; col++) { 27660 27661 var classes = []; 27662 27663 //highlight today's date 27664 if (calendar[row][col].isSame(new Date(), "day")) 27665 classes.push('today'); 27666 27667 //highlight weekends 27668 if (calendar[row][col].isoWeekday() > 5) 27669 classes.push('weekend'); 27670 27671 //grey out the dates in other months displayed at beginning and end of this calendar 27672 if (calendar[row][col].month() != calendar[1][1].month()) 27673 classes.push('off', 'ends'); 27674 27675 //don't allow selection of dates before the minimum date 27676 if (this.minDate && calendar[row][col].isBefore(this.minDate, 'day')) 27677 classes.push('off', 'disabled'); 27678 27679 //don't allow selection of dates after the maximum date 27680 if (maxDate && calendar[row][col].isAfter(maxDate, 'day')) 27681 classes.push('off', 'disabled'); 27682 27683 //don't allow selection of date if a custom function decides it's invalid 27684 if (this.isInvalidDate(calendar[row][col])) 27685 classes.push('off', 'disabled'); 27686 27687 //highlight the currently selected start date 27688 if (calendar[row][col].format('YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD')) 27689 classes.push('active', 'start-date'); 27690 27691 //highlight the currently selected end date 27692 if (this.endDate != null && calendar[row][col].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD')) 27693 classes.push('active', 'end-date'); 27694 27695 //highlight dates in-between the selected dates 27696 if (this.endDate != null && calendar[row][col] > this.startDate && calendar[row][col] < this.endDate) 27697 classes.push('in-range'); 27698 27699 //apply custom classes for this date 27700 var isCustom = this.isCustomDate(calendar[row][col]); 27701 if (isCustom !== false) { 27702 if (typeof isCustom === 'string') 27703 classes.push(isCustom); 27704 else 27705 Array.prototype.push.apply(classes, isCustom); 27706 } 27707 27708 var cname = '', disabled = false; 27709 for (var i = 0; i < classes.length; i++) { 27710 cname += classes[i] + ' '; 27711 if (classes[i] == 'disabled') 27712 disabled = true; 27713 } 27714 if (!disabled) 27715 cname += 'available'; 27716 27717 html += '<td class="' + cname.replace(/^\s+|\s+$/g, '') + '" data-title="' + 'r' + row + 'c' + col + '">' + calendar[row][col].date() + '</td>'; 27718 27719 } 27720 html += '</tr>'; 27721 } 27722 27723 html += '</tbody>'; 27724 html += '</table>'; 27725 27726 this.container.find('.drp-calendar.' + side + ' .calendar-table').html(html); 27727 27728 }, 27729 27730 renderTimePicker: function(side) { 27731 27732 // Don't bother updating the time picker if it's currently disabled 27733 // because an end date hasn't been clicked yet 27734 if (side == 'right' && !this.endDate) return; 27735 27736 var html, selected, minDate, maxDate = this.maxDate; 27737 27738 if (this.maxSpan && (!this.maxDate || this.startDate.clone().add(this.maxSpan).isBefore(this.maxDate))) 27739 maxDate = this.startDate.clone().add(this.maxSpan); 27740 27741 if (side == 'left') { 27742 selected = this.startDate.clone(); 27743 minDate = this.minDate; 27744 } else if (side == 'right') { 27745 selected = this.endDate.clone(); 27746 minDate = this.startDate; 27747 27748 //Preserve the time already selected 27749 var timeSelector = this.container.find('.drp-calendar.right .calendar-time'); 27750 if (timeSelector.html() != '') { 27751 27752 selected.hour(!isNaN(selected.hour()) ? selected.hour() : timeSelector.find('.hourselect option:selected').val()); 27753 selected.minute(!isNaN(selected.minute()) ? selected.minute() : timeSelector.find('.minuteselect option:selected').val()); 27754 selected.second(!isNaN(selected.second()) ? selected.second() : timeSelector.find('.secondselect option:selected').val()); 27755 27756 if (!this.timePicker24Hour) { 27757 var ampm = timeSelector.find('.ampmselect option:selected').val(); 27758 if (ampm === 'PM' && selected.hour() < 12) 27759 selected.hour(selected.hour() + 12); 27760 if (ampm === 'AM' && selected.hour() === 12) 27761 selected.hour(0); 27762 } 27763 27764 } 27765 27766 if (selected.isBefore(this.startDate)) 27767 selected = this.startDate.clone(); 27768 27769 if (maxDate && selected.isAfter(maxDate)) 27770 selected = maxDate.clone(); 27771 27772 } 27773 27774 // 27775 // hours 27776 // 27777 27778 html = '<select class="hourselect">'; 27779 27780 var start = this.timePicker24Hour ? 0 : 1; 27781 var end = this.timePicker24Hour ? 23 : 12; 27782 27783 for (var i = start; i <= end; i++) { 27784 var i_in_24 = i; 27785 if (!this.timePicker24Hour) 27786 i_in_24 = selected.hour() >= 12 ? (i == 12 ? 12 : i + 12) : (i == 12 ? 0 : i); 27787 27788 var time = selected.clone().hour(i_in_24); 27789 var disabled = false; 27790 if (minDate && time.minute(59).isBefore(minDate)) 27791 disabled = true; 27792 if (maxDate && time.minute(0).isAfter(maxDate)) 27793 disabled = true; 27794 27795 if (i_in_24 == selected.hour() && !disabled) { 27796 html += '<option value="' + i + '" selected="selected">' + i + '</option>'; 27797 } else if (disabled) { 27798 html += '<option value="' + i + '" disabled="disabled" class="disabled">' + i + '</option>'; 27799 } else { 27800 html += '<option value="' + i + '">' + i + '</option>'; 27801 } 27802 } 27803 27804 html += '</select> '; 27805 27806 // 27807 // minutes 27808 // 27809 27810 html += ': <select class="minuteselect">'; 27811 27812 for (var i = 0; i < 60; i += this.timePickerIncrement) { 27813 var padded = i < 10 ? '0' + i : i; 27814 var time = selected.clone().minute(i); 27815 27816 var disabled = false; 27817 if (minDate && time.second(59).isBefore(minDate)) 27818 disabled = true; 27819 if (maxDate && time.second(0).isAfter(maxDate)) 27820 disabled = true; 27821 27822 if (selected.minute() == i && !disabled) { 27823 html += '<option value="' + i + '" selected="selected">' + padded + '</option>'; 27824 } else if (disabled) { 27825 html += '<option value="' + i + '" disabled="disabled" class="disabled">' + padded + '</option>'; 27826 } else { 27827 html += '<option value="' + i + '">' + padded + '</option>'; 27828 } 27829 } 27830 27831 html += '</select> '; 27832 27833 // 27834 // seconds 27835 // 27836 27837 if (this.timePickerSeconds) { 27838 html += ': <select class="secondselect">'; 27839 27840 for (var i = 0; i < 60; i++) { 27841 var padded = i < 10 ? '0' + i : i; 27842 var time = selected.clone().second(i); 27843 27844 var disabled = false; 27845 if (minDate && time.isBefore(minDate)) 27846 disabled = true; 27847 if (maxDate && time.isAfter(maxDate)) 27848 disabled = true; 27849 27850 if (selected.second() == i && !disabled) { 27851 html += '<option value="' + i + '" selected="selected">' + padded + '</option>'; 27852 } else if (disabled) { 27853 html += '<option value="' + i + '" disabled="disabled" class="disabled">' + padded + '</option>'; 27854 } else { 27855 html += '<option value="' + i + '">' + padded + '</option>'; 27856 } 27857 } 27858 27859 html += '</select> '; 27860 } 27861 27862 // 27863 // AM/PM 27864 // 27865 27866 if (!this.timePicker24Hour) { 27867 html += '<select class="ampmselect">'; 27868 27869 var am_html = ''; 27870 var pm_html = ''; 27871 27872 if (minDate && selected.clone().hour(12).minute(0).second(0).isBefore(minDate)) 27873 am_html = ' disabled="disabled" class="disabled"'; 27874 27875 if (maxDate && selected.clone().hour(0).minute(0).second(0).isAfter(maxDate)) 27876 pm_html = ' disabled="disabled" class="disabled"'; 27877 27878 if (selected.hour() >= 12) { 27879 html += '<option value="AM"' + am_html + '>AM</option><option value="PM" selected="selected"' + pm_html + '>PM</option>'; 27880 } else { 27881 html += '<option value="AM" selected="selected"' + am_html + '>AM</option><option value="PM"' + pm_html + '>PM</option>'; 27882 } 27883 27884 html += '</select>'; 27885 } 27886 27887 this.container.find('.drp-calendar.' + side + ' .calendar-time').html(html); 27888 27889 }, 27890 27891 updateFormInputs: function() { 27892 27893 if (this.singleDatePicker || (this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)))) { 27894 this.container.find('button.applyBtn').prop('disabled', false); 27895 } else { 27896 this.container.find('button.applyBtn').prop('disabled', true); 27897 } 27898 27899 }, 27900 27901 move: function() { 27902 var parentOffset = { top: 0, left: 0 }, 27903 containerTop, 27904 drops = this.drops; 27905 27906 var parentRightEdge = $(window).width(); 27907 if (!this.parentEl.is('body')) { 27908 parentOffset = { 27909 top: this.parentEl.offset().top - this.parentEl.scrollTop(), 27910 left: this.parentEl.offset().left - this.parentEl.scrollLeft() 27911 }; 27912 parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left; 27913 } 27914 27915 switch (drops) { 27916 case 'auto': 27917 containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top; 27918 if (containerTop + this.container.outerHeight() >= this.parentEl[0].scrollHeight) { 27919 containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top; 27920 drops = 'up'; 27921 } 27922 break; 27923 case 'up': 27924 containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top; 27925 break; 27926 default: 27927 containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top; 27928 break; 27929 } 27930 27931 // Force the container to it's actual width 27932 this.container.css({ 27933 top: 0, 27934 left: 0, 27935 right: 'auto' 27936 }); 27937 var containerWidth = this.container.outerWidth(); 27938 27939 this.container.toggleClass('drop-up', drops == 'up'); 27940 27941 if (this.opens == 'left') { 27942 var containerRight = parentRightEdge - this.element.offset().left - this.element.outerWidth(); 27943 if (containerWidth + containerRight > $(window).width()) { 27944 this.container.css({ 27945 top: containerTop, 27946 right: 'auto', 27947 left: 9 27948 }); 27949 } else { 27950 this.container.css({ 27951 top: containerTop, 27952 right: containerRight, 27953 left: 'auto' 27954 }); 27955 } 27956 } else if (this.opens == 'center') { 27957 var containerLeft = this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2 27958 - containerWidth / 2; 27959 if (containerLeft < 0) { 27960 this.container.css({ 27961 top: containerTop, 27962 right: 'auto', 27963 left: 9 27964 }); 27965 } else if (containerLeft + containerWidth > $(window).width()) { 27966 this.container.css({ 27967 top: containerTop, 27968 left: 'auto', 27969 right: 0 27970 }); 27971 } else { 27972 this.container.css({ 27973 top: containerTop, 27974 left: containerLeft, 27975 right: 'auto' 27976 }); 27977 } 27978 } else { 27979 var containerLeft = this.element.offset().left - parentOffset.left; 27980 if (containerLeft + containerWidth > $(window).width()) { 27981 this.container.css({ 27982 top: containerTop, 27983 left: 'auto', 27984 right: 0 27985 }); 27986 } else { 27987 this.container.css({ 27988 top: containerTop, 27989 left: containerLeft, 27990 right: 'auto' 27991 }); 27992 } 27993 } 27994 }, 27995 27996 show: function(e) { 27997 if (this.isShowing) return; 27998 27999 // Create a click proxy that is private to this instance of datepicker, for unbinding 28000 this._outsideClickProxy = $.proxy(function(e) { this.outsideClick(e); }, this); 28001 28002 // Bind global datepicker mousedown for hiding and 28003 $(document) 28004 .on('mousedown.daterangepicker', this._outsideClickProxy) 28005 // also support mobile devices 28006 .on('touchend.daterangepicker', this._outsideClickProxy) 28007 // also explicitly play nice with Bootstrap dropdowns, which stopPropagation when clicking them 28008 .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy) 28009 // and also close when focus changes to outside the picker (eg. tabbing between controls) 28010 .on('focusin.daterangepicker', this._outsideClickProxy); 28011 28012 // Reposition the picker if the window is resized while it's open 28013 $(window).on('resize.daterangepicker', $.proxy(function(e) { this.move(e); }, this)); 28014 28015 this.oldStartDate = this.startDate.clone(); 28016 this.oldEndDate = this.endDate.clone(); 28017 this.previousRightTime = this.endDate.clone(); 28018 28019 this.updateView(); 28020 this.container.show(); 28021 this.move(); 28022 this.element.trigger('show.daterangepicker', this); 28023 this.isShowing = true; 28024 }, 28025 28026 hide: function(e) { 28027 if (!this.isShowing) return; 28028 28029 //incomplete date selection, revert to last values 28030 if (!this.endDate) { 28031 this.startDate = this.oldStartDate.clone(); 28032 this.endDate = this.oldEndDate.clone(); 28033 } 28034 28035 //if a new date range was selected, invoke the user callback function 28036 if (!this.startDate.isSame(this.oldStartDate) || !this.endDate.isSame(this.oldEndDate)) 28037 this.callback(this.startDate.clone(), this.endDate.clone(), this.chosenLabel); 28038 28039 //if picker is attached to a text input, update it 28040 this.updateElement(); 28041 28042 $(document).off('.daterangepicker'); 28043 $(window).off('.daterangepicker'); 28044 this.container.hide(); 28045 this.element.trigger('hide.daterangepicker', this); 28046 this.isShowing = false; 28047 }, 28048 28049 toggle: function(e) { 28050 if (this.isShowing) { 28051 this.hide(); 28052 } else { 28053 this.show(); 28054 } 28055 }, 28056 28057 outsideClick: function(e) { 28058 var target = $(e.target); 28059 // if the page is clicked anywhere except within the daterangerpicker/button 28060 // itself then call this.hide() 28061 if ( 28062 // ie modal dialog fix 28063 e.type == "focusin" || 28064 target.closest(this.element).length || 28065 target.closest(this.container).length || 28066 target.closest('.calendar-table').length 28067 ) return; 28068 this.hide(); 28069 this.element.trigger('outsideClick.daterangepicker', this); 28070 }, 28071 28072 showCalendars: function() { 28073 this.container.addClass('show-calendar'); 28074 this.move(); 28075 this.element.trigger('showCalendar.daterangepicker', this); 28076 }, 28077 28078 hideCalendars: function() { 28079 this.container.removeClass('show-calendar'); 28080 this.element.trigger('hideCalendar.daterangepicker', this); 28081 }, 28082 28083 clickRange: function(e) { 28084 var label = e.target.getAttribute('data-range-key'); 28085 this.chosenLabel = label; 28086 if (label == this.locale.customRangeLabel) { 28087 this.showCalendars(); 28088 } else { 28089 var dates = this.ranges[label]; 28090 this.startDate = dates[0]; 28091 this.endDate = dates[1]; 28092 28093 if (!this.timePicker) { 28094 this.startDate.startOf('day'); 28095 this.endDate.endOf('day'); 28096 } 28097 28098 if (!this.alwaysShowCalendars) 28099 this.hideCalendars(); 28100 this.clickApply(); 28101 } 28102 }, 28103 28104 clickPrev: function(e) { 28105 var cal = $(e.target).parents('.drp-calendar'); 28106 if (cal.hasClass('left')) { 28107 this.leftCalendar.month.subtract(1, 'month'); 28108 if (this.linkedCalendars) 28109 this.rightCalendar.month.subtract(1, 'month'); 28110 } else { 28111 this.rightCalendar.month.subtract(1, 'month'); 28112 } 28113 this.updateCalendars(); 28114 }, 28115 28116 clickNext: function(e) { 28117 var cal = $(e.target).parents('.drp-calendar'); 28118 if (cal.hasClass('left')) { 28119 this.leftCalendar.month.add(1, 'month'); 28120 } else { 28121 this.rightCalendar.month.add(1, 'month'); 28122 if (this.linkedCalendars) 28123 this.leftCalendar.month.add(1, 'month'); 28124 } 28125 this.updateCalendars(); 28126 }, 28127 28128 hoverDate: function(e) { 28129 28130 //ignore dates that can't be selected 28131 if (!$(e.target).hasClass('available')) return; 28132 28133 var title = $(e.target).attr('data-title'); 28134 var row = title.substr(1, 1); 28135 var col = title.substr(3, 1); 28136 var cal = $(e.target).parents('.drp-calendar'); 28137 var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; 28138 28139 //highlight the dates between the start date and the date being hovered as a potential end date 28140 var leftCalendar = this.leftCalendar; 28141 var rightCalendar = this.rightCalendar; 28142 var startDate = this.startDate; 28143 if (!this.endDate) { 28144 this.container.find('.drp-calendar tbody td').each(function(index, el) { 28145 28146 //skip week numbers, only look at dates 28147 if ($(el).hasClass('week')) return; 28148 28149 var title = $(el).attr('data-title'); 28150 var row = title.substr(1, 1); 28151 var col = title.substr(3, 1); 28152 var cal = $(el).parents('.drp-calendar'); 28153 var dt = cal.hasClass('left') ? leftCalendar.calendar[row][col] : rightCalendar.calendar[row][col]; 28154 28155 if ((dt.isAfter(startDate) && dt.isBefore(date)) || dt.isSame(date, 'day')) { 28156 $(el).addClass('in-range'); 28157 } else { 28158 $(el).removeClass('in-range'); 28159 } 28160 28161 }); 28162 } 28163 28164 }, 28165 28166 clickDate: function(e) { 28167 28168 if (!$(e.target).hasClass('available')) return; 28169 28170 var title = $(e.target).attr('data-title'); 28171 var row = title.substr(1, 1); 28172 var col = title.substr(3, 1); 28173 var cal = $(e.target).parents('.drp-calendar'); 28174 var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col]; 28175 28176 // 28177 // this function needs to do a few things: 28178 // * alternate between selecting a start and end date for the range, 28179 // * if the time picker is enabled, apply the hour/minute/second from the select boxes to the clicked date 28180 // * if autoapply is enabled, and an end date was chosen, apply the selection 28181 // * if single date picker mode, and time picker isn't enabled, apply the selection immediately 28182 // * if one of the inputs above the calendars was focused, cancel that manual input 28183 // 28184 28185 if (this.endDate || date.isBefore(this.startDate, 'day')) { //picking start 28186 if (this.timePicker) { 28187 var hour = parseInt(this.container.find('.left .hourselect').val(), 10); 28188 if (!this.timePicker24Hour) { 28189 var ampm = this.container.find('.left .ampmselect').val(); 28190 if (ampm === 'PM' && hour < 12) 28191 hour += 12; 28192 if (ampm === 'AM' && hour === 12) 28193 hour = 0; 28194 } 28195 var minute = parseInt(this.container.find('.left .minuteselect').val(), 10); 28196 if (isNaN(minute)) { 28197 minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10); 28198 } 28199 var second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0; 28200 date = date.clone().hour(hour).minute(minute).second(second); 28201 } 28202 this.endDate = null; 28203 this.setStartDate(date.clone()); 28204 } else if (!this.endDate && date.isBefore(this.startDate)) { 28205 //special case: clicking the same date for start/end, 28206 //but the time of the end date is before the start date 28207 this.setEndDate(this.startDate.clone()); 28208 } else { // picking end 28209 if (this.timePicker) { 28210 var hour = parseInt(this.container.find('.right .hourselect').val(), 10); 28211 if (!this.timePicker24Hour) { 28212 var ampm = this.container.find('.right .ampmselect').val(); 28213 if (ampm === 'PM' && hour < 12) 28214 hour += 12; 28215 if (ampm === 'AM' && hour === 12) 28216 hour = 0; 28217 } 28218 var minute = parseInt(this.container.find('.right .minuteselect').val(), 10); 28219 if (isNaN(minute)) { 28220 minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10); 28221 } 28222 var second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0; 28223 date = date.clone().hour(hour).minute(minute).second(second); 28224 } 28225 this.setEndDate(date.clone()); 28226 if (this.autoApply) { 28227 this.calculateChosenLabel(); 28228 this.clickApply(); 28229 } 28230 } 28231 28232 if (this.singleDatePicker) { 28233 this.setEndDate(this.startDate); 28234 if (!this.timePicker && this.autoApply) 28235 this.clickApply(); 28236 } 28237 28238 this.updateView(); 28239 28240 //This is to cancel the blur event handler if the mouse was in one of the inputs 28241 e.stopPropagation(); 28242 28243 }, 28244 28245 calculateChosenLabel: function () { 28246 var customRange = true; 28247 var i = 0; 28248 for (var range in this.ranges) { 28249 if (this.timePicker) { 28250 var format = this.timePickerSeconds ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD HH:mm"; 28251 //ignore times when comparing dates if time picker seconds is not enabled 28252 if (this.startDate.format(format) == this.ranges[range][0].format(format) && this.endDate.format(format) == this.ranges[range][1].format(format)) { 28253 customRange = false; 28254 this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key'); 28255 break; 28256 } 28257 } else { 28258 //ignore times when comparing dates if time picker is not enabled 28259 if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) { 28260 customRange = false; 28261 this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key'); 28262 break; 28263 } 28264 } 28265 i++; 28266 } 28267 if (customRange) { 28268 if (this.showCustomRangeLabel) { 28269 this.chosenLabel = this.container.find('.ranges li:last').addClass('active').attr('data-range-key'); 28270 } else { 28271 this.chosenLabel = null; 28272 } 28273 this.showCalendars(); 28274 } 28275 }, 28276 28277 clickApply: function(e) { 28278 this.hide(); 28279 this.element.trigger('apply.daterangepicker', this); 28280 }, 28281 28282 clickCancel: function(e) { 28283 this.startDate = this.oldStartDate; 28284 this.endDate = this.oldEndDate; 28285 this.hide(); 28286 this.element.trigger('cancel.daterangepicker', this); 28287 }, 28288 28289 monthOrYearChanged: function(e) { 28290 var isLeft = $(e.target).closest('.drp-calendar').hasClass('left'), 28291 leftOrRight = isLeft ? 'left' : 'right', 28292 cal = this.container.find('.drp-calendar.'+leftOrRight); 28293 28294 // Month must be Number for new moment versions 28295 var month = parseInt(cal.find('.monthselect').val(), 10); 28296 var year = cal.find('.yearselect').val(); 28297 28298 if (!isLeft) { 28299 if (year < this.startDate.year() || (year == this.startDate.year() && month < this.startDate.month())) { 28300 month = this.startDate.month(); 28301 year = this.startDate.year(); 28302 } 28303 } 28304 28305 if (this.minDate) { 28306 if (year < this.minDate.year() || (year == this.minDate.year() && month < this.minDate.month())) { 28307 month = this.minDate.month(); 28308 year = this.minDate.year(); 28309 } 28310 } 28311 28312 if (this.maxDate) { 28313 if (year > this.maxDate.year() || (year == this.maxDate.year() && month > this.maxDate.month())) { 28314 month = this.maxDate.month(); 28315 year = this.maxDate.year(); 28316 } 28317 } 28318 28319 if (isLeft) { 28320 this.leftCalendar.month.month(month).year(year); 28321 if (this.linkedCalendars) 28322 this.rightCalendar.month = this.leftCalendar.month.clone().add(1, 'month'); 28323 } else { 28324 this.rightCalendar.month.month(month).year(year); 28325 if (this.linkedCalendars) 28326 this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, 'month'); 28327 } 28328 this.updateCalendars(); 28329 }, 28330 28331 timeChanged: function(e) { 28332 28333 var cal = $(e.target).closest('.drp-calendar'), 28334 isLeft = cal.hasClass('left'); 28335 28336 var hour = parseInt(cal.find('.hourselect').val(), 10); 28337 var minute = parseInt(cal.find('.minuteselect').val(), 10); 28338 if (isNaN(minute)) { 28339 minute = parseInt(cal.find('.minuteselect option:last').val(), 10); 28340 } 28341 var second = this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10) : 0; 28342 28343 if (!this.timePicker24Hour) {
28344 var ampm = cal.find('.ampmselect').val(); 28345 if (ampm === 'PM' && hour < 12) 28346 hour += 12; 28347 if (ampm === 'AM' && hour === 12) 28348 hour = 0; 28349 } 28350 28351 if (isLeft) { 28352 var start = this.startDate.clone(); 28353 start.hour(hour); 28354 start.minute(minute); 28355 start.second(second); 28356 this.setStartDate(start); 28357 if (this.singleDatePicker) { 28358 this.endDate = this.startDate.clone(); 28359 } else if (this.endDate && this.endDate.format('YYYY-MM-DD') == start.format('YYYY-MM-DD') && this.endDate.isBefore(start)) { 28360 this.setEndDate(start.clone()); 28361 } 28362 } else if (this.endDate) { 28363 var end = this.endDate.clone(); 28364 end.hour(hour); 28365 end.minute(minute); 28366 end.second(second); 28367 this.setEndDate(end); 28368 } 28369 28370 //update the calendars so all clickable dates reflect the new time component 28371 this.updateCalendars(); 28372 28373 //update the form inputs above the calendars with the new time 28374 this.updateFormInputs(); 28375 28376 //re-render the time pickers because changing one selection can affect what's enabled in another 28377 this.renderTimePicker('left'); 28378 this.renderTimePicker('right'); 28379 28380 }, 28381 28382 elementChanged: function() { 28383 if (!this.element.is('input')) return; 28384 if (!this.element.val().length) return; 28385 28386 var dateString = this.element.val().split(this.locale.separator), 28387 start = null, 28388 end = null; 28389 28390 if (dateString.length === 2) { 28391 start = moment(dateString[0], this.locale.format); 28392 end = moment(dateString[1], this.locale.format); 28393 } 28394 28395 if (this.singleDatePicker || start === null || end === null) { 28396 start = moment(this.element.val(), this.locale.format); 28397 end = start; 28398 } 28399 28400 if (!start.isValid() || !end.isValid()) return; 28401 28402 this.setStartDate(start); 28403 this.setEndDate(end); 28404 this.updateView(); 28405 }, 28406 28407 keydown: function(e) { 28408 //hide on tab or enter 28409 if ((e.keyCode === 9) || (e.keyCode === 13)) { 28410 this.hide(); 28411 } 28412 28413 //hide on esc and prevent propagation 28414 if (e.keyCode === 27) { 28415 e.preventDefault(); 28416 e.stopPropagation(); 28417 28418 this.hide(); 28419 } 28420 }, 28421 28422 updateElement: function() { 28423 if (this.element.is('input') && this.autoUpdateInput) { 28424 var newValue = this.startDate.format(this.locale.format); 28425 if (!this.singleDatePicker) { 28426 newValue += this.locale.separator + this.endDate.format(this.locale.format); 28427 } 28428 if (newValue !== this.element.val()) { 28429 this.element.val(newValue).trigger('change'); 28430 } 28431 } 28432 }, 28433 28434 remove: function() { 28435 this.container.remove(); 28436 this.element.off('.daterangepicker'); 28437 this.element.removeData(); 28438 } 28439 28440 }; 28441 28442 $.fn.daterangepicker = function(options, callback) { 28443 var implementOptions = $.extend(true, {}, $.fn.daterangepicker.defaultOptions, options); 28444 this.each(function() { 28445 var el = $(this); 28446 if (el.data('daterangepicker')) 28447 el.data('daterangepicker').remove(); 28448 el.data('daterangepicker', new DateRangePicker(el, implementOptions, callback)); 28449 }); 28450 return this; 28451 }; 28452 28453 return DateRangePicker; 28454 28455})); 28456 28457/*! 28458 * dist/inputmask 28459 * https://github.com/RobinHerbots/Inputmask 28460 * Copyright (c) 2010 - 2024 Robin Herbots 28461 * Licensed under the MIT license 28462 * Version: 5.0.9 28463 */ 28464!function(e, t) { 28465 if ("object" == typeof exports && "object" == typeof module) module.exports = t(); else if ("function" == typeof define && define.amd) define([], t); else { 28466 var n = t(); 28467 for (var i in n) ("object" == typeof exports ? exports : e)[i] = n[i]; 28468 } 28469}("undefined" != typeof self ? self : this, (function() { 28470 return function() { 28471 "use strict"; 28472 var e = { 28473 3976: function(e, t) { 28474 Object.defineProperty(t, "__esModule", { 28475 value: !0 28476 }), t.default = void 0; 28477 t.default = { 28478 _maxTestPos: 500, 28479 placeholder: "_", 28480 optionalmarker: [ "[", "]" ], 28481 quantifiermarker: [ "{", "}" ], 28482 groupmarker: [ "(", ")" ], 28483 alternatormarker: "|", 28484 escapeChar: "\\", 28485 mask: null, 28486 regex: null, 28487 oncomplete: function() {}, 28488 onincomplete: function() {}, 28489 oncleared: function() {}, 28490 repeat: 0, 28491 greedy: !1, 28492 autoUnmask: !1, 28493 removeMaskOnSubmit: !1, 28494 clearMaskOnLostFocus: !0, 28495 insertMode: !0, 28496 insertModeVisual: !0, 28497 clearIncomplete: !1, 28498 alias: null, 28499 onKeyDown: function() {}, 28500 onBeforeMask: null, 28501 onBeforePaste: function(e, t) { 28502 return "function" == typeof t.onBeforeMask ? t.onBeforeMask.call(this, e, t) : e; 28503 }, 28504 onBeforeWrite: null, 28505 onUnMask: null, 28506 showMaskOnFocus: !0, 28507 showMaskOnHover: !0, 28508 onKeyValidation: function() {}, 28509 skipOptionalPartCharacter: " ", 28510 numericInput: !1, 28511 rightAlign: !1, 28512 undoOnEscape: !0, 28513 radixPoint: "", 28514 _radixDance: !1, 28515 groupSeparator: "", 28516 keepStatic: null, 28517 positionCaretOnTab: !0, 28518 tabThrough: !1, 28519 supportsInputType: [ "text", "tel", "url", "password", "search" ], 28520 isComplete: null, 28521 preValidation: null, 28522 postValidation: null, 28523 staticDefinitionSymbol: void 0, 28524 jitMasking: !1, 28525 nullable: !0, 28526 inputEventOnly: !1, 28527 noValuePatching: !1, 28528 positionCaretOnClick: "lvp", 28529 casing: null, 28530 inputmode: "text", 28531 importDataAttributes: !0, 28532 shiftPositions: !0, 28533 usePrototypeDefinitions: !0, 28534 validationEventTimeOut: 3e3, 28535 substitutes: {} 28536 }; 28537 }, 28538 7392: function(e, t) { 28539 Object.defineProperty(t, "__esModule", { 28540 value: !0 28541 }), t.default = void 0; 28542 t.default = { 28543 9: { 28544 validator: "[0-9\uff10-\uff19]", 28545 definitionSymbol: "*" 28546 }, 28547 a: { 28548 validator: "[A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]", 28549 definitionSymbol: "*" 28550 }, 28551 "*": { 28552 validator: "[0-9\uff10-\uff19A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]" 28553 } 28554 }; 28555 }, 28556 253: function(e, t) { 28557 Object.defineProperty(t, "__esModule", { 28558 value: !0 28559 }), t.default = function(e, t, n) { 28560 if (void 0 === n) return e.__data ? e.__data[t] : null; 28561 e.__data = e.__data || {}, e.__data[t] = n; 28562 }; 28563 }, 28564 3776: function(e, t, n) { 28565 Object.defineProperty(t, "__esModule", { 28566 value: !0 28567 }), t.Event = void 0, t.off = function(e, t) { 28568 var n, i; 28569 u(this[0]) && e && (n = this[0].eventRegistry, i = this[0], e.split(" ").forEach((function(e) { 28570 var a = o(e.split("."), 2); 28571 (function(e, i) { 28572 var a, r, o = []; 28573 if (e.length > 0) if (void 0 === t) for (a = 0, r = n[e][i].length; a < r; a++) o.push({ 28574 ev: e, 28575 namespace: i && i.length > 0 ? i : "global", 28576 handler: n[e][i][a] 28577 }); else o.push({ 28578 ev: e, 28579 namespace: i && i.length > 0 ? i : "global", 28580 handler: t 28581 }); else if (i.length > 0) for (var l in n) for (var s in n[l]) if (s === i) if (void 0 === t) for (a = 0, 28582 r = n[l][s].length; a < r; a++) o.push({ 28583 ev: l, 28584 namespace: s, 28585 handler: n[l][s][a] 28586 }); else o.push({ 28587 ev: l, 28588 namespace: s, 28589 handler: t 28590 }); 28591 return o; 28592 }
28592)(a[0], a[1]).forEach((function(e) { 28593 var t = e.ev, a = e.handler; 28594 !function(e, t, a) { 28595 if (e in n == 1) if (i.removeEventListener ? i.removeEventListener(e, a, !1) : i.detachEvent && i.detachEvent("on".concat(e), a), 28596 "global" === t) for (var r in n[e]) n[e][r].splice(n[e][r].indexOf(a), 1); else n[e][t].splice(n[e][t].indexOf(a), 1); 28597 }(t, e.namespace, a); 28598 })); 28599 }))); 28600 return this; 28601 }, t.on = function(e, t) { 28602 if (u(this[0])) { 28603 var n = this[0].eventRegistry, i = this[0]; 28604 e.split(" ").forEach((function(e) { 28605 var a = o(e.split("."), 2), r = a[0], l = a[1]; 28606 !function(e, a) { 28607 i.addEventListener ? i.addEventListener(e, t, !1) : i.attachEvent && i.attachEvent("on".concat(e), t), 28608 n[e] = n[e] || {}, n[e][a] = n[e][a] || [], n[e][a].push(t); 28609 }(r, void 0 === l ? "global" : l); 28610 })); 28611 } 28612 return this; 28613 }, t.trigger = function(e) { 28614 var t = arguments; 28615 if (u(this[0])) for (var n = this[0].eventRegistry, i = this[0], o = "string" == typeof e ? e.split(" ") : [ e.type ], l = 0; l < o.length; l++) { 28616 var s = o[l].split("."), f = s[0], p = s[1] || "global"; 28617 if (void 0 !== c && "global" === p) { 28618 var d, h = { 28619 bubbles: !0, 28620 cancelable: !0, 28621 composed: !0, 28622 detail: arguments[1] 28623 }; 28624 if (c.createEvent) { 28625 try { 28626 if ("input" === f) h.inputType = "insertText", d = new InputEvent(f, h); else d = new CustomEvent(f, h); 28627 } catch (e) { 28628 (d = c.createEvent("CustomEvent")).initCustomEvent(f, h.bubbles, h.cancelable, h.detail); 28629 } 28630 e.type && (0, a.default)(d, e), i.dispatchEvent(d); 28631 } else (d = c.createEventObject()).eventType = f, d.detail = arguments[1], e.type && (0, 28632 a.default)(d, e), i.fireEvent("on" + d.eventType, d); 28633 } else if (void 0 !== n[f]) { 28634 arguments[0] = arguments[0].type ? arguments[0] : r.default.Event(arguments[0]), 28635 arguments[0].detail = arguments.slice(1); 28636 var v = n[f]; 28637 ("global" === p ? Object.values(v).flat() : v[p]).forEach((function(e) { 28638 return e.apply(i, t); 28639 })); 28640 } 28641 } 28642 return this; 28643 }; 28644 var i = s(n(9380)), a = s(n(600)), r = s(n(4963)); 28645 function o(e, t) { 28646 return function(e) { 28647 if (Array.isArray(e)) return e; 28648 }(e) || function(e, t) { 28649 var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; 28650 if (null != n) { 28651 var i, a, r, o, l = [], s = !0, c = !1; 28652 try { 28653 if (r = (n = n.call(e)).next, 0 === t) { 28654 if (Object(n) !== n) return; 28655 s = !1; 28656 } else for (;!(s = (i = r.call(n)).done) && (l.push(i.value), l.length !== t); s = !0) ; 28657 } catch (e) { 28658 c = !0, a = e; 28659 } finally { 28660 try { 28661 if (!s && null != n.return && (o = n.return(), Object(o) !== o)) return; 28662 } finally { 28663 if (c) throw a; 28664 } 28665 } 28666 return l; 28667 } 28668 }(e, t) || function(e, t) { 28669 if (!e) return; 28670 if ("string" == typeof e) return l(e, t); 28671 var n = Object.prototype.toString.call(e).slice(8, -1); 28672 "Object" === n && e.constructor && (n = e.constructor.name); 28673 if ("Map" === n || "Set" === n) return Array.from(e); 28674 if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return l(e, t); 28675 }(e, t) || function() { 28676 throw new TypeError("Invalid attempt to de
28676structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 28677 }(); 28678 } 28679 function l(e, t) { 28680 (null == t || t > e.length) && (t = e.length); 28681 for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; 28682 return i; 28683 } 28684 function s(e) { 28685 return e && e.__esModule ? e : { 28686 default: e 28687 }; 28688 } 28689 var c = i.default.document; 28690 function u(e) { 28691 return e instanceof Element; 28692 } 28693 var f = t.Event = void 0; 28694 "function" == typeof i.default.CustomEvent ? t.Event = f = i.default.CustomEvent : i.default.Event && c && c.createEvent ? (t.Event = f = function(e, t) { 28695 t = t || { 28696 bubbles: !1, 28697 cancelable: !1, 28698 composed: !0, 28699 detail: void 0 28700 }; 28701 var n = c.createEvent("CustomEvent"); 28702 return n.initCustomEvent(e, t.bubbles, t.cancelable, t.detail), n; 28703 }, f.prototype = i.default.Event.prototype) : "undefined" != typeof Event && (t.Event = f = Event); 28704 }, 28705 600: function(e, t) { 28706 function n(e) { 28707 return n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { 28708 return typeof e; 28709 } : function(e) { 28710 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 28711 }, n(e); 28712 } 28713 Object.defineProperty(t, "__esModule", { 28714 value: !0 28715 }), t.default = function e() { 28716 var t, i, a, r, o, l, s = arguments[0] || {}, c = 1, u = arguments.length, f = !1; 28717 "boolean" == typeof s && (f = s, s = arguments[c] || {}, c++); 28718 "object" !== n(s) && "function" != typeof s && (s = {}); 28719 for (;c < u; c++) if (null != (t = arguments[c])) for (i in t) a = s[i], s !== (r = t[i]) && (f && r && ("[object Object]" === Object.prototype.toString.call(r) || (o = Array.isArray(r))) ? (o ? (o = !1, 28720 l = a && Array.isArray(a) ? a : []) : l = a && "[object Object]" === Object.prototype.toString.call(a) ? a : {}, 28721 s[i] = e(f, l, r)) : void 0 !== r && (s[i] = r)); 28722 return s; 28723 }; 28724 }, 28725 4963: function(e, t, n) { 28726 Object.defineProperty(t, "__esModule", { 28727 value: !0 28728 }), t.default = void 0; 28729 var i = l(n(9380)), a = l(n(253)), r = n(3776), o = l(n(600)); 28730 function l(e) { 28731 return e && e.__esModule ? e : { 28732 default: e 28733 }; 28734 } 28735 var s = i.default.document; 28736 function c(e) { 28737 return e instanceof c ? e : this instanceof c ? void (null != e && e !== i.default && (this[0] = e.nodeName ? e : void 0 !== e[0] && e[0].nodeName ? e[0] : s.querySelector(e), 28738 void 0 !== this[0] && null !== this[0] && (this[0].eventRegistry = this[0].eventRegistry || {}))) : new c(e); 28739 } 28740 c.prototype = { 28741 on: r.on, 28742 off: r.off, 28743 trigger: r.trigger 28744 }, c.extend = o.default, c.data = a.default, c.Event = r.Event; 28745 t.default = c; 28746 }, 28747 9845: function(e, t, n) { 28748 Object.defineProperty(t, "__esModule", { 28749 value: !0 28750 }), t.mobile = t.iphone = t.ie = void 0; 28751 var i, a = (i = n(9380)) && i.__esModule ? i : { 28752 default: i 28753 }; 28754 var r = a.default.navigator && a.default.navigator.userAgent || ""; 28755 t.ie = r.indexOf("MSIE ") > 0 || r.indexOf("Trident/") > 0, t.mobile = a.default.navigator && a.default.navigator.userAgentData && a.default.navigator.userAgentData.mobile || a.default.navigator && a.default.navigator.maxTouchPoints || "ontouchstart" in a.default, 28756 t.iphone = /iphone/i.test(r); 28757 }, 28758 7184: function(e, t) { 28759 Object.defineProperty(t, "__esModule", { 28760 value: !0 28761 }), t.default = function(e) { 28762 return e.replace(n, "\\$1"); 28763 }; 28764 var n = new RegExp("(\\" + [ "/", ".", "*", "+", "?", "|", "(", ")", "[", "]", "{", "}", "\\", "$", "^" ].join("|\\") + ")", "gim"); 28765 }, 28766 6030: function(e, t, n) { 28767 function i(e) { 28768 return i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { 28769 return typeof e; 28770 } : function(e) { 28771 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 28772 }, i(e); 28773 } 28774 Object.defineProperty(t, "__esModule", { 28775 value: !0 28776 }), t.EventHandlers = void 0; 28777 var a, r = n(9845), o = (a = n(9380)) && a.__esModule ? a : { 28778 default: a 28779 }, l = n(7760), s = n(2839), c = n(8711), u = n(7215), f = n(4713); 28780 function p() { 28781 /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ p = function() { 28782 return t; 28783 }; 28784 var e, t = {}, n = Object.prototype, a = n.hasOwnProperty, r = Object.defineProperty || function(e, t, n) { 28785 e[t] = n.value; 28786 }, o = "function" == typeof Symbol ? Symbol : {}, l = o.iterator || "@@iterator", s = o.asyncIterator || "@@asyncIterator", c = o.toStringTag || "@@toStringTag"; 28787 function u(e, t, n) { 28788 return Object.defineProperty(e, t, { 28789 value: n, 28790 enumerable: !0, 28791 configurable: !0, 28792 writable: !0 28793 }), e[t]; 28794 } 28795 try { 28796 u({}, ""); 28797 } catch (e) { 28798 u = function(e, t, n) { 28799 return e[t] = n; 28800 }; 28801 } 28802 function f(e, t, n, i) { 28803 var a = t && t.prototype instanceof k ? t : k, o = Object.create(a.prototype), l = new D(i || []); 28804 return r(o, "_invoke", { 28805 value: E(e, n, l) 28806 }), o; 28807 } 28808 function d(e, t, n) { 28809 try { 28810 return { 28811 type: "normal", 28812 arg: e.call(t, n) 28813 }; 28814 } catch (e) { 28815 return { 28816 type: "throw", 28817 arg: e 28818 }; 28819 } 28820 } 28821 t.wrap = f; 28822 var h = "suspendedStart", v = "suspendedYield", m = "executing", g = "completed", y = {}; 28823 function k() {} 28824 function b() {} 28825 function x() {} 28826 var w = {}; 28827 u(w, l, (function() { 28828 return this; 28829 })); 28830 var P = Object.getPrototypeOf, S = P && P(P(L([]))); 28831 S && S !== n && a.call(S, l) && (w = S); 28832 var O = x.prototype = k.prototype = Object.create(w); 28833 function _(e) { 28834 [ "next", "throw", "return" ].forEach((function(t) { 28835 u(e, t, (function(e) { 28836 return this._invoke(t, e); 28837 })); 28838 })); 28839 } 28840 function M(e, t) { 28841 function n(r, o, l, s) { 28842 var c = d(e[r], e, o); 28843 if ("throw" !== c.type) { 28844 var u = c.arg, f = u.value; 28845 return f && "object" == i(f) && a.call(f, "__await") ? t.resolve(f.__await).then((function(e) { 28846 n("next", e, l, s); 28847 }), (function(e) { 28848 n("throw", e, l, s); 28849 })) : t.resolve(f).then((function(e) { 28850 u.value = e, l(u); 28851 }), (function(e) { 28852 return n("throw", e, l, s); 28853 })); 28854 } 28855 s(c.arg); 28856 } 28857 var o; 28858 r(this, "_invoke", { 28859 value: function(e, i) { 28860 function a() { 28861 return new t((function(t, a) { 28862 n(e, i, t, a); 28863 })); 28864 } 28865 return o = o ? o.then(a, a) : a(); 28866 } 28867 }); 28868 } 28869 function E(t, n, i) { 28870 var a = h; 28871 return function(r, o) { 28872 if (a === m) throw new Error("Generator is already running"); 28873 if (a === g) { 28874 if ("throw" === r) throw o; 28875 return { 28876 value: e, 28877 done: !0 28878 }; 28879 } 28880 for (i.method = r, i.arg = o; ;) { 28881 var l = i.delegate; 28882 if (l) { 28883 var s = j(l, i); 28884 if (s) {
vendor: 14,089 bytes, lines 28885-29138
28885 if (s === y) continue; 28886 return s; 28887 } 28888 } 28889 if ("next" === i.method) i.sent = i._sent = i.arg; else if ("throw" === i.method) { 28890 if (a === h) throw a = g, i.arg; 28891 i.dispatchException(i.arg); 28892 } else "return" === i.method && i.abrupt("return", i.arg); 28893 a = m; 28894 var c = d(t, n, i); 28895 if ("normal" === c.type) { 28896 if (a = i.done ? g : v, c.arg === y) continue; 28897 return { 28898 value: c.arg, 28899 done: i.done 28900 }; 28901 } 28902 "throw" === c.type && (a = g, i.method = "throw", i.arg = c.arg); 28903 } 28904 }; 28905 } 28906 function j(t, n) { 28907 var i = n.method, a = t.iterator[i]; 28908 if (a === e) return n.delegate = null, "throw" === i && t.iterator.return && (n.method = "return", 28909 n.arg = e, j(t, n), "throw" === n.method) || "return" !== i && (n.method = "throw", 28910 n.arg = new TypeError("The iterator does not provide a '" + i + "' method")), y; 28911 var r = d(a, t.iterator, n.arg); 28912 if ("throw" === r.type) return n.method = "throw", n.arg = r.arg, n.delegate = null, 28913 y; 28914 var o = r.arg; 28915 return o ? o.done ? (n[t.resultName] = o.value, n.next = t.nextLoc, "return" !== n.method && (n.method = "next", 28916 n.arg = e), n.delegate = null, y) : o : (n.method = "throw", n.arg = new TypeError("iterator result is not an object"), 28917 n.delegate = null, y); 28918 } 28919 function T(e) { 28920 var t = { 28921 tryLoc: e[0] 28922 }; 28923 1 in e && (t.catchLoc = e[1]), 2 in e && (t.finallyLoc = e[2], t.afterLoc = e[3]), 28924 this.tryEntries.push(t); 28925 } 28926 function A(e) { 28927 var t = e.completion || {}; 28928 t.type = "normal", delete t.arg, e.completion = t; 28929 } 28930 function D(e) { 28931 this.tryEntries = [ { 28932 tryLoc: "root" 28933 } ], e.forEach(T, this), this.reset(!0); 28934 } 28935 function L(t) { 28936 if (t || "" === t) { 28937 var n = t[l]; 28938 if (n) return n.call(t); 28939 if ("function" == typeof t.next) return t; 28940 if (!isNaN(t.length)) { 28941 var r = -1, o = function n() { 28942 for (;++r < t.length; ) if (a.call(t, r)) return n.value = t[r], n.done = !1, n; 28943 return n.value = e, n.done = !0, n; 28944 }; 28945 return o.next = o; 28946 } 28947 } 28948 throw new TypeError(i(t) + " is not iterable"); 28949 } 28950 return b.prototype = x, r(O, "constructor", { 28951 value: x, 28952 configurable: !0 28953 }), r(x, "constructor", { 28954 value: b, 28955 configurable: !0 28956 }), b.displayName = u(x, c, "GeneratorFunction"), t.isGeneratorFunction = function(e) { 28957 var t = "function" == typeof e && e.constructor; 28958 return !!t && (t === b || "GeneratorFunction" === (t.displayName || t.name)); 28959 }, t.mark = function(e) { 28960 return Object.setPrototypeOf ? Object.setPrototypeOf(e, x) : (e.__proto__ = x, u(e, c, "GeneratorFunction")), 28961 e.prototype = Object.create(O), e; 28962 }, t.awrap = function(e) { 28963 return { 28964 __await: e 28965 }; 28966 }, _(M.prototype), u(M.prototype, s, (function() { 28967 return this; 28968 })), t.AsyncIterator = M, t.async = function(e, n, i, a, r) { 28969 void 0 === r && (r = Promise); 28970 var o = new M(f(e, n, i, a), r); 28971 return t.isGeneratorFunction(n) ? o : o.next().then((function(e) { 28972 return e.done ? e.value : o.next(); 28973 })); 28974 }, _(O), u(O, c, "Generator"), u(O, l, (function() { 28975 return this; 28976 })), u(O, "toString", (function() { 28977 return "[object Generator]"; 28978 })), t.keys = function(e) { 28979 var t = Object(e), n = []; 28980 for (var i in t) n.push(i); 28981 return n.reverse(), function e() { 28982 for (;n.length; ) { 28983 var i = n.pop(); 28984 if (i in t) return e.value = i, e.done = !1, e; 28985 } 28986 return e.done = !0, e; 28987 }; 28988 }, t.values = L, D.prototype = { 28989 constructor: D, 28990 reset: function(t) { 28991 if (this.prev = 0, this.next = 0, this.sent = this._sent = e, this.done = !1, this.delegate = null, 28992 this.method = "next", this.arg = e, this.tryEntries.forEach(A), !t) for (var n in this) "t" === n.charAt(0) && a.call(this, n) && !isNaN(+n.slice(1)) && (this[n] = e); 28993 }, 28994 stop: function() { 28995 this.done = !0; 28996 var e = this.tryEntries[0].completion; 28997 if ("throw" === e.type) throw e.arg; 28998 return this.rval; 28999 }, 29000 dispatchException: function(t) { 29001 if (this.done) throw t; 29002 var n = this; 29003 function i(i, a) { 29004 return l.type = "throw", l.arg = t, n.next = i, a && (n.method = "next", n.arg = e), 29005 !!a; 29006 } 29007 for (var r = this.tryEntries.length - 1; r >= 0; --r) { 29008 var o = this.tryEntries[r], l = o.completion; 29009 if ("root" === o.tryLoc) return i("end"); 29010 if (o.tryLoc <= this.prev) { 29011 var s = a.call(o, "catchLoc"), c = a.call(o, "finallyLoc"); 29012 if (s && c) { 29013 if (this.prev < o.catchLoc) return i(o.catchLoc, !0); 29014 if (this.prev < o.finallyLoc) return i(o.finallyLoc); 29015 } else if (s) { 29016 if (this.prev < o.catchLoc) return i(o.catchLoc, !0); 29017 } else { 29018 if (!c) throw new Error("try statement without catch or finally"); 29019 if (this.prev < o.finallyLoc) return i(o.finallyLoc); 29020 } 29021 } 29022 } 29023 }, 29024 abrupt: function(e, t) { 29025 for (var n = this.tryEntries.length - 1; n >= 0; --n) { 29026 var i = this.tryEntries[n]; 29027 if (i.tryLoc <= this.prev && a.call(i, "finallyLoc") && this.prev < i.finallyLoc) { 29028 var r = i; 29029 break; 29030 } 29031 } 29032 r && ("break" === e || "continue" === e) && r.tryLoc <= t && t <= r.finallyLoc && (r = null); 29033 var o = r ? r.completion : {}; 29034 return o.type = e, o.arg = t, r ? (this.method = "next", this.next = r.finallyLoc, 29035 y) : this.complete(o); 29036 }, 29037 complete: function(e, t) { 29038 if ("throw" === e.type) throw e.arg; 29039 return "break" === e.type || "continue" === e.type ? this.next = e.arg : "return" === e.type ? (this.rval = this.arg = e.arg, 29040 this.method = "return", this.next = "end") : "normal" === e.type && t && (this.next = t), 29041 y; 29042 }, 29043 finish: function(e) { 29044 for (var t = this.tryEntries.length - 1; t >= 0; --t) { 29045 var n = this.tryEntries[t]; 29046 if (n.finallyLoc === e) return this.complete(n.completion, n.afterLoc), A(n), y; 29047 } 29048 }, 29049 catch: function(e) { 29050 for (var t = this.tryEntries.length - 1; t >= 0; --t) { 29051 var n = this.tryEntries[t]; 29052 if (n.tryLoc === e) { 29053 var i = n.completion; 29054 if ("throw" === i.type) { 29055 var a = i.arg; 29056 A(n); 29057 } 29058 return a; 29059 } 29060 } 29061 throw new Error("illegal catch attempt"); 29062 }, 29063 delegateYield: function(t, n, i) { 29064 return this.delegate = { 29065 iterator: L(t), 29066 resultName: n, 29067 nextLoc: i 29068 }, "next" === this.method && (this.arg = e), y; 29069 } 29070 }, t; 29071 } 29072 function d(e, t) { 29073 var n = "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; 29074 if (!n) { 29075 if (Array.isArray(e) || (n = function(e, t) { 29076 if (!e) return; 29077 if ("string" == typeof e) return h(e, t); 29078 var n = Object.prototype.toString.call(e).slice(8, -1); 29079 "Object" === n && e.constructor && (n = e.constructor.name); 29080 if ("Map" === n || "Set" === n) return Array.from(e); 29081 if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return h(e, t); 29082 }(e)) || t && e && "number" == typeof e.length) { 29083 n && (e = n); 29084 var i = 0, a = function() {}; 29085 return { 29086 s: a, 29087 n: function() { 29088 return i >= e.length ? { 29089 done: !0 29090 } : { 29091 done: !1, 29092 value: e[i++] 29093 }; 29094 }, 29095 e: function(e) { 29096 throw e; 29097 }, 29098 f: a 29099 }; 29100 } 29101 throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 29102 } 29103 var r, o = !0, l = !1; 29104 return { 29105 s: function() { 29106 n = n.call(e); 29107 }, 29108 n: function() { 29109 var e = n.next(); 29110 return o = e.done, e; 29111 }, 29112 e: function(e) { 29113 l = !0, r = e; 29114 }, 29115 f: function() { 29116 try { 29117 o || null == n.return || n.return(); 29118 } finally { 29119 if (l) throw r; 29120 } 29121 } 29122 }; 29123 } 29124 function h(e, t) { 29125 (null == t || t > e.length) && (t = e.length); 29126 for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; 29127 return i; 29128 } 29129 function v(e, t, n, i, a, r, o) { 29130 try { 29131 var l = e[r](o), s = l.value; 29132 } catch (e) { 29133 return void n(e); 29134 } 29135 l.done ? t(s) : Promise.resolve(s).then(i, a); 29136 } 29137 var m, g, y = t.EventHandlers = { 29138 keyEvent: function(e, t, n, i, a) {
vendor: 10,276 bytes, lines 29139-29266
29139 var o = this.inputmask, p = o.opts, d = o.dependencyLib, h = o.maskset, v = this, m = d(v), g = e.key, k = c.caret.call(o, v), b = p.onKeyDown.call(this, e, c.getBuffer.call(o), k, p); 29140 if (void 0 !== b) return b; 29141 if (g === s.keys.Backspace || g === s.keys.Delete || r.iphone && g === s.keys.BACKSPACE_SAFARI || e.ctrlKey && g === s.keys.x && !("oncut" in v)) e.preventDefault(), 29142 u.handleRemove.call(o, v, g, k), (0, l.writeBuffer)(v, c.getBuffer.call(o, !0), h.p, e, v.inputmask._valueGet() !== c.getBuffer.call(o).join("")); else if (g === s.keys.End || g === s.keys.PageDown) { 29143 e.preventDefault(); 29144 var x = c.seekNext.call(o, c.getLastValidPosition.call(o)); 29145 c.caret.call(o, v, e.shiftKey ? k.begin : x, x, !0); 29146 } else g === s.keys.Home && !e.shiftKey || g === s.keys.PageUp ? (e.preventDefault(), 29147 c.caret.call(o, v, 0, e.shiftKey ? k.begin : 0, !0)) : p.undoOnEscape && g === s.keys.Escape && !0 !== e.altKey ? ((0, 29148 l.checkVal)(v, !0, !1, o.undoValue.split("")), m.trigger("click")) : g !== s.keys.Insert || e.shiftKey || e.ctrlKey || void 0 !== o.userOptions.insertMode ? !0 === p.tabThrough && g === s.keys.Tab ? !0 === e.shiftKey ? (k.end = c.seekPrevious.call(o, k.end, !0), 29149 !0 === f.getTest.call(o, k.end - 1).match.static && k.end--, k.begin = c.seekPrevious.call(o, k.end, !0), 29150 k.begin >= 0 && k.end > 0 && (e.preventDefault(), c.caret.call(o, v, k.begin, k.end))) : (k.begin = c.seekNext.call(o, k.begin, !0), 29151 k.end = c.seekNext.call(o, k.begin, !0), k.end < h.maskLength && k.end--, k.begin <= h.maskLength && (e.preventDefault(), 29152 c.caret.call(o, v, k.begin, k.end))) : e.shiftKey || (p.insertModeVisual && !1 === p.insertMode ? g === s.keys.ArrowRight ? setTimeout((function() { 29153 var e = c.caret.call(o, v); 29154 c.caret.call(o, v, e.begin); 29155 }), 0) : g === s.keys.ArrowLeft && setTimeout((function() { 29156 var e = c.translatePosition.call(o, v.inputmask.caretPos.begin); 29157 c.translatePosition.call(o, v.inputmask.caretPos.end); 29158 o.isRTL ? c.caret.call(o, v, e + (e === h.maskLength ? 0 : 1)) : c.caret.call(o, v, e - (0 === e ? 0 : 1)); 29159 }), 0) : void 0 === o.keyEventHook || o.keyEventHook(e)) : u.isSelection.call(o, k) ? p.insertMode = !p.insertMode : (p.insertMode = !p.insertMode, 29160 c.caret.call(o, v, k.begin, k.begin)); 29161 return o.isComposing = g == s.keys.Process || g == s.keys.Unidentified, o.ignorable = g.length > 1 && !("textarea" === v.tagName.toLowerCase() && g == s.keys.Enter), 29162 y.keypressEvent.call(this, e, t, n, i, a); 29163 }, 29164 keypressEvent: function(e, t, n, i, a) { 29165 var r = this.inputmask || this, o = r.opts, f = r.dependencyLib, p = r.maskset, d = r.el, h = f(d), v = e.key; 29166 if (!0 === t || e.ctrlKey && e.altKey && !r.ignorable || !(e.ctrlKey || e.metaKey || r.ignorable)) { 29167 if (v) { 29168 var m, g = t ? { 29169 begin: a, 29170 end: a 29171 } : c.caret.call(r, d); 29172 t || (v = o.substitutes[v] || v), p.writeOutBuffer = !0; 29173 var y = u.isValid.call(r, g, v, i, void 0, void 0, void 0, t); 29174 if (!1 !== y && (c.resetMaskSet.call(r, !0), m = void 0 !== y.caret ? y.caret : c.seekNext.call(r, y.pos.begin ? y.pos.begin : y.pos), 29175 p.p = m), m = o.numericInput && void 0 === y.caret ? c.seekPrevious.call(r, m) : m, 29176 !1 !== n && (setTimeout((function() { 29177 o.onKeyValidation.call(d, v, y); 29178 }), 0), p.writeOutBuffer && !1 !== y)) { 29179 var k = c.getBuffer.call(r); 29180 (0, l.writeBuffer)(d, k, m, e, !0 !== t); 29181 } 29182 if (e.preventDefault(), t) return !1 !== y && (y.forwardPosition = m), y; 29183 } 29184 } else v === s.keys.Enter && r.undoValue !== r._valueGet(!0) && (r.undoValue = r._valueGet(!0), 29185 setTimeout((function() { 29186 h.trigger("change"); 29187 }), 0)); 29188 }, 29189 pasteEvent: (m = p().mark((function e(t) { 29190 var n, i, a, r, s, u; 29191 return p().wrap((function(e) { 29192 for (;;) switch (e.prev = e.next) { 29193 case 0: 29194 n = function(e, n, i, a, o) { 29195 var s = c.caret.call(e, n, void 0, void 0, !0), u = i.substr(0, s.begin), f = i.substr(s.end, i.length); 29196 if (u == (e.isRTL ? c.getBufferTemplate.call(e).slice().reverse() : c.getBufferTemplate.call(e)).slice(0, s.begin).join("") && (u = ""), 29197 f == (e.isRTL ? c.getBufferTemplate.call(e).slice().reverse() : c.getBufferTemplate.call(e)).slice(s.end).join("") && (f = ""), 29198 a = u + a + f, e.isRTL && !0 !== r.numericInput) { 29199 a = a.split(""); 29200 var p, h = d(c.getBufferTemplate.call(e)); 29201 try { 29202 for (h.s(); !(p = h.n()).done; ) { 29203 var v = p.value; 29204 a[0] === v && a.shift(); 29205 } 29206 } catch (e) { 29207 h.e(e); 29208 } finally { 29209 h.f(); 29210 } 29211 a = a.reverse().join(""); 29212 } 29213 var m = a; 29214 if ("function" == typeof o) { 29215 if (!1 === (m = o.call(e, m, r))) return !1; 29216 m || (m = i); 29217 } 29218 (0, l.checkVal)(n, !0, !1, m.toString().split(""), t); 29219 }, i = this, a = this.inputmask, r = a.opts, s = a._valueGet(!0), a.skipInputEvent = !0, 29220 t.clipboardData && t.clipboardData.getData ? u = t.clipboardData.getData("text/plain") : o.default.clipboardData && o.default.clipboardData.getData && (u = o.default.clipboardData.getData("Text")), 29221 n(a, i, s, u, r.onBeforePaste), t.preventDefault(); 29222 29223 case 7: 29224 case "end": 29225 return e.stop(); 29226 } 29227 }), e, this); 29228 })), g = function() { 29229 var e = this, t = arguments; 29230 return new Promise((function(n, i) { 29231 var a = m.apply(e, t); 29232 function r(e) { 29233 v(a, n, i, r, o, "next", e); 29234 } 29235 function o(e) { 29236 v(a, n, i, r, o, "throw", e); 29237 } 29238 r(void 0); 29239 })); 29240 }, function(e) { 29241 return g.apply(this, arguments); 29242 }), 29243 inputFallBackEvent: function(e) { 29244 var t = this.inputmask, n = t.opts, i = t.dependencyLib; 29245 var a, o = this, u = o.inputmask._valueGet(!0), p = (t.isRTL ? c.getBuffer.call(t).slice().reverse() : c.getBuffer.call(t)).join(""), d = c.caret.call(t, o, void 0, void 0, !0); 29246 if (p !== u) { 29247 if (a = function(e, i, a) { 29248 for (var r, o, l, s = e.substr(0, a.begin).split(""), u = e.substr(a.begin).split(""), p = i.substr(0, a.begin).split(""), d = i.substr(a.begin).split(""), h = s.length >= p.length ? s.length : p.length, v = u.length >= d.length ? u.length : d.length, m = "", g = [], y = "~"; s.length < h; ) s.push(y); 29249 for (;p.length < h; ) p.push(y); 29250 for (;u.length < v; ) u.unshift(y); 29251 for (;d.length < v; ) d.unshift(y); 29252 var k = s.concat(u), b = p.concat(d); 29253 for (o = 0, r = k.length; o < r; o++) switch (l = f.getPlaceholder.call(t, c.translatePosition.call(t, o)), 29254 m) { 29255 case "insertText": 29256 b[o - 1] === k[o] && a.begin == k.length - 1 && g.push(k[o]), o = r; 29257 break; 29258 29259 case "insertReplacementText": 29260 case "deleteContentBackward": 29261 k[o] === y ? a.end++ : o = r; 29262 break; 29263 29264 default: 29265 k[o] !== b[o] && (k[o + 1] !== y && k[o + 1] !== l && void 0 !== k[o + 1] || (b[o] !== l || b[o + 1] !== y) && b[o] !== y ? b[o + 1] === y && b[o] === k[o + 1] ? (m = "insertText", 29266 g.push(k[o]), a.begin--, a.end--) : k[o] !== l &&
vendor: 13,383 bytes, lines 29266-29459
29266k[o] !== y && (k[o + 1] === y || b[o] !== k[o] && b[o + 1] === k[o + 1]) ? (m = "insertReplacementText", 29267 g.push(k[o]), a.begin--) : k[o] === y ? (m = "deleteContentBackward", (c.isMask.call(t, c.translatePosition.call(t, o), !0) || b[o] === n.radixPoint) && a.end++) : o = r : (m = "insertText", 29268 g.push(k[o]), a.begin--, a.end--)); 29269 } 29270 return { 29271 action: m, 29272 data: g, 29273 caret: a 29274 }; 29275 }(u, p, d), (o.inputmask.shadowRoot || o.ownerDocument).activeElement !== o && o.focus(), 29276 (0, l.writeBuffer)(o, c.getBuffer.call(t)), c.caret.call(t, o, d.begin, d.end, !0), 29277 !r.mobile && t.skipNextInsert && "insertText" === e.inputType && "insertText" === a.action && t.isComposing) return !1; 29278 switch ("insertCompositionText" === e.inputType && "insertText" === a.action && t.isComposing ? t.skipNextInsert = !0 : t.skipNextInsert = !1, 29279 a.action) { 29280 case "insertText": 29281 case "insertReplacementText": 29282 a.data.forEach((function(e, n) { 29283 var a = new i.Event("keypress"); 29284 a.key = e, t.ignorable = !1, y.keypressEvent.call(o, a); 29285 })), setTimeout((function() { 29286 t.$el.trigger("keyup"); 29287 }), 0); 29288 break; 29289 29290 case "deleteContentBackward": 29291 var h = new i.Event("keydown"); 29292 h.key = s.keys.Backspace, y.keyEvent.call(o, h); 29293 break; 29294 29295 default: 29296 (0, l.applyInputValue)(o, u), c.caret.call(t, o, d.begin, d.end, !0); 29297 } 29298 e.preventDefault(); 29299 } 29300 }, 29301 setValueEvent: function(e) { 29302 var t = this.inputmask, n = t.dependencyLib, i = this, a = e && e.detail ? e.detail[0] : arguments[1]; 29303 void 0 === a && (a = i.inputmask._valueGet(!0)), (0, l.applyInputValue)(i, a, new n.Event("input")), 29304 (e.detail && void 0 !== e.detail[1] || void 0 !== arguments[2]) && c.caret.call(t, i, e.detail ? e.detail[1] : arguments[2]); 29305 }, 29306 focusEvent: function(e) { 29307 var t = this.inputmask, n = t.opts, i = t && t._valueGet(); 29308 n.showMaskOnFocus && i !== c.getBuffer.call(t).join("") && (0, l.writeBuffer)(this, c.getBuffer.call(t), c.seekNext.call(t, c.getLastValidPosition.call(t))), 29309 !0 !== n.positionCaretOnTab || !1 !== t.mouseEnter || u.isComplete.call(t, c.getBuffer.call(t)) && -1 !== c.getLastValidPosition.call(t) || y.clickEvent.apply(this, [ e, !0 ]), 29310 t.undoValue = t && t._valueGet(!0); 29311 }, 29312 invalidEvent: function(e) { 29313 this.inputmask.validationEvent = !0; 29314 }, 29315 mouseleaveEvent: function() { 29316 var e = this.inputmask, t = e.opts, n = this; 29317 e.mouseEnter = !1, t.clearMaskOnLostFocus && (n.inputmask.shadowRoot || n.ownerDocument).activeElement !== n && (0, 29318 l.HandleNativePlaceholder)(n, e.originalPlaceholder); 29319 }, 29320 clickEvent: function(e, t) { 29321 var n = this.inputmask; 29322 n.clicked++; 29323 var i = this; 29324 if ((i.inputmask.shadowRoot || i.ownerDocument).activeElement === i) { 29325 var a = c.determineNewCaretPosition.call(n, c.caret.call(n, i), t); 29326 void 0 !== a && c.caret.call(n, i, a); 29327 } 29328 }, 29329 cutEvent: function(e) { 29330 var t = this.inputmask, n = t.maskset, i = this, a = c.caret.call(t, i), r = t.isRTL ? c.getBuffer.call(t).slice(a.end, a.begin) : c.getBuffer.call(t).slice(a.begin, a.end), f = t.isRTL ? r.reverse().join("") : r.join(""); 29331 o.default.navigator && o.default.navigator.clipboard ? o.default.navigator.clipboard.writeText(f) : o.default.clipboardData && o.default.clipboardData.getData && o.default.clipboardData.setData("Text", f), 29332 u.handleRemove.call(t, i, s.keys.Delete, a), (0, l.writeBuffer)(i, c.getBuffer.call(t), n.p, e, t.undoValue !== t._valueGet(!0)); 29333 }, 29334 blurEvent: function(e) { 29335 var t = this.inputmask, n = t.opts, i = t.dependencyLib; 29336 t.clicked = 0; 29337 var a = i(this), r = this; 29338 if (r.inputmask) { 29339 (0, l.HandleNativePlaceholder)(r, t.originalPlaceholder); 29340 var o = r.inputmask._valueGet(), s = c.getBuffer.call(t).slice(); 29341 "" !== o && (n.clearMaskOnLostFocus && (-1 === c.getLastValidPosition.call(t) && o === c.getBufferTemplate.call(t).join("") ? s = [] : l.clearOptionalTail.call(t, s)), 29342 !1 === u.isComplete.call(t, s) && (setTimeout((function() { 29343 a.trigger("incomplete"); 29344 }), 0), n.clearIncomplete && (c.resetMaskSet.call(t, !1), s = n.clearMaskOnLostFocus ? [] : c.getBufferTemplate.call(t).slice())), 29345 (0, l.writeBuffer)(r, s, void 0, e)), o = t._valueGet(!0), t.undoValue !== o && ("" != o || t.undoValue != c.getBufferTemplate.call(t).join("") || t.undoValue == c.getBufferTemplate.call(t).join("") && t.maskset.validPositions.length > 0) && (t.undoValue = o, 29346 a.trigger("change")); 29347 } 29348 }, 29349 mouseenterEvent: function() { 29350 var e = this.inputmask, t = e.opts.showMaskOnHover, n = this; 29351 if (e.mouseEnter = !0, (n.inputmask.shadowRoot || n.ownerDocument).activeElement !== n) { 29352 var i = (e.isRTL ? c.getBufferTemplate.call(e).slice().reverse() : c.getBufferTemplate.call(e)).join(""); 29353 t && (0, l.HandleNativePlaceholder)(n, i); 29354 } 29355 }, 29356 submitEvent: function() { 29357 var e = this.inputmask, t = e.opts; 29358 e.undoValue !== e._valueGet(!0) && e.$el.trigger("change"), -1 === c.getLastValidPosition.call(e) && e._valueGet && e._valueGet() === c.getBufferTemplate.call(e).join("") && e._valueSet(""), 29359 t.clearIncomplete && !1 === u.isComplete.call(e, c.getBuffer.call(e)) && e._valueSet(""), 29360 t.removeMaskOnSubmit && (e._valueSet(e.unmaskedvalue(), !0), setTimeout((function() { 29361 (0, l.writeBuffer)(e.el, c.getBuffer.call(e)); 29362 }), 0)); 29363 }, 29364 resetEvent: function() { 29365 var e = this.inputmask; 29366 e.refreshValue = !0, setTimeout((function() { 29367 (0, l.applyInputValue)(e.el, e._valueGet(!0)); 29368 }), 0); 29369 } 29370 }; 29371 }, 29372 9716: function(e, t, n) { 29373 Object.defineProperty(t, "__esModule", { 29374 value: !0 29375 }), t.EventRuler = void 0; 29376 var i, a = n(7760), r = (i = n(2394)) && i.__esModule ? i : { 29377 default: i 29378 }, o = n(2839), l = n(8711); 29379 t.EventRuler = { 29380 on: function(e, t, n) { 29381 var i = e.inputmask.dependencyLib, s = function(t) { 29382 t.originalEvent && (t = t.originalEvent || t, arguments[0] = t); 29383 var s, c = this, u = c.inputmask, f = u ? u.opts : void 0; 29384 if (void 0 === u && "FORM" !== this.nodeName) { 29385 var p = i.data(c, "_inputmask_opts"); 29386 i(c).off(), p && new r.default(p).mask(c); 29387 } else { 29388 if ([ "submit", "reset", "setvalue" ].includes(t.type) || "FORM" === this.nodeName || !(c.disabled || c.readOnly && !("keydown" === t.type && t.ctrlKey && t.key === o.keys.c || !1 === f.tabThrough && t.key === o.keys.Tab))) { 29389 switch (t.type) { 29390 case "input": 29391 if (!0 === u.skipInputEvent) return u.skipInputEvent = !1, t.preventDefault(); 29392 break; 29393 29394 case "click": 29395 case "focus": 29396 return u.validationEvent ? (u.validationEvent = !1, e.blur(), (0, a.HandleNativePlaceholder)(e, (u.isRTL ? l.getBufferTemplate.call(u).slice().reverse() : l.getBufferTemplate.call(u)).join("")), 29397 setTimeout((function() { 29398 e.focus(); 29399 }), f.validationEventTimeOut), !1) : (s = arguments, void setTimeout((function() { 29400 e.inputmask && n.apply(c, s); 29401 }), 0)); 29402 } 29403 var d = n.apply(c, arguments); 29404 return !1 === d && (t.preventDefault(), t.stopPropagation()), d; 29405 } 29406 t.preventDefault(); 29407 } 29408 }; 29409 [ "submit", "reset" ].includes(t) ? (s = s.bind(e), null !== e.form && i(e.form).on(t, s)) : i(e).on(t, s), 29410 e.inputmask.events[t] = e.inputmask.events[t] || [], e.inputmask.events[t].push(s); 29411 }, 29412 off: function(e, t) { 29413 if (e.inputmask && e.inputmask.events) { 29414 var n = e.inputmask.dependencyLib, i = e.inputmask.events; 29415 for (var a in t && ((i = [])[t] = e.inputmask.events[t]), i) { 29416 for (var r = i[a]; r.length > 0; ) { 29417 var o = r.pop(); 29418 [ "submit", "reset" ].includes(a) ? null !== e.form && n(e.form).off(a, o) : n(e).off(a, o); 29419 } 29420 delete e.inputmask.events[a]; 29421 } 29422 } 29423 } 29424 }; 29425 }, 29426 219: function(e, t, n) { 29427 var i = p(n(7184)), a = p(n(2394)), r = n(2839), o = n(8711), l = n(4713); 29428 function s(e, t) { 29429 return function(e) { 29430 if (Array.isArray(e)) return e; 29431 }(e) || function(e, t) { 29432 var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; 29433 if (null != n) { 29434 var i, a, r, o, l = [], s = !0, c = !1; 29435 try { 29436 if (r = (n = n.call(e)).next, 0 === t) { 29437 if (Object(n) !== n) return; 29438 s = !1; 29439 } else for (;!(s = (i = r.call(n)).done) && (l.push(i.value), l.length !== t); s = !0) ; 29440 } catch (e) { 29441 c = !0, a = e; 29442 } finally { 29443 try { 29444 if (!s && null != n.return && (o = n.return(), Object(o) !== o)) return; 29445 } finally { 29446 if (c) throw a; 29447 } 29448 } 29449 return l; 29450 } 29451 }(e, t) || function(e, t) { 29452 if (!e) return; 29453 if ("string" == typeof e) return c(e, t); 29454 var n = Object.prototype.toString.call(e).slice(8, -1); 29455 "Object" === n && e.constructor && (n = e.constructor.name); 29456 if ("Map" === n || "Set" === n) return Array.from(e); 29457 if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return c(e, t); 29458 }(e, t) || function() { 29459 throw new TypeError("Invalid attempt to de
vendor: 16,384 bytes, lines 29459-29738
29459structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 29460 }(); 29461 } 29462 function c(e, t) { 29463 (null == t || t > e.length) && (t = e.length); 29464 for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; 29465 return i; 29466 } 29467 function u(e) { 29468 return u = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { 29469 return typeof e; 29470 } : function(e) { 29471 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 29472 }, u(e); 29473 } 29474 function f(e, t) { 29475 for (var n = 0; n < t.length; n++) { 29476 var i = t[n]; 29477 i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), 29478 Object.defineProperty(e, (a = i.key, r = void 0, r = function(e, t) { 29479 if ("object" !== u(e) || null === e) return e; 29480 var n = e[Symbol.toPrimitive]; 29481 if (void 0 !== n) { 29482 var i = n.call(e, t || "default"); 29483 if ("object" !== u(i)) return i; 29484 throw new TypeError("@@toPrimitive must return a primitive value."); 29485 } 29486 return ("string" === t ? String : Number)(e); 29487 }(a, "string"), "symbol" === u(r) ? r : String(r)), i); 29488 } 29489 var a, r; 29490 } 29491 function p(e) { 29492 return e && e.__esModule ? e : { 29493 default: e 29494 }; 29495 } 29496 n(1313); 29497 var d = a.default.dependencyLib, h = function() { 29498 function e(t, n, i, a) { 29499 !function(e, t) { 29500 if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); 29501 }(this, e), this.mask = t, this.format = n, this.opts = i, this.inputmask = a, this._date = new Date(1, 0, 1), 29502 this.initDateObject(t, this.opts, this.inputmask); 29503 } 29504 var t, n, i; 29505 return t = e, (n = [ { 29506 key: "date", 29507 get: function() { 29508 return void 0 === this._date && (this._date = new Date(1, 0, 1), this.initDateObject(void 0, this.opts, this.inputmask)), 29509 this._date; 29510 } 29511 }, { 29512 key: "initDateObject", 29513 value: function(e, t, n) { 29514 var i; 29515 for (P(t).lastIndex = 0; i = P(t).exec(this.format); ) { 29516 var a = /\d+$/.exec(i[0]), r = a ? i[0][0] + "x" : i[0], o = void 0; 29517 if (void 0 !== e) { 29518 if (a) { 29519 var s = P(t).lastIndex, c = j.call(n, i.index, t, n && n.maskset); 29520 P(t).lastIndex = s, o = e.slice(0, e.indexOf(c.nextMatch[0])); 29521 } else { 29522 for (var u = i[0][0], f = i.index; n && (t.placeholder[l.getTest.call(n, f).match.placeholder] || l.getTest.call(n, f).match.placeholder) === u; ) f++; 29523 var p = f - i.index; 29524 o = e.slice(0, p || y[r] && y[r][4] || r.length); 29525 } 29526 e = e.slice(o.length); 29527 } 29528 Object.prototype.hasOwnProperty.call(y, r) && this.setValue(this, o, r, y[r][2], y[r][1]); 29529 } 29530 } 29531 }, { 29532 key: "setValue", 29533 value: function(e, t, n, i, a) { 29534 if (void 0 !== t) switch (i) { 29535 case "ampm": 29536 e[i] = t, e["raw" + i] = t.replace(/\s/g, "_"); 29537 break; 29538 29539 case "month": 29540 if ("mmm" === n || "mmmm" === n) { 29541 e[i] = _("mmm" === n ? m.monthNames.slice(0, 12).findIndex((function(e) { 29542 return t.toLowerCase() === e.toLowerCase(); 29543 })) + 1 : m.monthNames.slice(12, 24).findIndex((function(e) { 29544 return t.toLowerCase() === e.toLowerCase(); 29545 })) + 1, 2), e[i] = "00" === e[i] ? "" : e[i].toString(), e["raw" + i] = e[i]; 29546 break; 29547 } 29548 29549 default: 29550 e[i] = t.replace(/[^0-9]/g, "0"), e["raw" + i] = t.replace(/\s/g, "_"); 29551 } 29552 if (void 0 !== a) { 29553 var r = e[i]; 29554 ("day" === i && 29 === parseInt(r) || "month" === i && 2 === parseInt(r)) && (29 !== parseInt(e.day) || 2 !== parseInt(e.month) || "" !== e.year && void 0 !== e.year || e._date.setFullYear(2012, 1, 29)), 29555 "day" === i && (g = !0, 0 === parseInt(r) && (r = 1)), "month" === i && (g = !0), 29556 "year" === i && (g = !0, r.length < y[n][4] && (r = _(r, y[n][4], !0))), ("" !== r && !isNaN(r) || "ampm" === i) && a.call(e._date, r); 29557 } 29558 } 29559 }, { 29560 key: "reset", 29561 value: function() { 29562 this._date = new Date(1, 0, 1); 29563 } 29564 }, { 29565 key: "reInit", 29566 value: function() { 29567 this._date = void 0, this.date; 29568 } 29569 } ]) && f(t.prototype, n), i && f(t, i), Object.defineProperty(t, "prototype", { 29570 writable: !1 29571 }), e; 29572 }(), v = (new Date).getFullYear(), m = a.default.prototype.i18n, g = !1, y = { 29573 d: [ "[1-9]|[12][0-9]|3[01]", Date.prototype.setDate, "day", Date.prototype.getDate ], 29574 dd: [ "0[1-9]|[12][0-9]|3[01]", Date.prototype.setDate, "day", function() { 29575 return _(Date.prototype.getDate.call(this), 2); 29576 } ], 29577 ddd: [ "" ], 29578 dddd: [ "" ], 29579 m: [ "[1-9]|1[012]", function(e) { 29580 var t = e ? parseInt(e) : 0; 29581 return t > 0 && t--, Date.prototype.setMonth.call(this, t); 29582 }, "month", function() { 29583 return Date.prototype.getMonth.call(this) + 1; 29584 } ], 29585 mm: [ "0[1-9]|1[012]", function(e) { 29586 var t = e ? parseInt(e) : 0; 29587 return t > 0 && t--, Date.prototype.setMonth.call(this, t); 29588 }, "month", function() { 29589 return _(Date.prototype.getMonth.call(this) + 1, 2); 29590 } ], 29591 mmm: [ m.monthNames.slice(0, 12).join("|"), function(e) { 29592 var t = m.monthNames.slice(0, 12).findIndex((function(t) { 29593 return e.toLowerCase() === t.toLowerCase(); 29594 })); 29595 return -1 !== t && Date.prototype.setMonth.call(this, t); 29596 }, "month", function() { 29597 return m.monthNames.slice(0, 12)[Date.prototype.getMonth.call(this)]; 29598 } ], 29599 mmmm: [ m.monthNames.slice(12, 24).join("|"), function(e) { 29600 var t = m.monthNames.slice(12, 24).findIndex((function(t) { 29601 return e.toLowerCase() === t.toLowerCase(); 29602 })); 29603 return -1 !== t && Date.prototype.setMonth.call(this, t); 29604 }, "month", function() { 29605 return m.monthNames.slice(12, 24)[Date.prototype.getMonth.call(this)]; 29606 } ], 29607 yy: [ "[0-9]{2}", function(e) { 29608 var t = (new Date).getFullYear().toString().slice(0, 2); 29609 Date.prototype.setFullYear.call(this, "".concat(t).concat(e)); 29610 }, "year", function() { 29611 return _(Date.prototype.getFullYear.call(this), 2); 29612 }, 2 ], 29613 yyyy: [ "[0-9]{4}", Date.prototype.setFullYear, "year", function() { 29614 return _(Date.prototype.getFullYear.call(this), 4); 29615 }, 4 ], 29616 h: [ "[1-9]|1[0-2]", Date.prototype.setHours, "hours", Date.prototype.getHours ], 29617 hh: [ "0[1-9]|1[0-2]", Date.prototype.setHours, "hours", function() { 29618 return _(Date.prototype.getHours.call(this), 2); 29619 } ], 29620 hx: [ function(e) { 29621 return "[0-9]{".concat(e, "}"); 29622 }, Date.prototype.setHours, "hours", function(e) { 29623 return Date.prototype.getHours; 29624 } ], 29625 H: [ "1?[0-9]|2[0-3]", Date.prototype.setHours, "hours", Date.prototype.getHours ], 29626 HH: [ "0[0-9]|1[0-9]|2[0-3]", Date.prototype.setHours, "hours", function() { 29627 return _(Date.prototype.getHours.call(this), 2); 29628 } ], 29629 Hx: [ function(e) { 29630 return "[0-9]{".concat(e, "}"); 29631 }, Date.prototype.setHours, "hours", function(e) { 29632 return function() { 29633 return _(Date.prototype.getHours.call(this), e); 29634 }; 29635 } ], 29636 M: [ "[1-5]?[0-9]", Date.prototype.setMinutes, "minutes", Date.prototype.getMinutes ], 29637 MM: [ "0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]", Date.prototype.setMinutes, "minutes", function() { 29638 return _(Date.prototype.getMinutes.call(this), 2); 29639 } ], 29640 s: [ "[1-5]?[0-9]", Date.prototype.setSeconds, "seconds", Date.prototype.getSeconds ], 29641 ss: [ "0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]", Date.prototype.setSeconds, "seconds", function() { 29642 return _(Date.prototype.getSeconds.call(this), 2); 29643 } ], 29644 l: [ "[0-9]{3}", Date.prototype.setMilliseconds, "milliseconds", function() { 29645 return _(Date.prototype.getMilliseconds.call(this), 3); 29646 }, 3 ], 29647 L: [ "[0-9]{2}", Date.prototype.setMilliseconds, "milliseconds", function() { 29648 return _(Date.prototype.getMilliseconds.call(this), 2); 29649 }, 2 ], 29650 t: [ "[ap]", b, "ampm", x, 1 ], 29651 tt: [ "[ap]m", b, "ampm", x, 2 ], 29652 T: [ "[AP]", b, "ampm", x, 1 ], 29653 TT: [ "[AP]M", b, "ampm", x, 2 ], 29654 Z: [ ".*", void 0, "Z", function() { 29655 var e = this.toString().match(/\((.+)\)/)[1]; 29656 e.includes(" ") && (e = (e = e.replace("-", " ").toUpperCase()).split(" ").map((function(e) { 29657 return s(e, 1)[0]; 29658 })).join("")); 29659 return e; 29660 } ], 29661 o: [ "" ], 29662 S: [ "" ] 29663 }, k = { 29664 isoDate: "yyyy-mm-dd", 29665 isoTime: "HH:MM:ss", 29666 isoDateTime: "yyyy-mm-dd'T'HH:MM:ss", 29667 isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'" 29668 }; 29669 function b(e) { 29670 var t = this.getHours(); 29671 e.toLowerCase().includes("p") ? this.setHours(t + 12) : e.toLowerCase().includes("a") && t >= 12 && this.setHours(t - 12); 29672 } 29673 function x() { 29674 var e = this.getHours(); 29675 return (e = e || 12) >= 12 ? "PM" : "AM"; 29676 } 29677 function w(e) { 29678 var t = /\d+$/.exec(e[0]); 29679 if (t && void 0 !== t[0]) { 29680 var n = y[e[0][0] + "x"].slice(""); 29681 return n[0] = n[0](t[0]), n[3] = n[3](t[0]), n; 29682 } 29683 if (y[e[0]]) return y[e[0]]; 29684 } 29685 function P(e) { 29686 if (!e.tokenizer) { 29687 var t = [], n = []; 29688 for (var i in y) if (/\.*x$/.test(i)) { 29689 var a = i[0] + "\\d+"; 29690 -1 === n.indexOf(a) && n.push(a); 29691 } else -1 === t.indexOf(i[0]) && t.push(i[0]); 29692 e.tokenizer = "(" + (n.length > 0 ? n.join("|") + "|" : "") + t.join("+|") + ")+?|.", 29693 e.tokenizer = new RegExp(e.tokenizer, "g"); 29694 } 29695 return e.tokenizer; 29696 } 29697 function S(e, t, n) { 29698 if (!g) return !0; 29699 if (void 0 === e.rawday || !isFinite(e.rawday) && new Date(e.date.getFullYear(), isFinite(e.rawmonth) ? e.month : e.date.getMonth() + 1, 0).getDate() >= e.day || "29" == e.day && (!isFinite(e.rawyear) || void 0 === e.rawyear || "" === e.rawyear) || new Date(e.date.getFullYear(), isFinite(e.rawmonth) ? e.month : e.date.getMonth() + 1, 0).getDate() >= e.day) return t; 29700 if ("29" == e.day) { 29701 var i = j.call(this, t.pos, n, this.maskset); 29702 if (i.targetMatch && "yyyy" === i.targetMatch[0] && t.pos - i.targetMatchIndex == 2) return t.remove = t.pos + 1, 29703 t; 29704 } else if (2 == e.date.getMonth() && "30" == e.day && void 0 !== t.c) return e.day = "03", 29705 e.date.setDate(3), e.date.setMonth(1), t.insert = [ { 29706 pos: t.pos, 29707 c: "0" 29708 }, { 29709 pos: t.pos + 1, 29710 c: t.c 29711 } ], t.caret = o.seekNext.call(this, t.pos + 1), t; 29712 return !1; 29713 } 29714 function O(e, t, n, a) { 29715 var r, o, l = "", s = 0, c = {}; 29716 for (P(n).lastIndex = 0; r = P(n).exec(e); ) { 29717 if (void 0 === t) if (o = w(r)) l += "(" + o[0] + ")", n.placeholder && "" !== n.placeholder ? (c[s] = n.placeholder[r.index % n.placeholder.length], 29718 c[n.placeholder[r.index % n.placeholder.length]] = r[0].charAt(0)) : c[s] = r[0].charAt(0); else switch (r[0]) { 29719 case "[": 29720 l += "("; 29721 break; 29722 29723 case "]": 29724 l += ")?"; 29725 break; 29726 29727 default: 29728 l += (0, i.default)(r[0]), c[s] = r[0].charAt(0); 29729 } else if (o = w(r)) if (!0 !== a && o[3]) l += o[3].call(t.date); else o[2] ? l += t["raw" + o[2]] : l += r[0]; else l += r[0]; 29730 s++; 29731 } 29732 return void 0 === t && (n.placeholder = c), l; 29733 } 29734 function _(e, t, n) { 29735 for (e = String(e), t = t || 2; e.length < t; ) e = n ? e + "0" : "0" + e; 29736 return e; 29737 } 29738
vendor: 7,126 bytes, lines 29738-29843
29738 function M(e, t, n) { 29739 return "string" == typeof e ? new h(e, t, n, this) : e && "object" === u(e) && Object.prototype.hasOwnProperty.call(e, "date") ? e : void 0; 29740 } 29741 function E(e, t) { 29742 return O(t.inputFormat, { 29743 date: e 29744 }, t); 29745 } 29746 function j(e, t, n) { 29747 var i, a, r = this, o = n && n.tests[e] ? t.placeholder[n.tests[e][0].match.placeholder] || n.tests[e][0].match.placeholder : "", s = 0, c = 0; 29748 for (P(t).lastIndex = 0; a = P(t).exec(t.inputFormat); ) { 29749 var u = /\d+$/.exec(a[0]); 29750 if (u) c = parseInt(u[0]); else { 29751 for (var f = a[0][0], p = s; r && (t.placeholder[l.getTest.call(r, p).match.placeholder] || l.getTest.call(r, p).match.placeholder) === f; ) p++; 29752 0 === (c = p - s) && (c = a[0].length); 29753 } 29754 if (s += c, -1 != a[0].indexOf(o) || s >= e + 1) { 29755 i = a, a = P(t).exec(t.inputFormat); 29756 break; 29757 } 29758 } 29759 return { 29760 targetMatchIndex: s - c, 29761 nextMatch: a, 29762 targetMatch: i 29763 }; 29764 } 29765 a.default.extendAliases({ 29766 datetime: { 29767 mask: function(e) { 29768 return e.numericInput = !1, y.S = m.ordinalSuffix.join("|"), e.inputFormat = k[e.inputFormat] || e.inputFormat, 29769 e.displayFormat = k[e.displayFormat] || e.displayFormat || e.inputFormat, e.outputFormat = k[e.outputFormat] || e.outputFormat || e.inputFormat, 29770 e.regex = O(e.inputFormat, void 0, e), e.min = M(e.min, e.inputFormat, e), e.max = M(e.max, e.inputFormat, e), 29771 null; 29772 }, 29773 placeholder: "", 29774 inputFormat: "isoDateTime", 29775 displayFormat: null, 29776 outputFormat: null, 29777 min: null, 29778 max: null, 29779 skipOptionalPartCharacter: "", 29780 preValidation: function(e, t, n, i, a, r, o, l) { 29781 if (l) return !0; 29782 if (isNaN(n) && e[t] !== n) { 29783 var s = j.call(this, t, a, r); 29784 if (s.nextMatch && s.nextMatch[0] === n && s.targetMatch[0].length > 1) { 29785 var c = w(s.targetMatch)[0]; 29786 if (new RegExp(c).test("0" + e[t - 1])) return e[t] = e[t - 1], e[t - 1] = "0", 29787 { 29788 fuzzy: !0, 29789 buffer: e, 29790 refreshFromBuffer: { 29791 start: t - 1, 29792 end: t + 1 29793 }, 29794 pos: t + 1 29795 }; 29796 } 29797 } 29798 return !0; 29799 }, 29800 postValidation: function(e, t, n, i, a, r, o, s) { 29801 var c, u, f = this; 29802 if (o) return !0; 29803 if (!1 === i && (((c = j.call(f, t + 1, a, r)).targetMatch && c.targetMatchIndex === t && c.targetMatch[0].length > 1 && void 0 !== y[c.targetMatch[0]] || (c = j.call(f, t + 2, a, r)).targetMatch && c.targetMatchIndex === t + 1 && c.targetMatch[0].length > 1 && void 0 !== y[c.targetMatch[0]]) && (u = w(c.targetMatch)[0]), 29804 void 0 !== u && (void 0 !== r.validPositions[t + 1] && new RegExp(u).test(n + "0") ? (e[t] = n, 29805 e[t + 1] = "0", i = { 29806 pos: t + 2, 29807 caret: t 29808 }) : new RegExp(u).test("0" + n) && (e[t] = "0", e[t + 1] = n, i = { 29809 pos: t + 2 29810 })), !1 === i)) return i; 29811 if (i.fuzzy && (e = i.buffer, t = i.pos), (c = j.call(f, t, a, r)).targetMatch && c.targetMatch[0] && void 0 !== y[c.targetMatch[0]]) { 29812 var p = w(c.targetMatch); 29813 u = p[0]; 29814 var d = e.slice(c.targetMatchIndex, c.targetMatchIndex + c.targetMatch[0].length); 29815 if (!1 === new RegExp(u).test(d.join("")) && 2 === c.targetMatch[0].length && r.validPositions[c.targetMatchIndex] && r.validPositions[c.targetMatchIndex + 1] && (r.validPositions[c.targetMatchIndex + 1].input = "0"), 29816 "year" == p[2]) for (var h = l.getMaskTemplate.call(f, !1, 1, void 0, !0), m = t + 1; m < e.length; m++) e[m] = h[m], 29817 r.validPositions.splice(t + 1, 1); 29818 } 29819 var g = i, k = M.call(f, e.join(""), a.inputFormat, a); 29820 return g && !isNaN(k.date.getTime()) && (a.prefillYear && (g = function(e, t, n) { 29821 if (e.year !== e.rawyear) { 29822 var i = v.toString(), a = e.rawyear.replace(/[^0-9]/g, ""), r = i.slice(0, a.length), o = i.slice(a.length); 29823 if (2 === a.length && a === r) { 29824 var l = new Date(v, e.month - 1, e.day); 29825 e.day == l.getDate() && (!n.max || n.max.date.getTime() >= l.getTime()) && (e.date.setFullYear(v), 29826 e.year = i, t.insert = [ { 29827 pos: t.pos + 1, 29828 c: o[0] 29829 }, { 29830 pos: t.pos + 2, 29831 c: o[1] 29832 } ]); 29833 } 29834 } 29835 return t; 29836 }(k, g, a)), g = function(e, t, n, i, a) { 29837 if (!t) return t; 29838 if (t && n.min && !isNaN(n.min.date.getTime())) { 29839 var r; 29840 for (e.reset(), P(n).lastIndex = 0; r = P(n).exec(n.inputFormat); ) { 29841 var o; 29842 if ((o = w(r)) && o[3]) { 29843 for (var l = o[1], s = e[o[2]], c = n.min[o[2]], u = n.max ? n.max[o[2]] : c + 1, f = [], p
vendor: 3,566 bytes, lines 29843-29894
29843= !1, d = 0; d < c.length; d++) void 0 !== i.validPositions[d + r.index] || p ? (f[d] = s[d], 29844 p = p || s[d] > c[d]) : (d + r.index == 0 && s[d] < c[d] ? (f[d] = s[d], p = !0) : f[d] = c[d], 29845 "year" === o[2] && s.length - 1 == d && c != u && (f = (parseInt(f.join("")) + 1).toString().split("")), 29846 "ampm" === o[2] && c != u && n.min.date.getTime() > e.date.getTime() && (f[d] = u[d])); 29847 l.call(e._date, f.join("")); 29848 } 29849 } 29850 t = n.min.date.getTime() <= e.date.getTime(), e.reInit(); 29851 } 29852 return t && n.max && (isNaN(n.max.date.getTime()) || (t = n.max.date.getTime() >= e.date.getTime())), 29853 t; 29854 }(k, g = S.call(f, k, g, a), a, r)), void 0 !== t && g && i.pos !== t ? { 29855 buffer: O(a.inputFormat, k, a).split(""), 29856 refreshFromBuffer: { 29857 start: t, 29858 end: i.pos 29859 }, 29860 pos: i.caret || i.pos 29861 } : g; 29862 }, 29863 onKeyDown: function(e, t, n, i) { 29864 e.ctrlKey && e.key === r.keys.ArrowRight && (this.inputmask._valueSet(E(new Date, i)), 29865 d(this).trigger("setvalue")); 29866 }, 29867 onUnMask: function(e, t, n) { 29868 return t ? O(n.outputFormat, M.call(this, e, n.inputFormat, n), n, !0) : t; 29869 }, 29870 casing: function(e, t, n, i) { 29871 if (0 == t.nativeDef.indexOf("[ap]")) return e.toLowerCase(); 29872 if (0 == t.nativeDef.indexOf("[AP]")) return e.toUpperCase(); 29873 var a = l.getTest.call(this, [ n - 1 ]); 29874 return 0 == a.match.def.indexOf("[AP]") || 0 === n || a && a.input === String.fromCharCode(r.keyCode.Space) || a && a.match.def === String.fromCharCode(r.keyCode.Space) ? e.toUpperCase() : e.toLowerCase(); 29875 }, 29876 onBeforeMask: function(e, t) { 29877 return "[object Date]" === Object.prototype.toString.call(e) && (e = E(e, t)), e; 29878 }, 29879 insertMode: !1, 29880 insertModeVisual: !1, 29881 shiftPositions: !1, 29882 keepStatic: !1, 29883 inputmode: "numeric", 29884 prefillYear: !0 29885 } 29886 }); 29887 }, 29888 1313: function(e, t, n) { 29889 var i, a = (i = n(2394)) && i.__esModule ? i : { 29890 default: i 29891 }; 29892 a.default.dependencyLib.extend(!0, a.default.prototype.i18n, { 29893 dayNames: [ "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], 29894 monthNames: [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
29894November", "December" ], 29895 ordinalSuffix: [ "st", "nd", "rd", "th" ] 29896 }); 29897 }, 29898 3851: function(e, t, n) { 29899 var i, a = (i = n(2394)) && i.__esModule ? i : { 29900 default: i 29901 }, r = n(8711), o = n(4713); 29902 function l(e) { 29903 return function(e) { 29904 if (Array.isArray(e)) return s(e); 29905 }(e) || function(e) { 29906 if ("undefined" != typeof Symbol && null != e[Symbol.iterator] || null != e["@@iterator"]) return Array.from(e); 29907 }(e) || function(e, t) { 29908 if (!e) return; 29909 if ("string" == typeof e) return s(e, t); 29910 var n = Object.prototype.toString.call(e).slice(8, -1); 29911 "Object" === n && e.constructor && (n = e.constructor.name); 29912 if ("Map" === n || "Set" === n) return Array.from(e); 29913 if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return s(e, t); 29914 }(e) || function() { 29915 throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 29916 }(); 29917 } 29918 function s(e, t) { 29919 (null == t || t > e.length) && (t = e.length); 29920 for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; 29921 return i; 29922 } 29923 a.default.extendDefinitions({ 29924 A: { 29925 validator: "[A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]", 29926 casing: "upper" 29927 }, 29928 "&": { 29929 validator: "[0-9A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5]", 29930 casing: "upper" 29931 }, 29932 "#": { 29933 validator: "[0-9A-Fa-f]", 29934 casing: "upper" 29935 } 29936 }); 29937 var c = /25[0-5]|2[0-4][0-9]|[01][0-9][0-9]/; 29938 function u(e, t, n, i, a) { 29939 if (n - 1 > -1 && "." !== t.buffer[n - 1] ? (e = t.buffer[n - 1] + e, e = n - 2 > -1 && "." !== t.buffer[n - 2] ? t.buffer[n - 2] + e : "0" + e) : e = "00" + e, 29940 a.greedy && parseInt(e) > 255 && c.test("00" + e.charAt(2))) { 29941 var r = [].concat(l(t.buffer.slice(0, n)), [ ".", e.charAt(2) ]); 29942 if (r.join("").match(/\./g).length < 4) return { 29943 refreshFromBuffer: !0, 29944 buffer: r, 29945 caret: n + 2 29946 }; 29947 } 29948 return c.test(e); 29949 } 29950 a.default.extendAliases({ 29951 cssunit: { 29952 regex: "[+-]?[0-9]+\\.?([0-9]+)?(px|em|rem|ex|%|in|cm|mm|pt|pc)" 29953 }, 29954 url: { 29955 regex: "(https?|ftp)://.*", 29956 autoUnmask: !1, 29957 keepStatic: !1, 29958 tabThrough: !0 29959 }, 29960 ip: { 29961 mask: "i{1,3}.j{1,3}.k{1,3}.l{1,3}", 29962 definitions: { 29963 i: { 29964 validator: u 29965 }, 29966 j: { 29967 validator: u 29968 }, 29969 k: { 29970 validator: u 29971 }, 29972 l: { 29973 validator: u 29974 } 29975 }, 29976 onUnMask: function(e, t, n) { 29977 return e; 29978 }, 29979 inputmode: "decimal", 29980 substitutes: { 29981 ",": "." 29982 } 29983 }, 29984 email: { 29985 mask: function(e) { 29986 var t = e.separator, n = e.quantifier, i = "*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}.-{1,63}[.-{1,63}][.-{1,63}]", a = i; 29987 if (t) for (var r = 0; r < n; r++) a += "[".concat(t).concat(i, "]"); 29988 return a; 29989 }, 29990 greedy: !1, 29991 casing: "lower", 29992 separator: null, 29993 quantifier: 5, 29994 skipOptionalPartCharacter: "", 29995 onBeforePaste: function(e, t) { 29996 return (e = e.toLowerCase()).replace("mailto:", ""); 29997 }, 29998 definitions: { 29999 "*": { 30000 validator: "[0-9\uff11-\uff19A-Za-z\u0410-\u044f\u0401\u0451\xc0-\xff\xb5!#$%&'*+/=?^_`{|}~-]" 30001 }, 30002 "-": { 30003 validator: "[0-9A-Za-z-]" 30004 } 30005 }, 30006 onUnMask: function(e, t, n) { 30007 return e; 30008 }, 30009 inputmode: "email" 30010 }, 30011 mac: {
vendor: 38,173 bytes, lines 30012-30568
30012 mask: "##:##:##:##:##:##" 30013 }, 30014 vin: { 30015 mask: "V{13}9{4}", 30016 definitions: { 30017 V: { 30018 validator: "[A-HJ-NPR-Za-hj-npr-z\\d]", 30019 casing: "upper" 30020 } 30021 }, 30022 clearIncomplete: !0, 30023 autoUnmask: !0 30024 }, 30025 ssn: { 30026 mask: "999-99-9999", 30027 postValidation: function(e, t, n, i, a, l, s) { 30028 var c = o.getMaskTemplate.call(this, !0, r.getLastValidPosition.call(this), !0, !0); 30029 return /^(?!219-09-9999|078-05-1120)(?!666|000|9.{2}).{3}-(?!00).{2}-(?!0{4}).{4}$/.test(c.join("")); 30030 } 30031 } 30032 }); 30033 }, 30034 207: function(e, t, n) { 30035 var i = l(n(7184)), a = l(n(2394)), r = n(2839), o = n(8711); 30036 function l(e) { 30037 return e && e.__esModule ? e : { 30038 default: e 30039 }; 30040 } 30041 var s = a.default.dependencyLib; 30042 function c(e, t) { 30043 for (var n = "", i = 0; i < e.length; i++) a.default.prototype.definitions[e.charAt(i)] || t.definitions[e.charAt(i)] || t.optionalmarker[0] === e.charAt(i) || t.optionalmarker[1] === e.charAt(i) || t.quantifiermarker[0] === e.charAt(i) || t.quantifiermarker[1] === e.charAt(i) || t.groupmarker[0] === e.charAt(i) || t.groupmarker[1] === e.charAt(i) || t.alternatormarker === e.charAt(i) ? n += "\\" + e.charAt(i) : n += e.charAt(i); 30044 return n; 30045 } 30046 function u(e, t, n, i) { 30047 if (e.length > 0 && t > 0 && (!n.digitsOptional || i)) { 30048 var a = e.indexOf(n.radixPoint), r = !1; 30049 n.negationSymbol.back === e[e.length - 1] && (r = !0, e.length--), -1 === a && (e.push(n.radixPoint), 30050 a = e.length - 1); 30051 for (var o = 1; o <= t; o++) isFinite(e[a + o]) || (e[a + o] = "0"); 30052 } 30053 return r && e.push(n.negationSymbol.back), e; 30054 } 30055 function f(e, t) { 30056 var n = 0; 30057 for (var i in "+" === e && (n = o.seekNext.call(this, t.validPositions.length - 1)), 30058 t.tests) if ((i = parseInt(i)) >= n) for (var a = 0, r = t.tests[i].length; a < r; a++) if ((void 0 === t.validPositions[i] || "-" === e) && t.tests[i][a].match.def === e) return i + (void 0 !== t.validPositions[i] && "-" !== e ? 1 : 0); 30059 return n; 30060 } 30061 function p(e, t) { 30062 for (var n = -1, i = 0, a = t.validPositions.length; i < a; i++) { 30063 var r = t.validPositions[i]; 30064 if (r && r.match.def === e) { 30065 n = i; 30066 break; 30067 } 30068 } 30069 return n; 30070 } 30071 function d(e, t, n, i, a) { 30072 var r = t.buffer ? t.buffer.indexOf(a.radixPoint) : -1, o = (-1 !== r || i && a.jitMasking) && new RegExp(a.definitions[9].validator).test(e); 30073 return !i && a._radixDance && -1 !== r && o && null == t.validPositions[r] ? { 30074 insert: { 30075 pos: r === n ? r + 1 : r, 30076 c: a.radixPoint 30077 }, 30078 pos: n 30079 } : o; 30080 } 30081 a.default.extendAliases({ 30082 numeric: { 30083 mask: function(e) { 30084 e.repeat = 0, e.groupSeparator === e.radixPoint && e.digits && "0" !== e.digits && ("." === e.radixPoint ? e.groupSeparator = "," : "," === e.radixPoint ? e.groupSeparator = "." : e.groupSeparator = ""), 30085 " " === e.groupSeparator && (e.skipOptionalPartCharacter = void 0), e.placeholder.length > 1 && (e.placeholder = e.placeholder.charAt(0)), 30086 "radixFocus" === e.positionCaretOnClick && "" === e.placeholder && (e.positionCaretOnClick = "lvp"); 30087 var t = "0", n = e.radixPoint; 30088 !0 === e.numericInput && void 0 === e.__financeInput ? (t = "1", e.positionCaretOnClick = "radixFocus" === e.positionCaretOnClick ? "lvp" : e.positionCaretOnClick, 30089 e.digitsOptional = !1, isNaN(e.digits) && (e.digits = 2), e._radixDance = !1, n = "," === e.radixPoint ? "?" : "!", 30090 "" !== e.radixPoint && void 0 === e.definitions[n] && (e.definitions[n] = {}, e.definitions[n].validator = "[" + e.radixPoint + "]", 30091 e.definitions[n].placeholder = e.radixPoint, e.definitions[n].static = !0, e.definitions[n].generated = !0)) : (e.__financeInput = !1, 30092 e.numericInput = !0); 30093 var a, r = "[+]"; 30094 if (r += c(e.prefix, e), "" !== e.groupSeparator ? (void 0 === e.definitions[e.groupSeparator] && (e.definitions[e.groupSeparator] = {}, 30095 e.definitions[e.groupSeparator].validator = "[" + e.groupSeparator + "]", e.definitions[e.groupSeparator].placeholder = e.groupSeparator, 30096 e.definitions[e.groupSeparator].static = !0, e.definitions[e.groupSeparator].generated = !0), 30097 r += e._mask(e)) : r += "9{+}", void 0 !== e.digits && 0 !== e.digits) { 30098 var o = e.digits.toString().split(","); 30099 isFinite(o[0]) && o[1] && isFinite(o[1]) ? r += n + t + "{" + e.digits + "}" : (isNaN(e.digits) || parseInt(e.digits) > 0) && (e.digitsOptional || e.jitMasking ? (a = r + n + t + "{0," + e.digits + "}", 30100 e.keepStatic = !0) : r += n + t + "{" + e.digits + "}"); 30101 } else e.inputmode = "numeric"; 30102 return r += c(e.suffix, e), r += "[-]", a && (r = [ a + c(e.suffix, e) + "[-]", r ]), 30103 e.greedy = !1, function(e) { 30104 void 0 === e.parseMinMaxOptions && (null !== e.min && (e.min = e.min.toString().replace(new RegExp((0, 30105 i.default)(e.groupSeparator), "g"), ""), "," === e.radixPoint && (e.min = e.min.replace(e.radixPoint, ".")), 30106 e.min = isFinite(e.min) ? parseFloat(e.min) : NaN, isNaN(e.min) && (e.min = Number.MIN_VALUE)), 30107 null !== e.max && (e.max = e.max.toString().replace(new RegExp((0, i.default)(e.groupSeparator), "g"), ""), 30108 "," === e.radixPoint && (e.max = e.max.replace(e.radixPoint, ".")), e.max = isFinite(e.max) ? parseFloat(e.max) : NaN, 30109 isNaN(e.max) && (e.max = Number.MAX_VALUE)), e.parseMinMaxOptions = "done"); 30110 }(e), "" !== e.radixPoint && e.substituteRadixPoint && (e.substitutes["." == e.radixPoint ? "," : "."] = e.radixPoint), 30111 r; 30112 }, 30113 _mask: function(e) { 30114 return "(" + e.groupSeparator + "999){+|1}"; 30115 }, 30116 digits: "*", 30117 digitsOptional: !0, 30118 enforceDigitsOnBlur: !1, 30119 radixPoint: ".", 30120 positionCaretOnClick: "radixFocus", 30121 _radixDance: !0, 30122 groupSeparator: "", 30123 allowMinus: !0, 30124 negationSymbol: { 30125 front: "-", 30126 back: "" 30127 }, 30128 prefix: "", 30129 suffix: "", 30130 min: null, 30131 max: null, 30132 SetMaxOnOverflow: !1, 30133 step: 1, 30134 inputType: "text", 30135 unmaskAsNumber: !1, 30136 roundingFN: Math.round, 30137 inputmode: "decimal", 30138 shortcuts: { 30139 k: "1000", 30140 m: "1000000" 30141 }, 30142 placeholder: "0", 30143 greedy: !1, 30144 rightAlign: !0, 30145 insertMode: !0, 30146 autoUnmask: !1, 30147 skipOptionalPartCharacter: "", 30148 usePrototypeDefinitions: !1, 30149 stripLeadingZeroes: !0, 30150 substituteRadixPoint: !0, 30151 definitions: { 30152 0: { 30153 validator: d 30154 }, 30155 1: { 30156 validator: d, 30157 definitionSymbol: "9" 30158 }, 30159 9: { 30160 validator: "[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]", 30161 definitionSymbol: "*" 30162 }, 30163 "+": { 30164 validator: function(e, t, n, i, a) { 30165 return a.allowMinus && ("-" === e || e === a.negationSymbol.front); 30166 } 30167 }, 30168 "-": { 30169 validator: function(e, t, n, i, a) { 30170 return a.allowMinus && e === a.negationSymbol.back; 30171 } 30172 } 30173 }, 30174 preValidation: function(e, t, n, i, a, r, o, l) { 30175 var s = this; 30176 if (!1 !== a.__financeInput && n === a.radixPoint) return !1; 30177 var c = e.indexOf(a.radixPoint), u = t; 30178 if (t = function(e, t, n, i, a) { 30179 return a._radixDance && a.numericInput && t !== a.negationSymbol.back && e <= n && (n > 0 || t == a.radixPoint) && (void 0 === i.validPositions[e - 1] || i.validPositions[e - 1].input !== a.negationSymbol.back) && (e -= 1), 30180 e; 30181 }(t, n, c, r, a), "-" === n || n === a.negationSymbol.front) { 30182 if (!0 !== a.allowMinus) return !1; 30183 var d = !1, h = p("+", r), v = p("-", r); 30184 return -1 !== h && (d = [ h ], -1 !== v && d.push(v)), !1 !== d ? { 30185 remove: d, 30186 caret: u - a.negationSymbol.back.length 30187 } : { 30188 insert: [ { 30189 pos: f.call(s, "+", r), 30190 c: a.negationSymbol.front, 30191 fromIsValid: !0 30192 }, { 30193 pos: f.call(s, "-", r), 30194 c: a.negationSymbol.back, 30195 fromIsValid: void 0 30196 } ], 30197 caret: u + a.negationSymbol.back.length 30198 }; 30199 } 30200 if (n === a.groupSeparator) return { 30201 caret: u 30202 }; 30203 if (l) return !0; 30204 if (-1 !== c && !0 === a._radixDance && !1 === i && n === a.radixPoint && void 0 !== a.digits && (isNaN(a.digits) || parseInt(a.digits) > 0) && c !== t) { 30205 var m = f.call(s, a.radixPoint, r); 30206 return r.validPositions[m] && (r.validPositions[m].generatedInput = r.validPositions[m].generated || !1), 30207 { 30208 caret: a._radixDance && t === c - 1 ? c + 1 : c 30209 }; 30210 } 30211 if (!1 === a.__financeInput) if (i) { 30212 if (a.digitsOptional) return { 30213 rewritePosition: o.end 30214 }; 30215 if (!a.digitsOptional) { 30216 if (o.begin > c && o.end <= c) return n === a.radixPoint ? { 30217 insert: { 30218 pos: c + 1, 30219 c: "0", 30220 fromIsValid: !0 30221 }, 30222 rewritePosition: c 30223 } : { 30224 rewritePosition: c + 1 30225 }; 30226 if (o.begin < c) return { 30227 rewritePosition: o.begin - 1 30228 }; 30229 } 30230 } else if (!a.showMaskOnHover && !a.showMaskOnFocus && !a.digitsOptional && a.digits > 0 && "" === this.__valueGet.call(this.el)) return { 30231 rewritePosition: c 30232 }; 30233 return { 30234 rewritePosition: t 30235 }; 30236 }, 30237 postValidation: function(e, t, n, i, a, r, o) { 30238 if (!1 === i) return i; 30239 if (o) return !0; 30240 if (null !== a.min || null !== a.max) { 30241 var l = a.onUnMask(e.slice().reverse().join(""), void 0, s.extend({}, a, { 30242 unmaskAsNumber: !0 30243 })); 30244 if (null !== a.min && l < a.min && (l.toString().length > a.min.toString().length || l < 0)) return !1; 30245 if (null !== a.max && l > a.max) return !!a.SetMaxOnOverflow && { 30246 refreshFromBuffer: !0, 30247 buffer: u(a.max.toString().replace(".", a.radixPoint).split(""), a.digits, a).reverse() 30248 }; 30249 } 30250 return i; 30251 }, 30252 onUnMask: function(e, t, n) { 30253 if ("" === t && !0 === n.nullable) return t; 30254 var a = e.replace(n.prefix, ""); 30255 return a = (a = a.replace(n.suffix, "")).replace(new RegExp((0, i.default)(n.groupSeparator), "g"), ""), 30256 "" !== n.placeholder.charAt(0) && (a = a.replace(new RegExp(n.placeholder.charAt(0), "g"), "0")), 30257 n.unmaskAsNumber ? ("" !== n.radixPoint && -1 !== a.indexOf(n.radixPoint) && (a = a.replace(i.default.call(this, n.radixPoint), ".")), 30258 a = (a = a.replace(new RegExp("^" + (0, i.default)(n.negationSymbol.front)), "-")).replace(new RegExp((0, 30259 i.default)(n.negationSymbol.back) + "$"), ""), Number(a)) : a; 30260 }, 30261 isComplete: function(e, t) { 30262 var n = (t.numericInput ? e.slice().reverse() : e).join(""); 30263 return n = (n = (n = (n = (n = n.replace(new RegExp("^" + (0, i.default)(t.negationSymbol.front)), "-")).replace(new RegExp((0, 30264 i.default)(t.negationSymbol.back) + "$"), "")).replace(t.prefix, "")).replace(t.suffix, "")).replace(new RegExp((0, 30265 i.default)(t.groupSeparator) + "([0-9]{3})", "g"), "$1"), "," === t.radixPoint && (n = n.replace((0, 30266 i.default)(t.radixPoint), ".")), isFinite(n); 30267 }, 30268 onBeforeMask: function(e, t) { 30269 var n; 30270 e = null !== (n = e) && void 0 !== n ? n : ""; 30271 var a = t.radixPoint || ","; 30272 isFinite(t.digits) && (t.digits = parseInt(t.digits)), "number" != typeof e && "number" !== t.inputType || "" === a || (e = e.toString().replace(".", a)); 30273 var r = "-" === e.charAt(0) || e.charAt(0) === t.negationSymbol.front, o = e.split(a), l = o[0].replace(/[^\-0-9]/g, ""), s = o.length > 1 ? o[1].replace(/[^0-9]/g, "") : "", c = o.length > 1; 30274 e = l + ("" !== s ? a + s : s); 30275 var f = 0; 30276 if ("" !== a && (f = t.digitsOptional ? t.digits < s.length ? t.digits : s.length : t.digits, 30277 "" !== s || !t.digitsOptional)) { 30278 var p = Math.pow(10, f || 1); 30279 e = e.replace((0, i.default)(a), "."), isNaN(parseFloat(e)) || (e = (t.roundingFN(parseFloat(e) * p) / p).toFixed(f)), 30280 e = e.toString().replace(".", a); 30281 } 30282 if (0 === t.digits && -1 !== e.indexOf(a) && (e = e.substring(0, e.indexOf(a))), 30283 null !== t.min || null !== t.max) { 30284 var d = e.toString().replace(a, "."); 30285 null !== t.min && d < t.min ? e = t.min.toString().replace(".", a) : null !== t.max && d > t.max && (e = t.max.toString().replace(".", a)); 30286 } 30287 return r && "-" !== e.charAt(0) && (e = "-" + e), u(e.toString().split(""), f, t, c).join(""); 30288 }, 30289 onBeforeWrite: function(e, t, n, a) { 30290 function r(e, t) { 30291 if (!1 !== a.__financeInput || t) { 30292 var n = e.indexOf(a.radixPoint); 30293 -1 !== n && e.splice(n, 1); 30294 } 30295 if ("" !== a.groupSeparator) for (;-1 !== (n = e.indexOf(a.groupSeparator)); ) e.splice(n, 1); 30296 return e; 30297 } 30298 var o, l; 30299 if (a.stripLeadingZeroes && (l = function(e, t) { 30300 var n = new RegExp("(^" + ("" !== t.negationSymbol.front ? (0, i.default)(t.negationSymbol.front) + "?" : "") + (0, 30301 i.default)(t.prefix) + ")(.*)(" + (0, i.default)(t.suffix) + ("" != t.negationSymbol.back ? (0, 30302 i.default)(t.negationSymbol.back) + "?" : "") + "$)").exec(e.slice().reverse().join("")), a = n ? n[2] : "", r = !1; 30303 return a && (a = a.split(t.radixPoint.charAt(0))[0], r = new RegExp("^[0" + t.groupSeparator + "]*").exec(a)), 30304 !(!r || !(r[0].length > 1 || r[0].length > 0 && r[0].length < a.length)) && r; 30305 }(t, a))) for (var c = t.join("").lastIndexOf(l[0].split("").reverse().join("")) - (l[0] == l.input ? 0 : 1), f = l[0] == l.input ? 1 : 0, p = l[0].length - f; p > 0; p--) this.maskset.validPositions.splice(c + p, 1), 30306 delete t[c + p]; 30307 if (e) switch (e.type) { 30308 case "blur": 30309 case "checkval": 30310 if (null !== a.min) { 30311 var d = a.onUnMask(t.slice().reverse().join(""), void 0, s.extend({}, a, { 30312 unmaskAsNumber: !0 30313 })); 30314 if (null !== a.min && d < a.min) return { 30315 refreshFromBuffer: !0, 30316 buffer: u(a.min.toString().replace(".", a.radixPoint).split(""), a.digits, a).reverse() 30317 }; 30318 } 30319 if (t[t.length - 1] === a.negationSymbol.front) { 30320 var h = new RegExp("(^" + ("" != a.negationSymbol.front ? (0, i.default)(a.negationSymbol.front) + "?" : "") + (0, 30321 i.default)(a.prefix) + ")(.*)(" + (0, i.default)(a.suffix) + ("" != a.negationSymbol.back ? (0, 30322 i.default)(a.negationSymbol.back) + "?" : "") + "$)").exec(r(t.slice(), !0).reverse().join("")); 30323 0 == (h ? h[2] : "") && (o = { 30324 refreshFromBuffer: !0, 30325 buffer: [ 0 ] 30326 }); 30327 } else if ("" !== a.radixPoint) { 30328 t.indexOf(a.radixPoint) === a.suffix.length && (o && o.buffer ? o.buffer.splice(0, 1 + a.suffix.length) : (t.splice(0, 1 + a.suffix.length), 30329 o = { 30330 refreshFromBuffer: !0, 30331 buffer: r(t) 30332 })); 30333 } 30334 if (a.enforceDigitsOnBlur) { 30335 var v = (o = o || {}) && o.buffer || t.slice().reverse(); 30336 o.refreshFromBuffer = !0, o.buffer = u(v, a.digits, a, !0).reverse(); 30337 } 30338 } 30339 return o; 30340 }, 30341 onKeyDown: function(e, t, n, i) { 30342 var a, o = s(this); 30343 if (3 != e.location) { 30344 var l, c = e.key; 30345 if ((l = i.shortcuts && i.shortcuts[c]) && l.length > 1) return this.inputmask.__valueSet.call(this, parseFloat(this.inputmask.unmaskedvalue()) * parseInt(l)), 30346 o.trigger("setvalue"), !1; 30347 } 30348 if (e.ctrlKey) switch (e.key) { 30349 case r.keys.ArrowUp: 30350 return this.inputmask.__valueSet.call(this, parseFloat(this.inputmask.unmaskedvalue()) + parseInt(i.step)), 30351 o.trigger("setvalue"), !1; 30352 30353 case r.keys.ArrowDown: 30354 return this.inputmask.__valueSet.call(this, parseFloat(this.inputmask.unmaskedvalue()) - parseInt(i.step)), 30355 o.trigger("setvalue"), !1; 30356 } 30357 if (!e.shiftKey && (e.key === r.keys.Delete || e.key === r.keys.Backspace || e.key === r.keys.BACKSPACE_SAFARI) && n.begin !== t.length) { 30358 if (t[e.key === r.keys.Delete ? n.begin - 1 : n.end] === i.negationSymbol.front) return a = t.slice().reverse(), 30359 "" !== i.negationSymbol.front && a.shift(), "" !== i.negationSymbol.back && a.pop(), 30360 o.trigger("setvalue", [ a.join(""), n.begin ]), !1; 30361 if (!0 === i._radixDance) { 30362 var f, p = t.indexOf(i.radixPoint); 30363 if (i.digitsOptional) { 30364 if (0 === p) return (a = t.slice().reverse()).pop(), o.trigger("setvalue", [ a.join(""), n.begin >= a.length ? a.length : n.begin ]), 30365 !1; 30366 } else if (-1 !== p && (n.begin < p || n.end < p || e.key === r.keys.Delete && (n.begin === p || n.begin - 1 === p))) return n.begin === n.end && (e.key === r.keys.Backspace || e.key === r.keys.BACKSPACE_SAFARI ? n.begin++ : e.key === r.keys.Delete && n.begin - 1 === p && (f = s.extend({}, n), 30367 n.begin--, n.end--)), (a = t.slice().reverse()).splice(a.length - n.begin, n.begin - n.end + 1), 30368 a = u(a, i.digits, i).join(""), f && (n = f), o.trigger("setvalue", [ a, n.begin >= a.length ? p + 1 : n.begin ]), 30369 !1; 30370 } 30371 } 30372 } 30373 }, 30374 currency: { 30375 prefix: "", 30376 groupSeparator: ",", 30377 alias: "numeric", 30378 digits: 2, 30379 digitsOptional: !1 30380 }, 30381 decimal: { 30382 alias: "numeric" 30383 }, 30384 integer: { 30385 alias: "numeric", 30386 inputmode: "numeric", 30387 digits: 0 30388 }, 30389 percentage: { 30390 alias: "numeric", 30391 min: 0, 30392 max: 100, 30393 suffix: " %", 30394 digits: 0, 30395 allowMinus: !1 30396 }, 30397 indianns: { 30398 alias: "numeric", 30399 _mask: function(e) { 30400 return "(" + e.groupSeparator + "99){*|1}(" + e.groupSeparator + "999){1|1}"; 30401 }, 30402 groupSeparator: ",", 30403 radixPoint: ".", 30404 placeholder: "0", 30405 digits: 2, 30406 digitsOptional: !1 30407 } 30408 }); 30409 }, 30410 9380: function(e, t) { 30411 Object.defineProperty(t, "__esModule", { 30412 value: !0 30413 }), t.default = void 0; 30414 var n = !("undefined" == typeof window || !window.document || !window.document.createElement); 30415 t.default = n ? window : {}; 30416 }, 30417 7760: function(e, t, n) { 30418 Object.defineProperty(t, "__esModule", { 30419 value: !0 30420 }), t.HandleNativePlaceholder = function(e, t) { 30421 var n = e ? e.inputmask : this; 30422 if (i.ie) { 30423 if (e.inputmask._valueGet() !== t && (e.placeholder !== t || "" === e.placeholder)) { 30424 var a = o.getBuffer.call(n).slice(), r = e.inputmask._valueGet(); 30425 if (r !== t) { 30426 var l = o.getLastValidPosition.call(n); 30427 -1 === l && r === o.getBufferTemplate.call(n).join("") ? a = [] : -1 !== l && u.call(n, a), 30428 p(e, a); 30429 } 30430 } 30431 } else e.placeholder !== t && (e.placeholder = t, "" === e.placeholder && e.removeAttribute("placeholder")); 30432 }, t.applyInputValue = c, t.checkVal = f, t.clearOptionalTail = u, t.unmaskedvalue = function(e) { 30433 var t = e ? e.inputmask : this, n = t.opts, i = t.maskset; 30434 if (e) { 30435 if (void 0 === e.inputmask) return e.value; 30436 e.inputmask && e.inputmask.refreshValue && c(e, e.inputmask._valueGet(!0)); 30437 } 30438 for (var a = [], r = i.validPositions, l = 0, s = r.length; l < s; l++) r[l] && r[l].match && (1 != r[l].match.static || Array.isArray(i.metadata) && !0 !== r[l].generatedInput) && a.push(r[l].input); 30439 var u = 0 === a.length ? "" : (t.isRTL ? a.reverse() : a).join(""); 30440 if ("function" == typeof n.onUnMask) { 30441 var f = (t.isRTL ? o.getBuffer.call(t).slice().reverse() : o.getBuffer.call(t)).join(""); 30442 u = n.onUnMask.call(t, f, u, n); 30443 } 30444 return u; 30445 }, t.writeBuffer = p; 30446 var i = n(9845), a = n(6030), r = n(2839), o = n(8711), l = n(7215), s = n(4713); 30447 function c(e, t, n) { 30448 var i = e ? e.inputmask : this, a = i.opts; 30449 e.inputmask.refreshValue = !1, "function" == typeof a.onBeforeMask && (t = a.onBeforeMask.call(i, t, a) || t), 30450 f(e, !0, !1, t = (t || "").toString().split(""), n), i.undoValue = i._valueGet(!0), 30451 (a.clearMaskOnLostFocus || a.clearIncomplete) && e.inputmask._valueGet() === o.getBufferTemplate.call(i).join("") && -1 === o.getLastValidPosition.call(i) && e.inputmask._valueSet(""); 30452 } 30453 function u(e) { 30454 e.length = 0; 30455 for (var t, n = s.getMaskTemplate.call(this, !0, 0, !0, void 0, !0); void 0 !== (t = n.shift()); ) e.push(t); 30456 return e; 30457 } 30458 function f(e, t, n, i, r) { 30459 var c, u = e ? e.inputmask : this, f = u.maskset, d = u.opts, h = u.dependencyLib, v = i.slice(), m = "", g = -1, y = d.skipOptionalPartCharacter; 30460 d.skipOptionalPartCharacter = "", o.resetMaskSet.call(u, !1), u.clicked = 0, g = d.radixPoint ? o.determineNewCaretPosition.call(u, { 30461 begin: 0, 30462 end: 0 30463 }, !1, !1 === d.__financeInput ? "radixFocus" : void 0).begin : 0, f.p = g, u.caretPos = { 30464 begin: g 30465 }; 30466 var k = [], b = u.caretPos; 30467 if (v.forEach((function(e, t) { 30468 if (void 0 !== e) { 30469 var i = new h.Event("_checkval"); 30470 i.key = e, m += e; 30471 var r = o.getLastValidPosition.call(u, void 0, !0); 30472 !function(e, t) { 30473 for (var n = s.getMaskTemplate.call(u, !0, 0).slice(e, o.seekNext.call(u, e, !1, !1)).join("").replace(/'/g, ""), i = n.indexOf(t); i > 0 && " " === n[i - 1]; ) i--; 30474 var a = 0 === i && !o.isMask.call(u, e) && (s.getTest.call(u, e).match.nativeDef === t.charAt(0) || !0 === s.getTest.call(u, e).match.static && s.getTest.call(u, e).match.nativeDef === "'" + t.charAt(0) || " " === s.getTest.call(u, e).match.nativeDef && (s.getTest.call(u, e + 1).match.nativeDef === t.charAt(0) || !0 === s.getTest.call(u, e + 1).match.static && s.getTest.call(u, e + 1).match.nativeDef === "'" + t.charAt(0))); 30475 if (!a && i > 0 && !o.isMask.call(u, e, !1, !0)) { 30476 var r = o.seekNext.call(u, e); 30477 u.caretPos.begin < r && (u.caretPos = { 30478 begin: r 30479 }); 30480 } 30481 return a; 30482 }(g, m) ? (c = a.EventHandlers.keypressEvent.call(u, i, !0, !1, n, u.caretPos.begin)) && (g = u.caretPos.begin + 1, 30483 m = "") : c = a.EventHandlers.keypressEvent.call(u, i, !0, !1, n, r + 1), c ? (void 0 !== c.pos && f.validPositions[c.pos] && !0 === f.validPositions[c.pos].match.static && void 0 === f.validPositions[c.pos].alternation && (k.push(c.pos), 30484 u.isRTL || (c.forwardPosition = c.pos + 1)), p.call(u, void 0, o.getBuffer.call(u), c.forwardPosition, i, !1), 30485 u.caretPos = { 30486 begin: c.forwardPosition, 30487 end: c.forwardPosition 30488 }, b = u.caretPos) : void 0 === f.validPositions[t] && v[t] === s.getPlaceholder.call(u, t) && o.isMask.call(u, t, !0) ? u.caretPos.begin++ : u.caretPos = b; 30489 } 30490 })), k.length > 0) { 30491 var x, w, P = o.seekNext.call(u, -1, void 0, !1); 30492 if (!l.isComplete.call(u, o.getBuffer.call(u)) && k.length <= P || l.isComplete.call(u, o.getBuffer.call(u)) && k.length > 0 && k.length !== P && 0 === k[0]) for (var S = P; void 0 !== (x = k.shift()); ) if (x < S) { 30493 var O = new h.Event("_checkval"); 30494 if ((w = f.validPositions[x]).generatedInput = !0, O.key = w.input, (c = a.EventHandlers.keypressEvent.call(u, O, !0, !1, n, S)) && void 0 !== c.pos && c.pos !== x && f.validPositions[c.pos] && !0 === f.validPositions[c.pos].match.static) k.push(c.pos); else if (!c) break; 30495 S++; 30496 } 30497 } 30498 t && p.call(u, e, o.getBuffer.call(u), c ? c.forwardPosition : u.caretPos.begin, r || new h.Event("checkval"), r && ("input" === r.type && u.undoValue !== o.getBuffer.call(u).join("") || "paste" === r.type)), 30499 d.skipOptionalPartCharacter = y; 30500 } 30501 function p(e, t, n, i, a) { 30502 var s = e ? e.inputmask : this, c = s.opts, u = s.dependencyLib; 30503 if (i && "function" == typeof c.onBeforeWrite) { 30504 var f = c.onBeforeWrite.call(s, i, t, n, c); 30505 if (f) { 30506 if (f.refreshFromBuffer) { 30507 var p = f.refreshFromBuffer; 30508 l.refreshFromBuffer.call(s, !0 === p ? p : p.start, p.end, f.buffer || t), t = o.getBuffer.call(s, !0); 30509 } 30510 void 0 !== n && (n = void 0 !== f.caret ? f.caret : n); 30511 } 30512 } 30513 if (void 0 !== e && (e.inputmask._valueSet(t.join("")), void 0 === n || void 0 !== i && "blur" === i.type || o.caret.call(s, e, n, void 0, void 0, void 0 !== i && "keydown" === i.type && (i.key === r.keys.Delete || i.key === r.keys.Backspace)), 30514 void 0 === e.inputmask.writeBufferHook || e.inputmask.writeBufferHook(n), !0 === a)) { 30515 var d = u(e), h = e.inputmask._valueGet(); 30516 e.inputmask.skipInputEvent = !0, d.trigger("input"), setTimeout((function() { 30517 h === o.getBufferTemplate.call(s).join("") ? d.trigger("cleared") : !0 === l.isComplete.call(s, t) && d.trigger("complete"); 30518 }), 0); 30519 } 30520 } 30521 }, 30522 2394: function(e, t, n) { 30523 Object.defineProperty(t, "__esModule", { 30524 value: !0 30525 }), t.default = void 0; 30526 var i = v(n(3976)), a = v(n(7392)), r = v(n(4963)), o = n(9716), l = v(n(9380)), s = n(7760), c = n(157), u = n(2391), f = n(8711), p = n(7215), d = n(4713); 30527 function h(e) { 30528 return h = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { 30529 return typeof e; 30530 } : function(e) { 30531 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 30532 }, h(e); 30533 } 30534 function v(e) { 30535 return e && e.__esModule ? e : { 30536 default: e 30537 }; 30538 } 30539 var m = l.default.document, g = "_inputmask_opts"; 30540 function y(e, t, n) { 30541 if (!(this instanceof y)) return new y(e, t, n); 30542 this.dependencyLib = r.default, this.el = void 0, this.events = {}, this.maskset = void 0, 30543 !0 !== n && ("[object Object]" === Object.prototype.toString.call(e) ? t = e : (t = t || {}, 30544 e && (t.alias = e)), this.opts = r.default.extend(!0, {}, this.defaults, t), this.noMasksCache = t && void 0 !== t.definitions, 30545 this.userOptions = t || {}, k(this.opts.alias, t, this.opts)), this.refreshValue = !1, 30546 this.undoValue = void 0, this.$el = void 0, this.skipInputEvent = !1, this.validationEvent = !1, 30547 this.ignorable = !1, this.maxLength, this.mouseEnter = !1, this.clicked = 0, this.originalPlaceholder = void 0, 30548 this.isComposing = !1, this.hasAlternator = !1; 30549 } 30550 function k(e, t, n) { 30551 var i = y.prototype.aliases[e]; 30552 return i ? (i.alias && k(i.alias, void 0, n), r.default.extend(!0, n, i), r.default.extend(!0, n, t), 30553 !0) : (null === n.mask && (n.mask = e), !1); 30554 } 30555 y.prototype = { 30556 dataAttribute: "data-inputmask", 30557 defaults: i.default, 30558 definitions: a.default, 30559 aliases: {}, 30560 masksCache: {}, 30561 i18n: {}, 30562 get isRTL() { 30563 return this.opts.isRTL || this.opts.numericInput; 30564 }, 30565 mask: function(e) { 30566 var t = this; 30567 return "string" == typeof e && (e = m.getElementById(e) || m.querySelectorAll(e)), 30568 (e = e.nodeName ? [ e ] : Array.isArray(e) ? e : [].slice.call(e)).forEac
vendor: 4,243 bytes, lines 30568-30622
30568h((function(e, n) { 30569 var i = r.default.extend(!0, {}, t.opts); 30570 if (function(e, t, n, i) { 30571 function a(t, a) { 30572 var r = "" === i ? t : i + "-" + t; 30573 null !== (a = void 0 !== a ? a : e.getAttribute(r)) && ("string" == typeof a && (0 === t.indexOf("on") ? a = l.default[a] : "false" === a ? a = !1 : "true" === a && (a = !0)), 30574 n[t] = a); 30575 } 30576 if (!0 === t.importDataAttributes) { 30577 var o, s, c, u, f = e.getAttribute(i); 30578 if (f && "" !== f && (f = f.replace(/'/g, '"'), s = JSON.parse("{" + f + "}")), 30579 s) for (u in c = void 0, s) if ("alias" === u.toLowerCase()) { 30580 c = s[u]; 30581 break; 30582 } 30583 for (o in a("alias", c), n.alias && k(n.alias, n, t), t) { 30584 if (s) for (u in c = void 0, s) if (u.toLowerCase() === o.toLowerCase()) { 30585 c = s[u]; 30586 break; 30587 } 30588 a(o, c); 30589 } 30590 } 30591 r.default.extend(!0, t, n), ("rtl" === e.dir || t.rightAlign) && (e.style.textAlign = "right"); 30592 ("rtl" === e.dir || t.numericInput) && (e.dir = "ltr", e.removeAttribute("dir"), 30593 t.isRTL = !0); 30594 return Object.keys(n).length; 30595 }(e, i, r.default.extend(!0, {}, t.userOptions), t.dataAttribute)) { 30596 var a = (0, u.generateMaskSet)(i, t.noMasksCache); 30597 void 0 !== a && (void 0 !== e.inputmask && (e.inputmask.opts.autoUnmask = !0, e.inputmask.remove()), 30598 e.inputmask = new y(void 0, void 0, !0), e.inputmask.opts = i, e.inputmask.noMasksCache = t.noMasksCache, 30599 e.inputmask.userOptions = r.default.extend(!0, {}, t.userOptions), e.inputmask.el = e, 30600 e.inputmask.$el = (0, r.default)(e), e.inputmask.maskset = a, r.default.data(e, g, t.userOptions), 30601 c.mask.call(e.inputmask)); 30602 } 30603 })), e && e[0] && e[0].inputmask || this; 30604 }, 30605 option: function(e, t) { 30606 return "string" == typeof e ? this.opts[e] : "object" === h(e) ? (r.default.extend(this.userOptions, e), 30607 this.el && !0 !== t && this.mask(this.el), this) : void 0; 30608 }, 30609 unmaskedvalue: function(e) { 30610 if (this.maskset = this.maskset || (0, u.generateMaskSet)(this.opts, this.noMasksCache), 30611 void 0 === this.el || void 0 !== e) { 30612 var t = ("function" == typeof this.opts.onBeforeMask && this.opts.onBeforeMask.call(this, e, this.opts) || e).split(""); 30613 s.checkVal.call(this, void 0, !1, !1, t), "function" == typeof this.opts.onBeforeWrite && this.opts.onBeforeWrite.call(this, void 0, f.getBuffer.call(this), 0, this.opts); 30614 } 30615 return s.unmaskedvalue.call(this, this.el); 30616 }, 30617 remove: function() { 30618 if (this.el) { 30619 r.default.data(this.el, g, null); 30620 var e = this.opts.autoUnmask ? (0, s.unmaskedvalue)(this.el) : this._valueGet(this.opts.autoUnmask); 30621 e !== f.getBufferTemplate.call(this).join("") ? this._valueSet(e, this.opts.autoUnmask) : this._valueSet(""), 30622 o.EventRuler.off(this.el), Object.getOwnPropertyDescriptor && Ob
30622ject.getPrototypeOf ? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(this.el), "value") && this.__valueGet && Object.defineProperty(this.el, "value", { 30623 get: this.__valueGet, 30624 set: this.__valueSet, 30625 configurable: !0 30626 }) : m.__lookupGetter__ && this.el.__lookupGetter__("value") && this.__valueGet && (this.el.__defineGetter__("value", this.__valueGet), 30627 this.el.__defineSetter__("value", this.__valueSet)), this.el.inputmask = void 0; 30628 } 30629 return this.el; 30630 }, 30631 getemptymask: function() { 30632 return this.maskset = this.maskset || (0, u.generateMaskSet)(this.opts, this.noMasksCache), 30633 (this.isRTL ? f.getBufferTemplate.call(this).reverse() : f.getBufferTemplate.call(this)).join(""); 30634 }, 30635 hasMaskedValue: function() { 30636 return !this.opts.autoUnmask; 30637 }, 30638 isComplete: function() { 30639 return this.maskset = this.maskset || (0, u.generateMaskSet)(this.opts, this.noMasksCache), 30640 p.isComplete.call(this, f.getBuffer.call(this)); 30641 }, 30642 getmetadata: function() { 30643 if (this.maskset = this.maskset || (0, u.generateMaskSet)(this.opts, this.noMasksCache), 30644 Array.isArray(this.maskset.metadata)) { 30645 var e = d.getMaskTemplate.call(this, !0, 0, !1).join(""); 30646 return this.maskset.metadata.forEach((function(t) { 30647 return t.mask !== e || (e = t, !1); 30648 })), e; 30649 } 30650 return this.maskset.metadata; 30651 }, 30652 isValid: function(e) { 30653 if (this.maskset = this.maskset || (0, u.generateMaskSet)(this.opts, this.noMasksCache), 30654 e) { 30655 var t = ("function" == typeof this.opts.onBeforeMask && this.opts.onBeforeMask.call(this, e, this.opts) || e).split(""); 30656 s.checkVal.call(this, void 0, !0, !1, t); 30657 } else e = this.isRTL ? f.getBuffer.call(this).slice().reverse().join("") : f.getBuffer.call(this).join(""); 30658 for (var n = f.getBuffer.call(this), i = f.determineLastRequiredPosition.call(this), a = n.length - 1; a > i && !f.isMask.call(this, a); a--) ; 30659 return n.splice(i, a + 1 - i), p.isComplete.call(this, n) && e === (this.isRTL ? f.getBuffer.call(this).slice().reverse().join("") : f.getBuffer.call(this).join("")); 30660 }, 30661 format: function(e, t) { 30662 this.maskset = this.maskset || (0, u.generateMaskSet)(this.opts, this.noMasksCache); 30663 var n = ("function" == typeof this.opts.onBeforeMask && this.opts.onBeforeMask.call(this, e, this.opts) || e).split(""); 30664 s.checkVal.call(this, void 0, !0, !1, n); 30665 var i = this.isRTL ? f.getBuffer.call(this).slice().reverse().join("") : f.getBuffer.call(this).join(""); 30666 return t ? { 30667 value: i, 30668 metadata: this.getmetadata() 30669 } : i; 30670 }, 30671 setValue: function(e) { 30672 this.el && (0, r.default)(this.el).trigger("setvalue", [ e ]); 30673 }, 30674 analyseMask: u.analyseMask 30675 }, y.extendDefaults = function(e) { 30676 r.default.extend(!0, y.prototype.defaults, e); 30677 }, y.extendDefinitions = function(e) { 30678 r.default.extend(!0, y.prototype.definitions, e); 30679 }, y.extendAliases = function(e) { 30680 r.default.extend(!0, y.prototype.aliases, e); 30681 }, y.format = function(e, t, n) { 30682 return y(t).format(e, n); 30683 }, y.unmask = function(e, t) { 30684 return y(t).unmaskedvalue(e); 30685 }, y.isValid = function(e, t) { 30686 return y(t).isValid(e); 30687 }, y.remove = function(e) { 30688 "string" == typeof e && (e = m.getElementById(e) || m.querySelectorAll(e)), (e = e.nodeName ? [ e ] : e).forEach((function(e) { 30689 e.inputmask && e.inputmask.remove(); 30690 })); 30691 }, y.setValue = function(e, t) { 30692 "string" == typeof e && (e = m.getElementById(e) || m.querySelectorAll(e)), (e = e.nodeName ? [ e ] : e).forEach((function(e) {
30693 e.inputmask ? e.inputmask.setValue(t) : (0, r.default)(e).trigger("setvalue", [ t ]); 30694 })); 30695 }, y.dependencyLib = r.default, l.default.Inputmask = y; 30696 t.default = y; 30697 }, 30698 5296: function(e, t, n) { 30699 function i(e) { 30700 return i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { 30701 return typeof e; 30702 } : function(e) { 30703 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 30704 }, i(e); 30705 } 30706 var a = d(n(9380)), r = d(n(2394)); 30707 function o(e, t) { 30708 for (var n = 0; n < t.length; n++) { 30709 var a = t[n]; 30710 a.enumerable = a.enumerable || !1, a.configurable = !0, "value" in a && (a.writable = !0), 30711 Object.defineProperty(e, (r = a.key, o = void 0, o = function(e, t) { 30712 if ("object" !== i(e) || null === e) return e; 30713 var n = e[Symbol.toPrimitive]; 30714 if (void 0 !== n) { 30715 var a = n.call(e, t || "default"); 30716 if ("object" !== i(a)) return a; 30717 throw new TypeError("@@toPrimitive must return a primitive value."); 30718 } 30719 return ("string" === t ? String : Number)(e); 30720 }(r, "string"), "symbol" === i(o) ? o : String(o)), a); 30721 } 30722 var r, o; 30723 } 30724 function l(e) { 30725 var t = u(); 30726 return function() { 30727 var n, a = p(e); 30728 if (t) { 30729 var r = p(this).constructor; 30730 n = Reflect.construct(a, arguments, r); 30731 } else n = a.apply(this, arguments); 30732 return function(e, t) { 30733 if (t && ("object" === i(t) || "function" == typeof t)) return t; 30734 if (void 0 !== t) throw new TypeError("Derived constructors may only return object or undefined"); 30735 return function(e) { 30736 if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); 30737 return e; 30738 }(e); 30739 }(this, n); 30740 }; 30741 } 30742 function s(e) { 30743 var t = "function" == typeof Map ? new Map : void 0; 30744 return s = function(e) { 30745 if (null === e || !function(e) { 30746 try { 30747 return -1 !== Function.toString.call(e).indexOf("[native code]"); 30748 } catch (t) { 30749 return "function" == typeof e; 30750 } 30751 }(e)) return e; 30752 if ("function" != typeof e) throw new TypeError("Super expression must either be null or a function"); 30753 if (void 0 !== t) { 30754 if (t.has(e)) return t.get(e); 30755 t.set(e, n); 30756 } 30757 function n() { 30758 return c(e, arguments, p(this).constructor); 30759 } 30760 return n.prototype = Object.create(e.prototype, { 30761 constructor: { 30762 value: n, 30763 enumerable: !1, 30764 writable: !0, 30765 configurable: !0 30766 } 30767 }), f(n, e); 30768 }, s(e); 30769 } 30770 function c(e, t, n) { 30771 return c = u() ? Reflect.construct.bind() : function(e, t, n) { 30772 var i = [ null ]; 30773 i.push.apply(i, t); 30774 var a = new (Function.bind.apply(e, i)); 30775 return n && f(a, n.prototype), a; 30776 }, c.apply(null, arguments); 30777 } 30778 function u() { 30779 if ("undefined" == typeof Reflect || !Reflect.construct) return !1; 30780 if (Reflect.construct.sham) return !1; 30781 if ("function" == typeof Proxy) return !0; 30782 try { 30783 return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() {}))), 30784 !0; 30785 } catch (e) { 30786 return !1; 30787 } 30788 } 30789 function f(e, t) { 30790 return f = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e, t) { 30791 return e.__proto__ = t, e; 30792 }, f(e, t); 30793 } 30794 function p(e) { 30795 return p = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(e) { 30796 return e.__proto__ || Object.getPrototypeOf(e); 30797 }, p(e); 30798 } 30799 function d(e) {
30800 return e && e.__esModule ? e : { 30801 default: e 30802 }; 30803 } 30804 var h = a.default.document; 30805 if (h && h.head && h.head.attachShadow && a.default.customElements && void 0 === a.default.customElements.get("input-mask")) { 30806 var v = function(e) { 30807 !function(e, t) { 30808 if ("function" != typeof t && null !== t) throw new TypeError("Super expression must either be null or a function"); 30809 e.prototype = Object.create(t && t.prototype, { 30810 constructor: { 30811 value: e, 30812 writable: !0, 30813 configurable: !0 30814 } 30815 }), Object.defineProperty(e, "prototype", { 30816 writable: !1 30817 }), t && f(e, t); 30818 }(s, e); 30819 var t, n, i, a = l(s); 30820 function s() { 30821 var e; 30822 !function(e, t) { 30823 if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function"); 30824 }(this, s); 30825 var t = (e = a.call(this)).getAttributeNames(), n = e.attachShadow({ 30826 mode: "closed" 30827 }); 30828 for (var i in e.input = h.createElement("input"), e.input.type = "text", n.appendChild(e.input), 30829 t) Object.prototype.hasOwnProperty.call(t, i) && e.input.setAttribute(t[i], e.getAttribute(t[i])); 30830 var o = new r.default; 30831 return o.dataAttribute = "", o.mask(e.input), e.input.inputmask.shadowRoot = n, 30832 e; 30833 } 30834 return t = s, (n = [ { 30835 key: "attributeChangedCallback", 30836 value: function(e, t, n) { 30837 this.input.setAttribute(e, n); 30838 } 30839 }, { 30840 key: "value", 30841 get: function() { 30842 return this.input.value; 30843 }, 30844 set: function(e) { 30845 this.input.value = e; 30846 } 30847 } ]) && o(t.prototype, n), i && o(t, i), Object.defineProperty(t, "prototype", { 30848 writable: !1 30849 }), s; 30850 }(s(HTMLElement)); 30851 a.default.customElements.define("input-mask", v); 30852 } 30853 }, 30854 2839: function(e, t) { 30855 function n(e) { 30856 return n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { 30857 return typeof e; 30858 } : function(e) { 30859 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 30860 }, n(e); 30861 } 30862 function i(e, t) { 30863 return function(e) { 30864 if (Array.isArray(e)) return e; 30865 }(e) || function(e, t) { 30866 var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; 30867 if (null != n) { 30868 var i, a, r, o, l = [], s = !0, c = !1; 30869 try { 30870 if (r = (n = n.call(e)).next, 0 === t) { 30871 if (Object(n) !== n) return; 30872 s = !1; 30873 } else for (;!(s = (i = r.call(n)).done) && (l.push(i.value), l.length !== t); s = !0) ; 30874 } catch (e) { 30875 c = !0, a = e; 30876 } finally { 30877 try { 30878 if (!s && null != n.return && (o = n.return(), Object(o) !== o)) return; 30879 } finally { 30880 if (c) throw a; 30881 } 30882 } 30883 return l; 30884 } 30885 }(e, t) || function(e, t) { 30886 if (!e) return; 30887 if ("string" == typeof e) return a(e, t); 30888 var n = Object.prototype.toString.call(e).slice(8, -1); 30889 "Object" === n && e.constructor && (n = e.constructor.name); 30890 if ("Map" === n || "Set" === n) return Array.from(e); 30891 if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return a(e, t); 30892 }(e, t) || function() { 30893 throw new TypeError("Invalid attempt to de
30893structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 30894 }(); 30895 } 30896 function a(e, t) { 30897 (null == t || t > e.length) && (t = e.length); 30898 for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; 30899 return i; 30900 } 30901 function r(e, t) { 30902 var n = Object.keys(e); 30903 if (Object.getOwnPropertySymbols) { 30904 var i = Object.getOwnPropertySymbols(e); 30905 t && (i = i.filter((function(t) { 30906 return Object.getOwnPropertyDescriptor(e, t).enumerable; 30907 }))), n.push.apply(n, i); 30908 } 30909 return n; 30910 } 30911 function o(e, t, i) { 30912 return (t = function(e) { 30913 var t = function(e, t) { 30914 if ("object" !== n(e) || null === e) return e; 30915 var i = e[Symbol.toPrimitive]; 30916 if (void 0 !== i) { 30917 var a = i.call(e, t || "default"); 30918 if ("object" !== n(a)) return a; 30919 throw new TypeError("@@toPrimitive must return a primitive value."); 30920 } 30921 return ("string" === t ? String : Number)(e); 30922 }(e, "string"); 30923 return "symbol" === n(t) ? t : String(t); 30924 }(t)) in e ? Object.defineProperty(e, t, { 30925 value: i, 30926 enumerable: !0, 30927 configurable: !0, 30928 writable: !0 30929 }) : e[t] = i, e; 30930 } 30931 Object.defineProperty(t, "__esModule", { 30932 value: !0 30933 }), t.keys = t.keyCode = void 0, t.toKey = function(e, t) { 30934 return s[e] || (t ? String.fromCharCode(e) : String.fromCharCode(e).toLowerCase()); 30935 }, t.toKeyCode = function(e) { 30936 return l[e]; 30937 };
vendor: 12,473 bytes, lines 30938-31174
30938 var l = t.keyCode = function(e) { 30939 for (var t = 1; t < arguments.length; t++) { 30940 var n = null != arguments[t] ? arguments[t] : {}; 30941 t % 2 ? r(Object(n), !0).forEach((function(t) { 30942 o(e, t, n[t]); 30943 })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : r(Object(n)).forEach((function(t) { 30944 Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)); 30945 })); 30946 } 30947 return e; 30948 }({ 30949 c: 67, 30950 x: 88, 30951 z: 90, 30952 BACKSPACE_SAFARI: 127, 30953 Enter: 13, 30954 Meta_LEFT: 91, 30955 Meta_RIGHT: 92, 30956 Space: 32 30957 }, { 30958 Alt: 18, 30959 AltGraph: 18, 30960 ArrowDown: 40, 30961 ArrowLeft: 37, 30962 ArrowRight: 39, 30963 ArrowUp: 38, 30964 Backspace: 8, 30965 CapsLock: 20, 30966 Control: 17, 30967 ContextMenu: 93, 30968 Dead: 221, 30969 Delete: 46, 30970 End: 35, 30971 Escape: 27, 30972 F1: 112, 30973 F2: 113, 30974 F3: 114, 30975 F4: 115, 30976 F5: 116, 30977 F6: 117, 30978 F7: 118, 30979 F8: 119, 30980 F9: 120, 30981 F10: 121, 30982 F11: 122, 30983 F12: 123, 30984 Home: 36, 30985 Insert: 45, 30986 NumLock: 144, 30987 PageDown: 34, 30988 PageUp: 33, 30989 Pause: 19, 30990 PrintScreen: 44, 30991 Process: 229, 30992 Shift: 16, 30993 ScrollLock: 145, 30994 Tab: 9, 30995 Unidentified: 229 30996 }), s = Object.entries(l).reduce((function(e, t) { 30997 var n = i(t, 2), a = n[0], r = n[1]; 30998 return e[r] = void 0 === e[r] ? a : e[r], e; 30999 }), {}); 31000 t.keys = Object.entries(l).reduce((function(e, t) { 31001 var n = i(t, 2), a = n[0]; 31002 n[1]; 31003 return e[a] = "Space" === a ? " " : a, e; 31004 }), {}); 31005 }, 31006 2391: function(e, t, n) { 31007 Object.defineProperty(t, "__esModule", { 31008 value: !0 31009 }), t.analyseMask = function(e, t, n) { 31010 var i, a, s, c, u, f, p = /(?:[?*+]|\{[0-9+*]+(?:,[0-9+*]*)?(?:\|[0-9+*]*)?\})|[^.?*+^${[]()|\\]+|./g, d = /\[\^?]?(?:[^\\\]]+|\\[\S\s]?)*]?|\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9][0-9]*|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|c[A-Za-z]|[\S\s]?)|\((?:\?[:=!]?)?|(?:[?*+]|\{[0-9]+(?:,[0-9]*)?\})\??|[^.?*+^${[()|\\]+|./g, h = !1, v = new o.default, m = [], g = [], y = !1; 31011 function k(e, i, a) { 31012 a = void 0 !== a ? a : e.matches.length; 31013 var o = e.matches[a - 1]; 31014 if (t) { 31015 if (0 === i.indexOf("[") || h && /\\d|\\s|\\w|\\p/i.test(i) || "." === i) { 31016 var s = n.casing ? "i" : ""; 31017 /\\p\{.*}/i.test(i) && (s += "u"), e.matches.splice(a++, 0, { 31018 fn: new RegExp(i, s), 31019 static: !1, 31020 optionality: !1, 31021 newBlockMarker: void 0 === o ? "master" : o.def !== i, 31022 casing: null, 31023 def: i, 31024 placeholder: "object" === l(n.placeholder) ? n.placeholder[v.matches.length] : void 0, 31025 nativeDef: i 31026 }); 31027 } else h && (i = i[i.length - 1]), i.split("").forEach((function(t, i) { 31028 o = e.matches[a - 1], e.matches.splice(a++, 0, { 31029 fn: /[a-z]/i.test(n.staticDefinitionSymbol || t) ? new RegExp("[" + (n.staticDefinitionSymbol || t) + "]", n.casing ? "i" : "") : null, 31030 static: !0, 31031 optionality: !1, 31032 newBlockMarker: void 0 === o ? "master" : o.def !== t && !0 !== o.static, 31033 casing: null, 31034 def: n.staticDefinitionSymbol || t, 31035 placeholder: void 0 !== n.staticDefinitionSymbol ? t : "object" === l(n.placeholder) ? n.placeholder[v.matches.length] : void 0, 31036 nativeDef: (h ? "'" : "") + t 31037 }); 31038 })); 31039 h = !1; 31040 } else { 31041 var c = n.definitions && n.definitions[i] || n.usePrototypeDefinitions && r.default.prototype.definitions[i]; 31042 c && !h ? e.matches.splice(a++, 0, { 31043 fn: c.validator ? "string" == typeof c.validator ? new RegExp(c.validator, n.casing ? "i" : "") : new function() { 31044 this.test = c.validator; 31045 } : /./, 31046 static: c.static || !1, 31047 optionality: c.optional || !1, 31048 defOptionality: c.optional || !1, 31049 newBlockMarker: void 0 === o || c.optional ? "master" : o.def !== (c.definitionSymbol || i), 31050 casing: c.casing, 31051 def: c.definitionSymbol || i, 31052 placeholder: c.placeholder, 31053 nativeDef: i, 31054 generated: c.generated 31055 }) : (e.matches.splice(a++, 0, { 31056 fn: /[a-z]/i.test(n.staticDefinitionSymbol || i) ? new RegExp("[" + (n.staticDefinitionSymbol || i) + "]", n.casing ? "i" : "") : null, 31057 static: !0, 31058 optionality: !1, 31059 newBlockMarker: void 0 === o ? "master" : o.def !== i && !0 !== o.static, 31060 casing: null, 31061 def: n.staticDefinitionSymbol || i, 31062 placeholder: void 0 !== n.staticDefinitionSymbol ? i : void 0, 31063 nativeDef: (h ? "'" : "") + i 31064 }), h = !1); 31065 } 31066 } 31067 function b() { 31068 if (m.length > 0) { 31069 if (k(c = m[m.length - 1], a), c.isAlternator) { 31070 u = m.pop(); 31071 for (var e = 0; e < u.matches.length; e++) u.matches[e].isGroup && (u.matches[e].isGroup = !1); 31072 m.length > 0 ? (c = m[m.length - 1]).matches.push(u) : v.matches.push(u); 31073 } 31074 } else k(v, a); 31075 } 31076 function x(e) { 31077 var t = new o.default(!0); 31078 return t.openGroup = !1, t.matches = e, t; 31079 } 31080 function w() { 31081 if ((s = m.pop()).openGroup = !1, void 0 !== s) if (m.length > 0) { 31082 if ((c = m[m.length - 1]).matches.push(s), c.isAlternator) { 31083 u = m.pop(); 31084 for (var e = 0; e < u.matches.length; e++) u.matches[e].isGroup = !1, u.matches[e].alternatorGroup = !1; 31085 m.length > 0 ? (c = m[m.length - 1]).matches.push(u) : v.matches.push(u); 31086 } 31087 } else v.matches.push(s); else b(); 31088 } 31089 function P(e) { 31090 var t = e.pop(); 31091 return t.isQuantifier && (t = x([ e.pop(), t ])), t; 31092 } 31093 t && (n.optionalmarker[0] = void 0, n.optionalmarker[1] = void 0); 31094 for (;i = t ? d.exec(e) : p.exec(e); ) { 31095 if (a = i[0], t) { 31096 switch (a.charAt(0)) { 31097 case "?": 31098 a = "{0,1}"; 31099 break; 31100 31101 case "+": 31102 case "*": 31103 a = "{" + a + "}"; 31104 break; 31105 31106 case "|": 31107 if (0 === m.length) { 31108 var S = x(v.matches); 31109 S.openGroup = !0, m.push(S), v.matches = [], y = !0; 31110 } 31111 } 31112 switch (a) { 31113 case "\\d": 31114 a = "[0-9]"; 31115 break; 31116 31117 case "\\p": 31118 a += d.exec(e)[0], a += d.exec(e)[0]; 31119 } 31120 } 31121 if (h) b(); else switch (a.charAt(0)) { 31122 case "$": 31123 case "^": 31124 t || b(); 31125 break; 31126 31127 case n.escapeChar: 31128 h = !0, t && b(); 31129 break; 31130 31131 case n.optionalmarker[1]: 31132 case n.groupmarker[1]: 31133 w(); 31134 break; 31135 31136 case n.optionalmarker[0]: 31137 m.push(new o.default(!1, !0)); 31138 break; 31139 31140 case n.groupmarker[0]: 31141 m.push(new o.default(!0)); 31142 break; 31143 31144 case n.quantifiermarker[0]: 31145 var O = new o.default(!1, !1, !0), _ = (a = a.replace(/[{}?]/g, "")).split("|"), M = _[0].split(","), E = isNaN(M[0]) ? M[0] : parseInt(M[0]), j = 1 === M.length ? E : isNaN(M[1]) ? M[1] : parseInt(M[1]), T = isNaN(_[1]) ? _[1] : parseInt(_[1]); 31146 "*" !== E && "+" !== E || (E = "*" === j ? 0 : 1), O.quantifier = { 31147 min: E, 31148 max: j, 31149 jit: T 31150 }; 31151 var A = m.length > 0 ? m[m.length - 1].matches : v.matches; 31152 (i = A.pop()).isGroup || (i = x([ i ])), A.push(i), A.push(O); 31153 break; 31154 31155 case n.alternatormarker: 31156 if (m.length > 0) { 31157 var D = (c = m[m.length - 1]).matches[c.matches.length - 1]; 31158 f = c.openGroup && (void 0 === D.matches || !1 === D.isGroup && !1 === D.isAlternator) ? m.pop() : P(c.matches); 31159 } else f = P(v.matches); 31160 if (f.isAlternator) m.push(f); else if (f.alternatorGroup ? (u = m.pop(), f.alternatorGroup = !1) : u = new o.default(!1, !1, !1, !0), 31161 u.matches.push(f), m.push(u), f.openGroup) { 31162 f.openGroup = !1; 31163 var L = new o.default(!0); 31164 L.alternatorGroup = !0, m.push(L); 31165 } 31166 break; 31167 31168 default: 31169 b(); 31170 } 31171 } 31172 y && w(); 31173 for (;m.length > 0; ) s = m.pop(), v.matches.push(s); 31174 v.matches.length > 0 && (!function e(i) {
31175 i && i.matches && i.matches.forEach((function(a, r) { 31176 var o = i.matches[r + 1]; 31177 (void 0 === o || void 0 === o.matches || !1 === o.isQuantifier) && a && a.isGroup && (a.isGroup = !1, 31178 t || (k(a, n.groupmarker[0], 0), !0 !== a.openGroup && k(a, n.groupmarker[1]))), 31179 e(a); 31180 })); 31181 }(v), g.push(v)); 31182 (n.numericInput || n.isRTL) && function e(t) { 31183 for (var i in t.matches = t.matches.reverse(), t.matches) if (Object.prototype.hasOwnProperty.call(t.matches, i)) { 31184 var a = parseInt(i); 31185 if (t.matches[i].isQuantifier && t.matches[a + 1] && t.matches[a + 1].isGroup) { 31186 var r = t.matches[i]; 31187 t.matches.splice(i, 1), t.matches.splice(a + 1, 0, r); 31188 } 31189 void 0 !== t.matches[i].matches ? t.matches[i] = e(t.matches[i]) : t.matches[i] = ((o = t.matches[i]) === n.optionalmarker[0] ? o = n.optionalmarker[1] : o === n.optionalmarker[1] ? o = n.optionalmarker[0] : o === n.groupmarker[0] ? o = n.groupmarker[1] : o === n.groupmarker[1] && (o = n.groupmarker[0]), 31190 o); 31191 } 31192 var o; 31193 return t; 31194 }(g[0]); 31195 return g; 31196 }, t.generateMaskSet = function(e, t) { 31197 var n; 31198 function o(e, t) { 31199 var n = t.repeat, i = t.groupmarker, r = t.quantifiermarker, o = t.keepStatic; 31200 if (n > 0 || "*" === n || "+" === n) { 31201 var l = "*" === n ? 0 : "+" === n ? 1 : n; 31202 if (l != n) e = i[0] + e + i[1] + r[0] + l + "," + n + r[1]; else for (var c = e, u = 1; u < l; u++) e += c; 31203 } 31204 if (!0 === o) { 31205 var f = e.match(new RegExp("(.)\\[([^\\]]*)\\]", "g")); 31206 f && f.forEach((function(t, n) { 31207 var i = function(e, t) { 31208 return function(e) { 31209 if (Array.isArray(e)) return e; 31210 }(e) || function(e, t) { 31211 var n = null == e ? null : "undefined" != typeof Symbol && e[Symbol.iterator] || e["@@iterator"]; 31212 if (null != n) { 31213 var i, a, r, o, l = [], s = !0, c = !1; 31214 try { 31215 if (r = (n = n.call(e)).next, 0 === t) { 31216 if (Object(n) !== n) return; 31217 s = !1; 31218 } else for (;!(s = (i = r.call(n)).done) && (l.push(i.value), l.length !== t); s = !0) ; 31219 } catch (e) { 31220 c = !0, a = e; 31221 } finally { 31222 try { 31223 if (!s && null != n.return && (o = n.return(), Object(o) !== o)) return; 31224 } finally { 31225 if (c) throw a; 31226 } 31227 } 31228 return l; 31229 } 31230 }(e, t) || function(e, t) { 31231 if (!e) return; 31232 if ("string" == typeof e) return s(e, t); 31233 var n = Object.prototype.toString.call(e).slice(8, -1); 31234 "Object" === n && e.constructor && (n = e.constructor.name); 31235 if ("Map" === n || "Set" === n) return Array.from(e); 31236 if ("Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return s(e, t); 31237 }(e, t) || function() { 31238 throw new TypeError("Invalid attempt to de
vendor: 70,969 bytes, lines 31238-32257
31238structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); 31239 }(); 31240 }(t.split("["), 2), r = i[0], o = i[1]; 31241 o = o.replace("]", ""), e = e.replace(new RegExp("".concat((0, a.default)(r), "\\[").concat((0, 31242 a.default)(o), "\\]")), r.charAt(0) === o.charAt(0) ? "(".concat(r, "|").concat(r).concat(o, ")") : "".concat(r, "[").concat(o, "]")); 31243 })); 31244 } 31245 return e; 31246 } 31247 function c(e, n, a) { 31248 var s, c, u = !1; 31249 return null !== e && "" !== e || ((u = null !== a.regex) ? e = (e = a.regex).replace(/^(\^)(.*)(\$)$/, "$2") : (u = !0, 31250 e = ".*")), 1 === e.length && !1 === a.greedy && 0 !== a.repeat && (a.placeholder = ""), 31251 e = o(e, a), c = u ? "regex_" + a.regex : a.numericInput ? e.split("").reverse().join("") : e, 31252 null !== a.keepStatic && (c = "ks_" + a.keepStatic + c), "object" === l(a.placeholder) && (c = "ph_" + JSON.stringify(a.placeholder) + c), 31253 void 0 === r.default.prototype.masksCache[c] || !0 === t ? (s = { 31254 mask: e, 31255 maskToken: r.default.prototype.analyseMask(e, u, a), 31256 validPositions: [], 31257 _buffer: void 0, 31258 buffer: void 0, 31259 tests: {}, 31260 excludes: {}, 31261 metadata: n, 31262 maskLength: void 0, 31263 jitOffset: {} 31264 }, !0 !== t && (r.default.prototype.masksCache[c] = s, s = i.default.extend(!0, {}, r.default.prototype.masksCache[c]))) : s = i.default.extend(!0, {}, r.default.prototype.masksCache[c]), 31265 s; 31266 } 31267 "function" == typeof e.mask && (e.mask = e.mask(e)); 31268 if (Array.isArray(e.mask)) { 31269 if (e.mask.length > 1) { 31270 null === e.keepStatic && (e.keepStatic = !0); 31271 var u = e.groupmarker[0]; 31272 return (e.isRTL ? e.mask.reverse() : e.mask).forEach((function(t) { 31273 u.length > 1 && (u += e.alternatormarker), void 0 !== t.mask && "function" != typeof t.mask ? u += t.mask : u += t; 31274 })), c(u += e.groupmarker[1], e.mask, e); 31275 } 31276 e.mask = e.mask.pop(); 31277 } 31278 n = e.mask && void 0 !== e.mask.mask && "function" != typeof e.mask.mask ? c(e.mask.mask, e.mask, e) : c(e.mask, e.mask, e); 31279 null === e.keepStatic && (e.keepStatic = !1); 31280 return n; 31281 }; 31282 var i = c(n(4963)), a = c(n(7184)), r = c(n(2394)), o = c(n(9695)); 31283 function l(e) { 31284 return l = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { 31285 return typeof e; 31286 } : function(e) { 31287 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 31288 }, l(e); 31289 } 31290 function s(e, t) { 31291 (null == t || t > e.length) && (t = e.length); 31292 for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; 31293 return i; 31294 } 31295 function c(e) { 31296 return e && e.__esModule ? e : { 31297 default: e 31298 }; 31299 } 31300 }, 31301 157: function(e, t, n) { 31302 Object.defineProperty(t, "__esModule", { 31303 value: !0 31304 }), t.mask = function() { 31305 var e = this, t = this.opts, n = this.el, c = this.dependencyLib; 31306 r.EventRuler.off(n); 31307 var u = function(t, n) { 31308 var i = t.getAttribute("type"), a = "input" === t.tagName.toLowerCase() && n.supportsInputType.includes(i) || t.isContentEditable || "textarea" === t.tagName.toLowerCase(); 31309 if (!a) if ("input" === t.tagName.toLowerCase()) { 31310 var s = document.createElement("input"); 31311 s.setAttribute("type", i), a = "text" === s.type, s = null; 31312 } else a = "partial"; 31313 return !1 !== a ? function(t) { 31314 var i, a; 31315 function s() { 31316 return this.inputmask ? this.inputmask.opts.autoUnmask ? this.inputmask.unmaskedvalue() : -1 !== l.getLastValidPosition.call(e) || !0 !== n.nullable ? (this.inputmask.shadowRoot || this.ownerDocument).activeElement === this && n.clearMaskOnLostFocus ? (e.isRTL ? o.clearOptionalTail.call(e, l.getBuffer.call(e).slice()).reverse() : o.clearOptionalTail.call(e, l.getBuffer.call(e).slice())).join("") : i.call(this) : "" : i.call(this); 31317 } 31318 function u(e) { 31319 a.call(this, e), this.inputmask && (0, o.applyInputValue)(this, e); 31320 } 31321 if (!t.inputmask.__valueGet) { 31322 if (!0 !== n.noValuePatching) { 31323 if (Object.getOwnPropertyDescriptor) { 31324 var f = Object.getPrototypeOf ? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t), "value") : void 0; 31325 f && f.get && f.set ? (i = f.get, a = f.set, Object.defineProperty(t, "value", { 31326 get: s, 31327 set: u, 31328 configurable: !0 31329 })) : "input" !== t.tagName.toLowerCase() && (i = function() { 31330 return this.textContent; 31331 }, a = function(e) { 31332 this.textContent = e; 31333 }, Object.defineProperty(t, "value", { 31334 get: s, 31335 set: u, 31336 configurable: !0 31337 })); 31338 } else document.__lookupGetter__ && t.__lookupGetter__("value") && (i = t.__lookupGetter__("value"), 31339 a = t.__lookupSetter__("value"), t.__defineGetter__("value", s), t.__defineSetter__("value", u)); 31340 t.inputmask.__valueGet = i, t.inputmask.__valueSet = a; 31341 } 31342 t.inputmask._valueGet = function(t) { 31343 return e.isRTL && !0 !== t ? i.call(this.el).split("").reverse().join("") : i.call(this.el); 31344 }, t.inputmask._valueSet = function(t, n) { 31345 a.call(this.el, null == t ? "" : !0 !== n && e.isRTL ? t.split("").reverse().join("") : t); 31346 }, void 0 === i && (i = function() { 31347 return this.value; 31348 }, a = function(e) { 31349 this.value = e; 31350 }, function(t) { 31351 if (c.valHooks && (void 0 === c.valHooks[t] || !0 !== c.valHooks[t].inputmaskpatch)) { 31352 var i = c.valHooks[t] && c.valHooks[t].get ? c.valHooks[t].get : function(e) { 31353 return e.value; 31354 }, a = c.valHooks[t] && c.valHooks[t].set ? c.valHooks[t].set : function(e, t) { 31355 return e.value = t, e; 31356 }; 31357 c.valHooks[t] = { 31358 get: function(t) { 31359 if (t.inputmask) { 31360 if (t.inputmask.opts.autoUnmask) return t.inputmask.unmaskedvalue(); 31361 var a = i(t); 31362 return -1 !== l.getLastValidPosition.call(e, void 0, void 0, t.inputmask.maskset.validPositions) || !0 !== n.nullable ? a : ""; 31363 } 31364 return i(t); 31365 }, 31366 set: function(e, t) { 31367 var n = a(e, t); 31368 return e.inputmask && (0, o.applyInputValue)(e, t), n; 31369 }, 31370 inputmaskpatch: !0 31371 }; 31372 } 31373 }(t.type), function(e) { 31374 r.EventRuler.on(e, "mouseenter", (function() { 31375 var e = this, t = e.inputmask._valueGet(!0); 31376 t != (e.inputmask.isRTL ? l.getBuffer.call(e.inputmask).slice().reverse() : l.getBuffer.call(e.inputmask)).join("") && (0, 31377 o.applyInputValue)(e, t); 31378 })); 31379 }(t)); 31380 } 31381 }(t) : t.inputmask = void 0, a; 31382 }(n, t); 31383 if (!1 !== u) { 31384 e.originalPlaceholder = n.placeholder, e.maxLength = void 0 !== n ? n.maxLength : void 0, 31385 -1 === e.maxLength && (e.maxLength = void 0), "inputMode" in n && null === n.getAttribute("inputmode") && (n.inputMode = t.inputmode, 31386 n.setAttribute("inputmode", t.inputmode)), !0 === u && (t.showMaskOnFocus = t.showMaskOnFocus && -1 === [ "cc-number", "cc-exp" ].indexOf(n.autocomplete), 31387 i.iphone && (t.insertModeVisual = !1, n.setAttribute("autocorrect", "off")), r.EventRuler.on(n, "submit", a.EventHandlers.submitEvent), 31388 r.EventRuler.on(n, "reset", a.EventHandlers.resetEvent), r.EventRuler.on(n, "blur", a.EventHandlers.blurEvent), 31389 r.EventRuler.on(n, "focus", a.EventHandlers.focusEvent), r.EventRuler.on(n, "invalid", a.EventHandlers.invalidEvent), 31390 r.EventRuler.on(n, "click", a.EventHandlers.clickEvent), r.EventRuler.on(n, "mouseleave", a.EventHandlers.mouseleaveEvent), 31391 r.EventRuler.on(n, "mouseenter", a.EventHandlers.mouseenterEvent), r.EventRuler.on(n, "paste", a.EventHandlers.pasteEvent), 31392 r.EventRuler.on(n, "cut", a.EventHandlers.cutEvent), r.EventRuler.on(n, "complete", t.oncomplete), 31393 r.EventRuler.on(n, "incomplete", t.onincomplete), r.EventRuler.on(n, "cleared", t.oncleared), 31394 !0 !== t.inputEventOnly && r.EventRuler.on(n, "keydown", a.EventHandlers.keyEvent), 31395 (i.mobile || t.inputEventOnly) && n.removeAttribute("maxLength"), r.EventRuler.on(n, "input", a.EventHandlers.inputFallBackEvent)), 31396 r.EventRuler.on(n, "setvalue", a.EventHandlers.setValueEvent), void 0 === e.applyMaskHook || e.applyMaskHook(), 31397 l.getBufferTemplate.call(e).join(""), e.undoValue = e._valueGet(!0); 31398 var f = (n.inputmask.shadowRoot || n.ownerDocument).activeElement; 31399 if ("" !== n.inputmask._valueGet(!0) || !1 === t.clearMaskOnLostFocus || f === n) { 31400 (0, o.applyInputValue)(n, n.inputmask._valueGet(!0), t); 31401 var p = l.getBuffer.call(e).slice(); 31402 !1 === s.isComplete.call(e, p) && t.clearIncomplete && l.resetMaskSet.call(e, !1), 31403 t.clearMaskOnLostFocus && f !== n && (-1 === l.getLastValidPosition.call(e) ? p = [] : o.clearOptionalTail.call(e, p)), 31404 (!1 === t.clearMaskOnLostFocus || t.showMaskOnFocus && f === n || "" !== n.inputmask._valueGet(!0)) && (0, 31405 o.writeBuffer)(n, p), f === n && l.caret.call(e, n, l.seekNext.call(e, l.getLastValidPosition.call(e))); 31406 } 31407 } 31408 }; 31409 var i = n(9845), a = n(6030), r = n(9716), o = n(7760), l = n(8711), s = n(7215); 31410 }, 31411 9695: function(e, t) { 31412 Object.defineProperty(t, "__esModule", { 31413 value: !0 31414 }), t.default = function(e, t, n, i) { 31415 this.matches = [], this.openGroup = e || !1, this.alternatorGroup = !1, this.isGroup = e || !1, 31416 this.isOptional = t || !1, this.isQuantifier = n || !1, this.isAlternator = i || !1, 31417 this.quantifier = { 31418 min: 1, 31419 max: 1 31420 }; 31421 }; 31422 }, 31423 3194: function() { 31424 Array.prototype.includes || Object.defineProperty(Array.prototype, "includes", { 31425 value: function(e, t) { 31426 if (null == this) throw new TypeError('"this" is null or not defined'); 31427 var n = Object(this), i = n.length >>> 0; 31428 if (0 === i) return !1; 31429 for (var a = 0 | t, r = Math.max(a >= 0 ? a : i - Math.abs(a), 0); r < i; ) { 31430 if (n[r] === e) return !0; 31431 r++; 31432 } 31433 return !1; 31434 } 31435 }); 31436 }, 31437 9302: function() { 31438 var e = Function.bind.call(Function.call, Array.prototype.reduce), t = Function.bind.call(Function.call, Object.prototype.propertyIsEnumerable), n = Function.bind.call(Function.call, Array.prototype.concat), i = Object.keys; 31439 Object.entries || (Object.entries = function(a) { 31440 return e(i(a), (function(e, i) { 31441 return n(e, "string" == typeof i && t(a, i) ? [ [ i, a[i] ] ] : []); 31442 }), []); 31443 }); 31444 }, 31445 7149: function() { 31446 function e(t) { 31447 return e = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { 31448 return typeof e; 31449 } : function(e) { 31450 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 31451 }, e(t); 31452 } 31453 "function" != typeof Object.getPrototypeOf && (Object.getPrototypeOf = "object" === e("test".__proto__) ? function(e) { 31454 return e.__proto__; 31455 } : function(e) { 31456 return e.constructor.prototype; 31457 }); 31458 }, 31459 4013: function() { 31460 String.prototype.includes || (String.prototype.includes = function(e, t) { 31461 return "number" != typeof t && (t = 0), !(t + e.length > this.length) && -1 !== this.indexOf(e, t); 31462 }); 31463 }, 31464 8711: function(e, t, n) { 31465 Object.defineProperty(t, "__esModule", { 31466 value: !0 31467 }), t.caret = function(e, t, n, i, r) { 31468 var o, l = this, s = this.opts; 31469 if (void 0 === t) return "selectionStart" in e && "selectionEnd" in e ? (t = e.selectionStart, 31470 n = e.selectionEnd) : a.default.getSelection ? (o = a.default.getSelection().getRangeAt(0)).commonAncestorContainer.parentNode !== e && o.commonAncestorContainer !== e || (t = o.startOffset, 31471 n = o.endOffset) : document.selection && document.selection.createRange && (n = (t = 0 - (o = document.selection.createRange()).duplicate().moveStart("character", -e.inputmask._valueGet().length)) + o.text.length), 31472 { 31473 begin: i ? t : f.call(l, t), 31474 end: i ? n : f.call(l, n) 31475 }; 31476 if (Array.isArray(t) && (n = l.isRTL ? t[0] : t[1], t = l.isRTL ? t[1] : t[0]), 31477 void 0 !== t.begin && (n = l.isRTL ? t.begin : t.end, t = l.isRTL ? t.end : t.begin), 31478 "number" == typeof t) { 31479 t = i ? t : f.call(l, t), n = "number" == typeof (n = i ? n : f.call(l, n)) ? n : t; 31480 var c = parseInt(((e.ownerDocument.defaultView || a.default).getComputedStyle ? (e.ownerDocument.defaultView || a.default).getComputedStyle(e, null) : e.currentStyle).fontSize) * n; 31481 if (e.scrollLeft = c > e.scrollWidth ? c : 0, e.inputmask.caretPos = { 31482 begin: t, 31483 end: n 31484 }, s.insertModeVisual && !1 === s.insertMode && t === n && (r || n++), e === (e.inputmask.shadowRoot || e.ownerDocument).activeElement) { 31485 if ("setSelectionRange" in e) e.setSelectionRange(t, n); else if (a.default.getSelection) { 31486 if (o = document.createRange(), void 0 === e.firstChild || null === e.firstChild) { 31487 var u = document.createTextNode(""); 31488 e.appendChild(u); 31489 } 31490 o.setStart(e.firstChild, t < e.inputmask._valueGet().length ? t : e.inputmask._valueGet().length), 31491 o.setEnd(e.firstChild, n < e.inputmask._valueGet().length ? n : e.inputmask._valueGet().length), 31492 o.collapse(!0); 31493 var p = a.default.getSelection(); 31494 p.removeAllRanges(), p.addRange(o); 31495 } else e.createTextRange && ((o = e.createTextRange()).collapse(!0), o.moveEnd("character", n), 31496 o.moveStart("character", t), o.select()); 31497 void 0 === e.inputmask.caretHook || e.inputmask.caretHook.call(l, { 31498 begin: t, 31499 end: n 31500 }); 31501 } 31502 } 31503 }, t.determineLastRequiredPosition = function(e) { 31504 var t, n, i = this, a = i.maskset, l = i.dependencyLib, c = s.call(i), u = {}, f = a.validPositions[c], p = o.getMaskTemplate.call(i, !0, s.call(i), !0, !0), d = p.length, h = void 0 !== f ? f.locator.slice() : void 0; 31505 for (t = c + 1; t < p.length; t++) h = (n = o.getTestTemplate.call(i, t, h, t - 1)).locator.slice(), 31506 u[t] = l.extend(!0, {}, n); 31507 var v = f && void 0 !== f.alternation ? f.locator[f.alternation] : void 0; 31508 for (t = d - 1; t > c && (((n = u[t]).match.optionality || n.match.optionalQuantifier && n.match.newBlockMarker || v && (v !== u[t].locator[f.alternation] && !0 !== n.match.static || !0 === n.match.static && n.locator[f.alternation] && r.checkAlternationMatch.call(i, n.locator[f.alternation].toString().split(","), v.toString().split(",")) && "" !== o.getTests.call(i, t)[0].def)) && p[t] === o.getPlaceholder.call(i, t, n.match)); t--) d--; 31509 return e ? { 31510 l: d, 31511 def: u[d] ? u[d].match : void 0 31512 } : d; 31513 }, t.determineNewCaretPosition = function(e, t, n) { 31514 var i, a, r, f = this, p = f.maskset, d = f.opts; 31515 t && (f.isRTL ? e.end = e.begin : e.begin = e.end); 31516 if (e.begin === e.end) { 31517 switch (n = n || d.positionCaretOnClick) { 31518 case "none": 31519 break; 31520 31521 case "select": 31522 e = { 31523 begin: 0, 31524 end: l.call(f).length 31525 }; 31526 break; 31527 31528 case "ignore": 31529 e.end = e.begin = u.call(f, s.call(f)); 31530 break; 31531 31532 case "radixFocus": 31533 if (f.clicked > 1 && 0 === p.validPositions.length) break; 31534 if (function(e) { 31535 if ("" !== d.radixPoint && 0 !== d.digits) { 31536 var t = p.validPositions; 31537 if (void 0 === t[e] || void 0 === t[e].input) { 31538 if (e < u.call(f, -1)) return !0; 31539 var n = l.call(f).indexOf(d.radixPoint); 31540 if (-1 !== n) { 31541 for (var i = 0, a = t.length; i < a; i++) if (t[i] && n < i && t[i].input !== o.getPlaceholder.call(f, i)) return !1; 31542 return !0; 31543 } 31544 } 31545 } 31546 return !1; 31547 }(e.begin)) { 31548 var h = l.call(f).join("").indexOf(d.radixPoint); 31549 e.end = e.begin = d.numericInput ? u.call(f, h) : h; 31550 break; 31551 } 31552 31553 default: 31554 if (i = e.begin, a = s.call(f, i, !0), i <= (r = u.call(f, -1 !== a || c.call(f, 0) ? a : -1))) e.end = e.begin = c.call(f, i, !1, !0) ? i : u.call(f, i); else { 31555 var v = p.validPositions[a], m = o.getTestTemplate.call(f, r, v ? v.match.locator : void 0, v), g = o.getPlaceholder.call(f, r, m.match); 31556 if ("" !== g && l.call(f)[r] !== g && !0 !== m.match.optionalQuantifier && !0 !== m.match.newBlockMarker || !c.call(f, r, d.keepStatic, !0) && m.match.def === g) { 31557 var y = u.call(f, r); 31558 (i >= y || i === r) && (r = y); 31559 } 31560 e.end = e.begin = r; 31561 } 31562 } 31563 return e; 31564 } 31565 }, t.getBuffer = l, t.getBufferTemplate = function() { 31566 var e = this.maskset; 31567 void 0 === e._buffer && (e._buffer = o.getMaskTemplate.call(this, !1, 1), void 0 === e.buffer && (e.buffer = e._buffer.slice())); 31568 return e._buffer; 31569 }, t.getLastValidPosition = s, t.isMask = c, t.resetMaskSet = function(e) { 31570 var t = this.maskset; 31571 t.buffer = void 0, !0 !== e && (t.validPositions = [], t.p = 0); 31572 !1 === e && (t.tests = {}, t.jitOffset = {}); 31573 }, t.seekNext = u, t.seekPrevious = function(e, t) { 31574 var n = this, i = e - 1; 31575 if (e <= 0) return 0; 31576 for (;i > 0 && (!0 === t && (!0 !== o.getTest.call(n, i).match.newBlockMarker || !c.call(n, i, void 0, !0)) || !0 !== t && !c.call(n, i, void 0, !0)); ) i--; 31577 return i; 31578 }, t.translatePosition = f; 31579 var i, a = (i = n(9380)) && i.__esModule ? i : { 31580 default: i 31581 }, r = n(7215), o = n(4713); 31582 function l(e) { 31583 var t = this, n = t.maskset; 31584 return void 0 !== n.buffer && !0 !== e || (n.buffer = o.getMaskTemplate.call(t, !0, s.call(t), !0), 31585 void 0 === n._buffer && (n._buffer = n.buffer.slice())), n.buffer; 31586 } 31587 function s(e, t, n) { 31588 var i = this.maskset, a = -1, r = -1, o = n || i.validPositions; 31589 void 0 === e && (e = -1); 31590 for (var l = 0, s = o.length; l < s; l++) o[l] && (t || !0 !== o[l].generatedInput) && (l <= e && (a = l), 31591 l >= e && (r = l)); 31592 return -1 === a || a === e ? r : -1 === r || e - a < r - e ? a : r; 31593 } 31594 function c(e, t, n) { 31595 var i = this, a = this.maskset, r = o.getTestTemplate.call(i, e).match; 31596 if ("" === r.def && (r = o.getTest.call(i, e).match), !0 !== r.static) return r.fn; 31597 if (!0 === n && void 0 !== a.validPositions[e] && !0 !== a.validPositions[e].generatedInput) return !0; 31598 if (!0 !== t && e > -1) { 31599 if (n) { 31600 var l = o.getTests.call(i, e); 31601 return l.length > 1 + ("" === l[l.length - 1].match.def ? 1 : 0); 31602 } 31603 var s = o.determineTestTemplate.call(i, e, o.getTests.call(i, e)), c = o.getPlaceholder.call(i, e, s.match); 31604 return s.match.def !== c; 31605 } 31606 return !1; 31607 } 31608 function u(e, t, n) { 31609 var i = this; 31610 void 0 === n && (n = !0); 31611 for (var a = e + 1; "" !== o.getTest.call(i, a).match.def && (!0 === t && (!0 !== o.getTest.call(i, a).match.newBlockMarker || !c.call(i, a, void 0, !0)) || !0 !== t && !c.call(i, a, void 0, n)); ) a++; 31612 return a; 31613 } 31614 function f(e) { 31615 var t = this.opts, n = this.el; 31616 return !this.isRTL || "number" != typeof e || t.greedy && "" === t.placeholder || !n || (e = this._valueGet().length - e) < 0 && (e = 0), 31617 e; 31618 } 31619 }, 31620 4713: function(e, t, n) { 31621 Object.defineProperty(t, "__esModule", { 31622 value: !0 31623 }), t.determineTestTemplate = f, t.getDecisionTaker = s, t.getMaskTemplate = function(e, t, n, i, a) { 31624 var r = this, o = this.opts, l = this.maskset, s = o.greedy; 31625 a && o.greedy && (o.greedy = !1, r.maskset.tests = {}); 31626 t = t || 0; 31627 var p, d, v, m, g = [], y = 0; 31628 do { 31629 if (!0 === e && l.validPositions[y]) d = (v = a && l.validPositions[y].match.optionality && void 0 === l.validPositions[y + 1] && (!0 === l.validPositions[y].generatedInput || l.validPositions[y].input == o.skipOptionalPartCharacter && y > 0) ? f.call(r, y, h.call(r, y, p, y - 1)) : l.validPositions[y]).match, 31630 p = v.locator.slice(), g.push(!0 === n ? v.input : !1 === n ? d.nativeDef : c.call(r, y, d)); else { 31631 d = (v = u.call(r, y, p, y - 1)).match, p = v.locator.slice(); 31632 var k = !0 !== i && (!1 !== o.jitMasking ? o.jitMasking : d.jit); 31633 (m = (m || l.validPositions[y - 1]) && d.static && d.def !== o.groupSeparator && null === d.fn) || !1 === k || void 0 === k || "number" == typeof k && isFinite(k) && k > y ? g.push(!1 === n ? d.nativeDef : c.call(r, g.length, d)) : m = !1; 31634 } 31635 y++; 31636 } while (!0 !== d.static || "" !== d.def || t > y); 31637 "" === g[g.length - 1] && g.pop(); 31638 !1 === n && void 0 !== l.maskLength || (l.maskLength = y - 1); 31639 return o.greedy = s, g; 31640 }, t.getPlaceholder = c, t.getTest = p, t.getTestTemplate = u, t.getTests = h, t.isSubsetOf = d; 31641 var i, a = (i = n(2394)) && i.__esModule ? i : { 31642 default: i 31643 }, r = n(8711); 31644 function o(e) { 31645 return o = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { 31646 return typeof e; 31647 } : function(e) { 31648 return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e; 31649 }, o(e); 31650 } 31651 function l(e, t) { 31652 var n = (null != e.alternation ? e.mloc[s(e)] : e.locator).join(""); 31653 if ("" !== n) for (n = n.split(":")[0]; n.length < t; ) n += "0"; 31654 return n; 31655 } 31656 function s(e) { 31657 var t = e.locator[e.alternation]; 31658 return "string" == typeof t && t.length > 0 && (t = t.split(",")[0]), void 0 !== t ? t.toString() : ""; 31659 } 31660 function c(e, t, n) { 31661 var i = this, a = this.opts, l = this.maskset; 31662 if (void 0 !== (t = t || p.call(i, e).match).placeholder || !0 === n) { 31663 if ("" !== t.placeholder && !0 === t.static && !0 !== t.generated) { 31664 var s = r.getLastValidPosition.call(i, e), c = r.seekNext.call(i, s); 31665 return (n ? e <= c : e < c) ? a.staticDefinitionSymbol && t.static ? t.nativeDef : t.def : "function" == typeof t.placeholder ? t.placeholder(a) : t.placeholder; 31666 } 31667 return "function" == typeof t.placeholder ? t.placeholder(a) : t.placeholder; 31668 } 31669 if (!0 === t.static) { 31670 if (e > -1 && void 0 === l.validPositions[e]) { 31671 var u, f = h.call(i, e), d = []; 31672 if ("string" == typeof a.placeholder && f.length > 1 + ("" === f[f.length - 1].match.def ? 1 : 0)) for (var v = 0; v < f.length; v++) if ("" !== f[v].match.def && !0 !== f[v].match.optionality && !0 !== f[v].match.optionalQuantifier && (!0 === f[v].match.static || void 0 === u || !1 !== f[v].match.fn.test(u.match.def, l, e, !0, a)) && (d.push(f[v]), 31673 !0 === f[v].match.static && (u = f[v]), d.length > 1 && /[0-9a-bA-Z]/.test(d[0].match.def))) return a.placeholder.charAt(e % a.placeholder.length); 31674 } 31675 return t.def; 31676 } 31677 return "object" === o(a.placeholder) ? t.def : a.placeholder.charAt(e % a.placeholder.length); 31678 } 31679 function u(e, t, n) { 31680 return this.maskset.validPositions[e] || f.call(this, e, h.call(this, e, t ? t.slice() : t, n)); 31681 } 31682 function f(e, t) { 31683 var n = this.opts, i = 0, a = function(e, t) { 31684 var n = 0, i = !1; 31685 t.forEach((function(e) { 31686 e.match.optionality && (0 !== n && n !== e.match.optionality && (i = !0), (0 === n || n > e.match.optionality) && (n = e.match.optionality)); 31687 })), n && (0 == e || 1 == t.length ? n = 0 : i || (n = 0)); 31688 return n; 31689 }(e, t); 31690 e = e > 0 ? e - 1 : 0; 31691 var r, o, s, c = l(p.call(this, e)); 31692 n.greedy && t.length > 1 && "" === t[t.length - 1].match.def && (i = 1); 31693 for (var u = 0; u < t.length - i; u++) { 31694 var f = t[u]; 31695 r = l(f, c.length); 31696 var d = Math.abs(r - c); 31697 (!0 !== f.unMatchedAlternationStopped || t.filter((function(e) { 31698 return !0 !== e.unMatchedAlternationStopped; 31699 })).length <= 1) && (void 0 === o || "" !== r && d < o || s && !n.greedy && s.match.optionality && s.match.optionality - a > 0 && "master" === s.match.newBlockMarker && (!f.match.optionality || f.match.optionality - a < 1 || !f.match.newBlockMarker) || s && !n.greedy && s.match.optionalQuantifier && !f.match.optionalQuantifier) && (o = d, 31700 s = f); 31701 } 31702 return s; 31703 } 31704 function p(e, t) { 31705 var n = this.maskset; 31706 return n.validPositions[e] ? n.validPositions[e] : (t || h.call(this, e))[0]; 31707 } 31708 function d(e, t, n) { 31709 function i(e) { 31710 for (var t, n = [], i = -1, a = 0, r = e.length; a < r; a++) if ("-" === e.charAt(a)) for (t = e.charCodeAt(a + 1); ++i < t; ) n.push(String.fromCharCode(i)); else i = e.charCodeAt(a), 31711 n.push(e.charAt(a)); 31712 return n.join(""); 31713 } 31714 return e.match.def === t.match.nativeDef || !(!(n.regex || e.match.fn instanceof RegExp && t.match.fn instanceof RegExp) || !0 === e.match.static || !0 === t.match.static) && ("." === t.match.fn.source || -1 !== i(t.match.fn.source.replace(/[[\]/]/g, "")).indexOf(i(e.match.fn.source.replace(/[[\]/]/g, "")))); 31715 } 31716 function h(e, t, n) { 31717 var i, r, o = this, l = this.dependencyLib, s = this.maskset, c = this.opts, u = this.el, p = s.maskToken, h = t ? n : 0, v = t ? t.slice() : [ 0 ], m = [], g = !1, y = t ? t.join("") : "", k = !1; 31718 function b(t, n, r, l) { 31719 function f(r, l, p) { 31720 function v(e, t) { 31721 var n = 0 === t.matches.indexOf(e); 31722 return n || t.matches.every((function(i, a) { 31723 return !0 === i.isQuantifier ? n = v(e, t.matches[a - 1]) : Object.prototype.hasOwnProperty.call(i, "matches") && (n = v(e, i)), 31724 !n; 31725 })), n; 31726 } 31727 function w(e, t, n) { 31728 var i, a; 31729 if ((s.tests[e] || s.validPositions[e]) && (s.validPositions[e] ? [ s.validPositions[e] ] : s.tests[e]).every((function(e, r) { 31730 if (e.mloc[t]) return i = e, !1; 31731 var o = void 0 !== n ? n : e.alternation, l = void 0 !== e.locator[o] ? e.locator[o].toString().indexOf(t) : -1; 31732 return (void 0 === a || l < a) && -1 !== l && (i = e, a = l), !0; 31733 })), i) { 31734 var r = i.locator[i.alternation], o = i.mloc[t] || i.mloc[r] || i.locator; 31735 if (-1 !== o[o.length - 1].toString().indexOf(":")) o.pop(); 31736 return o.slice((void 0 !== n ? n : i.alternation) + 1); 31737 } 31738 return void 0 !== n ? w(e, t) : void 0; 31739 } 31740 function P(t, n) { 31741 return !0 === t.match.static && !0 !== n.match.static && n.match.fn.test(t.match.def, s, e, !1, c, !1); 31742 } 31743 function S(e, t) { 31744 var n = e.alternation, i = void 0 === t || n <= t.alternation && -1 === e.locator[n].toString().indexOf(t.locator[n]); 31745 if (!i && n > t.alternation) for (var a = 0; a < n; a++) if (e.locator[a] !== t.locator[a]) { 31746 n = a, i = !0; 31747 break; 31748 } 31749 return !!i && function(n) { 31750 e.mloc = e.mloc || {}; 31751 var i = e.locator[n]; 31752 if (void 0 !== i) { 31753 if ("string" == typeof i && (i = i.split(",")[0]), void 0 === e.mloc[i] && (e.mloc[i] = e.locator.slice(), 31754 e.mloc[i].push(":".concat(e.alternation))), void 0 !== t) { 31755 for (var a in t.mloc) "string" == typeof a && (a = parseInt(a.split(",")[0])), e.mloc[a + 0] = t.mloc[a]; 31756 e.locator[n] = Object.keys(e.mloc).join(","); 31757 } 31758 return e.alternation > n && (e.alternation = n), !0; 31759 } 31760 return e.alternation = void 0, !1; 31761 }(n); 31762 } 31763 function O(e, t) { 31764 if (e.locator.length !== t.locator.length) return !1; 31765 for (var n = e.alternation + 1; n < e.locator.length; n++) if (e.locator[n] !== t.locator[n]) return !1; 31766 return !0; 31767 } 31768 if (h > e + c._maxTestPos) throw new Error("Inputmask: There is probably an error in your mask definition or in the code. Create an issue on github with an example of the mask you are using. ".concat(s.mask)); 31769 if (h === e && void 0 === r.matches) { 31770 if (m.push({ 31771 match: r, 31772 locator: l.reverse(), 31773 cd: y, 31774 mloc: {} 31775 }), !r.optionality || void 0 !== p || !(c.definitions && c.definitions[r.nativeDef] && c.definitions[r.nativeDef].optional || a.default.prototype.definitions[r.nativeDef] && a.default.prototype.definitions[r.nativeDef].optional)) return !0; 31776 g = !0, h = e; 31777 } else if (void 0 !== r.matches) { 31778 if (r.isGroup && p !== r) return function() { 31779 if (r = f(t.matches[t.matches.indexOf(r) + 1], l, p)) return !0; 31780 }(); 31781 if (r.isOptional) return function() { 31782 var t = r, a = m.length; 31783 if (r = b(r, n, l, p), m.length > 0) { 31784 if (m.forEach((function(e, t) { 31785 t >= a && (e.match.optionality = e.match.optionality ? e.match.optionality + 1 : 1); 31786 })), i = m[m.length - 1].match, void 0 !== p || !v(i, t)) return r; 31787 g = !0, h = e; 31788 } 31789 }(); 31790 if (r.isAlternator) return function() { 31791 function i(e) { 31792 for (var t, n = e.matches[0].matches ? e.matches[0].matches.length : 1, i = 0; i < e.matches.length && n === (t = e.matches[i].matches ? e.matches[i].matches.length : 1); i++) ; 31793 return n !== t; 31794 } 31795 o.hasAlternator = !0; 31796 var a, v = r, y = [], b = m.slice(), x = l.length, _ = n.length > 0 ? n.shift() : -1; 31797 if (-1 === _ || "string" == typeof _) { 31798 var M, E = h, j = n.slice(), T = []; 31799 if ("string" == typeof _) T = _.split(","); else for (M = 0; M < v.matches.length; M++) T.push(M.toString()); 31800 if (void 0 !== s.excludes[e]) { 31801 for (var A = T.slice(), D = 0, L = s.excludes[e].length; D < L; D++) { 31802 var C = s.excludes[e][D].toString().split(":"); 31803 l.length == C[1] && T.splice(T.indexOf(C[0]), 1); 31804 } 31805 0 === T.length && (delete s.excludes[e], T = A); 31806 } 31807 (!0 === c.keepStatic || isFinite(parseInt(c.keepStatic)) && E >= c.keepStatic) && (T = T.slice(0, 1)); 31808 for (var B = 0; B < T.length; B++) { 31809 M = parseInt(T[B]), m = [], n = "string" == typeof _ && w(h, M, x) || j.slice(); 31810 var I = v.matches[M]; 31811 if (I && f(I, [ M ].concat(l), p)) r = !0; else if (0 === B && (k = i(v)), I && I.matches && I.matches.length > v.matches[0].matches.length) break; 31812 a = m.slice(), h = E, m = []; 31813 for (var R = 0; R < a.length; R++) { 31814 var F = a[R], N = !1; 31815 F.alternation = F.alternation || x, S(F); 31816 for (var V = 0; V < y.length; V++) { 31817 var G = y[V]; 31818 if ("string" != typeof _ || void 0 !== F.alternation && T.includes(F.locator[F.alternation].toString())) { 31819 if (F.match.nativeDef === G.match.nativeDef) { 31820 N = !0, S(G, F); 31821 break; 31822 } 31823 if (d(F, G, c)) { 31824 S(F, G) && (N = !0, y.splice(y.indexOf(G), 0, F)); 31825 break; 31826 } 31827 if (d(G, F, c)) { 31828 S(G, F); 31829 break; 31830 } 31831 if (P(F, G)) { 31832 O(F, G) || void 0 !== u.inputmask.userOptions.keepStatic ? S(F, G) && (N = !0, y.splice(y.indexOf(G), 0, F)) : c.keepStatic = !0; 31833 break; 31834 } 31835 if (P(G, F)) { 31836 S(G, F); 31837 break; 31838 } 31839 } 31840 } 31841 N || y.push(F); 31842 } 31843 } 31844 m = b.concat(y), h = e, g = m.length > 0 && k, r = y.length > 0 && !k, k && g && !r && m.forEach((function(e, t) { 31845 e.unMatchedAlternationStopped = !0; 31846 })), n = j.slice(); 31847 } else r = f(v.matches[_] || t.matches[_], [ _ ].concat(l), p); 31848 if (r) return !0; 31849 }(); 31850 if (r.isQuantifier && p !== t.matches[t.matches.indexOf(r) - 1]) return function() { 31851 for (var a = r, o = !1, u = n.length > 0 ? n.shift() : 0; u < (isNaN(a.quantifier.max) ? u + 1 : a.quantifier.max) && h <= e; u++) { 31852 var p = t.matches[t.matches.indexOf(a) - 1]; 31853 if (r = f(p, [ u ].concat(l), p)) { 31854 if (m.forEach((function(t, n) { 31855 (i = x(p, t.match) ? t.match : m[m.length - 1].match).optionalQuantifier = u >= a.quantifier.min, 31856 i.jit = (u + 1) * (p.matches.indexOf(i) + 1) > a.quantifier.jit, i.optionalQuantifier && v(i, p) && (g = !0, 31857 h = e, c.greedy && null == s.validPositions[e - 1] && u > a.quantifier.min && -1 != [ "*", "+" ].indexOf(a.quantifier.max) && (m.pop(), 31858 y = void 0), o = !0, r = !1), !o && i.jit && (s.jitOffset[e] = p.matches.length - p.matches.indexOf(i)); 31859 })), o) break; 31860 return !0; 31861 } 31862 } 31863 }(); 31864 if (r = b(r, n, l, p)) return !0; 31865 } else h++; 31866 } 31867 for (var p = n.length > 0 ? n.shift() : 0; p < t.matches.length; p++) if (!0 !== t.matches[p].isQuantifier) { 31868 var v = f(t.matches[p], [ p ].concat(r), l); 31869 if (v && h === e) return v; 31870 if (h > e) break; 31871 } 31872 } 31873 function x(e, t) { 31874 var n = -1 != e.matches.indexOf(t); 31875 return n || e.matches.forEach((function(e, i) { 31876 void 0 === e.matches || n || (n = x(e, t)); 31877 })), n; 31878 } 31879 if (e > -1) { 31880 if (void 0 === t) { 31881 for (var w, P = e - 1; void 0 === (w = s.validPositions[P] || s.tests[P]) && P > -1; ) P--; 31882 void 0 !== w && P > -1 && (v = function(e, t) { 31883 var n, i = []; 31884 return Array.isArray(t) || (t = [ t ]), t.length > 0 && (void 0 === t[0].alternation || !0 === c.keepStatic ? 0 === (i = f.call(o, e, t.slice()).locator.slice()).length && (i = t[0].locator.slice()) : t.forEach((function(e) { 31885 "" !== e.def && (0 === i.length ? (n = e.alternation, i = e.locator.slice()) : e.locator[n] && -1 === i[n].toString().indexOf(e.locator[n]) && (i[n] += "," + e.locator[n])); 31886 }))), i; 31887 }(P, w), y = v.join(""), h = P); 31888 } 31889 if (s.tests[e] && s.tests[e][0].cd === y) return s.tests[e]; 31890 for (var S = v.shift(); S < p.length; S++) { 31891 if (b(p[S], v, [ S ]) && h === e || h > e) break; 31892 } 31893 } 31894 return (0 === m.length || g) && m.push({ 31895 match: { 31896 fn: null, 31897 static: !0, 31898 optionality: !1, 31899 casing: null, 31900 def: "", 31901 placeholder: "" 31902 }, 31903 locator: k && 0 === m.filter((function(e) { 31904 return !0 !== e.unMatchedAlternationStopped; 31905 })).length ? [ 0 ] : [], 31906 mloc: {}, 31907 cd: y 31908 }), void 0 !== t && s.tests[e] ? r = l.extend(!0, [], m) : (s.tests[e] = l.extend(!0, [], m), 31909 r = s.tests[e]), m.forEach((function(e) { 31910 e.match.optionality = e.match.defOptionality || !1; 31911 })), r; 31912 } 31913 }, 31914 7215: function(e, t, n) { 31915 Object.defineProperty(t, "__esModule", { 31916 value: !0 31917 }), t.alternate = l, t.checkAlternationMatch = function(e, t, n) { 31918 for (var i, a = this.opts.greedy ? t : t.slice(0, 1), r = !1, o = void 0 !== n ? n.split(",") : [], l = 0; l < o.length; l++) -1 !== (i = e.indexOf(o[l])) && e.splice(i, 1); 31919 for (var s = 0; s < e.length; s++) if (a.includes(e[s])) { 31920 r = !0; 31921 break; 31922 } 31923 return r; 31924 }, t.handleRemove = function(e, t, n, i, s) { 31925 var c = this, u = this.maskset, f = this.opts; 31926 if ((f.numericInput || c.isRTL) && (t === a.keys.Backspace ? t = a.keys.Delete : t === a.keys.Delete && (t = a.keys.Backspace), 31927 c.isRTL)) { 31928 var p = n.end; 31929 n.end = n.begin, n.begin = p; 31930 } 31931 var d, h = r.getLastValidPosition.call(c, void 0, !0); 31932 n.end >= r.getBuffer.call(c).length && h >= n.end && (n.end = h + 1); 31933 t === a.keys.Backspace ? n.end - n.begin < 1 && (n.begin = r.seekPrevious.call(c, n.begin)) : t === a.keys.Delete && n.begin === n.end && (n.end = r.isMask.call(c, n.end, !0, !0) ? n.end + 1 : r.seekNext.call(c, n.end) + 1); 31934 !1 !== (d = v.call(c, n)) && ((!0 !== i && !1 !== f.keepStatic || null !== f.regex && -1 !== o.getTest.call(c, n.begin).match.def.indexOf("|")) && l.call(c, !0), 31935 !0 !== i && (u.p = t === a.keys.Delete ? n.begin + d : n.begin, u.p = r.determineNewCaretPosition.call(c, { 31936 begin: u.p, 31937 end: u.p 31938 }, !1, !1 === f.insertMode && t === a.keys.Backspace ? "none" : void 0).begin)); 31939 }, t.isComplete = c, t.isSelection = u, t.isValid = f, t.refreshFromBuffer = d, 31940 t.revalidateMask = v; 31941 var i = n(6030), a = n(2839), r = n(8711), o = n(4713); 31942 function l(e, t, n, i, a, s) { 31943 var c = this, u = this.dependencyLib, p = this.opts, d = c.maskset; 31944 if (!c.hasAlternator) return !1; 31945 var h, v, m, g, y, k, b, x, w, P, S, O = u.extend(!0, [], d.validPositions), _ = u.extend(!0, {}, d.tests), M = !1, E = !1, j = void 0 !== a ? a : r.getLastValidPosition.call(c); 31946 if (s && (P = s.begin, S = s.end, s.begin > s.end && (P = s.end, S = s.begin)), 31947 -1 === j && void 0 === a) h = 0, v = (g = o.getTest.call(c, h)).alternation; else for (;j >= 0; j--) if ((m = d.validPositions[j]) && void 0 !== m.alternation) { 31948 if (j <= (e || 0) && g && g.locator[m.alternation] !== m.locator[m.alternation]) break; 31949 h = j, v = d.validPositions[h].alternation, g = m; 31950 } 31951 if (void 0 !== v) { 31952 b = parseInt(h), d.excludes[b] = d.excludes[b] || [], !0 !== e && d.excludes[b].push((0, 31953 o.getDecisionTaker)(g) + ":" + g.alternation); 31954 var T = [], A = -1; 31955 for (y = b; b < r.getLastValidPosition.call(c, void 0, !0) + 1; y++) -1 === A && e <= y && void 0 !== t && (T.push(t), 31956 A = T.length - 1), (k = d.validPositions[b]) && !0 !== k.generatedInput && (void 0 === s || y < P || y >= S) && T.push(k.input), 31957 d.validPositions.splice(b, 1); 31958 for (-1 === A && void 0 !== t && (T.push(t), A = T.length - 1); void 0 !== d.excludes[b] && d.excludes[b].length < 10; ) { 31959 for (d.tests = {}, r.resetMaskSet.call(c, !0), M = !0, y = 0; y < T.length && (x = M.caret || 0 == p.insertMode && null != x ? r.seekNext.call(c, x) : r.getLastValidPosition.call(c, void 0, !0) + 1, 31960 w = T[y], M = f.call(c, x, w, !1, i, !0)); y++) y === A && (E = M), 1 == e && M && (E = { 31961 caretPos: y 31962 }); 31963 if (M) break; 31964 if (r.resetMaskSet.call(c), g = o.getTest.call(c, b), d.validPositions = u.extend(!0, [], O), 31965 d.tests = u.extend(!0, {}, _), !d.excludes[b]) { 31966 E = l.call(c, e, t, n, i, b - 1, s); 31967 break; 31968 } 31969 if (null != g.alternation) { 31970 var D = (0, o.getDecisionTaker)(g); 31971 if (-1 !== d.excludes[b].indexOf(D + ":" + g.alternation)) { 31972 E = l.call(c, e, t, n, i, b - 1, s); 31973 break; 31974 } 31975 for (d.excludes[b].push(D + ":" + g.alternation), y = b; y < r.getLastValidPosition.call(c, void 0, !0) + 1; y++) d.validPositions.splice(b); 31976 } else delete d.excludes[b]; 31977 } 31978 } 31979 return E && !1 === p.keepStatic || delete d.excludes[b], E; 31980 } 31981 function s(e, t, n) { 31982 var i = this.opts, r = this.maskset; 31983 switch (i.casing || t.casing) { 31984 case "upper": 31985 e = e.toUpperCase(); 31986 break; 31987 31988 case "lower": 31989 e = e.toLowerCase(); 31990 break; 31991 31992 case "title": 31993 var o = r.validPositions[n - 1]; 31994 e = 0 === n || o && o.input === String.fromCharCode(a.keyCode.Space) ? e.toUpperCase() : e.toLowerCase(); 31995 break; 31996 31997 default: 31998 if ("function" == typeof i.casing) { 31999 var l = Array.prototype.slice.call(arguments); 32000 l.push(r.validPositions), e = i.casing.apply(this, l); 32001 } 32002 } 32003 return e; 32004 } 32005 function c(e) { 32006 var t = this, n = this.opts, i = this.maskset; 32007 if ("function" == typeof n.isComplete) return n.isComplete(e, n); 32008 if ("*" !== n.repeat) { 32009 var a = !1, l = r.determineLastRequiredPosition.call(t, !0), s = l.l; 32010 if (void 0 === l.def || l.def.newBlockMarker || l.def.optionality || l.def.optionalQuantifier) { 32011 a = !0; 32012 for (var c = 0; c <= s; c++) { 32013 var u = o.getTestTemplate.call(t, c).match; 32014 if (!0 !== u.static && void 0 === i.validPositions[c] && (!1 === u.optionality || void 0 === u.optionality || u.optionality && 0 == u.newBlockMarker) && (!1 === u.optionalQuantifier || void 0 === u.optionalQuantifier) || !0 === u.static && "" != u.def && e[c] !== o.getPlaceholder.call(t, c, u)) { 32015 a = !1; 32016 break; 32017 } 32018 } 32019 } 32020 return a; 32021 } 32022 } 32023 function u(e) { 32024 var t = this.opts.insertMode ? 0 : 1; 32025 return this.isRTL ? e.begin - e.end > t : e.end - e.begin > t; 32026 } 32027 function f(e, t, n, i, a, p, m) { 32028 var g = this, y = this.dependencyLib, k = this.opts, b = g.maskset; 32029 n = !0 === n; 32030 var x = e; 32031 function w(e) { 32032 if (void 0 !== e) { 32033 if (void 0 !== e.remove && (Array.isArray(e.remove) || (e.remove = [ e.remove ]), 32034 e.remove.sort((function(e, t) { 32035 return g.isRTL ? e.pos - t.pos : t.pos - e.pos; 32036 })).forEach((function(e) { 32037 v.call(g, { 32038 begin: e, 32039 end: e + 1 32040 }); 32041 })), e.remove = void 0), void 0 !== e.insert && (Array.isArray(e.insert) || (e.insert = [ e.insert ]), 32042 e.insert.sort((function(e, t) { 32043 return g.isRTL ? t.pos - e.pos : e.pos - t.pos; 32044 })).forEach((function(e) { 32045 "" !== e.c && f.call(g, e.pos, e.c, void 0 === e.strict || e.strict, void 0 !== e.fromIsValid ? e.fromIsValid : i); 32046 })), e.insert = void 0), e.refreshFromBuffer && e.buffer) { 32047 var t = e.refreshFromBuffer; 32048 d.call(g, !0 === t ? t : t.start, t.end, e.buffer), e.refreshFromBuffer = void 0; 32049 } 32050 void 0 !== e.rewritePosition && (x = e.rewritePosition, e = !0); 32051 } 32052 return e; 32053 } 32054 function P(t, n, a) { 32055 var l = !1; 32056 return o.getTests.call(g, t).every((function(c, f) { 32057 var p = c.match; 32058 if (r.getBuffer.call(g, !0), !1 !== (l = (!p.jit || void 0 !== b.validPositions[r.seekPrevious.call(g, t)]) && (null != p.fn ? p.fn.test(n, b, t, a, k, u.call(g, e)) : (n === p.def || n === k.skipOptionalPartCharacter) && "" !== p.def && { 32059 c: o.getPlaceholder.call(g, t, p, !0) || p.def, 32060 pos: t 32061 }))) { 32062 var d = void 0 !== l.c ? l.c : n, h = t; 32063 return d = d === k.skipOptionalPartCharacter && !0 === p.static ? o.getPlaceholder.call(g, t, p, !0) || p.def : d, 32064 !0 !== (l = w(l)) && void 0 !== l.pos && l.pos !== t && (h = l.pos), !0 !== l && void 0 === l.pos && void 0 === l.c ? !1 : (!1 === v.call(g, e, y.extend({}, c, { 32065 input: s.call(g, d, p, h) 32066 }), i, h) && (l = !1), !1); 32067 } 32068 return !0; 32069 })), l; 32070 } 32071 void 0 !== e.begin && (x = g.isRTL ? e.end : e.begin); 32072 var S = !0, O = y.extend(!0, [], b.validPositions); 32073 if (!1 === k.keepStatic && void 0 !== b.excludes[x] && !0 !== a && !0 !== i) for (var _ = x; _ < (g.isRTL ? e.begin : e.end); _++) void 0 !== b.excludes[_] && (b.excludes[_] = void 0, 32074 delete b.tests[_]); 32075 if ("function" == typeof k.preValidation && !0 !== i && !0 !== p && (S = w(S = k.preValidation.call(g, r.getBuffer.call(g), x, t, u.call(g, e), k, b, e, n || a))), 32076 !0 === S) { 32077 if (S = P(x, t, n), (!n || !0 === i) && !1 === S && !0 !== p) { 32078 var M = b.validPositions[x]; 32079 if (!M || !0 !== M.match.static || M.match.def !== t && t !== k.skipOptionalPartCharacter) { 32080 if (k.insertMode || void 0 === b.validPositions[r.seekNext.call(g, x)] || e.end > x) { 32081 var E = !1; 32082 if (b.jitOffset[x] && void 0 === b.validPositions[r.seekNext.call(g, x)] && !1 !== (S = f.call(g, x + b.jitOffset[x], t, !0, !0)) && (!0 !== a && (S.caret = x), 32083 E = !0), e.end > x && (b.validPositions[x] = void 0), !E && !r.isMask.call(g, x, k.keepStatic && 0 === x)) for (var j = x + 1, T = r.seekNext.call(g, x, !1, 0 !== x); j <= T; j++) if (!1 !== (S = P(j, t, n))) { 32084 S = h.call(g, x, void 0 !== S.pos ? S.pos : j) || S, x = j; 32085 break; 32086 } 32087 } 32088 } else S = { 32089 caret: r.seekNext.call(g, x) 32090 }; 32091 } 32092 g.hasAlternator && !0 !== a && !n && (a = !0, !1 === S && k.keepStatic && (c.call(g, r.getBuffer.call(g)) || 0 === x) ? S = l.call(g, x, t, n, i, void 0, e) : (u.call(g, e) && b.tests[x] && b.tests[x].length > 1 && k.keepStatic || 1 == S && !0 !== k.numericInput && b.tests[x] && b.tests[x].length > 1 && r.getLastValidPosition.call(g, void 0, !0) > x) && (S = l.call(g, !0))), 32093 !0 === S && (S = { 32094 pos: x 32095 }); 32096 } 32097 if ("function" == typeof k.postValidation && !0 !== i && !0 !== p) { 32098 var A = k.postValidation.call(g, r.getBuffer.call(g, !0), void 0 !== e.begin ? g.isRTL ? e.end : e.begin : e, t, S, k, b, n, m); 32099 void 0 !== A && (S = !0 === A ? S : A); 32100 } 32101 S && void 0 === S.pos && (S.pos = x), !1 === S || !0 === p ? (r.resetMaskSet.call(g, !0), 32102 b.validPositions = y.extend(!0, [], O)) : h.call(g, void 0, x, !0); 32103 var D = w(S); 32104 void 0 !== g.maxLength && (r.getBuffer.call(g).length > g.maxLength && !i && (r.resetMaskSet.call(g, !0), 32105 b.validPositions = y.extend(!0, [], O), D = !1)); 32106 return D; 32107 } 32108 function p(e, t, n) { 32109 for (var i = this.maskset, a = !1, r = o.getTests.call(this, e), l = 0; l < r.length; l++) { 32110 if (r[l].match && (r[l].match.nativeDef === t.match[n.shiftPositions ? "def" : "nativeDef"] && (!n.shiftPositions || !t.match.static) || r[l].match.nativeDef === t.match.nativeDef || n.regex && !r[l].match.static && r[l].match.fn.test(t.input, i, e, !1, n))) { 32111 a = !0; 32112 break; 32113 } 32114 if (r[l].match && r[l].match.def === t.match.nativeDef) { 32115 a = void 0; 32116 break; 32117 } 32118 } 32119 return !1 === a && void 0 !== i.jitOffset[e] && (a = p.call(this, e + i.jitOffset[e], t, n)), 32120 a; 32121 } 32122 function d(e, t, n) { 32123 var a, o, l = this, s = this.maskset, c = this.opts, u = this.dependencyLib, f = c.skipOptionalPartCharacter, p = l.isRTL ? n.slice().reverse() : n; 32124 if (c.skipOptionalPartCharacter = "", !0 === e) r.resetMaskSet.call(l, !1), e = 0, 32125 t = n.length, o = r.determineNewCaretPosition.call(l, { 32126 begin: 0, 32127 end: 0 32128 }, !1).begin; else { 32129 for (a = e; a < t; a++) s.validPositions.splice(e, 0); 32130 o = e; 32131 } 32132 var d = new u.Event("keypress"); 32133 for (a = e; a < t; a++) { 32134 d.key = p[a].toString(), l.ignorable = !1; 32135 var h = i.EventHandlers.keypressEvent.call(l, d, !0, !1, !1, o); 32136 !1 !== h && void 0 !== h && (o = h.forwardPosition); 32137 } 32138 c.skipOptionalPartCharacter = f; 32139 } 32140 function h(e, t, n) { 32141 var i = this, a = this.maskset, l = this.dependencyLib; 32142 if (void 0 === e) for (e = t - 1; e > 0 && !a.validPositions[e]; e--) ; 32143 for (var s = e; s < t; s++) { 32144 if (void 0 === a.validPositions[s] && !r.isMask.call(i, s, !1)) if (0 == s ? o.getTest.call(i, s) : a.validPositions[s - 1]) { 32145 var c = o.getTests.call(i, s).slice(); 32146 "" === c[c.length - 1].match.def && c.pop(); 32147 var u, p = o.determineTestTemplate.call(i, s, c); 32148 if (p && (!0 !== p.match.jit || "master" === p.match.newBlockMarker && (u = a.validPositions[s + 1]) && !0 === u.match.optionalQuantifier) && ((p = l.extend({}, p, { 32149 input: o.getPlaceholder.call(i, s, p.match, !0) || p.match.def 32150 })).generatedInput = !0, v.call(i, s, p, !0), !0 !== n)) { 32151 var d = a.validPositions[t].input; 32152 return a.validPositions[t] = void 0, f.call(i, t, d, !0, !0); 32153 } 32154 } 32155 } 32156 } 32157 function v(e, t, n, i) { 32158 var a = this, l = this.maskset, s = this.opts, c = this.dependencyLib; 32159 function d(e, t, n) { 32160 var i = t[e]; 32161 if (void 0 !== i && !0 === i.match.static && !0 !== i.match.optionality && (void 0 === t[0] || void 0 === t[0].alternation)) { 32162 var a = n.begin <= e - 1 ? t[e - 1] && !0 === t[e - 1].match.static && t[e - 1] : t[e - 1], r = n.end > e + 1 ? t[e + 1] && !0 === t[e + 1].match.static && t[e + 1] : t[e + 1]; 32163 return a && r; 32164 } 32165 return !1; 32166 } 32167 var h = 0, v = void 0 !== e.begin ? e.begin : e, m = void 0 !== e.end ? e.end : e, g = !0; 32168 if (e.begin > e.end && (v = e.end, m = e.begin), i = void 0 !== i ? i : v, void 0 === n && (v !== m || s.insertMode && void 0 !== l.validPositions[i] || void 0 === t || t.match.optionalQuantifier || t.match.optionality)) { 32169 var y, k = c.extend(!0, [], l.validPositions), b = r.getLastValidPosition.call(a, void 0, !0); 32170 l.p = v; 32171 var x = u.call(a, e) ? v : i; 32172 for (y = b; y >= x; y--) l.validPositions.splice(y, 1), void 0 === t && delete l.tests[y + 1]; 32173 var w, P, S = i, O = S; 32174 for (t && (l.validPositions[i] = c.extend(!0, {}, t), O++, S++), null == k[m] && l.jitOffset[m] && (m += l.jitOffset[m] + 1), 32175 y = t ? m : m - 1; y <= b; y++) { 32176 if (void 0 !== (w = k[y]) && !0 !== w.generatedInput && (y >= m || y >= v && d(y, k, { 32177 begin: v, 32178 end: m 32179 }))) { 32180 for (;"" !== o.getTest.call(a, O).match.def; ) { 32181 if (!1 !== (P = p.call(a, O, w, s)) || "+" === w.match.def) { 32182 "+" === w.match.def && r.getBuffer.call(a, !0); 32183 var _ = f.call(a, O, w.input, "+" !== w.match.def, !0); 32184 if (g = !1 !== _, S = (_.pos || O) + 1, !g && P) break; 32185 } else g = !1; 32186 if (g) { 32187 void 0 === t && w.match.static && y === e.begin && h++; 32188 break; 32189 } 32190 if (!g && r.getBuffer.call(a), O > l.maskLength) break; 32191 O++; 32192 } 32193 "" == o.getTest.call(a, O).match.def && (g = !1), O = S; 32194 } 32195 if (!g) break; 32196 } 32197 if (!g) return l.validPositions = c.extend(!0, [], k), r.resetMaskSet.call(a, !0), 32198 !1; 32199 } else t && o.getTest.call(a, i).match.cd === t.match.cd && (l.validPositions[i] = c.extend(!0, {}, t)); 32200 return r.resetMaskSet.call(a, !0), h; 32201 } 32202 } 32203 }, t = {}; 32204 function n(i) { 32205 var a = t[i]; 32206 if (void 0 !== a) return a.exports; 32207 var r = t[i] = { 32208 exports: {} 32209 }; 32210 return e[i](r, r.exports, n), r.exports; 32211 } 32212 var i = {}; 32213 return function() { 32214 var e = i; 32215 Object.defineProperty(e, "__esModule", { 32216 value: !0 32217 }), e.default = void 0, n(7149), n(3194), n(9302), n(4013), n(3851), n(219), n(207), 32218 n(5296); 32219 var t, a = (t = n(2394)) && t.__esModule ? t : { 32220 default: t 32221 }; 32222 e.default = a.default; 32223 }(), i; 32224 }(); 32225})); 32226/* 32227 Input Mask plugin binding 32228 http://github.com/RobinHerbots/jquery.inputmask 32229 Copyright (c) Robin Herbots 32230 Licensed under the MIT license 32231 */ 32232(function (factory) { 32233 factory(jQuery, window.Inputmask, window); 32234})(function ($, Inputmask, window) { 32235 $(window.document) 32236 .ajaxComplete(function (event, xmlHttpRequest, ajaxOptions) { 32237 if ($.inArray("html", ajaxOptions.dataTypes) !== -1) { 32238 $( 32239 ".inputmask, [data-inputmask], [data-inputmask-mask], [data-inputmask-alias], [data-inputmask-regex]" 32240 ).each(function (ndx, lmnt) { 32241 if (lmnt.inputmask === undefined) { 32242 Inputmask().mask(lmnt); 32243 } 32244 }); 32245 } 32246 }) 32247 .ready(function () { 32248 $( 32249 ".inputmask, [data-inputmask], [data-inputmask-mask], [data-inputmask-alias],[data-inputmask-regex]" 32250 ).each(function (ndx, lmnt) { 32251 if (lmnt.inputmask === undefined) { 32252 Inputmask().mask(lmnt); 32253 } 32254 }); 32255 }); 32256}); 32257
vendor: 31,966 bytes, lines 32258-32259
32258var tns=function(){var t=window,Ai=t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.msRequestAnimationFrame||function(t){return setTimeout(t,16)},e=window,Ni=e.cancelAnimationFrame||e.mozCancelAnimationFrame||function(t){clearTimeout(t)};function Li(){for(var t,e,n,i=arguments[0]||{},a=1,r=arguments.length;a<r;a++)if(null!==(t=arguments[a]))for(e in t)i!==(n=t[e])&&void 0!==n&&(i[e]=n);return i}function Bi(t){return 0<=["true","false"].indexOf(t)?JSON.parse(t):t}function Si(t,e,n,i){if(i)try{t.setItem(e,n)}catch(t){}return n}function Hi(){var t=document,e=t.body;return e||((e=t.createElement("body")).fake=!0),e}var n=document.documentElement;function Oi(t){var e="";return t.fake&&(e=n.style.overflow,t.style.background="",t.style.overflow=n.style.overflow="hidden",n.appendChild(t)),e}function Di(t,e){t.fake&&(t.remove(),n.style.overflow=e,n.offsetHeight)}function ki(t,e,n,i){"insertRule"in t?t.insertRule(e+"{"+n+"}",i):t.addRule(e,n,i)}function Ri(t){return("insertRule"in t?t.cssRules:t.rules).length}function Ii(t,e,n){for(var i=0,a=t.length;i<a;i++)e.call(n,t[i],i)}var i="classList"in document.createElement("_"),Pi=i?function(t,e){return t.classList.contains(e)}:function(t,e){return 0<=t.className.indexOf(e)},zi=i?function(t,e){Pi(t,e)||t.classList.add(e)}:function(t,e){Pi(t,e)||(t.className+=" "+e)},Wi=i?function(t,e){Pi(t,e)&&t.classList.remove(e)}:function(t,e){Pi(t,e)&&(t.className=t.className.replace(e,""))};function qi(t,e){return t.hasAttribute(e)}function Fi(t,e){return t.getAttribute(e)}function r(t){return void 0!==t.item}function ji(t,e){if(t=r(t)||t instanceof Array?t:[t],"[object Object]"===Object.prototype.toString.call(e))for(var n=t.length;n--;)for(var i in e)t[n].setAttribute(i,e[i])}function Vi(t,e){t=r(t)||t instanceof Array?t:[t];for(var n=(e=e instanceof Array?e:[e]).length,i=t.length;i--;)for(var a=n;a--;)t[i].removeAttribute(e[a])}function Gi(t){for(var e=[],n=0,i=t.length;n<i;n++)e.push(t[n]);return e}function Qi(t,e){"none"!==t.style.display&&(t.style.display="none")}function Xi(t,e){"none"===t.style.display&&(t.style.display="")}function Yi(t){return"none"!==window.getComputedStyle(t).display}function Ki(e){if("string"==typeof e){var n=[e],i=e.charAt(0).toUpperCase()+e.substr(1);["Webkit","Moz","ms","O"].forEach(function(t){"ms"===t&&"transform"!==e||n.push(t+i)}),e=n}for(var t=document.createElement("fakeelement"),a=(e.length,0);a<e.length;a++){var r=e[a];if(void 0!==t.style[r])return r}return!1}function Ji(t,e){var n=!1;return/^Webkit/.test(t)?n="webkit"+e+"End":/^O/.test(t)?n="o"+e+"End":t&&(n=e.toLowerCase()+"end"),n}var a=!1;try{var o=Object.defineProperty({},"passive",{get:function(){a=!0}});window.addEventListener("test",null,o)}catch(t){}var u=!!a&&{passive:!0};function Ui(t,e,n){for(var i in e){var a=0<=["touchstart","touchmove"].indexOf(i)&&!n&&u;t.addEventListener(i,e[i],a)}}function _i(t,e){for(var n in e){var i=0<=["touchstart","touchmove"].indexOf(n)&&u;t.removeEventListener(n,e[n],i)}}function Zi(){return{topics:{},on:function(t,e){this.topics[t]=this.topics[t]||[],this.topics[t].push(e)},off:function(t,e){if(this.topics[t])for(var n=0;n<this.topics[t].length;n++)if(this.topics[t][n]===e){this.topics[t].splice(n,1);break}},emit:function(e,n){n.type=e,this.topics[e]&&this.topics[e].forEach(function(t){t(n,e)})}}}Object.keys||(Object.keys=function(t){var e=[];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.push(n);return e}),"remove"in Element.prototype||(Element.prototype.remove=function(){this.parentNode&&this.parentNode.removeChild(this)});var $i=function(H){H=Li({container:".slider",mode:"carousel",axis:"horizontal",items:1,gutter:0,edgePadding:0,fixedWidth:!1,autoWidth:!1,viewportMax:!1,slideBy:1,center:!1,controls:!0,controlsPosition:"top",controlsText:["prev","next"],controlsContainer:!1,prevButton:!1,nextButton:!1,nav:!0,navPosition:"top",navContainer:!1,navAsThumbnails:!1,arrowKeys:!1,speed:300,autoplay:!1,autoplayPosition:"top",autoplayTimeout:5e3,autoplayDirection:"forward",autoplayText:["start","stop"],autoplayHoverPause:!1,autoplayButton:!1,autoplayButtonOutput:!0,autoplayResetOnVisibility:!0,animateIn:"tns-fadeIn",animateOut:"tns-fadeOut",animateNormal:"tns-normal",animateDelay:!1,loop:!0,rewind:!1,autoHeight:!1,responsive:!1,lazyload:!1,lazyloadSelector:".tns-lazy-img",touch:!0,mouseDrag:!1,swipeAngle:15,nested:!1,preventActionWhenRunning:!1,preventScrollOnTouch:!1,freezable:!0,onInit:!1,useLocalStorage:!0,nonce:!1},H||{});var O=document,m=window,a={ENTER:13,SPACE:32,LEFT:37,RIGHT:39},e={},n=H.useLocalStorage;if(n){var t=navigator.userAgent,i=new Date;try{(e=m.localStorage)?(e.setItem(i,i),n=e.getItem(i)==i,e.removeItem(i)):n=!1,n||(e={})}catch(t){n=!1}n&&(e.tnsApp&&e.tnsApp!==t&&["tC","tPL","tMQ","tTf","t3D","tTDu","tTDe","tADu","tADe","tTE","tAE"].forEach(function(t){e.removeItem(t)}),localStorage.tnsApp=t)}var y=e.tC?Bi(e.tC):Si(e,"tC",function(){var t=document,e=Hi(),n=Oi(e),i=t.createElement("div"),a=!1;e.appendChild(i);try{for(var r,o="(10px * 10)",u=["calc"+o,"-moz-calc"+o,"-webkit-calc"+o],l=0;l<3;l++)if(r=u[l],i.style.width=r,100===i.offsetWidth){a=r.replace(o,"");break}}catch(t){}return e.fake?Di(e,n):i.remove(),a}(),n),g=e.tPL?Bi(e.tPL):Si(e,"tPL",function(){var t,e=document,n=Hi(),i=Oi(n),a=e.createElement("div"),r=e.createElement("div"),o="";a.className="tns-t-subp2",r.className="tns-t-ct";for(var u=0;u<70;u++)o+="<div></div>";return r.innerHTML=o,a.appendChild(r),n.appendChild(a),t=Math.abs(a.getBoundingClientRect().left-r.children[67].getBoundingClientRect().left)<2,n.fake?Di(n,i):a.remove(),t}(),n),D=e.tMQ?Bi(e.tMQ):Si(e,"tMQ",function(){if(window.matchMedia||window.msMatchMedia)return!0;var t,e=document,n=Hi(),i=Oi(n),a=e.createElement("div"),r=e.createElement("style"),o="@media all and (min-width:1px){.tns-mq-test{position:absolute}}";return r.type="text/css",a.className="tns-mq-test",n.appendChild(r),n.appendChild(a),r.styleSheet?r.styleSheet.cssText=o:r.appendChild(e.createTextNode(o)),t=window.getComputedStyle?window.getComputedStyle(a).position:a.currentStyle.position,n.fake?Di(n,i):a.remove(),"absolute"===t}(),n),r=e.tTf?Bi(e.tTf):Si(e,"tTf",Ki("transform"),n),o=e.t3D?Bi(e.t3D):Si(e,"t3D",function(t){if(!t)return!1;if(!window.getComputedStyle)return!1;var e,n=document,i=Hi(),a=Oi(i),r=n.createElement("p"),o=9<t.length?"-"+t.slice(0,-9).toLowerCase()+"-":"";return o+="transform",i.insertBefore(r,null),r.style[t]="translate3d(1px,1px,1px)",e=window.getComputedStyle(r).getPropertyValue(o),i.fake?Di(i,a):r.remove(),void 0!==e&&0<e.length&&"none"!==e}(r),n),x=e.tTDu?Bi(e.tTDu):Si(e,"tTDu",Ki("transitionDuration"),n),u=e.tTDe?Bi(e.tTDe):Si(e,"tTDe",Ki("transitionDelay"),n),b=e.tADu?Bi(e.tADu):Si(e,"tADu",Ki("animationDuration"),n),l=e.tADe?Bi(e.tADe):Si(e,"tADe",Ki("animationDelay"),n),s=e.tTE?Bi(e.tTE):Si(e,"tTE",Ji(x,"Transition"),n),c=e.tAE?Bi(e.tAE):Si(e,"tAE",Ji(b,"Animation"),n),f=m.console&&"function"==typeof m.console.warn,d=["container","controlsContainer","prevButton","nextButton","navContainer","autoplayButton"],v={};if(d.forEach(function(t){if("string"==typeof H[t]){var e=H[t],n=O.querySelector(e);if(v[t]=e,!n||!n.nodeName)return void(f&&console.warn("Can't find",H[t]));H[t]=n}}),!(H.container.children.length<1)){var k=H.responsive,R=H.nested,I="carousel"===H.mode;if(k){0 in k&&(H=Li(H,k[0]),delete k[0]);var p={};for(var h in k){var w=k[h];w="number"==typeof w?{items:w}:w,p[h]=w}k=p,p=null}if(I||function t(e){for(var n in e)I||("slideBy"===n&&(e[n]="page"),"edgePadding"===n&&(e[n]=!1),"autoHeight"===n&&(e[n]=!1)),"responsive"===n&&t(e[n])}(H),!I){H.axis="horizontal",H.slideBy="page",H.edgePadding=!1;var P=H.animateIn,z=H.animateOut,C=H.animateDelay,W=H.animateNormal}var M,q,F="horizontal"===H.axis,T=O.createElement("div"),j=O.createElement("div"),V=H.container,E=V.parentNode,A=V.outerHTML,G=V.children,Q=G.length,X=rn(),Y=!1;k&&En(),I&&(V.className+=" tns-vpfix");var N,L,B,S,K,J,U,_,Z,$=H.autoWidth,tt=sn("fixedWidth"),et=sn("edgePadding"),nt=sn("gutter"),it=un(),at=sn("center"),rt=$?1:Math.floor(sn("items")),ot=sn("slideBy"),ut=H.viewportMax||H.fixedWidthViewportWidth,lt=sn("arrowKeys"),st=sn("speed"),ct=H.rewind,ft=!ct&&H.loop,dt=sn("autoHeight"),vt=sn("controls"),pt=sn("controlsText"),ht=sn("nav"),mt=sn("touch"),yt=sn("mouseDrag"),gt=sn("autoplay"),xt=sn("autoplayTimeout"),bt=sn("autoplayText"),wt=sn("autoplayHoverPause"),Ct=sn("autoplayResetOnVisibility"),Mt=(U=null,_=sn("nonce"),Z=document.createElement("style"),U&&Z.setAttribute("media",U),_&&Z.setAttribute("nonce",_),document.querySelector("head").appendChild(Z),Z.sheet?Z.sheet:Z.styleSheet),Tt=H.lazyload,Et=H.lazyloadSelector,At=[],Nt=ft?(K=function(){{if($||tt&&!ut)return Q-1;var t=tt?"fixedWidth":"items",e=[];if((tt||H[t]<Q)&&e.push(H[t]),k)for(var n in k){var i=k[n][t];i&&(tt||i<Q)&&e.push(i)}return e.length||e.push(0),Math.ceil(tt?ut/Math.min.apply(null,e):Math.max.apply(null,e))}}(),J=I?Math.ceil((5*K-Q)/2):4*K-Q,J=Math.max(K,J),ln("edgePadding")?J+1:J):0,Lt=I?Q+2*Nt:Q+Nt,Bt=!(!tt&&!$||ft),St=tt?_n():null,Ht=!I||!ft,Ot=F?"left":"top",Dt="",kt="",Rt=tt?function(){return at&&!ft?Q-1:Math.ceil(-St/(tt+nt))}:$?function(){for(var t=0;t<Lt;t++)if(N[t]>=-St)return t}:function(){return at&&I&&!ft?Q-1:ft||I?Math.max(0,Lt-Math.ceil(rt)):Lt-1},It=en(sn("startIndex")),Pt=It,zt=(tn(),0),Wt=$?null:Rt(),qt=H.preventActionWhenRunning,Ft=H.swipeAngle,jt=!Ft||"?",Vt=!1,Gt=H.onInit,Qt=new Zi,Xt=" tns-slider tns-"+H.mode,Yt=V.id||(S=window.tnsId,window.tnsId=S?S+1:1,"tns"+window.tnsId),Kt=sn("disable"),Jt=!1,Ut=H.freezable,_t=!(!Ut||$)&&Tn(),Zt=!1,$t={click:oi,keydown:function(t){t=pi(t);var e=[a.LEFT,a.RIGHT].indexOf(t.keyCode);0<=e&&(0===e?we.disabled||oi(t,-1):Ce.disabled||oi(t,1))}},te={click:function(t){if(Vt){if(qt)return;ai()}var e=hi(t=pi(t));for(;e!==Ae&&!qi(e,"data-nav");)e=e.parentNode;if(qi(e,"data-nav")){var n=Se=Number(Fi(e,"data-nav")),i=tt||$?n*Q/Le:n*rt,a=le?n:Math.min(Math.ceil(i),Q-1);ri(a,t),He===n&&(Pe&&fi(),Se=-1)}},keydown:function(t){t=pi(t);var e=O.activeElement;if(!qi(e,"data-nav"))return;var n=[a.LEFT,a.RIGHT,a.ENTER,a.SPACE].indexOf(t.keyCode),i=Number(Fi(e,"data-nav"));0<=n&&(0===n?0<i&&vi(Ee[i-1]):1===n?i<Le-1&&vi(Ee[i+1]):ri(Se=i,t))}},ee={mouseover:function(){Pe&&(li(),ze=!0)},mouseout:function(){ze&&(ui(),ze=!1)}},ne={visibilitychange:function(){O.hidden?Pe&&(li(),qe=!0):qe&&(ui(),qe=!1)}},ie={keydown:function(t){t=pi(t);var e=[a.LEFT,a.RIGHT].indexOf(t.keyCode);0<=e&&oi(t,0===e?-1:1)}},ae={touchstart:xi,touchmove:bi,touchend:wi,touchcancel:wi},re={mousedown:xi,mousemove:bi,mouseup:wi,mouseleave:wi},oe=ln("controls"),ue=ln("nav"),le=!!$||H.navAsThumbnails,se=ln("autoplay"),ce=ln("touch"),fe=ln("mouseDrag"),de="tns-slide-active",ve="tns-slide-cloned",pe="tns-complete",he={load:function(t){kn(hi(t))},error:function(t){e=hi(t),zi(e,"failed"),Rn(e);var e}},me="force"===H.preventScrollOnTouch;if(oe)var ye,ge,xe=H.controlsContainer,be=H.controlsContainer?H.controlsContainer.outerHTML:"",we=H.prevButton,Ce=H.nextButton,Me=H.prevButton?H.prevButton.outerHTML:"",Te=H.nextButton?H.nextButton.outerHTML:"";if(ue)var Ee,Ae=H.navContainer,Ne=H.navContainer?H.navContainer.outerHTML:"",Le=$?Q:Mi(),Be=0,Se=-1,He=an(),Oe=He,De="tns-nav-active",ke="Carousel Page ",Re=" (Current Slide)";if(se)var Ie,Pe,ze,We,qe,Fe="forward"===H.autoplayDirection?1:-1,je=H.autoplayButton,Ve=H.autoplayButton?H.autoplayButton.outerHTML:"",Ge=["<span class='tns-visually-hidden'>"," animation</span>"];if(ce||fe)var Qe,Xe,Ye={},Ke={},Je=!1,Ue=F?function(t,e){return t.x-e.x}:function(t,e){return t.y-e.y};$||$e(Kt||_t),r&&(Ot=r,Dt="translate",o?(Dt+=F?"3d(":"3d(0px, ",kt=F?", 0px, 0px)":", 0px)"):(Dt+=F?"X(":"Y(",kt=")")),I&&(V.className=V.className.replace("tns-vpfix","")),function(){ln("gutter");T.className="tns-outer",j.className="tns-inner",T.id=Yt+"-ow",j.id=Yt+"-iw",""===V.id&&(V.id=Yt);Xt+=g||$?" tns-subpixel":" tns-no-subpixel",Xt+=y?" tns-calc":" tns-no-calc",$&&(Xt+=" tns-autowidth");Xt+=" tns-"+H.axis,V.className+=Xt,I?((M=O.createElement("div")).id=Yt+"-mw",M.className="tns-ovh",T.appendChild(M),M.appendChild(j)):T.appendChild(j);if(dt){var t=M||j;t.className+=" tns-ah"}if(E.insertBefore(T,V),j.appendChild(V),Ii(G,function(t,e){zi(t,"tns-item"),t.id||(t.id=Yt+"-item"+e),!I&&W&&zi(t,W),ji(t,{"aria-hidden":"true",tabindex:"-1"})}),Nt){for(var e=O.createDocumentFragment(),n=O.createDocumentFragment(),i=Nt;i--;){var a=i%Q,r=G[a].cloneNode(!0);if(zi(r,ve),Vi(r,"id"),n.insertBefore(r,n.firstChild),I){var o=G[Q-1-a].cloneNode(!0);zi(o,ve),Vi(o,"id"),e.appendChild(o)}}V.insertBefore(e,V.firstChild),V.appendChild(n),G=V.children}}(),function(){if(!I)for(var t=It,e=It+Math.min(Q,rt);t<e;t++){var n=G[t];n.style.left=100*(t-It)/rt+"%",zi(n,P),Wi(n,W)}F&&(g||$?(ki(Mt,"#"+Yt+" > .tns-item","font-size:"+m.getComputedStyle(G[0]).fontSize+";",Ri(Mt)),ki(Mt,"#"+Yt,"font-size:0;",Ri(Mt))):I&&Ii(G,function(t,e){var n;t.style.marginLeft=(n=e,y?y+"("+100*n+"% / "+Lt+")":100*n/Lt+"%")}));if(D){if(x){var i=M&&H.autoHeight?hn(H.speed):"";ki(Mt,"#"+Yt+"-mw",i,Ri(Mt))}i=cn(H.edgePadding,H.gutter,H.fixedWidth,H.speed,H.autoHeight),ki(Mt,"#"+Yt+"-iw",i,Ri(Mt)),I&&(i=F&&!$?"width:"+fn(H.fixedWidth,H.gutter,H.items)+";":"",x&&(i+=hn(st)),ki(Mt,"#"+Yt,i,Ri(Mt))),i=F&&!$?dn(H.fixedWidth,H.gutter,H.items):"",H.gutter&&(i+=vn(H.gutter)),I||(x&&(i+=hn(st)),b&&(i+=mn(st))),i&&ki(Mt,"#"+Yt+" > .tns-item",i,Ri(Mt))}else{I&&dt&&(M.style[x]=st/1e3+"s"),j.style.cssText=cn(et,nt,tt,dt),I&&F&&!$&&(V.style.width=fn(tt,nt,rt));var i=F&&!$?dn(tt,nt,rt):"";nt&&(i+=vn(nt)),i&&ki(Mt,"#"+Yt+" > .tns-item",i,Ri(Mt))}if(k&&D)for(var a in k){a=parseInt(a);var r=k[a],i="",o="",u="",l="",s="",c=$?null:sn("items",a),f=sn("fixedWidth",a),d=sn("speed",a),v=sn("edgePadding",a),p=sn("autoHeight",a),h=sn("gutter",a);x&&M&&sn("autoHeight",a)&&"speed"in r&&(o="#"+Yt+"-mw{"+hn(d)+"}"),("edgePadding"in r||"gutter"in r)&&(u="#"+Yt+"-iw{"+cn(v,h,f,d,p)+"}"),I&&F&&!$&&("fixedWidth"in r||"items"in r||tt&&"gutter"in r)&&(l="width:"+fn(f,h,c)+";"),x&&"speed"in r&&(l+=hn(d)),l&&(l="#"+Yt+"{"+l+"}"),("fixedWidth"in r||tt&&"gutter"in r||!I&&"items"in r)&&(s+=dn(f,h,c)),"gutter"in r&&(s+=vn(h)),!I&&"speed"in r&&(x&&(s+=hn(d)),b&&(s+=mn(d))),s&&(s="#"+Yt+" > .tns-item{"+s+"}"),(i=o+u+l+s)&&Mt.insertRule("@media (min-width: "+a/16+"em) {"+i+"}",Mt.cssRules.length)}}(),yn();var _e=ft?I?function(){var t=zt,e=Wt;t+=ot,e-=ot,et?(t+=1,e-=1):tt&&(it+nt)%(tt+nt)&&(e-=1),Nt&&(e<It?It-=Q:It<t&&(It+=Q))}:function(){if(Wt<It)for(;zt+Q<=It;)It-=Q;else if(It<zt)for(;It<=Wt-Q;)It+=Q}:function(){It=Math.max(zt,Math.min(Wt,It))},Ze=I?function(){var e,n,i,a,t,r,o,u,l,s,c;Jn(V,""),x||!st?(ti(),st&&Yi(V)||ai()):(e=V,n=Ot,i=Dt,a=kt,t=Zn(),r=st,o=ai,u=Math.min(r,10),l=0<=t.indexOf("%")?"%":"px",t=t.replace(l,""),s=Number(e.style[n].replace(i,"").replace(a,"").replace(l,"")),c=(t-s)/r*u,setTimeout(function t(){r-=u,s+=c,e.style[n]=i+s+l+a,0<r?setTimeout(t,u):o()},u)),F||Ci()}:function(){At=[];var t={};t[s]=t[c]=ai,_i(G[Pt],t),Ui(G[It],t),ei(Pt,P,z,!0),ei(It,W,P),s&&c&&st&&Yi(V)||ai()};return{version:"2.9.4",getInfo:Ei,events:Qt,goTo:ri,play:function(){gt&&!Pe&&(ci(),We=!1)},pause:function(){Pe&&(fi(),We=!0)},isOn:Y,updateSliderHeight:Fn,refresh:yn,destroy:function(){if(Mt.disabled=!0,Mt.ownerNode&&Mt.ownerNode.remove(),_i(m,{resize:Cn}),lt&&_i(O,ie),xe&&_i(xe,$t),Ae&&_i(Ae,te),_i(V,ee),_i(V,ne),je&&_i(je,{click:di}),gt&&clearInterval(Ie),I&&s){var t={};t[s]=ai,_i(V,t)}mt&&_i(V,ae),yt&&_i(V,re);var r=[A,be,Me,Te,Ne,Ve];for(var e in d.forEach(function(t,e){var n="container"===t?T:H[t];if("object"==typeof n&&n){var i=!!n.previousElementSibling&&n.previousElementSibling,a=n.parentNode;n.outerHTML=r[e],H[t]=i?i.nextElementSibling:a.firstElementChild}}),d=P=z=C=W=F=T=j=V=E=A=G=Q=q=X=$=tt=et=nt=it=rt=ot=ut=lt=st=ct=ft=dt=Mt=Tt=N=At=Nt=Lt=Bt=St=Ht=Ot=Dt=kt=Rt=It=Pt=zt=Wt=Ft=jt=Vt=Gt=Qt=Xt=Yt=Kt=Jt=Ut=_t=Zt=$t=te=ee=ne=ie=ae=re=oe=ue=le=se=ce=fe=de=pe=he=L=vt=pt=xe=be=we=Ce=ye=ge=ht=Ae=Ne=Ee=Le=Be=Se=He=Oe=De=ke=Re=gt=xt=Fe=bt=wt=je=Ve=Ct=Ge=Ie=Pe=ze=We=qe=Ye=Ke=Qe=Je=Xe=Ue=mt=yt=null,this)"rebuild"!==e&&(this[e]=null);Y=!1},rebuild:function(){return $i(Li(H,v))}}}function $e(t){t&&(vt=ht=mt=yt=lt=gt=wt=Ct=!1)}function tn(){for(var t=I?It-Nt:It;t<0;)t+=Q;return t%Q+1}function en(t){return t=t?Math.max(0,Math.min(ft?Q-1:Q-rt,t)):0,I?t+Nt:t}function nn(t){for(null==t&&(t=It),I&&(t-=Nt);t<0;)t+=Q;return Math.floor(t%Q)}function an(){var t,e=nn();return t=le?e:tt||$?Math.ceil((e+1)*Le/Q-1):Math.floor(e/rt),!ft&&I&&It===Wt&&(t=Le-1),t}function rn(){return m.innerWidth||O.documentElement.clientWidth||O.body.clientWidth}function on(t){return"top"===t?"afterbegin":"beforeend"}function un(){var t=et?2*et-nt:0;return function t(e){if(null!=e){var n,i,a=O.createElement("div");return e.appendChild(a),i=(n=a.getBoundingClientRect()).right-n.left,a.remove(),i||t(e.parentNode)}}(E)-t}function ln(t){if(H[t])return!0;if(k)for(var e in k)if(k[e][t])return!0;return!1}function sn(t,e){if(null==e&&(e=X),"items"===t&&tt)return Math.floor((it+nt)/(tt+nt))||1;var n=H[t];if(k)for(var i in k)e>=parseInt(i)&&t in k[i]&&(n=k[i][t]);return"slideBy"===t&&"page"===n&&(n=sn("items")),I||"slideBy"!==t&&"items"!==t||(n=Math.floor(n)),n}function cn(t,e,n,i,a){var r="";if(void 0!==t){var o=t;e&&(o-=e),r=F?"margin: 0 "+o+"px 0 "+t+"px;":"margin: "+t+"px 0 "+o+"px 0;"}else if(e&&!n){var u="-"+e+"px";r="margin: 0 "+(F?u+" 0 0":"0 "+u+" 0")+";"}return!I&&a&&x&&i&&(r+=hn(i)),r}function fn(t,e,n){return t?(t+e)*Lt+"px":y?y+"("+100*Lt+"% / "+n+")":100*Lt/n+"%"}function dn(t,e,n){var i;if(t)i=t+e+"px";else{I||(n=Math.floor(n));var a=I?Lt:n;i=y?y+"(100% / "+a+")":100/a+"%"}return i="width:"+i,"inner"!==R?i+";":i+" !important;"}function vn(t){var e="";!1!==t&&(e=(F?"padding-":"margin-")+(F?"right":"bottom")+": "+t+"px;");return e}function pn(t,e){var n=t.substring(0,t.length-e).toLowerCase();return n&&(n="-"+n+"-"),n}function hn(t){return pn(x,18)+"transition-duration:"+t/1e3+"s;"}function mn(t){return pn(b,17)+"animation-duration:"+t/1e3+"s;"}function yn(){if(ln("autoHeight")||$||!F){var t=V.querySelectorAll("img");Ii(t,function(t){var e=t.src;Tt||(e&&e.indexOf("data:image")<0?(t.src="",Ui(t,he),zi(t,"loading"),t.src=e):kn(t))}),Ai(function(){zn(Gi(t),function(){L=!0})}),ln("autoHeight")&&(t=In(It,Math.min(It+rt-1,Lt-1))),Tt?gn():Ai(function(){zn(Gi(t),gn)})}else I&&$n(),bn(),wn()}function gn(){if($&&1<Q){var i=ft?It:Q-1;!function t(){var e=G[i].getBoundingClientRect().left,n=G[i-1].getBoundingClientRect().right;Math.abs(e-n)<=1?xn():setTimeout(function(){t()},16)}()}else xn()}function xn(){F&&!$||(jn(),$?(St=_n(),Ut&&(_t=Tn()),Wt=Rt(),$e(Kt||_t)):Ci()),I&&$n(),bn(),wn()}function bn(){if(Vn(),T.insertAdjacentHTML("afterbegin",'<div class="tns-liveregion tns-visually-hidden" aria-live="polite" aria-atomic="true">slide <span class="current">'+Hn()+"</span> of "+Q+"</div>"),B=T.querySelector(".tns-liveregion .current"),se){var t=gt?"stop":"start";je?ji(je,{"data-action":t}):H.autoplayButtonOutput&&(T.insertAdjacentHTML(on(H.autoplayPosition),'<button type="button" data-action="'+t+'">'+Ge[0]+t+Ge[1]+bt[0]+"</button>"),je=T.querySelector("[data-action]")),je&&Ui(je,{click:di}),gt&&(ci(),wt&&Ui(V,ee),Ct&&Ui(V,ne))}if(ue){if(Ae)ji(Ae,{"aria-label":"Carousel Pagination"}),Ii(Ee=Ae.children,function(t,e){ji(t,{"data-nav":e,tabindex:"-1","aria-label":ke+(e+1),"aria-controls":Yt})});else{for(var e="",n=le?"":'style="display:none"',i=0;i<Q;i++)e+='<button type="button" data-nav="'+i+'" tabindex="-1" aria-controls="'+Yt+'" '+n+' aria-label="'+ke+(i+1)+'"></button>';e='<div class="tns-nav" aria-label="Carousel Pagination">'+e+"</div>",T.insertAdjacentHTML(on(H.navPosition),e),Ae=T.querySelector(".tns-nav"),Ee=Ae.children}if(Ti(),x){var a=x.substring(0,x.length-18).toLowerCase(),r="transition: all "+st/1e3+"s";a&&(r="-"+a+"-"+r),ki(Mt,"[aria-controls^="+Yt+"-item]",r,Ri(Mt))}ji(Ee[He],{"aria-label":ke+(He+1)+Re}),Vi(Ee[He],"tabindex"),zi(Ee[He],De),Ui(Ae,te)}oe&&(xe||we&&Ce||(T.insertAdjacentHTML(on(H.controlsPosition),'<div class="tns-controls" aria-label="Carousel Navigation" tabindex="0"><button type="button" data-controls="prev" tabindex="-1" aria-controls="'+Yt+'">'+pt[0]+'</button><button type="button" data-controls="next" tabindex="-1" aria-controls="'+Yt+'">'+pt[1]+"</button></div>"),xe=T.querySelector(".tns-controls")),we&&Ce||(we=xe.children[0],Ce=xe.children[1]),H.controlsContainer&&ji(xe,{"aria-label":"Carousel Navigation",tabindex:"0"}),(H.controlsContainer||H.prevButton&&H.nextButton)&&ji([we,Ce],{"aria-controls":Yt,tabindex:"-1"}),(H.controlsContainer||H.prevButton&&H.nextButton)&&(ji(we,{"data-controls":"prev"}),ji(Ce,{"data-controls":"next"})),ye=Qn(we),ge=Qn(Ce),Kn(),xe?Ui(xe,$t):(Ui(we,$t),Ui(Ce,$t))),An()}function wn(){if(I&&s){var t={};t[s]=ai,Ui(V,t)}mt&&Ui(V,ae,H.preventScrollOnTouch),yt&&Ui(V,re),lt&&Ui(O,ie),"inner"===R?Qt.on("outerResized",function(){Mn(),Qt.emit("innerLoaded",Ei())}):(k||tt||$||dt||!F)&&Ui(m,{resize:Cn}),dt&&("outer"===R?Qt.on("innerLoaded",Pn):Kt||Pn()),Dn(),Kt?Bn():_t&&Ln(),Qt.on("indexChanged",Wn),"inner"===R&&Qt.emit("innerLoaded",Ei()),"function"==typeof Gt&&Gt(Ei()),Y=!0}function Cn(t){Ai(function(){Mn(pi(t))})}function Mn(t){if(Y){"outer"===R&&Qt.emit("outerResized",Ei(t)),X=rn();var e,n=q,i=!1;k&&(En(),(e=n!==q)&&Qt.emit("newBreakpointStart",Ei(t)));var a,r,o,u,l=rt,s=Kt,c=_t,f=lt,d=vt,v=ht,p=mt,h=yt,m=gt,y=wt,g=Ct,x=It;if(e){var b=tt,w=dt,C=pt,M=at,T=bt;if(!D)var E=nt,A=et}if(lt=sn("arrowKeys"),vt=sn("controls"),ht=sn("nav"),mt=sn("touch"),at=sn("center"),yt=sn("mouseDrag"),gt=sn("autoplay"),wt=sn("autoplayHoverPause"),Ct=sn("autoplayResetOnVisibility"),e&&(Kt=sn("disable"),tt=sn("fixedWidth"),st=sn("speed"),dt=sn("autoHeight"),pt=sn("controlsText"),bt=sn("autoplayText"),xt=sn("autoplayTimeout"),D||(et=sn("edgePadding"),nt=sn("gutter"))),$e(Kt),it=un(),F&&!$||Kt||(jn(),F||(Ci(),i=!0)),(tt||$)&&(St=_n(),Wt=Rt()),(e||tt)&&(rt=sn("items"),ot=sn("slideBy"),(r=rt!==l)&&(tt||$||(Wt=Rt()),_e())),e&&Kt!==s&&(Kt?Bn():function(){if(!Jt)return;if(Mt.disabled=!1,V.className+=Xt,$n(),ft)for(var t=Nt;t--;)I&&Xi(G[t]),Xi(G[Lt-t-1]);if(!I)for(var e=It,n=It+Q;e<n;e++){var i=G[e],a=e<It+rt?P:W;i.style.left=100*(e-It)/rt+"%",zi(i,a)}Nn(),Jt=!1}()),Ut&&(e||tt||$)&&(_t=Tn())!==c&&(_t?(ti(Zn(en(0))),Ln()):(!function(){if(!Zt)return;et&&D&&(j.style.margin="");if(Nt)for(var t="tns-transparent",e=Nt;e--;)I&&Wi(G[e],t),Wi(G[Lt-e-1],t);Nn(),Zt=!1}(),i=!0)),$e(Kt||_t),gt||(wt=Ct=!1),lt!==f&&(lt?Ui(O,ie):_i(O,ie)),vt!==d&&(vt?xe?Xi(xe):(we&&Xi(we),Ce&&Xi(Ce)):xe?Qi(xe):(we&&Qi(we),Ce&&Qi(Ce))),ht!==v&&(ht?(Xi(Ae),Ti()):Qi(Ae)),mt!==p&&(mt?Ui(V,ae,H.preventScrollOnTouch):_i(V,ae)),yt!==h&&(yt?Ui(V,re):_i(V,re)),gt!==m&&(gt?(je&&Xi(je),Pe||We||ci()):(je&&Qi(je),Pe&&fi())),wt!==y&&(wt?Ui(V,ee):_i(V,ee)),Ct!==g&&(Ct?Ui(O,ne):_i(O,ne)),e){if(tt===b&&at===M||(i=!0),dt!==w&&(dt||(j.style.height="")),vt&&pt!==C&&(we.innerHTML=pt[0],Ce.innerHTML=pt[1]),je&&bt!==T){var N=gt?1:0,L=je.innerHTML,B=L.length-T[N].length;L.substring(B)===T[N]&&(je.innerHTML=L.substring(0,B)+bt[N])}}else at&&(tt||$)&&(i=!0);if((r||tt&&!$)&&(Le=Mi(),Ti()),(a=It!==x)?(Qt.emit("indexChanged",Ei()),i=!0):r?a||Wn():(tt||$)&&(Dn(),Vn(),Sn()),r&&!I&&function(){for(var t=It+Math.min(Q,rt),e=Lt;e--;){var n=G[e];It<=e&&e<t?(zi(n,"tns-moving"),n.style.left=100*(e-It)/rt+"%",zi(n,P),Wi(n,W)):n.style.left&&(n.style.left="",zi(n,W),Wi(n,P)),Wi(n,z)}setTimeout(function(){Ii(G,function(t){Wi(t,"tns-moving")})},300)}(),!Kt&&!_t){if(e&&!D&&(et===A&&nt===E||(j.style.cssText=cn(et,nt,tt,st,dt)),F)){I&&(V.style.width=fn(tt,nt,rt));var S=dn(tt,nt,rt)+vn(nt);u=Ri(o=Mt)-1,"deleteRule"in o?o.deleteRule(u):o.removeRule(u),ki(Mt,"#"+Yt+" > .tns-item",S,Ri(Mt))}dt&&Pn(),i&&($n(),Pt=It)}e&&Qt.emit("newBreakpointEnd",Ei(t))}}function Tn(){if(!tt&&!$)return Q<=(at?rt-(rt-1)/2:rt);var t=tt?(tt+nt)*Q:N[Q],e=et?it+2*et:it+nt;return at&&(e-=tt?(it-tt)/2:(it-(N[It+1]-N[It]-nt))/2),t<=e}function En(){for(var t in q=0,k)(t=parseInt(t))<=X&&(q=t)}function An(){!gt&&je&&Qi(je),!ht&&Ae&&Qi(Ae),vt||(xe?Qi(xe):(we&&Qi(we),Ce&&Qi(Ce)))}function Nn(){gt&&je&&Xi(je),ht&&Ae&&Xi(Ae),vt&&(xe?Xi(xe):(we&&Xi(we),Ce&&Xi(Ce)))}function Ln(){if(!Zt){if(et&&(j.style.margin="0px"),Nt)for(var t="tns-transparent",e=Nt;e--;)I&&zi(G[e],t),zi(G[Lt-e-1],t);An(),Zt=!0}}function Bn(){if(!Jt){if(Mt.disabled=!0,V.className=V.className.replace(Xt.substring(1),""),Vi(V,["style"]),ft)for(var t=Nt;t--;)I&&Qi(G[t]),Qi(G[Lt-t-1]);if(F&&I||Vi(j,["style"]),!I)for(var e=It,n=It+Q;e<n;e++){var i=G[e];Vi(i,["style"]),Wi(i,P),Wi(i,W)}An(),Jt=!0}}function Sn(){var t=Hn();B.innerHTML!==t&&(B.innerHTML=t)}function Hn(){var t=On(),e=t[0]+1,n=t[1]+1;return e===n?e+"":e+" to "+n}function On(t){null==t&&(t=Zn());var n,i,a,r=It;if(at||et?($||tt)&&(i=-(parseFloat(t)+et),a=i+it+2*et):$&&(i=N[It],a=i+it),$)N.forEach(function(t,e){e<Lt&&((at||et)&&t<=i+.5&&(r=e),.5<=a-t&&(n=e))});else{if(tt){var e=tt+nt;at||et?(r=Math.floor(i/e),n=Math.ceil(a/e-1)):n=r+Math.ceil(it/e)-1}else if(at||et){var o=rt-1;if(at?(r-=o/2,n=It+o/2):n=It+o,et){var u=et*rt/it;r-=u,n+=u}r=Math.floor(r),n=Math.ceil(n)}else n=r+rt-1;r=Math.max(r,0),n=Math.min(n,Lt-1)}return[r,n]}function Dn(){if(Tt&&!Kt){var t=On();t.push(Et),In.apply(null,t).forEach(function(t){if(!Pi(t,pe)){var e={};e[s]=function(t){t.stopPropagation()},Ui(t,e),Ui(t,he),t.src=Fi(t,"data-src");var n=Fi(t,"data-srcset");n&&(t.srcset=n),zi(t,"loading")}})}}function kn(t){zi(t,"loaded"),Rn(t)}function Rn(t){zi(t,pe),Wi(t,"loading"),_i(t,he)}function In(t,e,n){var i=[];for(n||(n="img");t<=e;)Ii(G[t].querySelectorAll(n),function(t){i.push(t)}),t++;return i}function Pn(){var t=In.apply(null,On());Ai(function(){zn(t,Fn)})}function zn(n,t){return L?t():(n.forEach(function(t,e){!Tt&&t.complete&&Rn(t),Pi(t,pe)&&n.splice(e,1)}),n.length?void Ai(function(){zn(n,t)}):t())}function Wn(){Dn(),Vn(),Sn(),Kn(),function(){if(ht&&(He=0<=Se?Se:an(),Se=-1,He!==Oe)){var t=Ee[Oe],e=Ee[He];ji(t,{tabindex:"-1","aria-label":ke+(Oe+1)}),Wi(t,De),ji(e,{"aria-label":ke+(He+1)+Re}),Vi(e,"tabindex"),zi(e,De),Oe=He}}()}function qn(t,e){for(var n=[],i=t,a=Math.min(t+e,Lt);i<a;i++)n.push(G[i].offsetHeight);return Math.max.apply(null,n)}function Fn(){var t=dt?qn(It,rt):qn(Nt,Q),e=M||j;e.style.height!==t&&(e.style.height=t+"px")}function jn(){N=[0];var n=F?"left":"top",i=F?"right":"bottom",a=G[0].getBoundingClientRect()[n];Ii(G,function(t,e){e&&N.push(t.getBoundingClientRect()[n]-a),e===Lt-1&&N.push(t.getBoundingClientRect()[i]-a)})}function Vn(){var t=On(),n=t[0],i=t[1];Ii(G,function(t,e){n<=e&&e<=i?qi(t,"aria-hidden")&&(Vi(t,["aria-hidden","tabindex"]),zi(t,de)):qi(t,"aria-hidden")||(ji(t,{"aria-hidden":"true",tabindex:"-1"}),Wi(t,de))})}function Gn(t){return t.nodeName.toLowerCase()}function Qn(t){return"button"===Gn(t)}function Xn(t){return"true"===t.getAttribute("aria-disabled")}function Yn(t,e,n){t?e.disabled=n:e.setAttribute("aria-disabled",n.toString())}function Kn(){if(vt&&!ct&&!ft){var t=ye?we.disabled:Xn(we),e=ge?Ce.disabled:Xn(Ce),n=It<=zt,i=!ct&&Wt<=It;n&&!t&&Yn(ye,we,!0),!n&&t&&Yn(ye,we,!1),i&&!e&&Yn(ge,Ce,!0),!i&&e&&Yn(ge,Ce,!1)}}function Jn(t,e){x&&(t.style[x]=e)}function Un(t){return null==t&&(t=It),$?(it-(et?nt:0)-(N[t+1]-N[t]-nt))/2:tt?(it-tt)/2:(rt-1)/2}function _n(){var t=it+(et?nt:0)-(tt?(tt+nt)*Lt:N[Lt]);return at&&!ft&&(t=tt?-(tt+nt)*(Lt-1)-Un():Un(Lt-1)-N[Lt-1]),0<t&&(t=0),t}function Zn(t){var e;if(null==t&&(t=It),F&&!$)if(tt)e=-(tt+nt)*t,at&&(e+=Un());else{var n=r?Lt:rt;at&&(t-=Un()),e=100*-t/n}else e=-N[t],at&&$&&(e+=Un());return Bt&&(e=Math.max(e,St)),e+=!F||$||tt?"px":"%"}function $n(t){Jn(V,"0s"),ti(t)}function ti(t){null==t&&(t=Zn()),V.style[Ot]=Dt+t+kt}function ei(t,e,n,i){var a=t+rt;ft||(a=Math.min(a,Lt));for(var r=t;r<a;r++){var o=G[r];i||(o.style.left=100*(r-It)/rt+"%"),C&&u&&(o.style[u]=o.style[l]=C*(r-t)/1e3+"s"),Wi(o,e),zi(o,n),i&&At.push(o)}}function ni(t,e){Ht&&_e(),(It!==Pt||e)&&(Qt.emit("indexChanged",Ei()),Qt.emit("transitionStart",Ei()),dt&&Pn(),Pe&&t&&0<=["click","keydown"].indexOf(t.type)&&fi(),Vt=!0,Ze())}function ii(t){return t.toLowerCase().replace(/-/g,"")}function ai(t){if(I||Vt){if(Qt.emit("transitionEnd",Ei(t)),!I&&0<At.length)for(var e=0;e<At.length;e++){var n=At[e];n.style.left="",l&&u&&(n.style[l]="",n.style[u]=""),Wi(n,z),zi(n,W)}if(!t||!I&&t.target.parentNode===V||t.target===V&&ii(t.propertyName)===ii(Ot)){if(!Ht){var i=It;_e(),It!==i&&(Qt.emit("indexChanged",Ei()),$n())}"inner"===R&&Qt.emit("innerLoaded",Ei()),Vt=!1,Pt=It}}}function ri(t,e){if(!_t)if("prev"===t)oi(e,-1);else if("next"===t)oi(e,1);else{if(Vt){if(qt)return;ai()}var n=nn(),i=0;if("first"===t?i=-n:"last"===t?i=I?Q-rt-n:Q-1-n:("number"!=typeof t&&(t=parseInt(t)),isNaN(t)||(e||(t=Math.max(0,Math.min(Q-1,t))),i=t-n)),!I&&i&&Math.abs(i)<rt){var a=0<i?1:-1;i+=zt<=It+i-Q?Q*a:2*Q*a*-1}It+=i,I&&ft&&(It<zt&&(It+=Q),Wt<It&&(It-=Q)),nn(It)!==nn(Pt)&&ni(e)}}function oi(t,e){if(Vt){if(qt)return;ai()}var n;if(!e){for(var i=hi(t=pi(t));i!==xe&&[we,Ce].indexOf(i)<0;)i=i.parentNode;var a=[we,Ce].indexOf(i);0<=a&&(n=!0,e=0===a?-1:1)}if(ct){if(It===zt&&-1===e)return void ri("last",t);if(It===Wt&&1===e)return void ri("first",t)}e&&(It+=ot*e,$&&(It=Math.floor(It)),ni(n||t&&"keydown"===t.type?t:null))}function ui(){Ie=setInterval(function(){oi(null,Fe)},xt),Pe=!0}function li(){clearInterval(Ie),Pe=!1}function si(t,e){ji(je,{"data-action":t}),je.innerHTML=Ge[0]+t+Ge[1]+e}function ci(){ui(),je&&si("stop",bt[1])}function fi(){li(),je&&si("start",bt[0])}function di(){Pe?(fi(),We=!0):(ci(),We=!1)}function vi(t){t.focus()}function pi(t){return mi(t=t||m.event)?t.changedTouches[0]:t}function hi(t){return t.target||m.event.srcElement}function mi(t){return 0<=t.type.indexOf("touch")}function yi(t){t.preventDefault?t.preventDefault():t.returnValue=!1}function gi(){return a=Ke.y-Ye.y,r=Ke.x-Ye.x,t=Math.atan2(a,r)*(180/Math.PI),e=Ft,n=!1,i=Math.abs(90-Math.abs(t)),90-e<=i?n="horizontal":i<=e&&(n="vertical"),n===H.axis;var t,e,n,i,a,r}function xi(t){if(Vt){if(qt)return;ai()}gt&&Pe&&li(),Je=!0,Xe&&(Ni(Xe),Xe=null);var e=pi(t);Qt.emit(mi(t)?"touchStart":"dragStart",Ei(t)),!mi(t)&&0<=["img","a"].indexOf(Gn(hi(t)))&&yi(t),Ke.x=Ye.x=e.clientX,Ke.y=Ye.y=e.clientY,I&&(Qe=parseFloat(V.style[Ot].replace(Dt,"")),Jn(V,"0s"))}function bi(t){if(Je){var e=pi(t);Ke.x=e.clientX,Ke.y=e.clientY,I?Xe||(Xe=Ai(function(){!function t(e){if(!jt)return void(Je=!1);Ni(Xe);Je&&(Xe=Ai(function(){t(e)}));"?"===jt&&(jt=gi());if(jt){!me&&mi(e)&&(me=!0);try{e.type&&Qt.emit(mi(e)?"touchMove":"dragMove",Ei(e))}catch(t){}var n=Qe,i=Ue(Ke,Ye);if(!F||tt||$)n+=i,n+="px";else{var a=r?i*rt*100/((it+nt)*Lt):100*i/(it+nt);n+=a,n+="%"}V.style[Ot]=Dt+n+kt}}(t)})):("?"===jt&&(jt=gi()),jt&&(me=!0)),("boolean"!=typeof t.cancelable||t.cancelable)&&me&&t.preventDefault()}}function wi(i){if(Je){Xe&&(Ni(Xe),Xe=null),I&&Jn(V,""),Je=!1;var t=pi(i);Ke.x=t.clientX,Ke.y=t.clientY;var a=Ue(Ke,Ye);if(Math.abs(a)){if(!mi(i)){var n=hi(i);Ui(n,{click:function t(e){yi(e),_i(n,{click:t})}})}I?Xe=Ai(function(){if(F&&!$){var t=-a*rt/(it+nt);t=0<a?Math.floor(t):Math.ceil(t),It+=t}else{var e=-(Qe+a);if(e<=0)It=zt;else if(e>=N[Lt-1])It=Wt;else for(var n=0;n<Lt&&e>=N[n];)e>N[It=n]&&a<0&&(It+=1),n++}ni(i,a),Qt.emit(mi(i)?"touchEnd":"dragEnd",Ei(i))}):jt&&oi(i,0<a?-1:1)}}"auto"===H.preventScrollOnTouch&&(me=!1),Ft&&(jt="?"),gt&&!Pe&&ui()}function Ci(){(M||j).style.height=N[It+rt]-N[It]+"px"}function Mi(){var t=tt?(tt+nt)*Q/it:Q/rt;return Math.min(Math.ceil(t),Q)}function Ti(){if(ht&&!le&&Le!==Be){var t=Be,e=Le,n=Xi;for(Le<Be&&(t=Le,e=Be,n=Qi);t<e;)n(Ee[t]),t++;Be=Le}}function Ei(t){return{container:V,slideItems:G,navContainer:Ae,navItems:Ee,controlsContainer:xe,hasControls:oe,prevButton:we,nextButton:Ce,items:rt,slideBy:ot,cloneCount:Nt,slideCount:Q,slideCountNew:Lt,index:It,indexCached:Pt,displayIndex:tn(),navCurrentIndex:He,navCurrentIndexCached:Oe,pages:Le,pagesCached:Be,sheet:Mt,isOn:Y,event:t||{}}}f&&console.warn("No slides found in",H.container)};return $i}(); 32259//# sourceMappingURL=../sourcemaps/tiny-slider.js.map
32260
vendor: 106,364 bytes, lines 32261-34601
32261(function (global, factory) { 32262 typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : 32263 typeof define === 'function' && define.amd ? define(['exports'], factory) : 32264 (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.noUiSlider = {})); 32265})(this, (function (exports) { 'use strict'; 32266 32267 exports.PipsMode = void 0; 32268 (function (PipsMode) { 32269 PipsMode["Range"] = "range"; 32270 PipsMode["Steps"] = "steps"; 32271 PipsMode["Positions"] = "positions"; 32272 PipsMode["Count"] = "count"; 32273 PipsMode["Values"] = "values"; 32274 })(exports.PipsMode || (exports.PipsMode = {})); 32275 exports.PipsType = void 0; 32276 (function (PipsType) { 32277 PipsType[PipsType["None"] = -1] = "None"; 32278 PipsType[PipsType["NoValue"] = 0] = "NoValue"; 32279 PipsType[PipsType["LargeValue"] = 1] = "LargeValue"; 32280 PipsType[PipsType["SmallValue"] = 2] = "SmallValue"; 32281 })(exports.PipsType || (exports.PipsType = {})); 32282 //region Helper Methods 32283 function isValidFormatter(entry) { 32284 return isValidPartialFormatter(entry) && typeof entry.from === "function"; 32285 } 32286 function isValidPartialFormatter(entry) { 32287 // partial formatters only need a to function and not a from function 32288 return typeof entry === "object" && typeof entry.to === "function"; 32289 } 32290 function removeElement(el) { 32291 el.parentElement.removeChild(el); 32292 } 32293 function isSet(value) { 32294 return value !== null && value !== undefined; 32295 } 32296 // Bindable version 32297 function preventDefault(e) { 32298 e.preventDefault(); 32299 } 32300 // Removes duplicates from an array. 32301 function unique(array) { 32302 return array.filter(function (a) { 32303 return !this[a] ? (this[a] = true) : false; 32304 }, {}); 32305 } 32306 // Round a value to the closest 'to'. 32307 function closest(value, to) { 32308 return Math.round(value / to) * to; 32309 } 32310 // Current position of an element relative to the document. 32311 function offset(elem, orientation) { 32312 var rect = elem.getBoundingClientRect(); 32313 var doc = elem.ownerDocument; 32314 var docElem = doc.documentElement; 32315 var pageOffset = getPageOffset(doc); 32316 // getBoundingClientRect contains left scroll in Chrome on Android. 32317 // I haven't found a feature detection that proves this. Worst case 32318 // scenario on mis-match: the 'tap' feature on horizontal sliders breaks. 32319 if (/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)) { 32320 pageOffset.x = 0; 32321 } 32322 return orientation ? rect.top + pageOffset.y - docElem.clientTop : rect.left + pageOffset.x - docElem.clientLeft; 32323 } 32324 // Checks whether a value is numerical. 32325 function isNumeric(a) { 32326 return typeof a === "number" && !isNaN(a) && isFinite(a); 32327 } 32328 // Sets a class and removes it after [duration] ms. 32329 function addClassFor(element, className, duration) { 32330 if (duration > 0) { 32331 addClass(element, className); 32332 setTimeout(function () { 32333 removeClass(element, className); 32334 }, duration); 32335 } 32336 } 32337 // Limits a value to 0 - 100 32338 function limit(a) { 32339 return Math.max(Math.min(a, 100), 0); 32340 } 32341 // Wraps a variable as an array, if it isn't one yet. 32342 // Note that an input array is returned by reference! 32343 function asArray(a) { 32344 return Array.isArray(a) ? a : [a]; 32345 } 32346 // Counts decimals 32347 function countDecimals(numStr) { 32348 numStr = String(numStr); 32349 var pieces = numStr.split("."); 32350 return pieces.length > 1 ? pieces[1].length : 0; 32351 } 32352 // http://youmightnotneedjquery.com/#add_class 32353 function addClass(el, className) { 32354 if (el.classList && !/\s/.test(className)) { 32355 el.classList.add(className); 32356 } 32357 else { 32358 el.className += " " + className; 32359 } 32360 } 32361 // http://youmightnotneedjquery.com/#remove_class 32362 function removeClass(el, className) { 32363 if (el.classList && !/\s/.test(className)) { 32364 el.classList.remove(className); 32365 } 32366 else { 32367 el.className = el.className.replace(new RegExp("(^|\\b)" + className.split(" ").join("|") + "(\\b|$)", "gi"), " "); 32368 } 32369 } 32370 // https://plainjs.com/javascript/attributes/adding-removing-and-testing-for-classes-9/ 32371 function hasClass(el, className) { 32372 return el.classList ? el.classList.contains(className) : new RegExp("\\b" + className + "\\b").test(el.className); 32373 } 32374 // https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY#Notes 32375 function getPageOffset(doc) { 32376 var supportPageOffset = window.pageXOffset !== undefined; 32377 var isCSS1Compat = (doc.compatMode || "") === "CSS1Compat"; 32378 var x = supportPageOffset 32379 ? window.pageXOffset 32380 : isCSS1Compat 32381 ? doc.documentElement.scrollLeft 32382 : doc.body.scrollLeft; 32383 var y = supportPageOffset 32384 ? window.pageYOffset 32385 : isCSS1Compat 32386 ? doc.documentElement.scrollTop 32387 : doc.body.scrollTop; 32388 return { 32389 x: x, 32390 y: y, 32391 }; 32392 } 32393 // we provide a function to compute constants instead 32394 // of accessing window.* as soon as the module needs it 32395 // so that we do not compute anything if not needed 32396 function getActions() { 32397 // Determine the events to bind. IE11 implements pointerEvents without 32398 // a prefix, which breaks compatibility with the IE10 implementation. 32399 return window.navigator.pointerEnabled 32400 ? { 32401 start: "pointerdown", 32402 move: "pointermove", 32403 end: "pointerup", 32404 } 32405 : window.navigator.msPointerEnabled 32406 ? { 32407 start: "MSPointerDown", 32408 move: "MSPointerMove", 32409 end: "MSPointerUp", 32410 } 32411 : { 32412 start: "mousedown touchstart", 32413 move: "mousemove touchmove", 32414 end: "mouseup touchend", 32415 }; 32416 } 32417 // https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md 32418 // Issue #785 32419 function getSupportsPassive() { 32420 var supportsPassive = false; 32421 /* eslint-disable */ 32422 try { 32423 var opts = Object.defineProperty({}, "passive", { 32424 get: function () { 32425 supportsPassive = true; 32426 }, 32427 }); 32428 // @ts-ignore 32429 window.addEventListener("test", null, opts); 32430 } 32431 catch (e) { } 32432 /* eslint-enable */ 32433 return supportsPassive; 32434 } 32435 function getSupportsTouchActionNone() { 32436 return window.CSS && CSS.supports && CSS.supports("touch-action", "none"); 32437 } 32438 //endregion 32439 //region Range Calculation 32440 // Determine the size of a sub-range in relation to a full range. 32441 function subRangeRatio(pa, pb) { 32442 return 100 / (pb - pa); 32443 } 32444 // (percentage) How many percent is this value of this range? 32445 function fromPercentage(range, value, startRange) { 32446 return (value * 100) / (range[startRange + 1] - range[startRange]); 32447 } 32448 // (percentage) Where is this value on this range? 32449 function toPercentage(range, value) { 32450 return fromPercentage(range, range[0] < 0 ? value + Math.abs(range[0]) : value - range[0], 0); 32451 } 32452 // (value) How much is this percentage on this range? 32453 function isPercentage(range, value) { 32454 return (value * (range[1] - range[0])) / 100 + range[0]; 32455 } 32456 function getJ(value, arr) { 32457 var j = 1; 32458 while (value >= arr[j]) { 32459 j += 1; 32460 } 32461 return j; 32462 } 32463 // (percentage) Input a value, find where, on a scale of 0-100, it applies. 32464 function toStepping(xVal, xPct, value) { 32465 if (value >= xVal.slice(-1)[0]) { 32466 return 100; 32467 } 32468 var j = getJ(value, xVal); 32469 var va = xVal[j - 1]; 32470 var vb = xVal[j]; 32471 var pa = xPct[j - 1]; 32472 var pb = xPct[j]; 32473 return pa + toPercentage([va, vb], value) / subRangeRatio(pa, pb); 32474 } 32475 // (value) Input a percentage, find where it is on the specified range. 32476 function fromStepping(xVal, xPct, value) { 32477 // There is no range group that fits 100 32478 if (value >= 100) { 32479 return xVal.slice(-1)[0]; 32480 } 32481 var j = getJ(value, xPct); 32482 var va = xVal[j - 1]; 32483 var vb = xVal[j]; 32484 var pa = xPct[j - 1]; 32485 var pb = xPct[j]; 32486 return isPercentage([va, vb], (value - pa) * subRangeRatio(pa, pb)); 32487 } 32488 // (percentage) Get the step that applies at a certain value. 32489 function getStep(xPct, xSteps, snap, value) { 32490 if (value === 100) { 32491 return value; 32492 } 32493 var j = getJ(value, xPct); 32494 var a = xPct[j - 1]; 32495 var b = xPct[j]; 32496 // If 'snap' is set, steps are used as fixed points on the slider. 32497 if (snap) { 32498 // Find the closest position, a or b. 32499 if (value - a > (b - a) / 2) { 32500 return b; 32501 } 32502 return a; 32503 } 32504 if (!xSteps[j - 1]) { 32505 return value; 32506 } 32507 return xPct[j - 1] + closest(value - xPct[j - 1], xSteps[j - 1]); 32508 } 32509 //endregion 32510 //region Spectrum 32511 var Spectrum = /** @class */ (function () { 32512 function Spectrum(entry, snap, singleStep) { 32513 this.xPct = []; 32514 this.xVal = []; 32515 this.xSteps = []; 32516 this.xNumSteps = []; 32517 this.xHighestCompleteStep = []; 32518 this.xSteps = [singleStep || false]; 32519 this.xNumSteps = [false]; 32520 this.snap = snap; 32521 var index; 32522 var ordered = []; 32523 // Map the object keys to an array. 32524 Object.keys(entry).forEach(function (index) { 32525 ordered.push([asArray(entry[index]), index]); 32526 }); 32527 // Sort all entries by value (numeric sort). 32528 ordered.sort(function (a, b) { 32529 return a[0][0] - b[0][0]; 32530 }); 32531 // Convert all entries to subranges. 32532 for (index = 0; index < ordered.length; index++) { 32533 this.handleEntryPoint(ordered[index][1], ordered[index][0]); 32534 } 32535 // Store the actual step values. 32536 // xSteps is sorted in the same order as xPct and xVal. 32537 this.xNumSteps = this.xSteps.slice(0); 32538 // Convert all numeric steps to the percentage of the subrange they represent. 32539 for (index = 0; index < this.xNumSteps.length; index++) { 32540 this.handleStepPoint(index, this.xNumSteps[index]); 32541 } 32542 } 32543 Spectrum.prototype.getDistance = function (value) { 32544 var distances = []; 32545 for (var index = 0; index < this.xNumSteps.length - 1; index++) { 32546 distances[index] = fromPercentage(this.xVal, value, index); 32547 } 32548 return distances; 32549 }; 32550 // Calculate the percentual distance over the whole scale of ranges. 32551 // direction: 0 = backwards / 1 = forwards 32552 Spectrum.prototype.getAbsoluteDistance = function (value, distances, direction) { 32553 var xPct_index = 0; 32554 // Calculate range where to start calculation 32555 if (value < this.xPct[this.xPct.length - 1]) { 32556 while (value > this.xPct[xPct_index + 1]) { 32557 xPct_index++; 32558 } 32559 } 32560 else if (value === this.xPct[this.xPct.length - 1]) { 32561 xPct_index = this.xPct.length - 2; 32562 } 32563 // If looking backwards and the value is exactly at a range separator then look one range further 32564 if (!direction && value === this.xPct[xPct_index + 1]) { 32565 xPct_index++; 32566 } 32567 if (distances === null) { 32568 distances = []; 32569 } 32570 var start_factor; 32571 var rest_factor = 1; 32572 var rest_rel_distance = distances[xPct_index]; 32573 var range_pct = 0; 32574 var rel_range_distance = 0; 32575 var abs_distance_counter = 0; 32576 var range_counter = 0; 32577 // Calculate what part of the start range the value is 32578 if (direction) { 32579 start_factor = (value - this.xPct[xPct_index]) / (this.xPct[xPct_index + 1] - this.xPct[xPct_index]); 32580 } 32581 else { 32582 start_factor = (this.xPct[xPct_index + 1] - value) / (this.xPct[xPct_index + 1] - this.xPct[xPct_index]); 32583 } 32584 // Do until the complete distance across ranges is calculated 32585 while (rest_rel_distance > 0) { 32586 // Calculate the percentage of total range 32587 range_pct = this.xPct[xPct_index + 1 + range_counter] - this.xPct[xPct_index + range_counter]; 32588 // Detect if the margin, padding or limit is larger then the current range and calculate 32589 if (distances[xPct_index + range_counter] * rest_factor + 100 - start_factor * 100 > 100) { 32590 // If larger then take the percentual distance of the whole range 32591 rel_range_distance = range_pct * start_factor; 32592 // Rest factor of relative percentual distance still to be calculated 32593 rest_factor = (rest_rel_distance - 100 * start_factor) / distances[xPct_index + range_counter]; 32594 // Set start factor to 1 as for next range it does not apply. 32595 start_factor = 1; 32596 } 32597 else { 32598 // If smaller or equal then take the percentual distance of the calculate percentual part of that range 32599 rel_range_distance = ((distances[xPct_index + range_counter] * range_pct) / 100) * rest_factor; 32600 // No rest left as the rest fits in current range 32601 rest_factor = 0; 32602 } 32603 if (direction) { 32604 abs_distance_counter = abs_distance_counter - rel_range_distance; 32605 // Limit range to first range when distance becomes outside of minimum range 32606 if (this.xPct.length + range_counter >= 1) { 32607 range_counter--; 32608 } 32609 } 32610 else { 32611 abs_distance_counter = abs_distance_counter + rel_range_distance; 32612 // Limit range to last range when distance becomes outside of maximum range 32613 if (this.xPct.length - range_counter >= 1) { 32614 range_counter++; 32615 } 32616 } 32617 // Rest of relative percentual distance still to be calculated 32618 rest_rel_distance = distances[xPct_index + range_counter] * rest_factor; 32619 } 32620 return value + abs_distance_counter; 32621 }; 32622 Spectrum.prototype.toStepping = function (value) { 32623 value = toStepping(this.xVal, this.xPct, value); 32624 return value; 32625 }; 32626 Spectrum.prototype.fromStepping = function (value) { 32627 return fromStepping(this.xVal, this.xPct, value); 32628 }; 32629 Spectrum.prototype.getStep = function (value) { 32630 value = getStep(this.xPct, this.xSteps, this.snap, value); 32631 return value; 32632 }; 32633 Spectrum.prototype.getDefaultStep = function (value, isDown, size) { 32634 var j = getJ(value, this.xPct); 32635 // When at the top or stepping down, look at the previous sub-range 32636 if (value === 100 || (isDown && value === this.xPct[j - 1])) { 32637 j = Math.max(j - 1, 1); 32638 } 32639 return (this.xVal[j] - this.xVal[j - 1]) / size; 32640 }; 32641 Spectrum.prototype.getNearbySteps = function (value) { 32642 var j = getJ(value, this.xPct); 32643 return { 32644 stepBefore: { 32645 startValue: this.xVal[j - 2], 32646 step: this.xNumSteps[j - 2], 32647 highestStep: this.xHighestCompleteStep[j - 2], 32648 }, 32649 thisStep: { 32650 startValue: this.xVal[j - 1], 32651 step: this.xNumSteps[j - 1], 32652 highestStep: this.xHighestCompleteStep[j - 1], 32653 }, 32654 stepAfter: { 32655 startValue: this.xVal[j], 32656 step: this.xNumSteps[j], 32657 highestStep: this.xHighestCompleteStep[j], 32658 }, 32659 }; 32660 }; 32661 Spectrum.prototype.countStepDecimals = function () { 32662 var stepDecimals = this.xNumSteps.map(countDecimals); 32663 return Math.max.apply(null, stepDecimals); 32664 }; 32665 Spectrum.prototype.hasNoSize = function () { 32666 return this.xVal[0] === this.xVal[this.xVal.length - 1]; 32667 }; 32668 // Outside testing 32669 Spectrum.prototype.convert = function (value) { 32670 return this.getStep(this.toStepping(value)); 32671 }; 32672 Spectrum.prototype.handleEntryPoint = function (index, value) { 32673 var percentage; 32674 // Covert min/max syntax to 0 and 100. 32675 if (index === "min") { 32676 percentage = 0; 32677 } 32678 else if (index === "max") { 32679 percentage = 100; 32680 } 32681 else { 32682 percentage = parseFloat(index); 32683 } 32684 // Check for correct input. 32685 if (!isNumeric(percentage) || !isNumeric(value[0])) { 32686 throw new Error("noUiSlider: 'range' value isn't numeric."); 32687 } 32688 // Store values. 32689 this.xPct.push(percentage); 32690 this.xVal.push(value[0]); 32691 var value1 = Number(value[1]); 32692 // NaN will evaluate to false too, but to keep 32693 // logging clear, set step explicitly. Make sure 32694 // not to override the 'step' setting with false. 32695 if (!percentage) { 32696 if (!isNaN(value1)) { 32697 this.xSteps[0] = value1; 32698 } 32699 } 32700 else { 32701 this.xSteps.push(isNaN(value1) ? false : value1); 32702 } 32703 this.xHighestCompleteStep.push(0); 32704 }; 32705 Spectrum.prototype.handleStepPoint = function (i, n) { 32706 // Ignore 'false' stepping. 32707 if (!n) { 32708 return; 32709 } 32710 // Step over zero-length ranges (#948); 32711 if (this.xVal[i] === this.xVal[i + 1]) { 32712 this.xSteps[i] = this.xHighestCompleteStep[i] = this.xVal[i]; 32713 return; 32714 } 32715 // Factor to range ratio 32716 this.xSteps[i] = 32717 fromPercentage([this.xVal[i], this.xVal[i + 1]], n, 0) / subRangeRatio(this.xPct[i], this.xPct[i + 1]); 32718 var totalSteps = (this.xVal[i + 1] - this.xVal[i]) / this.xNumSteps[i]; 32719 var highestStep = Math.ceil(Number(totalSteps.toFixed(3)) - 1); 32720 var step = this.xVal[i] + this.xNumSteps[i] * highestStep; 32721 this.xHighestCompleteStep[i] = step; 32722 }; 32723 return Spectrum; 32724 }()); 32725 //endregion 32726 //region Options 32727 /* Every input option is tested and parsed. This will prevent 32728 endless validation in internal methods. These tests are 32729 structured with an item for every option available. An 32730 option can be marked as required by setting the 'r' flag. 32731 The testing function is provided with three arguments: 32732 - The provided value for the option; 32733 - A reference to the options object; 32734 - The name for the option; 32735 32736 The testing function returns false when an error is detected, 32737 or true when everything is OK. It can also modify the option 32738 object, to make sure all values can be correctly looped elsewhere. */ 32739 //region Defaults 32740 var defaultFormatter = { 32741 to: function (value) { 32742 return value === undefined ? "" : value.toFixed(2); 32743 }, 32744 from: Number, 32745 }; 32746 var cssClasses = { 32747 target: "target", 32748 base: "base", 32749 origin: "origin", 32750 handle: "handle", 32751 handleLower: "handle-lower", 32752 handleUpper: "handle-upper", 32753 touchArea: "touch-area", 32754 horizontal: "horizontal", 32755 vertical: "vertical", 32756 background: "background", 32757 connect: "connect", 32758 connects: "connects", 32759 ltr: "ltr", 32760 rtl: "rtl", 32761 textDirectionLtr: "txt-dir-ltr", 32762 textDirectionRtl: "txt-dir-rtl", 32763 draggable: "draggable", 32764 drag: "state-drag", 32765 tap: "state-tap", 32766 active: "active", 32767 tooltip: "tooltip", 32768 pips: "pips", 32769 pipsHorizontal: "pips-horizontal", 32770 pipsVertical: "pips-vertical", 32771 marker: "marker", 32772 markerHorizontal: "marker-horizontal", 32773 markerVertical: "marker-vertical", 32774 markerNormal: "marker-normal", 32775 markerLarge: "marker-large", 32776 markerSub: "marker-sub", 32777 value: "value", 32778 valueHorizontal: "value-horizontal", 32779 valueVertical: "value-vertical", 32780 valueNormal: "value-normal", 32781 valueLarge: "value-large", 32782 valueSub: "value-sub", 32783 }; 32784 // Namespaces of internal event listeners 32785 var INTERNAL_EVENT_NS = { 32786 tooltips: ".__tooltips", 32787 aria: ".__aria", 32788 }; 32789 //endregion 32790 function testStep(parsed, entry) { 32791 if (!isNumeric(entry)) { 32792 throw new Error("noUiSlider: 'step' is not numeric."); 32793 } 32794 // The step option can still be used to set stepping 32795 // for linear sliders. Overwritten if set in 'range'. 32796 parsed.singleStep = entry; 32797 } 32798 function testKeyboardPageMultiplier(parsed, entry) { 32799 if (!isNumeric(entry)) { 32800 throw new Error("noUiSlider: 'keyboardPageMultiplier' is not numeric."); 32801 } 32802 parsed.keyboardPageMultiplier = entry; 32803 } 32804 function testKeyboardMultiplier(parsed, entry) { 32805 if (!isNumeric(entry)) { 32806 throw new Error("noUiSlider: 'keyboardMultiplier' is not numeric."); 32807 } 32808 parsed.keyboardMultiplier = entry; 32809 } 32810 function testKeyboardDefaultStep(parsed, entry) { 32811 if (!isNumeric(entry)) { 32812 throw new Error("noUiSlider: 'keyboardDefaultStep' is not numeric."); 32813 } 32814 parsed.keyboardDefaultStep = entry; 32815 } 32816 function testRange(parsed, entry) { 32817 // Filter incorrect input. 32818 if (typeof entry !== "object" || Array.isArray(entry)) { 32819 throw new Error("noUiSlider: 'range' is not an object."); 32820 } 32821 // Catch missing start or end. 32822 if (entry.min === undefined || entry.max === undefined) { 32823 throw new Error("noUiSlider: Missing 'min' or 'max' in 'range'."); 32824 } 32825 parsed.spectrum = new Spectrum(entry, parsed.snap || false, parsed.singleStep); 32826 } 32827 function testStart(parsed, entry) { 32828 entry = asArray(entry); 32829 // Validate input. Values aren't tested, as the public .val method 32830 // will always provide a valid location. 32831 if (!Array.isArray(entry) || !entry.length) { 32832 throw new Error("noUiSlider: 'start' option is incorrect."); 32833 } 32834 // Store the number of handles. 32835 parsed.handles = entry.length; 32836 // When the slider is initialized, the .val method will 32837 // be called with the start options. 32838 parsed.start = entry; 32839 } 32840 function testSnap(parsed, entry) { 32841 if (typeof entry !== "boolean") { 32842 throw new Error("noUiSlider: 'snap' option must be a boolean."); 32843 } 32844 // Enforce 100% stepping within subranges. 32845 parsed.snap = entry; 32846 } 32847 function testAnimate(parsed, entry) { 32848 if (typeof entry !== "boolean") { 32849 throw new Error("noUiSlider: 'animate' option must be a boolean."); 32850 } 32851 // Enforce 100% stepping within subranges. 32852 parsed.animate = entry; 32853 } 32854 function testAnimationDuration(parsed, entry) { 32855 if (typeof entry !== "number") { 32856 throw new Error("noUiSlider: 'animationDuration' option must be a number."); 32857 } 32858 parsed.animationDuration = entry; 32859 } 32860 function testConnect(parsed, entry) { 32861 var connect = [false]; 32862 var i; 32863 // Map legacy options 32864 if (entry === "lower") { 32865 entry = [true, false]; 32866 } 32867 else if (entry === "upper") { 32868 entry = [false, true]; 32869 } 32870 // Handle boolean options 32871 if (entry === true || entry === false) { 32872 for (i = 1; i < parsed.handles; i++) { 32873 connect.push(entry); 32874 } 32875 connect.push(false); 32876 } 32877 // Reject invalid input 32878 else if (!Array.isArray(entry) || !entry.length || entry.length !== parsed.handles + 1) { 32879 throw new Error("noUiSlider: 'connect' option doesn't match handle count."); 32880 } 32881 else { 32882 connect = entry; 32883 } 32884 parsed.connect = connect; 32885 } 32886 function testOrientation(parsed, entry) { 32887 // Set orientation to an a numerical value for easy 32888 // array selection. 32889 switch (entry) { 32890 case "horizontal": 32891 parsed.ort = 0; 32892 break; 32893 case "vertical": 32894 parsed.ort = 1; 32895 break; 32896 default: 32897 throw new Error("noUiSlider: 'orientation' option is invalid."); 32898 } 32899 } 32900 function testMargin(parsed, entry) { 32901 if (!isNumeric(entry)) { 32902 throw new Error("noUiSlider: 'margin' option must be numeric."); 32903 } 32904 // Issue #582 32905 if (entry === 0) { 32906 return; 32907 } 32908 parsed.margin = parsed.spectrum.getDistance(entry); 32909 } 32910 function testLimit(parsed, entry) { 32911 if (!isNumeric(entry)) { 32912 throw new Error("noUiSlider: 'limit' option must be numeric."); 32913 } 32914 parsed.limit = parsed.spectrum.getDistance(entry); 32915 if (!parsed.limit || parsed.handles < 2) { 32916 throw new Error("noUiSlider: 'limit' option is only supported on linear sliders with 2 or more handles."); 32917 } 32918 } 32919 function testPadding(parsed, entry) { 32920 var index; 32921 if (!isNumeric(entry) && !Array.isArray(entry)) { 32922 throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers."); 32923 } 32924 if (Array.isArray(entry) && !(entry.length === 2 || isNumeric(entry[0]) || isNumeric(entry[1]))) { 32925 throw new Error("noUiSlider: 'padding' option must be numeric or array of exactly 2 numbers."); 32926 } 32927 if (entry === 0) { 32928 return; 32929 } 32930 if (!Array.isArray(entry)) { 32931 entry = [entry, entry]; 32932 } 32933 // 'getDistance' returns false for invalid values. 32934 parsed.padding = [parsed.spectrum.getDistance(entry[0]), parsed.spectrum.getDistance(entry[1])]; 32935 for (index = 0; index < parsed.spectrum.xNumSteps.length - 1; index++) { 32936 // last "range" can't contain step size as it is purely an endpoint. 32937 if (parsed.padding[0][index] < 0 || parsed.padding[1][index] < 0) { 32938 throw new Error("noUiSlider: 'padding' option must be a positive number(s)."); 32939 } 32940 } 32941 var totalPadding = entry[0] + entry[1]; 32942 var firstValue = parsed.spectrum.xVal[0]; 32943 var lastValue = parsed.spectrum.xVal[parsed.spectrum.xVal.length - 1]; 32944 if (totalPadding / (lastValue - firstValue) > 1) { 32945 throw new Error("noUiSlider: 'padding' option must not exceed 100% of the range."); 32946 } 32947 } 32948 function testDirection(parsed, entry) { 32949 // Set direction as a numerical value for easy parsing. 32950 // Invert connection for RTL sliders, so that the proper 32951 // handles get the connect/background classes. 32952 switch (entry) { 32953 case "ltr": 32954 parsed.dir = 0; 32955 break; 32956 case "rtl": 32957 parsed.dir = 1; 32958 break; 32959 default: 32960 throw new Error("noUiSlider: 'direction' option was not recognized."); 32961 } 32962 } 32963 function testBehaviour(parsed, entry) { 32964 // Make sure the input is a string. 32965 if (typeof entry !== "string") { 32966 throw new Error("noUiSlider: 'behaviour' must be a string containing options."); 32967 } 32968 // Check if the string contains any keywords. 32969 // None are required. 32970 var tap = entry.indexOf("tap") >= 0; 32971 var drag = entry.indexOf("drag") >= 0; 32972 var fixed = entry.indexOf("fixed") >= 0; 32973 var snap = entry.indexOf("snap") >= 0; 32974 var hover = entry.indexOf("hover") >= 0; 32975 var unconstrained = entry.indexOf("unconstrained") >= 0; 32976 var invertConnects = entry.indexOf("invert-connects") >= 0; 32977 var dragAll = entry.indexOf("drag-all") >= 0; 32978 var smoothSteps = entry.indexOf("smooth-steps") >= 0; 32979 if (fixed) { 32980 if (parsed.handles !== 2) { 32981 throw new Error("noUiSlider: 'fixed' behaviour must be used with 2 handles"); 32982 } 32983 // Use margin to enforce fixed state 32984 testMargin(parsed, parsed.start[1] - parsed.start[0]); 32985 } 32986 if (invertConnects && parsed.handles !== 2) { 32987 throw new Error("noUiSlider: 'invert-connects' behaviour must be used with 2 handles"); 32988 } 32989 if (unconstrained && (parsed.margin || parsed.limit)) { 32990 throw new Error("noUiSlider: 'unconstrained' behaviour cannot be used with margin or limit"); 32991 } 32992 parsed.events = { 32993 tap: tap || snap, 32994 drag: drag, 32995 dragAll: dragAll, 32996 smoothSteps: smoothSteps, 32997 fixed: fixed, 32998 snap: snap, 32999 hover: hover, 33000 unconstrained: unconstrained, 33001 invertConnects: invertConnects, 33002 }; 33003 } 33004 function testTooltips(parsed, entry) { 33005 if (entry === false) { 33006 return; 33007 } 33008 if (entry === true || isValidPartialFormatter(entry)) { 33009 parsed.tooltips = []; 33010 for (var i = 0; i < parsed.handles; i++) { 33011 parsed.tooltips.push(entry); 33012 } 33013 } 33014 else { 33015 entry = asArray(entry); 33016 if (entry.length !== parsed.handles) { 33017 throw new Error("noUiSlider: must pass a formatter for all handles."); 33018 } 33019 entry.forEach(function (formatter) { 33020 if (typeof formatter !== "boolean" && !isValidPartialFormatter(formatter)) { 33021 throw new Error("noUiSlider: 'tooltips' must be passed a formatter or 'false'."); 33022 } 33023 }); 33024 parsed.tooltips = entry; 33025 } 33026 } 33027 function testHandleAttributes(parsed, entry) { 33028 if (entry.length !== parsed.handles) { 33029 throw new Error("noUiSlider: must pass a attributes for all handles."); 33030 } 33031 parsed.handleAttributes = entry; 33032 } 33033 function testAriaFormat(parsed, entry) { 33034 if (!isValidPartialFormatter(entry)) { 33035 throw new Error("noUiSlider: 'ariaFormat' requires 'to' method."); 33036 } 33037 parsed.ariaFormat = entry; 33038 } 33039 function testFormat(parsed, entry) { 33040 if (!isValidFormatter(entry)) { 33041 throw new Error("noUiSlider: 'format' requires 'to' and 'from' methods."); 33042 } 33043 parsed.format = entry; 33044 } 33045 function testKeyboardSupport(parsed, entry) { 33046 if (typeof entry !== "boolean") { 33047 throw new Error("noUiSlider: 'keyboardSupport' option must be a boolean."); 33048 } 33049 parsed.keyboardSupport = entry; 33050 } 33051 function testDocumentElement(parsed, entry) { 33052 // This is an advanced option. Passed values are used without validation. 33053 parsed.documentElement = entry; 33054 } 33055 function testCssPrefix(parsed, entry) { 33056 if (typeof entry !== "string" && entry !== false) { 33057 throw new Error("noUiSlider: 'cssPrefix' must be a string or `false`."); 33058 } 33059 parsed.cssPrefix = entry; 33060 } 33061 function testCssClasses(parsed, entry) { 33062 if (typeof entry !== "object") { 33063 throw new Error("noUiSlider: 'cssClasses' must be an object."); 33064 } 33065 if (typeof parsed.cssPrefix === "string") { 33066 parsed.cssClasses = {}; 33067 Object.keys(entry).forEach(function (key) { 33068 parsed.cssClasses[key] = parsed.cssPrefix + entry[key]; 33069 }); 33070 } 33071 else { 33072 parsed.cssClasses = entry; 33073 } 33074 } 33075 // Test all developer settings and parse to assumption-safe values. 33076 function testOptions(options) { 33077 // To prove a fix for #537, freeze options here. 33078 // If the object is modified, an error will be thrown. 33079 // Object.freeze(options); 33080 var parsed = { 33081 margin: null, 33082 limit: null, 33083 padding: null, 33084 animate: true, 33085 animationDuration: 300, 33086 ariaFormat: defaultFormatter, 33087 format: defaultFormatter, 33088 }; 33089 // Tests are executed in the order they are presented here. 33090 var tests = { 33091 step: { r: false, t: testStep }, 33092 keyboardPageMultiplier: { r: false, t: testKeyboardPageMultiplier }, 33093 keyboardMultiplier: { r: false, t: testKeyboardMultiplier }, 33094 keyboardDefaultStep: { r: false, t: testKeyboardDefaultStep }, 33095 start: { r: true, t: testStart }, 33096 connect: { r: true, t: testConnect }, 33097 direction: { r: true, t: testDirection }, 33098 snap: { r: false, t: testSnap }, 33099 animate: { r: false, t: testAnimate }, 33100 animationDuration: { r: false, t: testAnimationDuration }, 33101 range: { r: true, t: testRange }, 33102 orientation: { r: false, t: testOrientation }, 33103 margin: { r: false, t: testMargin }, 33104 limit: { r: false, t: testLimit }, 33105 padding: { r: false, t: testPadding }, 33106 behaviour: { r: true, t: testBehaviour }, 33107 ariaFormat: { r: false, t: testAriaFormat }, 33108 format: { r: false, t: testFormat }, 33109 tooltips: { r: false, t: testTooltips }, 33110 keyboardSupport: { r: true, t: testKeyboardSupport }, 33111 documentElement: { r: false, t: testDocumentElement }, 33112 cssPrefix: { r: true, t: testCssPrefix }, 33113 cssClasses: { r: true, t: testCssClasses }, 33114 handleAttributes: { r: false, t: testHandleAttributes }, 33115 }; 33116 var defaults = { 33117 connect: false, 33118 direction: "ltr", 33119 behaviour: "tap", 33120 orientation: "horizontal", 33121 keyboardSupport: true, 33122 cssPrefix: "noUi-", 33123 cssClasses: cssClasses, 33124 keyboardPageMultiplier: 5, 33125 keyboardMultiplier: 1, 33126 keyboardDefaultStep: 10, 33127 }; 33128 // AriaFormat defaults to regular format, if any. 33129 if (options.format && !options.ariaFormat) { 33130 options.ariaFormat = options.format; 33131 } 33132 // Run all options through a testing mechanism to ensure correct 33133 // input. It should be noted that options might get modified to 33134 // be handled properly. E.g. wrapping integers in arrays. 33135 Object.keys(tests).forEach(function (name) { 33136 // If the option isn't set, but it is required, throw an error. 33137 if (!isSet(options[name]) && defaults[name] === undefined) { 33138 if (tests[name].r) { 33139 throw new Error("noUiSlider: '" + name + "' is required."); 33140 } 33141 return; 33142 } 33143 tests[name].t(parsed, !isSet(options[name]) ? defaults[name] : options[name]); 33144 }); 33145 // Forward pips options 33146 parsed.pips = options.pips; 33147 // All recent browsers accept unprefixed transform. 33148 // We need -ms- for IE9 and -webkit- for older Android; 33149 // Assume use of -webkit- if unprefixed and -ms- are not supported. 33150 // https://caniuse.com/#feat=transforms2d 33151 var d = document.createElement("div"); 33152 var msPrefix = d.style.msTransform !== undefined; 33153 var noPrefix = d.style.transform !== undefined; 33154 parsed.transformRule = noPrefix ? "transform" : msPrefix ? "msTransform" : "webkitTransform"; 33155 // Pips don't move, so we can place them using left/top. 33156 var styles = [ 33157 ["left", "top"], 33158 ["right", "bottom"], 33159 ]; 33160 parsed.style = styles[parsed.dir][parsed.ort]; 33161 return parsed; 33162 } 33163 //endregion 33164 function scope(target, options, originalOptions) { 33165 var actions = getActions(); 33166 var supportsTouchActionNone = getSupportsTouchActionNone(); 33167 var supportsPassive = supportsTouchActionNone && getSupportsPassive(); 33168 // All variables local to 'scope' are prefixed with 'scope_' 33169 // Slider DOM Nodes 33170 var scope_Target = target; 33171 var scope_Base; 33172 var scope_ConnectBase; 33173 var scope_Handles; 33174 var scope_Connects; 33175 var scope_Pips; 33176 var scope_Tooltips; 33177 // Slider state values 33178 var scope_Spectrum = options.spectrum; 33179 var scope_Values = []; 33180 var scope_Locations = []; 33181 var scope_HandleNumbers = []; 33182 var scope_ActiveHandlesCount = 0; 33183 var scope_Events = {}; 33184 var scope_ConnectsInverted = false; 33185 // Document Nodes 33186 var scope_Document = target.ownerDocument; 33187 var scope_DocumentElement = options.documentElement || scope_Document.documentElement; 33188 var scope_Body = scope_Document.body; 33189 // For horizontal sliders in standard ltr documents, 33190 // make .noUi-origin overflow to the left so the document doesn't scroll. 33191 var scope_DirOffset = scope_Document.dir === "rtl" || options.ort === 1 ? 0 : 100; 33192 // Creates a node, adds it to target, returns the new node. 33193 function addNodeTo(addTarget, className) { 33194 var div = scope_Document.createElement("div"); 33195 if (className) { 33196 addClass(div, className); 33197 } 33198 addTarget.appendChild(div); 33199 return div; 33200 } 33201 // Append a origin to the base 33202 function addOrigin(base, handleNumber) { 33203 var origin = addNodeTo(base, options.cssClasses.origin); 33204 var handle = addNodeTo(origin, options.cssClasses.handle); 33205 addNodeTo(handle, options.cssClasses.touchArea); 33206 handle.setAttribute("data-handle", String(handleNumber)); 33207 if (options.keyboardSupport) { 33208 // https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex 33209 // 0 = focusable and reachable 33210 handle.setAttribute("tabindex", "0"); 33211 handle.addEventListener("keydown", function (event) { 33212 return eventKeydown(event, handleNumber); 33213 }); 33214 } 33215 if (options.handleAttributes !== undefined) { 33216 var attributes_1 = options.handleAttributes[handleNumber]; 33217 Object.keys(attributes_1).forEach(function (attribute) { 33218 handle.setAttribute(attribute, attributes_1[attribute]); 33219 }); 33220 } 33221 handle.setAttribute("role", "slider"); 33222 handle.setAttribute("aria-orientation", options.ort ? "vertical" : "horizontal"); 33223 if (handleNumber === 0) { 33224 addClass(handle, options.cssClasses.handleLower); 33225 } 33226 else if (handleNumber === options.handles - 1) { 33227 addClass(handle, options.cssClasses.handleUpper); 33228 } 33229 origin.handle = handle; 33230 return origin; 33231 } 33232 // Insert nodes for connect elements 33233 function addConnect(base, add) { 33234 if (!add) { 33235 return false; 33236 } 33237 return addNodeTo(base, options.cssClasses.connect); 33238 } 33239 // Add handles to the slider base. 33240 function addElements(connectOptions, base) { 33241 scope_ConnectBase = addNodeTo(base, options.cssClasses.connects); 33242 scope_Handles = []; 33243 scope_Connects = []; 33244 scope_Connects.push(addConnect(scope_ConnectBase, connectOptions[0])); 33245 // [::::O====O====O====] 33246 // connectOptions = [0, 1, 1, 1] 33247 for (var i = 0; i < options.handles; i++) { 33248 // Keep a list of all added handles. 33249 scope_Handles.push(addOrigin(base, i)); 33250 scope_HandleNumbers[i] = i; 33251 scope_Connects.push(addConnect(scope_ConnectBase, connectOptions[i + 1])); 33252 } 33253 } 33254 // Initialize a single slider. 33255 function addSlider(addTarget) { 33256 // Apply classes and data to the target. 33257 addClass(addTarget, options.cssClasses.target); 33258 if (options.dir === 0) { 33259 addClass(addTarget, options.cssClasses.ltr); 33260 } 33261 else { 33262 addClass(addTarget, options.cssClasses.rtl); 33263 } 33264 if (options.ort === 0) { 33265 addClass(addTarget, options.cssClasses.horizontal); 33266 } 33267 else { 33268 addClass(addTarget, options.cssClasses.vertical); 33269 } 33270 var textDirection = getComputedStyle(addTarget).direction; 33271 if (textDirection === "rtl") { 33272 addClass(addTarget, options.cssClasses.textDirectionRtl); 33273 } 33274 else { 33275 addClass(addTarget, options.cssClasses.textDirectionLtr); 33276 } 33277 return addNodeTo(addTarget, options.cssClasses.base); 33278 } 33279 function addTooltip(handle, handleNumber) { 33280 if (!options.tooltips || !options.tooltips[handleNumber]) { 33281 return false; 33282 } 33283 return addNodeTo(handle.firstChild, options.cssClasses.tooltip); 33284 } 33285 function isSliderDisabled() { 33286 return scope_Target.hasAttribute("disabled"); 33287 } 33288 // Disable the slider dragging if any handle is disabled 33289 function isHandleDisabled(handleNumber) { 33290 var handleOrigin = scope_Handles[handleNumber]; 33291 return handleOrigin.hasAttribute("disabled"); 33292 } 33293 function disable(handleNumber) { 33294 if (handleNumber !== null && handleNumber !== undefined) { 33295 scope_Handles[handleNumber].setAttribute("disabled", ""); 33296 scope_Handles[handleNumber].handle.removeAttribute("tabindex"); 33297 } 33298 else { 33299 scope_Target.setAttribute("disabled", ""); 33300 scope_Handles.forEach(function (handle) { 33301 handle.handle.removeAttribute("tabindex"); 33302 }); 33303 } 33304 } 33305 function enable(handleNumber) { 33306 if (handleNumber !== null && handleNumber !== undefined) { 33307 scope_Handles[handleNumber].removeAttribute("disabled"); 33308 scope_Handles[handleNumber].handle.setAttribute("tabindex", "0"); 33309 } 33310 else { 33311 scope_Target.removeAttribute("disabled"); 33312 scope_Handles.forEach(function (handle) { 33313 handle.removeAttribute("disabled"); 33314 handle.handle.setAttribute("tabindex", "0"); 33315 }); 33316 } 33317 } 33318 function removeTooltips() { 33319 if (scope_Tooltips) { 33320 removeEvent("update" + INTERNAL_EVENT_NS.tooltips); 33321 scope_Tooltips.forEach(function (tooltip) { 33322 if (tooltip) { 33323 removeElement(tooltip); 33324 } 33325 }); 33326 scope_Tooltips = null; 33327 } 33328 } 33329 // The tooltips option is a shorthand for using the 'update' event. 33330 function tooltips() { 33331 removeTooltips(); 33332 // Tooltips are added with options.tooltips in original order. 33333 scope_Tooltips = scope_Handles.map(addTooltip); 33334 bindEvent("update" + INTERNAL_EVENT_NS.tooltips, function (values, handleNumber, unencoded) { 33335 if (!scope_Tooltips || !options.tooltips) { 33336 return; 33337 } 33338 if (scope_Tooltips[handleNumber] === false) { 33339 return; 33340 } 33341 var formattedValue = values[handleNumber]; 33342 if (options.tooltips[handleNumber] !== true) { 33343 formattedValue = options.tooltips[handleNumber].to(unencoded[handleNumber]); 33344 } 33345 scope_Tooltips[handleNumber].innerHTML = formattedValue; 33346 }); 33347 } 33348 function aria() { 33349 removeEvent("update" + INTERNAL_EVENT_NS.aria); 33350 bindEvent("update" + INTERNAL_EVENT_NS.aria, function (values, handleNumber, unencoded, tap, positions) { 33351 // Update Aria Values for all handles, as a change in one changes min and max values for the next. 33352 scope_HandleNumbers.forEach(function (index) { 33353 var handle = scope_Handles[index]; 33354 var min = checkHandlePosition(scope_Locations, index, 0, true, true, true); 33355 var max = checkHandlePosition(scope_Locations, index, 100, true, true, true); 33356 var now = positions[index]; 33357 // Formatted value for display 33358 var text = String(options.ariaFormat.to(unencoded[index])); 33359 // Map to slider range values 33360 min = scope_Spectrum.fromStepping(min).toFixed(1); 33361 max = scope_Spectrum.fromStepping(max).toFixed(1); 33362 now = scope_Spectrum.fromStepping(now).toFixed(1); 33363 handle.children[0].setAttribute("aria-valuemin", min); 33364 handle.children[0].setAttribute("aria-valuemax", max); 33365 handle.children[0].setAttribute("aria-valuenow", now); 33366 handle.children[0].setAttribute("aria-valuetext", text); 33367 }); 33368 }); 33369 } 33370 function getGroup(pips) { 33371 // Use the range. 33372 if (pips.mode === exports.PipsMode.Range || pips.mode === exports.PipsMode.Steps) { 33373 return scope_Spectrum.xVal; 33374 } 33375 if (pips.mode === exports.PipsMode.Count) { 33376 if (pips.values < 2) { 33377 throw new Error("noUiSlider: 'values' (>= 2) required for mode 'count'."); 33378 } 33379 // Divide 0 - 100 in 'count' parts. 33380 var interval = pips.values - 1; 33381 var spread = 100 / interval; 33382 var values = []; 33383 // List these parts and have them handled as 'positions'. 33384 while (interval--) { 33385 values[interval] = interval * spread; 33386 } 33387 values.push(100); 33388 return mapToRange(values, pips.stepped); 33389 } 33390 if (pips.mode === exports.PipsMode.Positions) { 33391 // Map all percentages to on-range values. 33392 return mapToRange(pips.values, pips.stepped); 33393 } 33394 if (pips.mode === exports.PipsMode.Values) { 33395 // If the value must be stepped, it needs to be converted to a percentage first. 33396 if (pips.stepped) { 33397 return pips.values.map(function (value) { 33398 // Convert to percentage, apply step, return to value. 33399 return scope_Spectrum.fromStepping(scope_Spectrum.getStep(scope_Spectrum.toStepping(value))); 33400 }); 33401 } 33402 // Otherwise, we can simply use the values. 33403 return pips.values; 33404 } 33405 return []; // pips.mode = never 33406 } 33407 function mapToRange(values, stepped) { 33408 return values.map(function (value) { 33409 return scope_Spectrum.fromStepping(stepped ? scope_Spectrum.getStep(value) : value); 33410 }); 33411 } 33412 function generateSpread(pips) { 33413 function safeIncrement(value, increment) { 33414 // Avoid floating point variance by dropping the smallest decimal places. 33415 return Number((value + increment).toFixed(7)); 33416 } 33417 var group = getGroup(pips); 33418 var indexes = {}; 33419 var firstInRange = scope_Spectrum.xVal[0]; 33420 var lastInRange = scope_Spectrum.xVal[scope_Spectrum.xVal.length - 1]; 33421 var ignoreFirst = false; 33422 var ignoreLast = false; 33423 var prevPct = 0; 33424 // Create a copy of the group, sort it and filter away all duplicates. 33425 group = unique(group.slice().sort(function (a, b) { 33426 return a - b; 33427 })); 33428 // Make sure the range starts with the first element. 33429 if (group[0] !== firstInRange) { 33430 group.unshift(firstInRange); 33431 ignoreFirst = true; 33432 } 33433 // Likewise for the last one. 33434 if (group[group.length - 1] !== lastInRange) { 33435 group.push(lastInRange); 33436 ignoreLast = true; 33437 } 33438 group.forEach(function (current, index) { 33439 // Get the current step and the lower + upper positions. 33440 var step; 33441 var i; 33442 var q; 33443 var low = current; 33444 var high = group[index + 1]; 33445 var newPct; 33446 var pctDifference; 33447 var pctPos; 33448 var type; 33449 var steps; 33450 var realSteps; 33451 var stepSize; 33452 var isSteps = pips.mode === exports.PipsMode.Steps; 33453 // When using 'steps' mode, use the provided steps. 33454 // Otherwise, we'll step on to the next subrange. 33455 if (isSteps) { 33456 step = scope_Spectrum.xNumSteps[index]; 33457 } 33458 // Default to a 'full' step. 33459 if (!step) { 33460 step = high - low; 33461 } 33462 // If high is undefined we are at the last subrange. Make sure it iterates once (#1088) 33463 if (high === undefined) { 33464 high = low; 33465 } 33466 // Make sure step isn't 0, which would cause an infinite loop (#654) 33467 step = Math.max(step, 0.0000001); 33468 // Find all steps in the subrange. 33469 for (i = low; i <= high; i = safeIncrement(i, step)) { 33470 // Get the percentage value for the current step, 33471 // calculate the size for the subrange. 33472 newPct = scope_Spectrum.toStepping(i); 33473 pctDifference = newPct - prevPct; 33474 steps = pctDifference / (pips.density || 1); 33475 realSteps = Math.round(steps); 33476 // This ratio represents the amount of percentage-space a point indicates. 33477 // For a density 1 the points/percentage = 1. For density 2, that percentage needs to be re-divided. 33478 // Round the percentage offset to an even number, then divide by two 33479 // to spread the offset on both sides of the range. 33480 stepSize = pctDifference / realSteps; 33481 // Divide all points evenly, adding the correct number to this subrange. 33482 // Run up to <= so that 100% gets a point, event if ignoreLast is set. 33483 for (q = 1; q <= realSteps; q += 1) { 33484 // The ratio between the rounded value and the actual size might be ~1% off. 33485 // Correct the percentage offset by the number of points 33486 // per subrange. density = 1 will result in 100 points on the 33487 // full range, 2 for 50, 4 for 25, etc. 33488 pctPos = prevPct + q * stepSize; 33489 indexes[pctPos.toFixed(5)] = [scope_Spectrum.fromStepping(pctPos), 0]; 33490 } 33491 // Determine the point type. 33492 type = group.indexOf(i) > -1 ? exports.PipsType.LargeValue : isSteps ? exports.PipsType.SmallValue : exports.PipsType.NoValue; 33493 // Enforce the 'ignoreFirst' option by overwriting the type for 0. 33494 if (!index && ignoreFirst && i !== high) { 33495 type = 0; 33496 } 33497 if (!(i === high && ignoreLast)) { 33498 // Mark the 'type' of this point. 0 = plain, 1 = real value, 2 = step value. 33499 indexes[newPct.toFixed(5)] = [i, type]; 33500 } 33501 // Update the percentage count. 33502 prevPct = newPct; 33503 } 33504 }); 33505 return indexes; 33506 } 33507 function addMarking(spread, filterFunc, formatter) { 33508 var _a, _b; 33509 var element = scope_Document.createElement("div"); 33510 var valueSizeClasses = (_a = {}, 33511 _a[exports.PipsType.None] = "", 33512 _a[exports.PipsType.NoValue] = options.cssClasses.valueNormal, 33513 _a[exports.PipsType.LargeValue] = options.cssClasses.valueLarge, 33514 _a[exports.PipsType.SmallValue] = options.cssClasses.valueSub, 33515 _a); 33516 var markerSizeClasses = (_b = {}, 33517 _b[exports.PipsType.None] = "", 33518 _b[exports.PipsType.NoValue] = options.cssClasses.markerNormal, 33519 _b[exports.PipsType.LargeValue] = options.cssClasses.markerLarge, 33520 _b[exports.PipsType.SmallValue] = options.cssClasses.markerSub, 33521 _b); 33522 var valueOrientationClasses = [options.cssClasses.valueHorizontal, options.cssClasses.valueVertical]; 33523 var markerOrientationClasses = [options.cssClasses.markerHorizontal, options.cssClasses.markerVertical]; 33524 addClass(element, options.cssClasses.pips); 33525 addClass(element, options.ort === 0 ? options.cssClasses.pipsHorizontal : options.cssClasses.pipsVertical); 33526 function getClasses(type, source) { 33527 var a = source === options.cssClasses.value; 33528 var orientationClasses = a ? valueOrientationClasses : markerOrientationClasses; 33529 var sizeClasses = a ? valueSizeClasses : markerSizeClasses; 33530 return source + " " + orientationClasses[options.ort] + " " + sizeClasses[type]; 33531 } 33532 function addSpread(offset, value, type) { 33533 // Apply the filter function, if it is set. 33534 type = filterFunc ? filterFunc(value, type) : type; 33535 if (type === exports.PipsType.None) { 33536 return; 33537 } 33538 // Add a marker for every point 33539 var node = addNodeTo(element, false); 33540 node.className = getClasses(type, options.cssClasses.marker); 33541 node.style[options.style] = offset + "%"; 33542 // Values are only appended for points marked '1' or '2'. 33543 if (type > exports.PipsType.NoValue) { 33544 node = addNodeTo(element, false); 33545 node.className = getClasses(type, options.cssClasses.value); 33546 node.setAttribute("data-value", String(value)); 33547 node.style[options.style] = offset + "%"; 33548 node.innerHTML = String(formatter.to(value)); 33549 } 33550 } 33551 // Append all points. 33552 Object.keys(spread).forEach(function (offset) { 33553 addSpread(offset, spread[offset][0], spread[offset][1]); 33554 }); 33555 return element; 33556 } 33557 function removePips() { 33558 if (scope_Pips) { 33559 removeElement(scope_Pips); 33560 scope_Pips = null; 33561 } 33562 } 33563 function pips(pips) { 33564 // Fix #669 33565 removePips(); 33566 var spread = generateSpread(pips); 33567 var filter = pips.filter; 33568 var format = pips.format || { 33569 to: function (value) { 33570 return String(Math.round(value)); 33571 }, 33572 }; 33573 scope_Pips = scope_Target.appendChild(addMarking(spread, filter, format)); 33574 return scope_Pips; 33575 } 33576 // Shorthand for base dimensions. 33577 function baseSize() { 33578 var rect = scope_Base.getBoundingClientRect(); 33579 var alt = ("offset" + ["Width", "Height"][options.ort]); 33580 return options.ort === 0 ? rect.width || scope_Base[alt] : rect.height || scope_Base[alt]; 33581 } 33582 // Handler for attaching events trough a proxy. 33583 function attachEvent(events, element, callback, data) { 33584 // This function can be used to 'filter' events to the slider. 33585 // element is a node, not a nodeList 33586 var method = function (event) { 33587 var e = fixEvent(event, data.pageOffset, data.target || element); 33588 // fixEvent returns false if this event has a different target 33589 // when handling (multi-) touch events; 33590 if (!e) { 33591 return false; 33592 } 33593 // doNotReject is passed by all end events to make sure released touches 33594 // are not rejected, leaving the slider "stuck" to the cursor; 33595 if (isSliderDisabled() && !data.doNotReject) { 33596 return false; 33597 } 33598 // Stop if an active 'tap' transition is taking place. 33599 if (hasClass(scope_Target, options.cssClasses.tap) && !data.doNotReject) { 33600 return false; 33601 } 33602 // Ignore right or middle clicks on start #454 33603 if (events === actions.start && e.buttons !== undefined && e.buttons > 1) { 33604 return false; 33605 } 33606 // Ignore right or middle clicks on start #454 33607 if (data.hover && e.buttons) { 33608 return false; 33609 } 33610 // 'supportsPassive' is only true if a browser also supports touch-action: none in CSS. 33611 // iOS safari does not, so it doesn't get to benefit from passive scrolling. iOS does support 33612 // touch-action: manipulation, but that allows panning, which breaks 33613 // sliders after zooming/on non-responsive pages. 33614 // See: https://bugs.webkit.org/show_bug.cgi?id=133112 33615 if (!supportsPassive) { 33616 e.preventDefault(); 33617 } 33618 e.calcPoint = e.points[options.ort]; 33619 // Call the event handler with the event [ and additional data ]. 33620 callback(e, data); 33621 return; 33622 }; 33623 var methods = []; 33624 // Bind a closure on the target for every event type. 33625 events.split(" ").forEach(function (eventName) { 33626 element.addEventListener(eventName, method, supportsPassive ? { passive: true } : false); 33627 methods.push([eventName, method]); 33628 }); 33629 return methods; 33630 } 33631 // Provide a clean event with standardized offset values. 33632 function fixEvent(e, pageOffset, eventTarget) { 33633 // Filter the event to register the type, which can be 33634 // touch, mouse or pointer. Offset changes need to be 33635 // made on an event specific basis. 33636 var touch = e.type.indexOf("touch") === 0; 33637 var mouse = e.type.indexOf("mouse") === 0; 33638 var pointer = e.type.indexOf("pointer") === 0; 33639 var x = 0; 33640 var y = 0; 33641 // IE10 implemented pointer events with a prefix; 33642 if (e.type.indexOf("MSPointer") === 0) { 33643 pointer = true; 33644 } 33645 // Erroneous events seem to be passed in occasionally on iOS/iPadOS after user finishes interacting with 33646 // the slider. They appear to be of type MouseEvent, yet they don't have usual properties set. Ignore 33647 // events that have no touches or buttons associated with them. (#1057, #1079, #1095) 33648 if (e.type === "mousedown" && !e.buttons && !e.touches) { 33649 return false; 33650 } 33651 // The only thing one handle should be concerned about is the touches that originated on top of it. 33652 if (touch) { 33653 // Returns true if a touch originated on the target. 33654 var isTouchOnTarget = function (checkTouch) { 33655 var target = checkTouch.target; 33656 return (target === eventTarget || 33657 eventTarget.contains(target) || 33658 (e.composed && e.composedPath().shift() === eventTarget)); 33659 }; 33660 // In the case of touchstart events, we need to make sure there is still no more than one 33661 // touch on the target so we look amongst all touches. 33662 if (e.type === "touchstart") { 33663 var targetTouches = Array.prototype.filter.call(e.touches, isTouchOnTarget); 33664 // Do not support more than one touch per handle. 33665 if (targetTouches.length > 1) { 33666 return false; 33667 } 33668 x = targetTouches[0].pageX; 33669 y = targetTouches[0].pageY; 33670 } 33671 else { 33672 // In the other cases, find on changedTouches is enough. 33673 var targetTouch = Array.prototype.find.call(e.changedTouches, isTouchOnTarget); 33674 // Cancel if the target touch has not moved. 33675 if (!targetTouch) { 33676 return false; 33677 } 33678 x = targetTouch.pageX; 33679 y = targetTouch.pageY; 33680 } 33681 } 33682 pageOffset = pageOffset || getPageOffset(scope_Document); 33683 if (mouse || pointer) { 33684 x = e.clientX + pageOffset.x; 33685 y = e.clientY + pageOffset.y; 33686 } 33687 e.pageOffset = pageOffset; 33688 e.points = [x, y]; 33689 e.cursor = mouse || pointer; // Fix #435 33690 return e; 33691 } 33692 // Translate a coordinate in the document to a percentage on the slider 33693 function calcPointToPercentage(calcPoint) { 33694 var location = calcPoint - offset(scope_Base, options.ort); 33695 var proposal = (location * 100) / baseSize(); 33696 // Clamp proposal between 0% and 100% 33697 // Out-of-bound coordinates may occur when .noUi-base pseudo-elements 33698 // are used (e.g. contained handles feature) 33699 proposal = limit(proposal); 33700 return options.dir ? 100 - proposal : proposal; 33701 } 33702 // Find handle closest to a certain percentage on the slider 33703 function getClosestHandle(clickedPosition) { 33704 var smallestDifference = 100; 33705 var handleNumber = false; 33706 scope_Handles.forEach(function (handle, index) { 33707 // Disabled handles are ignored 33708 if (isHandleDisabled(index)) { 33709 return; 33710 } 33711 var handlePosition = scope_Locations[index]; 33712 var differenceWithThisHandle = Math.abs(handlePosition - clickedPosition); 33713 // Initial state 33714 var clickAtEdge = differenceWithThisHandle === 100 && smallestDifference === 100; 33715 // Difference with this handle is smaller than the previously checked handle 33716 var isCloser = differenceWithThisHandle < smallestDifference; 33717 var isCloserAfter = differenceWithThisHandle <= smallestDifference && clickedPosition > handlePosition; 33718 if (isCloser || isCloserAfter || clickAtEdge) { 33719 handleNumber = index; 33720 smallestDifference = differenceWithThisHandle; 33721 } 33722 }); 33723 return handleNumber; 33724 } 33725 // Fire 'end' when a mouse or pen leaves the document. 33726 function documentLeave(event, data) { 33727 if (event.type === "mouseout" && 33728 event.target.nodeName === "HTML" && 33729 event.relatedTarget === null) { 33730 eventEnd(event, data); 33731 } 33732 } 33733 // Handle movement on document for handle and range drag. 33734 function eventMove(event, data) { 33735 // Fix #498 33736 // Check value of .buttons in 'start' to work around a bug in IE10 mobile (data.buttonsProperty). 33737 // https://connect.microsoft.com/IE/feedback/details/927005/mobile-ie10-windows-phone-buttons-property-of-pointermove-event-always-zero 33738 // IE9 has .buttons and .which zero on mousemove. 33739 // Firefox breaks the spec MDN defines. 33740 if (navigator.appVersion.indexOf("MSIE 9") === -1 && event.buttons === 0 && data.buttonsProperty !== 0) { 33741 return eventEnd(event, data); 33742 } 33743 // Check if we are moving up or down 33744 var movement = (options.dir ? -1 : 1) * (event.calcPoint - data.startCalcPoint); 33745 // Convert the movement into a percentage of the slider width/height 33746 var proposal = (movement * 100) / data.baseSize; 33747 moveHandles(movement > 0, proposal, data.locations, data.handleNumbers, data.connect); 33748 } 33749 // Unbind move events on document, call callbacks. 33750 function eventEnd(event, data) { 33751 // The handle is no longer active, so remove the class. 33752 if (data.handle) { 33753 removeClass(data.handle, options.cssClasses.active); 33754 scope_ActiveHandlesCount -= 1; 33755 } 33756 // Unbind the move and end events, which are added on 'start'. 33757 data.listeners.forEach(function (c) { 33758 scope_DocumentElement.removeEventListener(c[0], c[1]); 33759 }); 33760 if (scope_ActiveHandlesCount === 0) { 33761 // Remove dragging class. 33762 removeClass(scope_Target, options.cssClasses.drag); 33763 setZindex(); 33764 // Remove cursor styles and text-selection events bound to the body. 33765 if (event.cursor) { 33766 scope_Body.style.cursor = ""; 33767 scope_Body.removeEventListener("selectstart", preventDefault); 33768 } 33769 } 33770 if (options.events.smoothSteps) { 33771 data.handleNumbers.forEach(function (handleNumber) { 33772 setHandle(handleNumber, scope_Locations[handleNumber], true, true, false, false); 33773 }); 33774 data.handleNumbers.forEach(function (handleNumber) { 33775 fireEvent("update", handleNumber); 33776 }); 33777 } 33778 data.handleNumbers.forEach(function (handleNumber) { 33779 fireEvent("change", handleNumber); 33780 fireEvent("set", handleNumber); 33781 fireEvent("end", handleNumber); 33782 }); 33783 } 33784 // Bind move events on document. 33785 function eventStart(event, data) { 33786 // Ignore event if any handle is disabled 33787 if (data.handleNumbers.some(isHandleDisabled)) { 33788 return; 33789 } 33790 var handle; 33791 if (data.handleNumbers.length === 1) { 33792 var handleOrigin = scope_Handles[data.handleNumbers[0]]; 33793 handle = handleOrigin.children[0]; 33794 scope_ActiveHandlesCount += 1; 33795 // Mark the handle as 'active' so it can be styled. 33796 addClass(handle, options.cssClasses.active); 33797 } 33798 // A drag should never propagate up to the 'tap' event. 33799 event.stopPropagation(); 33800 // Record the event listeners. 33801 var listeners = []; 33802 // Attach the move and end events. 33803 var moveEvent = attachEvent(actions.move, scope_DocumentElement, eventMove, { 33804 // The event target has changed so we need to propagate the original one so that we keep 33805 // relying on it to extract target touches. 33806 target: event.target, 33807 handle: handle, 33808 connect: data.connect, 33809 listeners: listeners, 33810 startCalcPoint: event.calcPoint, 33811 baseSize: baseSize(), 33812 pageOffset: event.pageOffset, 33813 handleNumbers: data.handleNumbers, 33814 buttonsProperty: event.buttons, 33815 locations: scope_Locations.slice(), 33816 }); 33817 var endEvent = attachEvent(actions.end, scope_DocumentElement, eventEnd, { 33818 target: event.target, 33819 handle: handle, 33820 listeners: listeners, 33821 doNotReject: true, 33822 handleNumbers: data.handleNumbers, 33823 }); 33824 var outEvent = attachEvent("mouseout", scope_DocumentElement, documentLeave, { 33825 target: event.target, 33826 handle: handle, 33827 listeners: listeners, 33828 doNotReject: true, 33829 handleNumbers: data.handleNumbers, 33830 }); 33831 // We want to make sure we pushed the listeners in the listener list rather than creating 33832 // a new one as it has already been passed to the event handlers. 33833 listeners.push.apply(listeners, moveEvent.concat(endEvent, outEvent)); 33834 // Text selection isn't an issue on touch devices, 33835 // so adding cursor styles can be skipped. 33836 if (event.cursor) { 33837 // Prevent the 'I' cursor and extend the range-drag cursor. 33838 scope_Body.style.cursor = getComputedStyle(event.target).cursor; 33839 // Mark the target with a dragging state. 33840 if (scope_Handles.length > 1) { 33841 addClass(scope_Target, options.cssClasses.drag); 33842 } 33843 // Prevent text selection when dragging the handles. 33844 // In noUiSlider <= 9.2.0, this was handled by calling preventDefault on mouse/touch start/move, 33845 // which is scroll blocking. The selectstart event is supported by FireFox starting from version 52, 33846 // meaning the only holdout is iOS Safari. This doesn't matter: text selection isn't triggered there. 33847 // The 'cursor' flag is false. 33848 // See: http://caniuse.com/#search=selectstart 33849 scope_Body.addEventListener("selectstart", preventDefault, false); 33850 } 33851 data.handleNumbers.forEach(function (handleNumber) { 33852 fireEvent("start", handleNumber); 33853 }); 33854 } 33855 // Move closest handle to tapped location. 33856 function eventTap(event) { 33857 // The tap event shouldn't propagate up 33858 event.stopPropagation(); 33859 var proposal = calcPointToPercentage(event.calcPoint); 33860 var handleNumber = getClosestHandle(proposal); 33861 // Tackle the case that all handles are 'disabled'. 33862 if (handleNumber === false) { 33863 return; 33864 } 33865 // Flag the slider as it is now in a transitional state. 33866 // Transition takes a configurable amount of ms (default 300). Re-enable the slider after that. 33867 if (!options.events.snap) { 33868 addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration); 33869 } 33870 setHandle(handleNumber, proposal, true, true); 33871 setZindex(); 33872 fireEvent("slide", handleNumber, true); 33873 fireEvent("update", handleNumber, true); 33874 if (!options.events.snap) { 33875 fireEvent("change", handleNumber, true); 33876 fireEvent("set", handleNumber, true); 33877 } 33878 else { 33879 eventStart(event, { handleNumbers: [handleNumber] }); 33880 } 33881 } 33882 // Fires a 'hover' event for a hovered mouse/pen position. 33883 function eventHover(event) { 33884 var proposal = calcPointToPercentage(event.calcPoint); 33885 var to = scope_Spectrum.getStep(proposal); 33886 var value = scope_Spectrum.fromStepping(to); 33887 Object.keys(scope_Events).forEach(function (targetEvent) { 33888 if ("hover" === targetEvent.split(".")[0]) { 33889 scope_Events[targetEvent].forEach(function (callback) { 33890 callback.call(scope_Self, value); 33891 }); 33892 } 33893 }); 33894 } 33895 // Handles keydown on focused handles 33896 // Don't move the document when pressing arrow keys on focused handles 33897 function eventKeydown(event, handleNumber) { 33898 if (isSliderDisabled() || isHandleDisabled(handleNumber)) { 33899 return false; 33900 } 33901 var horizontalKeys = ["Left", "Right"]; 33902 var verticalKeys = ["Down", "Up"]; 33903 var largeStepKeys = ["PageDown", "PageUp"]; 33904 var edgeKeys = ["Home", "End"]; 33905 if (options.dir && !options.ort) { 33906 // On an right-to-left slider, the left and right keys act inverted 33907 horizontalKeys.reverse(); 33908 } 33909 else if (options.ort && !options.dir) { 33910 // On a top-to-bottom slider, the up and down keys act inverted 33911 verticalKeys.reverse(); 33912 largeStepKeys.reverse(); 33913 } 33914 // Strip "Arrow" for IE compatibility. https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key 33915 var key = event.key.replace("Arrow", ""); 33916 var isLargeDown = key === largeStepKeys[0]; 33917 var isLargeUp = key === largeStepKeys[1]; 33918 var isDown = key === verticalKeys[0] || key === horizontalKeys[0] || isLargeDown; 33919 var isUp = key === verticalKeys[1] || key === horizontalKeys[1] || isLargeUp; 33920 var isMin = key === edgeKeys[0]; 33921 var isMax = key === edgeKeys[1]; 33922 if (!isDown && !isUp && !isMin && !isMax) { 33923 return true; 33924 } 33925 event.preventDefault(); 33926 var to; 33927 if (isUp || isDown) { 33928 var direction = isDown ? 0 : 1; 33929 var steps = getNextStepsForHandle(handleNumber); 33930 var step = steps[direction]; 33931 // At the edge of a slider, do nothing 33932 if (step === null) { 33933 return false; 33934 } 33935 // No step set, use the default of 10% of the sub-range 33936 if (step === false) { 33937 step = scope_Spectrum.getDefaultStep(scope_Locations[handleNumber], isDown, options.keyboardDefaultStep); 33938 } 33939 if (isLargeUp || isLargeDown) { 33940 step *= options.keyboardPageMultiplier; 33941 } 33942 else { 33943 step *= options.keyboardMultiplier; 33944 } 33945 // Step over zero-length ranges (#948); 33946 step = Math.max(step, 0.0000001); 33947 // Decrement for down steps 33948 step = (isDown ? -1 : 1) * step; 33949 to = scope_Values[handleNumber] + step; 33950 } 33951 else if (isMax) { 33952 // End key 33953 to = options.spectrum.xVal[options.spectrum.xVal.length - 1]; 33954 } 33955 else { 33956 // Home key 33957 to = options.spectrum.xVal[0]; 33958 } 33959 setHandle(handleNumber, scope_Spectrum.toStepping(to), true, true); 33960 fireEvent("slide", handleNumber); 33961 fireEvent("update", handleNumber); 33962 fireEvent("change", handleNumber); 33963 fireEvent("set", handleNumber); 33964 return false; 33965 } 33966 // Attach events to several slider parts. 33967 function bindSliderEvents(behaviour) { 33968 // Attach the standard drag event to the handles. 33969 if (!behaviour.fixed) { 33970 scope_Handles.forEach(function (handle, index) { 33971 // These events are only bound to the visual handle 33972 // element, not the 'real' origin element. 33973 attachEvent(actions.start, handle.children[0], eventStart, { 33974 handleNumbers: [index], 33975 }); 33976 }); 33977 } 33978 // Attach the tap event to the slider base. 33979 if (behaviour.tap) { 33980 attachEvent(actions.start, scope_Base, eventTap, {}); 33981 } 33982 // Fire hover events 33983 if (behaviour.hover) { 33984 attachEvent(actions.move, scope_Base, eventHover, { 33985 hover: true, 33986 }); 33987 } 33988 // Make the range draggable. 33989 if (behaviour.drag) { 33990 scope_Connects.forEach(function (connect, index) { 33991 if (connect === false || index === 0 || index === scope_Connects.length - 1) { 33992 return; 33993 } 33994 var handleBefore = scope_Handles[index - 1]; 33995 var handleAfter = scope_Handles[index]; 33996 var eventHolders = [connect]; 33997 var handlesToDrag = [handleBefore, handleAfter]; 33998 var handleNumbersToDrag = [index - 1, index]; 33999 addClass(connect, options.cssClasses.draggable); 34000 // When the range is fixed, the entire range can 34001 // be dragged by the handles. The handle in the first 34002 // origin will propagate the start event upward, 34003 // but it needs to be bound manually on the other. 34004 if (behaviour.fixed) { 34005 eventHolders.push(handleBefore.children[0]); 34006 eventHolders.push(handleAfter.children[0]); 34007 } 34008 if (behaviour.dragAll) { 34009 handlesToDrag = scope_Handles; 34010 handleNumbersToDrag = scope_HandleNumbers; 34011 } 34012 eventHolders.forEach(function (eventHolder) { 34013 attachEvent(actions.start, eventHolder, eventStart, { 34014 handles: handlesToDrag, 34015 handleNumbers: handleNumbersToDrag, 34016 connect: connect, 34017 }); 34018 }); 34019 }); 34020 } 34021 } 34022 // Attach an event to this slider, possibly including a namespace 34023 function bindEvent(namespacedEvent, callback) { 34024 scope_Events[namespacedEvent] = scope_Events[namespacedEvent] || []; 34025 scope_Events[namespacedEvent].push(callback); 34026 // If the event bound is 'update,' fire it immediately for all handles. 34027 if (namespacedEvent.split(".")[0] === "update") { 34028 scope_Handles.forEach(function (a, index) { 34029 fireEvent("update", index); 34030 }); 34031 } 34032 } 34033 function isInternalNamespace(namespace) { 34034 return namespace === INTERNAL_EVENT_NS.aria || namespace === INTERNAL_EVENT_NS.tooltips; 34035 } 34036 // Undo attachment of event 34037 function removeEvent(namespacedEvent) { 34038 var event = namespacedEvent && namespacedEvent.split(".")[0]; 34039 var namespace = event ? namespacedEvent.substring(event.length) : namespacedEvent; 34040 Object.keys(scope_Events).forEach(function (bind) { 34041 var tEvent = bind.split(".")[0]; 34042 var tNamespace = bind.substring(tEvent.length); 34043 if ((!event || event === tEvent) && (!namespace || namespace === tNamespace)) { 34044 // only delete protected internal event if intentional 34045 if (!isInternalNamespace(tNamespace) || namespace === tNamespace) { 34046 delete scope_Events[bind]; 34047 } 34048 } 34049 }); 34050 } 34051 // External event handling 34052 function fireEvent(eventName, handleNumber, tap) { 34053 Object.keys(scope_Events).forEach(function (targetEvent) { 34054 var eventType = targetEvent.split(".")[0]; 34055 if (eventName === eventType) { 34056 scope_Events[targetEvent].forEach(function (callback) { 34057 callback.call( 34058 // Use the slider public API as the scope ('this') 34059 scope_Self, 34060 // Return values as array, so arg_1[arg_2] is always valid. 34061 scope_Values.map(options.format.to), 34062 // Handle index, 0 or 1 34063 handleNumber, 34064 // Un-formatted slider values 34065 scope_Values.slice(), 34066 // Event is fired by tap, true or false 34067 tap || false, 34068 // Left offset of the handle, in relation to the slider 34069 scope_Locations.slice(), 34070 // add the slider public API to an accessible parameter when this is unavailable 34071 scope_Self); 34072 }); 34073 } 34074 }); 34075 } 34076 // Split out the handle positioning logic so the Move event can use it, too 34077 function checkHandlePosition(reference, handleNumber, to, lookBackward, lookForward, getValue, smoothSteps) { 34078 var distance; 34079 // For sliders with multiple handles, limit movement to the other handle. 34080 // Apply the margin option by adding it to the handle positions. 34081 if (scope_Handles.length > 1 && !options.events.unconstrained) { 34082 if (lookBackward && handleNumber > 0) { 34083 distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber - 1], options.margin, false); 34084 to = Math.max(to, distance); 34085 } 34086 if (lookForward && handleNumber < scope_Handles.length - 1) { 34087 distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber + 1], options.margin, true); 34088 to = Math.min(to, distance); 34089 } 34090 } 34091 // The limit option has the opposite effect, limiting handles to a 34092 // maximum distance from another. Limit must be > 0, as otherwise 34093 // handles would be unmovable. 34094 if (scope_Handles.length > 1 && options.limit) { 34095 if (lookBackward && handleNumber > 0) { 34096 distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber - 1], options.limit, false); 34097 to = Math.min(to, distance); 34098 } 34099 if (lookForward && handleNumber < scope_Handles.length - 1) { 34100 distance = scope_Spectrum.getAbsoluteDistance(reference[handleNumber + 1], options.limit, true); 34101 to = Math.max(to, distance); 34102 } 34103 } 34104 // The padding option keeps the handles a certain distance from the 34105 // edges of the slider. Padding must be > 0. 34106 if (options.padding) { 34107 if (handleNumber === 0) { 34108 distance = scope_Spectrum.getAbsoluteDistance(0, options.padding[0], false); 34109 to = Math.max(to, distance); 34110 } 34111 if (handleNumber === scope_Handles.length - 1) { 34112 distance = scope_Spectrum.getAbsoluteDistance(100, options.padding[1], true); 34113 to = Math.min(to, distance); 34114 } 34115 } 34116 if (!smoothSteps) { 34117 to = scope_Spectrum.getStep(to); 34118 } 34119 // Limit percentage to the 0 - 100 range 34120 to = limit(to); 34121 // Return false if handle can't move 34122 if (to === reference[handleNumber] && !getValue) { 34123 return false; 34124 } 34125 return to; 34126 } 34127 // Uses slider orientation to create CSS rules. a = base value; 34128 function inRuleOrder(v, a) { 34129 var o = options.ort; 34130 return (o ? a : v) + ", " + (o ? v : a); 34131 } 34132 // Moves handle(s) by a percentage 34133 // (bool, % to move, [% where handle started, ...], [index in scope_Handles, ...]) 34134 function moveHandles(upward, proposal, locations, handleNumbers, connect) { 34135 var proposals = locations.slice(); 34136 // Store first handle now, so we still have it in case handleNumbers is reversed 34137 var firstHandle = handleNumbers[0]; 34138 var smoothSteps = options.events.smoothSteps; 34139 var b = [!upward, upward]; 34140 var f = [upward, !upward]; 34141 // Copy handleNumbers so we don't change the dataset 34142 handleNumbers = handleNumbers.slice(); 34143 // Check to see which handle is 'leading'. 34144 // If that one can't move the second can't either. 34145 if (upward) { 34146 handleNumbers.reverse(); 34147 } 34148 // Step 1: get the maximum percentage that any of the handles can move 34149 if (handleNumbers.length > 1) { 34150 handleNumbers.forEach(function (handleNumber, o) { 34151 var to = checkHandlePosition(proposals, handleNumber, proposals[handleNumber] + proposal, b[o], f[o], false, smoothSteps); 34152 // Stop if one of the handles can't move. 34153 if (to === false) { 34154 proposal = 0; 34155 } 34156 else { 34157 proposal = to - proposals[handleNumber]; 34158 proposals[handleNumber] = to; 34159 } 34160 }); 34161 } 34162 // If using one handle, check backward AND forward 34163 else { 34164 b = f = [true]; 34165 } 34166 var state = false; 34167 // Step 2: Try to set the handles with the found percentage 34168 handleNumbers.forEach(function (handleNumber, o) { 34169 state = 34170 setHandle(handleNumber, locations[handleNumber] + proposal, b[o], f[o], false, smoothSteps) || state; 34171 }); 34172 // Step 3: If a handle moved, fire events 34173 if (state) { 34174 handleNumbers.forEach(function (handleNumber) { 34175 fireEvent("update", handleNumber); 34176 fireEvent("slide", handleNumber); 34177 }); 34178 // If target is a connect, then fire drag event 34179 if (connect != undefined) { 34180 fireEvent("drag", firstHandle); 34181 } 34182 } 34183 } 34184 // Takes a base value and an offset. This offset is used for the connect bar size. 34185 // In the initial design for this feature, the origin element was 1% wide. 34186 // Unfortunately, a rounding bug in Chrome makes it impossible to implement this feature 34187 // in this manner: https://bugs.chromium.org/p/chromium/issues/detail?id=798223 34188 function transformDirection(a, b) { 34189 return options.dir ? 100 - a - b : a; 34190 } 34191 // Updates scope_Locations and scope_Values, updates visual state 34192 function updateHandlePosition(handleNumber, to) { 34193 // Update locations. 34194 scope_Locations[handleNumber] = to; 34195 // Convert the value to the slider stepping/range. 34196 scope_Values[handleNumber] = scope_Spectrum.fromStepping(to); 34197 var translation = transformDirection(to, 0) - scope_DirOffset; 34198 var translateRule = "translate(" + inRuleOrder(translation + "%", "0") + ")"; 34199 scope_Handles[handleNumber].style[options.transformRule] = translateRule; 34200 // sanity check for at least 2 handles (e.g. during setup) 34201 if (options.events.invertConnects && scope_Locations.length > 1) { 34202 // check if handles passed each other, but don't match the ConnectsInverted state 34203 var handlesAreInOrder = scope_Locations.every(function (position, index, locations) { 34204 return index === 0 || position >= locations[index - 1]; 34205 }); 34206 if (scope_ConnectsInverted !== !handlesAreInOrder) { 34207 // invert connects when handles pass each other 34208 invertConnects(); 34209 // invertConnects already updates all connect elements 34210 return; 34211 } 34212 } 34213 updateConnect(handleNumber); 34214 updateConnect(handleNumber + 1); 34215 if (scope_ConnectsInverted) { 34216 // When connects are inverted, we also have to update adjacent connects 34217 updateConnect(handleNumber - 1); 34218 updateConnect(handleNumber + 2); 34219 } 34220 } 34221 // Handles before the slider middle are stacked later = higher, 34222 // Handles after the middle later is lower 34223 // [[7] [8] .......... | .......... [5] [4] 34224 function setZindex() { 34225 scope_HandleNumbers.forEach(function (handleNumber) { 34226 var dir = scope_Locations[handleNumber] > 50 ? -1 : 1; 34227 var zIndex = 3 + (scope_Handles.length + dir * handleNumber); 34228 scope_Handles[handleNumber].style.zIndex = String(zIndex); 34229 }); 34230 } 34231 // Test suggested values and apply margin, step. 34232 // if exactInput is true, don't run checkHandlePosition, then the handle can be placed in between steps (#436) 34233 function setHandle(handleNumber, to, lookBackward, lookForward, exactInput, smoothSteps) { 34234 if (!exactInput) { 34235 to = checkHandlePosition(scope_Locations, handleNumber, to, lookBackward, lookForward, false, smoothSteps); 34236 } 34237 if (to === false) { 34238 return false; 34239 } 34240 updateHandlePosition(handleNumber, to); 34241 return true; 34242 } 34243 // Updates style attribute for connect nodes 34244 function updateConnect(index) { 34245 // Skip connects set to false 34246 if (!scope_Connects[index]) { 34247 return; 34248 } 34249 // Create a copy of locations, so we can sort them for the local scope logic 34250 var locations = scope_Locations.slice(); 34251 if (scope_ConnectsInverted) { 34252 locations.sort(function (a, b) { 34253 return a - b; 34254 }); 34255 } 34256 var l = 0; 34257 var h = 100; 34258 if (index !== 0) { 34259 l = locations[index - 1]; 34260 } 34261 if (index !== scope_Connects.length - 1) { 34262 h = locations[index]; 34263 } 34264 // We use two rules: 34265 // 'translate' to change the left/top offset; 34266 // 'scale' to change the width of the element; 34267 // As the element has a width of 100%, a translation of 100% is equal to 100% of the parent (.noUi-base) 34268 var connectWidth = h - l; 34269 var translateRule = "translate(" + inRuleOrder(transformDirection(l, connectWidth) + "%", "0") + ")"; 34270 var scaleRule = "scale(" + inRuleOrder(connectWidth / 100, "1") + ")"; 34271 scope_Connects[index].style[options.transformRule] = 34272 translateRule + " " + scaleRule; 34273 } 34274 // Parses value passed to .set method. Returns current value if not parse-able. 34275 function resolveToValue(to, handleNumber) { 34276 // Setting with null indicates an 'ignore'. 34277 // Inputting 'false' is invalid. 34278 if (to === null || to === false || to === undefined) { 34279 return scope_Locations[handleNumber]; 34280 } 34281 // If a formatted number was passed, attempt to decode it. 34282 if (typeof to === "number") { 34283 to = String(to); 34284 } 34285 to = options.format.from(to); 34286 if (to !== false) { 34287 to = scope_Spectrum.toStepping(to); 34288 } 34289 // If parsing the number failed, use the current value. 34290 if (to === false || isNaN(to)) { 34291 return scope_Locations[handleNumber]; 34292 } 34293 return to; 34294 } 34295 // Set the slider value. 34296 function valueSet(input, fireSetEvent, exactInput) { 34297 var values = asArray(input); 34298 var isInit = scope_Locations[0] === undefined; 34299 // Event fires by default 34300 fireSetEvent = fireSetEvent === undefined ? true : fireSetEvent; 34301 // Animation is optional. 34302 // Make sure the initial values were set before using animated placement. 34303 if (options.animate && !isInit) { 34304 addClassFor(scope_Target, options.cssClasses.tap, options.animationDuration); 34305 } 34306 // First pass, without lookAhead but with lookBackward. Values are set from left to right. 34307 scope_HandleNumbers.forEach(function (handleNumber) { 34308 setHandle(handleNumber, resolveToValue(values[handleNumber], handleNumber), true, false, exactInput); 34309 }); 34310 var i = scope_HandleNumbers.length === 1 ? 0 : 1; 34311 // Spread handles evenly across the slider if the range has no size (min=max) 34312 if (isInit && scope_Spectrum.hasNoSize()) { 34313 exactInput = true; 34314 scope_Locations[0] = 0; 34315 if (scope_HandleNumbers.length > 1) { 34316 var space_1 = 100 / (scope_HandleNumbers.length - 1); 34317 scope_HandleNumbers.forEach(function (handleNumber) { 34318 scope_Locations[handleNumber] = handleNumber * space_1; 34319 }); 34320 } 34321 } 34322 // Secondary passes. Now that all base values are set, apply constraints. 34323 // Iterate all handles to ensure constraints are applied for the entire slider (Issue #1009) 34324 for (; i < scope_HandleNumbers.length; ++i) { 34325 scope_HandleNumbers.forEach(function (handleNumber) { 34326 setHandle(handleNumber, scope_Locations[handleNumber], true, true, exactInput); 34327 }); 34328 } 34329 setZindex(); 34330 scope_HandleNumbers.forEach(function (handleNumber) { 34331 fireEvent("update", handleNumber); 34332 // Fire the event only for handles that received a new value, as per #579 34333 if (values[handleNumber] !== null && fireSetEvent) { 34334 fireEvent("set", handleNumber); 34335 } 34336 }); 34337 } 34338 // Reset slider to initial values 34339 function valueReset(fireSetEvent) { 34340 valueSet(options.start, fireSetEvent); 34341 } 34342 // Set value for a single handle 34343 function valueSetHandle(handleNumber, value, fireSetEvent, exactInput) { 34344 // Ensure numeric input 34345 handleNumber = Number(handleNumber); 34346 if (!(handleNumber >= 0 && handleNumber < scope_HandleNumbers.length)) { 34347 throw new Error("noUiSlider: invalid handle number, got: " + handleNumber); 34348 } 34349 // Look both backward and forward, since we don't want this handle to "push" other handles (#960); 34350 // The exactInput argument can be used to ignore slider stepping (#436) 34351 setHandle(handleNumber, resolveToValue(value, handleNumber), true, true, exactInput); 34352 fireEvent("update", handleNumber); 34353 if (fireSetEvent) { 34354 fireEvent("set", handleNumber); 34355 } 34356 } 34357 // Get the slider value. 34358 function valueGet(unencoded) { 34359 if (unencoded === void 0) { unencoded = false; } 34360 if (unencoded) { 34361 // return a copy of the raw values 34362 return scope_Values.length === 1 ? scope_Values[0] : scope_Values.slice(0); 34363 } 34364 var values = scope_Values.map(options.format.to); 34365 // If only one handle is used, return a single value. 34366 if (values.length === 1) { 34367 return values[0]; 34368 } 34369 return values; 34370 } 34371 // Removes classes from the root and empties it. 34372 function destroy() { 34373 // remove protected internal listeners 34374 removeEvent(INTERNAL_EVENT_NS.aria); 34375 removeEvent(INTERNAL_EVENT_NS.tooltips); 34376 Object.keys(options.cssClasses).forEach(function (key) { 34377 removeClass(scope_Target, options.cssClasses[key]); 34378 }); 34379 while (scope_Target.firstChild) { 34380 scope_Target.removeChild(scope_Target.firstChild); 34381 } 34382 delete scope_Target.noUiSlider; 34383 } 34384 function getNextStepsForHandle(handleNumber) { 34385 var location = scope_Locations[handleNumber]; 34386 var nearbySteps = scope_Spectrum.getNearbySteps(location); 34387 var value = scope_Values[handleNumber]; 34388 var increment = nearbySteps.thisStep.step; 34389 var decrement = null; 34390 // If snapped, directly use defined step value 34391 if (options.snap) { 34392 return [ 34393 value - nearbySteps.stepBefore.startValue || null, 34394 nearbySteps.stepAfter.startValue - value || null, 34395 ]; 34396 } 34397 // If the next value in this step moves into the next step, 34398 // the increment is the start of the next step - the current value 34399 if (increment !== false) { 34400 if (value + increment > nearbySteps.stepAfter.startValue) { 34401 increment = nearbySteps.stepAfter.startValue - value; 34402 } 34403 } 34404 // If the value is beyond the starting point 34405 if (value > nearbySteps.thisStep.startValue) { 34406 decrement = nearbySteps.thisStep.step; 34407 } 34408 else if (nearbySteps.stepBefore.step === false) { 34409 decrement = false; 34410 } 34411 // If a handle is at the start of a step, it always steps back into the previous step first 34412 else { 34413 decrement = value - nearbySteps.stepBefore.highestStep; 34414 } 34415 // Now, if at the slider edges, there is no in/decrement 34416 if (location === 100) { 34417 increment = null; 34418 } 34419 else if (location === 0) { 34420 decrement = null; 34421 } 34422 // As per #391, the comparison for the decrement step can have some rounding issues. 34423 var stepDecimals = scope_Spectrum.countStepDecimals(); 34424 // Round per #391 34425 if (increment !== null && increment !== false) { 34426 increment = Number(increment.toFixed(stepDecimals)); 34427 } 34428 if (decrement !== null && decrement !== false) { 34429 decrement = Number(decrement.toFixed(stepDecimals)); 34430 } 34431 return [decrement, increment]; 34432 } 34433 // Get the current step size for the slider. 34434 function getNextSteps() { 34435 return scope_HandleNumbers.map(getNextStepsForHandle); 34436 } 34437 // Updatable: margin, limit, padding, step, range, animate, snap 34438 function updateOptions(optionsToUpdate, fireSetEvent) { 34439 // Spectrum is created using the range, snap, direction and step options. 34440 // 'snap' and 'step' can be updated. 34441 // If 'snap' and 'step' are not passed, they should remain unchanged. 34442 var v = valueGet(); 34443 var updateAble = [ 34444 "margin", 34445 "limit", 34446 "padding", 34447 "range", 34448 "animate", 34449 "snap", 34450 "step", 34451 "format", 34452 "pips", 34453 "tooltips", 34454 "connect", 34455 ]; 34456 // Only change options that we're actually passed to update. 34457 updateAble.forEach(function (name) { 34458 // Check for undefined. null removes the value. 34459 if (optionsToUpdate[name] !== undefined) { 34460 originalOptions[name] = optionsToUpdate[name]; 34461 } 34462 }); 34463 var newOptions = testOptions(originalOptions); 34464 // Load new options into the slider state 34465 updateAble.forEach(function (name) { 34466 if (optionsToUpdate[name] !== undefined) { 34467 options[name] = newOptions[name]; 34468 } 34469 }); 34470 scope_Spectrum = newOptions.spectrum; 34471 // Limit, margin and padding depend on the spectrum but are stored outside of it. (#677) 34472 options.margin = newOptions.margin; 34473 options.limit = newOptions.limit; 34474 options.padding = newOptions.padding; 34475 // Update pips, removes existing. 34476 if (options.pips) { 34477 pips(options.pips); 34478 } 34479 else { 34480 removePips(); 34481 } 34482 // Update tooltips, removes existing. 34483 if (options.tooltips) { 34484 tooltips(); 34485 } 34486 else { 34487 removeTooltips(); 34488 } 34489 // Invalidate the current positioning so valueSet forces an update. 34490 scope_Locations = []; 34491 valueSet(isSet(optionsToUpdate.start) ? optionsToUpdate.start : v, fireSetEvent); 34492 // Update connects only if it was set 34493 if (optionsToUpdate.connect) { 34494 updateConnectOption(); 34495 } 34496 } 34497 function updateConnectOption() { 34498 // IE supported way of removing children including event handlers 34499 while (scope_ConnectBase.firstChild) { 34500 scope_ConnectBase.removeChild(scope_ConnectBase.firstChild); 34501 } 34502 // Adding new connects according to the new connect options 34503 for (var i = 0; i <= options.handles; i++) { 34504 scope_Connects[i] = addConnect(scope_ConnectBase, options.connect[i]); 34505 updateConnect(i); 34506 } 34507 // re-adding drag events for the new connect elements 34508 // to ignore the other events we have to negate the 'if (!behaviour.fixed)' check 34509 bindSliderEvents({ drag: options.events.drag, fixed: true }); 34510 } 34511 // Invert options for connect handles 34512 function invertConnects() { 34513 scope_ConnectsInverted = !scope_ConnectsInverted; 34514 testConnect(options, 34515 // inverse the connect boolean array 34516 options.connect.map(function (b) { return !b; })); 34517 updateConnectOption(); 34518 } 34519 // Initialization steps 34520 function setupSlider() { 34521 // Create the base element, initialize HTML and set classes. 34522 // Add handles and connect elements. 34523 scope_Base = addSlider(scope_Target); 34524 addElements(options.connect, scope_Base); 34525 // Attach user events. 34526 bindSliderEvents(options.events); 34527 // Use the public value method to set the start values. 34528 valueSet(options.start); 34529 if (options.pips) { 34530 pips(options.pips); 34531 } 34532 if (options.tooltips) { 34533 tooltips(); 34534 } 34535 aria(); 34536 } 34537 setupSlider(); 34538 var scope_Self = { 34539 destroy: destroy, 34540 steps: getNextSteps, 34541 on: bindEvent, 34542 off: removeEvent, 34543 get: valueGet, 34544 set: valueSet, 34545 setHandle: valueSetHandle, 34546 reset: valueReset, 34547 disable: disable, 34548 enable: enable, 34549 // Exposed for unit testing, don't use this in your application. 34550 __moveHandles: function (upward, proposal, handleNumbers) { 34551 moveHandles(upward, proposal, scope_Locations, handleNumbers); 34552 }, 34553 options: originalOptions, 34554 updateOptions: updateOptions, 34555 target: scope_Target, 34556 removePips: removePips, 34557 removeTooltips: removeTooltips, 34558 getPositions: function () { 34559 return scope_Locations.slice(); 34560 }, 34561 getTooltips: function () { 34562 return scope_Tooltips; 34563 }, 34564 getOrigins: function () { 34565 return scope_Handles; 34566 }, 34567 pips: pips, // Issue #594 34568 }; 34569 return scope_Self; 34570 } 34571 // Run the standard initializer 34572 function initialize(target, originalOptions) { 34573 if (!target || !target.nodeName) { 34574 throw new Error("noUiSlider: create requires a single element, got: " + target); 34575 } 34576 // Throw an error if the slider was already initialized. 34577 if (target.noUiSlider) { 34578 throw new Error("noUiSlider: Slider was already initialized."); 34579 } 34580 // Test the options and create the slider environment; 34581 var options = testOptions(originalOptions); 34582 var api = scope(target, options, originalOptions); 34583 target.noUiSlider = api; 34584 return api; 34585 } 34586 var nouislider = { 34587 // Exposed for unit testing, don't use this in your application. 34588 __spectrum: Spectrum, 34589 // A reference to the default classes, allows global changes. 34590 // Use the cssClasses option for changes to one slider. 34591 cssClasses: cssClasses, 34592 create: initialize, 34593 }; 34594 34595 exports.create = initialize; 34596 exports.cssClasses = cssClasses; 34597 exports["default"] = nouislider; 34598 34599 Object.defineProperty(exports, '__esModule', { value: true }); 34600 34601}));
vendor: 6,763 bytes, lines 34602-34834
34602 34603(function (global, factory) { 34604 typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : 34605 typeof define === 'function' && define.amd ? define(factory) : 34606 (global = global || self, global.autosize = factory()); 34607}(this, (function () { 34608 var assignedElements = new Map(); 34609 34610 function assign(ta) { 34611 if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || assignedElements.has(ta)) return; 34612 var previousHeight = null; 34613 34614 function cacheScrollTops(el) { 34615 var arr = []; 34616 34617 while (el && el.parentNode && el.parentNode instanceof Element) { 34618 if (el.parentNode.scrollTop) { 34619 arr.push([el.parentNode, el.parentNode.scrollTop]); 34620 } 34621 34622 el = el.parentNode; 34623 } 34624 34625 return function () { 34626 return arr.forEach(function (_ref) { 34627 var node = _ref[0], 34628 scrollTop = _ref[1]; 34629 node.style.scrollBehavior = 'auto'; 34630 node.scrollTop = scrollTop; 34631 node.style.scrollBehavior = null; 34632 }); 34633 }; 34634 } 34635 34636 var computed = window.getComputedStyle(ta); 34637 34638 function setHeight(_ref2) { 34639 var _ref2$restoreTextAlig = _ref2.restoreTextAlign, 34640 restoreTextAlign = _ref2$restoreTextAlig === void 0 ? null : _ref2$restoreTextAlig, 34641 _ref2$testForHeightRe = _ref2.testForHeightReduction, 34642 testForHeightReduction = _ref2$testForHeightRe === void 0 ? true : _ref2$testForHeightRe; 34643 var initialOverflowY = computed.overflowY; 34644 34645 if (ta.scrollHeight === 0) { 34646 // If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM. 34647 return; 34648 } // disallow vertical resizing 34649 34650 34651 if (computed.resize === 'vertical') { 34652 ta.style.resize = 'none'; 34653 } else if (computed.resize === 'both') { 34654 ta.style.resize = 'horizontal'; 34655 } 34656 34657 var restoreScrollTops; // remove inline height style to accurately measure situations where the textarea should shrink 34658 // however, skip this step if the new value appends to the previous value, as textarea height should only have grown 34659 34660 if (testForHeightReduction) { 34661 // ensure the scrollTop values of parent elements are not modified as a consequence of shrinking the textarea height 34662 restoreScrollTops = cacheScrollTops(ta); 34663 ta.style.height = ''; 34664 } 34665 34666 var newHeight; 34667 34668 if (computed.boxSizing === 'content-box') { 34669 newHeight = ta.scrollHeight - (parseFloat(computed.paddingTop) + parseFloat(computed.paddingBottom)); 34670 } else { 34671 newHeight = ta.scrollHeight + parseFloat(computed.borderTopWidth) + parseFloat(computed.borderBottomWidth); 34672 } 34673 34674 if (computed.maxHeight !== 'none' && newHeight > parseFloat(computed.maxHeight)) { 34675 if (computed.overflowY === 'hidden') { 34676 ta.style.overflow = 'scroll'; 34677 } 34678 34679 newHeight = parseFloat(computed.maxHeight); 34680 } else if (computed.overflowY !== 'hidden') { 34681 ta.style.overflow = 'hidden'; 34682 } 34683 34684 ta.style.height = newHeight + 'px'; 34685 34686 if (restoreTextAlign) { 34687 ta.style.textAlign = restoreTextAlign; 34688 } 34689 34690 if (restoreScrollTops) { 34691 restoreScrollTops(); 34692 } 34693 34694 if (previousHeight !== newHeight) { 34695 ta.dispatchEvent(new Event('autosize:resized', { 34696 bubbles: true 34697 })); 34698 previousHeight = newHeight; 34699 } 34700 34701 if (initialOverflowY !== computed.overflow && !restoreTextAlign) { 34702 var textAlign = computed.textAlign; 34703 34704 if (computed.overflow === 'hidden') { 34705 // Webkit fails to reflow text after overflow is hidden, 34706 // even if hiding overflow would allow text to fit more compactly. 34707 // The following is intended to force the necessary text reflow. 34708 ta.style.textAlign = textAlign === 'start' ? 'end' : 'start'; 34709 } 34710 34711 setHeight({ 34712 restoreTextAlign: textAlign, 34713 testForHeightReduction: true 34714 }); 34715 } 34716 } 34717 34718 function fullSetHeight() { 34719 setHeight({ 34720 testForHeightReduction: true, 34721 restoreTextAlign: null 34722 }); 34723 } 34724 34725 var handleInput = function () { 34726 var previousValue = ta.value; 34727 return function () { 34728 setHeight({ 34729 // if previousValue is '', check for height shrinkage because the placeholder may be taking up space instead 34730 // if new value is merely appending to previous value, skip checking for height deduction 34731 testForHeightReduction: previousValue === '' || !ta.value.startsWith(previousValue), 34732 restoreTextAlign: null 34733 }); 34734 previousValue = ta.value; 34735 }; 34736 }(); 34737 34738 var destroy = function (style) { 34739 ta.removeEventListener('autosize:destroy', destroy); 34740 ta.removeEventListener('autosize:update', fullSetHeight); 34741 ta.removeEventListener('input', handleInput); 34742 window.removeEventListener('resize', fullSetHeight); // future todo: consider replacing with ResizeObserver 34743 34744 Object.keys(style).forEach(function (key) { 34745 return ta.style[key] = style[key]; 34746 }); 34747 assignedElements["delete"](ta); 34748 }.bind(ta, { 34749 height: ta.style.height, 34750 resize: ta.style.resize, 34751 textAlign: ta.style.textAlign, 34752 overflowY: ta.style.overflowY, 34753 overflowX: ta.style.overflowX, 34754 wordWrap: ta.style.wordWrap 34755 }); 34756 34757 ta.addEventListener('autosize:destroy', destroy); 34758 ta.addEventListener('autosize:update', fullSetHeight); 34759 ta.addEventListener('input', handleInput); 34760 window.addEventListener('resize', fullSetHeight); // future todo: consider replacing with ResizeObserver 34761 34762 ta.style.overflowX = 'hidden'; 34763 ta.style.wordWrap = 'break-word'; 34764 assignedElements.set(ta, { 34765 destroy: destroy, 34766 update: fullSetHeight 34767 }); 34768 fullSetHeight(); 34769 } 34770 34771 function destroy(ta) { 34772 var methods = assignedElements.get(ta); 34773 34774 if (methods) { 34775 methods.destroy(); 34776 } 34777 } 34778 34779 function update(ta) { 34780 var methods = assignedElements.get(ta); 34781 34782 if (methods) { 34783 methods.update(); 34784 } 34785 } 34786 34787 var autosize = null; // Do nothing in Node.js environment 34788 34789 if (typeof window === 'undefined') { 34790 autosize = function autosize(el) { 34791 return el; 34792 }; 34793 34794 autosize.destroy = function (el) { 34795 return el; 34796 }; 34797 34798 autosize.update = function (el) { 34799 return el; 34800 }; 34801 } else { 34802 autosize = function autosize(el, options) { 34803 if (el) { 34804 Array.prototype.forEach.call(el.length ? el : [el], function (x) { 34805 return assign(x); 34806 }); 34807 } 34808 34809 return el; 34810 }; 34811 34812 autosize.destroy = function (el) { 34813 if (el) { 34814 Array.prototype.forEach.call(el.length ? el : [el], destroy); 34815 } 34816 34817 return el; 34818 }; 34819 34820 autosize.update = function (el) { 34821 if (el) { 34822 Array.prototype.forEach.call(el.length ? el : [el], update); 34823 } 34824 34825 return el; 34826 }; 34827 } 34828 34829 var autosize$1 = autosize; 34830 34831 return autosize$1; 34832 34833}))); 34834
vendor: 9,160 bytes, lines 34835-34841
34835/*! 34836 * clipboard.js v2.0.11 34837 * https://clipboardjs.com/ 34838 * 34839 * Licensed MIT © Zeno Rocha 34840 */ 34841!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){"use strict";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c("cut"),t};function o(t,e){var n,o,t=(n=t,o="rtl"===document.documentElement.getAttribute("dir"),(t=document.createElement("textarea")).style.fontSize="12pt",t.style.border="0",t.style.padding="0",t.style.margin="0",t.style.position="absolute",t.style[o?"right":"left"]="-9999px",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top="".concat(o,"px"),t.setAttribute("readonly",""),t.value=n,t);return e.container.appendChild(t),e=r()(t),c("copy"),t.remove(),e}var f=function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body},n="";return"string"==typeof t?n=o(t,e):t instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(null==t?void 0:t.type)?n=o(t.value,e):(n=r()(t),c("copy")),n};function l(t){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var s=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=t.action,n=void 0===e?"copy":e,o=t.container,e=t.target,t=t.text;if("copy"!==n&&"cut"!==n)throw new Error('Invalid "action" value, use either "copy" or "cut"');if(void 0!==e){if(!e||"object"!==l(e)||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===n&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===n&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes')}return t?f(t,{container:o}):e?"cut"===n?a(e):f(e,{container:o}):void 0};function p(t){return(p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function d(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}function y(t,e){return(y=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t})(t,e)}function h(n){var o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(t){return!1}}();return function(){var t,e=v(n);return t=o?(t=v(this).constructor,Reflect.construct(e,arguments,t)):e.apply(this,arguments),e=this,!(t=t)||"object"!==p(t)&&"function"!=typeof t?function(t){if(void 0!==t)return t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(e):t}}function v(t){return(v=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function m(t,e){t="data-clipboard-".concat(t);if(e.hasAttribute(t))return e.getAttribute(t)}var b=function(){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&y(t,e)}(r,i());var t,e,n,o=h(r);function r(t,e){var n;return function(t){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}(this),(n=o.call(this)).resolveOptions(e),n.listenClick(t),n}return t=r,n=[{key:"copy",value:function(t){var e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{container:document.body};return f(t,e)}},{key:"cut",value:function(t){return a(t)}},{key:"isSupported",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:["copy","cut"],t="string"==typeof t?[t]:t,e=!!document.queryCommandSupported;return t.forEach(function(t){e=e&&!!document.queryCommandSupported(t)}),e}}],(e=[{key:"resolveOptions",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof t.action?t.action:this.defaultAction,this.target="function"==typeof t.target?t.target:this.defaultTarget,this.text="function"==typeof t.text?t.text:this.defaultText,this.container="object"===p(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=u()(t,"click",function(t){return e.onClick(t)})}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget,n=this.action(e)||"copy",t=s({action:n,container:this.container,target:this.target(e),text:this.text(e)});this.emit(t?"success":"error",{action:n,text:t,trigger:e,clearSelection:function(){e&&e.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(t){return m("action",t)}},{key:"defaultTarget",value:function(t){t=m("target",t);if(t)return document.querySelector(t)}},{key:"defaultText",value:function(t){return m("text",t)}},{key:"destroy",value:function(){this.listener.destroy()}}])&&d(t.prototype,e),n&&d(t,n),r}()},828:function(t){var e;"undefined"==typeof Element||Element.prototype.matches||((e=Element.prototype).matches=e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector),t.exports=function(t,e){for(;t&&9!==t.nodeType;){if("function"==typeof t.matches&&t.matches(e))return t;t=t.parentNode}}},438:function(t,e,n){var u=n(828);function i(t,e,n,o,r){var i=function(e,n,t,o){return function(t){t.delegateTarget=u(t.target,n),t.delegateTarget&&o.call(e,t)}}.apply(this,arguments);return t.addEventListener(n,i,r),{destroy:function(){t.removeEventListener(n,i,r)}}}t.exports=function(t,e,n,o,r){return"function"==typeof t.addEventListener?i.apply(null,arguments):"function"==typeof n?i.bind(null,document).apply(null,arguments):("string"==typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,function(t){return i(t,e,n,o,r)}))}},879:function(t,n){n.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},n.nodeList=function(t){var e=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===e||"[object HTMLCollection]"===e)&&"length"in t&&(0===t.length||n.node(t[0]))},n.string=function(t){return"string"==typeof t||t instanceof String},n.fn=function(t){return"[object Function]"===Object.prototype.toString.call(t)}},370:function(t,e,n){var f=n(879),l=n(438);t.exports=function(t,e,n){if(!t&&!e&&!n)throw new Error("Missing required arguments");if(!f.string(e))throw new TypeError("Second argument must be a String");if(!f.fn(n))throw new TypeError("Third argument must be a Function");if(f.node(t))return c=e,a=n,(u=t).addEventListener(c,a),{destroy:function(){u.removeEventListener(c,a)}};if(f.nodeList(t))return o=t,r=e,i=n,Array.prototype.forEach.call(o,function(t){t.addEventListener(r,i)}),{destroy:function(){Array.prototype.forEach.call(o,function(t){t.removeEventListener(r,i)})}};if(f.string(t))return t=t,e=e,n=n,l(document.body,t,e,n);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList");var o,r,i,u,c,a}},817:function(t){t.exports=function(t){var e,n="SELECT"===t.nodeName?(t.focus(),t.value):"INPUT"===t.nodeName||"TEXTAREA"===t.nodeName?((e=t.hasAttribute("readonly"))||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),e||t.removeAttribute("readonly"),t.value):(t.hasAttribute("contenteditable")&&t.focus(),n=window.getSelection(),(e=document.createRange()).selectNodeContents(t),n.removeAllRanges(),n.addRange(e),n.toString());return n}},279:function(t){function e(){}e.prototype={on:function(t,e,n){var o=this.e||(this.e={});return(o[t]||(o[t]=[])).push({fn:e,ctx:n}),this},once:function(t,e,n){var o=this;function r(){o.off(t,r),e.apply(n,arguments)}return r._=e,this.on(t,r,n)},emit:function(t){for(var e=[].slice.call(arguments,1),n=((this.e||(this.e={}))[t]||[]).slice(),o=0,r=n.length;o<r;o++)n[o].fn.apply(n[o].ctx,e);return this},off:function(t,e){var n=this.e||(this.e={}),o=n[t],r=[];if(o&&e)for(var i=0,u=o.length;i<u;i++)o[i].fn!==e&&o[i].fn._!==e&&r.push(o[i]);return r.length?n[t]=r:delete n[t],this}},t.exports=e,t.exports.TinyEmitter=e}},r={},o.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return o.d(e,{a:e}),e},o.d=function(t,e){for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},o(686).default;function o(t){if(r[t])return r[t].exports;var e=r[t]={exports:{}};return n[t](e,e.exports,o),e.exports}var n,r});
34841 34842/** 34843 * Bootstrap multiselectsplitter plugin 34844 * Version: 1.0.1 34845 * License: MIT 34846 * Homepage: https://github.com/poolerMF/bootstrap-multiselectsplitter 34847 */ 34848+function ($) { 34849 'use strict'; 34850 34851 // CLASS DEFINITION 34852 // =============================== 34853 34854 var MultiSelectSplitter = function (element, options) { 34855 this.init('multiselectsplitter', element, options); 34856 }; 34857 34858 MultiSelectSplitter.DEFAULTS = { 34859 selectSize: null, 34860 maxSelectSize: null, 34861 clearOnFirstChange: false, 34862 onlySameGroup: false, // only if multiselect 34863 groupCounter: false, // only if multiselect 34864 maximumSelected: null, // only if multiselect, integer or function 34865 afterInitialize: null, 34866 maximumAlert: function (maximumSelected) { 34867 alert("Only " + maximumSelected + " values can be selected"); 34868 }, 34869 createFirstSelect: function (label, $originalSelect) { 34870 return '<option>' + label + '</option>'; 34871 }, 34872 createSecondSelect: function (label, $firstSelect) { 34873 return '<option>' + label + '</option>'; 34874 }, 34875 template: '<div class="row" data-multiselectsplitter-wrapper-selector>' + 34876 '<div class="col-xs-6 col-sm-6">' + 34877 '<select class="form-control" data-multiselectsplitter-firstselect-selector></select>' + 34878 '</div>' + 34879 ' <!-- Add the extra clearfix for only the required viewport -->' + 34880 '<div class="col-xs-6 col-sm-6">' + 34881 '<select class="form-control" data-multiselectsplitter-secondselect-selector></select>' + 34882 '</div>' + 34883 '</div>' 34884 }; 34885 34886 MultiSelectSplitter.prototype.init = function (type, element, options) { 34887 34888 var self = this; 34889 34890 self.type = type; 34891 self.last$ElementSelected = []; 34892 self.initialized = false; 34893 34894 self.$element = $(element); 34895 self.$element.hide(); 34896 34897 self.options = $.extend({}, MultiSelectSplitter.DEFAULTS, options); 34898 34899 // Add template. 34900 self.$element.after(self.options.template); 34901 34902 // Define selected elements. 34903 self.$wrapper = self.$element.next('div[data-multiselectsplitter-wrapper-selector]'); 34904 self.$firstSelect = $('select[data-multiselectsplitter-firstselect-selector]', self.$wrapper); 34905 self.$secondSelect = $('select[data-multiselectsplitter-secondselect-selector]', self.$wrapper); 34906 34907 var optgroupCount = 0; 34908 var longestOptionCount = 0; 34909 34910 if (self.$element.find('optgroup').length == 0) { 34911 return; 34912 } 34913 34914 self.$element.find('optgroup').each(function () { 34915 34916 var label = $(this).attr('label'); 34917 var $option = $(self.options.createFirstSelect(label, self.$element)); 34918 34919 $option.val(label); 34920 $option.attr('data-current-label', $option.text()); 34921 self.$firstSelect.append($option); 34922 34923 var currentOptionCount = $(this).find('option').length; 34924 34925 if (currentOptionCount > longestOptionCount) { 34926 longestOptionCount = currentOptionCount; 34927 } 34928 optgroupCount++; 34929 }); 34930 34931 // Define $firstSelect and $secondSelect size attribute 34932 var selectSize = Math.max(optgroupCount, longestOptionCount); 34933 selectSize = Math.min(selectSize, 10); 34934 if (self.options.selectSize) { 34935 selectSize = self.options.selectSize; 34936 } else if (self.options.maxSelectSize) { 34937 selectSize = Math.min(selectSize, self.options.maxSelectSize); 34938 } 34939 self.$firstSelect.attr('size', selectSize); 34940 self.$secondSelect.attr('size', selectSize); 34941 34942 // Set multiple 34943 if (self.$element.attr('multiple')) { 34944 self.$secondSelect.attr('multiple', 'multiple'); 34945 } 34946 34947 // Set disabled 34948 if (self.$element.is(":disabled")) { 34949 self.disable(); 34950 } 34951 34952 // Define events. 34953 self.$firstSelect.on('change', $.proxy(self.updateParentCategory, self)); 34954 self.$secondSelect.on('click change', $.proxy(self.updateChildCategory, self)); 34955 34956 self.update = function () { 34957 if (self.$element.find('option').length < 1) { 34958 return; 34959 } 34960 var selectedOptions = self.$element.find('option:selected:first'); 34961 var selectedGroup; 34962 34963 if (selectedOptions.length) { 34964 selectedGroup = selectedOptions.parent().attr('label'); 34965 } else { 34966 selectedGroup = self.$element.find('option:first').parent().attr('label'); 34967 } 34968 34969 self.$firstSelect.find('option[value="' + selectedGroup + '"]').prop('selected', true); 34970 self.$firstSelect.trigger('change'); 34971 }; 34972
34973 self.update(); 34974 self.initialized = true; 34975 34976 if (self.options.afterInitialize) { 34977 self.options.afterInitialize(self.$firstSelect, self.$secondSelect); 34978 } 34979 }; 34980 34981 MultiSelectSplitter.prototype.disable = function () { 34982 this.$secondSelect.prop('disabled', true); 34983 this.$firstSelect.prop('disabled', true); 34984 }; 34985 34986 MultiSelectSplitter.prototype.enable = function () { 34987 this.$secondSelect.prop('disabled', false); 34988 this.$firstSelect.prop('disabled', false); 34989 }; 34990 34991 MultiSelectSplitter.prototype.createSecondSelect = function () { 34992 34993 var self = this; 34994 34995 self.$secondSelect.empty(); 34996 34997 $.each(self.$element.find('optgroup[label="' + self.$firstSelect.val() + '"] option'), function (index, element) { 34998 var value = $(this).val(); 34999 var label = $(this).text(); 35000 35001 var $option = $(self.options.createSecondSelect(label, self.$firstSelect)); 35002 $option.val(value); 35003 35004 $.each(self.$element.find('option:selected'), function (index, element) { 35005 if ($(element).val() == value) { 35006 $option.prop('selected', true); 35007 } 35008 }); 35009 35010 self.$secondSelect.append($option); 35011 }); 35012 }; 35013 35014 MultiSelectSplitter.prototype.updateParentCategory = function () { 35015 35016 var self = this; 35017 35018 self.last$ElementSelected = self.$element.find('option:selected'); 35019 35020 if (self.options.clearOnFirstChange && self.initialized) { 35021 self.$element.find('option:selected').prop('selected', false); 35022 } 35023 35024 self.createSecondSelect(); 35025 self.checkSelected(); 35026 self.updateCounter(); 35027 }; 35028 35029 MultiSelectSplitter.prototype.updateCounter = function () { 35030 35031 var self = this; 35032 35033 if (!self.$element.attr('multiple') || !self.options.groupCounter) { 35034 return; 35035 } 35036 35037 $.each(self.$firstSelect.find('option'), function (index, element) { 35038 var originalLabel = $(element).val(); 35039 var text = $(element).data('currentLabel'); 35040 var count = self.$element.find('optgroup[label="' + originalLabel + '"] option:selected').length; 35041 35042 if (count > 0) { 35043 text += ' (' + count + ')'; 35044 } 35045 35046 $(element).html(text); 35047 }); 35048 }; 35049 35050 MultiSelectSplitter.prototype.checkSelected = function () { 35051 35052 var self = this; 35053 35054 if (!self.$element.attr('multiple') || !self.options.maximumSelected) { 35055 return; 35056 } 35057 35058 var maximumSelected = 0; 35059 35060 if (typeof self.options.maximumSelected == 'function') { 35061 maximumSelected = self.options.maximumSelected(self.$firstSelect, self.$secondSelect); 35062 } else { 35063 maximumSelected = self.options.maximumSelected; 35064 } 35065 35066 if (maximumSelected < 1) { 35067 return; 35068 } 35069 35070 var $actualElementSelected = self.$element.find('option:selected'); 35071 35072 if ($actualElementSelected.length > maximumSelected) { 35073 self.$firstSelect.find('option:selected').prop('selected', false); 35074 self.$secondSelect.find('option:selected').prop('selected', false); 35075 35076 if (self.initialized) { 35077 self.$element.find('option:selected').prop('selected', false); 35078 self.last$ElementSelected.prop('selected', true); 35079 } else { 35080 // after init, there is no last value 35081 $.each(self.$element.find('option:selected'), function (index, element) { 35082 if (index > maximumSelected - 1) { 35083 $(element).prop('selected', false); 35084 } 35085 }); 35086 } 35087 35088 var firstSelectedOptGroupLabel = self.last$ElementSelected.first().parent().attr('label'); 35089 self.$firstSelect.find('option[value="' + firstSelectedOptGroupLabel + '"]').prop('selected', true); 35090 35091 self.createSecondSelect(); 35092 self.options.maximumAlert(maximumSelected); 35093 } 35094 }; 35095 35096 MultiSelectSplitter.prototype.basicUpdateChildCategory = function (event, isCtrlKey) { 35097 35098 var self = this; 35099 35100 self.last$ElementSelected = self.$element.find('option:selected'); 35101 var childValues = self.$secondSelect.val(); 35102 35103 if (!$.isArray(childValues)) { 35104 childValues = [childValues]; 35105 } 35106 35107 var parentLabel = self.$firstSelect.val(); 35108 var removeActualSelected = false;
35109 35110 if (!self.$element.attr('multiple')) { 35111 removeActualSelected = true; 35112 } else { 35113 if (self.options.onlySameGroup) { 35114 $.each(self.$element.find('option:selected'), function (index, element) { 35115 if ($(element).parent().attr('label') != parentLabel) { 35116 removeActualSelected = true; 35117 return false; 35118 } 35119 }); 35120 } else { 35121 if (!isCtrlKey) { 35122 removeActualSelected = true; 35123 } 35124 } 35125 } 35126 35127 if (removeActualSelected) { 35128 self.$element.find('option:selected').prop('selected', false); 35129 } else { 35130 $.each(self.$element.find('option:selected'), function (index, element) { 35131 if (parentLabel == $(element).parent().attr('label') && $.inArray($(element).val(), childValues) == -1) { 35132 $(element).prop('selected', false); 35133 } 35134 }); 35135 } 35136 35137 $.each(childValues, function (index, value) { 35138 self.$element.find('option[value="' + value + '"]').prop('selected', true); 35139 }); 35140 35141 self.checkSelected(); 35142 self.updateCounter(); 35143 self.$element.trigger('change'); // Required for external plugins. 35144 }; 35145 35146 MultiSelectSplitter.prototype.updateChildCategory = function (event) { 35147 // There is no event.ctrlKey in event "change", so change function is called with timeout 35148 if (event.type == "change") { 35149 this.timeOut = setTimeout($.proxy(function () { 35150 this.basicUpdateChildCategory(event, event.ctrlKey); 35151 }, this), 10); 35152 } else if (event.type == "click") { 35153 clearTimeout(this.timeOut); 35154 this.basicUpdateChildCategory(event, event.ctrlKey) 35155 } 35156 }; 35157 35158 MultiSelectSplitter.prototype.destroy = function () { 35159 this.$wrapper.remove(); 35160 this.$element.removeData(this.type); 35161 this.$element.show(); 35162 }; 35163 35164 // PLUGIN DEFINITION 35165 // ========================= 35166 35167 function Plugin(option) { 35168 return this.each(function () { 35169 var $this = $(this); 35170 var data = $this.data('multiselectsplitter'); 35171 var options = typeof option === 'object' && option; 35172 35173 if (!data && option == 'destroy') { 35174 return; 35175 } 35176 if (!data) { 35177 $this.data('multiselectsplitter', ( data = new MultiSelectSplitter(this, options) )); 35178 } 35179 if (typeof option == 'string') { 35180 data[option](); 35181 } 35182 }); 35183 } 35184 35185 $.fn.multiselectsplitter = Plugin; 35186 $.fn.multiselectsplitter.Constructor = MultiSelectSplitter; 35187 $.fn.multiselectsplitter.VERSION = '1.0.1'; 35188 35189}(jQuery); 35190/*! 35191 * smooth-scroll v16.1.3 35192 * Animate scrolling to anchor links 35193 * (c) 2020 Chris Ferdinandi 35194 * MIT License 35195 * http://github.com/cferdinandi/smooth-scroll 35196 */
vendor: 9,460 bytes, lines 35196-35494
35196 35197 35198(function (root, factory) { 35199 if (typeof define === 'function' && define.amd) { 35200 define([], (function () { 35201 return factory(root); 35202 })); 35203 } else if (typeof exports === 'object') { 35204 module.exports = factory(root); 35205 } else { 35206 root.SmoothScroll = factory(root); 35207 } 35208})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, (function (window) { 35209 35210 'use strict'; 35211 35212 // 35213 // Default settings 35214 // 35215 35216 var defaults = { 35217 35218 // Selectors 35219 ignore: '[data-scroll-ignore]', 35220 header: null, 35221 topOnEmptyHash: true, 35222 35223 // Speed & Duration 35224 speed: 500, 35225 speedAsDuration: false, 35226 durationMax: null, 35227 durationMin: null, 35228 clip: true, 35229 offset: 0, 35230 35231 // Easing 35232 easing: 'easeInOutCubic', 35233 customEasing: null, 35234 35235 // History 35236 updateURL: true, 35237 popstate: true, 35238 35239 // Custom Events 35240 emitEvents: true 35241 35242 }; 35243 35244 35245 // 35246 // Utility Methods 35247 // 35248 35249 /** 35250 * Check if browser supports required methods 35251 * @return {Boolean} Returns true if all required methods are supported 35252 */ 35253 var supports = function () { 35254 return ( 35255 'querySelector' in document && 35256 'addEventListener' in window && 35257 'requestAnimationFrame' in window && 35258 'closest' in window.Element.prototype 35259 ); 35260 }; 35261 35262 /** 35263 * Merge two or more objects together. 35264 * @param {Object} objects The objects to merge together 35265 * @returns {Object} Merged values of defaults and options 35266 */ 35267 var extend = function () { 35268 var merged = {}; 35269 Array.prototype.forEach.call(arguments, (function (obj) { 35270 for (var key in obj) { 35271 if (!obj.hasOwnProperty(key)) return; 35272 merged[key] = obj[key]; 35273 } 35274 })); 35275 return merged; 35276 }; 35277 35278 /** 35279 * Check to see if user prefers reduced motion 35280 * @param {Object} settings Script settings 35281 */ 35282 var reduceMotion = function () { 35283 if ('matchMedia' in window && window.matchMedia('(prefers-reduced-motion)').matches) { 35284 return true; 35285 } 35286 return false; 35287 }; 35288 35289 /** 35290 * Get the height of an element. 35291 * @param {Node} elem The element to get the height of 35292 * @return {Number} The element's height in pixels 35293 */ 35294 var getHeight = function (elem) { 35295 return parseInt(window.getComputedStyle(elem).height, 10); 35296 }; 35297 35298 /** 35299 * Escape special characters for use with querySelector 35300 * @author Mathias Bynens 35301 * @link https://github.com/mathiasbynens/CSS.escape 35302 * @param {String} id The anchor ID to escape 35303 */ 35304 var escapeCharacters = function (id) { 35305 35306 // Remove leading hash 35307 if (id.charAt(0) === '#') { 35308 id = id.substr(1); 35309 } 35310 35311 var string = String(id); 35312 var length = string.length; 35313 var index = -1; 35314 var codeUnit; 35315 var result = ''; 35316 var firstCodeUnit = string.charCodeAt(0); 35317 while (++index < length) { 35318 codeUnit = string.charCodeAt(index); 35319 // Note: thereâs no need to special-case astral symbols, surrogate 35320 // pairs, or lone surrogates. 35321 35322 // If the character is NULL (U+0000), then throw an 35323 // `InvalidCharacterError` exception and terminate these steps. 35324 if (codeUnit === 0x0000) { 35325 throw new InvalidCharacterError( 35326 'Invalid character: the input contains U+0000.' 35327 ); 35328 } 35329 35330 if ( 35331 // If the character is in the range [\1-\1F] (U+0001 to U+001F) or is 35332 // U+007F, [â¦] 35333 (codeUnit >= 0x0001 && codeUnit <= 0x001F) || codeUnit == 0x007F || 35334 // If the character is the first character and is in the range [0-9] 35335 // (U+0030 to U+0039), [â¦] 35336 (index === 0 && codeUnit >= 0x0030 && codeUnit <= 0x0039) || 35337 // If the character is the second character and is in the range [0-9] 35338 // (U+0030 to U+0039) and the first character is a `-` (U+002D), [â¦] 35339 ( 35340 index === 1 && 35341 codeUnit >= 0x0030 && codeUnit <= 0x0039 && 35342 firstCodeUnit === 0x002D 35343 ) 35344 ) { 35345 // http://dev.w3.org/csswg/cssom/#escape-a-character-as-code-point 35346 result += '\\' + codeUnit.toString(16) + ' '; 35347 continue; 35348 } 35349 35350 // If the character is not handled by one of the above rules and is 35351 // greater than or equal to U+0080, is `-` (U+002D) or `_` (U+005F), or 35352 // is in one of the ranges [0-9] (U+0030 to U+0039), [A-Z] (U+0041 to 35353 // U+005A), or [a-z] (U+0061 to U+007A), [â¦] 35354 if ( 35355 codeUnit >= 0x0080 || 35356 codeUnit === 0x002D || 35357 codeUnit === 0x005F || 35358 codeUnit >= 0x0030 && codeUnit <= 0x0039 || 35359 codeUnit >= 0x0041 && codeUnit <= 0x005A || 35360 codeUnit >= 0x0061 && codeUnit <= 0x007A 35361 ) { 35362 // the character itself 35363 result += string.charAt(index); 35364 continue; 35365 } 35366 35367 // Otherwise, the escaped character. 35368 // http://dev.w3.org/csswg/cssom/#escape-a-character 35369 result += '\\' + string.charAt(index); 35370 35371 } 35372 35373 // Return sanitized hash 35374 return '#' + result; 35375 35376 }; 35377 35378 /** 35379 * Calculate the easing pattern 35380 * @link https://gist.github.com/gre/1650294 35381 * @param {String} type Easing pattern 35382 * @param {Number} time Time animation should take to complete 35383 * @returns {Number} 35384 */ 35385 var easingPattern = function (settings, time) { 35386 var pattern; 35387 35388 // Default Easing Patterns 35389 if (settings.easing === 'easeInQuad') pattern = time * time; // accelerating from zero velocity 35390 if (settings.easing === 'easeOutQuad') pattern = time * (2 - time); // decelerating to zero velocity 35391 if (settings.easing === 'easeInOutQuad') pattern = time < 0.5 ? 2 * time * time : -1 + (4 - 2 * time) * time; // acceleration until halfway, then deceleration 35392 if (settings.easing === 'easeInCubic') pattern = time * time * time; // accelerating from zero velocity 35393 if (settings.easing === 'easeOutCubic') pattern = (--time) * time * time + 1; // decelerating to zero velocity 35394 if (settings.easing === 'easeInOutCubic') pattern = time < 0.5 ? 4 * time * time * time : (time - 1) * (2 * time - 2) * (2 * time - 2) + 1; // acceleration until halfway, then deceleration 35395 if (settings.easing === 'easeInQuart') pattern = time * time * time * time; // accelerating from zero velocity 35396 if (settings.easing === 'easeOutQuart') pattern = 1 - (--time) * time * time * time; // decelerating to zero velocity 35397 if (settings.easing === 'easeInOutQuart') pattern = time < 0.5 ? 8 * time * time * time * time : 1 - 8 * (--time) * time * time * time; // acceleration until halfway, then deceleration 35398 if (settings.easing === 'easeInQuint') pattern = time * time * time * time * time; // accelerating from zero velocity 35399 if (settings.easing === 'easeOutQuint') pattern = 1 + (--time) * time * time * time * time; // decelerating to zero velocity 35400 if (settings.easing === 'easeInOutQuint') pattern = time < 0.5 ? 16 * time * time * time * time * time : 1 + 16 * (--time) * time * time * time * time; // acceleration until halfway, then deceleration 35401 35402 // Custom Easing Patterns 35403 if (!!settings.customEasing) pattern = settings.customEasing(time); 35404 35405 return pattern || time; // no easing, no acceleration 35406 }; 35407 35408 /** 35409 * Determine the document's height 35410 * @returns {Number} 35411 */ 35412 var getDocumentHeight = function () { 35413 return Math.max( 35414 document.body.scrollHeight, document.documentElement.scrollHeight, 35415 document.body.offsetHeight, document.documentElement.offsetHeight, 35416 document.body.clientHeight, document.documentElement.clientHeight 35417 ); 35418 }; 35419 35420 /** 35421 * Calculate how far to scroll 35422 * Clip support added by robjtede - https://github.com/cferdinandi/smooth-scroll/issues/405 35423 * @param {Element} anchor The anchor element to scroll to 35424 * @param {Number} headerHeight Height of a fixed header, if any 35425 * @param {Number} offset Number of pixels by which to offset scroll 35426 * @param {Boolean} clip If true, adjust scroll distance to prevent abrupt stops near the bottom of the page 35427 * @returns {Number} 35428 */ 35429 var getEndLocation = function (anchor, headerHeight, offset, clip) { 35430 var location = 0; 35431 if (anchor.offsetParent) { 35432 do { 35433 location += anchor.offsetTop; 35434 anchor = anchor.offsetParent; 35435 } while (anchor); 35436 } 35437 location = Math.max(location - headerHeight - offset, 0); 35438 if (clip) { 35439 location = Math.min(location, getDocumentHeight() - window.innerHeight); 35440 } 35441 return location; 35442 }; 35443 35444 /** 35445 * Get the height of the fixed header 35446 * @param {Node} header The header 35447 * @return {Number} The height of the header 35448 */ 35449 var getHeaderHeight = function (header) { 35450 return !header ? 0 : (getHeight(header) + header.offsetTop); 35451 }; 35452 35453 /** 35454 * Calculate the speed to use for the animation 35455 * @param {Number} distance The distance to travel 35456 * @param {Object} settings The plugin settings 35457 * @return {Number} How fast to animate 35458 */ 35459 var getSpeed = function (distance, settings) { 35460 var speed = settings.speedAsDuration ? settings.speed : Math.abs(distance / 1000 * settings.speed); 35461 if (settings.durationMax && speed > settings.durationMax) return settings.durationMax; 35462 if (settings.durationMin && speed < settings.durationMin) return settings.durationMin; 35463 return parseInt(speed, 10); 35464 }; 35465 35466 var setHistory = function (options) { 35467 35468 // Make sure this should run 35469 if (!history.replaceState || !options.updateURL || history.state) return; 35470 35471 // Get the hash to use 35472 var hash = window.location.hash; 35473 hash = hash ? hash : ''; 35474 35475 // Set a default history 35476 history.replaceState( 35477 { 35478 smoothScroll: JSON.stringify(options), 35479 anchor: hash ? hash : window.pageYOffset 35480 }, 35481 document.title, 35482 hash ? hash : window.location.href 35483 ); 35484 35485 }; 35486 35487 /** 35488 * Update the URL 35489 * @param {Node} anchor The anchor that was scrolled to 35490 * @param {Boolean} isNum If true, anchor is a number 35491 * @param {Object} options Settings for Smooth Scroll 35492 */ 35493 var updateURL = function (anchor, isNum, options) { 35494
vendor: 9,973 bytes, lines 35495-35839
35495 // Bail if the anchor is a number 35496 if (isNum) return; 35497 35498 // Verify that pushState is supported and the updateURL option is enabled 35499 if (!history.pushState || !options.updateURL) return; 35500 35501 // Update URL 35502 history.pushState( 35503 { 35504 smoothScroll: JSON.stringify(options), 35505 anchor: anchor.id 35506 }, 35507 document.title, 35508 anchor === document.documentElement ? '#top' : '#' + anchor.id 35509 ); 35510 35511 }; 35512 35513 /** 35514 * Bring the anchored element into focus 35515 * @param {Node} anchor The anchor element 35516 * @param {Number} endLocation The end location to scroll to 35517 * @param {Boolean} isNum If true, scroll is to a position rather than an element 35518 */ 35519 var adjustFocus = function (anchor, endLocation, isNum) { 35520 35521 // Is scrolling to top of page, blur 35522 if (anchor === 0) { 35523 document.body.focus(); 35524 } 35525 35526 // Don't run if scrolling to a number on the page 35527 if (isNum) return; 35528 35529 // Otherwise, bring anchor element into focus 35530 anchor.focus(); 35531 if (document.activeElement !== anchor) { 35532 anchor.setAttribute('tabindex', '-1'); 35533 anchor.focus(); 35534 anchor.style.outline = 'none'; 35535 } 35536 window.scrollTo(0 , endLocation); 35537 35538 }; 35539 35540 /** 35541 * Emit a custom event 35542 * @param {String} type The event type 35543 * @param {Object} options The settings object 35544 * @param {Node} anchor The anchor element 35545 * @param {Node} toggle The toggle element 35546 */ 35547 var emitEvent = function (type, options, anchor, toggle) { 35548 if (!options.emitEvents || typeof window.CustomEvent !== 'function') return; 35549 var event = new CustomEvent(type, { 35550 bubbles: true, 35551 detail: { 35552 anchor: anchor, 35553 toggle: toggle 35554 } 35555 }); 35556 document.dispatchEvent(event); 35557 }; 35558 35559 35560 // 35561 // SmoothScroll Constructor 35562 // 35563 35564 var SmoothScroll = function (selector, options) { 35565 35566 // 35567 // Variables 35568 // 35569 35570 var smoothScroll = {}; // Object for public APIs 35571 var settings, anchor, toggle, fixedHeader, eventTimeout, animationInterval; 35572 35573 35574 // 35575 // Methods 35576 // 35577 35578 /** 35579 * Cancel a scroll-in-progress 35580 */ 35581 smoothScroll.cancelScroll = function (noEvent) { 35582 cancelAnimationFrame(animationInterval); 35583 animationInterval = null; 35584 if (noEvent) return; 35585 emitEvent('scrollCancel', settings); 35586 }; 35587 35588 /** 35589 * Start/stop the scrolling animation 35590 * @param {Node|Number} anchor The element or position to scroll to 35591 * @param {Element} toggle The element that toggled the scroll event 35592 * @param {Object} options 35593 */ 35594 smoothScroll.animateScroll = function (anchor, toggle, options) { 35595 35596 // Cancel any in progress scrolls 35597 smoothScroll.cancelScroll(); 35598 35599 // Local settings 35600 var _settings = extend(settings || defaults, options || {}); // Merge user options with defaults 35601 35602 // Selectors and variables 35603 var isNum = Object.prototype.toString.call(anchor) === '[object Number]' ? true : false; 35604 var anchorElem = isNum || !anchor.tagName ? null : anchor; 35605 if (!isNum && !anchorElem) return; 35606 var startLocation = window.pageYOffset; // Current location on the page 35607 if (_settings.header && !fixedHeader) { 35608 // Get the fixed header if not already set 35609 fixedHeader = document.querySelector(_settings.header); 35610 } 35611 var headerHeight = getHeaderHeight(fixedHeader); 35612 var endLocation = isNum ? anchor : getEndLocation(anchorElem, headerHeight, parseInt((typeof _settings.offset === 'function' ? _settings.offset(anchor, toggle) : _settings.offset), 10), _settings.clip); // Location to scroll to 35613 var distance = endLocation - startLocation; // distance to travel 35614 var documentHeight = getDocumentHeight(); 35615 var timeLapsed = 0; 35616 var speed = getSpeed(distance, _settings); 35617 var start, percentage, position; 35618 35619 /** 35620 * Stop the scroll animation when it reaches its target (or the bottom/top of page) 35621 * @param {Number} position Current position on the page 35622 * @param {Number} endLocation Scroll to location 35623 * @param {Number} animationInterval How much to scroll on this loop 35624 */ 35625 var stopAnimateScroll = function (position, endLocation) { 35626 35627 // Get the current location 35628 var currentLocation = window.pageYOffset; 35629 35630 // Check if the end location has been reached yet (or we've hit the end of the document) 35631 if (position == endLocation || currentLocation == endLocation || ((startLocation < endLocation && window.innerHeight + currentLocation) >= documentHeight)) { 35632 35633 // Clear the animation timer 35634 smoothScroll.cancelScroll(true); 35635 35636 // Bring the anchored element into focus 35637 adjustFocus(anchor, endLocation, isNum); 35638 35639 // Emit a custom event 35640 emitEvent('scrollStop', _settings, anchor, toggle); 35641 35642 // Reset start 35643 start = null; 35644 animationInterval = null; 35645 35646 return true; 35647 35648 } 35649 }; 35650 35651 /** 35652 * Loop scrolling animation 35653 */ 35654 var loopAnimateScroll = function (timestamp) { 35655 if (!start) { start = timestamp; } 35656 timeLapsed += timestamp - start; 35657 percentage = speed === 0 ? 0 : (timeLapsed / speed); 35658 percentage = (percentage > 1) ? 1 : percentage; 35659 position = startLocation + (distance * easingPattern(_settings, percentage)); 35660 window.scrollTo(0, Math.floor(position)); 35661 if (!stopAnimateScroll(position, endLocation)) { 35662 animationInterval = window.requestAnimationFrame(loopAnimateScroll); 35663 start = timestamp; 35664 } 35665 }; 35666 35667 /** 35668 * Reset position to fix weird iOS bug 35669 * @link https://github.com/cferdinandi/smooth-scroll/issues/45 35670 */ 35671 if (window.pageYOffset === 0) { 35672 window.scrollTo(0, 0); 35673 } 35674 35675 // Update the URL 35676 updateURL(anchor, isNum, _settings); 35677 35678 // If the user prefers reduced motion, jump to location 35679 if (reduceMotion()) { 35680 adjustFocus(anchor, Math.floor(endLocation), false); 35681 return; 35682 } 35683 35684 // Emit a custom event 35685 emitEvent('scrollStart', _settings, anchor, toggle); 35686 35687 // Start scrolling animation 35688 smoothScroll.cancelScroll(true); 35689 window.requestAnimationFrame(loopAnimateScroll); 35690 35691 }; 35692 35693 /** 35694 * If smooth scroll element clicked, animate scroll 35695 */ 35696 var clickHandler = function (event) { 35697 35698 // Don't run if event was canceled but still bubbled up 35699 // By @mgreter - https://github.com/cferdinandi/smooth-scroll/pull/462/ 35700 if (event.defaultPrevented) return; 35701 35702 // Don't run if right-click or command/control + click or shift + click 35703 if (event.button !== 0 || event.metaKey || event.ctrlKey || event.shiftKey) return; 35704 35705 // Check if event.target has closest() method 35706 // By @totegi - https://github.com/cferdinandi/smooth-scroll/pull/401/ 35707 if (!('closest' in event.target)) return; 35708 35709 // Check if a smooth scroll link was clicked 35710 toggle = event.target.closest(selector); 35711 if (!toggle || toggle.tagName.toLowerCase() !== 'a' || event.target.closest(settings.ignore)) return; 35712 35713 // Only run if link is an anchor and points to the current page 35714 if (toggle.hostname !== window.location.hostname || toggle.pathname !== window.location.pathname || !/#/.test(toggle.href)) return; 35715 35716 // Get an escaped version of the hash 35717 var hash; 35718 try { 35719 hash = escapeCharacters(decodeURIComponent(toggle.hash)); 35720 } catch(e) { 35721 hash = escapeCharacters(toggle.hash); 35722 } 35723 35724 // Get the anchored element 35725 var anchor; 35726 if (hash === '#') { 35727 if (!settings.topOnEmptyHash) return; 35728 anchor = document.documentElement; 35729 } else { 35730 anchor = document.querySelector(hash); 35731 } 35732 anchor = !anchor && hash === '#top' ? document.documentElement : anchor; 35733 35734 // If anchored element exists, scroll to it 35735 if (!anchor) return; 35736 event.preventDefault(); 35737 setHistory(settings); 35738 smoothScroll.animateScroll(anchor, toggle); 35739 35740 }; 35741 35742 /** 35743 * Animate scroll on popstate events 35744 */ 35745 var popstateHandler = function (event) { 35746 35747 // Stop if history.state doesn't exist (ex. if clicking on a broken anchor link). 35748 // fixes `Cannot read property 'smoothScroll' of null` error getting thrown. 35749 if (history.state === null) return; 35750 35751 // Only run if state is a popstate record for this instantiation 35752 if (!history.state.smoothScroll || history.state.smoothScroll !== JSON.stringify(settings)) return; 35753 35754 // Only run if state includes an anchor 35755 35756 // if (!history.state.anchor && history.state.anchor !== 0) return; 35757 35758 // Get the anchor 35759 var anchor = history.state.anchor; 35760 if (typeof anchor === 'string' && anchor) { 35761 anchor = document.querySelector(escapeCharacters(history.state.anchor)); 35762 if (!anchor) return; 35763 } 35764 35765 // Animate scroll to anchor link 35766 smoothScroll.animateScroll(anchor, null, {updateURL: false}); 35767 35768 }; 35769 35770 /** 35771 * Destroy the current initialization. 35772 */ 35773 smoothScroll.destroy = function () { 35774 35775 // If plugin isn't already initialized, stop 35776 if (!settings) return; 35777 35778 // Remove event listeners 35779 document.removeEventListener('click', clickHandler, false); 35780 window.removeEventListener('popstate', popstateHandler, false); 35781 35782 // Cancel any scrolls-in-progress 35783 smoothScroll.cancelScroll(); 35784 35785 // Reset variables 35786 settings = null; 35787 anchor = null; 35788 toggle = null; 35789 fixedHeader = null; 35790 eventTimeout = null; 35791 animationInterval = null; 35792 35793 }; 35794 35795 /** 35796 * Initialize Smooth Scroll 35797 * @param {Object} options User settings 35798 */ 35799 var init = function () { 35800 35801 // feature test 35802 if (!supports()) throw 'Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.'; 35803 35804 // Destroy any existing initializations 35805 smoothScroll.destroy(); 35806 35807 // Selectors and variables 35808 settings = extend(defaults, options || {}); // Merge user options with defaults 35809 fixedHeader = settings.header ? document.querySelector(settings.header) : null; // Get the fixed header 35810 35811 // When a toggle is clicked, run the click handler 35812 document.addEventListener('click', clickHandler, false); 35813 35814 // If updateURL and popState are enabled, listen for pop events 35815 if (settings.updateURL && settings.popstate) { 35816 window.addEventListener('popstate', popstateHandler, false); 35817 } 35818 35819 }; 35820 35821 35822 // 35823 // Initialize plugin 35824 // 35825 35826 init(); 35827 35828 35829 // 35830 // Public APIs 35831 // 35832 35833 return smoothScroll; 35834 35835 }; 35836 35837 return SmoothScroll; 35838 35839}));
35840
vendor: 187,833 bytes, lines 35841-41855
35841(function webpackUniversalModuleDefinition(root, factory) { 35842 if(typeof exports === 'object' && typeof module === 'object') 35843 module.exports = factory(); 35844 else if(typeof define === 'function' && define.amd) 35845 define([], factory); 35846 else { 35847 var a = factory(); 35848 for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; 35849 } 35850})(self, function() { 35851return /******/ (function() { // webpackBootstrap 35852/******/ var __webpack_modules__ = ({ 35853 35854/***/ 3099: 35855/***/ (function(module) { 35856 35857module.exports = function (it) { 35858 if (typeof it != 'function') { 35859 throw TypeError(String(it) + ' is not a function'); 35860 } return it; 35861}; 35862 35863 35864/***/ }), 35865 35866/***/ 6077: 35867/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 35868 35869var isObject = __webpack_require__(111); 35870 35871module.exports = function (it) { 35872 if (!isObject(it) && it !== null) { 35873 throw TypeError("Can't set " + String(it) + ' as a prototype'); 35874 } return it; 35875}; 35876 35877 35878/***/ }), 35879 35880/***/ 1223: 35881/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 35882 35883var wellKnownSymbol = __webpack_require__(5112); 35884var create = __webpack_require__(30); 35885var definePropertyModule = __webpack_require__(3070); 35886 35887var UNSCOPABLES = wellKnownSymbol('unscopables'); 35888var ArrayPrototype = Array.prototype; 35889 35890// Array.prototype[@@unscopables] 35891// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 35892if (ArrayPrototype[UNSCOPABLES] == undefined) { 35893 definePropertyModule.f(ArrayPrototype, UNSCOPABLES, { 35894 configurable: true, 35895 value: create(null) 35896 }); 35897} 35898 35899// add a key to Array.prototype[@@unscopables] 35900module.exports = function (key) { 35901 ArrayPrototype[UNSCOPABLES][key] = true; 35902}; 35903 35904 35905/***/ }), 35906 35907/***/ 1530: 35908/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 35909 35910"use strict"; 35911 35912var charAt = __webpack_require__(8710).charAt; 35913 35914// `AdvanceStringIndex` abstract operation 35915// https://tc39.es/ecma262/#sec-advancestringindex 35916module.exports = function (S, index, unicode) { 35917 return index + (unicode ? charAt(S, index).length : 1); 35918}; 35919 35920 35921/***/ }), 35922 35923/***/ 5787: 35924/***/ (function(module) { 35925 35926module.exports = function (it, Constructor, name) { 35927 if (!(it instanceof Constructor)) { 35928 throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation'); 35929 } return it; 35930}; 35931 35932 35933/***/ }), 35934 35935/***/ 9670: 35936/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 35937 35938var isObject = __webpack_require__(111); 35939 35940module.exports = function (it) { 35941 if (!isObject(it)) { 35942 throw TypeError(String(it) + ' is not an object'); 35943 } return it; 35944}; 35945 35946 35947/***/ }), 35948 35949/***/ 4019: 35950/***/ (function(module) { 35951 35952module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined'; 35953 35954 35955/***/ }), 35956 35957/***/ 260: 35958/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 35959 35960"use strict"; 35961 35962var NATIVE_ARRAY_BUFFER = __webpack_require__(4019); 35963var DESCRIPTORS = __webpack_require__(9781); 35964var global = __webpack_require__(7854); 35965var isObject = __webpack_require__(111); 35966var has = __webpack_require__(6656); 35967var classof = __webpack_require__(648); 35968var createNonEnumerableProperty = __webpack_require__(8880); 35969var redefine = __webpack_require__(1320); 35970var defineProperty = __webpack_require__(3070).f; 35971var getPrototypeOf = __webpack_require__(9518); 35972var setPrototypeOf = __webpack_require__(7674); 35973var wellKnownSymbol = __webpack_require__(5112); 35974var uid = __webpack_require__(9711); 35975 35976var Int8Array = global.Int8Array; 35977var Int8ArrayPrototype = Int8Array && Int8Array.prototype; 35978var Uint8ClampedArray = global.Uint8ClampedArray; 35979var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype; 35980var TypedArray = Int8Array && getPrototypeOf(Int8Array); 35981var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype); 35982var ObjectPrototype = Object.prototype; 35983var isPrototypeOf = ObjectPrototype.isPrototypeOf; 35984 35985var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 35986var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG'); 35987// Fixing native typed arrays in Opera Presto crashes the browser, see #595 35988var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera'; 35989var TYPED_ARRAY_TAG_REQIRED = false; 35990var NAME; 35991 35992var TypedArrayConstructorsList = { 35993 Int8Array: 1, 35994 Uint8Array: 1, 35995 Uint8ClampedArray: 1, 35996 Int16Array: 2, 35997 Uint16Array: 2, 35998 Int32Array: 4, 35999 Uint32Array: 4, 36000 Float32Array: 4, 36001 Float64Array: 8 36002}; 36003 36004var BigIntArrayConstructorsList = { 36005 BigInt64Array: 8, 36006 BigUint64Array: 8 36007}; 36008 36009var isView = function isView(it) { 36010 if (!isObject(it)) return false; 36011 var klass = classof(it); 36012 return klass === 'DataView' 36013 || has(TypedArrayConstructorsList, klass) 36014 || has(BigIntArrayConstructorsList, klass); 36015}; 36016 36017var isTypedArray = function (it) { 36018 if (!isObject(it)) return false; 36019 var klass = classof(it); 36020 return has(TypedArrayConstructorsList, klass) 36021 || has(BigIntArrayConstructorsList, klass); 36022}; 36023 36024var aTypedArray = function (it) { 36025 if (isTypedArray(it)) return it; 36026 throw TypeError('Target is not a typed array'); 36027}; 36028 36029var aTypedArrayConstructor = function (C) { 36030 if (setPrototypeOf) { 36031 if (isPrototypeOf.call(TypedArray, C)) return C; 36032 } else for (var ARRAY in TypedArrayConstructorsList) if (has(TypedArrayConstructorsList, NAME)) { 36033 var TypedArrayConstructor = global[ARRAY]; 36034 if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) { 36035 return C; 36036 } 36037 } throw TypeError('Target is not a typed array constructor'); 36038}; 36039 36040var exportTypedArrayMethod = function (KEY, property, forced) { 36041 if (!DESCRIPTORS) return; 36042 if (forced) for (var ARRAY in TypedArrayConstructorsList) { 36043 var TypedArrayConstructor = global[ARRAY]; 36044 if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) { 36045 delete TypedArrayConstructor.prototype[KEY]; 36046 } 36047 } 36048 if (!TypedArrayPrototype[KEY] || forced) { 36049 redefine(TypedArrayPrototype, KEY, forced ? property 36050 : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property); 36051 } 36052}; 36053 36054var exportTypedArrayStaticMethod = function (KEY, property, forced) { 36055 var ARRAY, TypedArrayConstructor; 36056 if (!DESCRIPTORS) return; 36057 if (setPrototypeOf) { 36058 if (forced) for (ARRAY in TypedArrayConstructorsList) { 36059 TypedArrayConstructor = global[ARRAY]; 36060 if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) { 36061 delete TypedArrayConstructor[KEY]; 36062 } 36063 } 36064 if (!TypedArray[KEY] || forced) { 36065 // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable 36066 try { 36067 return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property); 36068 } catch (error) { /* empty */ } 36069 } else return; 36070 } 36071 for (ARRAY in TypedArrayConstructorsList) { 36072 TypedArrayConstructor = global[ARRAY]; 36073 if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) { 36074 redefine(TypedArrayConstructor, KEY, property); 36075 } 36076 } 36077}; 36078 36079for (NAME in TypedArrayConstructorsList) { 36080 if (!global[NAME]) NATIVE_ARRAY_BUFFER_VIEWS = false; 36081} 36082 36083// WebKit bug - typed arrays constructors prototype is Object.prototype 36084if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) { 36085 // eslint-disable-next-line no-shadow -- safe 36086 TypedArray = function TypedArray() { 36087 throw TypeError('Incorrect invocation'); 36088 }; 36089 if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { 36090 if (global[NAME]) setPrototypeOf(global[NAME], TypedArray); 36091 } 36092} 36093 36094if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) { 36095 TypedArrayPrototype = TypedArray.prototype; 36096 if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) { 36097 if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype); 36098 } 36099} 36100 36101// WebKit bug - one more object in Uint8ClampedArray prototype chain 36102if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) { 36103 setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype); 36104} 36105 36106if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) { 36107 TYPED_ARRAY_TAG_REQIRED = true; 36108 defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () { 36109 return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined; 36110 } }); 36111 for (NAME in TypedArrayConstructorsList) if (global[NAME]) { 36112 createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME); 36113 } 36114} 36115 36116module.exports = { 36117 NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS, 36118 TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG, 36119 aTypedArray: aTypedArray, 36120 aTypedArrayConstructor: aTypedArrayConstructor, 36121 exportTypedArrayMethod: exportTypedArrayMethod, 36122 exportTypedArrayStaticMethod: exportTypedArrayStaticMethod, 36123 isView: isView, 36124 isTypedArray: isTypedArray, 36125 TypedArray: TypedArray, 36126 TypedArrayPrototype: TypedArrayPrototype 36127}; 36128 36129 36130/***/ }), 36131 36132/***/ 3331: 36133/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36134 36135"use strict"; 36136 36137var global = __webpack_require__(7854); 36138var DESCRIPTORS = __webpack_require__(9781); 36139var NATIVE_ARRAY_BUFFER = __webpack_require__(4019); 36140var createNonEnumerableProperty = __webpack_require__(8880); 36141var redefineAll = __webpack_require__(2248); 36142var fails = __webpack_require__(7293); 36143var anInstance = __webpack_require__(5787); 36144var toInteger = __webpack_require__(9958); 36145var toLength = __webpack_require__(7466); 36146var toIndex = __webpack_require__(7067); 36147var IEEE754 = __webpack_require__(1179); 36148var getPrototypeOf = __webpack_require__(9518); 36149var setPrototypeOf = __webpack_require__(7674); 36150var getOwnPropertyNames = __webpack_require__(8006).f; 36151var defineProperty = __webpack_require__(3070).f; 36152var arrayFill = __webpack_require__(1285); 36153var setToStringTag = __webpack_require__(8003); 36154var InternalStateModule = __webpack_require__(9909); 36155 36156var getInternalState = InternalStateModule.get; 36157var setInternalState = InternalStateModule.set; 36158var ARRAY_BUFFER = 'ArrayBuffer'; 36159var DATA_VIEW = 'DataView'; 36160var PROTOTYPE = 'prototype'; 36161var WRONG_LENGTH = 'Wrong length'; 36162var WRONG_INDEX = 'Wrong index'; 36163var NativeArrayBuffer = global[ARRAY_BUFFER]; 36164var $ArrayBuffer = NativeArrayBuffer; 36165var $DataView = global[DATA_VIEW]; 36166var $DataViewPrototype = $DataView && $DataView[PROTOTYPE]; 36167var ObjectPrototype = Object.prototype; 36168var RangeError = global.RangeError; 36169 36170var packIEEE754 = IEEE754.pack; 36171var unpackIEEE754 = IEEE754.unpack; 36172 36173var packInt8 = function (number) { 36174 return [number & 0xFF]; 36175}; 36176 36177var packInt16 = function (number) { 36178 return [number & 0xFF, number >> 8 & 0xFF]; 36179}; 36180 36181var packInt32 = function (number) { 36182 return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF]; 36183}; 36184 36185var unpackInt32 = function (buffer) { 36186 return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0]; 36187}; 36188 36189var packFloat32 = function (number) { 36190 return packIEEE754(number, 23, 4); 36191}; 36192 36193var packFloat64 = function (number) { 36194 return packIEEE754(number, 52, 8); 36195}; 36196 36197var addGetter = function (Constructor, key) { 36198 defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } }); 36199}; 36200 36201var get = function (view, count, index, isLittleEndian) { 36202 var intIndex = toIndex(index); 36203 var store = getInternalState(view); 36204 if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); 36205 var bytes = getInternalState(store.buffer).bytes; 36206 var start = intIndex + store.byteOffset; 36207 var pack = bytes.slice(start, start + count); 36208 return isLittleEndian ? pack : pack.reverse(); 36209}; 36210 36211var set = function (view, count, index, conversion, value, isLittleEndian) { 36212 var intIndex = toIndex(index); 36213 var store = getInternalState(view); 36214 if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX); 36215 var bytes = getInternalState(store.buffer).bytes; 36216 var start = intIndex + store.byteOffset; 36217 var pack = conversion(+value); 36218 for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1]; 36219}; 36220 36221if (!NATIVE_ARRAY_BUFFER) { 36222 $ArrayBuffer = function ArrayBuffer(length) { 36223 anInstance(this, $ArrayBuffer, ARRAY_BUFFER); 36224 var byteLength = toIndex(length); 36225 setInternalState(this, { 36226 bytes: arrayFill.call(new Array(byteLength), 0), 36227 byteLength: byteLength 36228 }); 36229 if (!DESCRIPTORS) this.byteLength = byteLength; 36230 }; 36231 36232 $DataView = function DataView(buffer, byteOffset, byteLength) { 36233 anInstance(this, $DataView, DATA_VIEW); 36234 anInstance(buffer, $ArrayBuffer, DATA_VIEW); 36235 var bufferLength = getInternalState(buffer).byteLength; 36236 var offset = toInteger(byteOffset); 36237 if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset'); 36238 byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); 36239 if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); 36240 setInternalState(this, { 36241 buffer: buffer, 36242 byteLength: byteLength, 36243 byteOffset: offset 36244 }); 36245 if (!DESCRIPTORS) { 36246 this.buffer = buffer; 36247 this.byteLength = byteLength; 36248 this.byteOffset = offset; 36249 } 36250 }; 36251 36252 if (DESCRIPTORS) { 36253 addGetter($ArrayBuffer, 'byteLength'); 36254 addGetter($DataView, 'buffer'); 36255 addGetter($DataView, 'byteLength'); 36256 addGetter($DataView, 'byteOffset'); 36257 } 36258 36259 redefineAll($DataView[PROTOTYPE], { 36260 getInt8: function getInt8(byteOffset) { 36261 return get(this, 1, byteOffset)[0] << 24 >> 24; 36262 }, 36263 getUint8: function getUint8(byteOffset) { 36264 return get(this, 1, byteOffset)[0]; 36265 }, 36266 getInt16: function getInt16(byteOffset /* , littleEndian */) { 36267 var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); 36268 return (bytes[1] << 8 | bytes[0]) << 16 >> 16; 36269 }, 36270 getUint16: function getUint16(byteOffset /* , littleEndian */) { 36271 var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined); 36272 return bytes[1] << 8 | bytes[0]; 36273 }, 36274 getInt32: function getInt32(byteOffset /* , littleEndian */) { 36275 return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)); 36276 }, 36277 getUint32: function getUint32(byteOffset /* , littleEndian */) { 36278 return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0; 36279 }, 36280 getFloat32: function getFloat32(byteOffset /* , littleEndian */) { 36281 return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23); 36282 }, 36283 getFloat64: function getFloat64(byteOffset /* , littleEndian */) { 36284 return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52); 36285 }, 36286 setInt8: function setInt8(byteOffset, value) { 36287 set(this, 1, byteOffset, packInt8, value); 36288 }, 36289 setUint8: function setUint8(byteOffset, value) { 36290 set(this, 1, byteOffset, packInt8, value); 36291 }, 36292 setInt16: function setInt16(byteOffset, value /* , littleEndian */) { 36293 set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); 36294 }, 36295 setUint16: function setUint16(byteOffset, value /* , littleEndian */) { 36296 set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined); 36297 }, 36298 setInt32: function setInt32(byteOffset, value /* , littleEndian */) { 36299 set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); 36300 }, 36301 setUint32: function setUint32(byteOffset, value /* , littleEndian */) { 36302 set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined); 36303 }, 36304 setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { 36305 set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined); 36306 }, 36307 setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { 36308 set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined); 36309 } 36310 }); 36311} else { 36312 /* eslint-disable no-new -- required for testing */ 36313 if (!fails(function () { 36314 NativeArrayBuffer(1); 36315 }) || !fails(function () { 36316 new NativeArrayBuffer(-1); 36317 }) || fails(function () { 36318 new NativeArrayBuffer(); 36319 new NativeArrayBuffer(1.5); 36320 new NativeArrayBuffer(NaN); 36321 return NativeArrayBuffer.name != ARRAY_BUFFER; 36322 })) { 36323 /* eslint-enable no-new -- required for testing */ 36324 $ArrayBuffer = function ArrayBuffer(length) { 36325 anInstance(this, $ArrayBuffer); 36326 return new NativeArrayBuffer(toIndex(length)); 36327 }; 36328 var ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE] = NativeArrayBuffer[PROTOTYPE]; 36329 for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) { 36330 if (!((key = keys[j++]) in $ArrayBuffer)) { 36331 createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]); 36332 } 36333 } 36334 ArrayBufferPrototype.constructor = $ArrayBuffer; 36335 } 36336 36337 // WebKit bug - the same parent prototype for typed arrays and data view 36338 if (setPrototypeOf && getPrototypeOf($DataViewPrototype) !== ObjectPrototype) { 36339 setPrototypeOf($DataViewPrototype, ObjectPrototype); 36340 } 36341 36342 // iOS Safari 7.x bug 36343 var testView = new $DataView(new $ArrayBuffer(2)); 36344 var nativeSetInt8 = $DataViewPrototype.setInt8; 36345 testView.setInt8(0, 2147483648); 36346 testView.setInt8(1, 2147483649); 36347 if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll($DataViewPrototype, { 36348 setInt8: function setInt8(byteOffset, value) { 36349 nativeSetInt8.call(this, byteOffset, value << 24 >> 24); 36350 }, 36351 setUint8: function setUint8(byteOffset, value) { 36352 nativeSetInt8.call(this, byteOffset, value << 24 >> 24); 36353 } 36354 }, { unsafe: true }); 36355} 36356 36357setToStringTag($ArrayBuffer, ARRAY_BUFFER); 36358setToStringTag($DataView, DATA_VIEW); 36359 36360module.exports = { 36361 ArrayBuffer: $ArrayBuffer, 36362 DataView: $DataView 36363}; 36364 36365 36366/***/ }), 36367 36368/***/ 1048: 36369/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36370 36371"use strict"; 36372 36373var toObject = __webpack_require__(7908); 36374var toAbsoluteIndex = __webpack_require__(1400); 36375var toLength = __webpack_require__(7466); 36376 36377var min = Math.min; 36378 36379// `Array.prototype.copyWithin` method implementation 36380// https://tc39.es/ecma262/#sec-array.prototype.copywithin 36381module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) { 36382 var O = toObject(this); 36383 var len = toLength(O.length); 36384 var to = toAbsoluteIndex(target, len); 36385 var from = toAbsoluteIndex(start, len); 36386 var end = arguments.length > 2 ? arguments[2] : undefined; 36387 var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); 36388 var inc = 1; 36389 if (from < to && to < from + count) { 36390 inc = -1; 36391 from += count - 1; 36392 to += count - 1; 36393 } 36394 while (count-- > 0) { 36395 if (from in O) O[to] = O[from]; 36396 else delete O[to]; 36397 to += inc; 36398 from += inc; 36399 } return O; 36400}; 36401 36402 36403/***/ }), 36404 36405/***/ 1285: 36406/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36407 36408"use strict"; 36409 36410var toObject = __webpack_require__(7908); 36411var toAbsoluteIndex = __webpack_require__(1400); 36412var toLength = __webpack_require__(7466); 36413 36414// `Array.prototype.fill` method implementation 36415// https://tc39.es/ecma262/#sec-array.prototype.fill 36416module.exports = function fill(value /* , start = 0, end = @length */) { 36417 var O = toObject(this); 36418 var length = toLength(O.length); 36419 var argumentsLength = arguments.length; 36420 var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length); 36421 var end = argumentsLength > 2 ? arguments[2] : undefined; 36422 var endPos = end === undefined ? length : toAbsoluteIndex(end, length); 36423 while (endPos > index) O[index++] = value; 36424 return O; 36425}; 36426 36427 36428/***/ }), 36429 36430/***/ 8533: 36431/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36432 36433"use strict"; 36434 36435var $forEach = __webpack_require__(2092).forEach; 36436var arrayMethodIsStrict = __webpack_require__(9341); 36437 36438var STRICT_METHOD = arrayMethodIsStrict('forEach'); 36439 36440// `Array.prototype.forEach` method implementation 36441// https://tc39.es/ecma262/#sec-array.prototype.foreach 36442module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { 36443 return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 36444} : [].forEach; 36445 36446 36447/***/ }), 36448 36449/***/ 8457: 36450/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36451 36452"use strict"; 36453 36454var bind = __webpack_require__(9974); 36455var toObject = __webpack_require__(7908); 36456var callWithSafeIterationClosing = __webpack_require__(3411); 36457var isArrayIteratorMethod = __webpack_require__(7659); 36458var toLength = __webpack_require__(7466); 36459var createProperty = __webpack_require__(6135); 36460var getIteratorMethod = __webpack_require__(1246); 36461 36462// `Array.from` method implementation 36463// https://tc39.es/ecma262/#sec-array.from 36464module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { 36465 var O = toObject(arrayLike); 36466 var C = typeof this == 'function' ? this : Array; 36467 var argumentsLength = arguments.length; 36468 var mapfn = argumentsLength > 1 ? arguments[1] : undefined; 36469 var mapping = mapfn !== undefined; 36470 var iteratorMethod = getIteratorMethod(O); 36471 var index = 0; 36472 var length, result, step, iterator, next, value; 36473 if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2); 36474 // if the target is not iterable or it's an array with the default iterator - use a simple case 36475 if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) { 36476 iterator = iteratorMethod.call(O); 36477 next = iterator.next; 36478 result = new C(); 36479 for (;!(step = next.call(iterator)).done; index++) { 36480 value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value; 36481 createProperty(result, index, value); 36482 } 36483 } else { 36484 length = toLength(O.length); 36485 result = new C(length); 36486 for (;length > index; index++) { 36487 value = mapping ? mapfn(O[index], index) : O[index]; 36488 createProperty(result, index, value); 36489 } 36490 } 36491 result.length = index; 36492 return result; 36493}; 36494 36495 36496/***/ }), 36497 36498/***/ 1318: 36499/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36500 36501var toIndexedObject = __webpack_require__(5656); 36502var toLength = __webpack_require__(7466); 36503var toAbsoluteIndex = __webpack_require__(1400); 36504 36505// `Array.prototype.{ indexOf, includes }` methods implementation 36506var createMethod = function (IS_INCLUDES) { 36507 return function ($this, el, fromIndex) { 36508 var O = toIndexedObject($this); 36509 var length = toLength(O.length); 36510 var index = toAbsoluteIndex(fromIndex, length); 36511 var value; 36512 // Array#includes uses SameValueZero equality algorithm 36513 // eslint-disable-next-line no-self-compare -- NaN check 36514 if (IS_INCLUDES && el != el) while (length > index) { 36515 value = O[index++]; 36516 // eslint-disable-next-line no-self-compare -- NaN check 36517 if (value != value) return true; 36518 // Array#indexOf ignores holes, Array#includes - not 36519 } else for (;length > index; index++) { 36520 if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0; 36521 } return !IS_INCLUDES && -1; 36522 }; 36523}; 36524 36525module.exports = { 36526 // `Array.prototype.includes` method 36527 // https://tc39.es/ecma262/#sec-array.prototype.includes 36528 includes: createMethod(true), 36529 // `Array.prototype.indexOf` method 36530 // https://tc39.es/ecma262/#sec-array.prototype.indexof 36531 indexOf: createMethod(false) 36532}; 36533 36534 36535/***/ }), 36536 36537/***/ 2092: 36538/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36539 36540var bind = __webpack_require__(9974); 36541var IndexedObject = __webpack_require__(8361); 36542var toObject = __webpack_require__(7908); 36543var toLength = __webpack_require__(7466); 36544var arraySpeciesCreate = __webpack_require__(5417); 36545 36546var push = [].push; 36547 36548// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation 36549var createMethod = function (TYPE) { 36550 var IS_MAP = TYPE == 1; 36551 var IS_FILTER = TYPE == 2; 36552 var IS_SOME = TYPE == 3; 36553 var IS_EVERY = TYPE == 4; 36554 var IS_FIND_INDEX = TYPE == 6; 36555 var IS_FILTER_OUT = TYPE == 7; 36556 var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; 36557 return function ($this, callbackfn, that, specificCreate) { 36558 var O = toObject($this); 36559 var self = IndexedObject(O); 36560 var boundFunction = bind(callbackfn, that, 3); 36561 var length = toLength(self.length); 36562 var index = 0; 36563 var create = specificCreate || arraySpeciesCreate; 36564 var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined; 36565 var value, result; 36566 for (;length > index; index++) if (NO_HOLES || index in self) { 36567 value = self[index]; 36568 result = boundFunction(value, index, O); 36569 if (TYPE) { 36570 if (IS_MAP) target[index] = result; // map 36571 else if (result) switch (TYPE) { 36572 case 3: return true; // some 36573 case 5: return value; // find 36574 case 6: return index; // findIndex 36575 case 2: push.call(target, value); // filter 36576 } else switch (TYPE) { 36577 case 4: return false; // every 36578 case 7: push.call(target, value); // filterOut 36579 } 36580 } 36581 } 36582 return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target; 36583 }; 36584}; 36585 36586module.exports = { 36587 // `Array.prototype.forEach` method 36588 // https://tc39.es/ecma262/#sec-array.prototype.foreach 36589 forEach: createMethod(0), 36590 // `Array.prototype.map` method 36591 // https://tc39.es/ecma262/#sec-array.prototype.map 36592 map: createMethod(1), 36593 // `Array.prototype.filter` method 36594 // https://tc39.es/ecma262/#sec-array.prototype.filter 36595 filter: createMethod(2), 36596 // `Array.prototype.some` method 36597 // https://tc39.es/ecma262/#sec-array.prototype.some 36598 some: createMethod(3), 36599 // `Array.prototype.every` method 36600 // https://tc39.es/ecma262/#sec-array.prototype.every 36601 every: createMethod(4), 36602 // `Array.prototype.find` method 36603 // https://tc39.es/ecma262/#sec-array.prototype.find 36604 find: createMethod(5), 36605 // `Array.prototype.findIndex` method 36606 // https://tc39.es/ecma262/#sec-array.prototype.findIndex 36607 findIndex: createMethod(6), 36608 // `Array.prototype.filterOut` method 36609 // https://github.com/tc39/proposal-array-filtering 36610 filterOut: createMethod(7) 36611}; 36612 36613 36614/***/ }), 36615 36616/***/ 6583: 36617/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36618 36619"use strict"; 36620 36621var toIndexedObject = __webpack_require__(5656); 36622var toInteger = __webpack_require__(9958); 36623var toLength = __webpack_require__(7466); 36624var arrayMethodIsStrict = __webpack_require__(9341); 36625 36626var min = Math.min; 36627var nativeLastIndexOf = [].lastIndexOf; 36628var NEGATIVE_ZERO = !!nativeLastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0; 36629var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf'); 36630var FORCED = NEGATIVE_ZERO || !STRICT_METHOD; 36631 36632// `Array.prototype.lastIndexOf` method implementation 36633// https://tc39.es/ecma262/#sec-array.prototype.lastindexof 36634module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { 36635 // convert -0 to +0 36636 if (NEGATIVE_ZERO) return nativeLastIndexOf.apply(this, arguments) || 0; 36637 var O = toIndexedObject(this); 36638 var length = toLength(O.length); 36639 var index = length - 1; 36640 if (arguments.length > 1) index = min(index, toInteger(arguments[1])); 36641 if (index < 0) index = length + index; 36642 for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0; 36643 return -1; 36644} : nativeLastIndexOf; 36645 36646 36647/***/ }), 36648 36649/***/ 1194: 36650/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36651 36652var fails = __webpack_require__(7293); 36653var wellKnownSymbol = __webpack_require__(5112); 36654var V8_VERSION = __webpack_require__(7392); 36655 36656var SPECIES = wellKnownSymbol('species'); 36657 36658module.exports = function (METHOD_NAME) { 36659 // We can't use this feature detection in V8 since it causes 36660 // deoptimization and serious performance degradation 36661 // https://github.com/zloirock/core-js/issues/677 36662 return V8_VERSION >= 51 || !fails(function () { 36663 var array = []; 36664 var constructor = array.constructor = {}; 36665 constructor[SPECIES] = function () { 36666 return { foo: 1 }; 36667 }; 36668 return array[METHOD_NAME](Boolean).foo !== 1; 36669 }); 36670}; 36671 36672 36673/***/ }), 36674 36675/***/ 9341: 36676/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36677 36678"use strict"; 36679 36680var fails = __webpack_require__(7293); 36681 36682module.exports = function (METHOD_NAME, argument) { 36683 var method = [][METHOD_NAME]; 36684 return !!method && fails(function () { 36685 // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing 36686 method.call(null, argument || function () { throw 1; }, 1); 36687 }); 36688}; 36689 36690 36691/***/ }), 36692 36693/***/ 3671: 36694/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36695 36696var aFunction = __webpack_require__(3099); 36697var toObject = __webpack_require__(7908); 36698var IndexedObject = __webpack_require__(8361); 36699var toLength = __webpack_require__(7466); 36700 36701// `Array.prototype.{ reduce, reduceRight }` methods implementation 36702var createMethod = function (IS_RIGHT) { 36703 return function (that, callbackfn, argumentsLength, memo) { 36704 aFunction(callbackfn); 36705 var O = toObject(that); 36706 var self = IndexedObject(O); 36707 var length = toLength(O.length); 36708 var index = IS_RIGHT ? length - 1 : 0; 36709 var i = IS_RIGHT ? -1 : 1; 36710 if (argumentsLength < 2) while (true) { 36711 if (index in self) { 36712 memo = self[index]; 36713 index += i; 36714 break; 36715 } 36716 index += i; 36717 if (IS_RIGHT ? index < 0 : length <= index) { 36718 throw TypeError('Reduce of empty array with no initial value'); 36719 } 36720 } 36721 for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) { 36722 memo = callbackfn(memo, self[index], index, O); 36723 } 36724 return memo; 36725 }; 36726}; 36727 36728module.exports = { 36729 // `Array.prototype.reduce` method 36730 // https://tc39.es/ecma262/#sec-array.prototype.reduce 36731 left: createMethod(false), 36732 // `Array.prototype.reduceRight` method 36733 // https://tc39.es/ecma262/#sec-array.prototype.reduceright 36734 right: createMethod(true) 36735}; 36736 36737 36738/***/ }), 36739 36740/***/ 5417: 36741/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36742 36743var isObject = __webpack_require__(111); 36744var isArray = __webpack_require__(3157); 36745var wellKnownSymbol = __webpack_require__(5112); 36746 36747var SPECIES = wellKnownSymbol('species'); 36748 36749// `ArraySpeciesCreate` abstract operation 36750// https://tc39.es/ecma262/#sec-arrayspeciescreate 36751module.exports = function (originalArray, length) { 36752 var C; 36753 if (isArray(originalArray)) { 36754 C = originalArray.constructor; 36755 // cross-realm fallback 36756 if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; 36757 else if (isObject(C)) { 36758 C = C[SPECIES]; 36759 if (C === null) C = undefined; 36760 } 36761 } return new (C === undefined ? Array : C)(length === 0 ? 0 : length); 36762}; 36763 36764 36765/***/ }), 36766 36767/***/ 3411: 36768/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36769 36770var anObject = __webpack_require__(9670); 36771var iteratorClose = __webpack_require__(9212); 36772 36773// call something on iterator step with safe closing on error 36774module.exports = function (iterator, fn, value, ENTRIES) { 36775 try { 36776 return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value); 36777 // 7.4.6 IteratorClose(iterator, completion) 36778 } catch (error) { 36779 iteratorClose(iterator); 36780 throw error; 36781 } 36782}; 36783 36784 36785/***/ }), 36786 36787/***/ 7072: 36788/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36789 36790var wellKnownSymbol = __webpack_require__(5112); 36791 36792var ITERATOR = wellKnownSymbol('iterator'); 36793var SAFE_CLOSING = false; 36794 36795try { 36796 var called = 0; 36797 var iteratorWithReturn = { 36798 next: function () { 36799 return { done: !!called++ }; 36800 }, 36801 'return': function () { 36802 SAFE_CLOSING = true; 36803 } 36804 }; 36805 iteratorWithReturn[ITERATOR] = function () { 36806 return this; 36807 }; 36808 // eslint-disable-next-line no-throw-literal -- required for testing 36809 Array.from(iteratorWithReturn, function () { throw 2; }); 36810} catch (error) { /* empty */ } 36811 36812module.exports = function (exec, SKIP_CLOSING) { 36813 if (!SKIP_CLOSING && !SAFE_CLOSING) return false; 36814 var ITERATION_SUPPORT = false; 36815 try { 36816 var object = {}; 36817 object[ITERATOR] = function () { 36818 return { 36819 next: function () { 36820 return { done: ITERATION_SUPPORT = true }; 36821 } 36822 }; 36823 }; 36824 exec(object); 36825 } catch (error) { /* empty */ } 36826 return ITERATION_SUPPORT; 36827}; 36828 36829 36830/***/ }), 36831 36832/***/ 4326: 36833/***/ (function(module) { 36834 36835var toString = {}.toString; 36836 36837module.exports = function (it) { 36838 return toString.call(it).slice(8, -1); 36839}; 36840 36841 36842/***/ }), 36843 36844/***/ 648: 36845/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36846 36847var TO_STRING_TAG_SUPPORT = __webpack_require__(1694); 36848var classofRaw = __webpack_require__(4326); 36849var wellKnownSymbol = __webpack_require__(5112); 36850 36851var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 36852// ES3 wrong here 36853var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments'; 36854 36855// fallback for IE11 Script Access Denied error 36856var tryGet = function (it, key) { 36857 try { 36858 return it[key]; 36859 } catch (error) { /* empty */ } 36860}; 36861 36862// getting tag from ES6+ `Object.prototype.toString` 36863module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) { 36864 var O, tag, result; 36865 return it === undefined ? 'Undefined' : it === null ? 'Null' 36866 // @@toStringTag case 36867 : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag 36868 // builtinTag case 36869 : CORRECT_ARGUMENTS ? classofRaw(O) 36870 // ES3 arguments fallback 36871 : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result; 36872}; 36873 36874 36875/***/ }), 36876 36877/***/ 9920: 36878/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36879 36880var has = __webpack_require__(6656); 36881var ownKeys = __webpack_require__(3887); 36882var getOwnPropertyDescriptorModule = __webpack_require__(1236); 36883var definePropertyModule = __webpack_require__(3070); 36884 36885module.exports = function (target, source) { 36886 var keys = ownKeys(source); 36887 var defineProperty = definePropertyModule.f; 36888 var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 36889 for (var i = 0; i < keys.length; i++) { 36890 var key = keys[i]; 36891 if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key)); 36892 } 36893}; 36894 36895 36896/***/ }), 36897 36898/***/ 8544: 36899/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36900 36901var fails = __webpack_require__(7293); 36902 36903module.exports = !fails(function () { 36904 function F() { /* empty */ } 36905 F.prototype.constructor = null; 36906 return Object.getPrototypeOf(new F()) !== F.prototype; 36907}); 36908 36909 36910/***/ }), 36911 36912/***/ 4994: 36913/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36914 36915"use strict"; 36916 36917var IteratorPrototype = __webpack_require__(3383).IteratorPrototype; 36918var create = __webpack_require__(30); 36919var createPropertyDescriptor = __webpack_require__(9114); 36920var setToStringTag = __webpack_require__(8003); 36921var Iterators = __webpack_require__(7497); 36922 36923var returnThis = function () { return this; }; 36924 36925module.exports = function (IteratorConstructor, NAME, next) { 36926 var TO_STRING_TAG = NAME + ' Iterator'; 36927 IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) }); 36928 setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true); 36929 Iterators[TO_STRING_TAG] = returnThis; 36930 return IteratorConstructor; 36931}; 36932 36933 36934/***/ }), 36935 36936/***/ 8880: 36937/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36938 36939var DESCRIPTORS = __webpack_require__(9781); 36940var definePropertyModule = __webpack_require__(3070); 36941var createPropertyDescriptor = __webpack_require__(9114); 36942 36943module.exports = DESCRIPTORS ? function (object, key, value) { 36944 return definePropertyModule.f(object, key, createPropertyDescriptor(1, value)); 36945} : function (object, key, value) { 36946 object[key] = value; 36947 return object; 36948}; 36949 36950 36951/***/ }), 36952 36953/***/ 9114: 36954/***/ (function(module) { 36955 36956module.exports = function (bitmap, value) { 36957 return { 36958 enumerable: !(bitmap & 1), 36959 configurable: !(bitmap & 2), 36960 writable: !(bitmap & 4), 36961 value: value 36962 }; 36963}; 36964 36965 36966/***/ }), 36967 36968/***/ 6135: 36969/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36970 36971"use strict"; 36972 36973var toPrimitive = __webpack_require__(7593); 36974var definePropertyModule = __webpack_require__(3070); 36975var createPropertyDescriptor = __webpack_require__(9114); 36976 36977module.exports = function (object, key, value) { 36978 var propertyKey = toPrimitive(key); 36979 if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value)); 36980 else object[propertyKey] = value; 36981}; 36982 36983 36984/***/ }), 36985 36986/***/ 654: 36987/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 36988 36989"use strict"; 36990 36991var $ = __webpack_require__(2109); 36992var createIteratorConstructor = __webpack_require__(4994); 36993var getPrototypeOf = __webpack_require__(9518); 36994var setPrototypeOf = __webpack_require__(7674); 36995var setToStringTag = __webpack_require__(8003); 36996var createNonEnumerableProperty = __webpack_require__(8880); 36997var redefine = __webpack_require__(1320); 36998var wellKnownSymbol = __webpack_require__(5112); 36999var IS_PURE = __webpack_require__(1913); 37000var Iterators = __webpack_require__(7497); 37001var IteratorsCore = __webpack_require__(3383); 37002 37003var IteratorPrototype = IteratorsCore.IteratorPrototype; 37004var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS; 37005var ITERATOR = wellKnownSymbol('iterator'); 37006var KEYS = 'keys'; 37007var VALUES = 'values'; 37008var ENTRIES = 'entries'; 37009 37010var returnThis = function () { return this; }; 37011 37012module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) { 37013 createIteratorConstructor(IteratorConstructor, NAME, next); 37014 37015 var getIterationMethod = function (KIND) { 37016 if (KIND === DEFAULT && defaultIterator) return defaultIterator; 37017 if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND]; 37018 switch (KIND) { 37019 case KEYS: return function keys() { return new IteratorConstructor(this, KIND); }; 37020 case VALUES: return function values() { return new IteratorConstructor(this, KIND); }; 37021 case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); }; 37022 } return function () { return new IteratorConstructor(this); }; 37023 }; 37024 37025 var TO_STRING_TAG = NAME + ' Iterator'; 37026 var INCORRECT_VALUES_NAME = false; 37027 var IterablePrototype = Iterable.prototype; 37028 var nativeIterator = IterablePrototype[ITERATOR] 37029 || IterablePrototype['@@iterator'] 37030 || DEFAULT && IterablePrototype[DEFAULT]; 37031 var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT); 37032 var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator; 37033 var CurrentIteratorPrototype, methods, KEY; 37034 37035 // fix native 37036 if (anyNativeIterator) { 37037 CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable())); 37038 if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) { 37039 if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) { 37040 if (setPrototypeOf) { 37041 setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype); 37042 } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') { 37043 createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis); 37044 } 37045 } 37046 // Set @@toStringTag to native iterators 37047 setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true); 37048 if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis; 37049 } 37050 } 37051 37052 // fix Array#{values, @@iterator}.name in V8 / FF 37053 if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) { 37054 INCORRECT_VALUES_NAME = true; 37055 defaultIterator = function values() { return nativeIterator.call(this); }; 37056 } 37057 37058 // define iterator 37059 if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) { 37060 createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator); 37061 } 37062 Iterators[NAME] = defaultIterator; 37063 37064 // export additional methods 37065 if (DEFAULT) { 37066 methods = { 37067 values: getIterationMethod(VALUES), 37068 keys: IS_SET ? defaultIterator : getIterationMethod(KEYS), 37069 entries: getIterationMethod(ENTRIES) 37070 }; 37071 if (FORCED) for (KEY in methods) { 37072 if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) { 37073 redefine(IterablePrototype, KEY, methods[KEY]); 37074 } 37075 } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods); 37076 } 37077 37078 return methods; 37079}; 37080 37081 37082/***/ }), 37083 37084/***/ 9781: 37085/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37086 37087var fails = __webpack_require__(7293); 37088 37089// Detect IE8's incomplete defineProperty implementation 37090module.exports = !fails(function () { 37091 return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; 37092}); 37093 37094 37095/***/ }), 37096 37097/***/ 317: 37098/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37099 37100var global = __webpack_require__(7854); 37101var isObject = __webpack_require__(111); 37102 37103var document = global.document; 37104// typeof document.createElement is 'object' in old IE 37105var EXISTS = isObject(document) && isObject(document.createElement); 37106 37107module.exports = function (it) { 37108 return EXISTS ? document.createElement(it) : {}; 37109}; 37110 37111 37112/***/ }), 37113 37114/***/ 8324: 37115/***/ (function(module) { 37116 37117// iterable DOM collections 37118// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods 37119module.exports = { 37120 CSSRuleList: 0, 37121 CSSStyleDeclaration: 0, 37122 CSSValueList: 0, 37123 ClientRectList: 0, 37124 DOMRectList: 0, 37125 DOMStringList: 0, 37126 DOMTokenList: 1, 37127 DataTransferItemList: 0, 37128 FileList: 0, 37129 HTMLAllCollection: 0, 37130 HTMLCollection: 0, 37131 HTMLFormElement: 0, 37132 HTMLSelectElement: 0, 37133 MediaList: 0, 37134 MimeTypeArray: 0, 37135 NamedNodeMap: 0, 37136 NodeList: 1, 37137 PaintRequestList: 0, 37138 Plugin: 0, 37139 PluginArray: 0, 37140 SVGLengthList: 0, 37141 SVGNumberList: 0, 37142 SVGPathSegList: 0, 37143 SVGPointList: 0, 37144 SVGStringList: 0, 37145 SVGTransformList: 0, 37146 SourceBufferList: 0, 37147 StyleSheetList: 0, 37148 TextTrackCueList: 0, 37149 TextTrackList: 0, 37150 TouchList: 0 37151}; 37152 37153 37154/***/ }), 37155 37156/***/ 8113: 37157/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37158 37159var getBuiltIn = __webpack_require__(5005); 37160 37161module.exports = getBuiltIn('navigator', 'userAgent') || ''; 37162 37163 37164/***/ }), 37165 37166/***/ 7392: 37167/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37168 37169var global = __webpack_require__(7854); 37170var userAgent = __webpack_require__(8113); 37171 37172var process = global.process; 37173var versions = process && process.versions; 37174var v8 = versions && versions.v8; 37175var match, version; 37176 37177if (v8) { 37178 match = v8.split('.'); 37179 version = match[0] + match[1]; 37180} else if (userAgent) { 37181 match = userAgent.match(/Edge\/(\d+)/); 37182 if (!match || match[1] >= 74) { 37183 match = userAgent.match(/Chrome\/(\d+)/); 37184 if (match) version = match[1]; 37185 } 37186} 37187 37188module.exports = version && +version; 37189 37190 37191/***/ }), 37192 37193/***/ 748: 37194/***/ (function(module) { 37195 37196// IE8- don't enum bug keys 37197module.exports = [ 37198 'constructor', 37199 'hasOwnProperty', 37200 'isPrototypeOf', 37201 'propertyIsEnumerable', 37202 'toLocaleString', 37203 'toString', 37204 'valueOf' 37205]; 37206 37207 37208/***/ }), 37209 37210/***/ 2109: 37211/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37212 37213var global = __webpack_require__(7854); 37214var getOwnPropertyDescriptor = __webpack_require__(1236).f; 37215var createNonEnumerableProperty = __webpack_require__(8880); 37216var redefine = __webpack_require__(1320); 37217var setGlobal = __webpack_require__(3505); 37218var copyConstructorProperties = __webpack_require__(9920); 37219var isForced = __webpack_require__(4705); 37220 37221/* 37222 options.target - name of the target object 37223 options.global - target is the global object 37224 options.stat - export as static methods of target 37225 options.proto - export as prototype methods of target 37226 options.real - real prototype method for the `pure` version 37227 options.forced - export even if the native feature is available 37228 options.bind - bind methods to the target, required for the `pure` version 37229 options.wrap - wrap constructors to preventing global pollution, required for the `pure` version 37230 options.unsafe - use the simple assignment of property instead of delete + defineProperty 37231 options.sham - add a flag to not completely full polyfills 37232 options.enumerable - export as enumerable property 37233 options.noTargetGet - prevent calling a getter on target 37234*/ 37235module.exports = function (options, source) { 37236 var TARGET = options.target; 37237 var GLOBAL = options.global; 37238 var STATIC = options.stat; 37239 var FORCED, target, key, targetProperty, sourceProperty, descriptor; 37240 if (GLOBAL) { 37241 target = global; 37242 } else if (STATIC) { 37243 target = global[TARGET] || setGlobal(TARGET, {}); 37244 } else { 37245 target = (global[TARGET] || {}).prototype; 37246 } 37247 if (target) for (key in source) { 37248 sourceProperty = source[key]; 37249 if (options.noTargetGet) { 37250 descriptor = getOwnPropertyDescriptor(target, key); 37251 targetProperty = descriptor && descriptor.value; 37252 } else targetProperty = target[key]; 37253 FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced); 37254 // contained in target 37255 if (!FORCED && targetProperty !== undefined) { 37256 if (typeof sourceProperty === typeof targetProperty) continue; 37257 copyConstructorProperties(sourceProperty, targetProperty); 37258 } 37259 // add a flag to not completely full polyfills 37260 if (options.sham || (targetProperty && targetProperty.sham)) { 37261 createNonEnumerableProperty(sourceProperty, 'sham', true); 37262 } 37263 // extend global 37264 redefine(target, key, sourceProperty, options); 37265 } 37266}; 37267 37268 37269/***/ }), 37270 37271/***/ 7293: 37272/***/ (function(module) { 37273 37274module.exports = function (exec) { 37275 try { 37276 return !!exec(); 37277 } catch (error) { 37278 return true; 37279 } 37280}; 37281 37282 37283/***/ }), 37284 37285/***/ 7007: 37286/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37287 37288"use strict"; 37289 37290// TODO: Remove from `core-js@4` since it's moved to entry points 37291__webpack_require__(4916); 37292var redefine = __webpack_require__(1320); 37293var fails = __webpack_require__(7293); 37294var wellKnownSymbol = __webpack_require__(5112); 37295var regexpExec = __webpack_require__(2261); 37296var createNonEnumerableProperty = __webpack_require__(8880); 37297 37298var SPECIES = wellKnownSymbol('species'); 37299 37300var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { 37301 // #replace needs built-in support for named groups. 37302 // #match works fine because it just return the exec results, even if it has 37303 // a "grops" property. 37304 var re = /./; 37305 re.exec = function () { 37306 var result = []; 37307 result.groups = { a: '7' }; 37308 return result; 37309 }; 37310 return ''.replace(re, '$<a>') !== '7'; 37311}); 37312 37313// IE <= 11 replaces $0 with the whole match, as if it was $& 37314// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 37315var REPLACE_KEEPS_$0 = (function () { 37316 return 'a'.replace(/./, '$0') === '$0'; 37317})(); 37318 37319var REPLACE = wellKnownSymbol('replace'); 37320// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string 37321var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () { 37322 if (/./[REPLACE]) { 37323 return /./[REPLACE]('a', '$0') === ''; 37324 } 37325 return false; 37326})(); 37327 37328// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec 37329// Weex JS has frozen built-in prototypes, so use try / catch wrapper 37330var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () { 37331 // eslint-disable-next-line regexp/no-empty-group -- required for testing 37332 var re = /(?:)/; 37333 var originalExec = re.exec; 37334 re.exec = function () { return originalExec.apply(this, arguments); }; 37335 var result = 'ab'.split(re); 37336 return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b'; 37337}); 37338 37339module.exports = function (KEY, length, exec, sham) { 37340 var SYMBOL = wellKnownSymbol(KEY); 37341 37342 var DELEGATES_TO_SYMBOL = !fails(function () { 37343 // String methods call symbol-named RegEp methods 37344 var O = {}; 37345 O[SYMBOL] = function () { return 7; }; 37346 return ''[KEY](O) != 7; 37347 }); 37348 37349 var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () { 37350 // Symbol-named RegExp methods call .exec 37351 var execCalled = false; 37352 var re = /a/; 37353 37354 if (KEY === 'split') { 37355 // We can't use real regex here since it causes deoptimization 37356 // and serious performance degradation in V8 37357 // https://github.com/zloirock/core-js/issues/306 37358 re = {}; 37359 // RegExp[@@split] doesn't call the regex's exec method, but first creates 37360 // a new one. We need to return the patched regex when creating the new one. 37361 re.constructor = {}; 37362 re.constructor[SPECIES] = function () { return re; }; 37363 re.flags = ''; 37364 re[SYMBOL] = /./[SYMBOL]; 37365 } 37366 37367 re.exec = function () { execCalled = true; return null; }; 37368 37369 re[SYMBOL](''); 37370 return !execCalled; 37371 }); 37372 37373 if ( 37374 !DELEGATES_TO_SYMBOL || 37375 !DELEGATES_TO_EXEC || 37376 (KEY === 'replace' && !( 37377 REPLACE_SUPPORTS_NAMED_GROUPS && 37378 REPLACE_KEEPS_$0 && 37379 !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE 37380 )) || 37381 (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) 37382 ) { 37383 var nativeRegExpMethod = /./[SYMBOL]; 37384 var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { 37385 if (regexp.exec === regexpExec) { 37386 if (DELEGATES_TO_SYMBOL && !forceStringMethod) { 37387 // The native String method already delegates to @@method (this 37388 // polyfilled function), leasing to infinite recursion. 37389 // We avoid it by directly calling the native @@method method. 37390 return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; 37391 } 37392 return { done: true, value: nativeMethod.call(str, regexp, arg2) }; 37393 } 37394 return { done: false }; 37395 }, { 37396 REPLACE_KEEPS_$0: REPLACE_KEEPS_$0, 37397 REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE 37398 }); 37399 var stringMethod = methods[0]; 37400 var regexMethod = methods[1]; 37401 37402 redefine(String.prototype, KEY, stringMethod); 37403 redefine(RegExp.prototype, SYMBOL, length == 2 37404 // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) 37405 // 21.2.5.11 RegExp.prototype[@@split](string, limit) 37406 ? function (string, arg) { return regexMethod.call(string, this, arg); } 37407 // 21.2.5.6 RegExp.prototype[@@match](string) 37408 // 21.2.5.9 RegExp.prototype[@@search](string) 37409 : function (string) { return regexMethod.call(string, this); } 37410 ); 37411 } 37412 37413 if (sham) createNonEnumerableProperty(RegExp.prototype[SYMBOL], 'sham', true); 37414}; 37415 37416 37417/***/ }), 37418 37419/***/ 9974: 37420/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37421 37422var aFunction = __webpack_require__(3099); 37423 37424// optional / simple context binding 37425module.exports = function (fn, that, length) { 37426 aFunction(fn); 37427 if (that === undefined) return fn; 37428 switch (length) { 37429 case 0: return function () { 37430 return fn.call(that); 37431 }; 37432 case 1: return function (a) { 37433 return fn.call(that, a); 37434 }; 37435 case 2: return function (a, b) { 37436 return fn.call(that, a, b); 37437 }; 37438 case 3: return function (a, b, c) { 37439 return fn.call(that, a, b, c); 37440 }; 37441 } 37442 return function (/* ...args */) { 37443 return fn.apply(that, arguments); 37444 }; 37445}; 37446 37447 37448/***/ }), 37449 37450/***/ 5005: 37451/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37452 37453var path = __webpack_require__(857); 37454var global = __webpack_require__(7854); 37455 37456var aFunction = function (variable) { 37457 return typeof variable == 'function' ? variable : undefined; 37458}; 37459 37460module.exports = function (namespace, method) { 37461 return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) 37462 : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method]; 37463}; 37464 37465 37466/***/ }), 37467 37468/***/ 1246: 37469/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37470 37471var classof = __webpack_require__(648); 37472var Iterators = __webpack_require__(7497); 37473var wellKnownSymbol = __webpack_require__(5112); 37474 37475var ITERATOR = wellKnownSymbol('iterator'); 37476 37477module.exports = function (it) { 37478 if (it != undefined) return it[ITERATOR] 37479 || it['@@iterator'] 37480 || Iterators[classof(it)]; 37481}; 37482 37483 37484/***/ }), 37485 37486/***/ 8554: 37487/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37488 37489var anObject = __webpack_require__(9670); 37490var getIteratorMethod = __webpack_require__(1246); 37491 37492module.exports = function (it) { 37493 var iteratorMethod = getIteratorMethod(it); 37494 if (typeof iteratorMethod != 'function') { 37495 throw TypeError(String(it) + ' is not iterable'); 37496 } return anObject(iteratorMethod.call(it)); 37497}; 37498 37499 37500/***/ }), 37501 37502/***/ 647: 37503/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37504 37505var toObject = __webpack_require__(7908); 37506 37507var floor = Math.floor; 37508var replace = ''.replace; 37509var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d\d?|<[^>]*>)/g; 37510var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d\d?)/g; 37511 37512// https://tc39.es/ecma262/#sec-getsubstitution 37513module.exports = function (matched, str, position, captures, namedCaptures, replacement) { 37514 var tailPos = position + matched.length; 37515 var m = captures.length; 37516 var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; 37517 if (namedCaptures !== undefined) { 37518 namedCaptures = toObject(namedCaptures); 37519 symbols = SUBSTITUTION_SYMBOLS; 37520 } 37521 return replace.call(replacement, symbols, function (match, ch) { 37522 var capture; 37523 switch (ch.charAt(0)) { 37524 case '$': return '$'; 37525 case '&': return matched; 37526 case '`': return str.slice(0, position); 37527 case "'": return str.slice(tailPos); 37528 case '<': 37529 capture = namedCaptures[ch.slice(1, -1)]; 37530 break; 37531 default: // \d\d? 37532 var n = +ch; 37533 if (n === 0) return match; 37534 if (n > m) { 37535 var f = floor(n / 10); 37536 if (f === 0) return match; 37537 if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); 37538 return match; 37539 } 37540 capture = captures[n - 1]; 37541 } 37542 return capture === undefined ? '' : capture; 37543 }); 37544}; 37545 37546 37547/***/ }), 37548 37549/***/ 7854: 37550/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37551 37552var check = function (it) { 37553 return it && it.Math == Math && it; 37554}; 37555 37556// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 37557module.exports = 37558 /* global globalThis -- safe */ 37559 check(typeof globalThis == 'object' && globalThis) || 37560 check(typeof window == 'object' && window) || 37561 check(typeof self == 'object' && self) || 37562 check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) || 37563 // eslint-disable-next-line no-new-func -- fallback 37564 (function () { return this; })() || Function('return this')(); 37565 37566 37567/***/ }), 37568 37569/***/ 6656: 37570/***/ (function(module) { 37571 37572var hasOwnProperty = {}.hasOwnProperty; 37573 37574module.exports = function (it, key) { 37575 return hasOwnProperty.call(it, key); 37576}; 37577 37578 37579/***/ }), 37580 37581/***/ 3501: 37582/***/ (function(module) { 37583 37584module.exports = {}; 37585 37586 37587/***/ }), 37588 37589/***/ 490: 37590/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37591 37592var getBuiltIn = __webpack_require__(5005); 37593 37594module.exports = getBuiltIn('document', 'documentElement'); 37595 37596 37597/***/ }), 37598 37599/***/ 4664: 37600/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37601 37602var DESCRIPTORS = __webpack_require__(9781); 37603var fails = __webpack_require__(7293); 37604var createElement = __webpack_require__(317); 37605 37606// Thank's IE8 for his funny defineProperty 37607module.exports = !DESCRIPTORS && !fails(function () { 37608 return Object.defineProperty(createElement('div'), 'a', { 37609 get: function () { return 7; } 37610 }).a != 7; 37611}); 37612 37613 37614/***/ }), 37615 37616/***/ 1179: 37617/***/ (function(module) { 37618 37619// IEEE754 conversions based on https://github.com/feross/ieee754 37620var abs = Math.abs; 37621var pow = Math.pow; 37622var floor = Math.floor; 37623var log = Math.log; 37624var LN2 = Math.LN2; 37625 37626var pack = function (number, mantissaLength, bytes) { 37627 var buffer = new Array(bytes); 37628 var exponentLength = bytes * 8 - mantissaLength - 1; 37629 var eMax = (1 << exponentLength) - 1; 37630 var eBias = eMax >> 1; 37631 var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0; 37632 var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0; 37633 var index = 0; 37634 var exponent, mantissa, c; 37635 number = abs(number); 37636 // eslint-disable-next-line no-self-compare -- NaN check 37637 if (number != number || number === Infinity) { 37638 // eslint-disable-next-line no-self-compare -- NaN check 37639 mantissa = number != number ? 1 : 0; 37640 exponent = eMax; 37641 } else { 37642 exponent = floor(log(number) / LN2); 37643 if (number * (c = pow(2, -exponent)) < 1) { 37644 exponent--; 37645 c *= 2; 37646 } 37647 if (exponent + eBias >= 1) { 37648 number += rt / c; 37649 } else { 37650 number += rt * pow(2, 1 - eBias); 37651 } 37652 if (number * c >= 2) { 37653 exponent++; 37654 c /= 2; 37655 } 37656 if (exponent + eBias >= eMax) { 37657 mantissa = 0; 37658 exponent = eMax; 37659 } else if (exponent + eBias >= 1) { 37660 mantissa = (number * c - 1) * pow(2, mantissaLength); 37661 exponent = exponent + eBias; 37662 } else { 37663 mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength); 37664 exponent = 0; 37665 } 37666 } 37667 for (; mantissaLength >= 8; buffer[index++] = mantissa & 255, mantissa /= 256, mantissaLength -= 8); 37668 exponent = exponent << mantissaLength | mantissa; 37669 exponentLength += mantissaLength; 37670 for (; exponentLength > 0; buffer[index++] = exponent & 255, exponent /= 256, exponentLength -= 8); 37671 buffer[--index] |= sign * 128; 37672 return buffer; 37673}; 37674 37675var unpack = function (buffer, mantissaLength) { 37676 var bytes = buffer.length; 37677 var exponentLength = bytes * 8 - mantissaLength - 1; 37678 var eMax = (1 << exponentLength) - 1; 37679 var eBias = eMax >> 1; 37680 var nBits = exponentLength - 7; 37681 var index = bytes - 1; 37682 var sign = buffer[index--]; 37683 var exponent = sign & 127; 37684 var mantissa; 37685 sign >>= 7; 37686 for (; nBits > 0; exponent = exponent * 256 + buffer[index], index--, nBits -= 8); 37687 mantissa = exponent & (1 << -nBits) - 1; 37688 exponent >>= -nBits; 37689 nBits += mantissaLength; 37690 for (; nBits > 0; mantissa = mantissa * 256 + buffer[index], index--, nBits -= 8); 37691 if (exponent === 0) { 37692 exponent = 1 - eBias; 37693 } else if (exponent === eMax) { 37694 return mantissa ? NaN : sign ? -Infinity : Infinity; 37695 } else { 37696 mantissa = mantissa + pow(2, mantissaLength); 37697 exponent = exponent - eBias; 37698 } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength); 37699}; 37700 37701module.exports = { 37702 pack: pack, 37703 unpack: unpack 37704}; 37705 37706 37707/***/ }), 37708 37709/***/ 8361: 37710/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37711 37712var fails = __webpack_require__(7293); 37713var classof = __webpack_require__(4326); 37714 37715var split = ''.split; 37716 37717// fallback for non-array-like ES3 and non-enumerable old V8 strings 37718module.exports = fails(function () { 37719 // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346 37720 // eslint-disable-next-line no-prototype-builtins -- safe 37721 return !Object('z').propertyIsEnumerable(0); 37722}) ? function (it) { 37723 return classof(it) == 'String' ? split.call(it, '') : Object(it); 37724} : Object; 37725 37726 37727/***/ }), 37728 37729/***/ 9587: 37730/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37731 37732var isObject = __webpack_require__(111); 37733var setPrototypeOf = __webpack_require__(7674); 37734 37735// makes subclassing work correct for wrapped built-ins 37736module.exports = function ($this, dummy, Wrapper) { 37737 var NewTarget, NewTargetPrototype; 37738 if ( 37739 // it can work only with native `setPrototypeOf` 37740 setPrototypeOf && 37741 // we haven't completely correct pre-ES6 way for getting `new.target`, so use this 37742 typeof (NewTarget = dummy.constructor) == 'function' && 37743 NewTarget !== Wrapper && 37744 isObject(NewTargetPrototype = NewTarget.prototype) && 37745 NewTargetPrototype !== Wrapper.prototype 37746 ) setPrototypeOf($this, NewTargetPrototype); 37747 return $this; 37748}; 37749 37750 37751/***/ }), 37752 37753/***/ 2788: 37754/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37755 37756var store = __webpack_require__(5465); 37757 37758var functionToString = Function.toString; 37759 37760// this helper broken in `3.4.1-3.4.4`, so we can't use `shared` helper 37761if (typeof store.inspectSource != 'function') { 37762 store.inspectSource = function (it) { 37763 return functionToString.call(it); 37764 }; 37765} 37766 37767module.exports = store.inspectSource; 37768 37769 37770/***/ }), 37771 37772/***/ 9909: 37773/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37774 37775var NATIVE_WEAK_MAP = __webpack_require__(8536); 37776var global = __webpack_require__(7854); 37777var isObject = __webpack_require__(111); 37778var createNonEnumerableProperty = __webpack_require__(8880); 37779var objectHas = __webpack_require__(6656); 37780var shared = __webpack_require__(5465); 37781var sharedKey = __webpack_require__(6200); 37782var hiddenKeys = __webpack_require__(3501); 37783 37784var WeakMap = global.WeakMap; 37785var set, get, has; 37786 37787var enforce = function (it) { 37788 return has(it) ? get(it) : set(it, {}); 37789}; 37790 37791var getterFor = function (TYPE) { 37792 return function (it) { 37793 var state; 37794 if (!isObject(it) || (state = get(it)).type !== TYPE) { 37795 throw TypeError('Incompatible receiver, ' + TYPE + ' required'); 37796 } return state; 37797 }; 37798}; 37799 37800if (NATIVE_WEAK_MAP) { 37801 var store = shared.state || (shared.state = new WeakMap()); 37802 var wmget = store.get; 37803 var wmhas = store.has; 37804 var wmset = store.set; 37805 set = function (it, metadata) { 37806 metadata.facade = it; 37807 wmset.call(store, it, metadata); 37808 return metadata; 37809 }; 37810 get = function (it) { 37811 return wmget.call(store, it) || {}; 37812 }; 37813 has = function (it) { 37814 return wmhas.call(store, it); 37815 }; 37816} else { 37817 var STATE = sharedKey('state'); 37818 hiddenKeys[STATE] = true; 37819 set = function (it, metadata) { 37820 metadata.facade = it; 37821 createNonEnumerableProperty(it, STATE, metadata); 37822 return metadata; 37823 }; 37824 get = function (it) { 37825 return objectHas(it, STATE) ? it[STATE] : {}; 37826 }; 37827 has = function (it) { 37828 return objectHas(it, STATE); 37829 }; 37830} 37831 37832module.exports = { 37833 set: set, 37834 get: get, 37835 has: has, 37836 enforce: enforce, 37837 getterFor: getterFor 37838}; 37839 37840 37841/***/ }), 37842 37843/***/ 7659: 37844/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37845 37846var wellKnownSymbol = __webpack_require__(5112); 37847var Iterators = __webpack_require__(7497); 37848 37849var ITERATOR = wellKnownSymbol('iterator'); 37850var ArrayPrototype = Array.prototype; 37851 37852// check on default Array iterator 37853module.exports = function (it) { 37854 return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it); 37855}; 37856 37857 37858/***/ }), 37859 37860/***/ 3157: 37861/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37862 37863var classof = __webpack_require__(4326); 37864 37865// `IsArray` abstract operation 37866// https://tc39.es/ecma262/#sec-isarray 37867module.exports = Array.isArray || function isArray(arg) { 37868 return classof(arg) == 'Array'; 37869}; 37870 37871 37872/***/ }), 37873 37874/***/ 4705: 37875/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37876 37877var fails = __webpack_require__(7293); 37878 37879var replacement = /#|\.prototype\./; 37880 37881var isForced = function (feature, detection) { 37882 var value = data[normalize(feature)]; 37883 return value == POLYFILL ? true 37884 : value == NATIVE ? false 37885 : typeof detection == 'function' ? fails(detection) 37886 : !!detection; 37887}; 37888 37889var normalize = isForced.normalize = function (string) { 37890 return String(string).replace(replacement, '.').toLowerCase(); 37891}; 37892 37893var data = isForced.data = {}; 37894var NATIVE = isForced.NATIVE = 'N'; 37895var POLYFILL = isForced.POLYFILL = 'P'; 37896 37897module.exports = isForced; 37898 37899 37900/***/ }), 37901 37902/***/ 111: 37903/***/ (function(module) { 37904 37905module.exports = function (it) { 37906 return typeof it === 'object' ? it !== null : typeof it === 'function'; 37907}; 37908 37909 37910/***/ }), 37911 37912/***/ 1913: 37913/***/ (function(module) { 37914 37915module.exports = false; 37916 37917 37918/***/ }), 37919 37920/***/ 7850: 37921/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37922 37923var isObject = __webpack_require__(111); 37924var classof = __webpack_require__(4326); 37925var wellKnownSymbol = __webpack_require__(5112); 37926 37927var MATCH = wellKnownSymbol('match'); 37928 37929// `IsRegExp` abstract operation 37930// https://tc39.es/ecma262/#sec-isregexp 37931module.exports = function (it) { 37932 var isRegExp; 37933 return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp'); 37934}; 37935 37936 37937/***/ }), 37938 37939/***/ 9212: 37940/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37941 37942var anObject = __webpack_require__(9670); 37943 37944module.exports = function (iterator) { 37945 var returnMethod = iterator['return']; 37946 if (returnMethod !== undefined) { 37947 return anObject(returnMethod.call(iterator)).value; 37948 } 37949}; 37950 37951 37952/***/ }), 37953 37954/***/ 3383: 37955/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 37956 37957"use strict"; 37958 37959var fails = __webpack_require__(7293); 37960var getPrototypeOf = __webpack_require__(9518); 37961var createNonEnumerableProperty = __webpack_require__(8880); 37962var has = __webpack_require__(6656); 37963var wellKnownSymbol = __webpack_require__(5112); 37964var IS_PURE = __webpack_require__(1913); 37965 37966var ITERATOR = wellKnownSymbol('iterator'); 37967var BUGGY_SAFARI_ITERATORS = false; 37968 37969var returnThis = function () { return this; }; 37970 37971// `%IteratorPrototype%` object 37972// https://tc39.es/ecma262/#sec-%iteratorprototype%-object 37973var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator; 37974 37975if ([].keys) { 37976 arrayIterator = [].keys(); 37977 // Safari 8 has buggy iterators w/o `next` 37978 if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true; 37979 else { 37980 PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator)); 37981 if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype; 37982 } 37983} 37984 37985var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () { 37986 var test = {}; 37987 // FF44- legacy iterators case 37988 return IteratorPrototype[ITERATOR].call(test) !== test; 37989}); 37990 37991if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {}; 37992 37993// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() 37994if ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) { 37995 createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis); 37996} 37997 37998module.exports = { 37999 IteratorPrototype: IteratorPrototype, 38000 BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS 38001}; 38002 38003 38004/***/ }), 38005 38006/***/ 7497: 38007/***/ (function(module) { 38008 38009module.exports = {}; 38010 38011 38012/***/ }), 38013 38014/***/ 133: 38015/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38016 38017var fails = __webpack_require__(7293); 38018 38019module.exports = !!Object.getOwnPropertySymbols && !fails(function () { 38020 // Chrome 38 Symbol has incorrect toString conversion 38021 /* global Symbol -- required for testing */ 38022 return !String(Symbol()); 38023}); 38024 38025 38026/***/ }), 38027 38028/***/ 590: 38029/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38030 38031var fails = __webpack_require__(7293); 38032var wellKnownSymbol = __webpack_require__(5112); 38033var IS_PURE = __webpack_require__(1913); 38034 38035var ITERATOR = wellKnownSymbol('iterator'); 38036 38037module.exports = !fails(function () { 38038 var url = new URL('b?a=1&b=2&c=3', 'http://a'); 38039 var searchParams = url.searchParams; 38040 var result = ''; 38041 url.pathname = 'c%20d'; 38042 searchParams.forEach(function (value, key) { 38043 searchParams['delete']('b'); 38044 result += key + value; 38045 }); 38046 return (IS_PURE && !url.toJSON) 38047 || !searchParams.sort 38048 || url.href !== 'http://a/c%20d?a=1&c=3' 38049 || searchParams.get('c') !== '3' 38050 || String(new URLSearchParams('?a=1')) !== 'a=1' 38051 || !searchParams[ITERATOR] 38052 // throws in Edge 38053 || new URL('https://a@b').username !== 'a' 38054 || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' 38055 // not punycoded in Edge 38056 || new URL('http://ÑеÑÑ').host !== 'xn--e1aybc' 38057 // not escaped in Chrome 62- 38058 || new URL('http://a#б').hash !== '#%D0%B1' 38059 // fails in Chrome 66- 38060 || result !== 'a1c3' 38061 // throws in Safari 38062 || new URL('http://x', undefined).host !== 'x'; 38063}); 38064 38065 38066/***/ }), 38067 38068/***/ 8536: 38069/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38070 38071var global = __webpack_require__(7854); 38072var inspectSource = __webpack_require__(2788); 38073 38074var WeakMap = global.WeakMap; 38075 38076module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap)); 38077 38078 38079/***/ }), 38080 38081/***/ 1574: 38082/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38083 38084"use strict"; 38085 38086var DESCRIPTORS = __webpack_require__(9781); 38087var fails = __webpack_require__(7293); 38088var objectKeys = __webpack_require__(1956); 38089var getOwnPropertySymbolsModule = __webpack_require__(5181); 38090var propertyIsEnumerableModule = __webpack_require__(5296); 38091var toObject = __webpack_require__(7908); 38092var IndexedObject = __webpack_require__(8361); 38093 38094var nativeAssign = Object.assign; 38095var defineProperty = Object.defineProperty; 38096 38097// `Object.assign` method 38098// https://tc39.es/ecma262/#sec-object.assign 38099module.exports = !nativeAssign || fails(function () { 38100 // should have correct order of operations (Edge bug) 38101 if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', { 38102 enumerable: true, 38103 get: function () { 38104 defineProperty(this, 'b', { 38105 value: 3, 38106 enumerable: false 38107 }); 38108 } 38109 }), { b: 2 })).b !== 1) return true; 38110 // should work with symbols and should have deterministic property order (V8 bug) 38111 var A = {}; 38112 var B = {}; 38113 /* global Symbol -- required for testing */ 38114 var symbol = Symbol(); 38115 var alphabet = 'abcdefghijklmnopqrst'; 38116 A[symbol] = 7; 38117 alphabet.split('').forEach(function (chr) { B[chr] = chr; }); 38118 return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; 38119}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` 38120 var T = toObject(target); 38121 var argumentsLength = arguments.length; 38122 var index = 1; 38123 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; 38124 var propertyIsEnumerable = propertyIsEnumerableModule.f; 38125 while (argumentsLength > index) { 38126 var S = IndexedObject(arguments[index++]); 38127 var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S); 38128 var length = keys.length; 38129 var j = 0; 38130 var key; 38131 while (length > j) { 38132 key = keys[j++]; 38133 if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key]; 38134 } 38135 } return T; 38136} : nativeAssign; 38137 38138 38139/***/ }), 38140 38141/***/ 30: 38142/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38143 38144var anObject = __webpack_require__(9670); 38145var defineProperties = __webpack_require__(6048); 38146var enumBugKeys = __webpack_require__(748); 38147var hiddenKeys = __webpack_require__(3501); 38148var html = __webpack_require__(490); 38149var documentCreateElement = __webpack_require__(317); 38150var sharedKey = __webpack_require__(6200); 38151 38152var GT = '>'; 38153var LT = '<'; 38154var PROTOTYPE = 'prototype'; 38155var SCRIPT = 'script'; 38156var IE_PROTO = sharedKey('IE_PROTO'); 38157 38158var EmptyConstructor = function () { /* empty */ }; 38159 38160var scriptTag = function (content) { 38161 return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT; 38162}; 38163 38164// Create object with fake `null` prototype: use ActiveX Object with cleared prototype 38165var NullProtoObjectViaActiveX = function (activeXDocument) { 38166 activeXDocument.write(scriptTag('')); 38167 activeXDocument.close(); 38168 var temp = activeXDocument.parentWindow.Object; 38169 activeXDocument = null; // avoid memory leak 38170 return temp; 38171}; 38172 38173// Create object with fake `null` prototype: use iframe Object with cleared prototype 38174var NullProtoObjectViaIFrame = function () { 38175 // Thrash, waste and sodomy: IE GC bug 38176 var iframe = documentCreateElement('iframe'); 38177 var JS = 'java' + SCRIPT + ':'; 38178 var iframeDocument; 38179 iframe.style.display = 'none'; 38180 html.appendChild(iframe); 38181 // https://github.com/zloirock/core-js/issues/475 38182 iframe.src = String(JS); 38183 iframeDocument = iframe.contentWindow.document; 38184 iframeDocument.open(); 38185 iframeDocument.write(scriptTag('document.F=Object')); 38186 iframeDocument.close(); 38187 return iframeDocument.F; 38188}; 38189 38190// Check for document.domain and active x support 38191// No need to use active x approach when document.domain is not set 38192// see https://github.com/es-shims/es5-shim/issues/150 38193// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346 38194// avoid IE GC bug 38195var activeXDocument; 38196var NullProtoObject = function () { 38197 try { 38198 /* global ActiveXObject -- old IE */ 38199 activeXDocument = document.domain && new ActiveXObject('htmlfile'); 38200 } catch (error) { /* ignore */ } 38201 NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame(); 38202 var length = enumBugKeys.length; 38203 while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]]; 38204 return NullProtoObject(); 38205}; 38206 38207hiddenKeys[IE_PROTO] = true; 38208 38209// `Object.create` method 38210// https://tc39.es/ecma262/#sec-object.create 38211module.exports = Object.create || function create(O, Properties) { 38212 var result; 38213 if (O !== null) { 38214 EmptyConstructor[PROTOTYPE] = anObject(O); 38215 result = new EmptyConstructor(); 38216 EmptyConstructor[PROTOTYPE] = null; 38217 // add "__proto__" for Object.getPrototypeOf polyfill 38218 result[IE_PROTO] = O; 38219 } else result = NullProtoObject(); 38220 return Properties === undefined ? result : defineProperties(result, Properties); 38221}; 38222 38223 38224/***/ }), 38225 38226/***/ 6048: 38227/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38228 38229var DESCRIPTORS = __webpack_require__(9781); 38230var definePropertyModule = __webpack_require__(3070); 38231var anObject = __webpack_require__(9670); 38232var objectKeys = __webpack_require__(1956); 38233 38234// `Object.defineProperties` method 38235// https://tc39.es/ecma262/#sec-object.defineproperties 38236module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) { 38237 anObject(O); 38238 var keys = objectKeys(Properties); 38239 var length = keys.length; 38240 var index = 0; 38241 var key; 38242 while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]); 38243 return O; 38244}; 38245 38246 38247/***/ }), 38248 38249/***/ 3070: 38250/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 38251 38252var DESCRIPTORS = __webpack_require__(9781); 38253var IE8_DOM_DEFINE = __webpack_require__(4664); 38254var anObject = __webpack_require__(9670); 38255var toPrimitive = __webpack_require__(7593); 38256 38257var nativeDefineProperty = Object.defineProperty; 38258 38259// `Object.defineProperty` method 38260// https://tc39.es/ecma262/#sec-object.defineproperty 38261exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) { 38262 anObject(O); 38263 P = toPrimitive(P, true); 38264 anObject(Attributes); 38265 if (IE8_DOM_DEFINE) try { 38266 return nativeDefineProperty(O, P, Attributes); 38267 } catch (error) { /* empty */ } 38268 if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); 38269 if ('value' in Attributes) O[P] = Attributes.value; 38270 return O; 38271}; 38272 38273 38274/***/ }), 38275 38276/***/ 1236: 38277/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 38278 38279var DESCRIPTORS = __webpack_require__(9781); 38280var propertyIsEnumerableModule = __webpack_require__(5296); 38281var createPropertyDescriptor = __webpack_require__(9114); 38282var toIndexedObject = __webpack_require__(5656); 38283var toPrimitive = __webpack_require__(7593); 38284var has = __webpack_require__(6656); 38285var IE8_DOM_DEFINE = __webpack_require__(4664); 38286 38287var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 38288 38289// `Object.getOwnPropertyDescriptor` method 38290// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor 38291exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { 38292 O = toIndexedObject(O); 38293 P = toPrimitive(P, true); 38294 if (IE8_DOM_DEFINE) try { 38295 return nativeGetOwnPropertyDescriptor(O, P); 38296 } catch (error) { /* empty */ } 38297 if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]); 38298}; 38299 38300 38301/***/ }), 38302 38303/***/ 8006: 38304/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 38305 38306var internalObjectKeys = __webpack_require__(6324); 38307var enumBugKeys = __webpack_require__(748); 38308 38309var hiddenKeys = enumBugKeys.concat('length', 'prototype'); 38310 38311// `Object.getOwnPropertyNames` method 38312// https://tc39.es/ecma262/#sec-object.getownpropertynames 38313exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { 38314 return internalObjectKeys(O, hiddenKeys); 38315}; 38316 38317 38318/***/ }), 38319 38320/***/ 5181: 38321/***/ (function(__unused_webpack_module, exports) { 38322 38323exports.f = Object.getOwnPropertySymbols; 38324 38325 38326/***/ }), 38327 38328/***/ 9518: 38329/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38330 38331var has = __webpack_require__(6656); 38332var toObject = __webpack_require__(7908); 38333var sharedKey = __webpack_require__(6200); 38334var CORRECT_PROTOTYPE_GETTER = __webpack_require__(8544); 38335 38336var IE_PROTO = sharedKey('IE_PROTO'); 38337var ObjectPrototype = Object.prototype; 38338 38339// `Object.getPrototypeOf` method 38340// https://tc39.es/ecma262/#sec-object.getprototypeof 38341module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) { 38342 O = toObject(O); 38343 if (has(O, IE_PROTO)) return O[IE_PROTO]; 38344 if (typeof O.constructor == 'function' && O instanceof O.constructor) { 38345 return O.constructor.prototype; 38346 } return O instanceof Object ? ObjectPrototype : null; 38347}; 38348 38349 38350/***/ }), 38351 38352/***/ 6324: 38353/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38354 38355var has = __webpack_require__(6656); 38356var toIndexedObject = __webpack_require__(5656); 38357var indexOf = __webpack_require__(1318).indexOf; 38358var hiddenKeys = __webpack_require__(3501); 38359 38360module.exports = function (object, names) { 38361 var O = toIndexedObject(object); 38362 var i = 0; 38363 var result = []; 38364 var key; 38365 for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key); 38366 // Don't enum bug & hidden keys 38367 while (names.length > i) if (has(O, key = names[i++])) { 38368 ~indexOf(result, key) || result.push(key); 38369 } 38370 return result; 38371}; 38372 38373 38374/***/ }), 38375 38376/***/ 1956: 38377/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38378 38379var internalObjectKeys = __webpack_require__(6324); 38380var enumBugKeys = __webpack_require__(748); 38381 38382// `Object.keys` method 38383// https://tc39.es/ecma262/#sec-object.keys 38384module.exports = Object.keys || function keys(O) { 38385 return internalObjectKeys(O, enumBugKeys); 38386}; 38387 38388 38389/***/ }), 38390 38391/***/ 5296: 38392/***/ (function(__unused_webpack_module, exports) { 38393 38394"use strict"; 38395 38396var nativePropertyIsEnumerable = {}.propertyIsEnumerable; 38397var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; 38398 38399// Nashorn ~ JDK8 bug 38400var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); 38401 38402// `Object.prototype.propertyIsEnumerable` method implementation 38403// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable 38404exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) { 38405 var descriptor = getOwnPropertyDescriptor(this, V); 38406 return !!descriptor && descriptor.enumerable; 38407} : nativePropertyIsEnumerable; 38408 38409 38410/***/ }), 38411 38412/***/ 7674: 38413/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38414 38415/* eslint-disable no-proto -- safe */ 38416var anObject = __webpack_require__(9670); 38417var aPossiblePrototype = __webpack_require__(6077); 38418 38419// `Object.setPrototypeOf` method 38420// https://tc39.es/ecma262/#sec-object.setprototypeof 38421// Works with __proto__ only. Old v8 can't work with null proto objects. 38422module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { 38423 var CORRECT_SETTER = false; 38424 var test = {}; 38425 var setter; 38426 try { 38427 setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; 38428 setter.call(test, []); 38429 CORRECT_SETTER = test instanceof Array; 38430 } catch (error) { /* empty */ } 38431 return function setPrototypeOf(O, proto) { 38432 anObject(O); 38433 aPossiblePrototype(proto); 38434 if (CORRECT_SETTER) setter.call(O, proto); 38435 else O.__proto__ = proto; 38436 return O; 38437 }; 38438}() : undefined); 38439 38440 38441/***/ }), 38442 38443/***/ 288: 38444/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38445 38446"use strict"; 38447 38448var TO_STRING_TAG_SUPPORT = __webpack_require__(1694); 38449var classof = __webpack_require__(648); 38450 38451// `Object.prototype.toString` method implementation 38452// https://tc39.es/ecma262/#sec-object.prototype.tostring 38453module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() { 38454 return '[object ' + classof(this) + ']'; 38455}; 38456 38457 38458/***/ }), 38459 38460/***/ 3887: 38461/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38462 38463var getBuiltIn = __webpack_require__(5005); 38464var getOwnPropertyNamesModule = __webpack_require__(8006); 38465var getOwnPropertySymbolsModule = __webpack_require__(5181); 38466var anObject = __webpack_require__(9670); 38467 38468// all object keys, includes non-enumerable and symbols 38469module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) { 38470 var keys = getOwnPropertyNamesModule.f(anObject(it)); 38471 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f; 38472 return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys; 38473}; 38474 38475 38476/***/ }), 38477 38478/***/ 857: 38479/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38480 38481var global = __webpack_require__(7854); 38482 38483module.exports = global; 38484 38485 38486/***/ }), 38487 38488/***/ 2248: 38489/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38490 38491var redefine = __webpack_require__(1320); 38492 38493module.exports = function (target, src, options) { 38494 for (var key in src) redefine(target, key, src[key], options); 38495 return target; 38496}; 38497 38498 38499/***/ }), 38500 38501/***/ 1320: 38502/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38503 38504var global = __webpack_require__(7854); 38505var createNonEnumerableProperty = __webpack_require__(8880); 38506var has = __webpack_require__(6656); 38507var setGlobal = __webpack_require__(3505); 38508var inspectSource = __webpack_require__(2788); 38509var InternalStateModule = __webpack_require__(9909); 38510 38511var getInternalState = InternalStateModule.get; 38512var enforceInternalState = InternalStateModule.enforce; 38513var TEMPLATE = String(String).split('String'); 38514 38515(module.exports = function (O, key, value, options) { 38516 var unsafe = options ? !!options.unsafe : false; 38517 var simple = options ? !!options.enumerable : false; 38518 var noTargetGet = options ? !!options.noTargetGet : false; 38519 var state; 38520 if (typeof value == 'function') { 38521 if (typeof key == 'string' && !has(value, 'name')) { 38522 createNonEnumerableProperty(value, 'name', key); 38523 } 38524 state = enforceInternalState(value); 38525 if (!state.source) { 38526 state.source = TEMPLATE.join(typeof key == 'string' ? key : ''); 38527 } 38528 } 38529 if (O === global) { 38530 if (simple) O[key] = value; 38531 else setGlobal(key, value); 38532 return; 38533 } else if (!unsafe) { 38534 delete O[key]; 38535 } else if (!noTargetGet && O[key]) { 38536 simple = true; 38537 } 38538 if (simple) O[key] = value; 38539 else createNonEnumerableProperty(O, key, value); 38540// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative 38541})(Function.prototype, 'toString', function toString() { 38542 return typeof this == 'function' && getInternalState(this).source || inspectSource(this); 38543}); 38544 38545 38546/***/ }), 38547 38548/***/ 7651: 38549/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38550 38551var classof = __webpack_require__(4326); 38552var regexpExec = __webpack_require__(2261); 38553 38554// `RegExpExec` abstract operation 38555// https://tc39.es/ecma262/#sec-regexpexec 38556module.exports = function (R, S) { 38557 var exec = R.exec; 38558 if (typeof exec === 'function') { 38559 var result = exec.call(R, S); 38560 if (typeof result !== 'object') { 38561 throw TypeError('RegExp exec method returned something other than an Object or null'); 38562 } 38563 return result; 38564 } 38565 38566 if (classof(R) !== 'RegExp') { 38567 throw TypeError('RegExp#exec called on incompatible receiver'); 38568 } 38569 38570 return regexpExec.call(R, S); 38571}; 38572 38573 38574 38575/***/ }), 38576 38577/***/ 2261: 38578/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38579 38580"use strict"; 38581 38582var regexpFlags = __webpack_require__(7066); 38583var stickyHelpers = __webpack_require__(2999); 38584 38585var nativeExec = RegExp.prototype.exec; 38586// This always refers to the native implementation, because the 38587// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, 38588// which loads this file before patching the method. 38589var nativeReplace = String.prototype.replace; 38590 38591var patchedExec = nativeExec; 38592 38593var UPDATES_LAST_INDEX_WRONG = (function () { 38594 var re1 = /a/; 38595 var re2 = /b*/g; 38596 nativeExec.call(re1, 'a'); 38597 nativeExec.call(re2, 'a'); 38598 return re1.lastIndex !== 0 || re2.lastIndex !== 0; 38599})(); 38600 38601var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET; 38602 38603// nonparticipating capturing group, copied from es5-shim's String#split patch. 38604// eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing 38605var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; 38606 38607var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y; 38608 38609if (PATCH) { 38610 patchedExec = function exec(str) { 38611 var re = this; 38612 var lastIndex, reCopy, match, i; 38613 var sticky = UNSUPPORTED_Y && re.sticky; 38614 var flags = regexpFlags.call(re); 38615 var source = re.source; 38616 var charsAdded = 0; 38617 var strCopy = str; 38618 38619 if (sticky) { 38620 flags = flags.replace('y', ''); 38621 if (flags.indexOf('g') === -1) { 38622 flags += 'g'; 38623 } 38624 38625 strCopy = String(str).slice(re.lastIndex); 38626 // Support anchored sticky behavior. 38627 if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\n')) { 38628 source = '(?: ' + source + ')'; 38629 strCopy = ' ' + strCopy; 38630 charsAdded++; 38631 } 38632 // ^(? + rx + ) is needed, in combination with some str slicing, to 38633 // simulate the 'y' flag. 38634 reCopy = new RegExp('^(?:' + source + ')', flags); 38635 } 38636 38637 if (NPCG_INCLUDED) { 38638 reCopy = new RegExp('^' + source + '$(?!\\s)', flags); 38639 } 38640 if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex; 38641 38642 match = nativeExec.call(sticky ? reCopy : re, strCopy); 38643 38644 if (sticky) { 38645 if (match) { 38646 match.input = match.input.slice(charsAdded); 38647 match[0] = match[0].slice(charsAdded); 38648 match.index = re.lastIndex; 38649 re.lastIndex += match[0].length; 38650 } else re.lastIndex = 0; 38651 } else if (UPDATES_LAST_INDEX_WRONG && match) { 38652 re.lastIndex = re.global ? match.index + match[0].length : lastIndex; 38653 } 38654 if (NPCG_INCLUDED && match && match.length > 1) { 38655 // Fix browsers whose `exec` methods don't consistently return `undefined` 38656 // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ 38657 nativeReplace.call(match[0], reCopy, function () { 38658 for (i = 1; i < arguments.length - 2; i++) { 38659 if (arguments[i] === undefined) match[i] = undefined; 38660 } 38661 }); 38662 } 38663 38664 return match; 38665 }; 38666} 38667 38668module.exports = patchedExec; 38669 38670 38671/***/ }), 38672 38673/***/ 7066: 38674/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38675 38676"use strict"; 38677 38678var anObject = __webpack_require__(9670); 38679 38680// `RegExp.prototype.flags` getter implementation 38681// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags 38682module.exports = function () { 38683 var that = anObject(this); 38684 var result = ''; 38685 if (that.global) result += 'g'; 38686 if (that.ignoreCase) result += 'i'; 38687 if (that.multiline) result += 'm'; 38688 if (that.dotAll) result += 's'; 38689 if (that.unicode) result += 'u'; 38690 if (that.sticky) result += 'y'; 38691 return result; 38692}; 38693 38694 38695/***/ }), 38696 38697/***/ 2999: 38698/***/ (function(__unused_webpack_module, exports, __webpack_require__) { 38699 38700"use strict"; 38701 38702 38703var fails = __webpack_require__(7293); 38704 38705// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError, 38706// so we use an intermediate function. 38707function RE(s, f) { 38708 return RegExp(s, f); 38709} 38710 38711exports.UNSUPPORTED_Y = fails(function () { 38712 // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError 38713 var re = RE('a', 'y'); 38714 re.lastIndex = 2; 38715 return re.exec('abcd') != null; 38716}); 38717 38718exports.BROKEN_CARET = fails(function () { 38719 // https://bugzilla.mozilla.org/show_bug.cgi?id=773687 38720 var re = RE('^r', 'gy'); 38721 re.lastIndex = 2; 38722 return re.exec('str') != null; 38723}); 38724 38725 38726/***/ }), 38727 38728/***/ 4488: 38729/***/ (function(module) { 38730 38731// `RequireObjectCoercible` abstract operation 38732// https://tc39.es/ecma262/#sec-requireobjectcoercible 38733module.exports = function (it) { 38734 if (it == undefined) throw TypeError("Can't call method on " + it); 38735 return it; 38736}; 38737 38738 38739/***/ }), 38740 38741/***/ 3505: 38742/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38743 38744var global = __webpack_require__(7854); 38745var createNonEnumerableProperty = __webpack_require__(8880); 38746 38747module.exports = function (key, value) { 38748 try { 38749 createNonEnumerableProperty(global, key, value); 38750 } catch (error) { 38751 global[key] = value; 38752 } return value; 38753}; 38754 38755 38756/***/ }), 38757 38758/***/ 6340: 38759/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38760 38761"use strict"; 38762 38763var getBuiltIn = __webpack_require__(5005); 38764var definePropertyModule = __webpack_require__(3070); 38765var wellKnownSymbol = __webpack_require__(5112); 38766var DESCRIPTORS = __webpack_require__(9781); 38767 38768var SPECIES = wellKnownSymbol('species'); 38769 38770module.exports = function (CONSTRUCTOR_NAME) { 38771 var Constructor = getBuiltIn(CONSTRUCTOR_NAME); 38772 var defineProperty = definePropertyModule.f; 38773 38774 if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) { 38775 defineProperty(Constructor, SPECIES, { 38776 configurable: true, 38777 get: function () { return this; } 38778 }); 38779 } 38780}; 38781 38782 38783/***/ }), 38784 38785/***/ 8003: 38786/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38787 38788var defineProperty = __webpack_require__(3070).f; 38789var has = __webpack_require__(6656); 38790var wellKnownSymbol = __webpack_require__(5112); 38791 38792var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 38793 38794module.exports = function (it, TAG, STATIC) { 38795 if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) { 38796 defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG }); 38797 } 38798}; 38799 38800 38801/***/ }), 38802 38803/***/ 6200: 38804/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38805 38806var shared = __webpack_require__(2309); 38807var uid = __webpack_require__(9711); 38808 38809var keys = shared('keys'); 38810 38811module.exports = function (key) { 38812 return keys[key] || (keys[key] = uid(key)); 38813}; 38814 38815 38816/***/ }), 38817 38818/***/ 5465: 38819/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38820 38821var global = __webpack_require__(7854); 38822var setGlobal = __webpack_require__(3505); 38823 38824var SHARED = '__core-js_shared__'; 38825var store = global[SHARED] || setGlobal(SHARED, {}); 38826 38827module.exports = store; 38828 38829 38830/***/ }), 38831 38832/***/ 2309: 38833/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38834 38835var IS_PURE = __webpack_require__(1913); 38836var store = __webpack_require__(5465); 38837 38838(module.exports = function (key, value) { 38839 return store[key] || (store[key] = value !== undefined ? value : {}); 38840})('versions', []).push({ 38841 version: '3.9.0', 38842 mode: IS_PURE ? 'pure' : 'global', 38843 copyright: '© 2021 Denis Pushkarev (zloirock.ru)' 38844}); 38845 38846 38847/***/ }), 38848 38849/***/ 6707: 38850/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38851 38852var anObject = __webpack_require__(9670); 38853var aFunction = __webpack_require__(3099); 38854var wellKnownSymbol = __webpack_require__(5112); 38855 38856var SPECIES = wellKnownSymbol('species'); 38857 38858// `SpeciesConstructor` abstract operation 38859// https://tc39.es/ecma262/#sec-speciesconstructor 38860module.exports = function (O, defaultConstructor) { 38861 var C = anObject(O).constructor; 38862 var S; 38863 return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S); 38864}; 38865 38866 38867/***/ }), 38868 38869/***/ 8710: 38870/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 38871 38872var toInteger = __webpack_require__(9958); 38873var requireObjectCoercible = __webpack_require__(4488); 38874 38875// `String.prototype.{ codePointAt, at }` methods implementation 38876var createMethod = function (CONVERT_TO_STRING) { 38877 return function ($this, pos) { 38878 var S = String(requireObjectCoercible($this)); 38879 var position = toInteger(pos); 38880 var size = S.length; 38881 var first, second; 38882 if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined; 38883 first = S.charCodeAt(position); 38884 return first < 0xD800 || first > 0xDBFF || position + 1 === size 38885 || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF 38886 ? CONVERT_TO_STRING ? S.charAt(position) : first 38887 : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000; 38888 }; 38889}; 38890 38891module.exports = { 38892 // `String.prototype.codePointAt` method 38893 // https://tc39.es/ecma262/#sec-string.prototype.codepointat 38894 codeAt: createMethod(false), 38895 // `String.prototype.at` method 38896 // https://github.com/mathiasbynens/String.prototype.at 38897 charAt: createMethod(true) 38898}; 38899 38900 38901/***/ }), 38902 38903/***/ 3197: 38904/***/ (function(module) { 38905 38906"use strict"; 38907 38908// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js 38909var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1 38910var base = 36; 38911var tMin = 1; 38912var tMax = 26; 38913var skew = 38; 38914var damp = 700; 38915var initialBias = 72; 38916var initialN = 128; // 0x80 38917var delimiter = '-'; // '\x2D' 38918var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars 38919var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators 38920var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process'; 38921var baseMinusTMin = base - tMin; 38922var floor = Math.floor; 38923var stringFromCharCode = String.fromCharCode; 38924 38925/** 38926 * Creates an array containing the numeric code points of each Unicode 38927 * character in the string. While JavaScript uses UCS-2 internally, 38928 * this function will convert a pair of surrogate halves (each of which 38929 * UCS-2 exposes as separate characters) into a single code point, 38930 * matching UTF-16. 38931 */ 38932var ucs2decode = function (string) { 38933 var output = []; 38934 var counter = 0; 38935 var length = string.length; 38936 while (counter < length) { 38937 var value = string.charCodeAt(counter++); 38938 if (value >= 0xD800 && value <= 0xDBFF && counter < length) { 38939 // It's a high surrogate, and there is a next character. 38940 var extra = string.charCodeAt(counter++); 38941 if ((extra & 0xFC00) == 0xDC00) { // Low surrogate. 38942 output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000); 38943 } else { 38944 // It's an unmatched surrogate; only append this code unit, in case the 38945 // next code unit is the high surrogate of a surrogate pair. 38946 output.push(value); 38947 counter--; 38948 } 38949 } else { 38950 output.push(value); 38951 } 38952 } 38953 return output; 38954}; 38955 38956/** 38957 * Converts a digit/integer into a basic code point. 38958 */ 38959var digitToBasic = function (digit) { 38960 // 0..25 map to ASCII a..z or A..Z 38961 // 26..35 map to ASCII 0..9 38962 return digit + 22 + 75 * (digit < 26); 38963}; 38964 38965/** 38966 * Bias adaptation function as per section 3.4 of RFC 3492. 38967 * https://tools.ietf.org/html/rfc3492#section-3.4 38968 */ 38969var adapt = function (delta, numPoints, firstTime) { 38970 var k = 0; 38971 delta = firstTime ? floor(delta / damp) : delta >> 1; 38972 delta += floor(delta / numPoints); 38973 for (; delta > baseMinusTMin * tMax >> 1; k += base) { 38974 delta = floor(delta / baseMinusTMin); 38975 } 38976 return floor(k + (baseMinusTMin + 1) * delta / (delta + skew)); 38977}; 38978 38979/** 38980 * Converts a string of Unicode symbols (e.g. a domain name label) to a 38981 * Punycode string of ASCII-only symbols. 38982 */ 38983// eslint-disable-next-line max-statements -- TODO 38984var encode = function (input) { 38985 var output = []; 38986 38987 // Convert the input in UCS-2 to an array of Unicode code points. 38988 input = ucs2decode(input); 38989 38990 // Cache the length. 38991 var inputLength = input.length; 38992 38993 // Initialize the state. 38994 var n = initialN; 38995 var delta = 0; 38996 var bias = initialBias; 38997 var i, currentValue; 38998 38999 // Handle the basic code points. 39000 for (i = 0; i < input.length; i++) { 39001 currentValue = input[i]; 39002 if (currentValue < 0x80) { 39003 output.push(stringFromCharCode(currentValue)); 39004 } 39005 } 39006 39007 var basicLength = output.length; // number of basic code points. 39008 var handledCPCount = basicLength; // number of code points that have been handled; 39009 39010 // Finish the basic string with a delimiter unless it's empty. 39011 if (basicLength) { 39012 output.push(delimiter); 39013 } 39014 39015 // Main encoding loop: 39016 while (handledCPCount < inputLength) { 39017 // All non-basic code points < n have been handled already. Find the next larger one: 39018 var m = maxInt; 39019 for (i = 0; i < input.length; i++) { 39020 currentValue = input[i]; 39021 if (currentValue >= n && currentValue < m) { 39022 m = currentValue; 39023 } 39024 } 39025 39026 // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow. 39027 var handledCPCountPlusOne = handledCPCount + 1; 39028 if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) { 39029 throw RangeError(OVERFLOW_ERROR); 39030 } 39031 39032 delta += (m - n) * handledCPCountPlusOne; 39033 n = m; 39034 39035 for (i = 0; i < input.length; i++) { 39036 currentValue = input[i]; 39037 if (currentValue < n && ++delta > maxInt) { 39038 throw RangeError(OVERFLOW_ERROR); 39039 } 39040 if (currentValue == n) { 39041 // Represent delta as a generalized variable-length integer. 39042 var q = delta; 39043 for (var k = base; /* no condition */; k += base) { 39044 var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias); 39045 if (q < t) break; 39046 var qMinusT = q - t; 39047 var baseMinusT = base - t; 39048 output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT))); 39049 q = floor(qMinusT / baseMinusT); 39050 } 39051 39052 output.push(stringFromCharCode(digitToBasic(q))); 39053 bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength); 39054 delta = 0; 39055 ++handledCPCount; 39056 } 39057 } 39058 39059 ++delta; 39060 ++n; 39061 } 39062 return output.join(''); 39063}; 39064 39065module.exports = function (input) { 39066 var encoded = []; 39067 var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.'); 39068 var i, label; 39069 for (i = 0; i < labels.length; i++) { 39070 label = labels[i]; 39071 encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label); 39072 } 39073 return encoded.join('.'); 39074}; 39075 39076 39077/***/ }), 39078 39079/***/ 6091: 39080/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39081 39082var fails = __webpack_require__(7293); 39083var whitespaces = __webpack_require__(1361); 39084 39085var non = '\u200B\u0085\u180E'; 39086 39087// check that a method works with the correct list 39088// of whitespaces and has a correct name 39089module.exports = function (METHOD_NAME) { 39090 return fails(function () { 39091 return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME; 39092 }); 39093}; 39094 39095 39096/***/ }), 39097 39098/***/ 3111: 39099/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39100 39101var requireObjectCoercible = __webpack_require__(4488); 39102var whitespaces = __webpack_require__(1361); 39103 39104var whitespace = '[' + whitespaces + ']'; 39105var ltrim = RegExp('^' + whitespace + whitespace + '*'); 39106var rtrim = RegExp(whitespace + whitespace + '*$'); 39107 39108// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation 39109var createMethod = function (TYPE) { 39110 return function ($this) { 39111 var string = String(requireObjectCoercible($this)); 39112 if (TYPE & 1) string = string.replace(ltrim, ''); 39113 if (TYPE & 2) string = string.replace(rtrim, ''); 39114 return string; 39115 }; 39116}; 39117 39118module.exports = { 39119 // `String.prototype.{ trimLeft, trimStart }` methods 39120 // https://tc39.es/ecma262/#sec-string.prototype.trimstart 39121 start: createMethod(1), 39122 // `String.prototype.{ trimRight, trimEnd }` methods 39123 // https://tc39.es/ecma262/#sec-string.prototype.trimend 39124 end: createMethod(2), 39125 // `String.prototype.trim` method 39126 // https://tc39.es/ecma262/#sec-string.prototype.trim 39127 trim: createMethod(3) 39128}; 39129 39130 39131/***/ }), 39132 39133/***/ 1400: 39134/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39135 39136var toInteger = __webpack_require__(9958); 39137 39138var max = Math.max; 39139var min = Math.min; 39140 39141// Helper for a popular repeating case of the spec: 39142// Let integer be ? ToInteger(index). 39143// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length). 39144module.exports = function (index, length) { 39145 var integer = toInteger(index); 39146 return integer < 0 ? max(integer + length, 0) : min(integer, length); 39147}; 39148 39149 39150/***/ }), 39151 39152/***/ 7067: 39153/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39154 39155var toInteger = __webpack_require__(9958); 39156var toLength = __webpack_require__(7466); 39157 39158// `ToIndex` abstract operation 39159// https://tc39.es/ecma262/#sec-toindex 39160module.exports = function (it) { 39161 if (it === undefined) return 0; 39162 var number = toInteger(it); 39163 var length = toLength(number); 39164 if (number !== length) throw RangeError('Wrong length or index'); 39165 return length; 39166}; 39167 39168 39169/***/ }), 39170 39171/***/ 5656: 39172/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39173 39174// toObject with fallback for non-array-like ES3 strings 39175var IndexedObject = __webpack_require__(8361); 39176var requireObjectCoercible = __webpack_require__(4488); 39177 39178module.exports = function (it) { 39179 return IndexedObject(requireObjectCoercible(it)); 39180}; 39181 39182 39183/***/ }), 39184 39185/***/ 9958: 39186/***/ (function(module) { 39187 39188var ceil = Math.ceil; 39189var floor = Math.floor; 39190 39191// `ToInteger` abstract operation 39192// https://tc39.es/ecma262/#sec-tointeger 39193module.exports = function (argument) { 39194 return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument); 39195}; 39196 39197 39198/***/ }), 39199 39200/***/ 7466: 39201/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39202 39203var toInteger = __webpack_require__(9958); 39204 39205var min = Math.min; 39206 39207// `ToLength` abstract operation 39208// https://tc39.es/ecma262/#sec-tolength 39209module.exports = function (argument) { 39210 return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991 39211}; 39212 39213 39214/***/ }), 39215 39216/***/ 7908: 39217/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39218 39219var requireObjectCoercible = __webpack_require__(4488); 39220 39221// `ToObject` abstract operation 39222// https://tc39.es/ecma262/#sec-toobject 39223module.exports = function (argument) { 39224 return Object(requireObjectCoercible(argument)); 39225}; 39226 39227 39228/***/ }), 39229 39230/***/ 4590: 39231/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39232 39233var toPositiveInteger = __webpack_require__(3002); 39234 39235module.exports = function (it, BYTES) { 39236 var offset = toPositiveInteger(it); 39237 if (offset % BYTES) throw RangeError('Wrong offset'); 39238 return offset; 39239}; 39240 39241 39242/***/ }), 39243 39244/***/ 3002: 39245/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39246 39247var toInteger = __webpack_require__(9958); 39248 39249module.exports = function (it) { 39250 var result = toInteger(it); 39251 if (result < 0) throw RangeError("The argument can't be less than 0"); 39252 return result; 39253}; 39254 39255 39256/***/ }), 39257 39258/***/ 7593: 39259/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39260 39261var isObject = __webpack_require__(111); 39262 39263// `ToPrimitive` abstract operation 39264// https://tc39.es/ecma262/#sec-toprimitive 39265// instead of the ES6 spec version, we didn't implement @@toPrimitive case 39266// and the second argument - flag - preferred type is a string 39267module.exports = function (input, PREFERRED_STRING) { 39268 if (!isObject(input)) return input; 39269 var fn, val; 39270 if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; 39271 if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val; 39272 if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val; 39273 throw TypeError("Can't convert object to primitive value"); 39274}; 39275 39276 39277/***/ }), 39278 39279/***/ 1694: 39280/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39281 39282var wellKnownSymbol = __webpack_require__(5112); 39283 39284var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 39285var test = {}; 39286 39287test[TO_STRING_TAG] = 'z'; 39288 39289module.exports = String(test) === '[object z]'; 39290 39291 39292/***/ }), 39293 39294/***/ 9843: 39295/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39296 39297"use strict"; 39298 39299var $ = __webpack_require__(2109); 39300var global = __webpack_require__(7854); 39301var DESCRIPTORS = __webpack_require__(9781); 39302var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__(3832); 39303var ArrayBufferViewCore = __webpack_require__(260); 39304var ArrayBufferModule = __webpack_require__(3331); 39305var anInstance = __webpack_require__(5787); 39306var createPropertyDescriptor = __webpack_require__(9114); 39307var createNonEnumerableProperty = __webpack_require__(8880); 39308var toLength = __webpack_require__(7466); 39309var toIndex = __webpack_require__(7067); 39310var toOffset = __webpack_require__(4590); 39311var toPrimitive = __webpack_require__(7593); 39312var has = __webpack_require__(6656); 39313var classof = __webpack_require__(648); 39314var isObject = __webpack_require__(111); 39315var create = __webpack_require__(30); 39316var setPrototypeOf = __webpack_require__(7674); 39317var getOwnPropertyNames = __webpack_require__(8006).f; 39318var typedArrayFrom = __webpack_require__(7321); 39319var forEach = __webpack_require__(2092).forEach; 39320var setSpecies = __webpack_require__(6340); 39321var definePropertyModule = __webpack_require__(3070); 39322var getOwnPropertyDescriptorModule = __webpack_require__(1236); 39323var InternalStateModule = __webpack_require__(9909); 39324var inheritIfRequired = __webpack_require__(9587); 39325 39326var getInternalState = InternalStateModule.get; 39327var setInternalState = InternalStateModule.set; 39328var nativeDefineProperty = definePropertyModule.f; 39329var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f; 39330var round = Math.round; 39331var RangeError = global.RangeError; 39332var ArrayBuffer = ArrayBufferModule.ArrayBuffer; 39333var DataView = ArrayBufferModule.DataView; 39334var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS; 39335var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG; 39336var TypedArray = ArrayBufferViewCore.TypedArray; 39337var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype; 39338var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 39339var isTypedArray = ArrayBufferViewCore.isTypedArray; 39340var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; 39341var WRONG_LENGTH = 'Wrong length'; 39342 39343var fromList = function (C, list) { 39344 var index = 0; 39345 var length = list.length; 39346 var result = new (aTypedArrayConstructor(C))(length); 39347 while (length > index) result[index] = list[index++]; 39348 return result; 39349}; 39350 39351var addGetter = function (it, key) { 39352 nativeDefineProperty(it, key, { get: function () { 39353 return getInternalState(this)[key]; 39354 } }); 39355}; 39356 39357var isArrayBuffer = function (it) { 39358 var klass; 39359 return it instanceof ArrayBuffer || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer'; 39360}; 39361 39362var isTypedArrayIndex = function (target, key) { 39363 return isTypedArray(target) 39364 && typeof key != 'symbol' 39365 && key in target 39366 && String(+key) == String(key); 39367}; 39368 39369var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) { 39370 return isTypedArrayIndex(target, key = toPrimitive(key, true)) 39371 ? createPropertyDescriptor(2, target[key]) 39372 : nativeGetOwnPropertyDescriptor(target, key); 39373}; 39374 39375var wrappedDefineProperty = function defineProperty(target, key, descriptor) { 39376 if (isTypedArrayIndex(target, key = toPrimitive(key, true)) 39377 && isObject(descriptor) 39378 && has(descriptor, 'value') 39379 && !has(descriptor, 'get') 39380 && !has(descriptor, 'set') 39381 // TODO: add validation descriptor w/o calling accessors 39382 && !descriptor.configurable 39383 && (!has(descriptor, 'writable') || descriptor.writable) 39384 && (!has(descriptor, 'enumerable') || descriptor.enumerable) 39385 ) { 39386 target[key] = descriptor.value; 39387 return target; 39388 } return nativeDefineProperty(target, key, descriptor); 39389}; 39390 39391if (DESCRIPTORS) { 39392 if (!NATIVE_ARRAY_BUFFER_VIEWS) { 39393 getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor; 39394 definePropertyModule.f = wrappedDefineProperty; 39395 addGetter(TypedArrayPrototype, 'buffer'); 39396 addGetter(TypedArrayPrototype, 'byteOffset'); 39397 addGetter(TypedArrayPrototype, 'byteLength'); 39398 addGetter(TypedArrayPrototype, 'length'); 39399 } 39400 39401 $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, { 39402 getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor, 39403 defineProperty: wrappedDefineProperty 39404 }); 39405 39406 module.exports = function (TYPE, wrapper, CLAMPED) { 39407 var BYTES = TYPE.match(/\d+$/)[0] / 8; 39408 var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array'; 39409 var GETTER = 'get' + TYPE; 39410 var SETTER = 'set' + TYPE; 39411 var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME]; 39412 var TypedArrayConstructor = NativeTypedArrayConstructor; 39413 var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype; 39414 var exported = {}; 39415 39416 var getter = function (that, index) { 39417 var data = getInternalState(that); 39418 return data.view[GETTER](index * BYTES + data.byteOffset, true); 39419 }; 39420 39421 var setter = function (that, index, value) { 39422 var data = getInternalState(that); 39423 if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF; 39424 data.view[SETTER](index * BYTES + data.byteOffset, value, true); 39425 }; 39426 39427 var addElement = function (that, index) { 39428 nativeDefineProperty(that, index, { 39429 get: function () { 39430 return getter(this, index); 39431 }, 39432 set: function (value) { 39433 return setter(this, index, value); 39434 }, 39435 enumerable: true 39436 }); 39437 }; 39438 39439 if (!NATIVE_ARRAY_BUFFER_VIEWS) { 39440 TypedArrayConstructor = wrapper(function (that, data, offset, $length) { 39441 anInstance(that, TypedArrayConstructor, CONSTRUCTOR_NAME); 39442 var index = 0; 39443 var byteOffset = 0; 39444 var buffer, byteLength, length; 39445 if (!isObject(data)) { 39446 length = toIndex(data); 39447 byteLength = length * BYTES; 39448 buffer = new ArrayBuffer(byteLength); 39449 } else if (isArrayBuffer(data)) { 39450 buffer = data; 39451 byteOffset = toOffset(offset, BYTES); 39452 var $len = data.byteLength; 39453 if ($length === undefined) { 39454 if ($len % BYTES) throw RangeError(WRONG_LENGTH); 39455 byteLength = $len - byteOffset; 39456 if (byteLength < 0) throw RangeError(WRONG_LENGTH); 39457 } else { 39458 byteLength = toLength($length) * BYTES; 39459 if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH); 39460 } 39461 length = byteLength / BYTES; 39462 } else if (isTypedArray(data)) { 39463 return fromList(TypedArrayConstructor, data); 39464 } else { 39465 return typedArrayFrom.call(TypedArrayConstructor, data); 39466 } 39467 setInternalState(that, { 39468 buffer: buffer, 39469 byteOffset: byteOffset, 39470 byteLength: byteLength, 39471 length: length, 39472 view: new DataView(buffer) 39473 }); 39474 while (index < length) addElement(that, index++); 39475 }); 39476 39477 if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); 39478 TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype); 39479 } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) { 39480 TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) { 39481 anInstance(dummy, TypedArrayConstructor, CONSTRUCTOR_NAME); 39482 return inheritIfRequired(function () { 39483 if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data)); 39484 if (isArrayBuffer(data)) return $length !== undefined 39485 ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length) 39486 : typedArrayOffset !== undefined 39487 ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES)) 39488 : new NativeTypedArrayConstructor(data); 39489 if (isTypedArray(data)) return fromList(TypedArrayConstructor, data); 39490 return typedArrayFrom.call(TypedArrayConstructor, data); 39491 }(), dummy, TypedArrayConstructor); 39492 }); 39493 39494 if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray); 39495 forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) { 39496 if (!(key in TypedArrayConstructor)) { 39497 createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]); 39498 } 39499 }); 39500 TypedArrayConstructor.prototype = TypedArrayConstructorPrototype; 39501 } 39502 39503 if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) { 39504 createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor); 39505 } 39506 39507 if (TYPED_ARRAY_TAG) { 39508 createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME); 39509 } 39510 39511 exported[CONSTRUCTOR_NAME] = TypedArrayConstructor; 39512 39513 $({ 39514 global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS 39515 }, exported); 39516 39517 if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) { 39518 createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES); 39519 } 39520 39521 if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) { 39522 createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES); 39523 } 39524 39525 setSpecies(CONSTRUCTOR_NAME); 39526 }; 39527} else module.exports = function () { /* empty */ }; 39528 39529 39530/***/ }), 39531 39532/***/ 3832: 39533/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39534 39535/* eslint-disable no-new -- required for testing */ 39536var global = __webpack_require__(7854); 39537var fails = __webpack_require__(7293); 39538var checkCorrectnessOfIteration = __webpack_require__(7072); 39539var NATIVE_ARRAY_BUFFER_VIEWS = __webpack_require__(260).NATIVE_ARRAY_BUFFER_VIEWS; 39540 39541var ArrayBuffer = global.ArrayBuffer; 39542var Int8Array = global.Int8Array; 39543 39544module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () { 39545 Int8Array(1); 39546}) || !fails(function () { 39547 new Int8Array(-1); 39548}) || !checkCorrectnessOfIteration(function (iterable) { 39549 new Int8Array(); 39550 new Int8Array(null); 39551 new Int8Array(1.5); 39552 new Int8Array(iterable); 39553}, true) || fails(function () { 39554 // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill 39555 return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1; 39556}); 39557 39558 39559/***/ }), 39560 39561/***/ 3074: 39562/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39563 39564var aTypedArrayConstructor = __webpack_require__(260).aTypedArrayConstructor; 39565var speciesConstructor = __webpack_require__(6707); 39566 39567module.exports = function (instance, list) { 39568 var C = speciesConstructor(instance, instance.constructor); 39569 var index = 0; 39570 var length = list.length; 39571 var result = new (aTypedArrayConstructor(C))(length); 39572 while (length > index) result[index] = list[index++]; 39573 return result; 39574}; 39575 39576 39577/***/ }), 39578 39579/***/ 7321: 39580/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39581 39582var toObject = __webpack_require__(7908); 39583var toLength = __webpack_require__(7466); 39584var getIteratorMethod = __webpack_require__(1246); 39585var isArrayIteratorMethod = __webpack_require__(7659); 39586var bind = __webpack_require__(9974); 39587var aTypedArrayConstructor = __webpack_require__(260).aTypedArrayConstructor; 39588 39589module.exports = function from(source /* , mapfn, thisArg */) { 39590 var O = toObject(source); 39591 var argumentsLength = arguments.length; 39592 var mapfn = argumentsLength > 1 ? arguments[1] : undefined; 39593 var mapping = mapfn !== undefined; 39594 var iteratorMethod = getIteratorMethod(O); 39595 var i, length, result, step, iterator, next; 39596 if (iteratorMethod != undefined && !isArrayIteratorMethod(iteratorMethod)) { 39597 iterator = iteratorMethod.call(O); 39598 next = iterator.next; 39599 O = []; 39600 while (!(step = next.call(iterator)).done) { 39601 O.push(step.value); 39602 } 39603 } 39604 if (mapping && argumentsLength > 2) { 39605 mapfn = bind(mapfn, arguments[2], 2); 39606 } 39607 length = toLength(O.length); 39608 result = new (aTypedArrayConstructor(this))(length); 39609 for (i = 0; length > i; i++) { 39610 result[i] = mapping ? mapfn(O[i], i) : O[i]; 39611 } 39612 return result; 39613}; 39614 39615 39616/***/ }), 39617 39618/***/ 9711: 39619/***/ (function(module) { 39620 39621var id = 0; 39622var postfix = Math.random(); 39623 39624module.exports = function (key) { 39625 return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36); 39626}; 39627 39628 39629/***/ }), 39630 39631/***/ 3307: 39632/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39633 39634var NATIVE_SYMBOL = __webpack_require__(133); 39635 39636module.exports = NATIVE_SYMBOL 39637 /* global Symbol -- safe */ 39638 && !Symbol.sham 39639 && typeof Symbol.iterator == 'symbol'; 39640 39641 39642/***/ }), 39643 39644/***/ 5112: 39645/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39646 39647var global = __webpack_require__(7854); 39648var shared = __webpack_require__(2309); 39649var has = __webpack_require__(6656); 39650var uid = __webpack_require__(9711); 39651var NATIVE_SYMBOL = __webpack_require__(133); 39652var USE_SYMBOL_AS_UID = __webpack_require__(3307); 39653 39654var WellKnownSymbolsStore = shared('wks'); 39655var Symbol = global.Symbol; 39656var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid; 39657 39658module.exports = function (name) { 39659 if (!has(WellKnownSymbolsStore, name)) { 39660 if (NATIVE_SYMBOL && has(Symbol, name)) WellKnownSymbolsStore[name] = Symbol[name]; 39661 else WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name); 39662 } return WellKnownSymbolsStore[name]; 39663}; 39664 39665 39666/***/ }), 39667 39668/***/ 1361: 39669/***/ (function(module) { 39670 39671// a string of all valid unicode whitespaces 39672module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' + 39673 '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; 39674 39675 39676/***/ }), 39677 39678/***/ 8264: 39679/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 39680 39681"use strict"; 39682 39683var $ = __webpack_require__(2109); 39684var global = __webpack_require__(7854); 39685var arrayBufferModule = __webpack_require__(3331); 39686var setSpecies = __webpack_require__(6340); 39687 39688var ARRAY_BUFFER = 'ArrayBuffer'; 39689var ArrayBuffer = arrayBufferModule[ARRAY_BUFFER]; 39690var NativeArrayBuffer = global[ARRAY_BUFFER]; 39691 39692// `ArrayBuffer` constructor 39693// https://tc39.es/ecma262/#sec-arraybuffer-constructor 39694$({ global: true, forced: NativeArrayBuffer !== ArrayBuffer }, { 39695 ArrayBuffer: ArrayBuffer 39696}); 39697 39698setSpecies(ARRAY_BUFFER); 39699 39700 39701/***/ }), 39702 39703/***/ 2222: 39704/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 39705 39706"use strict"; 39707 39708var $ = __webpack_require__(2109); 39709var fails = __webpack_require__(7293); 39710var isArray = __webpack_require__(3157); 39711var isObject = __webpack_require__(111); 39712var toObject = __webpack_require__(7908); 39713var toLength = __webpack_require__(7466); 39714var createProperty = __webpack_require__(6135); 39715var arraySpeciesCreate = __webpack_require__(5417); 39716var arrayMethodHasSpeciesSupport = __webpack_require__(1194); 39717var wellKnownSymbol = __webpack_require__(5112); 39718var V8_VERSION = __webpack_require__(7392); 39719 39720var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable'); 39721var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; 39722var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded'; 39723 39724// We can't use this feature detection in V8 since it causes 39725// deoptimization and serious performance degradation 39726// https://github.com/zloirock/core-js/issues/679 39727var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () { 39728 var array = []; 39729 array[IS_CONCAT_SPREADABLE] = false; 39730 return array.concat()[0] !== array; 39731}); 39732 39733var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat'); 39734 39735var isConcatSpreadable = function (O) { 39736 if (!isObject(O)) return false; 39737 var spreadable = O[IS_CONCAT_SPREADABLE]; 39738 return spreadable !== undefined ? !!spreadable : isArray(O); 39739}; 39740 39741var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT; 39742 39743// `Array.prototype.concat` method 39744// https://tc39.es/ecma262/#sec-array.prototype.concat 39745// with adding support of @@isConcatSpreadable and @@species 39746$({ target: 'Array', proto: true, forced: FORCED }, { 39747 // eslint-disable-next-line no-unused-vars -- required for `.length` 39748 concat: function concat(arg) { 39749 var O = toObject(this); 39750 var A = arraySpeciesCreate(O, 0); 39751 var n = 0; 39752 var i, k, length, len, E; 39753 for (i = -1, length = arguments.length; i < length; i++) { 39754 E = i === -1 ? O : arguments[i]; 39755 if (isConcatSpreadable(E)) { 39756 len = toLength(E.length); 39757 if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); 39758 for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]); 39759 } else { 39760 if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED); 39761 createProperty(A, n++, E); 39762 } 39763 } 39764 A.length = n; 39765 return A; 39766 } 39767}); 39768 39769 39770/***/ }), 39771 39772/***/ 7327: 39773/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 39774 39775"use strict"; 39776 39777var $ = __webpack_require__(2109); 39778var $filter = __webpack_require__(2092).filter; 39779var arrayMethodHasSpeciesSupport = __webpack_require__(1194); 39780 39781var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter'); 39782 39783// `Array.prototype.filter` method 39784// https://tc39.es/ecma262/#sec-array.prototype.filter 39785// with adding support of @@species 39786$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { 39787 filter: function filter(callbackfn /* , thisArg */) { 39788 return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 39789 } 39790}); 39791 39792 39793/***/ }), 39794 39795/***/ 2772: 39796/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 39797 39798"use strict"; 39799 39800var $ = __webpack_require__(2109); 39801var $indexOf = __webpack_require__(1318).indexOf; 39802var arrayMethodIsStrict = __webpack_require__(9341); 39803 39804var nativeIndexOf = [].indexOf; 39805 39806var NEGATIVE_ZERO = !!nativeIndexOf && 1 / [1].indexOf(1, -0) < 0; 39807var STRICT_METHOD = arrayMethodIsStrict('indexOf'); 39808 39809// `Array.prototype.indexOf` method 39810// https://tc39.es/ecma262/#sec-array.prototype.indexof 39811$({ target: 'Array', proto: true, forced: NEGATIVE_ZERO || !STRICT_METHOD }, { 39812 indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { 39813 return NEGATIVE_ZERO 39814 // convert -0 to +0 39815 ? nativeIndexOf.apply(this, arguments) || 0 39816 : $indexOf(this, searchElement, arguments.length > 1 ? arguments[1] : undefined); 39817 } 39818}); 39819 39820 39821/***/ }), 39822 39823/***/ 6992: 39824/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 39825 39826"use strict"; 39827 39828var toIndexedObject = __webpack_require__(5656); 39829var addToUnscopables = __webpack_require__(1223); 39830var Iterators = __webpack_require__(7497); 39831var InternalStateModule = __webpack_require__(9909); 39832var defineIterator = __webpack_require__(654); 39833 39834var ARRAY_ITERATOR = 'Array Iterator'; 39835var setInternalState = InternalStateModule.set; 39836var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR); 39837 39838// `Array.prototype.entries` method 39839// https://tc39.es/ecma262/#sec-array.prototype.entries 39840// `Array.prototype.keys` method 39841// https://tc39.es/ecma262/#sec-array.prototype.keys 39842// `Array.prototype.values` method 39843// https://tc39.es/ecma262/#sec-array.prototype.values 39844// `Array.prototype[@@iterator]` method 39845// https://tc39.es/ecma262/#sec-array.prototype-@@iterator 39846// `CreateArrayIterator` internal method 39847// https://tc39.es/ecma262/#sec-createarrayiterator 39848module.exports = defineIterator(Array, 'Array', function (iterated, kind) { 39849 setInternalState(this, { 39850 type: ARRAY_ITERATOR, 39851 target: toIndexedObject(iterated), // target 39852 index: 0, // next index 39853 kind: kind // kind 39854 }); 39855// `%ArrayIteratorPrototype%.next` method 39856// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next 39857}, function () { 39858 var state = getInternalState(this); 39859 var target = state.target; 39860 var kind = state.kind; 39861 var index = state.index++; 39862 if (!target || index >= target.length) { 39863 state.target = undefined; 39864 return { value: undefined, done: true }; 39865 } 39866 if (kind == 'keys') return { value: index, done: false }; 39867 if (kind == 'values') return { value: target[index], done: false }; 39868 return { value: [index, target[index]], done: false }; 39869}, 'values'); 39870 39871// argumentsList[@@iterator] is %ArrayProto_values% 39872// https://tc39.es/ecma262/#sec-createunmappedargumentsobject 39873// https://tc39.es/ecma262/#sec-createmappedargumentsobject 39874Iterators.Arguments = Iterators.Array; 39875 39876// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables 39877addToUnscopables('keys'); 39878addToUnscopables('values'); 39879addToUnscopables('entries'); 39880 39881 39882/***/ }), 39883 39884/***/ 1249: 39885/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 39886 39887"use strict"; 39888 39889var $ = __webpack_require__(2109); 39890var $map = __webpack_require__(2092).map; 39891var arrayMethodHasSpeciesSupport = __webpack_require__(1194); 39892 39893var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map'); 39894 39895// `Array.prototype.map` method 39896// https://tc39.es/ecma262/#sec-array.prototype.map 39897// with adding support of @@species 39898$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { 39899 map: function map(callbackfn /* , thisArg */) { 39900 return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); 39901 } 39902}); 39903 39904 39905/***/ }), 39906 39907/***/ 7042: 39908/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 39909 39910"use strict"; 39911 39912var $ = __webpack_require__(2109); 39913var isObject = __webpack_require__(111); 39914var isArray = __webpack_require__(3157); 39915var toAbsoluteIndex = __webpack_require__(1400); 39916var toLength = __webpack_require__(7466); 39917var toIndexedObject = __webpack_require__(5656); 39918var createProperty = __webpack_require__(6135); 39919var wellKnownSymbol = __webpack_require__(5112); 39920var arrayMethodHasSpeciesSupport = __webpack_require__(1194); 39921 39922var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice'); 39923 39924var SPECIES = wellKnownSymbol('species'); 39925var nativeSlice = [].slice; 39926var max = Math.max; 39927 39928// `Array.prototype.slice` method 39929// https://tc39.es/ecma262/#sec-array.prototype.slice 39930// fallback for not array-like ES3 strings and DOM objects 39931$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { 39932 slice: function slice(start, end) { 39933 var O = toIndexedObject(this); 39934 var length = toLength(O.length); 39935 var k = toAbsoluteIndex(start, length); 39936 var fin = toAbsoluteIndex(end === undefined ? length : end, length); 39937 // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible 39938 var Constructor, result, n; 39939 if (isArray(O)) { 39940 Constructor = O.constructor; 39941 // cross-realm fallback 39942 if (typeof Constructor == 'function' && (Constructor === Array || isArray(Constructor.prototype))) { 39943 Constructor = undefined; 39944 } else if (isObject(Constructor)) { 39945 Constructor = Constructor[SPECIES]; 39946 if (Constructor === null) Constructor = undefined; 39947 } 39948 if (Constructor === Array || Constructor === undefined) { 39949 return nativeSlice.call(O, k, fin); 39950 } 39951 } 39952 result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0)); 39953 for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]); 39954 result.length = n; 39955 return result; 39956 } 39957}); 39958 39959 39960/***/ }), 39961 39962/***/ 561: 39963/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 39964 39965"use strict"; 39966 39967var $ = __webpack_require__(2109); 39968var toAbsoluteIndex = __webpack_require__(1400); 39969var toInteger = __webpack_require__(9958); 39970var toLength = __webpack_require__(7466); 39971var toObject = __webpack_require__(7908); 39972var arraySpeciesCreate = __webpack_require__(5417); 39973var createProperty = __webpack_require__(6135); 39974var arrayMethodHasSpeciesSupport = __webpack_require__(1194); 39975 39976var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice'); 39977 39978var max = Math.max; 39979var min = Math.min; 39980var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; 39981var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded'; 39982 39983// `Array.prototype.splice` method 39984// https://tc39.es/ecma262/#sec-array.prototype.splice 39985// with adding support of @@species 39986$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, { 39987 splice: function splice(start, deleteCount /* , ...items */) { 39988 var O = toObject(this); 39989 var len = toLength(O.length); 39990 var actualStart = toAbsoluteIndex(start, len); 39991 var argumentsLength = arguments.length; 39992 var insertCount, actualDeleteCount, A, k, from, to; 39993 if (argumentsLength === 0) { 39994 insertCount = actualDeleteCount = 0; 39995 } else if (argumentsLength === 1) { 39996 insertCount = 0; 39997 actualDeleteCount = len - actualStart; 39998 } else { 39999 insertCount = argumentsLength - 2; 40000 actualDeleteCount = min(max(toInteger(deleteCount), 0), len - actualStart); 40001 } 40002 if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) { 40003 throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED); 40004 } 40005 A = arraySpeciesCreate(O, actualDeleteCount); 40006 for (k = 0; k < actualDeleteCount; k++) { 40007 from = actualStart + k; 40008 if (from in O) createProperty(A, k, O[from]); 40009 } 40010 A.length = actualDeleteCount; 40011 if (insertCount < actualDeleteCount) { 40012 for (k = actualStart; k < len - actualDeleteCount; k++) { 40013 from = k + actualDeleteCount; 40014 to = k + insertCount; 40015 if (from in O) O[to] = O[from]; 40016 else delete O[to]; 40017 } 40018 for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1]; 40019 } else if (insertCount > actualDeleteCount) { 40020 for (k = len - actualDeleteCount; k > actualStart; k--) { 40021 from = k + actualDeleteCount - 1; 40022 to = k + insertCount - 1; 40023 if (from in O) O[to] = O[from]; 40024 else delete O[to]; 40025 } 40026 } 40027 for (k = 0; k < insertCount; k++) { 40028 O[k + actualStart] = arguments[k + 2]; 40029 } 40030 O.length = len - actualDeleteCount + insertCount; 40031 return A; 40032 } 40033}); 40034 40035 40036/***/ }), 40037 40038/***/ 8309: 40039/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40040 40041var DESCRIPTORS = __webpack_require__(9781); 40042var defineProperty = __webpack_require__(3070).f; 40043 40044var FunctionPrototype = Function.prototype; 40045var FunctionPrototypeToString = FunctionPrototype.toString; 40046var nameRE = /^\s*function ([^ (]*)/; 40047var NAME = 'name'; 40048 40049// Function instances `.name` property 40050// https://tc39.es/ecma262/#sec-function-instances-name 40051if (DESCRIPTORS && !(NAME in FunctionPrototype)) { 40052 defineProperty(FunctionPrototype, NAME, { 40053 configurable: true, 40054 get: function () { 40055 try { 40056 return FunctionPrototypeToString.call(this).match(nameRE)[1]; 40057 } catch (error) { 40058 return ''; 40059 } 40060 } 40061 }); 40062} 40063 40064 40065/***/ }), 40066 40067/***/ 489: 40068/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40069 40070var $ = __webpack_require__(2109); 40071var fails = __webpack_require__(7293); 40072var toObject = __webpack_require__(7908); 40073var nativeGetPrototypeOf = __webpack_require__(9518); 40074var CORRECT_PROTOTYPE_GETTER = __webpack_require__(8544); 40075 40076var FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); }); 40077 40078// `Object.getPrototypeOf` method 40079// https://tc39.es/ecma262/#sec-object.getprototypeof 40080$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, { 40081 getPrototypeOf: function getPrototypeOf(it) { 40082 return nativeGetPrototypeOf(toObject(it)); 40083 } 40084}); 40085 40086 40087 40088/***/ }), 40089 40090/***/ 1539: 40091/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40092 40093var TO_STRING_TAG_SUPPORT = __webpack_require__(1694); 40094var redefine = __webpack_require__(1320); 40095var toString = __webpack_require__(288); 40096 40097// `Object.prototype.toString` method 40098// https://tc39.es/ecma262/#sec-object.prototype.tostring 40099if (!TO_STRING_TAG_SUPPORT) { 40100 redefine(Object.prototype, 'toString', toString, { unsafe: true }); 40101} 40102 40103 40104/***/ }), 40105 40106/***/ 4916: 40107/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40108 40109"use strict"; 40110 40111var $ = __webpack_require__(2109); 40112var exec = __webpack_require__(2261); 40113 40114// `RegExp.prototype.exec` method 40115// https://tc39.es/ecma262/#sec-regexp.prototype.exec 40116$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, { 40117 exec: exec 40118}); 40119 40120 40121/***/ }), 40122 40123/***/ 9714: 40124/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40125 40126"use strict"; 40127 40128var redefine = __webpack_require__(1320); 40129var anObject = __webpack_require__(9670); 40130var fails = __webpack_require__(7293); 40131var flags = __webpack_require__(7066); 40132 40133var TO_STRING = 'toString'; 40134var RegExpPrototype = RegExp.prototype; 40135var nativeToString = RegExpPrototype[TO_STRING]; 40136 40137var NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; }); 40138// FF44- RegExp#toString has a wrong name 40139var INCORRECT_NAME = nativeToString.name != TO_STRING; 40140 40141// `RegExp.prototype.toString` method 40142// https://tc39.es/ecma262/#sec-regexp.prototype.tostring 40143if (NOT_GENERIC || INCORRECT_NAME) { 40144 redefine(RegExp.prototype, TO_STRING, function toString() { 40145 var R = anObject(this); 40146 var p = String(R.source); 40147 var rf = R.flags; 40148 var f = String(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf); 40149 return '/' + p + '/' + f; 40150 }, { unsafe: true }); 40151} 40152 40153 40154/***/ }), 40155 40156/***/ 8783: 40157/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40158 40159"use strict"; 40160 40161var charAt = __webpack_require__(8710).charAt; 40162var InternalStateModule = __webpack_require__(9909); 40163var defineIterator = __webpack_require__(654); 40164 40165var STRING_ITERATOR = 'String Iterator'; 40166var setInternalState = InternalStateModule.set; 40167var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR); 40168 40169// `String.prototype[@@iterator]` method 40170// https://tc39.es/ecma262/#sec-string.prototype-@@iterator 40171defineIterator(String, 'String', function (iterated) { 40172 setInternalState(this, { 40173 type: STRING_ITERATOR, 40174 string: String(iterated), 40175 index: 0 40176 }); 40177// `%StringIteratorPrototype%.next` method 40178// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next 40179}, function next() { 40180 var state = getInternalState(this); 40181 var string = state.string; 40182 var index = state.index; 40183 var point; 40184 if (index >= string.length) return { value: undefined, done: true }; 40185 point = charAt(string, index); 40186 state.index += point.length; 40187 return { value: point, done: false }; 40188}); 40189 40190 40191/***/ }), 40192 40193/***/ 4723: 40194/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40195 40196"use strict"; 40197 40198var fixRegExpWellKnownSymbolLogic = __webpack_require__(7007); 40199var anObject = __webpack_require__(9670); 40200var toLength = __webpack_require__(7466); 40201var requireObjectCoercible = __webpack_require__(4488); 40202var advanceStringIndex = __webpack_require__(1530); 40203var regExpExec = __webpack_require__(7651); 40204 40205// @@match logic 40206fixRegExpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) { 40207 return [ 40208 // `String.prototype.match` method 40209 // https://tc39.es/ecma262/#sec-string.prototype.match 40210 function match(regexp) { 40211 var O = requireObjectCoercible(this); 40212 var matcher = regexp == undefined ? undefined : regexp[MATCH]; 40213 return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); 40214 }, 40215 // `RegExp.prototype[@@match]` method 40216 // https://tc39.es/ecma262/#sec-regexp.prototype-@@match 40217 function (regexp) { 40218 var res = maybeCallNative(nativeMatch, regexp, this); 40219 if (res.done) return res.value; 40220 40221 var rx = anObject(regexp); 40222 var S = String(this); 40223 40224 if (!rx.global) return regExpExec(rx, S); 40225 40226 var fullUnicode = rx.unicode; 40227 rx.lastIndex = 0; 40228 var A = []; 40229 var n = 0; 40230 var result; 40231 while ((result = regExpExec(rx, S)) !== null) { 40232 var matchStr = String(result[0]); 40233 A[n] = matchStr; 40234 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); 40235 n++; 40236 } 40237 return n === 0 ? null : A; 40238 } 40239 ]; 40240}); 40241 40242 40243/***/ }), 40244 40245/***/ 5306: 40246/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40247 40248"use strict"; 40249 40250var fixRegExpWellKnownSymbolLogic = __webpack_require__(7007); 40251var anObject = __webpack_require__(9670); 40252var toLength = __webpack_require__(7466); 40253var toInteger = __webpack_require__(9958); 40254var requireObjectCoercible = __webpack_require__(4488); 40255var advanceStringIndex = __webpack_require__(1530); 40256var getSubstitution = __webpack_require__(647); 40257var regExpExec = __webpack_require__(7651); 40258 40259var max = Math.max; 40260var min = Math.min; 40261 40262var maybeToString = function (it) { 40263 return it === undefined ? it : String(it); 40264}; 40265 40266// @@replace logic 40267fixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) { 40268 var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE; 40269 var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0; 40270 var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0'; 40271 40272 return [ 40273 // `String.prototype.replace` method 40274 // https://tc39.es/ecma262/#sec-string.prototype.replace 40275 function replace(searchValue, replaceValue) { 40276 var O = requireObjectCoercible(this); 40277 var replacer = searchValue == undefined ? undefined : searchValue[REPLACE]; 40278 return replacer !== undefined 40279 ? replacer.call(searchValue, O, replaceValue) 40280 : nativeReplace.call(String(O), searchValue, replaceValue); 40281 }, 40282 // `RegExp.prototype[@@replace]` method 40283 // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace 40284 function (regexp, replaceValue) { 40285 if ( 40286 (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) || 40287 (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1) 40288 ) { 40289 var res = maybeCallNative(nativeReplace, regexp, this, replaceValue); 40290 if (res.done) return res.value; 40291 } 40292 40293 var rx = anObject(regexp); 40294 var S = String(this); 40295 40296 var functionalReplace = typeof replaceValue === 'function'; 40297 if (!functionalReplace) replaceValue = String(replaceValue); 40298 40299 var global = rx.global; 40300 if (global) { 40301 var fullUnicode = rx.unicode; 40302 rx.lastIndex = 0; 40303 } 40304 var results = []; 40305 while (true) { 40306 var result = regExpExec(rx, S); 40307 if (result === null) break; 40308 40309 results.push(result); 40310 if (!global) break; 40311 40312 var matchStr = String(result[0]); 40313 if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); 40314 } 40315 40316 var accumulatedResult = ''; 40317 var nextSourcePosition = 0; 40318 for (var i = 0; i < results.length; i++) { 40319 result = results[i]; 40320 40321 var matched = String(result[0]); 40322 var position = max(min(toInteger(result.index), S.length), 0); 40323 var captures = []; 40324 // NOTE: This is equivalent to 40325 // captures = result.slice(1).map(maybeToString) 40326 // but for some reason `nativeSlice.call(result, 1, result.length)` (called in 40327 // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and 40328 // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. 40329 for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); 40330 var namedCaptures = result.groups; 40331 if (functionalReplace) { 40332 var replacerArgs = [matched].concat(captures, position, S); 40333 if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); 40334 var replacement = String(replaceValue.apply(undefined, replacerArgs)); 40335 } else { 40336 replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); 40337 } 40338 if (position >= nextSourcePosition) { 40339 accumulatedResult += S.slice(nextSourcePosition, position) + replacement; 40340 nextSourcePosition = position + matched.length; 40341 } 40342 } 40343 return accumulatedResult + S.slice(nextSourcePosition); 40344 } 40345 ]; 40346}); 40347 40348 40349/***/ }), 40350 40351/***/ 3123: 40352/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40353 40354"use strict"; 40355 40356var fixRegExpWellKnownSymbolLogic = __webpack_require__(7007); 40357var isRegExp = __webpack_require__(7850); 40358var anObject = __webpack_require__(9670); 40359var requireObjectCoercible = __webpack_require__(4488); 40360var speciesConstructor = __webpack_require__(6707); 40361var advanceStringIndex = __webpack_require__(1530); 40362var toLength = __webpack_require__(7466); 40363var callRegExpExec = __webpack_require__(7651); 40364var regexpExec = __webpack_require__(2261); 40365var fails = __webpack_require__(7293); 40366 40367var arrayPush = [].push; 40368var min = Math.min; 40369var MAX_UINT32 = 0xFFFFFFFF; 40370 40371// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError 40372var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); }); 40373 40374// @@split logic 40375fixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) { 40376 var internalSplit; 40377 if ( 40378 'abbc'.split(/(b)*/)[1] == 'c' || 40379 // eslint-disable-next-line regexp/no-empty-group -- required for testing 40380 'test'.split(/(?:)/, -1).length != 4 || 40381 'ab'.split(/(?:ab)*/).length != 2 || 40382 '.'.split(/(.?)(.?)/).length != 4 || 40383 // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing 40384 '.'.split(/()()/).length > 1 || 40385 ''.split(/.?/).length 40386 ) { 40387 // based on es5-shim implementation, need to rework it 40388 internalSplit = function (separator, limit) { 40389 var string = String(requireObjectCoercible(this)); 40390 var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; 40391 if (lim === 0) return []; 40392 if (separator === undefined) return [string]; 40393 // If `separator` is not a regex, use native split 40394 if (!isRegExp(separator)) { 40395 return nativeSplit.call(string, separator, lim); 40396 } 40397 var output = []; 40398 var flags = (separator.ignoreCase ? 'i' : '') + 40399 (separator.multiline ? 'm' : '') + 40400 (separator.unicode ? 'u' : '') + 40401 (separator.sticky ? 'y' : ''); 40402 var lastLastIndex = 0; 40403 // Make `global` and avoid `lastIndex` issues by working with a copy 40404 var separatorCopy = new RegExp(separator.source, flags + 'g'); 40405 var match, lastIndex, lastLength; 40406 while (match = regexpExec.call(separatorCopy, string)) { 40407 lastIndex = separatorCopy.lastIndex; 40408 if (lastIndex > lastLastIndex) { 40409 output.push(string.slice(lastLastIndex, match.index)); 40410 if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1)); 40411 lastLength = match[0].length; 40412 lastLastIndex = lastIndex; 40413 if (output.length >= lim) break; 40414 } 40415 if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop 40416 } 40417 if (lastLastIndex === string.length) { 40418 if (lastLength || !separatorCopy.test('')) output.push(''); 40419 } else output.push(string.slice(lastLastIndex)); 40420 return output.length > lim ? output.slice(0, lim) : output; 40421 }; 40422 // Chakra, V8 40423 } else if ('0'.split(undefined, 0).length) { 40424 internalSplit = function (separator, limit) { 40425 return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit); 40426 }; 40427 } else internalSplit = nativeSplit; 40428 40429 return [ 40430 // `String.prototype.split` method 40431 // https://tc39.es/ecma262/#sec-string.prototype.split 40432 function split(separator, limit) { 40433 var O = requireObjectCoercible(this); 40434 var splitter = separator == undefined ? undefined : separator[SPLIT]; 40435 return splitter !== undefined 40436 ? splitter.call(separator, O, limit) 40437 : internalSplit.call(String(O), separator, limit); 40438 }, 40439 // `RegExp.prototype[@@split]` method 40440 // https://tc39.es/ecma262/#sec-regexp.prototype-@@split 40441 // 40442 // NOTE: This cannot be properly polyfilled in engines that don't support 40443 // the 'y' flag. 40444 function (regexp, limit) { 40445 var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit); 40446 if (res.done) return res.value; 40447 40448 var rx = anObject(regexp); 40449 var S = String(this); 40450 var C = speciesConstructor(rx, RegExp); 40451 40452 var unicodeMatching = rx.unicode; 40453 var flags = (rx.ignoreCase ? 'i' : '') + 40454 (rx.multiline ? 'm' : '') + 40455 (rx.unicode ? 'u' : '') + 40456 (SUPPORTS_Y ? 'y' : 'g'); 40457 40458 // ^(? + rx + ) is needed, in combination with some S slicing, to 40459 // simulate the 'y' flag. 40460 var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); 40461 var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; 40462 if (lim === 0) return []; 40463 if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; 40464 var p = 0; 40465 var q = 0; 40466 var A = []; 40467 while (q < S.length) { 40468 splitter.lastIndex = SUPPORTS_Y ? q : 0; 40469 var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); 40470 var e; 40471 if ( 40472 z === null || 40473 (e = min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p 40474 ) { 40475 q = advanceStringIndex(S, q, unicodeMatching); 40476 } else { 40477 A.push(S.slice(p, q)); 40478 if (A.length === lim) return A; 40479 for (var i = 1; i <= z.length - 1; i++) { 40480 A.push(z[i]); 40481 if (A.length === lim) return A; 40482 } 40483 q = p = e; 40484 } 40485 } 40486 A.push(S.slice(p)); 40487 return A; 40488 } 40489 ]; 40490}, !SUPPORTS_Y); 40491 40492 40493/***/ }), 40494 40495/***/ 3210: 40496/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40497 40498"use strict"; 40499 40500var $ = __webpack_require__(2109); 40501var $trim = __webpack_require__(3111).trim; 40502var forcedStringTrimMethod = __webpack_require__(6091); 40503 40504// `String.prototype.trim` method 40505// https://tc39.es/ecma262/#sec-string.prototype.trim 40506$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, { 40507 trim: function trim() { 40508 return $trim(this); 40509 } 40510}); 40511 40512 40513/***/ }), 40514 40515/***/ 2990: 40516/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40517 40518"use strict"; 40519 40520var ArrayBufferViewCore = __webpack_require__(260); 40521var $copyWithin = __webpack_require__(1048); 40522 40523var aTypedArray = ArrayBufferViewCore.aTypedArray; 40524var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40525 40526// `%TypedArray%.prototype.copyWithin` method 40527// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin 40528exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) { 40529 return $copyWithin.call(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined); 40530}); 40531 40532 40533/***/ }), 40534 40535/***/ 8927: 40536/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40537 40538"use strict"; 40539 40540var ArrayBufferViewCore = __webpack_require__(260); 40541var $every = __webpack_require__(2092).every; 40542 40543var aTypedArray = ArrayBufferViewCore.aTypedArray; 40544var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40545 40546// `%TypedArray%.prototype.every` method 40547// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every 40548exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) { 40549 return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 40550}); 40551 40552 40553/***/ }), 40554 40555/***/ 3105: 40556/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40557 40558"use strict"; 40559 40560var ArrayBufferViewCore = __webpack_require__(260); 40561var $fill = __webpack_require__(1285); 40562 40563var aTypedArray = ArrayBufferViewCore.aTypedArray; 40564var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40565 40566// `%TypedArray%.prototype.fill` method 40567// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill 40568// eslint-disable-next-line no-unused-vars -- required for `.length` 40569exportTypedArrayMethod('fill', function fill(value /* , start, end */) { 40570 return $fill.apply(aTypedArray(this), arguments); 40571}); 40572 40573 40574/***/ }), 40575 40576/***/ 5035: 40577/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40578 40579"use strict"; 40580 40581var ArrayBufferViewCore = __webpack_require__(260); 40582var $filter = __webpack_require__(2092).filter; 40583var fromSpeciesAndList = __webpack_require__(3074); 40584 40585var aTypedArray = ArrayBufferViewCore.aTypedArray; 40586var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40587 40588// `%TypedArray%.prototype.filter` method 40589// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter 40590exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) { 40591 var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 40592 return fromSpeciesAndList(this, list); 40593}); 40594 40595 40596/***/ }), 40597 40598/***/ 7174: 40599/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40600 40601"use strict"; 40602 40603var ArrayBufferViewCore = __webpack_require__(260); 40604var $findIndex = __webpack_require__(2092).findIndex; 40605 40606var aTypedArray = ArrayBufferViewCore.aTypedArray; 40607var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40608 40609// `%TypedArray%.prototype.findIndex` method 40610// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex 40611exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) { 40612 return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); 40613}); 40614 40615 40616/***/ }), 40617 40618/***/ 4345: 40619/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40620 40621"use strict"; 40622 40623var ArrayBufferViewCore = __webpack_require__(260); 40624var $find = __webpack_require__(2092).find; 40625 40626var aTypedArray = ArrayBufferViewCore.aTypedArray; 40627var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40628 40629// `%TypedArray%.prototype.find` method 40630// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find 40631exportTypedArrayMethod('find', function find(predicate /* , thisArg */) { 40632 return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined); 40633}); 40634 40635 40636/***/ }), 40637 40638/***/ 2846: 40639/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40640 40641"use strict"; 40642 40643var ArrayBufferViewCore = __webpack_require__(260); 40644var $forEach = __webpack_require__(2092).forEach; 40645 40646var aTypedArray = ArrayBufferViewCore.aTypedArray; 40647var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40648 40649// `%TypedArray%.prototype.forEach` method 40650// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach 40651exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) { 40652 $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 40653}); 40654 40655 40656/***/ }), 40657 40658/***/ 4731: 40659/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40660 40661"use strict"; 40662 40663var ArrayBufferViewCore = __webpack_require__(260); 40664var $includes = __webpack_require__(1318).includes; 40665 40666var aTypedArray = ArrayBufferViewCore.aTypedArray; 40667var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40668 40669// `%TypedArray%.prototype.includes` method 40670// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes 40671exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) { 40672 return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); 40673}); 40674 40675 40676/***/ }), 40677 40678/***/ 7209: 40679/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40680 40681"use strict"; 40682 40683var ArrayBufferViewCore = __webpack_require__(260); 40684var $indexOf = __webpack_require__(1318).indexOf; 40685 40686var aTypedArray = ArrayBufferViewCore.aTypedArray; 40687var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40688 40689// `%TypedArray%.prototype.indexOf` method 40690// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof 40691exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) { 40692 return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); 40693}); 40694 40695 40696/***/ }), 40697 40698/***/ 6319: 40699/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40700 40701"use strict"; 40702 40703var global = __webpack_require__(7854); 40704var ArrayBufferViewCore = __webpack_require__(260); 40705var ArrayIterators = __webpack_require__(6992); 40706var wellKnownSymbol = __webpack_require__(5112); 40707 40708var ITERATOR = wellKnownSymbol('iterator'); 40709var Uint8Array = global.Uint8Array; 40710var arrayValues = ArrayIterators.values; 40711var arrayKeys = ArrayIterators.keys; 40712var arrayEntries = ArrayIterators.entries; 40713var aTypedArray = ArrayBufferViewCore.aTypedArray; 40714var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40715var nativeTypedArrayIterator = Uint8Array && Uint8Array.prototype[ITERATOR]; 40716 40717var CORRECT_ITER_NAME = !!nativeTypedArrayIterator 40718 && (nativeTypedArrayIterator.name == 'values' || nativeTypedArrayIterator.name == undefined); 40719 40720var typedArrayValues = function values() { 40721 return arrayValues.call(aTypedArray(this)); 40722}; 40723 40724// `%TypedArray%.prototype.entries` method 40725// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries 40726exportTypedArrayMethod('entries', function entries() { 40727 return arrayEntries.call(aTypedArray(this)); 40728}); 40729// `%TypedArray%.prototype.keys` method 40730// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys 40731exportTypedArrayMethod('keys', function keys() { 40732 return arrayKeys.call(aTypedArray(this)); 40733}); 40734// `%TypedArray%.prototype.values` method 40735// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values 40736exportTypedArrayMethod('values', typedArrayValues, !CORRECT_ITER_NAME); 40737// `%TypedArray%.prototype[@@iterator]` method 40738// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator 40739exportTypedArrayMethod(ITERATOR, typedArrayValues, !CORRECT_ITER_NAME); 40740 40741 40742/***/ }), 40743 40744/***/ 8867: 40745/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40746 40747"use strict"; 40748 40749var ArrayBufferViewCore = __webpack_require__(260); 40750 40751var aTypedArray = ArrayBufferViewCore.aTypedArray; 40752var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40753var $join = [].join; 40754 40755// `%TypedArray%.prototype.join` method 40756// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join 40757// eslint-disable-next-line no-unused-vars -- required for `.length` 40758exportTypedArrayMethod('join', function join(separator) { 40759 return $join.apply(aTypedArray(this), arguments); 40760}); 40761 40762 40763/***/ }), 40764 40765/***/ 7789: 40766/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40767 40768"use strict"; 40769 40770var ArrayBufferViewCore = __webpack_require__(260); 40771var $lastIndexOf = __webpack_require__(6583); 40772 40773var aTypedArray = ArrayBufferViewCore.aTypedArray; 40774var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40775 40776// `%TypedArray%.prototype.lastIndexOf` method 40777// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof 40778// eslint-disable-next-line no-unused-vars -- required for `.length` 40779exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) { 40780 return $lastIndexOf.apply(aTypedArray(this), arguments); 40781}); 40782 40783 40784/***/ }), 40785 40786/***/ 3739: 40787/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40788 40789"use strict"; 40790 40791var ArrayBufferViewCore = __webpack_require__(260); 40792var $map = __webpack_require__(2092).map; 40793var speciesConstructor = __webpack_require__(6707); 40794 40795var aTypedArray = ArrayBufferViewCore.aTypedArray; 40796var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 40797var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40798 40799// `%TypedArray%.prototype.map` method 40800// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map 40801exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) { 40802 return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) { 40803 return new (aTypedArrayConstructor(speciesConstructor(O, O.constructor)))(length); 40804 }); 40805}); 40806 40807 40808/***/ }), 40809 40810/***/ 4483: 40811/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40812 40813"use strict"; 40814 40815var ArrayBufferViewCore = __webpack_require__(260); 40816var $reduceRight = __webpack_require__(3671).right; 40817 40818var aTypedArray = ArrayBufferViewCore.aTypedArray; 40819var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40820 40821// `%TypedArray%.prototype.reduceRicht` method 40822// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright 40823exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) { 40824 return $reduceRight(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); 40825}); 40826 40827 40828/***/ }), 40829 40830/***/ 9368: 40831/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40832 40833"use strict"; 40834 40835var ArrayBufferViewCore = __webpack_require__(260); 40836var $reduce = __webpack_require__(3671).left; 40837 40838var aTypedArray = ArrayBufferViewCore.aTypedArray; 40839var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40840 40841// `%TypedArray%.prototype.reduce` method 40842// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce 40843exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) { 40844 return $reduce(aTypedArray(this), callbackfn, arguments.length, arguments.length > 1 ? arguments[1] : undefined); 40845}); 40846 40847 40848/***/ }), 40849 40850/***/ 2056: 40851/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40852 40853"use strict"; 40854 40855var ArrayBufferViewCore = __webpack_require__(260); 40856 40857var aTypedArray = ArrayBufferViewCore.aTypedArray; 40858var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40859var floor = Math.floor; 40860 40861// `%TypedArray%.prototype.reverse` method 40862// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse 40863exportTypedArrayMethod('reverse', function reverse() { 40864 var that = this; 40865 var length = aTypedArray(that).length; 40866 var middle = floor(length / 2); 40867 var index = 0; 40868 var value; 40869 while (index < middle) { 40870 value = that[index]; 40871 that[index++] = that[--length]; 40872 that[length] = value; 40873 } return that; 40874}); 40875 40876 40877/***/ }), 40878 40879/***/ 3462: 40880/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40881 40882"use strict"; 40883 40884var ArrayBufferViewCore = __webpack_require__(260); 40885var toLength = __webpack_require__(7466); 40886var toOffset = __webpack_require__(4590); 40887var toObject = __webpack_require__(7908); 40888var fails = __webpack_require__(7293); 40889 40890var aTypedArray = ArrayBufferViewCore.aTypedArray; 40891var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40892 40893var FORCED = fails(function () { 40894 /* global Int8Array -- safe */ 40895 new Int8Array(1).set({}); 40896}); 40897 40898// `%TypedArray%.prototype.set` method 40899// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set 40900exportTypedArrayMethod('set', function set(arrayLike /* , offset */) { 40901 aTypedArray(this); 40902 var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1); 40903 var length = this.length; 40904 var src = toObject(arrayLike); 40905 var len = toLength(src.length); 40906 var index = 0; 40907 if (len + offset > length) throw RangeError('Wrong length'); 40908 while (index < len) this[offset + index] = src[index++]; 40909}, FORCED); 40910 40911 40912/***/ }), 40913 40914/***/ 678: 40915/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40916 40917"use strict"; 40918 40919var ArrayBufferViewCore = __webpack_require__(260); 40920var speciesConstructor = __webpack_require__(6707); 40921var fails = __webpack_require__(7293); 40922 40923var aTypedArray = ArrayBufferViewCore.aTypedArray; 40924var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor; 40925var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40926var $slice = [].slice; 40927 40928var FORCED = fails(function () { 40929 /* global Int8Array -- safe */ 40930 new Int8Array(1).slice(); 40931}); 40932 40933// `%TypedArray%.prototype.slice` method 40934// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice 40935exportTypedArrayMethod('slice', function slice(start, end) { 40936 var list = $slice.call(aTypedArray(this), start, end); 40937 var C = speciesConstructor(this, this.constructor); 40938 var index = 0; 40939 var length = list.length; 40940 var result = new (aTypedArrayConstructor(C))(length); 40941 while (length > index) result[index] = list[index++]; 40942 return result; 40943}, FORCED); 40944 40945 40946/***/ }), 40947 40948/***/ 7462: 40949/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40950 40951"use strict"; 40952 40953var ArrayBufferViewCore = __webpack_require__(260); 40954var $some = __webpack_require__(2092).some; 40955 40956var aTypedArray = ArrayBufferViewCore.aTypedArray; 40957var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40958 40959// `%TypedArray%.prototype.some` method 40960// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some 40961exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) { 40962 return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); 40963}); 40964 40965 40966/***/ }), 40967 40968/***/ 3824: 40969/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40970 40971"use strict"; 40972 40973var ArrayBufferViewCore = __webpack_require__(260); 40974 40975var aTypedArray = ArrayBufferViewCore.aTypedArray; 40976var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 40977var $sort = [].sort; 40978 40979// `%TypedArray%.prototype.sort` method 40980// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort 40981exportTypedArrayMethod('sort', function sort(comparefn) { 40982 return $sort.call(aTypedArray(this), comparefn); 40983}); 40984 40985 40986/***/ }), 40987 40988/***/ 5021: 40989/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 40990 40991"use strict"; 40992 40993var ArrayBufferViewCore = __webpack_require__(260); 40994var toLength = __webpack_require__(7466); 40995var toAbsoluteIndex = __webpack_require__(1400); 40996var speciesConstructor = __webpack_require__(6707); 40997 40998var aTypedArray = ArrayBufferViewCore.aTypedArray; 40999var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 41000 41001// `%TypedArray%.prototype.subarray` method 41002// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray 41003exportTypedArrayMethod('subarray', function subarray(begin, end) { 41004 var O = aTypedArray(this); 41005 var length = O.length; 41006 var beginIndex = toAbsoluteIndex(begin, length); 41007 return new (speciesConstructor(O, O.constructor))( 41008 O.buffer, 41009 O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT, 41010 toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex) 41011 ); 41012}); 41013 41014 41015/***/ }), 41016 41017/***/ 2974: 41018/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 41019 41020"use strict"; 41021 41022var global = __webpack_require__(7854); 41023var ArrayBufferViewCore = __webpack_require__(260); 41024var fails = __webpack_require__(7293); 41025 41026var Int8Array = global.Int8Array; 41027var aTypedArray = ArrayBufferViewCore.aTypedArray; 41028var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod; 41029var $toLocaleString = [].toLocaleString; 41030var $slice = [].slice; 41031 41032// iOS Safari 6.x fails here 41033var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () { 41034 $toLocaleString.call(new Int8Array(1)); 41035}); 41036 41037var FORCED = fails(function () { 41038 return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString(); 41039}) || !fails(function () { 41040 Int8Array.prototype.toLocaleString.call([1, 2]); 41041}); 41042 41043// `%TypedArray%.prototype.toLocaleString` method 41044// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring 41045exportTypedArrayMethod('toLocaleString', function toLocaleString() { 41046 return $toLocaleString.apply(TO_LOCALE_STRING_BUG ? $slice.call(aTypedArray(this)) : aTypedArray(this), arguments); 41047}, FORCED); 41048 41049 41050/***/ }), 41051 41052/***/ 5016: 41053/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 41054 41055"use strict"; 41056 41057var exportTypedArrayMethod = __webpack_require__(260).exportTypedArrayMethod; 41058var fails = __webpack_require__(7293); 41059var global = __webpack_require__(7854); 41060 41061var Uint8Array = global.Uint8Array; 41062var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {}; 41063var arrayToString = [].toString; 41064var arrayJoin = [].join; 41065 41066if (fails(function () { arrayToString.call({}); })) { 41067 arrayToString = function toString() { 41068 return arrayJoin.call(this); 41069 }; 41070} 41071 41072var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString; 41073 41074// `%TypedArray%.prototype.toString` method 41075// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring 41076exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD); 41077 41078 41079/***/ }), 41080 41081/***/ 2472: 41082/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 41083 41084var createTypedArrayConstructor = __webpack_require__(9843); 41085 41086// `Uint8Array` constructor 41087// https://tc39.es/ecma262/#sec-typedarray-objects 41088createTypedArrayConstructor('Uint8', function (init) { 41089 return function Uint8Array(data, byteOffset, length) { 41090 return init(this, data, byteOffset, length); 41091 }; 41092}); 41093 41094 41095/***/ }), 41096 41097/***/ 4747: 41098/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 41099 41100var global = __webpack_require__(7854); 41101var DOMIterables = __webpack_require__(8324); 41102var forEach = __webpack_require__(8533); 41103var createNonEnumerableProperty = __webpack_require__(8880); 41104 41105for (var COLLECTION_NAME in DOMIterables) { 41106 var Collection = global[COLLECTION_NAME]; 41107 var CollectionPrototype = Collection && Collection.prototype; 41108 // some Chrome versions have non-configurable methods on DOMTokenList 41109 if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try { 41110 createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach); 41111 } catch (error) { 41112 CollectionPrototype.forEach = forEach; 41113 } 41114} 41115 41116 41117/***/ }), 41118 41119/***/ 3948: 41120/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 41121 41122var global = __webpack_require__(7854); 41123var DOMIterables = __webpack_require__(8324); 41124var ArrayIteratorMethods = __webpack_require__(6992); 41125var createNonEnumerableProperty = __webpack_require__(8880); 41126var wellKnownSymbol = __webpack_require__(5112); 41127 41128var ITERATOR = wellKnownSymbol('iterator'); 41129var TO_STRING_TAG = wellKnownSymbol('toStringTag'); 41130var ArrayValues = ArrayIteratorMethods.values; 41131 41132for (var COLLECTION_NAME in DOMIterables) { 41133 var Collection = global[COLLECTION_NAME]; 41134 var CollectionPrototype = Collection && Collection.prototype; 41135 if (CollectionPrototype) { 41136 // some Chrome versions have non-configurable methods on DOMTokenList 41137 if (CollectionPrototype[ITERATOR] !== ArrayValues) try { 41138 createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues); 41139 } catch (error) { 41140 CollectionPrototype[ITERATOR] = ArrayValues; 41141 } 41142 if (!CollectionPrototype[TO_STRING_TAG]) { 41143 createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME); 41144 } 41145 if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) { 41146 // some Chrome versions have non-configurable methods on DOMTokenList 41147 if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try { 41148 createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]); 41149 } catch (error) { 41150 CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME]; 41151 } 41152 } 41153 } 41154} 41155 41156 41157/***/ }), 41158 41159/***/ 1637: 41160/***/ (function(module, __unused_webpack_exports, __webpack_require__) { 41161 41162"use strict"; 41163 41164// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` 41165__webpack_require__(6992); 41166var $ = __webpack_require__(2109); 41167var getBuiltIn = __webpack_require__(5005); 41168var USE_NATIVE_URL = __webpack_require__(590); 41169var redefine = __webpack_require__(1320); 41170var redefineAll = __webpack_require__(2248); 41171var setToStringTag = __webpack_require__(8003); 41172var createIteratorConstructor = __webpack_require__(4994); 41173var InternalStateModule = __webpack_require__(9909); 41174var anInstance = __webpack_require__(5787); 41175var hasOwn = __webpack_require__(6656); 41176var bind = __webpack_require__(9974); 41177var classof = __webpack_require__(648); 41178var anObject = __webpack_require__(9670); 41179var isObject = __webpack_require__(111); 41180var create = __webpack_require__(30); 41181var createPropertyDescriptor = __webpack_require__(9114); 41182var getIterator = __webpack_require__(8554); 41183var getIteratorMethod = __webpack_require__(1246); 41184var wellKnownSymbol = __webpack_require__(5112); 41185 41186var $fetch = getBuiltIn('fetch'); 41187var Headers = getBuiltIn('Headers'); 41188var ITERATOR = wellKnownSymbol('iterator'); 41189var URL_SEARCH_PARAMS = 'URLSearchParams'; 41190var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator'; 41191var setInternalState = InternalStateModule.set; 41192var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS); 41193var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR); 41194 41195var plus = /\+/g; 41196var sequences = Array(4); 41197 41198var percentSequence = function (bytes) { 41199 return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi')); 41200}; 41201 41202var percentDecode = function (sequence) { 41203 try { 41204 return decodeURIComponent(sequence); 41205 } catch (error) { 41206 return sequence; 41207 } 41208}; 41209 41210var deserialize = function (it) { 41211 var result = it.replace(plus, ' '); 41212 var bytes = 4; 41213 try { 41214 return decodeURIComponent(result); 41215 } catch (error) { 41216 while (bytes) { 41217 result = result.replace(percentSequence(bytes--), percentDecode); 41218 } 41219 return result; 41220 } 41221}; 41222 41223var find = /[!'()~]|%20/g; 41224 41225var replace = { 41226 '!': '%21', 41227 "'": '%27', 41228 '(': '%28', 41229 ')': '%29', 41230 '~': '%7E', 41231 '%20': '+' 41232}; 41233 41234var replacer = function (match) { 41235 return replace[match]; 41236}; 41237 41238var serialize = function (it) { 41239 return encodeURIComponent(it).replace(find, replacer); 41240}; 41241 41242var parseSearchParams = function (result, query) { 41243 if (query) { 41244 var attributes = query.split('&'); 41245 var index = 0; 41246 var attribute, entry; 41247 while (index < attributes.length) { 41248 attribute = attributes[index++]; 41249 if (attribute.length) { 41250 entry = attribute.split('='); 41251 result.push({ 41252 key: deserialize(entry.shift()), 41253 value: deserialize(entry.join('=')) 41254 }); 41255 } 41256 } 41257 } 41258}; 41259 41260var updateSearchParams = function (query) { 41261 this.entries.length = 0; 41262 parseSearchParams(this.entries, query); 41263}; 41264 41265var validateArgumentsLength = function (passed, required) { 41266 if (passed < required) throw TypeError('Not enough arguments'); 41267}; 41268 41269var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) { 41270 setInternalState(this, { 41271 type: URL_SEARCH_PARAMS_ITERATOR, 41272 iterator: getIterator(getInternalParamsState(params).entries), 41273 kind: kind 41274 }); 41275}, 'Iterator', function next() { 41276 var state = getInternalIteratorState(this); 41277 var kind = state.kind; 41278 var step = state.iterator.next(); 41279 var entry = step.value; 41280 if (!step.done) { 41281 step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value]; 41282 } return step; 41283}); 41284 41285// `URLSearchParams` constructor 41286// https://url.spec.whatwg.org/#interface-urlsearchparams 41287var URLSearchParamsConstructor = function URLSearchParams(/* init */) { 41288 anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS); 41289 var init = arguments.length > 0 ? arguments[0] : undefined; 41290 var that = this; 41291 var entries = []; 41292 var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key; 41293 41294 setInternalState(that, { 41295 type: URL_SEARCH_PARAMS, 41296 entries: entries, 41297 updateURL: function () { /* empty */ }, 41298 updateSearchParams: updateSearchParams 41299 }); 41300 41301 if (init !== undefined) { 41302 if (isObject(init)) { 41303 iteratorMethod = getIteratorMethod(init); 41304 if (typeof iteratorMethod === 'function') { 41305 iterator = iteratorMethod.call(init); 41306 next = iterator.next; 41307 while (!(step = next.call(iterator)).done) { 41308 entryIterator = getIterator(anObject(step.value)); 41309 entryNext = entryIterator.next; 41310 if ( 41311 (first = entryNext.call(entryIterator)).done || 41312 (second = entryNext.call(entryIterator)).done || 41313 !entryNext.call(entryIterator).done 41314 ) throw TypeError('Expected sequence with length 2'); 41315 entries.push({ key: first.value + '', value: second.value + '' }); 41316 } 41317 } else for (key in init) if (hasOwn(init, key)) entries.push({ key: key, value: init[key] + '' }); 41318 } else { 41319 parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + ''); 41320 } 41321 } 41322}; 41323 41324var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype; 41325 41326redefineAll(URLSearchParamsPrototype, { 41327 // `URLSearchParams.prototype.append` method 41328 // https://url.spec.whatwg.org/#dom-urlsearchparams-append 41329 append: function append(name, value) { 41330 validateArgumentsLength(arguments.length, 2); 41331 var state = getInternalParamsState(this); 41332 state.entries.push({ key: name + '', value: value + '' }); 41333 state.updateURL(); 41334 }, 41335 // `URLSearchParams.prototype.delete` method 41336 // https://url.spec.whatwg.org/#dom-urlsearchparams-delete 41337 'delete': function (name) { 41338 validateArgumentsLength(arguments.length, 1); 41339 var state = getInternalParamsState(this); 41340 var entries = state.entries; 41341 var key = name + ''; 41342 var index = 0; 41343 while (index < entries.length) { 41344 if (entries[index].key === key) entries.splice(index, 1); 41345 else index++; 41346 } 41347 state.updateURL(); 41348 }, 41349 // `URLSearchParams.prototype.get` method 41350 // https://url.spec.whatwg.org/#dom-urlsearchparams-get 41351 get: function get(name) { 41352 validateArgumentsLength(arguments.length, 1); 41353 var entries = getInternalParamsState(this).entries; 41354 var key = name + ''; 41355 var index = 0; 41356 for (; index < entries.length; index++) { 41357 if (entries[index].key === key) return entries[index].value; 41358 } 41359 return null; 41360 }, 41361 // `URLSearchParams.prototype.getAll` method 41362 // https://url.spec.whatwg.org/#dom-urlsearchparams-getall 41363 getAll: function getAll(name) { 41364 validateArgumentsLength(arguments.length, 1); 41365 var entries = getInternalParamsState(this).entries; 41366 var key = name + ''; 41367 var result = []; 41368 var index = 0; 41369 for (; index < entries.length; index++) { 41370 if (entries[index].key === key) result.push(entries[index].value); 41371 } 41372 return result; 41373 }, 41374 // `URLSearchParams.prototype.has` method 41375 // https://url.spec.whatwg.org/#dom-urlsearchparams-has 41376 has: function has(name) { 41377 validateArgumentsLength(arguments.length, 1); 41378 var entries = getInternalParamsState(this).entries; 41379 var key = name + ''; 41380 var index = 0; 41381 while (index < entries.length) { 41382 if (entries[index++].key === key) return true; 41383 } 41384 return false; 41385 }, 41386 // `URLSearchParams.prototype.set` method 41387 // https://url.spec.whatwg.org/#dom-urlsearchparams-set 41388 set: function set(name, value) { 41389 validateArgumentsLength(arguments.length, 1); 41390 var state = getInternalParamsState(this); 41391 var entries = state.entries; 41392 var found = false; 41393 var key = name + ''; 41394 var val = value + ''; 41395 var index = 0; 41396 var entry; 41397 for (; index < entries.length; index++) { 41398 entry = entries[index]; 41399 if (entry.key === key) { 41400 if (found) entries.splice(index--, 1); 41401 else { 41402 found = true; 41403 entry.value = val; 41404 } 41405 } 41406 } 41407 if (!found) entries.push({ key: key, value: val }); 41408 state.updateURL(); 41409 }, 41410 // `URLSearchParams.prototype.sort` method 41411 // https://url.spec.whatwg.org/#dom-urlsearchparams-sort 41412 sort: function sort() { 41413 var state = getInternalParamsState(this); 41414 var entries = state.entries; 41415 // Array#sort is not stable in some engines 41416 var slice = entries.slice(); 41417 var entry, entriesIndex, sliceIndex; 41418 entries.length = 0; 41419 for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) { 41420 entry = slice[sliceIndex]; 41421 for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) { 41422 if (entries[entriesIndex].key > entry.key) { 41423 entries.splice(entriesIndex, 0, entry); 41424 break; 41425 } 41426 } 41427 if (entriesIndex === sliceIndex) entries.push(entry); 41428 } 41429 state.updateURL(); 41430 }, 41431 // `URLSearchParams.prototype.forEach` method 41432 forEach: function forEach(callback /* , thisArg */) { 41433 var entries = getInternalParamsState(this).entries; 41434 var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3); 41435 var index = 0; 41436 var entry; 41437 while (index < entries.length) { 41438 entry = entries[index++]; 41439 boundFunction(entry.value, entry.key, this); 41440 } 41441 }, 41442 // `URLSearchParams.prototype.keys` method 41443 keys: function keys() { 41444 return new URLSearchParamsIterator(this, 'keys'); 41445 }, 41446 // `URLSearchParams.prototype.values` method 41447 values: function values() { 41448 return new URLSearchParamsIterator(this, 'values'); 41449 }, 41450 // `URLSearchParams.prototype.entries` method 41451 entries: function entries() { 41452 return new URLSearchParamsIterator(this, 'entries'); 41453 } 41454}, { enumerable: true }); 41455 41456// `URLSearchParams.prototype[@@iterator]` method 41457redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries); 41458 41459// `URLSearchParams.prototype.toString` method 41460// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior 41461redefine(URLSearchParamsPrototype, 'toString', function toString() { 41462 var entries = getInternalParamsState(this).entries; 41463 var result = []; 41464 var index = 0; 41465 var entry; 41466 while (index < entries.length) { 41467 entry = entries[index++]; 41468 result.push(serialize(entry.key) + '=' + serialize(entry.value)); 41469 } return result.join('&'); 41470}, { enumerable: true }); 41471 41472setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS); 41473 41474$({ global: true, forced: !USE_NATIVE_URL }, { 41475 URLSearchParams: URLSearchParamsConstructor 41476}); 41477 41478// Wrap `fetch` for correct work with polyfilled `URLSearchParams` 41479// https://github.com/zloirock/core-js/issues/674 41480if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') { 41481 $({ global: true, enumerable: true, forced: true }, { 41482 fetch: function fetch(input /* , init */) { 41483 var args = [input]; 41484 var init, body, headers; 41485 if (arguments.length > 1) { 41486 init = arguments[1]; 41487 if (isObject(init)) { 41488 body = init.body; 41489 if (classof(body) === URL_SEARCH_PARAMS) { 41490 headers = init.headers ? new Headers(init.headers) : new Headers(); 41491 if (!headers.has('content-type')) { 41492 headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'); 41493 } 41494 init = create(init, { 41495 body: createPropertyDescriptor(0, String(body)), 41496 headers: createPropertyDescriptor(0, headers) 41497 }); 41498 } 41499 } 41500 args.push(init); 41501 } return $fetch.apply(this, args); 41502 } 41503 }); 41504} 41505 41506module.exports = { 41507 URLSearchParams: URLSearchParamsConstructor, 41508 getState: getInternalParamsState 41509}; 41510 41511 41512/***/ }), 41513 41514/***/ 285: 41515/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { 41516 41517"use strict"; 41518 41519// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env` 41520__webpack_require__(8783); 41521var $ = __webpack_require__(2109); 41522var DESCRIPTORS = __webpack_require__(9781); 41523var USE_NATIVE_URL = __webpack_require__(590); 41524var global = __webpack_require__(7854); 41525var defineProperties = __webpack_require__(6048); 41526var redefine = __webpack_require__(1320); 41527var anInstance = __webpack_require__(5787); 41528var has = __webpack_require__(6656); 41529var assign = __webpack_require__(1574); 41530var arrayFrom = __webpack_require__(8457); 41531var codeAt = __webpack_require__(8710).codeAt; 41532var toASCII = __webpack_require__(3197); 41533var setToStringTag = __webpack_require__(8003); 41534var URLSearchParamsModule = __webpack_require__(1637); 41535var InternalStateModule = __webpack_require__(9909); 41536 41537var NativeURL = global.URL; 41538var URLSearchParams = URLSearchParamsModule.URLSearchParams; 41539var getInternalSearchParamsState = URLSearchParamsModule.getState; 41540var setInternalState = InternalStateModule.set; 41541var getInternalURLState = InternalStateModule.getterFor('URL'); 41542var floor = Math.floor; 41543var pow = Math.pow; 41544 41545var INVALID_AUTHORITY = 'Invalid authority'; 41546var INVALID_SCHEME = 'Invalid scheme'; 41547var INVALID_HOST = 'Invalid host'; 41548var INVALID_PORT = 'Invalid port'; 41549 41550var ALPHA = /[A-Za-z]/; 41551var ALPHANUMERIC = /[\d+-.A-Za-z]/; 41552var DIGIT = /\d/; 41553var HEX_START = /^(0x|0X)/; 41554var OCT = /^[0-7]+$/; 41555var DEC = /^\d+$/; 41556var HEX = /^[\dA-Fa-f]+$/; 41557/* eslint-disable no-control-regex -- safe */ 41558var FORBIDDEN_HOST_CODE_POINT = /[\u0000\t\u000A\u000D #%/:?@[\\]]/; 41559var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\t\u000A\u000D #/:?@[\\]]/; 41560var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g; 41561var TAB_AND_NEW_LINE = /[\t\u000A\u000D]/g; 41562/* eslint-enable no-control-regex -- safe */ 41563var EOF; 41564 41565var parseHost = function (url, input) { 41566 var result, codePoints, index; 41567 if (input.charAt(0) == '[') { 41568 if (input.charAt(input.length - 1) != ']') return INVALID_HOST; 41569 result = parseIPv6(input.slice(1, -1)); 41570 if (!result) return INVALID_HOST; 41571 url.host = result; 41572 // opaque host 41573 } else if (!isSpecial(url)) { 41574 if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input)) return INVALID_HOST; 41575 result = ''; 41576 codePoints = arrayFrom(input); 41577 for (index = 0; index < codePoints.length; index++) { 41578 result += percentEncode(codePoints[index], C0ControlPercentEncodeSet); 41579 } 41580 url.host = result; 41581 } else { 41582 input = toASCII(input); 41583 if (FORBIDDEN_HOST_CODE_POINT.test(input)) return INVALID_HOST; 41584 result = parseIPv4(input); 41585 if (result === null) return INVALID_HOST; 41586 url.host = result; 41587 } 41588}; 41589 41590var parseIPv4 = function (input) { 41591 var parts = input.split('.'); 41592 var partsLength, numbers, index, part, radix, number, ipv4; 41593 if (parts.length && parts[parts.length - 1] == '') { 41594 parts.pop(); 41595 } 41596 partsLength = parts.length; 41597 if (partsLength > 4) return input; 41598 numbers = []; 41599 for (index = 0; index < partsLength; index++) { 41600 part = parts[index]; 41601 if (part == '') return input; 41602 radix = 10; 41603 if (part.length > 1 && part.charAt(0) == '0') { 41604 radix = HEX_START.test(part) ? 16 : 8; 41605 part = part.slice(radix == 8 ? 1 : 2); 41606 } 41607 if (part === '') { 41608 number = 0; 41609 } else { 41610 if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part)) return input; 41611 number = parseInt(part, radix); 41612 } 41613 numbers.push(number); 41614 } 41615 for (index = 0; index < partsLength; index++) { 41616 number = numbers[index]; 41617 if (index == partsLength - 1) { 41618 if (number >= pow(256, 5 - partsLength)) return null; 41619 } else if (number > 255) return null; 41620 } 41621 ipv4 = numbers.pop(); 41622 for (index = 0; index < numbers.length; index++) { 41623 ipv4 += numbers[index] * pow(256, 3 - index); 41624 } 41625 return ipv4; 41626}; 41627 41628// eslint-disable-next-line max-statements -- TODO 41629var parseIPv6 = function (input) { 41630 var address = [0, 0, 0, 0, 0, 0, 0, 0]; 41631 var pieceIndex = 0; 41632 var compress = null; 41633 var pointer = 0; 41634 var value, length, numbersSeen, ipv4Piece, number, swaps, swap; 41635 41636 var char = function () { 41637 return input.charAt(pointer); 41638 }; 41639 41640 if (char() == ':') { 41641 if (input.charAt(1) != ':') return; 41642 pointer += 2; 41643 pieceIndex++; 41644 compress = pieceIndex; 41645 } 41646 while (char()) { 41647 if (pieceIndex == 8) return; 41648 if (char() == ':') { 41649 if (compress !== null) return; 41650 pointer++; 41651 pieceIndex++; 41652 compress = pieceIndex; 41653 continue; 41654 } 41655 value = length = 0; 41656 while (length < 4 && HEX.test(char())) { 41657 value = value * 16 + parseInt(char(), 16); 41658 pointer++; 41659 length++; 41660 } 41661 if (char() == '.') { 41662 if (length == 0) return; 41663 pointer -= length; 41664 if (pieceIndex > 6) return; 41665 numbersSeen = 0; 41666 while (char()) { 41667 ipv4Piece = null; 41668 if (numbersSeen > 0) { 41669 if (char() == '.' && numbersSeen < 4) pointer++; 41670 else return; 41671 } 41672 if (!DIGIT.test(char())) return; 41673 while (DIGIT.test(char())) { 41674 number = parseInt(char(), 10); 41675 if (ipv4Piece === null) ipv4Piece = number; 41676 else if (ipv4Piece == 0) return; 41677 else ipv4Piece = ipv4Piece * 10 + number; 41678 if (ipv4Piece > 255) return; 41679 pointer++; 41680 } 41681 address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece; 41682 numbersSeen++; 41683 if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++; 41684 } 41685 if (numbersSeen != 4) return; 41686 break; 41687 } else if (char() == ':') { 41688 pointer++; 41689 if (!char()) return; 41690 } else if (char()) return; 41691 address[pieceIndex++] = value; 41692 } 41693 if (compress !== null) { 41694 swaps = pieceIndex - compress; 41695 pieceIndex = 7; 41696 while (pieceIndex != 0 && swaps > 0) { 41697 swap = address[pieceIndex]; 41698 address[pieceIndex--] = address[compress + swaps - 1]; 41699 address[compress + --swaps] = swap; 41700 } 41701 } else if (pieceIndex != 8) return; 41702 return address; 41703}; 41704 41705var findLongestZeroSequence = function (ipv6) { 41706 var maxIndex = null; 41707 var maxLength = 1; 41708 var currStart = null; 41709 var currLength = 0; 41710 var index = 0; 41711 for (; index < 8; index++) { 41712 if (ipv6[index] !== 0) { 41713 if (currLength > maxLength) { 41714 maxIndex = currStart; 41715 maxLength = currLength; 41716 } 41717 currStart = null; 41718 currLength = 0; 41719 } else { 41720 if (currStart === null) currStart = index; 41721 ++currLength; 41722 } 41723 } 41724 if (currLength > maxLength) { 41725 maxIndex = currStart; 41726 maxLength = currLength; 41727 } 41728 return maxIndex; 41729}; 41730 41731var serializeHost = function (host) { 41732 var result, index, compress, ignore0; 41733 // ipv4 41734 if (typeof host == 'number') { 41735 result = []; 41736 for (index = 0; index < 4; index++) { 41737 result.unshift(host % 256); 41738 host = floor(host / 256); 41739 } return result.join('.'); 41740 // ipv6 41741 } else if (typeof host == 'object') { 41742 result = ''; 41743 compress = findLongestZeroSequence(host); 41744 for (index = 0; index < 8; index++) { 41745 if (ignore0 && host[index] === 0) continue; 41746 if (ignore0) ignore0 = false; 41747 if (compress === index) { 41748 result += index ? ':' : '::'; 41749 ignore0 = true; 41750 } else { 41751 result += host[index].toString(16); 41752 if (index < 7) result += ':'; 41753 } 41754 } 41755 return '[' + result + ']'; 41756 } return host; 41757}; 41758 41759var C0ControlPercentEncodeSet = {}; 41760var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, { 41761 ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 41762}); 41763var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, { 41764 '#': 1, '?': 1, '{': 1, '}': 1 41765}); 41766var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, { 41767 '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1 41768}); 41769 41770var percentEncode = function (char, set) { 41771 var code = codeAt(char, 0); 41772 return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char); 41773}; 41774 41775var specialSchemes = { 41776 ftp: 21, 41777 file: null, 41778 http: 80, 41779 https: 443, 41780 ws: 80, 41781 wss: 443 41782}; 41783 41784var isSpecial = function (url) { 41785 return has(specialSchemes, url.scheme); 41786}; 41787 41788var includesCredentials = function (url) { 41789 return url.username != '' || url.password != ''; 41790}; 41791 41792var cannotHaveUsernamePasswordPort = function (url) { 41793 return !url.host || url.cannotBeABaseURL || url.scheme == 'file'; 41794}; 41795 41796var isWindowsDriveLetter = function (string, normalized) { 41797 var second; 41798 return string.length == 2 && ALPHA.test(string.charAt(0)) 41799 && ((second = string.charAt(1)) == ':' || (!normalized && second == '|')); 41800}; 41801 41802var startsWithWindowsDriveLetter = function (string) { 41803 var third; 41804 return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && ( 41805 string.length == 2 || 41806 ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#') 41807 ); 41808}; 41809 41810var shortenURLsPath = function (url) { 41811 var path = url.path; 41812 var pathSize = path.length; 41813 if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) { 41814 path.pop(); 41815 } 41816}; 41817 41818var isSingleDot = function (segment) { 41819 return segment === '.' || segment.toLowerCase() === '%2e'; 41820}; 41821 41822var isDoubleDot = function (segment) { 41823 segment = segment.toLowerCase(); 41824 return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e'; 41825}; 41826 41827// States: 41828var SCHEME_START = {}; 41829var SCHEME = {}; 41830var NO_SCHEME = {}; 41831var SPECIAL_RELATIVE_OR_AUTHORITY = {}; 41832var PATH_OR_AUTHORITY = {}; 41833var RELATIVE = {}; 41834var RELATIVE_SLASH = {}; 41835var SPECIAL_AUTHORITY_SLASHES = {}; 41836var SPECIAL_AUTHORITY_IGNORE_SLASHES = {}; 41837var AUTHORITY = {}; 41838var HOST = {}; 41839var HOSTNAME = {}; 41840var PORT = {}; 41841var FILE = {}; 41842var FILE_SLASH = {}; 41843var FILE_HOST = {}; 41844var PATH_START = {}; 41845var PATH = {}; 41846var CANNOT_BE_A_BASE_URL_PATH = {}; 41847var QUERY = {}; 41848var FRAGMENT = {}; 41849 41850// eslint-disable-next-line max-statements -- TODO 41851var parseURL = function (url, input, stateOverride, base) { 41852 var state = stateOverride || SCHEME_START; 41853 var pointer = 0; 41854 var buffer = ''; 41855 var seenAt = false;
vendor: 20,710 bytes, lines 41856-42474
41856 var seenBracket = false; 41857 var seenPasswordToken = false; 41858 var codePoints, char, bufferCodePoints, failure; 41859 41860 if (!stateOverride) { 41861 url.scheme = ''; 41862 url.username = ''; 41863 url.password = ''; 41864 url.host = null; 41865 url.port = null; 41866 url.path = []; 41867 url.query = null; 41868 url.fragment = null; 41869 url.cannotBeABaseURL = false; 41870 input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, ''); 41871 } 41872 41873 input = input.replace(TAB_AND_NEW_LINE, ''); 41874 41875 codePoints = arrayFrom(input); 41876 41877 while (pointer <= codePoints.length) { 41878 char = codePoints[pointer]; 41879 switch (state) { 41880 case SCHEME_START: 41881 if (char && ALPHA.test(char)) { 41882 buffer += char.toLowerCase(); 41883 state = SCHEME; 41884 } else if (!stateOverride) { 41885 state = NO_SCHEME; 41886 continue; 41887 } else return INVALID_SCHEME; 41888 break; 41889 41890 case SCHEME: 41891 if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) { 41892 buffer += char.toLowerCase(); 41893 } else if (char == ':') { 41894 if (stateOverride && ( 41895 (isSpecial(url) != has(specialSchemes, buffer)) || 41896 (buffer == 'file' && (includesCredentials(url) || url.port !== null)) || 41897 (url.scheme == 'file' && !url.host) 41898 )) return; 41899 url.scheme = buffer; 41900 if (stateOverride) { 41901 if (isSpecial(url) && specialSchemes[url.scheme] == url.port) url.port = null; 41902 return; 41903 } 41904 buffer = ''; 41905 if (url.scheme == 'file') { 41906 state = FILE; 41907 } else if (isSpecial(url) && base && base.scheme == url.scheme) { 41908 state = SPECIAL_RELATIVE_OR_AUTHORITY; 41909 } else if (isSpecial(url)) { 41910 state = SPECIAL_AUTHORITY_SLASHES; 41911 } else if (codePoints[pointer + 1] == '/') { 41912 state = PATH_OR_AUTHORITY; 41913 pointer++; 41914 } else { 41915 url.cannotBeABaseURL = true; 41916 url.path.push(''); 41917 state = CANNOT_BE_A_BASE_URL_PATH; 41918 } 41919 } else if (!stateOverride) { 41920 buffer = ''; 41921 state = NO_SCHEME; 41922 pointer = 0; 41923 continue; 41924 } else return INVALID_SCHEME; 41925 break; 41926 41927 case NO_SCHEME: 41928 if (!base || (base.cannotBeABaseURL && char != '#')) return INVALID_SCHEME; 41929 if (base.cannotBeABaseURL && char == '#') { 41930 url.scheme = base.scheme; 41931 url.path = base.path.slice(); 41932 url.query = base.query; 41933 url.fragment = ''; 41934 url.cannotBeABaseURL = true; 41935 state = FRAGMENT; 41936 break; 41937 } 41938 state = base.scheme == 'file' ? FILE : RELATIVE; 41939 continue; 41940 41941 case SPECIAL_RELATIVE_OR_AUTHORITY: 41942 if (char == '/' && codePoints[pointer + 1] == '/') { 41943 state = SPECIAL_AUTHORITY_IGNORE_SLASHES; 41944 pointer++; 41945 } else { 41946 state = RELATIVE; 41947 continue; 41948 } break; 41949 41950 case PATH_OR_AUTHORITY: 41951 if (char == '/') { 41952 state = AUTHORITY; 41953 break; 41954 } else { 41955 state = PATH; 41956 continue; 41957 } 41958 41959 case RELATIVE: 41960 url.scheme = base.scheme; 41961 if (char == EOF) { 41962 url.username = base.username; 41963 url.password = base.password; 41964 url.host = base.host; 41965 url.port = base.port; 41966 url.path = base.path.slice(); 41967 url.query = base.query; 41968 } else if (char == '/' || (char == '\\' && isSpecial(url))) { 41969 state = RELATIVE_SLASH; 41970 } else if (char == '?') { 41971 url.username = base.username; 41972 url.password = base.password; 41973 url.host = base.host; 41974 url.port = base.port; 41975 url.path = base.path.slice(); 41976 url.query = ''; 41977 state = QUERY; 41978 } else if (char == '#') { 41979 url.username = base.username; 41980 url.password = base.password; 41981 url.host = base.host; 41982 url.port = base.port; 41983 url.path = base.path.slice(); 41984 url.query = base.query; 41985 url.fragment = ''; 41986 state = FRAGMENT; 41987 } else { 41988 url.username = base.username; 41989 url.password = base.password; 41990 url.host = base.host; 41991 url.port = base.port; 41992 url.path = base.path.slice(); 41993 url.path.pop(); 41994 state = PATH; 41995 continue; 41996 } break; 41997 41998 case RELATIVE_SLASH: 41999 if (isSpecial(url) && (char == '/' || char == '\\')) { 42000 state = SPECIAL_AUTHORITY_IGNORE_SLASHES; 42001 } else if (char == '/') { 42002 state = AUTHORITY; 42003 } else { 42004 url.username = base.username; 42005 url.password = base.password; 42006 url.host = base.host; 42007 url.port = base.port; 42008 state = PATH; 42009 continue; 42010 } break; 42011 42012 case SPECIAL_AUTHORITY_SLASHES: 42013 state = SPECIAL_AUTHORITY_IGNORE_SLASHES; 42014 if (char != '/' || buffer.charAt(pointer + 1) != '/') continue; 42015 pointer++; 42016 break; 42017 42018 case SPECIAL_AUTHORITY_IGNORE_SLASHES: 42019 if (char != '/' && char != '\\') { 42020 state = AUTHORITY; 42021 continue; 42022 } break; 42023 42024 case AUTHORITY: 42025 if (char == '@') { 42026 if (seenAt) buffer = '%40' + buffer; 42027 seenAt = true; 42028 bufferCodePoints = arrayFrom(buffer); 42029 for (var i = 0; i < bufferCodePoints.length; i++) { 42030 var codePoint = bufferCodePoints[i]; 42031 if (codePoint == ':' && !seenPasswordToken) { 42032 seenPasswordToken = true; 42033 continue; 42034 } 42035 var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet); 42036 if (seenPasswordToken) url.password += encodedCodePoints; 42037 else url.username += encodedCodePoints; 42038 } 42039 buffer = ''; 42040 } else if ( 42041 char == EOF || char == '/' || char == '?' || char == '#' || 42042 (char == '\\' && isSpecial(url)) 42043 ) { 42044 if (seenAt && buffer == '') return INVALID_AUTHORITY; 42045 pointer -= arrayFrom(buffer).length + 1; 42046 buffer = ''; 42047 state = HOST; 42048 } else buffer += char; 42049 break; 42050 42051 case HOST: 42052 case HOSTNAME: 42053 if (stateOverride && url.scheme == 'file') { 42054 state = FILE_HOST; 42055 continue; 42056 } else if (char == ':' && !seenBracket) { 42057 if (buffer == '') return INVALID_HOST; 42058 failure = parseHost(url, buffer); 42059 if (failure) return failure; 42060 buffer = ''; 42061 state = PORT; 42062 if (stateOverride == HOSTNAME) return; 42063 } else if ( 42064 char == EOF || char == '/' || char == '?' || char == '#' || 42065 (char == '\\' && isSpecial(url)) 42066 ) { 42067 if (isSpecial(url) && buffer == '') return INVALID_HOST; 42068 if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null)) return; 42069 failure = parseHost(url, buffer); 42070 if (failure) return failure; 42071 buffer = ''; 42072 state = PATH_START; 42073 if (stateOverride) return; 42074 continue; 42075 } else { 42076 if (char == '[') seenBracket = true; 42077 else if (char == ']') seenBracket = false; 42078 buffer += char; 42079 } break; 42080 42081 case PORT: 42082 if (DIGIT.test(char)) { 42083 buffer += char; 42084 } else if ( 42085 char == EOF || char == '/' || char == '?' || char == '#' || 42086 (char == '\\' && isSpecial(url)) || 42087 stateOverride 42088 ) { 42089 if (buffer != '') { 42090 var port = parseInt(buffer, 10); 42091 if (port > 0xFFFF) return INVALID_PORT; 42092 url.port = (isSpecial(url) && port === specialSchemes[url.scheme]) ? null : port; 42093 buffer = ''; 42094 } 42095 if (stateOverride) return; 42096 state = PATH_START; 42097 continue; 42098 } else return INVALID_PORT; 42099 break; 42100 42101 case FILE: 42102 url.scheme = 'file'; 42103 if (char == '/' || char == '\\') state = FILE_SLASH; 42104 else if (base && base.scheme == 'file') { 42105 if (char == EOF) { 42106 url.host = base.host; 42107 url.path = base.path.slice(); 42108 url.query = base.query; 42109 } else if (char == '?') { 42110 url.host = base.host; 42111 url.path = base.path.slice(); 42112 url.query = ''; 42113 state = QUERY; 42114 } else if (char == '#') { 42115 url.host = base.host; 42116 url.path = base.path.slice(); 42117 url.query = base.query; 42118 url.fragment = ''; 42119 state = FRAGMENT; 42120 } else { 42121 if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { 42122 url.host = base.host; 42123 url.path = base.path.slice(); 42124 shortenURLsPath(url); 42125 } 42126 state = PATH; 42127 continue; 42128 } 42129 } else { 42130 state = PATH; 42131 continue; 42132 } break; 42133 42134 case FILE_SLASH: 42135 if (char == '/' || char == '\\') { 42136 state = FILE_HOST; 42137 break; 42138 } 42139 if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) { 42140 if (isWindowsDriveLetter(base.path[0], true)) url.path.push(base.path[0]); 42141 else url.host = base.host; 42142 } 42143 state = PATH; 42144 continue; 42145 42146 case FILE_HOST: 42147 if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') { 42148 if (!stateOverride && isWindowsDriveLetter(buffer)) { 42149 state = PATH; 42150 } else if (buffer == '') { 42151 url.host = ''; 42152 if (stateOverride) return; 42153 state = PATH_START; 42154 } else { 42155 failure = parseHost(url, buffer); 42156 if (failure) return failure; 42157 if (url.host == 'localhost') url.host = ''; 42158 if (stateOverride) return; 42159 buffer = ''; 42160 state = PATH_START; 42161 } continue; 42162 } else buffer += char; 42163 break; 42164 42165 case PATH_START: 42166 if (isSpecial(url)) { 42167 state = PATH; 42168 if (char != '/' && char != '\\') continue; 42169 } else if (!stateOverride && char == '?') { 42170 url.query = ''; 42171 state = QUERY; 42172 } else if (!stateOverride && char == '#') { 42173 url.fragment = ''; 42174 state = FRAGMENT; 42175 } else if (char != EOF) { 42176 state = PATH; 42177 if (char != '/') continue; 42178 } break; 42179 42180 case PATH: 42181 if ( 42182 char == EOF || char == '/' || 42183 (char == '\\' && isSpecial(url)) || 42184 (!stateOverride && (char == '?' || char == '#')) 42185 ) { 42186 if (isDoubleDot(buffer)) { 42187 shortenURLsPath(url); 42188 if (char != '/' && !(char == '\\' && isSpecial(url))) { 42189 url.path.push(''); 42190 } 42191 } else if (isSingleDot(buffer)) { 42192 if (char != '/' && !(char == '\\' && isSpecial(url))) { 42193 url.path.push(''); 42194 } 42195 } else { 42196 if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) { 42197 if (url.host) url.host = ''; 42198 buffer = buffer.charAt(0) + ':'; // normalize windows drive letter 42199 } 42200 url.path.push(buffer); 42201 } 42202 buffer = ''; 42203 if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) { 42204 while (url.path.length > 1 && url.path[0] === '') { 42205 url.path.shift(); 42206 } 42207 } 42208 if (char == '?') { 42209 url.query = ''; 42210 state = QUERY; 42211 } else if (char == '#') { 42212 url.fragment = ''; 42213 state = FRAGMENT; 42214 } 42215 } else { 42216 buffer += percentEncode(char, pathPercentEncodeSet); 42217 } break; 42218 42219 case CANNOT_BE_A_BASE_URL_PATH: 42220 if (char == '?') { 42221 url.query = ''; 42222 state = QUERY; 42223 } else if (char == '#') { 42224 url.fragment = ''; 42225 state = FRAGMENT; 42226 } else if (char != EOF) { 42227 url.path[0] += percentEncode(char, C0ControlPercentEncodeSet); 42228 } break; 42229 42230 case QUERY: 42231 if (!stateOverride && char == '#') { 42232 url.fragment = ''; 42233 state = FRAGMENT; 42234 } else if (char != EOF) { 42235 if (char == "'" && isSpecial(url)) url.query += '%27'; 42236 else if (char == '#') url.query += '%23'; 42237 else url.query += percentEncode(char, C0ControlPercentEncodeSet); 42238 } break; 42239 42240 case FRAGMENT: 42241 if (char != EOF) url.fragment += percentEncode(char, fragmentPercentEncodeSet); 42242 break; 42243 } 42244 42245 pointer++; 42246 } 42247}; 42248 42249// `URL` constructor 42250// https://url.spec.whatwg.org/#url-class 42251var URLConstructor = function URL(url /* , base */) { 42252 var that = anInstance(this, URLConstructor, 'URL'); 42253 var base = arguments.length > 1 ? arguments[1] : undefined; 42254 var urlString = String(url); 42255 var state = setInternalState(that, { type: 'URL' }); 42256 var baseState, failure; 42257 if (base !== undefined) { 42258 if (base instanceof URLConstructor) baseState = getInternalURLState(base); 42259 else { 42260 failure = parseURL(baseState = {}, String(base)); 42261 if (failure) throw TypeError(failure); 42262 } 42263 } 42264 failure = parseURL(state, urlString, null, baseState); 42265 if (failure) throw TypeError(failure); 42266 var searchParams = state.searchParams = new URLSearchParams(); 42267 var searchParamsState = getInternalSearchParamsState(searchParams); 42268 searchParamsState.updateSearchParams(state.query); 42269 searchParamsState.updateURL = function () { 42270 state.query = String(searchParams) || null; 42271 }; 42272 if (!DESCRIPTORS) { 42273 that.href = serializeURL.call(that); 42274 that.origin = getOrigin.call(that); 42275 that.protocol = getProtocol.call(that); 42276 that.username = getUsername.call(that); 42277 that.password = getPassword.call(that); 42278 that.host = getHost.call(that); 42279 that.hostname = getHostname.call(that); 42280 that.port = getPort.call(that); 42281 that.pathname = getPathname.call(that); 42282 that.search = getSearch.call(that); 42283 that.searchParams = getSearchParams.call(that); 42284 that.hash = getHash.call(that); 42285 } 42286}; 42287 42288var URLPrototype = URLConstructor.prototype; 42289 42290var serializeURL = function () { 42291 var url = getInternalURLState(this); 42292 var scheme = url.scheme; 42293 var username = url.username; 42294 var password = url.password; 42295 var host = url.host; 42296 var port = url.port; 42297 var path = url.path; 42298 var query = url.query; 42299 var fragment = url.fragment; 42300 var output = scheme + ':'; 42301 if (host !== null) { 42302 output += '//'; 42303 if (includesCredentials(url)) { 42304 output += username + (password ? ':' + password : '') + '@'; 42305 } 42306 output += serializeHost(host); 42307 if (port !== null) output += ':' + port; 42308 } else if (scheme == 'file') output += '//'; 42309 output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; 42310 if (query !== null) output += '?' + query; 42311 if (fragment !== null) output += '#' + fragment; 42312 return output; 42313}; 42314 42315var getOrigin = function () { 42316 var url = getInternalURLState(this); 42317 var scheme = url.scheme; 42318 var port = url.port; 42319 if (scheme == 'blob') try { 42320 return new URL(scheme.path[0]).origin; 42321 } catch (error) { 42322 return 'null'; 42323 } 42324 if (scheme == 'file' || !isSpecial(url)) return 'null'; 42325 return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : ''); 42326}; 42327 42328var getProtocol = function () { 42329 return getInternalURLState(this).scheme + ':'; 42330}; 42331 42332var getUsername = function () { 42333 return getInternalURLState(this).username; 42334}; 42335 42336var getPassword = function () { 42337 return getInternalURLState(this).password; 42338}; 42339 42340var getHost = function () { 42341 var url = getInternalURLState(this); 42342 var host = url.host; 42343 var port = url.port; 42344 return host === null ? '' 42345 : port === null ? serializeHost(host) 42346 : serializeHost(host) + ':' + port; 42347}; 42348 42349var getHostname = function () { 42350 var host = getInternalURLState(this).host; 42351 return host === null ? '' : serializeHost(host); 42352}; 42353 42354var getPort = function () { 42355 var port = getInternalURLState(this).port; 42356 return port === null ? '' : String(port); 42357}; 42358 42359var getPathname = function () { 42360 var url = getInternalURLState(this); 42361 var path = url.path; 42362 return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : ''; 42363}; 42364 42365var getSearch = function () { 42366 var query = getInternalURLState(this).query; 42367 return query ? '?' + query : ''; 42368}; 42369 42370var getSearchParams = function () { 42371 return getInternalURLState(this).searchParams; 42372}; 42373 42374var getHash = function () { 42375 var fragment = getInternalURLState(this).fragment; 42376 return fragment ? '#' + fragment : ''; 42377}; 42378 42379var accessorDescriptor = function (getter, setter) { 42380 return { get: getter, set: setter, configurable: true, enumerable: true }; 42381}; 42382 42383if (DESCRIPTORS) { 42384 defineProperties(URLPrototype, { 42385 // `URL.prototype.href` accessors pair 42386 // https://url.spec.whatwg.org/#dom-url-href 42387 href: accessorDescriptor(serializeURL, function (href) { 42388 var url = getInternalURLState(this); 42389 var urlString = String(href); 42390 var failure = parseURL(url, urlString); 42391 if (failure) throw TypeError(failure); 42392 getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); 42393 }), 42394 // `URL.prototype.origin` getter 42395 // https://url.spec.whatwg.org/#dom-url-origin 42396 origin: accessorDescriptor(getOrigin), 42397 // `URL.prototype.protocol` accessors pair 42398 // https://url.spec.whatwg.org/#dom-url-protocol 42399 protocol: accessorDescriptor(getProtocol, function (protocol) { 42400 var url = getInternalURLState(this); 42401 parseURL(url, String(protocol) + ':', SCHEME_START); 42402 }), 42403 // `URL.prototype.username` accessors pair 42404 // https://url.spec.whatwg.org/#dom-url-username 42405 username: accessorDescriptor(getUsername, function (username) { 42406 var url = getInternalURLState(this); 42407 var codePoints = arrayFrom(String(username)); 42408 if (cannotHaveUsernamePasswordPort(url)) return; 42409 url.username = ''; 42410 for (var i = 0; i < codePoints.length; i++) { 42411 url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet); 42412 } 42413 }), 42414 // `URL.prototype.password` accessors pair 42415 // https://url.spec.whatwg.org/#dom-url-password 42416 password: accessorDescriptor(getPassword, function (password) { 42417 var url = getInternalURLState(this); 42418 var codePoints = arrayFrom(String(password)); 42419 if (cannotHaveUsernamePasswordPort(url)) return; 42420 url.password = ''; 42421 for (var i = 0; i < codePoints.length; i++) { 42422 url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet); 42423 } 42424 }), 42425 // `URL.prototype.host` accessors pair 42426 // https://url.spec.whatwg.org/#dom-url-host 42427 host: accessorDescriptor(getHost, function (host) { 42428 var url = getInternalURLState(this); 42429 if (url.cannotBeABaseURL) return; 42430 parseURL(url, String(host), HOST); 42431 }), 42432 // `URL.prototype.hostname` accessors pair 42433 // https://url.spec.whatwg.org/#dom-url-hostname 42434 hostname: accessorDescriptor(getHostname, function (hostname) { 42435 var url = getInternalURLState(this); 42436 if (url.cannotBeABaseURL) return; 42437 parseURL(url, String(hostname), HOSTNAME); 42438 }), 42439 // `URL.prototype.port` accessors pair 42440 // https://url.spec.whatwg.org/#dom-url-port 42441 port: accessorDescriptor(getPort, function (port) { 42442 var url = getInternalURLState(this); 42443 if (cannotHaveUsernamePasswordPort(url)) return; 42444 port = String(port); 42445 if (port == '') url.port = null; 42446 else parseURL(url, port, PORT); 42447 }), 42448 // `URL.prototype.pathname` accessors pair 42449 // https://url.spec.whatwg.org/#dom-url-pathname 42450 pathname: accessorDescriptor(getPathname, function (pathname) { 42451 var url = getInternalURLState(this); 42452 if (url.cannotBeABaseURL) return; 42453 url.path = []; 42454 parseURL(url, pathname + '', PATH_START); 42455 }), 42456 // `URL.prototype.search` accessors pair 42457 // https://url.spec.whatwg.org/#dom-url-search 42458 search: accessorDescriptor(getSearch, function (search) { 42459 var url = getInternalURLState(this); 42460 search = String(search); 42461 if (search == '') { 42462 url.query = null; 42463 } else { 42464 if ('?' == search.charAt(0)) search = search.slice(1); 42465 url.query = ''; 42466 parseURL(url, search, QUERY); 42467 } 42468 getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query); 42469 }), 42470 // `URL.prototype.searchParams` getter 42471 // https://url.spec.whatwg.org/#dom-url-searchparams 42472 searchParams: accessorDescriptor(getSearchParams), 42473 // `URL.prototype.hash` accessors pair 42474 // https://url.spec.whatwg.org/#dom-url-hash
vendor: 13,774 bytes, lines 42475-42739
42475 hash: accessorDescriptor(getHash, function (hash) { 42476 var url = getInternalURLState(this); 42477 hash = String(hash); 42478 if (hash == '') { 42479 url.fragment = null; 42480 return; 42481 } 42482 if ('#' == hash.charAt(0)) hash = hash.slice(1); 42483 url.fragment = ''; 42484 parseURL(url, hash, FRAGMENT); 42485 }) 42486 }); 42487} 42488 42489// `URL.prototype.toJSON` method 42490// https://url.spec.whatwg.org/#dom-url-tojson 42491redefine(URLPrototype, 'toJSON', function toJSON() { 42492 return serializeURL.call(this); 42493}, { enumerable: true }); 42494 42495// `URL.prototype.toString` method 42496// https://url.spec.whatwg.org/#URL-stringification-behavior 42497redefine(URLPrototype, 'toString', function toString() { 42498 return serializeURL.call(this); 42499}, { enumerable: true }); 42500 42501if (NativeURL) { 42502 var nativeCreateObjectURL = NativeURL.createObjectURL; 42503 var nativeRevokeObjectURL = NativeURL.revokeObjectURL; 42504 // `URL.createObjectURL` method 42505 // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL 42506 // eslint-disable-next-line no-unused-vars -- required for `.length` 42507 if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) { 42508 return nativeCreateObjectURL.apply(NativeURL, arguments); 42509 }); 42510 // `URL.revokeObjectURL` method 42511 // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL 42512 // eslint-disable-next-line no-unused-vars -- required for `.length` 42513 if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) { 42514 return nativeRevokeObjectURL.apply(NativeURL, arguments); 42515 }); 42516} 42517 42518setToStringTag(URLConstructor, 'URL'); 42519 42520$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, { 42521 URL: URLConstructor 42522}); 42523 42524 42525/***/ }) 42526 42527/******/ }); 42528/************************************************************************/ 42529/******/ // The module cache 42530/******/ var __webpack_module_cache__ = {}; 42531/******/ 42532/******/ // The require function 42533/******/ function __webpack_require__(moduleId) { 42534/******/ // Check if module is in cache 42535/******/ if(__webpack_module_cache__[moduleId]) { 42536/******/ return __webpack_module_cache__[moduleId].exports; 42537/******/ } 42538/******/ // Create a new module (and put it into the cache) 42539/******/ var module = __webpack_module_cache__[moduleId] = { 42540/******/ // no module.id needed 42541/******/ // no module.loaded needed 42542/******/ exports: {} 42543/******/ }; 42544/******/ 42545/******/ // Execute the module function 42546/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); 42547/******/ 42548/******/ // Return the exports of the module 42549/******/ return module.exports; 42550/******/ } 42551/******/ 42552/************************************************************************/ 42553/******/ /* webpack/runtime/define property getters */ 42554/******/ !function() { 42555/******/ // define getter functions for harmony exports 42556/******/ __webpack_require__.d = function(exports, definition) { 42557/******/ for(var key in definition) { 42558/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { 42559/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); 42560/******/ } 42561/******/ } 42562/******/ }; 42563/******/ }(); 42564/******/ 42565/******/ /* webpack/runtime/global */ 42566/******/ !function() { 42567/******/ __webpack_require__.g = (function() { 42568/******/ if (typeof globalThis === 'object') return globalThis; 42569/******/ try { 42570/******/ return this || new Function('return this')(); 42571/******/ } catch (e) { 42572/******/ if (typeof window === 'object') return window; 42573/******/ } 42574/******/ })(); 42575/******/ }(); 42576/******/ 42577/******/ /* webpack/runtime/hasOwnProperty shorthand */ 42578/******/ !function() { 42579/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } 42580/******/ }(); 42581/******/ 42582/******/ /* webpack/runtime/make namespace object */ 42583/******/ !function() { 42584/******/ // define __esModule on exports 42585/******/ __webpack_require__.r = function(exports) { 42586/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 42587/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 42588/******/ } 42589/******/ Object.defineProperty(exports, '__esModule', { value: true }); 42590/******/ }; 42591/******/ }(); 42592/******/ 42593/************************************************************************/ 42594var __webpack_exports__ = {}; 42595// This entry need to be wrapped in an IIFE because it need to be in strict mode. 42596!function() { 42597"use strict"; 42598// ESM COMPAT FLAG 42599__webpack_require__.r(__webpack_exports__); 42600 42601// EXPORTS 42602__webpack_require__.d(__webpack_exports__, { 42603 "Dropzone": function() { return /* reexport */ Dropzone; }, 42604 "default": function() { return /* binding */ dropzone_dist; } 42605}); 42606 42607// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js 42608var es_array_concat = __webpack_require__(2222); 42609// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js 42610var es_array_filter = __webpack_require__(7327); 42611// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.index-of.js 42612var es_array_index_of = __webpack_require__(2772); 42613// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js 42614var es_array_iterator = __webpack_require__(6992); 42615// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js 42616var es_array_map = __webpack_require__(1249); 42617// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js 42618var es_array_slice = __webpack_require__(7042); 42619// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.splice.js 42620var es_array_splice = __webpack_require__(561); 42621// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array-buffer.constructor.js 42622var es_array_buffer_constructor = __webpack_require__(8264); 42623// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js 42624var es_function_name = __webpack_require__(8309); 42625// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-prototype-of.js 42626var es_object_get_prototype_of = __webpack_require__(489); 42627// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js 42628var es_object_to_string = __webpack_require__(1539); 42629// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js 42630var es_regexp_exec = __webpack_require__(4916); 42631// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js 42632var es_regexp_to_string = __webpack_require__(9714); 42633// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js 42634var es_string_iterator = __webpack_require__(8783); 42635// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.match.js 42636var es_string_match = __webpack_require__(4723); 42637// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace.js 42638var es_string_replace = __webpack_require__(5306); 42639// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js 42640var es_string_split = __webpack_require__(3123); 42641// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.trim.js 42642var es_string_trim = __webpack_require__(3210); 42643// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.uint8-array.js 42644var es_typed_array_uint8_array = __webpack_require__(2472); 42645// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.copy-within.js 42646var es_typed_array_copy_within = __webpack_require__(2990); 42647// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.every.js 42648var es_typed_array_every = __webpack_require__(8927); 42649// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.fill.js 42650var es_typed_array_fill = __webpack_require__(3105); 42651// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.filter.js 42652var es_typed_array_filter = __webpack_require__(5035); 42653// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.find.js 42654var es_typed_array_find = __webpack_require__(4345); 42655// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.find-index.js 42656var es_typed_array_find_index = __webpack_require__(7174); 42657// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.for-each.js 42658var es_typed_array_for_each = __webpack_require__(2846); 42659// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.includes.js 42660var es_typed_array_includes = __webpack_require__(4731); 42661// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.index-of.js 42662var es_typed_array_index_of = __webpack_require__(7209); 42663// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.iterator.js 42664var es_typed_array_iterator = __webpack_require__(6319); 42665// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.join.js 42666var es_typed_array_join = __webpack_require__(8867); 42667// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.last-index-of.js 42668var es_typed_array_last_index_of = __webpack_require__(7789); 42669// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.map.js 42670var es_typed_array_map = __webpack_require__(3739); 42671// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reduce.js 42672var es_typed_array_reduce = __webpack_require__(9368); 42673// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reduce-right.js 42674var es_typed_array_reduce_right = __webpack_require__(4483); 42675// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reverse.js 42676var es_typed_array_reverse = __webpack_require__(2056); 42677// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.set.js 42678var es_typed_array_set = __webpack_require__(3462); 42679// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.slice.js 42680var es_typed_array_slice = __webpack_require__(678); 42681// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.some.js 42682var es_typed_array_some = __webpack_require__(7462); 42683// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.sort.js 42684var es_typed_array_sort = __webpack_require__(3824); 42685// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.subarray.js 42686var es_typed_array_subarray = __webpack_require__(5021); 42687// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.to-locale-string.js 42688var es_typed_array_to_locale_string = __webpack_require__(2974); 42689// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.to-string.js 42690var es_typed_array_to_string = __webpack_require__(5016); 42691// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js 42692var web_dom_collections_for_each = __webpack_require__(4747); 42693// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js 42694var web_dom_collections_iterator = __webpack_require__(3948); 42695// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url.js 42696var web_url = __webpack_require__(285); 42697;// CONCATENATED MODULE: ./src/emitter.js 42698 42699 42700function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } 42701 42702function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } 42703 42704function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 42705 42706function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 42707 42708function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } 42709 42710function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } 42711 42712// The Emitter class provides the ability to call `.on()` on Dropzone to listen 42713// to events. 42714// It is strongly based on component's emitter class, and I removed the 42715// functionality because of the dependency hell with different frameworks. 42716var Emitter = /*#__PURE__*/function () { 42717 function Emitter() { 42718 _classCallCheck(this, Emitter); 42719 } 42720 42721 _createClass(Emitter, [{ 42722 key: "on", 42723 value: // Add an event listener for given event 42724 function on(event, fn) { 42725 this._callbacks = this._callbacks || {}; // Create namespace for this event 42726 42727 if (!this._callbacks[event]) { 42728 this._callbacks[event] = []; 42729 } 42730 42731 this._callbacks[event].push(fn); 42732 42733 return this; 42734 } 42735 }, { 42736 key: "emit", 42737 value: function emit(event) { 42738 this._callbacks = this._callbacks || {}; 42739 var callbacks = this._callbacks[event];
42740 42741 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 42742 args[_key - 1] = arguments[_key]; 42743 } 42744 42745 if (callbacks) { 42746 var _iterator = _createForOfIteratorHelper(callbacks, true), 42747 _step; 42748 42749 try { 42750 for (_iterator.s(); !(_step = _iterator.n()).done;) { 42751 var callback = _step.value; 42752 callback.apply(this, args); 42753 } 42754 } catch (err) { 42755 _iterator.e(err); 42756 } finally { 42757 _iterator.f(); 42758 } 42759 } // trigger a corresponding DOM event 42760 42761 42762 if (this.element) { 42763 this.element.dispatchEvent(this.makeEvent("dropzone:" + event, { 42764 args: args 42765 })); 42766 } 42767 42768 return this
vendor: 25,544 bytes, lines 42768-43453
42768; 42769 } 42770 }, { 42771 key: "makeEvent", 42772 value: function makeEvent(eventName, detail) { 42773 var params = { 42774 bubbles: true, 42775 cancelable: true, 42776 detail: detail 42777 }; 42778 42779 if (typeof window.CustomEvent === "function") { 42780 return new CustomEvent(eventName, params); 42781 } else { 42782 // IE 11 support 42783 // https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent 42784 var evt = document.createEvent("CustomEvent"); 42785 evt.initCustomEvent(eventName, params.bubbles, params.cancelable, params.detail); 42786 return evt; 42787 } 42788 } // Remove event listener for given event. If fn is not provided, all event 42789 // listeners for that event will be removed. If neither is provided, all 42790 // event listeners will be removed. 42791 42792 }, { 42793 key: "off", 42794 value: function off(event, fn) { 42795 if (!this._callbacks || arguments.length === 0) { 42796 this._callbacks = {}; 42797 return this; 42798 } // specific event 42799 42800 42801 var callbacks = this._callbacks[event]; 42802 42803 if (!callbacks) { 42804 return this; 42805 } // remove all handlers 42806 42807 42808 if (arguments.length === 1) { 42809 delete this._callbacks[event]; 42810 return this; 42811 } // remove specific handler 42812 42813 42814 for (var i = 0; i < callbacks.length; i++) { 42815 var callback = callbacks[i]; 42816 42817 if (callback === fn) { 42818 callbacks.splice(i, 1); 42819 break; 42820 } 42821 } 42822 42823 return this; 42824 } 42825 }]); 42826 42827 return Emitter; 42828}(); 42829 42830 42831;// CONCATENATED MODULE: ./src/preview-template.html 42832// Module 42833var code = "<div class=\"dz-preview dz-file-preview\"> <div class=\"dz-image\"><img data-dz-thumbnail/></div> <div class=\"dz-details\"> <div class=\"dz-size\"><span data-dz-size></span></div> <div class=\"dz-filename\"><span data-dz-name></span></div> </div> <div class=\"dz-progress\"> <span class=\"dz-upload\" data-dz-uploadprogress></span> </div> <div class=\"dz-error-message\"><span data-dz-errormessage></span></div> <div class=\"dz-success-mark\"> <svg width=\"54px\" height=\"54px\" viewBox=\"0 0 54 54\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"> <title>Check</title> <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"> <path d=\"M23.5,31.8431458 L17.5852419,25.9283877 C16.0248253,24.3679711 13.4910294,24.366835 11.9289322,25.9289322 C10.3700136,27.4878508 10.3665912,30.0234455 11.9283877,31.5852419 L20.4147581,40.0716123 C20.5133999,40.1702541 20.6159315,40.2626649 20.7218615,40.3488435 C22.2835669,41.8725651 24.794234,41.8626202 26.3461564,40.3106978 L43.3106978,23.3461564 C44.8771021,21.7797521 44.8758057,19.2483887 43.3137085,17.6862915 C41.7547899,16.1273729 39.2176035,16.1255422 37.6538436,17.6893022 L23.5,31.8431458 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z\" stroke-opacity=\"0.198794158\" stroke=\"#747474\" fill-opacity=\"0.816519475\" fill=\"#FFFFFF\"></path> </g> </svg> </div> <div class=\"dz-error-mark\"> <svg width=\"54px\" height=\"54px\" viewBox=\"0 0 54 54\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"> <title>Error</title> <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\"> <g stroke=\"#747474\" stroke-opacity=\"0.198794158\" fill=\"#FFFFFF\" fill-opacity=\"0.816519475\"> <path d=\"M32.6568542,29 L38.3106978,23.3461564 C39.8771021,21.7797521 39.8758057,19.2483887 38.3137085,17.6862915 C36.7547899,16.1273729 34.2176035,16.1255422 32.6538436,17.6893022 L27,23.3431458 L21.3461564,17.6893022 C19.7823965,16.1255422 17.2452101,16.1273729 15.6862915,17.6862915 C14.1241943,19.2483887 14.1228979,21.7797521 15.6893022,23.3461564 L21.3431458,29 L15.6893022,34.6538436 C14.1228979,36.2202479 14.1241943,38.7516113 15.6862915,40.3137085 C17.2452101,41.8726271 19.7823965,41.8744578 21.3461564,40.3106978 L27,34.6568542 L32.6538436,40.3106978 C34.2176035,41.8744578 36.7547899,41.8726271 38.3137085,40.3137085 C39.8758057,38.7516113 39.8771021,36.2202479 38.3106978,34.6538436 L32.6568542,29 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z\"></path> </g> </g> </svg> </div> </div> "; 42834// Exports 42835/* harmony default export */ var preview_template = (code); 42836;// CONCATENATED MODULE: ./src/options.js 42837 42838 42839 42840 42841 42842function options_createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = options_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } 42843 42844function options_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return options_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return options_arrayLikeToArray(o, minLen); } 42845 42846function options_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 42847 42848 42849 42850var defaultOptions = { 42851 /** 42852 * Has to be specified on elements other than form (or when the form 42853 * doesn't have an `action` attribute). You can also 42854 * provide a function that will be called with `files` and 42855 * must return the url (since `v3.12.0`) 42856 */ 42857 url: null, 42858 42859 /** 42860 * Can be changed to `"put"` if necessary. You can also provide a function 42861 * that will be called with `files` and must return the method (since `v3.12.0`). 42862 */ 42863 method: "post", 42864 42865 /** 42866 * Will be set on the XHRequest. 42867 */ 42868 withCredentials: false, 42869 42870 /** 42871 * The timeout for the XHR requests in milliseconds (since `v4.4.0`). 42872 * If set to null or 0, no timeout is going to be set. 42873 */ 42874 timeout: null, 42875 42876 /** 42877 * How many file uploads to process in parallel (See the 42878 * Enqueuing file uploads documentation section for more info) 42879 */ 42880 parallelUploads: 2, 42881 42882 /** 42883 * Whether to send multiple files in one request. If 42884 * this it set to true, then the fallback file input element will 42885 * have the `multiple` attribute as well. This option will 42886 * also trigger additional events (like `processingmultiple`). See the events 42887 * documentation section for more information. 42888 */ 42889 uploadMultiple: false, 42890 42891 /** 42892 * Whether you want files to be uploaded in chunks to your server. This can't be 42893 * used in combination with `uploadMultiple`. 42894 * 42895 * See [chunksUploaded](#config-chunksUploaded) for the callback to finalise an upload. 42896 */ 42897 chunking: false, 42898 42899 /** 42900 * If `chunking` is enabled, this defines whether **every** file should be chunked, 42901 * even if the file size is below chunkSize. This means, that the additional chunk 42902 * form data will be submitted and the `chunksUploaded` callback will be invoked. 42903 */ 42904 forceChunking: false, 42905 42906 /** 42907 * If `chunking` is `true`, then this defines the chunk size in bytes. 42908 */ 42909 chunkSize: 2000000, 42910 42911 /** 42912 * If `true`, the individual chunks of a file are being uploaded simultaneously. 42913 */ 42914 parallelChunkUploads: false, 42915 42916 /** 42917 * Whether a chunk should be retried if it fails. 42918 */ 42919 retryChunks: false, 42920 42921 /** 42922 * If `retryChunks` is true, how many times should it be retried. 42923 */ 42924 retryChunksLimit: 3, 42925 42926 /** 42927 * The maximum filesize (in bytes) that is allowed to be uploaded. 42928 */ 42929 maxFilesize: 256, 42930 42931 /** 42932 * The name of the file param that gets transferred. 42933 * **NOTE**: If you have the option `uploadMultiple` set to `true`, then 42934 * Dropzone will append `[]` to the name. 42935 */ 42936 paramName: "file", 42937 42938 /** 42939 * Whether thumbnails for images should be generated 42940 */ 42941 createImageThumbnails: true, 42942 42943 /** 42944 * In MB. When the filename exceeds this limit, the thumbnail will not be generated. 42945 */ 42946 maxThumbnailFilesize: 10, 42947 42948 /** 42949 * If `null`, the ratio of the image will be used to calculate it. 42950 */ 42951 thumbnailWidth: 120, 42952 42953 /** 42954 * The same as `thumbnailWidth`. If both are null, images will not be resized. 42955 */ 42956 thumbnailHeight: 120, 42957 42958 /** 42959 * How the images should be scaled down in case both, `thumbnailWidth` and `thumbnailHeight` are provided. 42960 * Can be either `contain` or `crop`. 42961 */ 42962 thumbnailMethod: "crop", 42963 42964 /** 42965 * If set, images will be resized to these dimensions before being **uploaded**. 42966 * If only one, `resizeWidth` **or** `resizeHeight` is provided, the original aspect 42967 * ratio of the file will be preserved. 42968 * 42969 * The `options.transformFile` function uses these options, so if the `transformFile` function 42970 * is overridden, these options don't do anything. 42971 */ 42972 resizeWidth: null, 42973 42974 /** 42975 * See `resizeWidth`. 42976 */ 42977 resizeHeight: null, 42978 42979 /** 42980 * The mime type of the resized image (before it gets uploaded to the server). 42981 * If `null` the original mime type will be used. To force jpeg, for example, use `image/jpeg`. 42982 * See `resizeWidth` for more information. 42983 */ 42984 resizeMimeType: null, 42985 42986 /** 42987 * The quality of the resized images. See `resizeWidth`. 42988 */ 42989 resizeQuality: 0.8, 42990 42991 /** 42992 * How the images should be scaled down in case both, `resizeWidth` and `resizeHeight` are provided. 42993 * Can be either `contain` or `crop`. 42994 */ 42995 resizeMethod: "contain", 42996 42997 /** 42998 * The base that is used to calculate the **displayed** filesize. You can 42999 * change this to 1024 if you would rather display kibibytes, mebibytes, 43000 * etc... 1024 is technically incorrect, because `1024 bytes` are `1 kibibyte` 43001 * not `1 kilobyte`. You can change this to `1024` if you don't care about 43002 * validity. 43003 */ 43004 filesizeBase: 1000, 43005 43006 /** 43007 * If not `null` defines how many files this Dropzone handles. If it exceeds, 43008 * the event `maxfilesexceeded` will be called. The dropzone element gets the 43009 * class `dz-max-files-reached` accordingly so you can provide visual 43010 * feedback. 43011 */ 43012 maxFiles: null, 43013 43014 /** 43015 * An optional object to send additional headers to the server. Eg: 43016 * `{ "My-Awesome-Header": "header value" }` 43017 */ 43018 headers: null, 43019 43020 /** 43021 * If `true`, the dropzone element itself will be clickable, if `false` 43022 * nothing will be clickable. 43023 * 43024 * You can also pass an HTML element, a CSS selector (for multiple elements) 43025 * or an array of those. In that case, all of those elements will trigger an 43026 * upload when clicked. 43027 */ 43028 clickable: true, 43029 43030 /** 43031 * Whether hidden files in directories should be ignored. 43032 */ 43033 ignoreHiddenFiles: true, 43034 43035 /** 43036 * The default implementation of `accept` checks the file's mime type or 43037 * extension against this list. This is a comma separated list of mime 43038 * types or file extensions. 43039 * 43040 * Eg.: `image/*,application/pdf,.psd` 43041 * 43042 * If the Dropzone is `clickable` this option will also be used as 43043 * [`accept`](https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept) 43044 * parameter on the hidden file input as well. 43045 */ 43046 acceptedFiles: null, 43047 43048 /** 43049 * **Deprecated!** 43050 * Use acceptedFiles instead. 43051 */ 43052 acceptedMimeTypes: null, 43053 43054 /** 43055 * If false, files will be added to the queue but the queue will not be 43056 * processed automatically. 43057 * This can be useful if you need some additional user input before sending 43058 * files (or if you want want all files sent at once). 43059 * If you're ready to send the file simply call `myDropzone.processQueue()`. 43060 * 43061 * See the [enqueuing file uploads](#enqueuing-file-uploads) documentation 43062 * section for more information. 43063 */ 43064 autoProcessQueue: true, 43065 43066 /** 43067 * If false, files added to the dropzone will not be queued by default. 43068 * You'll have to call `enqueueFile(file)` manually. 43069 */ 43070 autoQueue: true, 43071 43072 /** 43073 * If `true`, this will add a link to every file preview to remove or cancel (if 43074 * already uploading) the file. The `dictCancelUpload`, `dictCancelUploadConfirmation` 43075 * and `dictRemoveFile` options are used for the wording. 43076 */ 43077 addRemoveLinks: false, 43078 43079 /** 43080 * Defines where to display the file previews â if `null` the 43081 * Dropzone element itself is used. Can be a plain `HTMLElement` or a CSS 43082 * selector. The element should have the `dropzone-previews` class so 43083 * the previews are displayed properly. 43084 */ 43085 previewsContainer: null, 43086 43087 /** 43088 * Set this to `true` if you don't want previews to be shown. 43089 */ 43090 disablePreviews: false, 43091 43092 /** 43093 * This is the element the hidden input field (which is used when clicking on the 43094 * dropzone to trigger file selection) will be appended to. This might 43095 * be important in case you use frameworks to switch the content of your page. 43096 * 43097 * Can be a selector string, or an element directly. 43098 */ 43099 hiddenInputContainer: "body", 43100 43101 /** 43102 * If null, no capture type will be specified 43103 * If camera, mobile devices will skip the file selection and choose camera 43104 * If microphone, mobile devices will skip the file selection and choose the microphone 43105 * If camcorder, mobile devices will skip the file selection and choose the camera in video mode 43106 * On apple devices multiple must be set to false. AcceptedFiles may need to 43107 * be set to an appropriate mime type (e.g. "image/*", "audio/*", or "video/*"). 43108 */ 43109 capture: null, 43110 43111 /** 43112 * **Deprecated**. Use `renameFile` instead. 43113 */ 43114 renameFilename: null, 43115 43116 /** 43117 * A function that is invoked before the file is uploaded to the server and renames the file. 43118 * This function gets the `File` as argument and can use the `file.name`. The actual name of the 43119 * file that gets used during the upload can be accessed through `file.upload.filename`. 43120 */ 43121 renameFile: null, 43122 43123 /** 43124 * If `true` the fallback will be forced. This is very useful to test your server 43125 * implementations first and make sure that everything works as 43126 * expected without dropzone if you experience problems, and to test 43127 * how your fallbacks will look. 43128 */ 43129 forceFallback: false, 43130 43131 /** 43132 * The text used before any files are dropped. 43133 */ 43134 dictDefaultMessage: "Drop files here to upload", 43135 43136 /** 43137 * The text that replaces the default message text it the browser is not supported. 43138 */ 43139 dictFallbackMessage: "Your browser does not support drag'n'drop file uploads.", 43140 43141 /** 43142 * The text that will be added before the fallback form. 43143 * If you provide a fallback element yourself, or if this option is `null` this will 43144 * be ignored. 43145 */ 43146 dictFallbackText: "Please use the fallback form below to upload your files like in the olden days.", 43147 43148 /** 43149 * If the filesize is too big. 43150 * `{{filesize}}` and `{{maxFilesize}}` will be replaced with the respective configuration values. 43151 */ 43152 dictFileTooBig: "File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.", 43153 43154 /** 43155 * If the file doesn't match the file type. 43156 */ 43157 dictInvalidFileType: "You can't upload files of this type.", 43158 43159 /** 43160 * If the server response was invalid. 43161 * `{{statusCode}}` will be replaced with the servers status code. 43162 */ 43163 dictResponseError: "Server responded with {{statusCode}} code.", 43164 43165 /** 43166 * If `addRemoveLinks` is true, the text to be used for the cancel upload link. 43167 */ 43168 dictCancelUpload: "Cancel upload", 43169 43170 /** 43171 * The text that is displayed if an upload was manually canceled 43172 */ 43173 dictUploadCanceled: "Upload canceled.", 43174 43175 /** 43176 * If `addRemoveLinks` is true, the text to be used for confirmation when cancelling upload. 43177 */ 43178 dictCancelUploadConfirmation: "Are you sure you want to cancel this upload?", 43179 43180 /** 43181 * If `addRemoveLinks` is true, the text to be used to remove a file. 43182 */ 43183 dictRemoveFile: "Remove file", 43184 43185 /** 43186 * If this is not null, then the user will be prompted before removing a file. 43187 */ 43188 dictRemoveFileConfirmation: null, 43189 43190 /** 43191 * Displayed if `maxFiles` is st and exceeded. 43192 * The string `{{maxFiles}}` will be replaced by the configuration value. 43193 */ 43194 dictMaxFilesExceeded: "You can not upload any more files.", 43195 43196 /** 43197 * Allows you to translate the different units. Starting with `tb` for terabytes and going down to 43198 * `b` for bytes. 43199 */ 43200 dictFileSizeUnits: { 43201 tb: "TB", 43202 gb: "GB", 43203 mb: "MB", 43204 kb: "KB", 43205 b: "b" 43206 }, 43207 43208 /** 43209 * Called when dropzone initialized 43210 * You can add event listeners here 43211 */ 43212 init: function init() {}, 43213 43214 /** 43215 * Can be an **object** of additional parameters to transfer to the server, **or** a `Function` 43216 * that gets invoked with the `files`, `xhr` and, if it's a chunked upload, `chunk` arguments. In case 43217 * of a function, this needs to return a map. 43218 * 43219 * The default implementation does nothing for normal uploads, but adds relevant information for 43220 * chunked uploads. 43221 * 43222 * This is the same as adding hidden input fields in the form element. 43223 */ 43224 params: function params(files, xhr, chunk) { 43225 if (chunk) { 43226 return { 43227 dzuuid: chunk.file.upload.uuid, 43228 dzchunkindex: chunk.index, 43229 dztotalfilesize: chunk.file.size, 43230 dzchunksize: this.options.chunkSize, 43231 dztotalchunkcount: chunk.file.upload.totalChunkCount, 43232 dzchunkbyteoffset: chunk.index * this.options.chunkSize 43233 }; 43234 } 43235 }, 43236 43237 /** 43238 * A function that gets a [file](https://developer.mozilla.org/en-US/docs/DOM/File) 43239 * and a `done` function as parameters. 43240 * 43241 * If the done function is invoked without arguments, the file is "accepted" and will 43242 * be processed. If you pass an error message, the file is rejected, and the error 43243 * message will be displayed. 43244 * This function will not be called if the file is too big or doesn't match the mime types. 43245 */ 43246 accept: function accept(file, done) { 43247 return done(); 43248 }, 43249 43250 /** 43251 * The callback that will be invoked when all chunks have been uploaded for a file. 43252 * It gets the file for which the chunks have been uploaded as the first parameter, 43253 * and the `done` function as second. `done()` needs to be invoked when everything 43254 * needed to finish the upload process is done. 43255 */ 43256 chunksUploaded: function chunksUploaded(file, done) { 43257 done(); 43258 }, 43259 43260 /** 43261 * Gets called when the browser is not supported. 43262 * The default implementation shows the fallback input field and adds 43263 * a text. 43264 */ 43265 fallback: function fallback() { 43266 // This code should pass in IE7... :( 43267 var messageElement; 43268 this.element.className = "".concat(this.element.className, " dz-browser-not-supported"); 43269 43270 var _iterator = options_createForOfIteratorHelper(this.element.getElementsByTagName("div"), true), 43271 _step; 43272 43273 try { 43274 for (_iterator.s(); !(_step = _iterator.n()).done;) { 43275 var child = _step.value; 43276 43277 if (/(^| )dz-message($| )/.test(child.className)) { 43278 messageElement = child; 43279 child.className = "dz-message"; // Removes the 'dz-default' class 43280 43281 break; 43282 } 43283 } 43284 } catch (err) { 43285 _iterator.e(err); 43286 } finally { 43287 _iterator.f(); 43288 } 43289 43290 if (!messageElement) { 43291 messageElement = Dropzone.createElement('<div class="dz-message"><span></span></div>'); 43292 this.element.appendChild(messageElement); 43293 } 43294 43295 var span = messageElement.getElementsByTagName("span")[0]; 43296 43297 if (span) { 43298 if (span.textContent != null) { 43299 span.textContent = this.options.dictFallbackMessage; 43300 } else if (span.innerText != null) { 43301 span.innerText = this.options.dictFallbackMessage; 43302 } 43303 } 43304 43305 return this.element.appendChild(this.getFallbackForm()); 43306 }, 43307 43308 /** 43309 * Gets called to calculate the thumbnail dimensions. 43310 * 43311 * It gets `file`, `width` and `height` (both may be `null`) as parameters and must return an object containing: 43312 * 43313 * - `srcWidth` & `srcHeight` (required) 43314 * - `trgWidth` & `trgHeight` (required) 43315 * - `srcX` & `srcY` (optional, default `0`) 43316 * - `trgX` & `trgY` (optional, default `0`) 43317 * 43318 * Those values are going to be used by `ctx.drawImage()`. 43319 */ 43320 resize: function resize(file, width, height, resizeMethod) { 43321 var info = { 43322 srcX: 0, 43323 srcY: 0, 43324 srcWidth: file.width, 43325 srcHeight: file.height 43326 }; 43327 var srcRatio = file.width / file.height; // Automatically calculate dimensions if not specified 43328 43329 if (width == null && height == null) { 43330 width = info.srcWidth; 43331 height = info.srcHeight; 43332 } else if (width == null) { 43333 width = height * srcRatio; 43334 } else if (height == null) { 43335 height = width / srcRatio; 43336 } // Make sure images aren't upscaled 43337 43338 43339 width = Math.min(width, info.srcWidth); 43340 height = Math.min(height, info.srcHeight); 43341 var trgRatio = width / height; 43342 43343 if (info.srcWidth > width || info.srcHeight > height) { 43344 // Image is bigger and needs rescaling 43345 if (resizeMethod === "crop") { 43346 if (srcRatio > trgRatio) { 43347 info.srcHeight = file.height; 43348 info.srcWidth = info.srcHeight * trgRatio; 43349 } else { 43350 info.srcWidth = file.width; 43351 info.srcHeight = info.srcWidth / trgRatio; 43352 } 43353 } else if (resizeMethod === "contain") { 43354 // Method 'contain' 43355 if (srcRatio > trgRatio) { 43356 height = width / srcRatio; 43357 } else { 43358 width = height * srcRatio; 43359 } 43360 } else { 43361 throw new Error("Unknown resizeMethod '".concat(resizeMethod, "'")); 43362 } 43363 } 43364 43365 info.srcX = (file.width - info.srcWidth) / 2; 43366 info.srcY = (file.height - info.srcHeight) / 2; 43367 info.trgWidth = width; 43368 info.trgHeight = height; 43369 return info; 43370 }, 43371 43372 /** 43373 * Can be used to transform the file (for example, resize an image if necessary). 43374 * 43375 * The default implementation uses `resizeWidth` and `resizeHeight` (if provided) and resizes 43376 * images according to those dimensions. 43377 * 43378 * Gets the `file` as the first parameter, and a `done()` function as the second, that needs 43379 * to be invoked with the file when the transformation is done. 43380 */ 43381 transformFile: function transformFile(file, done) { 43382 if ((this.options.resizeWidth || this.options.resizeHeight) && file.type.match(/image.*/)) { 43383 return this.resizeImage(file, this.options.resizeWidth, this.options.resizeHeight, this.options.resizeMethod, done); 43384 } else { 43385 return done(file); 43386 } 43387 }, 43388 43389 /** 43390 * A string that contains the template used for each dropped 43391 * file. Change it to fulfill your needs but make sure to properly 43392 * provide all elements. 43393 * 43394 * If you want to use an actual HTML element instead of providing a String 43395 * as a config option, you could create a div with the id `tpl`, 43396 * put the template inside it and provide the element like this: 43397 * 43398 * document 43399 * .querySelector('#tpl') 43400 * .innerHTML 43401 * 43402 */ 43403 previewTemplate: preview_template, 43404 43405 /* 43406 Those functions register themselves to the events on init and handle all 43407 the user interface specific stuff. Overwriting them won't break the upload 43408 but can break the way it's displayed. 43409 You can overwrite them if you don't like the default behavior. If you just 43410 want to add an additional event handler, register it on the dropzone object 43411 and don't overwrite those options. 43412 */ 43413 // Those are self explanatory and simply concern the DragnDrop. 43414 drop: function drop(e) { 43415 return this.element.classList.remove("dz-drag-hover"); 43416 }, 43417 dragstart: function dragstart(e) {}, 43418 dragend: function dragend(e) { 43419 return this.element.classList.remove("dz-drag-hover"); 43420 }, 43421 dragenter: function dragenter(e) { 43422 return this.element.classList.add("dz-drag-hover"); 43423 }, 43424 dragover: function dragover(e) { 43425 return this.element.classList.add("dz-drag-hover"); 43426 }, 43427 dragleave: function dragleave(e) { 43428 return this.element.classList.remove("dz-drag-hover"); 43429 }, 43430 paste: function paste(e) {}, 43431 // Called whenever there are no files left in the dropzone anymore, and the 43432 // dropzone should be displayed as if in the initial state. 43433 reset: function reset() { 43434 return this.element.classList.remove("dz-started"); 43435 }, 43436 // Called when a file is added to the queue 43437 // Receives `file` 43438 addedfile: function addedfile(file) { 43439 var _this = this; 43440 43441 if (this.element === this.previewsContainer) { 43442 this.element.classList.add("dz-started"); 43443 } 43444 43445 if (this.previewsContainer && !this.options.disablePreviews) { 43446 file.previewElement = Dropzone.createElement(this.options.previewTemplate.trim()); 43447 file.previewTemplate = file.previewElement; // Backwards compatibility 43448 43449 this.previewsContainer.appendChild(file.previewElement); 43450 43451 var _iterator2 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll("[data-dz-name]"), true), 43452 _step2; 43453
vendor: 5,964 bytes, lines 43454-43628
43454 try { 43455 for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { 43456 var node = _step2.value; 43457 node.textContent = file.name; 43458 } 43459 } catch (err) { 43460 _iterator2.e(err); 43461 } finally { 43462 _iterator2.f(); 43463 } 43464 43465 var _iterator3 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll("[data-dz-size]"), true), 43466 _step3; 43467 43468 try { 43469 for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { 43470 node = _step3.value; 43471 node.innerHTML = this.filesize(file.size); 43472 } 43473 } catch (err) { 43474 _iterator3.e(err); 43475 } finally { 43476 _iterator3.f(); 43477 } 43478 43479 if (this.options.addRemoveLinks) { 43480 file._removeLink = Dropzone.createElement("<a class=\"dz-remove\" href=\"javascript:undefined;\" data-dz-remove>".concat(this.options.dictRemoveFile, "</a>")); 43481 file.previewElement.appendChild(file._removeLink); 43482 } 43483 43484 var removeFileEvent = function removeFileEvent(e) { 43485 e.preventDefault(); 43486 e.stopPropagation(); 43487 43488 if (file.status === Dropzone.UPLOADING) { 43489 return Dropzone.confirm(_this.options.dictCancelUploadConfirmation, function () { 43490 return _this.removeFile(file); 43491 }); 43492 } else { 43493 if (_this.options.dictRemoveFileConfirmation) { 43494 return Dropzone.confirm(_this.options.dictRemoveFileConfirmation, function () { 43495 return _this.removeFile(file); 43496 }); 43497 } else { 43498 return _this.removeFile(file); 43499 } 43500 } 43501 }; 43502 43503 var _iterator4 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll("[data-dz-remove]"), true), 43504 _step4; 43505 43506 try { 43507 for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { 43508 var removeLink = _step4.value; 43509 removeLink.addEventListener("click", removeFileEvent); 43510 } 43511 } catch (err) { 43512 _iterator4.e(err); 43513 } finally { 43514 _iterator4.f(); 43515 } 43516 } 43517 }, 43518 // Called whenever a file is removed. 43519 removedfile: function removedfile(file) { 43520 if (file.previewElement != null && file.previewElement.parentNode != null) { 43521 file.previewElement.parentNode.removeChild(file.previewElement); 43522 } 43523 43524 return this._updateMaxFilesReachedClass(); 43525 }, 43526 // Called when a thumbnail has been generated 43527 // Receives `file` and `dataUrl` 43528 thumbnail: function thumbnail(file, dataUrl) { 43529 if (file.previewElement) { 43530 file.previewElement.classList.remove("dz-file-preview"); 43531 43532 var _iterator5 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll("[data-dz-thumbnail]"), true), 43533 _step5; 43534 43535 try { 43536 for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { 43537 var thumbnailElement = _step5.value; 43538 thumbnailElement.alt = file.name; 43539 thumbnailElement.src = dataUrl; 43540 } 43541 } catch (err) { 43542 _iterator5.e(err); 43543 } finally { 43544 _iterator5.f(); 43545 } 43546 43547 return setTimeout(function () { 43548 return file.previewElement.classList.add("dz-image-preview"); 43549 }, 1); 43550 } 43551 }, 43552 // Called whenever an error occurs 43553 // Receives `file` and `message` 43554 error: function error(file, message) { 43555 if (file.previewElement) { 43556 file.previewElement.classList.add("dz-error"); 43557 43558 if (typeof message !== "string" && message.error) { 43559 message = message.error; 43560 } 43561 43562 var _iterator6 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll("[data-dz-errormessage]"), true), 43563 _step6; 43564 43565 try { 43566 for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { 43567 var node = _step6.value; 43568 node.textContent = message; 43569 } 43570 } catch (err) { 43571 _iterator6.e(err); 43572 } finally { 43573 _iterator6.f(); 43574 } 43575 } 43576 }, 43577 errormultiple: function errormultiple() {}, 43578 // Called when a file gets processed. Since there is a cue, not all added 43579 // files are processed immediately. 43580 // Receives `file` 43581 processing: function processing(file) { 43582 if (file.previewElement) { 43583 file.previewElement.classList.add("dz-processing"); 43584 43585 if (file._removeLink) { 43586 return file._removeLink.innerHTML = this.options.dictCancelUpload; 43587 } 43588 } 43589 }, 43590 processingmultiple: function processingmultiple() {}, 43591 // Called whenever the upload progress gets updated. 43592 // Receives `file`, `progress` (percentage 0-100) and `bytesSent`. 43593 // To get the total number of bytes of the file, use `file.size` 43594 uploadprogress: function uploadprogress(file, progress, bytesSent) { 43595 if (file.previewElement) { 43596 var _iterator7 = options_createForOfIteratorHelper(file.previewElement.querySelectorAll("[data-dz-uploadprogress]"), true), 43597 _step7; 43598 43599 try { 43600 for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { 43601 var node = _step7.value; 43602 node.nodeName === "PROGRESS" ? node.value = progress : node.style.width = "".concat(progress, "%"); 43603 } 43604 } catch (err) { 43605 _iterator7.e(err); 43606 } finally { 43607 _iterator7.f(); 43608 } 43609 } 43610 }, 43611 // Called whenever the total upload progress gets updated. 43612 // Called with totalUploadProgress (0-100), totalBytes and totalBytesSent 43613 totaluploadprogress: function totaluploadprogress() {}, 43614 // Called just before the file is sent. Gets the `xhr` object as second 43615 // parameter, so you can modify it (for example to add a CSRF token) and a 43616 // `formData` object to add additional information. 43617 sending: function sending() {}, 43618 sendingmultiple: function sendingmultiple() {}, 43619 // When the complete upload is finished and successful 43620 // Receives `file` 43621 success: function success(file) { 43622 if (file.previewElement) { 43623 return file.previewElement.classList.add("dz-success"); 43624 } 43625 }, 43626 successmultiple: function successmultiple() {}, 43627 // When the upload is canceled. 43628 canceled: function canceled(file) {
vendor: 9,519 bytes, lines 43629-43842
43629 return this.emit("error", file, this.options.dictUploadCanceled); 43630 }, 43631 canceledmultiple: function canceledmultiple() {}, 43632 // When the upload is finished, either with success or an error. 43633 // Receives `file` 43634 complete: function complete(file) { 43635 if (file._removeLink) { 43636 file._removeLink.innerHTML = this.options.dictRemoveFile; 43637 } 43638 43639 if (file.previewElement) { 43640 return file.previewElement.classList.add("dz-complete"); 43641 } 43642 }, 43643 completemultiple: function completemultiple() {}, 43644 maxfilesexceeded: function maxfilesexceeded() {}, 43645 maxfilesreached: function maxfilesreached() {}, 43646 queuecomplete: function queuecomplete() {}, 43647 addedfiles: function addedfiles() {} 43648}; 43649/* harmony default export */ var src_options = (defaultOptions); 43650;// CONCATENATED MODULE: ./src/dropzone.js 43651function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } 43652 43653 43654 43655 43656 43657 43658 43659 43660 43661 43662 43663 43664 43665 43666 43667 43668 43669 43670 43671 43672 43673 43674 43675 43676 43677 43678 43679 43680 43681 43682 43683 43684 43685 43686 43687 43688 43689 43690 43691 43692 43693 43694 43695 43696 43697 43698 43699function dropzone_createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = dropzone_unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } 43700 43701function dropzone_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return dropzone_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return dropzone_arrayLikeToArray(o, minLen); } 43702 43703function dropzone_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } 43704 43705function dropzone_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } 43706 43707function dropzone_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } 43708 43709function dropzone_createClass(Constructor, protoProps, staticProps) { if (protoProps) dropzone_defineProperties(Constructor.prototype, protoProps); if (staticProps) dropzone_defineProperties(Constructor, staticProps); return Constructor; } 43710 43711function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } 43712 43713function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } 43714 43715function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } 43716 43717function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } 43718 43719function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } 43720 43721function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } 43722 43723function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } 43724 43725 43726 43727 43728var Dropzone = /*#__PURE__*/function (_Emitter) { 43729 _inherits(Dropzone, _Emitter); 43730 43731 var _super = _createSuper(Dropzone); 43732 43733 function Dropzone(el, options) { 43734 var _this; 43735 43736 dropzone_classCallCheck(this, Dropzone); 43737 43738 _this = _super.call(this); 43739 var fallback, left; 43740 _this.element = el; // For backwards compatibility since the version was in the prototype previously 43741 43742 _this.version = Dropzone.version; 43743 _this.clickableElements = []; 43744 _this.listeners = []; 43745 _this.files = []; // All files 43746 43747 if (typeof _this.element === "string") { 43748 _this.element = document.querySelector(_this.element); 43749 } // Not checking if instance of HTMLElement or Element since IE9 is extremely weird. 43750 43751 43752 if (!_this.element || _this.element.nodeType == null) { 43753 throw new Error("Invalid dropzone element."); 43754 } 43755 43756 if (_this.element.dropzone) { 43757 throw new Error("Dropzone already attached."); 43758 } // Now add this dropzone to the instances. 43759 43760 43761 Dropzone.instances.push(_assertThisInitialized(_this)); // Put the dropzone inside the element itself. 43762 43763 _this.element.dropzone = _assertThisInitialized(_this); 43764 var elementOptions = (left = Dropzone.optionsForElement(_this.element)) != null ? left : {}; 43765 _this.options = Dropzone.extend({}, src_options, elementOptions, options != null ? options : {}); 43766 _this.options.previewTemplate = _this.options.previewTemplate.replace(/\n*/g, ""); // If the browser failed, just call the fallback and leave 43767 43768 if (_this.options.forceFallback || !Dropzone.isBrowserSupported()) { 43769 return _possibleConstructorReturn(_this, _this.options.fallback.call(_assertThisInitialized(_this))); 43770 } // @options.url = @element.getAttribute "action" unless @options.url? 43771 43772 43773 if (_this.options.url == null) { 43774 _this.options.url = _this.element.getAttribute("action"); 43775 } 43776 43777 if (!_this.options.url) { 43778 throw new Error("No URL provided."); 43779 } 43780 43781 if (_this.options.acceptedFiles && _this.options.acceptedMimeTypes) { 43782 throw new Error("You can't provide both 'acceptedFiles' and 'acceptedMimeTypes'. 'acceptedMimeTypes' is deprecated."); 43783 } 43784 43785 if (_this.options.uploadMultiple && _this.options.chunking) { 43786 throw new Error("You cannot set both: uploadMultiple and chunking."); 43787 } // Backwards compatibility 43788 43789 43790 if (_this.options.acceptedMimeTypes) { 43791 _this.options.acceptedFiles = _this.options.acceptedMimeTypes; 43792 delete _this.options.acceptedMimeTypes; 43793 } // Backwards compatibility 43794 43795 43796 if (_this.options.renameFilename != null) { 43797 _this.options.renameFile = function (file) { 43798 return _this.options.renameFilename.call(_assertThisInitialized(_this), file.name, file); 43799 }; 43800 } 43801 43802 if (typeof _this.options.method === "string") { 43803 _this.options.method = _this.options.method.toUpperCase(); 43804 } 43805 43806 if ((fallback = _this.getExistingFallback()) && fallback.parentNode) { 43807 // Remove the fallback 43808 fallback.parentNode.removeChild(fallback); 43809 } // Display previews in the previewsContainer element or the Dropzone element unless explicitly set to false 43810 43811 43812 if (_this.options.previewsContainer !== false) { 43813 if (_this.options.previewsContainer) { 43814 _this.previewsContainer = Dropzone.getElement(_this.options.previewsContainer, "previewsContainer"); 43815 } else { 43816 _this.previewsContainer = _this.element; 43817 } 43818 } 43819 43820 if (_this.options.clickable) { 43821 if (_this.options.clickable === true) { 43822 _this.clickableElements = [_this.element]; 43823 } else { 43824 _this.clickableElements = Dropzone.getElements(_this.options.clickable, "clickable"); 43825 } 43826 } 43827 43828 _this.init(); 43829 43830 return _this; 43831 } // Returns all files that have been accepted 43832 43833 43834 dropzone_createClass(Dropzone, [{ 43835 key: "getAcceptedFiles", 43836 value: function getAcceptedFiles() { 43837 return this.files.filter(function (file) { 43838 return file.accepted; 43839 }).map(function (file) { 43840 return file; 43841 }); 43842 } // Returns all files that have been rejected
vendor: 27,944 bytes, lines 43843-44689
43843 // Not sure when that's going to be useful, but added for completeness. 43844 43845 }, { 43846 key: "getRejectedFiles", 43847 value: function getRejectedFiles() { 43848 return this.files.filter(function (file) { 43849 return !file.accepted; 43850 }).map(function (file) { 43851 return file; 43852 }); 43853 } 43854 }, { 43855 key: "getFilesWithStatus", 43856 value: function getFilesWithStatus(status) { 43857 return this.files.filter(function (file) { 43858 return file.status === status; 43859 }).map(function (file) { 43860 return file; 43861 }); 43862 } // Returns all files that are in the queue 43863 43864 }, { 43865 key: "getQueuedFiles", 43866 value: function getQueuedFiles() { 43867 return this.getFilesWithStatus(Dropzone.QUEUED); 43868 } 43869 }, { 43870 key: "getUploadingFiles", 43871 value: function getUploadingFiles() { 43872 return this.getFilesWithStatus(Dropzone.UPLOADING); 43873 } 43874 }, { 43875 key: "getAddedFiles", 43876 value: function getAddedFiles() { 43877 return this.getFilesWithStatus(Dropzone.ADDED); 43878 } // Files that are either queued or uploading 43879 43880 }, { 43881 key: "getActiveFiles", 43882 value: function getActiveFiles() { 43883 return this.files.filter(function (file) { 43884 return file.status === Dropzone.UPLOADING || file.status === Dropzone.QUEUED; 43885 }).map(function (file) { 43886 return file; 43887 }); 43888 } // The function that gets called when Dropzone is initialized. You 43889 // can (and should) setup event listeners inside this function. 43890 43891 }, { 43892 key: "init", 43893 value: function init() { 43894 var _this2 = this; 43895 43896 // In case it isn't set already 43897 if (this.element.tagName === "form") { 43898 this.element.setAttribute("enctype", "multipart/form-data"); 43899 } 43900 43901 if (this.element.classList.contains("dropzone") && !this.element.querySelector(".dz-message")) { 43902 this.element.appendChild(Dropzone.createElement("<div class=\"dz-default dz-message\"><button class=\"dz-button\" type=\"button\">".concat(this.options.dictDefaultMessage, "</button></div>"))); 43903 } 43904 43905 if (this.clickableElements.length) { 43906 var setupHiddenFileInput = function setupHiddenFileInput() { 43907 if (_this2.hiddenFileInput) { 43908 _this2.hiddenFileInput.parentNode.removeChild(_this2.hiddenFileInput); 43909 } 43910 43911 _this2.hiddenFileInput = document.createElement("input"); 43912 43913 _this2.hiddenFileInput.setAttribute("type", "file"); 43914 43915 if (_this2.options.maxFiles === null || _this2.options.maxFiles > 1) { 43916 _this2.hiddenFileInput.setAttribute("multiple", "multiple"); 43917 } 43918 43919 _this2.hiddenFileInput.className = "dz-hidden-input"; 43920 43921 if (_this2.options.acceptedFiles !== null) { 43922 _this2.hiddenFileInput.setAttribute("accept", _this2.options.acceptedFiles); 43923 } 43924 43925 if (_this2.options.capture !== null) { 43926 _this2.hiddenFileInput.setAttribute("capture", _this2.options.capture); 43927 } // Making sure that no one can "tab" into this field. 43928 43929 43930 _this2.hiddenFileInput.setAttribute("tabindex", "-1"); // Not setting `display="none"` because some browsers don't accept clicks 43931 // on elements that aren't displayed. 43932 43933 43934 _this2.hiddenFileInput.style.visibility = "hidden"; 43935 _this2.hiddenFileInput.style.position = "absolute"; 43936 _this2.hiddenFileInput.style.top = "0"; 43937 _this2.hiddenFileInput.style.left = "0"; 43938 _this2.hiddenFileInput.style.height = "0"; 43939 _this2.hiddenFileInput.style.width = "0"; 43940 Dropzone.getElement(_this2.options.hiddenInputContainer, "hiddenInputContainer").appendChild(_this2.hiddenFileInput); 43941 43942 _this2.hiddenFileInput.addEventListener("change", function () { 43943 var files = _this2.hiddenFileInput.files; 43944 43945 if (files.length) { 43946 var _iterator = dropzone_createForOfIteratorHelper(files, true), 43947 _step; 43948 43949 try { 43950 for (_iterator.s(); !(_step = _iterator.n()).done;) { 43951 var file = _step.value; 43952 43953 _this2.addFile(file); 43954 } 43955 } catch (err) { 43956 _iterator.e(err); 43957 } finally { 43958 _iterator.f(); 43959 } 43960 } 43961 43962 _this2.emit("addedfiles", files); 43963 43964 setupHiddenFileInput(); 43965 }); 43966 }; 43967 43968 setupHiddenFileInput(); 43969 } 43970 43971 this.URL = window.URL !== null ? window.URL : window.webkitURL; // Setup all event listeners on the Dropzone object itself. 43972 // They're not in @setupEventListeners() because they shouldn't be removed 43973 // again when the dropzone gets disabled. 43974 43975 var _iterator2 = dropzone_createForOfIteratorHelper(this.events, true), 43976 _step2; 43977 43978 try { 43979 for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) { 43980 var eventName = _step2.value; 43981 this.on(eventName, this.options[eventName]); 43982 } 43983 } catch (err) { 43984 _iterator2.e(err); 43985 } finally { 43986 _iterator2.f(); 43987 } 43988 43989 this.on("uploadprogress", function () { 43990 return _this2.updateTotalUploadProgress(); 43991 }); 43992 this.on("removedfile", function () { 43993 return _this2.updateTotalUploadProgress(); 43994 }); 43995 this.on("canceled", function (file) { 43996 return _this2.emit("complete", file); 43997 }); // Emit a `queuecomplete` event if all files finished uploading. 43998 43999 this.on("complete", function (file) { 44000 if (_this2.getAddedFiles().length === 0 && _this2.getUploadingFiles().length === 0 && _this2.getQueuedFiles().length === 0) { 44001 // This needs to be deferred so that `queuecomplete` really triggers after `complete` 44002 return setTimeout(function () { 44003 return _this2.emit("queuecomplete"); 44004 }, 0); 44005 } 44006 }); 44007 44008 var containsFiles = function containsFiles(e) { 44009 if (e.dataTransfer.types) { 44010 // Because e.dataTransfer.types is an Object in 44011 // IE, we need to iterate like this instead of 44012 // using e.dataTransfer.types.some() 44013 for (var i = 0; i < e.dataTransfer.types.length; i++) { 44014 if (e.dataTransfer.types[i] === "Files") return true; 44015 } 44016 } 44017 44018 return false; 44019 }; 44020 44021 var noPropagation = function noPropagation(e) { 44022 // If there are no files, we don't want to stop 44023 // propagation so we don't interfere with other 44024 // drag and drop behaviour. 44025 if (!containsFiles(e)) return; 44026 e.stopPropagation(); 44027 44028 if (e.preventDefault) { 44029 return e.preventDefault(); 44030 } else { 44031 return e.returnValue = false; 44032 } 44033 }; // Create the listeners 44034 44035 44036 this.listeners = [{ 44037 element: this.element, 44038 events: { 44039 dragstart: function dragstart(e) { 44040 return _this2.emit("dragstart", e); 44041 }, 44042 dragenter: function dragenter(e) { 44043 noPropagation(e); 44044 return _this2.emit("dragenter", e); 44045 }, 44046 dragover: function dragover(e) { 44047 // Makes it possible to drag files from chrome's download bar 44048 // http://stackoverflow.com/questions/19526430/drag-and-drop-file-uploads-from-chrome-downloads-bar 44049 // Try is required to prevent bug in Internet Explorer 11 (SCRIPT65535 exception) 44050 var efct; 44051 44052 try { 44053 efct = e.dataTransfer.effectAllowed; 44054 } catch (error) {} 44055 44056 e.dataTransfer.dropEffect = "move" === efct || "linkMove" === efct ? "move" : "copy"; 44057 noPropagation(e); 44058 return _this2.emit("dragover", e); 44059 }, 44060 dragleave: function dragleave(e) { 44061 return _this2.emit("dragleave", e); 44062 }, 44063 drop: function drop(e) { 44064 noPropagation(e); 44065 return _this2.drop(e); 44066 }, 44067 dragend: function dragend(e) { 44068 return _this2.emit("dragend", e); 44069 } 44070 } // This is disabled right now, because the browsers don't implement it properly. 44071 // "paste": (e) => 44072 // noPropagation e 44073 // @paste e 44074 44075 }]; 44076 this.clickableElements.forEach(function (clickableElement) { 44077 return _this2.listeners.push({ 44078 element: clickableElement, 44079 events: { 44080 click: function click(evt) { 44081 // Only the actual dropzone or the message element should trigger file selection 44082 if (clickableElement !== _this2.element || evt.target === _this2.element || Dropzone.elementInside(evt.target, _this2.element.querySelector(".dz-message"))) { 44083 _this2.hiddenFileInput.click(); // Forward the click 44084 44085 } 44086 44087 return true; 44088 } 44089 } 44090 }); 44091 }); 44092 this.enable(); 44093 return this.options.init.call(this); 44094 } // Not fully tested yet 44095 44096 }, { 44097 key: "destroy", 44098 value: function destroy() { 44099 this.disable(); 44100 this.removeAllFiles(true); 44101 44102 if (this.hiddenFileInput != null ? this.hiddenFileInput.parentNode : undefined) { 44103 this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput); 44104 this.hiddenFileInput = null; 44105 } 44106 44107 delete this.element.dropzone; 44108 return Dropzone.instances.splice(Dropzone.instances.indexOf(this), 1); 44109 } 44110 }, { 44111 key: "updateTotalUploadProgress", 44112 value: function updateTotalUploadProgress() { 44113 var totalUploadProgress; 44114 var totalBytesSent = 0; 44115 var totalBytes = 0; 44116 var activeFiles = this.getActiveFiles(); 44117 44118 if (activeFiles.length) { 44119 var _iterator3 = dropzone_createForOfIteratorHelper(this.getActiveFiles(), true), 44120 _step3; 44121 44122 try { 44123 for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) { 44124 var file = _step3.value; 44125 totalBytesSent += file.upload.bytesSent; 44126 totalBytes += file.upload.total; 44127 } 44128 } catch (err) { 44129 _iterator3.e(err); 44130 } finally { 44131 _iterator3.f(); 44132 } 44133 44134 totalUploadProgress = 100 * totalBytesSent / totalBytes; 44135 } else { 44136 totalUploadProgress = 100; 44137 } 44138 44139 return this.emit("totaluploadprogress", totalUploadProgress, totalBytes, totalBytesSent); 44140 } // @options.paramName can be a function taking one parameter rather than a string. 44141 // A parameter name for a file is obtained simply by calling this with an index number. 44142 44143 }, { 44144 key: "_getParamName", 44145 value: function _getParamName(n) { 44146 if (typeof this.options.paramName === "function") { 44147 return this.options.paramName(n); 44148 } else { 44149 return "".concat(this.options.paramName).concat(this.options.uploadMultiple ? "[".concat(n, "]") : ""); 44150 } 44151 } // If @options.renameFile is a function, 44152 // the function will be used to rename the file.name before appending it to the formData 44153 44154 }, { 44155 key: "_renameFile", 44156 value: function _renameFile(file) { 44157 if (typeof this.options.renameFile !== "function") { 44158 return file.name; 44159 } 44160 44161 return this.options.renameFile(file); 44162 } // Returns a form that can be used as fallback if the browser does not support DragnDrop 44163 // 44164 // If the dropzone is already a form, only the input field and button are returned. Otherwise a complete form element is provided. 44165 // This code has to pass in IE7 :( 44166 44167 }, { 44168 key: "getFallbackForm", 44169 value: function getFallbackForm() { 44170 var existingFallback, form; 44171 44172 if (existingFallback = this.getExistingFallback()) { 44173 return existingFallback; 44174 } 44175 44176 var fieldsString = '<div class="dz-fallback">'; 44177 44178 if (this.options.dictFallbackText) { 44179 fieldsString += "<p>".concat(this.options.dictFallbackText, "</p>"); 44180 } 44181 44182 fieldsString += "<input type=\"file\" name=\"".concat(this._getParamName(0), "\" ").concat(this.options.uploadMultiple ? 'multiple="multiple"' : undefined, " /><input type=\"submit\" value=\"Upload!\"></div>"); 44183 var fields = Dropzone.createElement(fieldsString); 44184 44185 if (this.element.tagName !== "FORM") { 44186 form = Dropzone.createElement("<form action=\"".concat(this.options.url, "\" enctype=\"multipart/form-data\" method=\"").concat(this.options.method, "\"></form>")); 44187 form.appendChild(fields); 44188 } else { 44189 // Make sure that the enctype and method attributes are set properly 44190 this.element.setAttribute("enctype", "multipart/form-data"); 44191 this.element.setAttribute("method", this.options.method); 44192 } 44193 44194 return form != null ? form : fields; 44195 } // Returns the fallback elements if they exist already 44196 // 44197 // This code has to pass in IE7 :( 44198 44199 }, { 44200 key: "getExistingFallback", 44201 value: function getExistingFallback() { 44202 var getFallback = function getFallback(elements) { 44203 var _iterator4 = dropzone_createForOfIteratorHelper(elements, true), 44204 _step4; 44205 44206 try { 44207 for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) { 44208 var el = _step4.value; 44209 44210 if (/(^| )fallback($| )/.test(el.className)) { 44211 return el; 44212 } 44213 } 44214 } catch (err) { 44215 _iterator4.e(err); 44216 } finally { 44217 _iterator4.f(); 44218 } 44219 }; 44220 44221 for (var _i = 0, _arr = ["div", "form"]; _i < _arr.length; _i++) { 44222 var tagName = _arr[_i]; 44223 var fallback; 44224 44225 if (fallback = getFallback(this.element.getElementsByTagName(tagName))) { 44226 return fallback; 44227 } 44228 } 44229 } // Activates all listeners stored in @listeners 44230 44231 }, { 44232 key: "setupEventListeners", 44233 value: function setupEventListeners() { 44234 return this.listeners.map(function (elementListeners) { 44235 return function () { 44236 var result = []; 44237 44238 for (var event in elementListeners.events) { 44239 var listener = elementListeners.events[event]; 44240 result.push(elementListeners.element.addEventListener(event, listener, false)); 44241 } 44242 44243 return result; 44244 }(); 44245 }); 44246 } // Deactivates all listeners stored in @listeners 44247 44248 }, { 44249 key: "removeEventListeners", 44250 value: function removeEventListeners() { 44251 return this.listeners.map(function (elementListeners) { 44252 return function () { 44253 var result = []; 44254 44255 for (var event in elementListeners.events) { 44256 var listener = elementListeners.events[event]; 44257 result.push(elementListeners.element.removeEventListener(event, listener, false)); 44258 } 44259 44260 return result; 44261 }(); 44262 }); 44263 } // Removes all event listeners and cancels all files in the queue or being processed. 44264 44265 }, { 44266 key: "disable", 44267 value: function disable() { 44268 var _this3 = this; 44269 44270 this.clickableElements.forEach(function (element) { 44271 return element.classList.remove("dz-clickable"); 44272 }); 44273 this.removeEventListeners(); 44274 this.disabled = true; 44275 return this.files.map(function (file) { 44276 return _this3.cancelUpload(file); 44277 }); 44278 } 44279 }, { 44280 key: "enable", 44281 value: function enable() { 44282 delete this.disabled; 44283 this.clickableElements.forEach(function (element) { 44284 return element.classList.add("dz-clickable"); 44285 }); 44286 return this.setupEventListeners(); 44287 } // Returns a nicely formatted filesize 44288 44289 }, { 44290 key: "filesize", 44291 value: function filesize(size) { 44292 var selectedSize = 0; 44293 var selectedUnit = "b"; 44294 44295 if (size > 0) { 44296 var units = ["tb", "gb", "mb", "kb", "b"]; 44297 44298 for (var i = 0; i < units.length; i++) { 44299 var unit = units[i]; 44300 var cutoff = Math.pow(this.options.filesizeBase, 4 - i) / 10; 44301 44302 if (size >= cutoff) { 44303 selectedSize = size / Math.pow(this.options.filesizeBase, 4 - i); 44304 selectedUnit = unit; 44305 break; 44306 } 44307 } 44308 44309 selectedSize = Math.round(10 * selectedSize) / 10; // Cutting of digits 44310 } 44311 44312 return "<strong>".concat(selectedSize, "</strong> ").concat(this.options.dictFileSizeUnits[selectedUnit]); 44313 } // Adds or removes the `dz-max-files-reached` class from the form. 44314 44315 }, { 44316 key: "_updateMaxFilesReachedClass", 44317 value: function _updateMaxFilesReachedClass() { 44318 if (this.options.maxFiles != null && this.getAcceptedFiles().length >= this.options.maxFiles) { 44319 if (this.getAcceptedFiles().length === this.options.maxFiles) { 44320 this.emit("maxfilesreached", this.files); 44321 } 44322 44323 return this.element.classList.add("dz-max-files-reached"); 44324 } else { 44325 return this.element.classList.remove("dz-max-files-reached"); 44326 } 44327 } 44328 }, { 44329 key: "drop", 44330 value: function drop(e) { 44331 if (!e.dataTransfer) { 44332 return; 44333 } 44334 44335 this.emit("drop", e); // Convert the FileList to an Array 44336 // This is necessary for IE11 44337 44338 var files = []; 44339 44340 for (var i = 0; i < e.dataTransfer.files.length; i++) { 44341 files[i] = e.dataTransfer.files[i]; 44342 } // Even if it's a folder, files.length will contain the folders. 44343 44344 44345 if (files.length) { 44346 var items = e.dataTransfer.items; 44347 44348 if (items && items.length && items[0].webkitGetAsEntry != null) { 44349 // The browser supports dropping of folders, so handle items instead of files 44350 this._addFilesFromItems(items); 44351 } else { 44352 this.handleFiles(files); 44353 } 44354 } 44355 44356 this.emit("addedfiles", files); 44357 } 44358 }, { 44359 key: "paste", 44360 value: function paste(e) { 44361 if (__guard__(e != null ? e.clipboardData : undefined, function (x) { 44362 return x.items; 44363 }) == null) { 44364 return; 44365 } 44366 44367 this.emit("paste", e); 44368 var items = e.clipboardData.items; 44369 44370 if (items.length) { 44371 return this._addFilesFromItems(items); 44372 } 44373 } 44374 }, { 44375 key: "handleFiles", 44376 value: function handleFiles(files) { 44377 var _iterator5 = dropzone_createForOfIteratorHelper(files, true), 44378 _step5; 44379 44380 try { 44381 for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) { 44382 var file = _step5.value; 44383 this.addFile(file); 44384 } 44385 } catch (err) { 44386 _iterator5.e(err); 44387 } finally { 44388 _iterator5.f(); 44389 } 44390 } // When a folder is dropped (or files are pasted), items must be handled 44391 // instead of files. 44392 44393 }, { 44394 key: "_addFilesFromItems", 44395 value: function _addFilesFromItems(items) { 44396 var _this4 = this; 44397 44398 return function () { 44399 var result = []; 44400 44401 var _iterator6 = dropzone_createForOfIteratorHelper(items, true), 44402 _step6; 44403 44404 try { 44405 for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) { 44406 var item = _step6.value; 44407 var entry; 44408 44409 if (item.webkitGetAsEntry != null && (entry = item.webkitGetAsEntry())) { 44410 if (entry.isFile) { 44411 result.push(_this4.addFile(item.getAsFile())); 44412 } else if (entry.isDirectory) { 44413 // Append all files from that directory to files 44414 result.push(_this4._addFilesFromDirectory(entry, entry.name)); 44415 } else { 44416 result.push(undefined); 44417 } 44418 } else if (item.getAsFile != null) { 44419 if (item.kind == null || item.kind === "file") { 44420 result.push(_this4.addFile(item.getAsFile())); 44421 } else { 44422 result.push(undefined); 44423 } 44424 } else { 44425 result.push(undefined); 44426 } 44427 } 44428 } catch (err) { 44429 _iterator6.e(err); 44430 } finally { 44431 _iterator6.f(); 44432 } 44433 44434 return result; 44435 }(); 44436 } // Goes through the directory, and adds each file it finds recursively 44437 44438 }, { 44439 key: "_addFilesFromDirectory", 44440 value: function _addFilesFromDirectory(directory, path) { 44441 var _this5 = this; 44442 44443 var dirReader = directory.createReader(); 44444 44445 var errorHandler = function errorHandler(error) { 44446 return __guardMethod__(console, "log", function (o) { 44447 return o.log(error); 44448 }); 44449 }; 44450 44451 var readEntries = function readEntries() { 44452 return dirReader.readEntries(function (entries) { 44453 if (entries.length > 0) { 44454 var _iterator7 = dropzone_createForOfIteratorHelper(entries, true), 44455 _step7; 44456 44457 try { 44458 for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) { 44459 var entry = _step7.value; 44460 44461 if (entry.isFile) { 44462 entry.file(function (file) { 44463 if (_this5.options.ignoreHiddenFiles && file.name.substring(0, 1) === ".") { 44464 return; 44465 } 44466 44467 file.fullPath = "".concat(path, "/").concat(file.name); 44468 return _this5.addFile(file); 44469 }); 44470 } else if (entry.isDirectory) { 44471 _this5._addFilesFromDirectory(entry, "".concat(path, "/").concat(entry.name)); 44472 } 44473 } // Recursively call readEntries() again, since browser only handle 44474 // the first 100 entries. 44475 // See: https://developer.mozilla.org/en-US/docs/Web/API/DirectoryReader#readEntries 44476 44477 } catch (err) { 44478 _iterator7.e(err); 44479 } finally { 44480 _iterator7.f(); 44481 } 44482 44483 readEntries(); 44484 } 44485 44486 return null; 44487 }, errorHandler); 44488 }; 44489 44490 return readEntries(); 44491 } // If `done()` is called without argument the file is accepted 44492 // If you call it with an error message, the file is rejected 44493 // (This allows for asynchronous validation) 44494 // 44495 // This function checks the filesize, and if the file.type passes the 44496 // `acceptedFiles` check. 44497 44498 }, { 44499 key: "accept", 44500 value: function accept(file, done) { 44501 if (this.options.maxFilesize && file.size > this.options.maxFilesize * 1024 * 1024) { 44502 done(this.options.dictFileTooBig.replace("{{filesize}}", Math.round(file.size / 1024 / 10.24) / 100).replace("{{maxFilesize}}", this.options.maxFilesize)); 44503 } else if (!Dropzone.isValidFile(file, this.options.acceptedFiles)) { 44504 done(this.options.dictInvalidFileType); 44505 } else if (this.options.maxFiles != null && this.getAcceptedFiles().length >= this.options.maxFiles) { 44506 done(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}", this.options.maxFiles)); 44507 this.emit("maxfilesexceeded", file); 44508 } else { 44509 this.options.accept.call(this, file, done); 44510 } 44511 } 44512 }, { 44513 key: "addFile", 44514 value: function addFile(file) { 44515 var _this6 = this; 44516 44517 file.upload = { 44518 uuid: Dropzone.uuidv4(), 44519 progress: 0, 44520 // Setting the total upload size to file.size for the beginning 44521 // It's actual different than the size to be transmitted. 44522 total: file.size, 44523 bytesSent: 0, 44524 filename: this._renameFile(file) // Not setting chunking information here, because the acutal data â and 44525 // thus the chunks â might change if `options.transformFile` is set 44526 // and does something to the data. 44527 44528 }; 44529 this.files.push(file); 44530 file.status = Dropzone.ADDED; 44531 this.emit("addedfile", file); 44532 44533 this._enqueueThumbnail(file); 44534 44535 this.accept(file, function (error) { 44536 if (error) { 44537 file.accepted = false; 44538 44539 _this6._errorProcessing([file], error); // Will set the file.status 44540 44541 } else { 44542 file.accepted = true; 44543 44544 if (_this6.options.autoQueue) { 44545 _this6.enqueueFile(file); 44546 } // Will set .accepted = true 44547 44548 } 44549 44550 _this6._updateMaxFilesReachedClass(); 44551 }); 44552 } // Wrapper for enqueueFile 44553 44554 }, { 44555 key: "enqueueFiles", 44556 value: function enqueueFiles(files) { 44557 var _iterator8 = dropzone_createForOfIteratorHelper(files, true), 44558 _step8; 44559 44560 try { 44561 for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) { 44562 var file = _step8.value; 44563 this.enqueueFile(file); 44564 } 44565 } catch (err) { 44566 _iterator8.e(err); 44567 } finally { 44568 _iterator8.f(); 44569 } 44570 44571 return null; 44572 } 44573 }, { 44574 key: "enqueueFile", 44575 value: function enqueueFile(file) { 44576 var _this7 = this; 44577 44578 if (file.status === Dropzone.ADDED && file.accepted === true) { 44579 file.status = Dropzone.QUEUED; 44580 44581 if (this.options.autoProcessQueue) { 44582 return setTimeout(function () { 44583 return _this7.processQueue(); 44584 }, 0); // Deferring the call 44585 } 44586 } else { 44587 throw new Error("This file can't be queued because it has already been processed or was rejected."); 44588 } 44589 } 44590 }, { 44591 key: "_enqueueThumbnail", 44592 value: function _enqueueThumbnail(file) { 44593 var _this8 = this; 44594 44595 if (this.options.createImageThumbnails && file.type.match(/image.*/) && file.size <= this.options.maxThumbnailFilesize * 1024 * 1024) { 44596 this._thumbnailQueue.push(file); 44597 44598 return setTimeout(function () { 44599 return _this8._processThumbnailQueue(); 44600 }, 0); // Deferring the call 44601 } 44602 } 44603 }, { 44604 key: "_processThumbnailQueue", 44605 value: function _processThumbnailQueue() { 44606 var _this9 = this; 44607 44608 if (this._processingThumbnail || this._thumbnailQueue.length === 0) { 44609 return; 44610 } 44611 44612 this._processingThumbnail = true; 44613 44614 var file = this._thumbnailQueue.shift(); 44615 44616 return this.createThumbnail(file, this.options.thumbnailWidth, this.options.thumbnailHeight, this.options.thumbnailMethod, true, function (dataUrl) { 44617 _this9.emit("thumbnail", file, dataUrl); 44618 44619 _this9._processingThumbnail = false; 44620 return _this9._processThumbnailQueue(); 44621 }); 44622 } // Can be called by the user to remove a file 44623 44624 }, { 44625 key: "removeFile", 44626 value: function removeFile(file) { 44627 if (file.status === Dropzone.UPLOADING) { 44628 this.cancelUpload(file); 44629 } 44630 44631 this.files = without(this.files, file); 44632 this.emit("removedfile", file); 44633 44634 if (this.files.length === 0) { 44635 return this.emit("reset"); 44636 } 44637 } // Removes all files that aren't currently processed from the list 44638 44639 }, { 44640 key: "removeAllFiles", 44641 value: function removeAllFiles(cancelIfNecessary) { 44642 // Create a copy of files since removeFile() changes the @files array. 44643 if (cancelIfNecessary == null) { 44644 cancelIfNecessary = false; 44645 } 44646 44647 var _iterator9 = dropzone_createForOfIteratorHelper(this.files.slice(), true), 44648 _step9; 44649 44650 try { 44651 for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) { 44652 var file = _step9.value; 44653 44654 if (file.status !== Dropzone.UPLOADING || cancelIfNecessary) { 44655 this.removeFile(file); 44656 } 44657 } 44658 } catch (err) { 44659 _iterator9.e(err); 44660 } finally { 44661 _iterator9.f(); 44662 } 44663 44664 return null; 44665 } // Resizes an image before it gets sent to the server. This function is the default behavior of 44666 // `options.transformFile` if `resizeWidth` or `resizeHeight` are set. The callback is invoked with 44667 // the resized blob. 44668 44669 }, { 44670 key: "resizeImage", 44671 value: function resizeImage(file, width, height, resizeMethod, callback) { 44672 var _this10 = this; 44673 44674 return this.createThumbnail(file, width, height, resizeMethod, true, function (dataUrl, canvas) { 44675 if (canvas == null) { 44676 // The image has not been resized 44677 return callback(file); 44678 } else { 44679 var resizeMimeType = _this10.options.resizeMimeType; 44680 44681 if (resizeMimeType == null) { 44682 resizeMimeType = file.type; 44683 } 44684 44685 var resizedDataURL = canvas.toDataURL(resizeMimeType, _this10.options.resizeQuality); 44686 44687 if (resizeMimeType === "image/jpeg" || resizeMimeType === "image/jpg") { 44688 // Now add the original EXIF information 44689 resizedDataURL =
vendor: 7,233 bytes, lines 44689-44914
44689ExifRestore.restore(file.dataURL, resizedDataURL); 44690 } 44691 44692 return callback(Dropzone.dataURItoBlob(resizedDataURL)); 44693 } 44694 }); 44695 } 44696 }, { 44697 key: "createThumbnail", 44698 value: function createThumbnail(file, width, height, resizeMethod, fixOrientation, callback) { 44699 var _this11 = this; 44700 44701 var fileReader = new FileReader(); 44702 44703 fileReader.onload = function () { 44704 file.dataURL = fileReader.result; // Don't bother creating a thumbnail for SVG images since they're vector 44705 44706 if (file.type === "image/svg+xml") { 44707 if (callback != null) { 44708 callback(fileReader.result); 44709 } 44710 44711 return; 44712 } 44713 44714 _this11.createThumbnailFromUrl(file, width, height, resizeMethod, fixOrientation, callback); 44715 }; 44716 44717 fileReader.readAsDataURL(file); 44718 } // `mockFile` needs to have these attributes: 44719 // 44720 // { name: 'name', size: 12345, imageUrl: '' } 44721 // 44722 // `callback` will be invoked when the image has been downloaded and displayed. 44723 // `crossOrigin` will be added to the `img` tag when accessing the file. 44724 44725 }, { 44726 key: "displayExistingFile", 44727 value: function displayExistingFile(mockFile, imageUrl, callback, crossOrigin) { 44728 var _this12 = this; 44729 44730 var resizeThumbnail = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true; 44731 this.emit("addedfile", mockFile); 44732 this.emit("complete", mockFile); 44733 44734 if (!resizeThumbnail) { 44735 this.emit("thumbnail", mockFile, imageUrl); 44736 if (callback) callback(); 44737 } else { 44738 var onDone = function onDone(thumbnail) { 44739 _this12.emit("thumbnail", mockFile, thumbnail); 44740 44741 if (callback) callback(); 44742 }; 44743 44744 mockFile.dataURL = imageUrl; 44745 this.createThumbnailFromUrl(mockFile, this.options.thumbnailWidth, this.options.thumbnailHeight, this.options.thumbnailMethod, this.options.fixOrientation, onDone, crossOrigin); 44746 } 44747 } 44748 }, { 44749 key: "createThumbnailFromUrl", 44750 value: function createThumbnailFromUrl(file, width, height, resizeMethod, fixOrientation, callback, crossOrigin) { 44751 var _this13 = this; 44752 44753 // Not using `new Image` here because of a bug in latest Chrome versions. 44754 // See https://github.com/enyo/dropzone/pull/226 44755 var img = document.createElement("img"); 44756 44757 if (crossOrigin) { 44758 img.crossOrigin = crossOrigin; 44759 } // fixOrientation is not needed anymore with browsers handling imageOrientation 44760 44761 44762 fixOrientation = getComputedStyle(document.body)["imageOrientation"] == "from-image" ? false : fixOrientation; 44763 44764 img.onload = function () { 44765 var loadExif = function loadExif(callback) { 44766 return callback(1); 44767 }; 44768 44769 if (typeof EXIF !== "undefined" && EXIF !== null && fixOrientation) { 44770 loadExif = function loadExif(callback) { 44771 return EXIF.getData(img, function () { 44772 return callback(EXIF.getTag(this, "Orientation")); 44773 }); 44774 }; 44775 } 44776 44777 return loadExif(function (orientation) { 44778 file.width = img.width; 44779 file.height = img.height; 44780 44781 var resizeInfo = _this13.options.resize.call(_this13, file, width, height, resizeMethod); 44782 44783 var canvas = document.createElement("canvas"); 44784 var ctx = canvas.getContext("2d"); 44785 canvas.width = resizeInfo.trgWidth; 44786 canvas.height = resizeInfo.trgHeight; 44787 44788 if (orientation > 4) { 44789 canvas.width = resizeInfo.trgHeight; 44790 canvas.height = resizeInfo.trgWidth; 44791 } 44792 44793 switch (orientation) { 44794 case 2: 44795 // horizontal flip 44796 ctx.translate(canvas.width, 0); 44797 ctx.scale(-1, 1); 44798 break; 44799 44800 case 3: 44801 // 180° rotate left 44802 ctx.translate(canvas.width, canvas.height); 44803 ctx.rotate(Math.PI); 44804 break; 44805 44806 case 4: 44807 // vertical flip 44808 ctx.translate(0, canvas.height); 44809 ctx.scale(1, -1); 44810 break; 44811 44812 case 5: 44813 // vertical flip + 90 rotate right 44814 ctx.rotate(0.5 * Math.PI); 44815 ctx.scale(1, -1); 44816 break; 44817 44818 case 6: 44819 // 90° rotate right 44820 ctx.rotate(0.5 * Math.PI); 44821 ctx.translate(0, -canvas.width); 44822 break; 44823 44824 case 7: 44825 // horizontal flip + 90 rotate right 44826 ctx.rotate(0.5 * Math.PI); 44827 ctx.translate(canvas.height, -canvas.width); 44828 ctx.scale(-1, 1); 44829 break; 44830 44831 case 8: 44832 // 90° rotate left 44833 ctx.rotate(-0.5 * Math.PI); 44834 ctx.translate(-canvas.height, 0); 44835 break; 44836 } // This is a bugfix for iOS' scaling bug. 44837 44838 44839 drawImageIOSFix(ctx, img, resizeInfo.srcX != null ? resizeInfo.srcX : 0, resizeInfo.srcY != null ? resizeInfo.srcY : 0, resizeInfo.srcWidth, resizeInfo.srcHeight, resizeInfo.trgX != null ? resizeInfo.trgX : 0, resizeInfo.trgY != null ? resizeInfo.trgY : 0, resizeInfo.trgWidth, resizeInfo.trgHeight); 44840 var thumbnail = canvas.toDataURL("image/png"); 44841 44842 if (callback != null) { 44843 return callback(thumbnail, canvas); 44844 } 44845 }); 44846 }; 44847 44848 if (callback != null) { 44849 img.onerror = callback; 44850 } 44851 44852 return img.src = file.dataURL; 44853 } // Goes through the queue and processes files if there aren't too many already. 44854 44855 }, { 44856 key: "processQueue", 44857 value: function processQueue() { 44858 var parallelUploads = this.options.parallelUploads; 44859 var processingLength = this.getUploadingFiles().length; 44860 var i = processingLength; // There are already at least as many files uploading than should be 44861 44862 if (processingLength >= parallelUploads) { 44863 return; 44864 } 44865 44866 var queuedFiles = this.getQueuedFiles(); 44867 44868 if (!(queuedFiles.length > 0)) { 44869 return; 44870 } 44871 44872 if (this.options.uploadMultiple) { 44873 // The files should be uploaded in one request 44874 return this.processFiles(queuedFiles.slice(0, parallelUploads - processingLength)); 44875 } else { 44876 while (i < parallelUploads) { 44877 if (!queuedFiles.length) { 44878 return; 44879 } // Nothing left to process 44880 44881 44882 this.processFile(queuedFiles.shift()); 44883 i++; 44884 } 44885 } 44886 } // Wrapper for `processFiles` 44887 44888 }, { 44889 key: "processFile", 44890 value: function processFile(file) { 44891 return this.processFiles([file]); 44892 } // Loads the file, then calls finishedLoading() 44893 44894 }, { 44895 key: "processFiles", 44896 value: function processFiles(files) { 44897 var _iterator10 = dropzone_createForOfIteratorHelper(files, true), 44898 _step10; 44899 44900 try { 44901 for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) { 44902 var file = _step10.value; 44903 file.processing = true; // Backwards compatibility 44904 44905 file.status = Dropzone.UPLOADING; 44906 this.emit("processing", file); 44907 } 44908 } catch (err) { 44909 _iterator10.e(err); 44910 } finally { 44911 _iterator10.f(); 44912 } 44913 44914 if (this.options.uploadMultiple) {
vendor: 20,826 bytes, lines 44915-45529
44915 this.emit("processingmultiple", files); 44916 } 44917 44918 return this.uploadFiles(files); 44919 } 44920 }, { 44921 key: "_getFilesWithXhr", 44922 value: function _getFilesWithXhr(xhr) { 44923 var files; 44924 return files = this.files.filter(function (file) { 44925 return file.xhr === xhr; 44926 }).map(function (file) { 44927 return file; 44928 }); 44929 } // Cancels the file upload and sets the status to CANCELED 44930 // **if** the file is actually being uploaded. 44931 // If it's still in the queue, the file is being removed from it and the status 44932 // set to CANCELED. 44933 44934 }, { 44935 key: "cancelUpload", 44936 value: function cancelUpload(file) { 44937 if (file.status === Dropzone.UPLOADING) { 44938 var groupedFiles = this._getFilesWithXhr(file.xhr); 44939 44940 var _iterator11 = dropzone_createForOfIteratorHelper(groupedFiles, true), 44941 _step11; 44942 44943 try { 44944 for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) { 44945 var groupedFile = _step11.value; 44946 groupedFile.status = Dropzone.CANCELED; 44947 } 44948 } catch (err) { 44949 _iterator11.e(err); 44950 } finally { 44951 _iterator11.f(); 44952 } 44953 44954 if (typeof file.xhr !== "undefined") { 44955 file.xhr.abort(); 44956 } 44957 44958 var _iterator12 = dropzone_createForOfIteratorHelper(groupedFiles, true), 44959 _step12; 44960 44961 try { 44962 for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) { 44963 var _groupedFile = _step12.value; 44964 this.emit("canceled", _groupedFile); 44965 } 44966 } catch (err) { 44967 _iterator12.e(err); 44968 } finally { 44969 _iterator12.f(); 44970 } 44971 44972 if (this.options.uploadMultiple) { 44973 this.emit("canceledmultiple", groupedFiles); 44974 } 44975 } else if (file.status === Dropzone.ADDED || file.status === Dropzone.QUEUED) { 44976 file.status = Dropzone.CANCELED; 44977 this.emit("canceled", file); 44978 44979 if (this.options.uploadMultiple) { 44980 this.emit("canceledmultiple", [file]); 44981 } 44982 } 44983 44984 if (this.options.autoProcessQueue) { 44985 return this.processQueue(); 44986 } 44987 } 44988 }, { 44989 key: "resolveOption", 44990 value: function resolveOption(option) { 44991 if (typeof option === "function") { 44992 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { 44993 args[_key - 1] = arguments[_key]; 44994 } 44995 44996 return option.apply(this, args); 44997 } 44998 44999 return option; 45000 } 45001 }, { 45002 key: "uploadFile", 45003 value: function uploadFile(file) { 45004 return this.uploadFiles([file]); 45005 } 45006 }, { 45007 key: "uploadFiles", 45008 value: function uploadFiles(files) { 45009 var _this14 = this; 45010 45011 this._transformFiles(files, function (transformedFiles) { 45012 if (_this14.options.chunking) { 45013 // Chunking is not allowed to be used with `uploadMultiple` so we know 45014 // that there is only __one__file. 45015 var transformedFile = transformedFiles[0]; 45016 files[0].upload.chunked = _this14.options.chunking && (_this14.options.forceChunking || transformedFile.size > _this14.options.chunkSize); 45017 files[0].upload.totalChunkCount = Math.ceil(transformedFile.size / _this14.options.chunkSize); 45018 } 45019 45020 if (files[0].upload.chunked) { 45021 // This file should be sent in chunks! 45022 // If the chunking option is set, we **know** that there can only be **one** file, since 45023 // uploadMultiple is not allowed with this option. 45024 var file = files[0]; 45025 var _transformedFile = transformedFiles[0]; 45026 var startedChunkCount = 0; 45027 file.upload.chunks = []; 45028 45029 var handleNextChunk = function handleNextChunk() { 45030 var chunkIndex = 0; // Find the next item in file.upload.chunks that is not defined yet. 45031 45032 while (file.upload.chunks[chunkIndex] !== undefined) { 45033 chunkIndex++; 45034 } // This means, that all chunks have already been started. 45035 45036 45037 if (chunkIndex >= file.upload.totalChunkCount) return; 45038 startedChunkCount++; 45039 var start = chunkIndex * _this14.options.chunkSize; 45040 var end = Math.min(start + _this14.options.chunkSize, _transformedFile.size); 45041 var dataBlock = { 45042 name: _this14._getParamName(0), 45043 data: _transformedFile.webkitSlice ? _transformedFile.webkitSlice(start, end) : _transformedFile.slice(start, end), 45044 filename: file.upload.filename, 45045 chunkIndex: chunkIndex 45046 }; 45047 file.upload.chunks[chunkIndex] = { 45048 file: file, 45049 index: chunkIndex, 45050 dataBlock: dataBlock, 45051 // In case we want to retry. 45052 status: Dropzone.UPLOADING, 45053 progress: 0, 45054 retries: 0 // The number of times this block has been retried. 45055 45056 }; 45057 45058 _this14._uploadData(files, [dataBlock]); 45059 }; 45060 45061 file.upload.finishedChunkUpload = function (chunk, response) { 45062 var allFinished = true; 45063 chunk.status = Dropzone.SUCCESS; // Clear the data from the chunk 45064 45065 chunk.dataBlock = null; // Leaving this reference to xhr intact here will cause memory leaks in some browsers 45066 45067 chunk.xhr = null; 45068 45069 for (var i = 0; i < file.upload.totalChunkCount; i++) { 45070 if (file.upload.chunks[i] === undefined) { 45071 return handleNextChunk(); 45072 } 45073 45074 if (file.upload.chunks[i].status !== Dropzone.SUCCESS) { 45075 allFinished = false; 45076 } 45077 } 45078 45079 if (allFinished) { 45080 _this14.options.chunksUploaded(file, function () { 45081 _this14._finished(files, response, null); 45082 }); 45083 } 45084 }; 45085 45086 if (_this14.options.parallelChunkUploads) { 45087 for (var i = 0; i < file.upload.totalChunkCount; i++) { 45088 handleNextChunk(); 45089 } 45090 } else { 45091 handleNextChunk(); 45092 } 45093 } else { 45094 var dataBlocks = []; 45095 45096 for (var _i2 = 0; _i2 < files.length; _i2++) { 45097 dataBlocks[_i2] = { 45098 name: _this14._getParamName(_i2), 45099 data: transformedFiles[_i2], 45100 filename: files[_i2].upload.filename 45101 }; 45102 } 45103 45104 _this14._uploadData(files, dataBlocks); 45105 } 45106 }); 45107 } /// Returns the right chunk for given file and xhr 45108 45109 }, { 45110 key: "_getChunk", 45111 value: function _getChunk(file, xhr) { 45112 for (var i = 0; i < file.upload.totalChunkCount; i++) { 45113 if (file.upload.chunks[i] !== undefined && file.upload.chunks[i].xhr === xhr) { 45114 return file.upload.chunks[i]; 45115 } 45116 } 45117 } // This function actually uploads the file(s) to the server. 45118 // If dataBlocks contains the actual data to upload (meaning, that this could either be transformed 45119 // files, or individual chunks for chunked upload). 45120 45121 }, { 45122 key: "_uploadData", 45123 value: function _uploadData(files, dataBlocks) { 45124 var _this15 = this; 45125 45126 var xhr = new XMLHttpRequest(); // Put the xhr object in the file objects to be able to reference it later. 45127 45128 var _iterator13 = dropzone_createForOfIteratorHelper(files, true), 45129 _step13; 45130 45131 try { 45132 for (_iterator13.s(); !(_step13 = _iterator13.n()).done;) { 45133 var file = _step13.value; 45134 file.xhr = xhr; 45135 } 45136 } catch (err) { 45137 _iterator13.e(err); 45138 } finally { 45139 _iterator13.f(); 45140 } 45141 45142 if (files[0].upload.chunked) { 45143 // Put the xhr object in the right chunk object, so it can be associated later, and found with _getChunk 45144 files[0].upload.chunks[dataBlocks[0].chunkIndex].xhr = xhr; 45145 } 45146 45147 var method = this.resolveOption(this.options.method, files); 45148 var url = this.resolveOption(this.options.url, files); 45149 xhr.open(method, url, true); // Setting the timeout after open because of IE11 issue: https://gitlab.com/meno/dropzone/issues/8 45150 45151 var timeout = this.resolveOption(this.options.timeout, files); 45152 if (timeout) xhr.timeout = this.resolveOption(this.options.timeout, files); // Has to be after `.open()`. See https://github.com/enyo/dropzone/issues/179 45153 45154 xhr.withCredentials = !!this.options.withCredentials; 45155 45156 xhr.onload = function (e) { 45157 _this15._finishedUploading(files, xhr, e); 45158 }; 45159 45160 xhr.ontimeout = function () { 45161 _this15._handleUploadError(files, xhr, "Request timedout after ".concat(_this15.options.timeout / 1000, " seconds")); 45162 }; 45163 45164 xhr.onerror = function () { 45165 _this15._handleUploadError(files, xhr); 45166 }; // Some browsers do not have the .upload property 45167 45168 45169 var progressObj = xhr.upload != null ? xhr.upload : xhr; 45170 45171 progressObj.onprogress = function (e) { 45172 return _this15._updateFilesUploadProgress(files, xhr, e); 45173 }; 45174 45175 var headers = { 45176 Accept: "application/json", 45177 "Cache-Control": "no-cache", 45178 "X-Requested-With": "XMLHttpRequest" 45179 }; 45180 45181 if (this.options.headers) { 45182 Dropzone.extend(headers, this.options.headers); 45183 } 45184 45185 for (var headerName in headers) { 45186 var headerValue = headers[headerName]; 45187 45188 if (headerValue) { 45189 xhr.setRequestHeader(headerName, headerValue); 45190 } 45191 } 45192 45193 var formData = new FormData(); // Adding all @options parameters 45194 45195 if (this.options.params) { 45196 var additionalParams = this.options.params; 45197 45198 if (typeof additionalParams === "function") { 45199 additionalParams = additionalParams.call(this, files, xhr, files[0].upload.chunked ? this._getChunk(files[0], xhr) : null); 45200 } 45201 45202 for (var key in additionalParams) { 45203 var value = additionalParams[key]; 45204 45205 if (Array.isArray(value)) { 45206 // The additional parameter contains an array, 45207 // so lets iterate over it to attach each value 45208 // individually. 45209 for (var i = 0; i < value.length; i++) { 45210 formData.append(key, value[i]); 45211 } 45212 } else { 45213 formData.append(key, value); 45214 } 45215 } 45216 } // Let the user add additional data if necessary 45217 45218 45219 var _iterator14 = dropzone_createForOfIteratorHelper(files, true), 45220 _step14; 45221 45222 try { 45223 for (_iterator14.s(); !(_step14 = _iterator14.n()).done;) { 45224 var _file = _step14.value; 45225 this.emit("sending", _file, xhr, formData); 45226 } 45227 } catch (err) { 45228 _iterator14.e(err); 45229 } finally { 45230 _iterator14.f(); 45231 } 45232 45233 if (this.options.uploadMultiple) { 45234 this.emit("sendingmultiple", files, xhr, formData); 45235 } 45236 45237 this._addFormElementData(formData); // Finally add the files 45238 // Has to be last because some servers (eg: S3) expect the file to be the last parameter 45239 45240 45241 for (var _i3 = 0; _i3 < dataBlocks.length; _i3++) { 45242 var dataBlock = dataBlocks[_i3]; 45243 formData.append(dataBlock.name, dataBlock.data, dataBlock.filename); 45244 } 45245 45246 this.submitRequest(xhr, formData, files); 45247 } // Transforms all files with this.options.transformFile and invokes done with the transformed files when done. 45248 45249 }, { 45250 key: "_transformFiles", 45251 value: function _transformFiles(files, done) { 45252 var _this16 = this; 45253 45254 var transformedFiles = []; // Clumsy way of handling asynchronous calls, until I get to add a proper Future library. 45255 45256 var doneCounter = 0; 45257 45258 var _loop = function _loop(i) { 45259 _this16.options.transformFile.call(_this16, files[i], function (transformedFile) { 45260 transformedFiles[i] = transformedFile; 45261 45262 if (++doneCounter === files.length) { 45263 done(transformedFiles); 45264 } 45265 }); 45266 }; 45267 45268 for (var i = 0; i < files.length; i++) { 45269 _loop(i); 45270 } 45271 } // Takes care of adding other input elements of the form to the AJAX request 45272 45273 }, { 45274 key: "_addFormElementData", 45275 value: function _addFormElementData(formData) { 45276 // Take care of other input elements 45277 if (this.element.tagName === "FORM") { 45278 var _iterator15 = dropzone_createForOfIteratorHelper(this.element.querySelectorAll("input, textarea, select, button"), true), 45279 _step15; 45280 45281 try { 45282 for (_iterator15.s(); !(_step15 = _iterator15.n()).done;) { 45283 var input = _step15.value; 45284 var inputName = input.getAttribute("name"); 45285 var inputType = input.getAttribute("type"); 45286 if (inputType) inputType = inputType.toLowerCase(); // If the input doesn't have a name, we can't use it. 45287 45288 if (typeof inputName === "undefined" || inputName === null) continue; 45289 45290 if (input.tagName === "SELECT" && input.hasAttribute("multiple")) { 45291 // Possibly multiple values 45292 var _iterator16 = dropzone_createForOfIteratorHelper(input.options, true), 45293 _step16; 45294 45295 try { 45296 for (_iterator16.s(); !(_step16 = _iterator16.n()).done;) { 45297 var option = _step16.value; 45298 45299 if (option.selected) { 45300 formData.append(inputName, option.value); 45301 } 45302 } 45303 } catch (err) { 45304 _iterator16.e(err); 45305 } finally { 45306 _iterator16.f(); 45307 } 45308 } else if (!inputType || inputType !== "checkbox" && inputType !== "radio" || input.checked) { 45309 formData.append(inputName, input.value); 45310 } 45311 } 45312 } catch (err) { 45313 _iterator15.e(err); 45314 } finally { 45315 _iterator15.f(); 45316 } 45317 } 45318 } // Invoked when there is new progress information about given files. 45319 // If e is not provided, it is assumed that the upload is finished. 45320 45321 }, { 45322 key: "_updateFilesUploadProgress", 45323 value: function _updateFilesUploadProgress(files, xhr, e) { 45324 if (!files[0].upload.chunked) { 45325 // Handle file uploads without chunking 45326 var _iterator17 = dropzone_createForOfIteratorHelper(files, true), 45327 _step17; 45328 45329 try { 45330 for (_iterator17.s(); !(_step17 = _iterator17.n()).done;) { 45331 var file = _step17.value; 45332 45333 if (file.upload.total && file.upload.bytesSent && file.upload.bytesSent == file.upload.total) { 45334 // If both, the `total` and `bytesSent` have already been set, and 45335 // they are equal (meaning progress is at 100%), we can skip this 45336 // file, since an upload progress shouldn't go down. 45337 continue; 45338 } 45339 45340 if (e) { 45341 file.upload.progress = 100 * e.loaded / e.total; 45342 file.upload.total = e.total; 45343 file.upload.bytesSent = e.loaded; 45344 } else { 45345 // No event, so we're at 100% 45346 file.upload.progress = 100; 45347 file.upload.bytesSent = file.upload.total; 45348 } 45349 45350 this.emit("uploadprogress", file, file.upload.progress, file.upload.bytesSent); 45351 } 45352 } catch (err) { 45353 _iterator17.e(err); 45354 } finally { 45355 _iterator17.f(); 45356 } 45357 } else { 45358 // Handle chunked file uploads 45359 // Chunked upload is not compatible with uploading multiple files in one 45360 // request, so we know there's only one file. 45361 var _file2 = files[0]; // Since this is a chunked upload, we need to update the appropriate chunk 45362 // progress. 45363 45364 var chunk = this._getChunk(_file2, xhr); 45365 45366 if (e) { 45367 chunk.progress = 100 * e.loaded / e.total; 45368 chunk.total = e.total; 45369 chunk.bytesSent = e.loaded; 45370 } else { 45371 // No event, so we're at 100% 45372 chunk.progress = 100; 45373 chunk.bytesSent = chunk.total; 45374 } // Now tally the *file* upload progress from its individual chunks 45375 45376 45377 _file2.upload.progress = 0; 45378 _file2.upload.total = 0; 45379 _file2.upload.bytesSent = 0; 45380 45381 for (var i = 0; i < _file2.upload.totalChunkCount; i++) { 45382 if (_file2.upload.chunks[i] && typeof _file2.upload.chunks[i].progress !== "undefined") { 45383 _file2.upload.progress += _file2.upload.chunks[i].progress; 45384 _file2.upload.total += _file2.upload.chunks[i].total; 45385 _file2.upload.bytesSent += _file2.upload.chunks[i].bytesSent; 45386 } 45387 } // Since the process is a percentage, we need to divide by the amount of 45388 // chunks we've used. 45389 45390 45391 _file2.upload.progress = _file2.upload.progress / _file2.upload.totalChunkCount; 45392 this.emit("uploadprogress", _file2, _file2.upload.progress, _file2.upload.bytesSent); 45393 } 45394 } 45395 }, { 45396 key: "_finishedUploading", 45397 value: function _finishedUploading(files, xhr, e) { 45398 var response; 45399 45400 if (files[0].status === Dropzone.CANCELED) { 45401 return; 45402 } 45403 45404 if (xhr.readyState !== 4) { 45405 return; 45406 } 45407 45408 if (xhr.responseType !== "arraybuffer" && xhr.responseType !== "blob") { 45409 response = xhr.responseText; 45410 45411 if (xhr.getResponseHeader("content-type") && ~xhr.getResponseHeader("content-type").indexOf("application/json")) { 45412 try { 45413 response = JSON.parse(response); 45414 } catch (error) { 45415 e = error; 45416 response = "Invalid JSON response from server."; 45417 } 45418 } 45419 } 45420 45421 this._updateFilesUploadProgress(files, xhr); 45422 45423 if (!(200 <= xhr.status && xhr.status < 300)) { 45424 this._handleUploadError(files, xhr, response); 45425 } else { 45426 if (files[0].upload.chunked) { 45427 files[0].upload.finishedChunkUpload(this._getChunk(files[0], xhr), response); 45428 } else { 45429 this._finished(files, response, e); 45430 } 45431 } 45432 } 45433 }, { 45434 key: "_handleUploadError", 45435 value: function _handleUploadError(files, xhr, response) { 45436 if (files[0].status === Dropzone.CANCELED) { 45437 return; 45438 } 45439 45440 if (files[0].upload.chunked && this.options.retryChunks) { 45441 var chunk = this._getChunk(files[0], xhr); 45442 45443 if (chunk.retries++ < this.options.retryChunksLimit) { 45444 this._uploadData(files, [chunk.dataBlock]); 45445 45446 return; 45447 } else { 45448 console.warn("Retried this chunk too often. Giving up."); 45449 } 45450 } 45451 45452 this._errorProcessing(files, response || this.options.dictResponseError.replace("{{statusCode}}", xhr.status), xhr); 45453 } 45454 }, { 45455 key: "submitRequest", 45456 value: function submitRequest(xhr, formData, files) { 45457 if (xhr.readyState != 1) { 45458 console.warn("Cannot send this request because the XMLHttpRequest.readyState is not OPENED."); 45459 return; 45460 } 45461 45462 xhr.send(formData); 45463 } // Called internally when processing is finished. 45464 // Individual callbacks have to be called in the appropriate sections. 45465 45466 }, { 45467 key: "_finished", 45468 value: function _finished(files, responseText, e) { 45469 var _iterator18 = dropzone_createForOfIteratorHelper(files, true), 45470 _step18; 45471 45472 try { 45473 for (_iterator18.s(); !(_step18 = _iterator18.n()).done;) { 45474 var file = _step18.value; 45475 file.status = Dropzone.SUCCESS; 45476 this.emit("success", file, responseText, e); 45477 this.emit("complete", file); 45478 } 45479 } catch (err) { 45480 _iterator18.e(err); 45481 } finally { 45482 _iterator18.f(); 45483 } 45484 45485 if (this.options.uploadMultiple) { 45486 this.emit("successmultiple", files, responseText, e); 45487 this.emit("completemultiple", files); 45488 } 45489 45490 if (this.options.autoProcessQueue) { 45491 return this.processQueue(); 45492 } 45493 } // Called internally when processing is finished. 45494 // Individual callbacks have to be called in the appropriate sections. 45495 45496 }, { 45497 key: "_errorProcessing", 45498 value: function _errorProcessing(files, message, xhr) { 45499 var _iterator19 = dropzone_createForOfIteratorHelper(files, true), 45500 _step19; 45501 45502 try { 45503 for (_iterator19.s(); !(_step19 = _iterator19.n()).done;) { 45504 var file = _step19.value; 45505 file.status = Dropzone.ERROR; 45506 this.emit("error", file, message, xhr); 45507 this.emit("complete", file); 45508 } 45509 } catch (err) { 45510 _iterator19.e(err); 45511 } finally { 45512 _iterator19.f(); 45513 } 45514 45515 if (this.options.uploadMultiple) { 45516 this.emit("errormultiple", files, message, xhr); 45517 this.emit("completemultiple", files); 45518 } 45519 45520 if (this.options.autoProcessQueue) { 45521 return this.processQueue(); 45522 } 45523 } 45524 }], [{ 45525 key: "initClass", 45526 value: function initClass() { 45527 // Exposing the emitter class, mainly for tests 45528 this.prototype.Emitter = Emitter; 45529 /*
45529 45530 This is a list of all available events you can register on a dropzone object. 45531 You can register an event handler like this: 45532 dropzone.on("dragEnter", function() { }); 45533 */ 45534 45535 this.prototype.events = ["drop", "dragstart", "dragend", "dragenter", "dragover", "dragleave", "addedfile", "addedfiles", "removedfile", "thumbnail", "error", "errormultiple", "processing", "processingmultiple", "uploadprogress", "totaluploadprogress", "sending", "sendingmultiple", "success", "successmultiple", "canceled", "canceledmultiple", "complete", "completemultiple", "reset", "maxfilesexceeded", "maxfilesreached", "queuecomplete"]; 45536 this.prototype._thumbnailQueue = []; 45537 this.prototype._processingThumbnail = false; 45538 } // global utility 45539 45540 }, { 45541 key: "extend", 45542 value: function extend(target) { 45543 for (var _len2 = arguments.length, objects = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { 45544 objects[_key2 - 1] = arguments[_key2]; 45545 } 45546 45547 for (var _i4 = 0, _objects = objects; _i4 < _objects.length; _i4++) { 45548 var object = _objects[_i4]; 45549 45550 for (var key in object) { 45551 var val = object[key]; 45552 target[key] = val; 45553 } 45554 } 45555 45556 return target; 45557 } 45558 }, { 45559 key: "uuidv4", 45560 value: function uuidv4() { 45561 return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) { 45562 var r = Math.random() * 16 | 0, 45563 v = c === "x" ? r : r & 0x3 | 0x8; 45564 return v.toString(16); 45565 }); 45566 } 45567 }]); 45568 45569 return Dropzone; 45570}(Emitter); 45571 45572 45573Dropzone.initClass(); 45574Dropzone.version = "5.9.3
vendor: 9,117 bytes, lines 45574-45890
45574"; // This is a map of options for your different dropzones. Add configurations 45575// to this object for your different dropzone elemens. 45576// 45577// Example: 45578// 45579// Dropzone.options.myDropzoneElementId = { maxFilesize: 1 }; 45580// 45581// To disable autoDiscover for a specific element, you can set `false` as an option: 45582// 45583// Dropzone.options.myDisabledElementId = false; 45584// 45585// And in html: 45586// 45587// <form action="/upload" id="my-dropzone-element-id" class="dropzone"></form> 45588 45589Dropzone.options = {}; // Returns the options for an element or undefined if none available. 45590 45591Dropzone.optionsForElement = function (element) { 45592 // Get the `Dropzone.options.elementId` for this element if it exists 45593 if (element.getAttribute("id")) { 45594 return Dropzone.options[camelize(element.getAttribute("id"))]; 45595 } else { 45596 return undefined; 45597 } 45598}; // Holds a list of all dropzone instances 45599 45600 45601Dropzone.instances = []; // Returns the dropzone for given element if any 45602 45603Dropzone.forElement = function (element) { 45604 if (typeof element === "string") { 45605 element = document.querySelector(element); 45606 } 45607 45608 if ((element != null ? element.dropzone : undefined) == null) { 45609 throw new Error("No Dropzone found for given element. This is probably because you're trying to access it before Dropzone had the time to initialize. Use the `init` option to setup any additional observers on your Dropzone."); 45610 } 45611 45612 return element.dropzone; 45613}; // Set to false if you don't want Dropzone to automatically find and attach to .dropzone elements. 45614 45615 45616Dropzone.autoDiscover = true; // Looks for all .dropzone elements and creates a dropzone for them 45617 45618Dropzone.discover = function () { 45619 var dropzones; 45620 45621 if (document.querySelectorAll) { 45622 dropzones = document.querySelectorAll(".dropzone"); 45623 } else { 45624 dropzones = []; // IE :( 45625 45626 var checkElements = function checkElements(elements) { 45627 return function () { 45628 var result = []; 45629 45630 var _iterator20 = dropzone_createForOfIteratorHelper(elements, true), 45631 _step20; 45632 45633 try { 45634 for (_iterator20.s(); !(_step20 = _iterator20.n()).done;) { 45635 var el = _step20.value; 45636 45637 if (/(^| )dropzone($| )/.test(el.className)) { 45638 result.push(dropzones.push(el)); 45639 } else { 45640 result.push(undefined); 45641 } 45642 } 45643 } catch (err) { 45644 _iterator20.e(err); 45645 } finally { 45646 _iterator20.f(); 45647 } 45648 45649 return result; 45650 }(); 45651 }; 45652 45653 checkElements(document.getElementsByTagName("div")); 45654 checkElements(document.getElementsByTagName("form")); 45655 } 45656 45657 return function () { 45658 var result = []; 45659 45660 var _iterator21 = dropzone_createForOfIteratorHelper(dropzones, true), 45661 _step21; 45662 45663 try { 45664 for (_iterator21.s(); !(_step21 = _iterator21.n()).done;) { 45665 var dropzone = _step21.value; 45666 45667 // Create a dropzone unless auto discover has been disabled for specific element 45668 if (Dropzone.optionsForElement(dropzone) !== false) { 45669 result.push(new Dropzone(dropzone)); 45670 } else { 45671 result.push(undefined); 45672 } 45673 } 45674 } catch (err) { 45675 _iterator21.e(err); 45676 } finally { 45677 _iterator21.f(); 45678 } 45679 45680 return result; 45681 }(); 45682}; // Some browsers support drag and drog functionality, but not correctly. 45683// 45684// So I created a blocklist of userAgents. Yes, yes. Browser sniffing, I know. 45685// But what to do when browsers *theoretically* support an API, but crash 45686// when using it. 45687// 45688// This is a list of regular expressions tested against navigator.userAgent 45689// 45690// ** It should only be used on browser that *do* support the API, but 45691// incorrectly ** 45692 45693 45694Dropzone.blockedBrowsers = [// The mac os and windows phone version of opera 12 seems to have a problem with the File drag'n'drop API. 45695/opera.*(Macintosh|Windows Phone).*version\/12/i]; // Checks if the browser is supported 45696 45697Dropzone.isBrowserSupported = function () { 45698 var capableBrowser = true; 45699 45700 if (window.File && window.FileReader && window.FileList && window.Blob && window.FormData && document.querySelector) { 45701 if (!("classList" in document.createElement("a"))) { 45702 capableBrowser = false; 45703 } else { 45704 if (Dropzone.blacklistedBrowsers !== undefined) { 45705 // Since this has been renamed, this makes sure we don't break older 45706 // configuration. 45707 Dropzone.blockedBrowsers = Dropzone.blacklistedBrowsers; 45708 } // The browser supports the API, but may be blocked. 45709 45710 45711 var _iterator22 = dropzone_createForOfIteratorHelper(Dropzone.blockedBrowsers, true), 45712 _step22; 45713 45714 try { 45715 for (_iterator22.s(); !(_step22 = _iterator22.n()).done;) { 45716 var regex = _step22.value; 45717 45718 if (regex.test(navigator.userAgent)) { 45719 capableBrowser = false; 45720 continue; 45721 } 45722 } 45723 } catch (err) { 45724 _iterator22.e(err); 45725 } finally { 45726 _iterator22.f(); 45727 } 45728 } 45729 } else { 45730 capableBrowser = false; 45731 } 45732 45733 return capableBrowser; 45734}; 45735 45736Dropzone.dataURItoBlob = function (dataURI) { 45737 // convert base64 to raw binary data held in a string 45738 // doesn't handle URLEncoded DataURIs - see SO answer #6850276 for code that does this 45739 var byteString = atob(dataURI.split(",")[1]); // separate out the mime component 45740 45741 var mimeString = dataURI.split(",")[0].split(":")[1].split(";")[0]; // write the bytes of the string to an ArrayBuffer 45742 45743 var ab = new ArrayBuffer(byteString.length); 45744 var ia = new Uint8Array(ab); 45745 45746 for (var i = 0, end = byteString.length, asc = 0 <= end; asc ? i <= end : i >= end; asc ? i++ : i--) { 45747 ia[i] = byteString.charCodeAt(i); 45748 } // write the ArrayBuffer to a blob 45749 45750 45751 return new Blob([ab], { 45752 type: mimeString 45753 }); 45754}; // Returns an array without the rejected item 45755 45756 45757var without = function without(list, rejectedItem) { 45758 return list.filter(function (item) { 45759 return item !== rejectedItem; 45760 }).map(function (item) { 45761 return item; 45762 }); 45763}; // abc-def_ghi -> abcDefGhi 45764 45765 45766var camelize = function camelize(str) { 45767 return str.replace(/[\-_](\w)/g, function (match) { 45768 return match.charAt(1).toUpperCase(); 45769 }); 45770}; // Creates an element from string 45771 45772 45773Dropzone.createElement = function (string) { 45774 var div = document.createElement("div"); 45775 div.innerHTML = string; 45776 return div.childNodes[0]; 45777}; // Tests if given element is inside (or simply is) the container 45778 45779 45780Dropzone.elementInside = function (element, container) { 45781 if (element === container) { 45782 return true; 45783 } // Coffeescript doesn't support do/while loops 45784 45785 45786 while (element = element.parentNode) { 45787 if (element === container) { 45788 return true; 45789 } 45790 } 45791 45792 return false; 45793}; 45794 45795Dropzone.getElement = function (el, name) { 45796 var element; 45797 45798 if (typeof el === "string") { 45799 element = document.querySelector(el); 45800 } else if (el.nodeType != null) { 45801 element = el; 45802 } 45803 45804 if (element == null) { 45805 throw new Error("Invalid `".concat(name, "` option provided. Please provide a CSS selector or a plain HTML element.")); 45806 } 45807 45808 return element; 45809}; 45810 45811Dropzone.getElements = function (els, name) { 45812 var el, elements; 45813 45814 if (els instanceof Array) { 45815 elements = []; 45816 45817 try { 45818 var _iterator23 = dropzone_createForOfIteratorHelper(els, true), 45819 _step23; 45820 45821 try { 45822 for (_iterator23.s(); !(_step23 = _iterator23.n()).done;) { 45823 el = _step23.value; 45824 elements.push(this.getElement(el, name)); 45825 } 45826 } catch (err) { 45827 _iterator23.e(err); 45828 } finally { 45829 _iterator23.f(); 45830 } 45831 } catch (e) { 45832 elements = null; 45833 } 45834 } else if (typeof els === "string") { 45835 elements = []; 45836 45837 var _iterator24 = dropzone_createForOfIteratorHelper(document.querySelectorAll(els), true), 45838 _step24; 45839 45840 try { 45841 for (_iterator24.s(); !(_step24 = _iterator24.n()).done;) { 45842 el = _step24.value; 45843 elements.push(el); 45844 } 45845 } catch (err) { 45846 _iterator24.e(err); 45847 } finally { 45848 _iterator24.f(); 45849 } 45850 } else if (els.nodeType != null) { 45851 elements = [els]; 45852 } 45853 45854 if (elements == null || !elements.length) { 45855 throw new Error("Invalid `".concat(name, "` option provided. Please provide a CSS selector, a plain HTML element or a list of those.")); 45856 } 45857 45858 return elements; 45859}; // Asks the user the question and calls accepted or rejected accordingly 45860// 45861// The default implementation just uses `window.confirm` and then calls the 45862// appropriate callback. 45863 45864 45865Dropzone.confirm = function (question, accepted, rejected) { 45866 if (window.confirm(question)) { 45867 return accepted(); 45868 } else if (rejected != null) { 45869 return rejected(); 45870 } 45871}; // Validates the mime type like this: 45872// 45873// https://developer.mozilla.org/en-US/docs/HTML/Element/input#attr-accept 45874 45875 45876Dropzone.isValidFile = function (file, acceptedFiles) { 45877 if (!acceptedFiles) { 45878 return true; 45879 } // If there are no accepted mime types, it's OK 45880 45881 45882 acceptedFiles = acceptedFiles.split(","); 45883 var mimeType = file.type; 45884 var baseMimeType = mimeType.replace(/\/.*$/, ""); 45885 45886 var _iterator25 = dropzone_createForOfIteratorHelper(acceptedFiles, true), 45887 _step25; 45888 45889 try { 45890 for (_iterator25.s();
vendor: 10,317 bytes, lines 45890-46281
45890 !(_step25 = _iterator25.n()).done;) { 45891 var validType = _step25.value; 45892 validType = validType.trim(); 45893 45894 if (validType.charAt(0) === ".") { 45895 if (file.name.toLowerCase().indexOf(validType.toLowerCase(), file.name.length - validType.length) !== -1) { 45896 return true; 45897 } 45898 } else if (/\/\*$/.test(validType)) { 45899 // This is something like a image/* mime type 45900 if (baseMimeType === validType.replace(/\/.*$/, "")) { 45901 return true; 45902 } 45903 } else { 45904 if (mimeType === validType) { 45905 return true; 45906 } 45907 } 45908 } 45909 } catch (err) { 45910 _iterator25.e(err); 45911 } finally { 45912 _iterator25.f(); 45913 } 45914 45915 return false; 45916}; // Augment jQuery 45917 45918 45919if (typeof jQuery !== "undefined" && jQuery !== null) { 45920 jQuery.fn.dropzone = function (options) { 45921 return this.each(function () { 45922 return new Dropzone(this, options); 45923 }); 45924 }; 45925} // Dropzone file status codes 45926 45927 45928Dropzone.ADDED = "added"; 45929Dropzone.QUEUED = "queued"; // For backwards compatibility. Now, if a file is accepted, it's either queued 45930// or uploading. 45931 45932Dropzone.ACCEPTED = Dropzone.QUEUED; 45933Dropzone.UPLOADING = "uploading"; 45934Dropzone.PROCESSING = Dropzone.UPLOADING; // alias 45935 45936Dropzone.CANCELED = "canceled"; 45937Dropzone.ERROR = "error"; 45938Dropzone.SUCCESS = "success"; 45939/* 45940 45941 Bugfix for iOS 6 and 7 45942 Source: http://stackoverflow.com/questions/11929099/html5-canvas-drawimage-ratio-bug-ios 45943 based on the work of https://github.com/stomita/ios-imagefile-megapixel 45944 45945 */ 45946// Detecting vertical squash in loaded image. 45947// Fixes a bug which squash image vertically while drawing into canvas for some images. 45948// This is a bug in iOS6 devices. This function from https://github.com/stomita/ios-imagefile-megapixel 45949 45950var detectVerticalSquash = function detectVerticalSquash(img) { 45951 var iw = img.naturalWidth; 45952 var ih = img.naturalHeight; 45953 var canvas = document.createElement("canvas"); 45954 canvas.width = 1; 45955 canvas.height = ih; 45956 var ctx = canvas.getContext("2d"); 45957 ctx.drawImage(img, 0, 0); 45958 45959 var _ctx$getImageData = ctx.getImageData(1, 0, 1, ih), 45960 data = _ctx$getImageData.data; // search image edge pixel position in case it is squashed vertically. 45961 45962 45963 var sy = 0; 45964 var ey = ih; 45965 var py = ih; 45966 45967 while (py > sy) { 45968 var alpha = data[(py - 1) * 4 + 3]; 45969 45970 if (alpha === 0) { 45971 ey = py; 45972 } else { 45973 sy = py; 45974 } 45975 45976 py = ey + sy >> 1; 45977 } 45978 45979 var ratio = py / ih; 45980 45981 if (ratio === 0) { 45982 return 1; 45983 } else { 45984 return ratio; 45985 } 45986}; // A replacement for context.drawImage 45987// (args are for source and destination). 45988 45989 45990var drawImageIOSFix = function drawImageIOSFix(ctx, img, sx, sy, sw, sh, dx, dy, dw, dh) { 45991 var vertSquashRatio = detectVerticalSquash(img); 45992 return ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh / vertSquashRatio); 45993}; // Based on MinifyJpeg 45994// Source: http://www.perry.cz/files/ExifRestorer.js 45995// http://elicon.blog57.fc2.com/blog-entry-206.html 45996 45997 45998var ExifRestore = /*#__PURE__*/function () { 45999 function ExifRestore() { 46000 dropzone_classCallCheck(this, ExifRestore); 46001 } 46002 46003 dropzone_createClass(ExifRestore, null, [{ 46004 key: "initClass", 46005 value: function initClass() { 46006 this.KEY_STR = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; 46007 } 46008 }, { 46009 key: "encode64", 46010 value: function encode64(input) { 46011 var output = ""; 46012 var chr1 = undefined; 46013 var chr2 = undefined; 46014 var chr3 = ""; 46015 var enc1 = undefined; 46016 var enc2 = undefined; 46017 var enc3 = undefined; 46018 var enc4 = ""; 46019 var i = 0; 46020 46021 while (true) { 46022 chr1 = input[i++]; 46023 chr2 = input[i++]; 46024 chr3 = input[i++]; 46025 enc1 = chr1 >> 2; 46026 enc2 = (chr1 & 3) << 4 | chr2 >> 4; 46027 enc3 = (chr2 & 15) << 2 | chr3 >> 6; 46028 enc4 = chr3 & 63; 46029 46030 if (isNaN(chr2)) { 46031 enc3 = enc4 = 64; 46032 } else if (isNaN(chr3)) { 46033 enc4 = 64; 46034 } 46035 46036 output = output + this.KEY_STR.charAt(enc1) + this.KEY_STR.charAt(enc2) + this.KEY_STR.charAt(enc3) + this.KEY_STR.charAt(enc4); 46037 chr1 = chr2 = chr3 = ""; 46038 enc1 = enc2 = enc3 = enc4 = ""; 46039 46040 if (!(i < input.length)) { 46041 break; 46042 } 46043 } 46044 46045 return output; 46046 } 46047 }, { 46048 key: "restore", 46049 value: function restore(origFileBase64, resizedFileBase64) { 46050 if (!origFileBase64.match("data:image/jpeg;base64,")) { 46051 return resizedFileBase64; 46052 } 46053 46054 var rawImage = this.decode64(origFileBase64.replace("data:image/jpeg;base64,", "")); 46055 var segments = this.slice2Segments(rawImage); 46056 var image = this.exifManipulation(resizedFileBase64, segments); 46057 return "data:image/jpeg;base64,".concat(this.encode64(image)); 46058 } 46059 }, { 46060 key: "exifManipulation", 46061 value: function exifManipulation(resizedFileBase64, segments) { 46062 var exifArray = this.getExifArray(segments); 46063 var newImageArray = this.insertExif(resizedFileBase64, exifArray); 46064 var aBuffer = new Uint8Array(newImageArray); 46065 return aBuffer; 46066 } 46067 }, { 46068 key: "getExifArray", 46069 value: function getExifArray(segments) { 46070 var seg = undefined; 46071 var x = 0; 46072 46073 while (x < segments.length) { 46074 seg = segments[x]; 46075 46076 if (seg[0] === 255 & seg[1] === 225) { 46077 return seg; 46078 } 46079 46080 x++; 46081 } 46082 46083 return []; 46084 } 46085 }, { 46086 key: "insertExif", 46087 value: function insertExif(resizedFileBase64, exifArray) { 46088 var imageData = resizedFileBase64.replace("data:image/jpeg;base64,", ""); 46089 var buf = this.decode64(imageData); 46090 var separatePoint = buf.indexOf(255, 3); 46091 var mae = buf.slice(0, separatePoint); 46092 var ato = buf.slice(separatePoint); 46093 var array = mae; 46094 array = array.concat(exifArray); 46095 array = array.concat(ato); 46096 return array; 46097 } 46098 }, { 46099 key: "slice2Segments", 46100 value: function slice2Segments(rawImageArray) { 46101 var head = 0; 46102 var segments = []; 46103 46104 while (true) { 46105 var length; 46106 46107 if (rawImageArray[head] === 255 & rawImageArray[head + 1] === 218) { 46108 break; 46109 } 46110 46111 if (rawImageArray[head] === 255 & rawImageArray[head + 1] === 216) { 46112 head += 2; 46113 } else { 46114 length = rawImageArray[head + 2] * 256 + rawImageArray[head + 3]; 46115 var endPoint = head + length + 2; 46116 var seg = rawImageArray.slice(head, endPoint); 46117 segments.push(seg); 46118 head = endPoint; 46119 } 46120 46121 if (head > rawImageArray.length) { 46122 break; 46123 } 46124 } 46125 46126 return segments; 46127 } 46128 }, { 46129 key: "decode64", 46130 value: function decode64(input) { 46131 var output = ""; 46132 var chr1 = undefined; 46133 var chr2 = undefined; 46134 var chr3 = ""; 46135 var enc1 = undefined; 46136 var enc2 = undefined; 46137 var enc3 = undefined; 46138 var enc4 = ""; 46139 var i = 0; 46140 var buf = []; // remove all characters that are not A-Z, a-z, 0-9, +, /, or = 46141 46142 var base64test = /[^A-Za-z0-9\+\/\=]/g; 46143 46144 if (base64test.exec(input)) { 46145 console.warn("There were invalid base64 characters in the input text.\nValid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='\nExpect errors in decoding."); 46146 } 46147 46148 input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); 46149 46150 while (true) { 46151 enc1 = this.KEY_STR.indexOf(input.charAt(i++)); 46152 enc2 = this.KEY_STR.indexOf(input.charAt(i++)); 46153 enc3 = this.KEY_STR.indexOf(input.charAt(i++)); 46154 enc4 = this.KEY_STR.indexOf(input.charAt(i++)); 46155 chr1 = enc1 << 2 | enc2 >> 4; 46156 chr2 = (enc2 & 15) << 4 | enc3 >> 2; 46157 chr3 = (enc3 & 3) << 6 | enc4; 46158 buf.push(chr1); 46159 46160 if (enc3 !== 64) { 46161 buf.push(chr2); 46162 } 46163 46164 if (enc4 !== 64) { 46165 buf.push(chr3); 46166 } 46167 46168 chr1 = chr2 = chr3 = ""; 46169 enc1 = enc2 = enc3 = enc4 = ""; 46170 46171 if (!(i < input.length)) { 46172 break; 46173 } 46174 } 46175 46176 return buf; 46177 } 46178 }]); 46179 46180 return ExifRestore; 46181}(); 46182 46183ExifRestore.initClass(); 46184/* 46185 * contentloaded.js 46186 * 46187 * Author: Diego Perini (diego.perini at gmail.com) 46188 * Summary: cross-browser wrapper for DOMContentLoaded 46189 * Updated: 20101020 46190 * License: MIT 46191 * Version: 1.2 46192 * 46193 * URL: 46194 * http://javascript.nwbox.com/ContentLoaded/ 46195 * http://javascript.nwbox.com/ContentLoaded/MIT-LICENSE 46196 */ 46197// @win window reference 46198// @fn function reference 46199 46200var contentLoaded = function contentLoaded(win, fn) { 46201 var done = false; 46202 var top = true; 46203 var doc = win.document; 46204 var root = doc.documentElement; 46205 var add = doc.addEventListener ? "addEventListener" : "attachEvent"; 46206 var rem = doc.addEventListener ? "removeEventListener" : "detachEvent"; 46207 var pre = doc.addEventListener ? "" : "on"; 46208 46209 var init = function init(e) { 46210 if (e.type === "readystatechange" && doc.readyState !== "complete") { 46211 return; 46212 } 46213 46214 (e.type === "load" ? win : doc)[rem](pre + e.type, init, false); 46215 46216 if (!done && (done = true)) { 46217 return fn.call(win, e.type || e); 46218 } 46219 }; 46220 46221 var poll = function poll() { 46222 try { 46223 root.doScroll("left"); 46224 } catch (e) { 46225 setTimeout(poll, 50); 46226 return; 46227 } 46228 46229 return init("poll"); 46230 }; 46231 46232 if (doc.readyState !== "complete") { 46233 if (doc.createEventObject && root.doScroll) { 46234 try { 46235 top = !win.frameElement; 46236 } catch (error) {} 46237 46238 if (top) { 46239 poll(); 46240 } 46241 } 46242 46243 doc[add](pre + "DOMContentLoaded", init, false); 46244 doc[add](pre + "readystatechange", init, false); 46245 return win[add](pre + "load", init, false); 46246 } 46247}; // As a single function to be able to write tests. 46248 46249 46250Dropzone._autoDiscoverFunction = function () { 46251 if (Dropzone.autoDiscover) { 46252 return Dropzone.discover(); 46253 } 46254}; 46255 46256contentLoaded(window, Dropzone._autoDiscoverFunction); 46257 46258function __guard__(value, transform) { 46259 return typeof value !== "undefined" && value !== null ? transform(value) : undefined; 46260} 46261 46262function __guardMethod__(obj, methodName, transform) { 46263 if (typeof obj !== "undefined" && obj !== null && typeof obj[methodName] === "function") { 46264 return transform(obj, methodName); 46265 } else { 46266 return undefined; 46267 } 46268} 46269 46270 46271;// CONCATENATED MODULE: ./tool/dropzone.dist.js 46272 /// Make Dropzone a global variable. 46273 46274window.Dropzone = Dropzone; 46275/* harmony default export */ var dropzone_dist = (Dropzone); 46276 46277}(); 46278/******/ return __webpack_exports__; 46279/******/ })() 46280; 46281});
46281 46282"use strict"; 46283 46284// 46285// Dropzone Initialization 46286// 46287 46288// Set Defaults 46289Dropzone.autoDiscover = false; 46290Dropzone.prototype.previewTemplate = `\ 46291 <div class="dz-preview dz-file-preview"> 46292 <div class="dz-image"><img data-dz-thumbnail /></div> 46293 46294 <div class="dz-details"> 46295 <div class="dz-size"><span data-dz-size></span></div> 46296 <div class="dz-filename"><span data-dz-name></span></div> 46297 </div> 46298 46299 <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div> 46300 46301 <div class="dz-error-message"><span data-dz-errormessage></span></div> 46302 46303 <div class="dz-success-mark"> 46304 <svg width="54px" height="54px" viewBox="0 0 54 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 46305 <title>Check</title> 46306 <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 46307 <path d="M23.5,31.8431458 L17.5852419,25.9283877 C16.0248253,24.3679711 13.4910294,24.366835 11.9289322,25.9289322 C10.3700136,27.4878508 10.3665912,30.0234455 11.9283877,31.5852419 L20.4147581,40.0716123 C20.5133999,40.1702541 20.6159315,40.2626649 20.7218615,40.3488435 C22.2835669,41.8725651 24.794234,41.8626202 26.3461564,40.3106978 L43.3106978,23.3461564 C44.8771021,21.7797521 44.8758057,19.2483887 43.3137085,17.6862915 C41.7547899,16.1273729 39.2176035,16.1255422 37.6538436,17.6893022 L23.5,31.8431458 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z" stroke-opacity="0.198794158" stroke="#747474" fill-opacity="0.816519475" fill="#FFFFFF"></path> 46308 </g> 46309 </svg> 46310 </div> 46311 46312 <div class="dz-error-mark"> 46313 <svg width="54px" height="54px" viewBox="0 0 54 54" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> 46314 <title>Error</title> 46315 <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> 46316 <g stroke="#747474" stroke-opacity="0.198794158" fill="#FFFFFF" fill-opacity="0.816519475"> 46317 <path d="M32.6568542,29 L38.3106978,23.3461564 C39.8771021,21.7797521 39.8758057,19.2483887 38.3137085,17.6862915 C36.7547899,16.1273729 34.2176035,16.1255422 32.6538436,17.6893022 L27,23.3431458 L21.3461564,17.6893022 C19.7823965,16.1255422 17.2452101,16.1273729 15.6862915,17.6862915 C14.1241943,19.2483887 14.1228979,21.7797521 15.6893022,23.3461564 L21.3431458,29 L15.6893022,34.6538436 C14.1228979,36.2202479 14.1241943,38.7516113 15.6862915,40.3137085 C17.2452101,41.8726271 19.7823965,41.8744578 21.3461564,40.3106978 L27,34.6568542 L32.6538436,40.3106978 C34.2176035,41.8744578 36.7547899,41.8726271 38.3137085,40.3137085 C39.8758057,38.7516113 39.8771021,36.2202479 38.3106978,34.6538436 L32.6568542,29 Z M27,53 C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z"></path> 46318 </g> 46319 </g> 46320 </svg> 46321 </div> 46322 </div>\ 46323`;
vendor: 69,030 bytes, lines 46324-46325
46324/*! For license information please see quill.js.LICENSE.txt */ 46325!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Quill=e():t.Quill=e()}(self,(function(){return function(){var t={9698:function(t,e,n){"use strict";n.d(e,{Ay:function(){return c},Ji:function(){return d},mG:function(){return h},zo:function(){return u}});var r=n(6003),i=n(5232),s=n.n(i),o=n(3036),l=n(4850),a=n(5508);class c extends r.BlockBlot{cache={};delta(){return null==this.cache.delta&&(this.cache.delta=h(this)),this.cache.delta}deleteAt(t,e){super.deleteAt(t,e),this.cache={}}formatAt(t,e,n,i){e<=0||(this.scroll.query(n,r.Scope.BLOCK)?t+e===this.length()&&this.format(n,i):super.formatAt(t,Math.min(e,this.length()-t-1),n,i),this.cache={})}insertAt(t,e,n){if(null!=n)return super.insertAt(t,e,n),void(this.cache={});if(0===e.length)return;const r=e.split("\n"),i=r.shift();i.length>0&&(t<this.length()-1||null==this.children.tail?super.insertAt(Math.min(t,this.length()-1),i):this.children.tail.insertAt(this.children.tail.length(),i),this.cache={});let s=this;r.reduce(((t,e)=>(s=s.split(t,!0),s.insertAt(0,e),e.length)),t+i.length)}insertBefore(t,e){const{head:n}=this.children;super.insertBefore(t,e),n instanceof o.A&&n.remove(),this.cache={}}length(){return null==this.cache.length&&(this.cache.length=super.length()+1),this.cache.length}moveChildren(t,e){super.moveChildren(t,e),this.cache={}}optimize(t){super.optimize(t),this.cache={}}path(t){return super.path(t,!0)}removeChild(t){super.removeChild(t),this.cache={}}split(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e&&(0===t||t>=this.length()-1)){const e=this.clone();return 0===t?(this.parent.insertBefore(e,this),this):(this.parent.insertBefore(e,this.next),e)}const n=super.split(t,e);return this.cache={},n}}c.blotName="block",c.tagName="P",c.defaultChild=o.A,c.allowedChildren=[o.A,l.A,r.EmbedBlot,a.A];class u extends r.EmbedBlot{attach(){super.attach(),this.attributes=new r.AttributorStore(this.domNode)}delta(){return(new(s())).insert(this.value(),{...this.formats(),...this.attributes.values()})}format(t,e){const n=this.scroll.query(t,r.Scope.BLOCK_ATTRIBUTE);null!=n&&this.attributes.attribute(n,e)}formatAt(t,e,n,r){this.format(n,r)}insertAt(t,e,n){if(null!=n)return void super.insertAt(t,e,n);const r=e.split("\n"),i=r.pop(),s=r.map((t=>{const e=this.scroll.create(c.blotName);return e.insertAt(0,t),e})),o=this.split(t);s.forEach((t=>{this.parent.insertBefore(t,o)})),i&&this.parent.insertBefore(this.scroll.create("text",i),o)}}function h(t){let e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return t.descendants(r.LeafBlot).reduce(((t,n)=>0===n.length()?t:t.insert(n.value(),d(n,{},e))),new(s())).insert("\n",d(t))}function d(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return null==t?e:("formats"in t&&"function"==typeof t.formats&&(e={...e,...t.formats()},n&&delete e["code-token"]),null==t.parent||"scroll"===t.parent.statics.blotName||t.parent.statics.scope!==t.statics.scope?e:d(t.parent,e,n))}u.scope=r.Scope.BLOCK_BLOT},3036:function(t,e,n){"use strict";var r=n(6003);class i extends r.EmbedBlot{static value(){}optimize(){(this.prev||this.next)&&this.remove()}length(){return 0}value(){return""}}i.blotName="break",i.tagName="BR",e.A=i},580:function(t,e,n){"use strict";var r=n(6003);class i extends r.ContainerBlot{}e.A=i},4541:function(t,e,n){"use strict";var r=n(6003),i=n(5508);class s extends r.EmbedBlot{static blotName="cursor";static className="ql-cursor";static tagName="span";static CONTENTS="\ufeff";static value(){}constructor(t,e,n){super(t,e),this.selection=n,this.textNode=document.createTextNode(s.CONTENTS),this.domNode.appendChild(this.textNode),this.savedLength=0}detach(){null!=this.parent&&this.parent.removeChild(this)}format(t,e){if(0!==this.savedLength)return void super.format(t,e);let n=this,i=0;for(;null!=n&&n.statics.scope!==r.Scope.BLOCK_BLOT;)i+=n.offset(n.parent),n=n.parent;null!=n&&(this.savedLength=s.CONTENTS.length,n.optimize(),n.formatAt(i,s.CONTENTS.length,t,e),this.savedLength=0)}index(t,e){return t===this.textNode?0:super.index(t,e)}length(){return this.savedLength}position(){return[this.textNode,this.textNode.data.length]}remove(){super.remove(),this.parent=null}restore(){if(this.selection.composing||null==this.parent)return null;const t=this.selection.getNativeRange();for(;null!=this.domNode.lastChild&&this.domNode.lastChild!==this.textNode;)this.domNode.parentNode.insertBefore(this.domNode.lastChild,this.domNode);const e=this.prev instanceof i.A?this.prev:null,n=e?e.length():0,r=this.next instanceof i.A?this.next:null,o=r?r.text:"",{textNode:l}=this,a=l.data.split(s.CONTENTS).join("");let c;if(l.data=s.CONTENTS,e)c=e,(a||r)&&(e.insertAt(e.length(),a+o),r&&r.remove());else if(r)c=r,r.insertAt(0,a);else{const t=document.createTextNode(a);c=this.scroll.create(t),this.parent.insertBefore(c,this)}if(this.remove(),t){const i=(t,i)=>e&&t===e.domNode?i:t===l?n+i-1:r&&t===r.domNode?n+a.length+i:null,s=i(t.start.node,t.start.offset),o=i(t.end.node,t.end.offset);if(null!==s&&null!==o)return{startNode:c.domNode,startOffset:s,endNode:c.domNode,endOffset:o}}return null}update(t,e){if(t.some((t=>"characterData"===t.type&&t.target===this.textNode))){const t=this.restore();t&&(e.range=t)}}optimize(t){super.optimize(t);let{parent:e}=this;for(;e;){if("A"===e.domNode.tagName){this.savedLength=s.CONTENTS.length,e.isolate(this.offset(e),this.length()).unwrap(),this.savedLength=0;break}e=e.parent}}value(){return""}}e.A=s},746:function(t,e,n){"use strict";var r=n(6003),i=n(5508);const s="\ufeff";class o extends r.EmbedBlot{constructor(t,e){super(t,e),this.contentNode=document.createElement("span"),this.contentNode.setAttribute("contenteditable","false"),Array.from(this.domNode.childNodes).forEach((t=>{this.contentNode.appendChild(t)})),this.leftGuard=document.createTextNode(s),this.rightGuard=document.createTextNode(s),this.domNode.appendChild(this.leftGuard),this.domNode.appendChild(this.contentNode),this.domNode.appendChild(this.rightGuard)}index(t,e){return t===this.leftGuard?0:t===this.rightGuard?1:super.index(t,e)}restore(t){let e,n=null;const r=t.data.split(s).join("");if(t===this.leftGuard)if(this.prev instanceof i.A){const t=this.prev.length();this.prev.insertAt(t,r),n={startNode:this.prev.domNode,startOffset:t+r.length}}else e=document.createTextNode(r),this.parent.insertBefore(this.scroll.create(e),this),n={startNode:e,startOffset:r.length};else t===this.rightGuard&&(this.next instanceof i.A?(this.next.insertAt(0,r),n={startNode:this.next.domNode,startOffset:r.length}):(e=document.createTextNode(r),this.parent.insertBefore(this.scroll.create(e),this.next),n={startNode:e,startOffset:r.length}));return t.data=s,n}update(t,e){t.forEach((t=>{if("characterData"===t.type&&(t.target===this.leftGuard||t.target===this.rightGuard)){const n=this.restore(t.target);n&&(e.range=n)}}))}}e.A=o},4850:function(t,e,n){"use strict";var r=n(6003),i=n(3036),s=n(5508);class o extends r.InlineBlot{static allowedChildren=[o,i.A,r.EmbedBlot,s.A];static order=["cursor","inline","link","underline","strike","italic","bold","script","code"];static compare(t,e){const n=o.order.indexOf(t),r=o.order.indexOf(e);return n>=0||r>=0?n-r:t===e?0:t<e?-1:1}formatAt(t,e,n,i){if(o.compare(this.statics.blotName,n)<0&&this.scroll.query(n,r.Scope.BLOT)){const r=this.isolate(t,e);i&&r.wrap(n,i)}else super.formatAt(t,e,n,i)}optimize(t){if(super.optimize(t),this.parent instanceof o&&o.compare(this.statics.blotName,this.parent.statics.blotName)>0){const t=this.parent.isolate(this.offset(),this.length());this.moveChildren(t),t.wrap(this)}}}e.A=o},5508:function(t,e,n){"use strict";n.d(e,{A:function(){return i},X:function(){return o}});var r=n(6003);class i extends r.TextBlot{}const s={"&":"&","<":"<",">":">",'"':""","'":"'"};function o(t){return t.replace(/[&<>"']/g,(t=>s[t]))}},3729:function(t,e,n){"use strict";n.d(e,{default:function(){return R}});var r=n(6142),i=n(9698),s=n(3036),o=n(580),l=n(4541),a=n(746),c=n(4850),u=n(6003),h=n(5232),d=n.n(h),f=n(5374);function p(t){return t instanceof i.Ay||t instanceof i.zo}function g(t){return"function"==typeof t.updateContent}class m extends u.ScrollBlot{static blotName="scroll";static className="ql-editor";static tagName="DIV";static defaultChild=i.Ay;static allowedChildren=[i.Ay,i.zo,o.A];constructor(t,e,n){let{emitter:r}=n;super(t,e),this.emitter=r,this.batch=!1,this.optimize(),this.enable(),this.domNode.addEventListener("dragstart",(t=>this.handleDragStart(t)))}batchStart(){Array.isArray(this.batch)||(this.batch=[])}batchEnd(){if(!this.batch)return;const t=this.batch;this.batch=!1,this.update(t)}emitMount(t){this.emitter.emit(f.A.events.SCROLL_BLOT_MOUNT,t)}emitUnmount(t){this.emitter.emit(f.A.events.SCROLL_BLOT_UNMOUNT,t)}emitEmbedUpdate(t,e){this.emitter.emit(f.A.events.SCROLL_EMBED_UPDATE,t,e)}deleteAt(t,e){const[n,r]=this.line(t),[o]=this.line(t+e);if(super.deleteAt(t,e),null!=o&&n!==o&&r>0){if(n instanceof i.zo||o instanceof i.zo)return void this.optimize();const t=o.children.head instanceof s.A?null:o.children.head;n.moveChildren(o,t),n.remove()}this.optimize()}enable(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.domNode.setAttribute("contenteditable",t?"true":"false")}formatAt(t,e,n,r){super.formatAt(t,e,n,r),this.optimize()}insertAt(t,e,n){if(t>=this.length())if(null==n||null==this.scroll.query(e,u.Scope.BLOCK)){const t=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(t),null==n&&e.endsWith("\n")?t.insertAt(0,e.slice(0,-1),n):t.insertAt(0,e,n)}else{const t=this.scroll.create(e,n);this.appendChild(t)}else super.insertAt(t,e,n);this.optimize()}insertBefore(t,e){if(t.statics.scope===u.Scope.INLINE_BLOT){const n=this.scroll.create(this.statics.defaultChild.blotName);n.appendChild(t),super.insertBefore(n,e)}else super.insertBefore(t,e)}insertContents(t,e){const n=this.deltaToRenderBlocks(e.concat((new(d())).insert("\n"))),r=n.pop();if(null==r)return;this.batchStart();const s=n.shift();if(s){const e="block"===s.type&&(0===s.delta.length()||!this.descendant(i.zo,t)[0]&&t<this.length()),n="block"===s.type?s.delta:(new(d())).insert({[s.key]:s.value});b(this,t,n);const r="block"===s.type?1:0,o=t+n.length()+r;e&&this.insertAt(o-1,"\n");const l=(0,i.Ji)(this.line(t)[0]),a=h.AttributeMap.diff(l,s.attributes)||{};Object.keys(a).forEach((t=>{this.formatAt(o-1,1,t,a[t])})),t=o}let[o,l]=this.children.find(t);n.length&&(o&&(o=o.split(l),l=0),n.forEach((t=>{if("block"===t.type)b(this.createBlock(t.attributes,o||void 0),0,t.delta);else{const e=this.create(t.key,t.value);this.insertBefore(e,o||void 0),Object.keys(t.attributes).forEach((n=>{e.format(n,t.attributes[n])}))}}))),"block"===r.type&&r.delta.length()&&b(this,o?o.offset(o.scroll)+l:this.length(),r.delta),this.batchEnd(),this.optimize()}isEnabled(){return"true"===this.domNode.getAttribute("contenteditable")}leaf(t){const e=this.path(t).pop();if(!e)return[null,-1];const[n,r]=e;return n instanceof u.LeafBlot?[n,r]:[null,-1]}line(t){return t===this.length()?this.line(t-1):this.descendant(p,t)}lines(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE;const n=(t,e,r)=>{let i=[],s=r;return t.children.forEachAt(e,r,((t,e,r)=>{p(t)?i.push(t):t instanceof u.ContainerBlot&&(i=i.concat(n(t,e,s))),s-=r})),i};return n(this,t,e)}optimize(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.batch||(super.optimize(t,e),t.length>0&&this.emitter.emit(f.A.events.SCROLL_OPTIMIZE,t,e))}path(t){return super.path(t).slice(1)}remove(){}update(t){if(this.batch)return void(Array.isArray(t)&&(this.batch=this.batch.concat(t)));let e=f.A.sources.USER;"string"==typeof t&&(e=t),Array.isArray(t)||(t=this.observer.takeRecords()),(t=t.filter((t=>{let{target:e}=t;const n=this.find(e,!0);return n&&!g(n)}))).length>0&&this.emitter.emit(f.A.events.SCROLL_BEFORE_UPDATE,e,t),super.update(t.concat([])),t.length>0&&this.emitter.emit(f.A.events.SCROLL_UPDATE,e,t)}updateEmbedAt(t,e,n){const[r]=this.descendant((t=>t instanceof i.zo),t);r&&r.statics.blotName===e&&g(r)&&r.updateContent(n)}handleDragStart(t){t.preventDefault()}deltaToRenderBlocks(t){const e=[];let n=new(d());return t.forEach((t=>{const r=t?.insert;if(r)if("string"==typeof r){const i=r.split("\n");i.slice(0,-1).forEach((r=>{n.insert(r,t.attributes),e.push({type:"block",delta:n,attributes:t.attributes??{}}),n=new(d())}));const s=i[i.length-1];s&&n.insert(s,t.attributes)}else{const i=Object.keys(r)[0];if(!i)return;this.query(i,u.Scope.INLINE)?n.push(t):(n.length()&&e.push({type:"block",delta:n,attributes:{}}),n=new(d()),e.push({type:"blockEmbed",key:i,value:r[i],attributes:t.attributes??{}}))}})),n.length()&&e.push({type:"block",delta:n,attributes:{}}),e}createBlock(t,e){let n;const r={};Object.entries(t).forEach((t=>{let[e,i]=t;null!=this.query(e,u.Scope.BLOCK&u.Scope.BLOT)?n=e:r[e]=i}));const i=this.create(n||this.statics.defaultChild.blotName,n?t[n]:void 0);this.insertBefore(i,e||void 0);const s=i.length();return Object.entries(r).forEach((t=>{let[e,n]=t;i.formatAt(0,s,e,n)})),i}}function b(t,e,n){n.reduce(((e,n)=>{const r=h.Op.length(n);let s=n.attributes||{};if(null!=n.insert)if("string"==typeof n.insert){const r=n.insert;t.insertAt(e,r);const[o]=t.descendant(u.LeafBlot,e),l=(0,i.Ji)(o);s=h.AttributeMap.diff(l,s)||{}}else if("object"==typeof n.insert){const r=Object.keys(n.insert)[0];if(null==r)return e;if(t.insertAt(e,r,n.insert[r]),null!=t.scroll.query(r,u.Scope.INLINE)){const[n]=t.descendant(u.LeafBlot,e),r=(0,i.Ji)(n);s=h.AttributeMap.diff(r,s)||{}}}return Object.keys(s).forEach((n=>{t.formatAt(e,r,n,s[n])})),e+r}),e)}var y=m,v=n(5508),A=n(584),x=n(4266);class N extends x.A{static DEFAULTS={delay:1e3,maxStack:100,userOnly:!1};lastRecorded=0;ignoreChange=!1;stack={undo:[],redo:[]};currentRange=null;constructor(t,e){super(t,e),this.quill.on(r.Ay.events.EDITOR_CHANGE,((t,e,n,i)=>{t===r.Ay.events.SELECTION_CHANGE?e&&i!==r.Ay.sources.SILENT&&(this.currentRange=e):t===r.Ay.events.TEXT_CHANGE&&(this.ignoreChange||(this.options.userOnly&&i!==r.Ay.sources.USER?this.transform(e):this.record(e,n)),this.currentRange=w(this.currentRange,e))})),this.quill.keyboard.addBinding({key:"z",shortKey:!0},this.undo.bind(this)),this.quill.keyboard.addBinding({key:["z","Z"],shortKey:!0,shiftKey:!0},this.redo.bind(this)),/Win/i.test(navigator.platform)&&this.quill.keyboard.addBinding({key:"y",shortKey:!0},this.redo.bind(this)),this.quill.root.addEventListener("beforeinput",(t=>{"historyUndo"===t.inputType?(this.undo(),t.preventDefault()):"historyRedo"===t.inputType&&(this.redo(),t.preventDefault())}))}change(t,e){if(0===this.stack[t].length)return;const n=this.stack[t].pop();if(!n)return;const i=this.quill.getContents(),s=n.delta.invert(i);this.stack[e].push({delta:s,range:w(n.range,s)}),this.lastRecorded=0,this.ignoreChange=!0,this.quill.updateContents(n.delta,r.Ay.sources.USER),this.ignoreChange=!1,this.restoreSelection(n)}clear(){this.stack={undo:[],redo:[]}}cutoff(){this.lastRecorded=0}record(t,e){if(0===t.ops.length)return;this.stack.redo=[];let n=t.invert(e),r=this.currentRange;const i=Date.now();if(this.lastRecorded+this.options.delay>i&&this.stack.undo.length>0){const t=this.stack.undo.pop();t&&(n=n.compose(t.delta),r=t.range)}else this.lastRecorded=i;0!==n.length()&&(this.stack.undo.push({delta:n,range:r}),this.stack.undo.length>this.options.maxStack&&this.stack.undo.shift())}redo(){this.change("redo","undo")}transform(t){E(this.stack.undo,t),E(this.stack.redo,t)}undo(){this.change("undo","redo")}restoreSelection(t){if(t.range)this.quill.setSelection(t.range,r.Ay.sources.USER);else{const e=function(t,e){const n=e.reduce(((t,e)=>t+(e.delete||0)),0);let r=e.length()-n;return function(t,e){const n=e.ops[e.ops.length-1];return null!=n&&(null!=n.insert?"string"==typeof n.insert&&n.insert.endsWith("\n"):null!=n.attributes&&Object.keys(n.attributes).some((e=>null!=t.query(e,u.Scope.BLOCK))))}(t,e)&&(r-=1),r}(this.quill.scroll,t.delta);this.quill.setSelection(e,r.Ay.sources.USER)}}}function E(t,e){let n=e;for(let e=t.length-1;e>=0;e-=1){const r=t[e];t[e]={delta:n.transform(r.delta,!0),range:r.range&&w(r.range,n)},n=r.delta.transform(n),0===t[e].delta.length()&&t.splice(e,1)}}function w(t,e){if(!t)return t;const n=e.transformPosition(t.index);return{index:n,length:e.transformPosition(t.index+t.length)-n}}var q=n(8123);class k extends x.A{constructor(t,e){super(t,e),t.root.addEventListener("drop",(e=>{e.preventDefault();let n=null;if(document.caretRangeFromPoint)n=document.caretRangeFromPoint(e.clientX,e.clientY);else if(document.caretPositionFromPoint){const t=document.caretPositionFromPoint(e.clientX,e.clientY);n=document.createRange(),n.setStart(t.offsetNode,t.offset),n.setEnd(t.offsetNode,t.offset)}const r=n&&t.selection.normalizeNative(n);if(r){const n=t.selection.normalizedToRange(r);e.dataTransfer?.files&&this.upload(n,e.dataTransfer.files)}}))}upload(t,e){const n=[];Array.from(e).forEach((t=>{t&&this.options.mimetypes?.includes(t.type)&&n.push(t)})),n.length>0&&this.options.handler.call(this,t,n)}}k.DEFAULTS={mimetypes:["image/png","image/jpeg"],handler(t,e){if(!this.quill.scroll.query("image"))return;const n=e.map((t=>new Promise((e=>{const n=new FileReader;n.onload=()=>{e(n.result)},n.readAsDataURL(t)}))));Promise.all(n).then((e=>{const n=e.reduce(((t,e)=>t.insert({image:e})),(new(d())).retain(t.index).delete(t.length));this.quill.updateContents(n,f.A.sources.USER),this.quill.setSelection(t.index+e.length,f.A.sources.SILENT)}))}};var _=k;const L=["insertText","insertReplacementText"];class S extends x.A{constructor(t,e){super(t,e),t.root.addEventListener("beforeinput",(t=>{this.handleBeforeInput(t)})),/Android/i.test(navigator.userAgent)||t.on(r.Ay.events.COMPOSITION_BEFORE_START,(()=>{this.handleCompositionStart()}))}deleteRange(t){(0,q.Xo)({range:t,quill:this.quill})}replaceText(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(0===t.length)return!1;if(e){const n=this.quill.getFormat(t.index,1);this.deleteRange(t),this.quill.updateContents((new(d())).retain(t.index).insert(e,n),r.Ay.sources.USER)}else this.deleteRange(t);return this.quill.setSelection(t.index+e.length,0,r.Ay.sources.SILENT),!0}handleBeforeInput(t){if(this.quill.composition.isComposing||t.defaultPrevented||!L.includes(t.inputType))return;const e=t.getTargetRanges?t.getTargetRanges()[0]:null;if(!e||!0===e.collapsed)return;const n=function(t){return"string"==typeof t.data?t.data:t.dataTransfer?.types.includes("text/plain")?t.dataTransfer.getData("text/plain"):null}(t);if(null==n)return;const r=this.quill.selection.normalizeNative(e),i=r?this.quill.selection.normalizedToRange(r):null;i&&this.replaceText(i,n)&&t.preventDefault()}handleCompositionStart(){const t=this.quill.getSelection();t&&this.replaceText(t)}}var O=S;const T=/Mac/i.test(navigator.platform);class j extends x.A{isListening=!1;selectionChangeDeadline=0;constructor(t,e){super(t,e),this.handleArrowKeys(),this.handleNavigationShortcuts()}handleArrowKeys(){this.quill.keyboard.addBinding({key:["ArrowLeft","ArrowRight"],offset:0,shiftKey:null,handler(t,e){let{line:n,event:i}=e;if(!(n instanceof u.ParentBlot&&n.uiNode))return!0;const s="rtl"===getComputedStyle(n.domNode).direction;return!!(s&&"ArrowRight"!==i.key||!s&&"ArrowLeft"!==i.key)||(this.quill.setSelection(t.index-1,t.length+(i.shiftKey?1:0),r.Ay.sources.USER),!1)}})}handleNavigationShortcuts(){this.quill.root.addEventListener("keydown",(t=>{!t.defaultPrevented&&(t=>"ArrowLeft"===t.key||"ArrowRight"===t.key||"ArrowUp"===t.key||"ArrowDown"===t.key||"Home"===t.key||!(!T||"a"!==t.key||!0!==t.ctrlKey))(t)&&this.ensureListeningToSelectionChange()}))}ensureListeningToSelectionChange(){this.selectionChangeDeadline=Date.now()+100,this.isListening||(this.isListening=!0,document.addEventListener("selectionchange",(()=>{this.isListening=!1,Date.now()<=this.selectionChangeDeadline&&this.handleSelectionChange()}),{once:!0}))}handleSelectionChange(){const t=document.getSelection();if(!t)return;const e=t.getRangeAt(0);if(!0!==e.collapsed||0!==e.startOffset)return;const n=this.quill.scroll.find(e.startContainer);if(!(n instanceof u.ParentBlot&&n.uiNode))return;const r=document.createRange();r.setStartAfter(n.uiNode),r.setEndAfter(n.uiNode),t.removeAllRanges(),t.addRange(r)}}var C=j;r.Ay.register({"blots/block":i.Ay,"blots/block/embed":i.zo,"blots/break":s.A,"blots/container":o.A,"blots/cursor":l.A,"blots/embed":a.A,"blots/inline":c.A,"blots/scroll":y,"blots/text":v.A,"modules/clipboard":A.Ay,"modules/history":N,"modules/keyboard":q.Ay,"modules/uploader":_,"modules/input":O,"modules/uiNode":C});var R=r.Ay},5374:function(t,e,n){"use strict";n.d(e,{A:function(){return o}});var r=n(8920),i=n(7356);const s=(0,n(6078).A)("quill:events");["selectionchange","mousedown","mouseup","click"].forEach((t=>{document.addEventListener(t,(function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];Array.from(document.querySelectorAll(".ql-container")).forEach((t=>{const n=i.A.get(t);n&&n.emitter&&n.emitter.handleDOM(...e)}))}))}));var o=class extends r{static events={EDITOR_CHANGE:"editor-change",SCROLL_BEFORE_UPDATE:"scroll-before-update",SCROLL_BLOT_MOUNT:"scroll-blot-mount",SCROLL_BLOT_UNMOUNT:"scroll-blot-unmount",SCROLL_OPTIMIZE:"scroll-optimize",SCROLL_UPDATE:"scroll-update",SCROLL_EMBED_UPDATE:"scroll-embed-update",SELECTION_CHANGE:"selection-change",TEXT_CHANGE:"text-change",COMPOSITION_BEFORE_START:"composition-before-start",COMPOSITION_START:"composition-start",COMPOSITION_BEFORE_END:"composition-before-end",COMPOSITION_END:"composition-end"};static sources={API:"api",SILENT:"silent",USER:"user"};constructor(){super(),this.domListeners={},this.on("error",s.error)}emit(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return s.log.call(s,...e),super.emit(...e)}handleDOM(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];(this.domListeners[t.type]||[]).forEach((e=>{let{node:r,handler:i}=e;(t.target===r||r.contains(t.target))&&i(t,...n)}))}listenDOM(t,e,n){this.domListeners[t]||(this.domListeners[t]=[]),this.domListeners[t].push({node:e,handler:n})}}},7356:function(t,e){"use strict";e.A=new WeakMap},6078:function(t,e){"use strict";const n=["error","warn","log","info"];let r="warn";function i(t){if(r&&n.indexOf(t)<=n.indexOf(r)){for(var e=arguments.length,i=new Array(e>1?e-1:0),s=1;s<e;s++)i[s-1]=arguments[s];console[t](...i)}}function s(t){return n.reduce(((e,n)=>(e[n]=i.bind(console,n,t),e)),{})}s.level=t=>{r=t},i.level=s.level,e.A=s},4266:function(t,e){"use strict";e.A=class{static DEFAULTS={};constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.quill=t,this.options=e}}},6142:function(t,e,n){"use strict";n.d(e,{Ay:function(){return I}});var r=n(8347),i=n(6003),s=n(5232),o=n.n(s),l=n(3707),a=n(5123),c=n(9698),u=n(3036),h=n(4541),d=n(5508),f=n(8298);const p=/^[ -~]*$/;function g(t,e,n){if(0===t.length){const[t]=y(n.pop());return e<=0?`</li></${t}>`:`</li></${t}>${g([],e-1,n)}`}const[{child:r,offset:i,length:s,indent:o,type:l},...a]=t,[c,u]=y(l);if(o>e)return n.push(l),o===e+1?`<${c}><li${u}>${m(r,i,s)}${g(a,o,n)}`:`<${c}><li>${g(t,e+1,n)}`;const h=n[n.length-1];if(o===e&&l===h)return`</li><li${u}>${m(r,i,s)}${g(a,o,n)}`;const[d]=y(n.pop());return`</li></${d}>${g(t,e-1,n)}`}function m(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if("html"in t&&"function"==typeof t.html)return t.html(e,n);if(t instanceof d.A)return(0,d.X)(t.value().slice(e,e+n)).replaceAll(" "," ");if(t instanceof i.ParentBlot){if("list-container"===t.statics.blotName){const r=[];return t.children.forEachAt(e,n,((t,e,n)=>{const i="formats"in t&&"function"==typeof t.formats?t.formats():{};r.push({child:t,offset:e,length:n,indent:i.indent||0,type:i.list})})),g(r,-1,[])}const i=[];if(t.children.forEachAt(e,n,((t,e,n)=>{i.push(m(t,e,n))})),r||"list"===t.statics.blotName)return i.join("");const{outerHTML:s,innerHTML:o}=t.domNode,[l,a]=s.split(`>${o}<`);return"<table"===l?`<table style="border: 1px solid #000;">${i.join("")}<${a}`:`${l}>${i.join("")}<${a}`}return t.domNode instanceof Element?t.domNode.outerHTML:""}function b(t,e){return Object.keys(e).reduce(((n,r)=>{if(null==t[r])return n;const i=e[r];return i===t[r]?n[r]=i:Array.isArray(i)?i.indexOf(t[r])<0?n[r]=i.concat([t[r]]):n[r]=i:n[r]=[i,t[r]],n}),{})}function y(t){const e="ordered"===t?"ol":"ul";switch(t){case"checked":return[e,' data-list="checked"'];case"unchecked":return[e,' data-list="unchecked"'];default:return[e,""]}}function v(t){return t.reduce(((t,e)=>{if("string"==typeof e.insert){const n=e.insert.replace(/\r\n/g,"\n").replace(/\r/g,"\n");return t.insert(n,e.attributes)}return t.push(e)}),new(o()))}function A(t,e){let{index:n,length:r}=t;return new f.Q(n+e,r)}var x=class{constructor(t){this.scroll=t,this.delta=this.getDelta()}applyDelta(t){this.scroll.update();let e=this.scroll.length();this.scroll.batchStart();const n=v(t),l=new(o());return function(t){const e=[];return t.forEach((t=>{"string"==typeof t.insert?t.insert.split("\n").forEach(((n,r)=>{r&&e.push({insert:"\n",attributes:t.attributes}),n&&e.push({insert:n,attributes:t.attributes})})):e.push(t)})),e}(n.ops.slice()).reduce(((t,n)=>{const o=s.Op.length(n);let a=n.attributes||{},u=!1,h=!1;if(null!=n.insert){if(l.retain(o),"string"==typeof n.insert){const o=n.insert;h=!o.endsWith("\n")&&(e<=t||!!this.scroll.descendant(c.zo,t)[0]),this.scroll.insertAt(t,o);const[l,u]=this.scroll.line(t);let d=(0,r.A)({},(0,c.Ji)(l));if(l instanceof c.Ay){const[t]=l.descendant(i.LeafBlot,u);t&&(d=(0,r.A)(d,(0,c.Ji)(t)))}a=s.AttributeMap.diff(d,a)||{}}else if("object"==typeof n.insert){const o=Object.keys(n.insert)[0];if(null==o)return t;const l=null!=this.scroll.query(o,i.Scope.INLINE);if(l)(e<=t||this.scroll.descendant(c.zo,t)[0])&&(h=!0);else if(t>0){const[e,n]=this.scroll.descendant(i.LeafBlot,t-1);e instanceof d.A?"\n"!==e.value()[n]&&(u=!0):e instanceof i.EmbedBlot&&e.statics.scope===i.Scope.INLINE_BLOT&&(u=!0)}if(this.scroll.insertAt(t,o,n.insert[o]),l){const[e]=this.scroll.descendant(i.LeafBlot,t);if(e){const t=(0,r.A)({},(0,c.Ji)(e));a=s.AttributeMap.diff(t,a)||{}}}}e+=o}else if(l.push(n),null!==n.retain&&"object"==typeof n.retain){const e=Object.keys(n.retain)[0];if(null==e)return t;this.scroll.updateEmbedAt(t,e,n.retain[e])}Object.keys(a).forEach((e=>{this.scroll.formatAt(t,o,e,a[e])}));const f=u?1:0,p=h?1:0;return e+=f+p,l.retain(f),l.delete(p),t+o+f+p}),0),l.reduce(((t,e)=>"number"==typeof e.delete?(this.scroll.deleteAt(t,e.delete),t):t+s.Op.length(e)),0),this.scroll.batchEnd(),this.scroll.optimize(),this.update(n)}deleteText(t,e){return this.scroll.deleteAt(t,e),this.update((new(o())).retain(t).delete(e))}formatLine(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.scroll.update(),Object.keys(n).forEach((r=>{this.scroll.lines(t,Math.max(e,1)).forEach((t=>{t.format(r,n[r])}))})),this.scroll.optimize();const r=(new(o())).retain(t).retain(e,(0,l.A)(n));return this.update(r)}formatText(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Object.keys(n).forEach((r=>{this.scroll.formatAt(t,e,r,n[r])}));const r=(new(o())).retain(t).retain(e,(0,l.A)(n));return this.update(r)}getContents(t,e){return this.delta.slice(t,t+e)}getDelta(){return this.scroll.lines().reduce(((t,e)=>t.concat(e.delta())),new(o()))}getFormat(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=[],r=[];0===e?this.scroll.path(t).forEach((t=>{const[e]=t;e instanceof c.Ay?n.push(e):e instanceof i.LeafBlot&&r.push(e)})):(n=this.scroll.lines(t,e),r=this.scroll.descendants(i.LeafBlot,t,e));const[s,o]=[n,r].map((t=>{const e=t.shift();if(null==e)return{};let n=(0,c.Ji)(e);for(;Object.keys(n).length>0;){const e=t.shift();if(null==e)return n;n=b((0,c.Ji)(e),n)}return n}));return{...s,...o}}getHTML(t,e){const[n,r]=this.scroll.line(t);if(n){const i=n.length();return n.length()>=r+e&&(0!==r||e!==i)?m(n,r,e,!0):m(this.scroll,t,e,!0)}return""}getText(t,e){return this.getContents(t,e).filter((t=>"string"==typeof t.insert)).map((t=>t.insert)).join("")}insertContents(t,e){const n=v(e),r=(new(o())).retain(t).concat(n);return this.scroll.insertContents(t,n),this.update(r)}insertEmbed(t,e,n){return this.scroll.insertAt(t,e,n),this.update((new(o())).retain(t).insert({[e]:n}))}insertText(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return e=e.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),this.scroll.insertAt(t,e),Object.keys(n).forEach((r=>{this.scroll.formatAt(t,e.length,r,n[r])})),this.update((new(o())).retain(t).insert(e,(0,l.A)(n)))}isBlank(){if(0===this.scroll.children.length)return!0;if(this.scroll.children.length>1)return!1;const t=this.scroll.children.head;if(t?.statics.blotName!==c.Ay.blotName)return!1;const e=t;return!(e.children.length>1)&&e.children.head instanceof u.A}removeFormat(t,e){const n=this.getText(t,e),[r,i]=this.scroll.line(t+e);let s=0,l=new(o());null!=r&&(s=r.length()-i,l=r.delta().slice(i,i+s-1).insert("\n"));const a=this.getContents(t,e+s).diff((new(o())).insert(n).concat(l)),c=(new(o())).retain(t).concat(a);return this.applyDelta(c)}update(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;const r=this.delta;if(1===e.length&&"characterData"===e[0].type&&e[0].target.data.match(p)&&this.scroll.find(e[0].target)){const i=this.scroll.find(e[0].target),s=(0,c.Ji)(i),l=i.offset(this.scroll),a=e[0].oldValue.replace(h.A.CONTENTS,""),u=(new(o())).insert(a),d=(new(o())).insert(i.value()),f=n&&{oldRange:A(n.oldRange,-l),newRange:A(n.newRange,-l)};t=(new(o())).retain(l).concat(u.diff(d,f)).reduce(((t,e)=>e.insert?t.insert(e.insert,s):t.push(e)),new(o())),this.delta=r.compose(t)}else this.delta=this.getDelta(),t&&(0,a.A)(r.compose(t),this.delta)||(t=r.diff(this.delta,n));return t}},N=n(5374),E=n(7356),w=n(6078),q=n(4266),k=n(746),_=class{isComposing=!1;constructor(t,e){this.scroll=t,this.emitter=e,this.setupListeners()}setupListeners(){this.scroll.domNode.addEventListener("compositionstart",(t=>{this.isComposing||this.handleCompositionStart(t)})),this.scroll.domNode.addEventListener("compositionend",(t=>{this.isComposing&&queueMicrotask((()=>{this.handleCompositionEnd(t)}))}))}handleCompositionStart(t){const e=t.target instanceof Node?this.scroll.find(t.target,!0):null;!e||e instanceof k.A||(this.emitter.emit(N.A.events.COMPOSITION_BEFORE_START,t),this.scroll.batchStart(),this.emitter.emit(N.A.events.COMPOSITION_START,t),this.isComposing=!0)}handleCompositionEnd(t){this.emitter.emit(N.A.events.COMPOSITION_BEFORE_END,t),this.scroll.batchEnd(),this.emitter.emit(N.A.events.COMPOSITION_END,t),this.isComposing=!1}},L=n(9609);const S=t=>{const e=t.getBoundingClientRect(),n="offsetWidth"in t&&Math.abs(e.width)/t.offsetWidth||1,r="offsetHeight"in t&&Math.abs(e.height)/t.offsetHeight||1;return{top:e.top,right:e.left+t.clientWidth*n,bottom:e.top+t.clientHeight*r,left:e.left}},O=t=>{const e=parseInt(t,10);return Number.isNaN(e)?0:e},T=(t,e,n,r,i,s)=>t<n&&e>r?0:t<n?-(n-t+i):e>r?e-t>r-n?t+i-n:e-r+s:0;const j=["block","break","cursor","inline","scroll","text"];const C=(0,w.A)("quill"),R=new i.Registry;i.ParentBlot.uiClass="ql-ui";class I{static DEFAULTS={bounds:null,modules:{clipboard:!0,keyboard:!0,history:!0,uploader:!0},placeholder:"",readOnly:!1,registry:R,theme:"default"};static events=N.A.events;static sources=N.A.sources;static version="2.0.3";static imports={delta:o(),parchment:i,"core/module":q.A,"core/theme":L.A};static debug(t){!0===t&&(t="log"),w.A.level(t)}static find(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return E.A.get(t)||R.find(t,e)}static import(t){return null==this.imports[t]&&C.error(`Cannot import ${t}. Are you sure it was registered?`),this.imports[t]}static register(){if("string"!=typeof(arguments.length<=0?void 0:arguments[0])){const t=arguments.length<=0?void 0:arguments[0],e=!!(arguments.length<=1?void 0:arguments[1]),n="attrName"in t?t.attrName:t.blotName;"string"==typeof n?this.register(`formats/${n}`,t,e):Object.keys(t).forEach((n=>{this.register(n,t[n],e)}))}else{const t=arguments.length<=0?void 0:arguments[0],e=arguments.length<=1?void 0:arguments[1],n=!!(arguments.length<=2?void 0:arguments[2]);null==this.imports[t]||n||C.warn(`Overwriting ${t} with`,e),this.imports[t]=e,(t.startsWith("blots/")||t.startsWith("formats/"))&&e&&"boolean"!=typeof e&&"abstract"!==e.blotName&&R.register(e),"function"==typeof e.register&&e.register(R)}}constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.options=function(t,e){const n=B(t);if(!n)throw new Error("Invalid Quill container");const s=!e.theme||e.theme===I.DEFAULTS.theme?L.A:I.import(`themes/${e.theme}`);if(!s)throw new Error(`Invalid theme ${e.theme}. Did you register it?`);const{modules:o,...l}=I.DEFAULTS,{modules:a,...c}=s.DEFAULTS;let u=M(e.modules);null!=u&&u.toolbar&&u.toolbar.constructor!==Object&&(u={...u,toolbar:{container:u.toolbar}});const h=(0,r.A)({},M(o),M(a),u),d={...l,...U(c),...U(e)};let f=e.registry;return f?e.formats&&C.warn('Ignoring "formats" option because "registry" is specified'):f=e.formats?((t,e,n)=>{const r=new i.Registry;return j.forEach((t=>{const n=e.query(t);n&&r.register(n)})),t.forEach((t=>{let i=e.query(t);i||n.error(`Cannot register "${t}" specified in "formats" config. Are you sure it was registered?`);let s=0;for(;i;)if(r.register(i),i="blotName"in i?i.requiredContainer??null:null,s+=1,s>100){n.error(`Cycle detected in registering blot requiredContainer: "${t}"`);break}})),r})(e.formats,d.registry,C):d.registry,{...d,registry:f,container:n,theme:s,modules:Object.entries(h).reduce(((t,e)=>{let[n,i]=e;if(!i)return t;const s=I.import(`modules/${n}`);return null==s?(C.error(`Cannot load ${n} module. Are you sure you registered it?`),t):{...t,[n]:(0,r.A)({},s.DEFAULTS||{},i)}}),{}),bounds:B(d.bounds)}}(t,e),this.container=this.options.container,null==this.container)return void C.error("Invalid Quill container",t);this.options.debug&&I.debug(this.options.debug);const n=this.container.innerHTML.trim();this.container.classList.add("ql-container"),this.container.innerHTML="",E.A.set(this.container,this),this.root=this.addContainer("ql-editor"),this.root.classList.add("ql-blank"),this.emitter=new N.A;const s=i.ScrollBlot.blotName,l=this.options.registry.query(s);if(!l||!("blotName"in l))throw new Error(`Cannot initialize Quill without "${s}" blot`);if(this.scroll=new l(this.options.registry,this.root,{emitter:this.emitter}),this.editor=new x(this.scroll),this.selection=new f.A(this.scroll,this.emitter),this.composition=new _(this.scroll,this.emitter),this.theme=new this.options.theme(this,this.options),this.keyboard=this.theme.addModule("keyboard"),this.clipboard=this.theme.addModule("clipboard"),this.history=this.theme.addModule("history"),this.uploader=this.theme.addModule("uploader"),this.theme.addModule("input"),this.theme.addModule("uiNode"),this.theme.init(),this.emitter.on(N.A.events.EDITOR_CHANGE,(t=>{t===N.A.events.TEXT_CHANGE&&this.root.classList.toggle("ql-blank",this.editor.isBlank())})),this.emitter.on(N.A.events.SCROLL_UPDATE,((t,e)=>{const n=this.selection.lastRange,[r]=this.selection.getRange(),i=n&&r?{oldRange:n,newRange:r}:void 0;D.call(this,(()=>this.editor.update(null,e,i)),t)})),this.emitter.on(N.A.events.SCROLL_EMBED_UPDATE,((t,e)=>{const n=this.selection.lastRange,[r]=this.selection.getRange(),i=n&&r?{oldRange:n,newRange:r}:void 0;D.call(this,(()=>{const n=(new(o())).retain(t.offset(this)).retain({[t.statics.blotName]:e});return this.editor.update(n,[],i)}),I.sources.USER)})),n){const t=this.clipboard.convert({html:`${n}<p><br></p>`,text:"\n"});this.setContents(t)}this.history.clear(),this.options.placeholder&&this.root.setAttribute("data-placeholder",this.options.placeholder),this.options.readOnly&&this.disable(),this.allowReadOnlyEdits=!1}addContainer(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if("string"==typeof t){const e=t;(t=document.createElement("div")).classList.add(e)}return this.container.insertBefore(t,e),t}blur(){this.selection.setRange(null)}deleteText(t,e,n){return[t,e,,n]=P(t,e,n),D.call(this,(()=>this.editor.deleteText(t,e)),n,t,-1*e)}disable(){this.enable(!1)}editReadOnly(t){this.allowReadOnlyEdits=!0;const e=t();return this.allowReadOnlyEdits=!1,e}enable(){let t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.scroll.enable(t),this.container.classList.toggle("ql-disabled",!t)}focus(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.selection.focus(),t.preventScroll||this.scrollSelectionIntoView()}format(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:N.A.sources.API;return D.call(this,(()=>{const n=this.getSelection(!0);let r=new(o());if(null==n)return r;if(this.scroll.query(t,i.Scope.BLOCK))r=this.editor.formatLine(n.index,n.length,{[t]:e});else{if(0===n.length)return this.selection.format(t,e),r;r=this.editor.formatText(n.index,n.length,{[t]:e})}return this.setSelection(n,N.A.sources.SILENT),r}),n)}formatLine(t,e,n,r,i){let s;return[t,e,s,i]=P(t,e,n,r,i),D.call(this,(()=>this.editor.formatLine(t,e,s)),i,t,0)}formatText(t,e,n,r,i){let s;return[t,e,s,i]=P(t,e,n,r,i),D.call(this,(()=>this.editor.formatText(t,e,s)),i,t,0)}getBounds(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=null;if(n="number"==typeof t?this.selection.getBounds(t,e):this.selection.getBounds(t.index,t.length),!n)return null;const r=this.container.getBoundingClientRect();return{bottom:n.bottom-r.top,height:n.height,left:n.left-r.left,right:n.right-r.left,top:n.top-r.top,width:n.width}}getContents(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getLength()-t;return[t,e]=P(t,e),this.editor.getContents(t,e)}getFormat(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getSelection(!0),e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return"number"==typeof t?this.editor.getFormat(t,e):this.editor.getFormat(t.index,t.length)}getIndex(t){return t.offset(this.scroll)}getLength(){return this.scroll.length()}getLeaf(t){return this.scroll.leaf(t)}getLine(t){return this.scroll.line(t)}getLines(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE;return"number"!=typeof t?this.scroll.lines(t.index,t.length):this.scroll.lines(t,e)}getModule(t){return this.theme.modules[t]}getSelection(){return arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.focus(),this.update(),this.selection.getRange()[0]}getSemanticHTML(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1?arguments[1]:void 0;return"number"==typeof t&&(e=e??this.getLength()-t),[t,e]=P(t,e),this.editor.getHTML(t,e)}getText(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1?arguments[1]:void 0;return"number"==typeof t&&(e=e??this.getLength()-t),[t,e]=P(t,e),this.editor.getText(t,e)}hasFocus(){return this.selection.hasFocus()}insertEmbed(t,e,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:I.sources.API;return D.call(this,(()=>this.editor.insertEmbed(t,e,n)),r,t)}insertText(t,e,n,r,i){let s;return[t,,s,i]=P(t,0,n,r,i),D.call(this,(()=>this.editor.insertText(t,e,s)),i,t,e.length)}isEnabled(){return this.scroll.isEnabled()}off(){return this.emitter.off(...arguments)}on(){return this.emitter.on(...arguments)}once(){return this.emitter.once(...arguments)}removeFormat(t,e,n){return[t,e,,n]=P(t,e,n),D.call(this,(()=>this.editor.removeFormat(t,e)),n,t)}scrollRectIntoView(t){((t,e)=>{const n=t.ownerDocument;let r=e,i=t;for(;i;){const t=i===n.body,e=t?{top:0,right:window.visualViewport?.width??n.documentElement.clientWidth,bottom:window.visualViewport?.height??n.documentElement.clientHeight,left:0}:S(i),o=getComputedStyle(i),l=T(r.left,r.right,e.left,e.right,O(o.scrollPaddingLeft),O(o.scrollPaddingRight)),a=T(r.top,r.bottom,e.top,e.bottom,O(o.scrollPaddingTop),O(o.scrollPaddingBottom));if(l||a)if(t)n.defaultView?.scrollBy(l,a);else{const{scrollLeft:t,scrollTop:e}=i;a&&(i.scrollTop+=a),l&&(i.scrollLeft+=l);const n=i.scrollLeft-t,s=i.scrollTop-e;r={left:r.left-n,top:r.top-s,right:r.right-n,bottom:r.bottom-s}}i=t||"fixed"===o.position?null:(s=i).parentElement||s.getRootNode().host||null}var s})(this.root,t)}scrollIntoView(){console.warn("Quill#scrollIntoView() has been deprecated and will be removed in the near future. Please use Quill#scrollSelectionIntoView() instead."),this.scrollSelectionIntoView()}scrollSelectionIntoView(){const t=this.selection.lastRange,e=t&&this.selection.getBounds(t.index,t.length);e&&this.scrollRectIntoView(e)}setContents(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N.A.sources.API;return D.call(this,(()=>{t=new(o())(t);const e=this.getLength(),n=this.editor.deleteText(0,e),r=this.editor.insertContents(0,t),i=this.editor.deleteText(this.getLength()-1,1);return n.compose(r).compose(i)}),e)}setSelection(t,e,n){null==t?this.selection.setRange(null,e||I.sources.API):([t,e,,n]=P(t,e,n),this.selection.setRange(new f.Q(Math.max(0,t),e),n),n!==N.A.sources.SILENT&&this.scrollSelectionIntoView())}setText(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N.A.sources.API;const n=(new(o())).insert(t);return this.setContents(n,e)}update(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:N.A.sources.USER;const e=this.scroll.update(t);return this.selection.update(t),e}updateContents(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:N.A.sources.API;return D.call(this,(()=>(t=new(o())(t),this.editor.applyDelta(t))),e,!0)}}function B(t){return"string"==typeof t?document.querySelector(t):t}function M(t){return Object.entries(t??{}).reduce(((t,e)=>{let[n,r]=e;return{...t,[n]:!0===r?{}:r}}),{})}function U(t){return Object.fromEntries(Object.entries(t).filter((t=>void 0!==t[1])))}function D(t,e,n,r){if(!this.isEnabled()&&e===N.A.sources.USER&&!this.allowReadOnlyEdits)return new(o());let i=null==n?null:this.getSelection();const s=this.editor.delta,l=t();if(null!=i&&(!0===n&&(n=i.index),null==r?i=z(i,l,e):0!==r&&(i=z(i,n,r,e)),this.setSelection(i,N.A.sources.SILENT)),l.length()>0){const t=[N.A.events.TEXT_CHANGE,l,s,e];this.emitter.emit(N.A.events.EDITOR_CHANGE,...t),e!==N.A.sources.SILENT&&this.emitter.emit(...t)}return l}function P(t,e,n,r,i){let s={};return"number"==typeof t.index&&"number"==typeof t.length?"number"!=typeof e?(i=r,r=n,n=e,e=t.length,t=t.index):(e=t.length,t=t.index):"number"!=typeof e&&(i=r,r=n,n=e,e=0),"object"==typeof n?(s=n,i=r):"string"==typeof n&&(null!=r?s[n]=r:i=n),[t,e,s,i=i||N.A.sources.API]}function z(t,e,n,r){const i="number"==typeof n?n:0;if(null==t)return null;let s,o;return e&&"function"==typeof e.transformPosition?[s,o]=[t.index,t.index+t.length].map((t=>e.transformPosition(t,r!==N.A.sources.USER))):[s,o]=[t.index,t.index+t.length].map((t=>t<e||t===e&&r===N.A.sources.USER?t:i>=0?t+i:Math.max(e,t+i))),new f.Q(s,o-s)}},8298:function(t,e,n){"use strict";n.d(e,{Q:function(){return a}});var r=n(6003),i=n(5123),s=n(3707),o=n(5374);const l=(0,n(6078).A)("quill:selection");class a{constructor(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;this.index=t,this.length=e}}function c(t,e){try{e.parentNode}catch(t){return!1}return t.contains(e)}e.A=class{constructor(t,e){this.emitter=e,this.scroll=t,this.composing=!1,this.mouseDown=!1,this.root=this.scroll.domNode,this.cursor=this.scroll.create("cursor",this),this.savedRange=new a(0,0),this.lastRange=this.savedRange,this.lastNative=null,this.handleComposition(),this.handleDragging(),this.emitter.listenDOM("selectionchange",document,(()=>{this.mouseDown||this.composing||setTimeout(this.update.bind(this,o.A.sources.USER),1)})),this.emitter.on(o.A.events.SCROLL_BEFORE_UPDATE,(()=>{if(!this.hasFocus())return;const t=this.getNativeRange();null!=t&&t.start.node!==this.cursor.textNode&&this.emitter.once(o.A.events.SCROLL_UPDATE,((e,n)=>{try{this.root.contains(t.start.node)&&this.root.contains(t.end.node)&&this.setNativeRange(t.start.node,t.start.offset,t.end.node,t.end.offset);const r=n.some((t=>"characterData"===t.type||"childList"===t.type||"attributes"===t.type&&t.target===this.root));this.update(r?o.A.sources.SILENT:e)}catch(t){}}))})),this.emitter.on(o.A.events.SCROLL_OPTIMIZE,((t,e)=>{if(e.range){const{startNode:t,startOffset:n,endNode:r,endOffset:i}=e.range;this.setNativeRange(t,n,r,i),this.update(o.A.sources.SILENT)}})),this.update(o.A.sources.SILENT)}handleComposition(){this.emitter.on(o.A.events.COMPOSITION_BEFORE_START,(()=>{this.composing=!0})),this.emitter.on(o.A.events.COMPOSITION_END,(()=>{if(this.composing=!1,this.cursor.parent){const t=this.cursor.restore();if(!t)return;setTimeout((()=>{this.setNativeRange(t.startNode,t.startOffset,t.endNode,t.endOffset)}),1)}}))}handleDragging(){this.emitter.listenDOM("mousedown",document.body,(()=>{this.mouseDown=!0})),this.emitter.listenDOM("mouseup",document.body,(()=>{this.mouseDown=!1,this.update(o.A.sources.USER)}))}focus(){this.hasFocus()||(this.root.focus({preventScroll:!0}),this.setRange(this.savedRange))}format(t,e){this.scroll.update();const n=this.getNativeRange();if(null!=n&&n.native.collapsed&&!this.scroll.query(t,r.Scope.BLOCK)){if(n.start.node!==this.cursor.textNode){const t=this.scroll.find(n.start.node,!1);if(null==t)return;if(t instanceof r.LeafBlot){const e=t.split(n.start.offset);t.parent.insertBefore(this.cursor,e)}else t.insertBefore(this.cursor,n.start.node);this.cursor.attach()}this.cursor.format(t,e),this.scroll.optimize(),this.setNativeRange(this.cursor.textNode,this.cursor.textNode.data.length),this.update()}}getBounds(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;const n=this.scroll.length();let r;t=Math.min(t,n-1),e=Math.min(t+e,n-1)-t;let[i,s]=this.scroll.leaf(t);if(null==i)return null;if(e>0&&s===i.length()){const[e]=this.scroll.leaf(t+1);if(e){const[n]=this.scroll.line(t),[r]=this.scroll.line(t+1);n===r&&(i=e,s=0)}}[r,s]=i.position(s,!0);const o=document.createRange();if(e>0)return o.setStart(r,s),[i,s]=this.scroll.leaf(t+e),null==i?null:([r,s]=i.position(s,!0),o.setEnd(r,s),o.getBoundingClientRect());let l,a="left";if(r instanceof Text){if(!r.data.length)return null;s<r.data.length?(o.setStart(r,s),o.setEnd(r,s+1)):(o.setStart(r,s-1),o.setEnd(r,s),a="right"),l=o.getBoundingClientRect()}else{if(!(i.domNode instanceof Element))return null;l=i.domNode.getBoundingClientRect(),s>0&&(a="right")}return{bottom:l.top+l.height,height:l.height,left:l[a],right:l[a],top:l.top,width:0}}getNativeRange(){const t=document.getSelection();if(null==t||t.rangeCount<=0)return null;const e=t.getRangeAt(0);if(null==e)return null;const n=this.normalizeNative(e);return l.info("getNativeRange",n),n}getRange(){const t=this.scroll.domNode;if("isConnected"in t&&!t.isConnected)return[null,null];const e=this.getNativeRange();return null==e?[null,null]:[this.normalizedToRange(e),e]}hasFocus(){return document.activeElement===this.root||null!=document.activeElement&&c(this.root,document.activeElement)}normalizedToRange(t){const e=[[t.start.node,t.start.offset]];t.native.collapsed||e.push([t.end.node,t.end.offset]);const n=e.map((t=>{const[e,n]=t,i=this.scroll.find(e,!0),s=i.offset(this.scroll);return 0===n?s:i instanceof r.LeafBlot?s+i.index(e,n):s+i.length()})),i=Math.min(Math.max(...n),this.scroll.length()-1),s=Math.min(i,...n);return new a(s,i-s)}normalizeNative(t){if(!c(this.root,t.startContainer)||!t.collapsed&&!c(this.root,t.endContainer))return null;const e={start:{node:t.startContainer,offset:t.startOffset},end:{node:t.endContainer,offset:t.endOffset},native:t};return[e.start,e.end].forEach((t=>{let{node:e,offset:n}=t;for(;!(e instanceof Text)&&e.childNodes.length>0;)if(e.childNodes.length>n)e=e.childNodes[n],n=0;else{if(e.childNodes.length!==n)break;e=e.lastChild,n=e instanceof Text?e.data.length:e.childNodes.length>0?e.childNodes.length:e.childNodes.length+1}t.node=e,t.offset=n})),e}rangeToNative(t){const e=this.scroll.length(),n=(t,n)=>{t=Math.min(e-1,t);const[r,i]=this.scroll.leaf(t);return r?r.position(i,n):[null,-1]};return[...n(t.index,!1),...n(t.index+t.length,!0)]}setNativeRange(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:e,i=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(l.info("setNativeRange",t,e,n,r),null!=t&&(null==this.root.parentNode||null==t.parentNode||null==n.parentNode))return;const s=document.getSelection();if(null!=s)if(null!=t){this.hasFocus()||this.root.focus({preventScroll:!0});const{native:o}=this.getNativeRange()||{};if(null==o||i||t!==o.startContainer||e!==o.startOffset||n!==o.endContainer||r!==o.endOffset){t instanceof Element&&"BR"===t.tagName&&(e=Array.from(t.parentNode.childNodes).indexOf(t),t=t.parentNode),n instanceof Element&&"BR"===n.tagName&&(r=Array.from(n.parentNode.childNodes).indexOf(n),n=n.parentNode);const i=document.createRange();i.setStart(t,e),i.setEnd(n,r),s.removeAllRanges(),s.addRange(i)}}else s.removeAllRanges(),this.root.blur()}setRange(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.A.sources.API;if("string"==typeof e&&(n=e,e=!1),l.info("setRange",t),null!=t){const n=this.rangeToNative(t);this.setNativeRange(...n,e)}else this.setNativeRange(null);this.update(n)}update(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:o.A.sources.USER;const e=this.lastRange,[n,r]=this.getRange();if(this.lastRange=n,this.lastNative=r,null!=this.lastRange&&(this.savedRange=this.lastRange),!(0,i.A)(e,this.lastRange)){if(!this.composing&&null!=r&&r.native.collapsed&&r.start.node!==this.cursor.textNode){const t=this.cursor.restore();t&&this.setNativeRange(t.startNode,t.startOffset,t.endNode,t.endOffset)}const n=[o.A.events.SELECTION_CHANGE,(0,s.A)(this.lastRange),(0,s.A)(e),t];this.emitter.emit(o.A.events.EDITOR_CHANGE,...n),t!==o.A.sources.SILENT&&this.emitter.emit(...n)}}}},9609:function(t,e){"use strict";class n{static DEFAULTS={modules:{}};static themes={default:n};modules={};constructor(t,e){this.quill=t,this.options=e}init(){Object.keys(this.options.modules).forEach((t=>{null==this.modules[t]&&this.addModule(t)}))}addModule(t){const e=this.quill.constructor.import(`modules/${t}`);return this.modules[t]=new e(this.quill,this.options.modules[t]||{}),this.modules[t]}}e.A=n},8276:function(t,e,n){"use strict";n.d(e,{Hu:function(){return l},gS:function(){return s},qh:function(){return o}});var r=n(6003);const i={scope:r.Scope.BLOCK,whitelist:["right","center","justify"]},s=new r.Attributor("align","align",i),o=new r.ClassAttributor("align","ql-align",i),l=new r.StyleAttributor("align","text-align",i)},9541:function(t,e,n){"use strict";n.d(e,{l:function(){return s},s:function(){return o}});var r=n(6003),i=n(8638);const s=new r.ClassAttributor("background","ql-bg",{scope:r.Scope.INLINE}),o=new i.a2("background","background-color",{scope:r.Scope.INLINE})},9404:function(t,e,n){"use strict";n.d(e,{Ay:function(){return h},Cy:function(){return d},EJ:function(){return u}});var r=n(9698),i=n(3036),s=n(4541),o=n(4850),l=n(5508),a=n(580),c=n(6142);class u extends a.A{static create(t){const e=super.create(t);return e.setAttribute("spellcheck","false"),e}code(t,e){return this.children.map((t=>t.length()<=1?"":t.domNode.innerText)).join("\n").slice(t,t+e)}html(t,e){return`<pre>\n${(0,l.X)(this.code(t,e))}\n</pre>`}}class h extends r.Ay{static TAB=" ";static register(){c.Ay.register(u)}}class d extends o.A{}d.blotName="code",d.tagName="CODE",h.blotName="code-block",h.className="ql-code-block",h.tagName="DIV",u.blotName="code-block-container",u.className="ql-code-block-container",u.tagName="DIV",u.allowedChildren=[h],h.allowedChildren=[l.A,i.A,s.A],h.requiredContainer=u},8638:function(t,e,n){"use strict";n.d(e,{JM:function(){return o},a2:function(){return i},g3:function(){return s}});var r=n(6003);class i extends r.StyleAttributor{value(t){let e=super.value(t);return e.startsWith("rgb(")?(e=e.replace(/^[^\d]+/,"").replace(/[^\d]+$/,""),`#${e.split(",").map((t=>`00${parseInt(t,10).toString(16)}`.slice(-2))).join("")}`):e}}const s=new r.ClassAttributor("color","ql-color",{scope:r.Scope.INLINE}),o=new i("color","color",{scope:r.Scope.INLINE})},7912:function(t,e,n){"use strict";n.d(e,{Mc:function(){return s},VL:function(){return l},sY:function(){return o}});var r=n(6003);const i={scope:r.Scope.BLOCK,whitelist:["rtl"]},s=new r.Attributor("direction","dir",i),o=new r.ClassAttributor("direction","ql-direction",i),l=new r.StyleAttributor("direction","direction",i)},6772:function(t,e,n){"use strict";n.d(e,{q:function(){return s},z:function(){return l}});var r=n(6003);const i={scope:r.Scope.INLINE,whitelist:["serif","monospace"]},s=new r.ClassAttributor("font","ql-font",i);class o extends r.StyleAttributor{value(t){return super.value(t).replace(/["']/g,"")}}const l=new o("font","font-family",i)},664:function(t,e,n){"use strict";n.d(e,{U:function(){return i},r:function(){return s}});var r=n(6003);const i=new r.ClassAttributor("size","ql-size",{scope:r.Scope.INLINE,whitelist:["small","large","huge"]}),s=new r.StyleAttributor("size","font-size",{scope:r.Scope.INLINE,whitelist:["10px","18px","32px"]})},584:function(t,e,n){"use strict";n.d(e,{Ay:function(){return S},hV:function(){return I}});var r=n(6003),i=n(5232),s=n.n(i),o=n(9698),l=n(6078),a=n(4266),c=n(6142),u=n(8276),h=n(9541),d=n(9404),f=n(8638),p=n(7912),g=n(6772),m=n(664),b=n(8123);const y=/font-weight:\s*normal/,v=["P","OL","UL"],A=t=>t&&v.includes(t.tagName),x=/\bmso-list:[^;]*ignore/i,N=/\bmso-list:[^;]*\bl(\d+)/i,E=/\bmso-list:[^;]*\blevel(\d+)/i,w=[function(t){"urn:schemas-microsoft-com:office:word"===t.documentElement.getAttribute("xmlns:w")&&(t=>{const e=Array.from(t.querySelectorAll("[style*=mso-list]")),n=[],r=[];e.forEach((t=>{(t.getAttribute("style")||"").match(x)?n.push(t):r.push(t)})),n.forEach((t=>t.parentNode?.removeChild(t)));const i=t.documentElement.innerHTML,s=r.map((t=>((t,e)=>{const n=t.getAttribute("style"),r=n?.match(N);if(!r)return null;const i=Number(r[1]),s=n?.match(E),o=s?Number(s[1]):1,l=new RegExp(`@list l${i}:level${o}\\s*\\{[^\\}]*mso-level-number-format:\\s*([\\w-]+)`,"i"),a=e.match(l);return{id:i,indent:o,type:a&&"bullet"===a[1]?"bullet":"ordered",element:t}})(t,i))).filter((t=>t));for(;s.length;){const t=[];let e=s.shift();for(;e;)t.push(e),e=s.length&&s[0]?.element===e.element.nextElementSibling&&s[0].id===e.id?s.shift():null;const n=document.createElement("ul");t.forEach((t=>{const e=document.createElement("li");e.setAttribute("data-list",t.type),t.indent>1&&e.setAttribute("class","ql-indent-"+(t.indent-1)),e.innerHTML=t.element.innerHTML,n.appendChild(e)}));const r=t[0]?.element,{parentNode:i}=r??{};r&&i?.replaceChild(n,r),t.slice(1).forEach((t=>{let{element:e}=t;i?.removeChild(e)}))}})(t)},function(t){t.querySelector('[id^="docs-internal-guid-"]')&&((t=>{Array.from(t.querySelectorAll('b[style*="font-weight"]')).filter((t=>t.getAttribute("style")?.match(y))).forEach((e=>{const n=t.createDocumentFragment();n.append(...e.childNodes),e.parentNode?.replaceChild(n,e)}))})(t),(t=>{Array.from(t.querySelectorAll("br")).filter((t=>A(t.previousElementSibling)&&A(t.nextElementSibling))).forEach((t=>{t.parentNode?.removeChild(t)}))})(t))}];const q=(0,l.A)("quill:clipboard"),k=[[Node.TEXT_NODE,function(t,e,n){let r=t.data;if("O:P"===t.parentElement?.tagName)return e.insert(r.trim());if(!R(t)){if(0===r.trim().length&&r.includes("\n")&&!function(t,e){return t.previousElementSibling&&t.nextElementSibling&&!j(t.previousElementSibling,e)&&!j(t.nextElementSibling,e)}(t,n))return e;r=r.replace(/[^\S\u00a0]/g," "),r=r.replace(/ {2,}/g," "),(null==t.previousSibling&&null!=t.parentElement&&j(t.parentElement,n)||t.previousSibling instanceof Element&&j(t.previousSibling,n))&&(r=r.replace(/^ /,"")),(null==t.nextSibling&&null!=t.parentElement&&j(t.parentElement,n)||t.nextSibling instanceof Element&&j(t.nextSibling,n))&&(r=r.replace(/ $/,"")),r=r.replaceAll("Â "," ")}return e.insert(r)}],[Node.TEXT_NODE,M],["br",function(t,e){return T(e,"\n")||e.insert("\n"),e}],[Node.ELEMENT_NODE,M],[Node.ELEMENT_NODE,function(t,e,n){const i=n.query(t);if(null==i)return e;if(i.prototype instanceof r.EmbedBlot){const e={},r=i.value(t);if(null!=r)return e[i.blotName]=r,(new(s())).insert(e,i.formats(t,n))}else if(i.prototype instanceof r.BlockBlot&&!T(e,"\n")&&e.insert("\n"),"blotName"in i&&"formats"in i&&"function"==typeof i.formats)return O(e,i.blotName,i.formats(t,n),n);return e}],[Node.ELEMENT_NODE,function(t,e,n){const i=r.Attributor.keys(t),s=r.ClassAttributor.keys(t),o=r.StyleAttributor.keys(t),l={};return i.concat(s).concat(o).forEach((e=>{let i=n.query(e,r.Scope.ATTRIBUTE);null!=i&&(l[i.attrName]=i.value(t),l[i.attrName])||(i=_[e],null==i||i.attrName!==e&&i.keyName!==e||(l[i.attrName]=i.value(t)||void 0),i=L[e],null==i||i.attrName!==e&&i.keyName!==e||(i=L[e],l[i.attrName]=i.value(t)||void 0))})),Object.entries(l).reduce(((t,e)=>{let[r,i]=e;return O(t,r,i,n)}),e)}],[Node.ELEMENT_NODE,function(t,e,n){const r={},i=t.style||{};return"italic"===i.fontStyle&&(r.italic=!0),"underline"===i.textDecoration&&(r.underline=!0),"line-through"===i.textDecoration&&(r.strike=!0),(i.fontWeight?.startsWith("bold")||parseInt(i.fontWeight,10)>=700)&&(r.bold=!0),e=Object.entries(r).reduce(((t,e)=>{let[r,i]=e;return O(t,r,i,n)}),e),parseFloat(i.textIndent||0)>0?(new(s())).insert("\t").concat(e):e}],["li",function(t,e,n){const r=n.query(t);if(null==r||"list"!==r.blotName||!T(e,"\n"))return e;let i=-1,o=t.parentNode;for(;null!=o;)["OL","UL"].includes(o.tagName)&&(i+=1),o=o.parentNode;return i<=0?e:e.reduce(((t,e)=>e.insert?e.attributes&&"number"==typeof e.attributes.indent?t.push(e):t.insert(e.insert,{indent:i,...e.attributes||{}}):t),new(s()))}],["ol, ul",function(t,e,n){const r=t;let i="OL"===r.tagName?"ordered":"bullet";const s=r.getAttribute("data-checked");return s&&(i="true"===s?"checked":"unchecked"),O(e,"list",i,n)}],["pre",function(t,e,n){const r=n.query("code-block");return O(e,"code-block",!r||!("formats"in r)||"function"!=typeof r.formats||r.formats(t,n),n)}],["tr",function(t,e,n){const r="TABLE"===t.parentElement?.tagName?t.parentElement:t.parentElement?.parentElement;return null!=r?O(e,"table",Array.from(r.querySelectorAll("tr")).indexOf(t)+1,n):e}],["b",B("bold")],["i",B("italic")],["strike",B("strike")],["style",function(){return new(s())}]],_=[u.gS,p.Mc].reduce(((t,e)=>(t[e.keyName]=e,t)),{}),L=[u.Hu,h.s,f.JM,p.VL,g.z,m.r].reduce(((t,e)=>(t[e.keyName]=e,t)),{});class S extends a.A{static DEFAULTS={matchers:[]};constructor(t,e){super(t,e),this.quill.root.addEventListener("copy",(t=>this.onCaptureCopy(t,!1))),this.quill.root.addEventListener("cut",(t=>this.onCaptureCopy(t,!0))),this.quill.root.addEventListener("paste",this.onCapturePaste.bind(this)),this.matchers=[],k.concat(this.options.matchers??[]).forEach((t=>{let[e,n]=t;this.addMatcher(e,n)}))}addMatcher(t,e){this.matchers.push([t,e])}convert(t){let{html:e,text:n}=t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r[d.Ay.blotName])return(new(s())).insert(n||"",{[d.Ay.blotName]:r[d.Ay.blotName]});if(!e)return(new(s())).insert(n||"",r);const i=this.convertHTML(e);return T(i,"\n")&&(null==i.ops[i.ops.length-1].attributes||r.table)?i.compose((new(s())).retain(i.length()-1).delete(1)):i}normalizeHTML(t){(t=>{t.documentElement&&w.forEach((e=>{e(t)}))})(t)}convertHTML(t){const e=(new DOMParser).parseFromString(t,"text/html");this.normalizeHTML(e);const n=e.body,r=new WeakMap,[i,s]=this.prepareMatching(n,r);return I(this.quill.scroll,n,i,s,r)}dangerouslyPasteHTML(t,e){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:c.Ay.sources.API;if("string"==typeof t){const n=this.convert({html:t,text:""});this.quill.setContents(n,e),this.quill.setSelection(0,c.Ay.sources.SILENT)}else{const r=this.convert({html:e,text:""});this.quill.updateContents((new(s())).retain(t).concat(r),n),this.quill.setSelection(t+r.length(),c.Ay.sources.SILENT)}}onCaptureCopy(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t.defaultPrevented)return;t.preventDefault();const[n]=this.quill.selection.getRange();if(null==n)return;const{html:r,text:i}=this.onCopy(n,e);t.clipboardData?.setData("text/plain",i),t.clipboardData?.setData("text/html",r),e&&(0,b.Xo)({range:n,quill:this.quill})}normalizeURIList(t){return t.split(/\r?\n/).filter((t=>"#"!==t[0])).join("\n")}onCapturePaste(t){if(t.defaultPrevented||!this.quill.isEnabled())return;t.preventDefault();const e=this.quill.getSelection(!0);if(null==e)return;const n=t.clipboardData?.getData("text/html");let r=t.clipboardData?.getData("text/plain");if(!n&&!r){const e=t.clipboardData?.getData("text/uri-list");e&&(r=this.normalizeURIList(e))}const i=Array.from(t.clipboardData?.files||[]);if(!n&&i.length>0)this.quill.uploader.upload(e,i);else{if(n&&i.length>0){const t=(new DOMParser).parseFromString(n,"text/html");if(1===t.body.childElementCount&&"IMG"===t.body.firstElementChild?.tagName)return void this.quill.uploader.upload(e,i)}this.onPaste(e,{html:n,text:r})}}onCopy(t){const e=this.quill.getText(t);return{html:this.quill.getSemanticHTML(t),text:e}}onPaste(t,e){let{text:n,html:r}=e;const i=this.quill.getFormat(t.index),o=this.convert({text:n,html:r},i);q.log("onPaste",o,{text:n,html:r});const l=(new(s())).retain(t.index).delete(t.length).concat(o);this.quill.updateContents(l,c.Ay.sources.USER),this.quill.setSelection(l.length()-t.length,c.Ay.sources.SILENT),this.quill.scrollSelectionIntoView()}prepareMatching(t,e){const n=[],r=[];return this.matchers.forEach((i=>{const[s,o]=i;switch(s){case Node.TEXT_NODE:r.push(o);break;case Node.ELEMENT_NODE:n.push(o);break;default:Array.from(t.querySelectorAll(s)).forEach((t=>{if(e.has(t)){const n=e.get(t);n?.push(o)}else e.set(t,[o])}))}})),[n,r]}}function O(t,e,n,r){return r.query(e)?t.reduce(((t,r)=>{if(!r.insert)return t;if(r.attributes&&r.attributes[e])return t.push(r);const i=n?{[e]:n}:{};return t.insert(r.insert,{...i,...r.attributes})}),new(s())):t}function T(t,e){let n="";for(let r=t.ops.length-1;r>=0&&n.length<e.length;--r){const e=t.ops[r];if("string"!=typeof e.insert)break;n=e.insert+n}return n.slice(-1*e.length)===e}function j(t,e){if(!(t instanceof Element))return!1;const n=e.query(t);return!(n&&n.prototype instanceof r.EmbedBlot)&&["address","article","blockquote","canvas","dd","div","dl","dt","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","iframe","li","main","nav","ol","output","p","pre","section","table","td","tr","ul","video"].includes(t.tagName.toLowerCase())}const C=new WeakMap;function R(t){return null!=t&&(C.has(t)||("PRE"===t.tagName?C.set(t,!0):C.set(t,R(t.parentNode))),C.get(t))}function I(t,e,n,r,i){return e.nodeType===e.TEXT_NODE?r.reduce(((n,r)=>r(e,n,t)),new(s())):e.nodeType===e.ELEMENT_NODE?Array.from(e.childNodes||[]).reduce(((s,o)=>{let l=I(t,o,n,r,i);return o.nodeType===e.ELEMENT_NODE&&(l=n.reduce(((e,n)=>n(o,e,t)),l),l=(i.get(o)||[]).reduce(((e,n)=>n(o,e,t)),l)),s.concat(l)}),new(s())):new(s())}function B(t){return(e,n,r)=>O(n,t,!0,r)}function M(t,e,n){if(!T(e,"\n")){if(j(t,n)&&(t.childNodes.length>0||t instanceof HTMLParagraphElement))return e.insert("\n");if(e.length()>0&&t.nextSibling){let r=t.nextSibling;for(;null!=r;){if(j(r,n))return e.insert("\n");const t=n.query(r);if(t&&t.prototype instanceof o.zo)return e.insert("\n");r=r.firstChild}}}return e}},8123:function(t,e,n){"use strict";n.d(e,{Ay:function(){return f},Xo:function(){return v}});var r=n(5123),i=n(3707),s=n(5232),o=n.n(s),l=n(6003),a=n(6142),c=n(6078),u=n(4266);const h=(0,c.A)("quill:keyboard"),d=/Mac/i.test(navigator.platform)?"metaKey":"ctrlKey";class f extends u.A{static match(t,e){return!["altKey","ctrlKey","metaKey","shiftKey"].some((n=>!!e[n]!==t[n]&&null!==e[n]))&&(e.key===t.key||e.key===t.which)}constructor(t,e){super(t,e),this.bindings={},Object.keys(this.options.bindings).forEach((t=>{this.options.bindings[t]&&this.addBinding(this.options.bindings[t])})),this.addBinding({key:"Enter",shiftKey:null},this.handleEnter),this.addBinding({key:"Enter",metaKey:null,ctrlKey:null,altKey:null},(()=>{})),/Firefox/i.test(navigator.userAgent)?(this.addBinding({key:"Backspace"},{collapsed:!0},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0},this.handleDelete)):(this.addBinding({key:"Backspace"},{collapsed:!0,prefix:/^.?$/},this.handleBackspace),this.addBinding({key:"Delete"},{collapsed:!0,suffix:/^.?$/},this.handleDelete)),this.addBinding({key:"Backspace"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Delete"},{collapsed:!1},this.handleDeleteRange),this.addBinding({key:"Backspace",altKey:null,ctrlKey:null,metaKey:null,shiftKey:null},{collapsed:!0,offset:0},this.handleBackspace),this.listen()}addBinding(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const r=function(t){if("string"==typeof t||"number"==typeof t)t={key:t};else{if("object"!=typeof t)return null;t=(0,i.A)(t)}return t.shortKey&&(t[d]=t.shortKey,delete t.shortKey),t}(t);null!=r?("function"==typeof e&&(e={handler:e}),"function"==typeof n&&(n={handler:n}),(Array.isArray(r.key)?r.key:[r.key]).forEach((t=>{const i={...r,key:t,...e,...n};this.bindings[i.key]=this.bindings[i.key]||[],this.bindings[i.key].push(i)}))):h.warn("Attempted to add invalid keyboard binding",r)}listen(){this.quill.root.addEventListener("keydown",(t=>{if(t.defaultPrevented||t.isComposing)return;if(229===t.keyCode&&("Enter"===t.key||"Backspace"===t.key))return;const e=(this.bindings[t.key]||[]).concat(this.bindings[t.which]||[]).filter((e=>f.match(t,e)));if(0===e.length)return;const n=a.Ay.find(t.target,!0);if(n&&n.scroll!==this.quill.scroll)return;const i=this.quill.getSelection();if(null==i||!this.quill.hasFocus())return;const[s,o]=this.quill.getLine(i.index),[c,u]=this.quill.getLeaf(i.index),[h,d]=0===i.length?[c,u]:this.quill.getLeaf(i.index+i.length),p=c instanceof l.TextBlot?c.value().slice(0,u):"",g=h instanceof l.TextBlot?h.value().slice(d):"",m={collapsed:0===i.length,empty:0===i.length&&s.length()<=1,format:this.quill.getFormat(i),line:s,offset:o,prefix:p,suffix:g,event:t};e.some((t=>{if(null!=t.collapsed&&t.collapsed!==m.collapsed)return!1;if(null!=t.empty&&t.empty!==m.empty)return!1;if(null!=t.offset&&t.offset!==m.offset)return!1;if(Array.isArray(t.format)){if(t.format.every((t=>null==m.format[t])))return!1}else if("object"==typeof t.format&&!Object.keys(t.format).every((e=>!0===t.format[e]?null!=m.format[e]:!1===t.format[e]?null==m.format[e]:(0,r.A)(t.format[e],m.format[e]))))return!1;return!(null!=t.prefix&&!t.prefix.test(m.prefix)||null!=t.suffix&&!t.suffix.test(m.suffix)||!0===t.handler.call(this,i,m,t))}))&&t.preventDefault()}))}handleBackspace(t,e){const n=/[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test(e.prefix)?2:1;if(0===t.index||this.quill.getLength()<=1)return;let r={};const[i]=this.quill.getLine(t.index);let l=(new(o())).retain(t.index-n).delete(n);if(0===e.offset){const[e]=this.quill.getLine(t.index-1);if(e&&!("block"===e.statics.blotName&&e.length()<=1)){const e=i.formats(),n=this.quill.getFormat(t.index-1,1);if(r=s.AttributeMap.diff(e,n)||{},Object.keys(r).length>0){const e=(new(o())).retain(t.index+i.length()-2).retain(1,r);l=l.compose(e)}}}this.quill.updateContents(l,a.Ay.sources.USER),this.quill.focus()}handleDelete(t,e){const n=/^[\uD800-\uDBFF][\uDC00-\uDFFF]/.test(e.suffix)?2:1;if(t.index>=this.quill.getLength()-n)return;let r={};const[i]=this.quill.getLine(t.index);let l=(new(o())).retain(t.index).delete(n);if(e.offset>=i.length()-1){const[e]=this.quill.getLine(t.index+1);if(e){const n=i.formats(),o=this.quill.getFormat(t.index,1);r=s.AttributeMap.diff(n,o)||{},Object.keys(r).length>0&&(l=l.retain(e.length()-1).retain(1,r))}}this.quill.updateContents(l,a.Ay.sources.USER),this.quill.focus()}handleDeleteRange(t){v({range:t,quill:this.quill}),this.quill.focus()}handleEnter(t,e){const n=Object.keys(e.format).reduce(((t,n)=>(this.quill.scroll.query(n,l.Scope.BLOCK)&&!Array.isArray(e.format[n])&&(t[n]=e.format[n]),t)),{}),r=(new(o())).retain(t.index).delete(t.length).insert("\n",n);this.quill.updateContents(r,a.Ay.sources.USER),this.quill.setSelection(t.index+1,a.Ay.sources.SILENT),this.quill.focus()}}const p={bindings:{bold:b("bold"),italic:b("italic"),underline:b("underline"),indent:{key:"Tab",format:["blockquote","indent","list"],handler(t,e){return!(!e.collapsed||0===e.offset)||(this.quill.format("indent","+1",a.Ay.sources.USER),!1)}}
vendor: 4,614 bytes, line 46325
46325,outdent:{key:"Tab",shiftKey:!0,format:["blockquote","indent","list"],handler(t,e){return!(!e.collapsed||0===e.offset)||(this.quill.format("indent","-1",a.Ay.sources.USER),!1)}},"outdent backspace":{key:"Backspace",collapsed:!0,shiftKey:null,metaKey:null,ctrlKey:null,altKey:null,format:["indent","list"],offset:0,handler(t,e){null!=e.format.indent?this.quill.format("indent","-1",a.Ay.sources.USER):null!=e.format.list&&this.quill.format("list",!1,a.Ay.sources.USER)}},"indent code-block":g(!0),"outdent code-block":g(!1),"remove tab":{key:"Tab",shiftKey:!0,collapsed:!0,prefix:/\t$/,handler(t){this.quill.deleteText(t.index-1,1,a.Ay.sources.USER)}},tab:{key:"Tab",handler(t,e){if(e.format.table)return!0;this.quill.history.cutoff();const n=(new(o())).retain(t.index).delete(t.length).insert("\t");return this.quill.updateContents(n,a.Ay.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(t.index+1,a.Ay.sources.SILENT),!1}},"blockquote empty enter":{key:"Enter",collapsed:!0,format:["blockquote"],empty:!0,handler(){this.quill.format("blockquote",!1,a.Ay.sources.USER)}},"list empty enter":{key:"Enter",collapsed:!0,format:["list"],empty:!0,handler(t,e){const n={list:!1};e.format.indent&&(n.indent=!1),this.quill.formatLine(t.index,t.length,n,a.Ay.sources.USER)}},"checklist enter":{key:"Enter",collapsed:!0,format:{list:"checked"},handler(t){const[e,n]=this.quill.getLine(t.index),r={...e.formats(),list:"checked"},i=(new(o())).retain(t.index).insert("\n",r).retain(e.length()-n-1).retain(1,{list:"unchecked"});this.quill.updateContents(i,a.Ay.sources.USER),this.quill.setSelection(t.index+1,a.Ay.sources.SILENT),this.quill.scrollSelectionIntoView()}},"header enter":{key:"Enter",collapsed:!0,format:["header"],suffix:/^$/,handler(t,e){const[n,r]=this.quill.getLine(t.index),i=(new(o())).retain(t.index).insert("\n",e.format).retain(n.length()-r-1).retain(1,{header:null});this.quill.updateContents(i,a.Ay.sources.USER),this.quill.setSelection(t.index+1,a.Ay.sources.SILENT),this.quill.scrollSelectionIntoView()}},"table backspace":{key:"Backspace",format:["table"],collapsed:!0,offset:0,handler(){}},"table delete":{key:"Delete",format:["table"],collapsed:!0,suffix:/^$/,handler(){}},"table enter":{key:"Enter",shiftKey:null,format:["table"],handler(t){const e=this.quill.getModule("table");if(e){const[n,r,i,s]=e.getTable(t),l=function(t,e,n,r){return null==e.prev&&null==e.next?null==n.prev&&null==n.next?0===r?-1:1:null==n.prev?-1:1:null==e.prev?-1:null==e.next?1:null}(0,r,i,s);if(null==l)return;let c=n.offset();if(l<0){const e=(new(o())).retain(c).insert("\n");this.quill.updateContents(e,a.Ay.sources.USER),this.quill.setSelection(t.index+1,t.length,a.Ay.sources.SILENT)}else if(l>0){c+=n.length();const t=(new(o())).retain(c).insert("\n");this.quill.updateContents(t,a.Ay.sources.USER),this.quill.setSelection(c,a.Ay.sources.USER)}}}},"table tab":{key:"Tab",shiftKey:null,format:["table"],handler(t,e){const{event:n,line:r}=e,i=r.offset(this.quill.scroll);n.shiftKey?this.quill.setSelection(i-1,a.Ay.sources.USER):this.quill.setSelection(i+r.length(),a.Ay.sources.USER)}},"list autofill":{key:" ",shiftKey:null,collapsed:!0,format:{"code-block":!1,blockquote:!1,table:!1},prefix:/^\s*?(\d+\.|-|\*|\[ ?\]|\[x\])$/,handler(t,e){if(null==this.quill.scroll.query("list"))return!0;const{length:n}=e.prefix,[r,i]=this.quill.getLine(t.index);if(i>n)return!0;let s;switch(e.prefix.trim()){case"[]":case"[ ]":s="unchecked";break;case"[x]":s="checked";break;case"-":case"*":s="bullet";break;default:s="ordered"}this.quill.insertText(t.index," ",a.Ay.sources.USER),this.quill.history.cutoff();const l=(new(o())).retain(t.index-i).delete(n+1).retain(r.length()-2-i).retain(1,{list:s});return this.quill.updateContents(l,a.Ay.sources.USER),this.quill.history.cutoff(),this.quill.setSelection(t.index-n,a.Ay.sources.SILENT),!1}},"code exit":{key:"Enter",collapsed:!0,format:["code-block"],prefix:/^$/,suffix:/^\s*$/,handler(t){const[e,n]=this.quill.getLine(t.index);let r=2,i=e;for(;null!=i&&i.length()<=1&&i.formats()["code-block"];)if(i=i.prev,r-=1,r<=0){const r=(new(o())).retain(t.index+e.length()-n-2).retain(1,{"code-block":null}).delete(1);return this.quill.updateContents(r,a.Ay.sources.USER),this.quill.setSelection(t.index-1,a.Ay.sources.SILENT),!1}return!0}},"embed left":m("ArrowLeft",!1),"embed left shift":m("ArrowLeft",!0),"embed right":m("ArrowRight",!1),"embed right shift":m("ArrowRight",!0),"table down":y(!1),"table up":y(!0)}};function g(t){return{key:"Tab",shiftKey:!t,format:{"code-block":!0},handler(e,n){let{event:r}=n;const i=this.quill.scroll.query("code-block"),{TAB:s}=i;
vendor: 110,873 bytes, line 46325
46325if(0===e.length&&!r.shiftKey)return this.quill.insertText(e.index,s,a.Ay.sources.USER),void this.quill.setSelection(e.index+s.length,a.Ay.sources.SILENT);const o=0===e.length?this.quill.getLines(e.index,1):this.quill.getLines(e);let{index:l,length:c}=e;o.forEach(((e,n)=>{t?(e.insertAt(0,s),0===n?l+=s.length:c+=s.length):e.domNode.textContent.startsWith(s)&&(e.deleteAt(0,s.length),0===n?l-=s.length:c-=s.length)})),this.quill.update(a.Ay.sources.USER),this.quill.setSelection(l,c,a.Ay.sources.SILENT)}}}function m(t,e){return{key:t,shiftKey:e,altKey:null,["ArrowLeft"===t?"prefix":"suffix"]:/^$/,handler(n){let{index:r}=n;"ArrowRight"===t&&(r+=n.length+1);const[i]=this.quill.getLeaf(r);return!(i instanceof l.EmbedBlot&&("ArrowLeft"===t?e?this.quill.setSelection(n.index-1,n.length+1,a.Ay.sources.USER):this.quill.setSelection(n.index-1,a.Ay.sources.USER):e?this.quill.setSelection(n.index,n.length+1,a.Ay.sources.USER):this.quill.setSelection(n.index+n.length+1,a.Ay.sources.USER),1))}}}function b(t){return{key:t[0],shortKey:!0,handler(e,n){this.quill.format(t,!n.format[t],a.Ay.sources.USER)}}}function y(t){return{key:t?"ArrowUp":"ArrowDown",collapsed:!0,format:["table"],handler(e,n){const r=t?"prev":"next",i=n.line,s=i.parent[r];if(null!=s){if("table-row"===s.statics.blotName){let t=s.children.head,e=i;for(;null!=e.prev;)e=e.prev,t=t.next;const r=t.offset(this.quill.scroll)+Math.min(n.offset,t.length()-1);this.quill.setSelection(r,0,a.Ay.sources.USER)}}else{const e=i.table()[r];null!=e&&(t?this.quill.setSelection(e.offset(this.quill.scroll)+e.length()-1,0,a.Ay.sources.USER):this.quill.setSelection(e.offset(this.quill.scroll),0,a.Ay.sources.USER))}return!1}}}function v(t){let{quill:e,range:n}=t;const r=e.getLines(n);let i={};if(r.length>1){const t=r[0].formats(),e=r[r.length-1].formats();i=s.AttributeMap.diff(e,t)||{}}e.deleteText(n,a.Ay.sources.USER),Object.keys(i).length>0&&e.formatLine(n.index,1,i,a.Ay.sources.USER),e.setSelection(n.index,a.Ay.sources.SILENT)}f.DEFAULTS=p},8920:function(t){"use strict";var e=Object.prototype.hasOwnProperty,n="~";function r(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function s(t,e,r,s,o){if("function"!=typeof r)throw new TypeError("The listener must be a function");var l=new i(r,s||t,o),a=n?n+e:e;return t._events[a]?t._events[a].fn?t._events[a]=[t._events[a],l]:t._events[a].push(l):(t._events[a]=l,t._eventsCount++),t}function o(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function l(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),l.prototype.eventNames=function(){var t,r,i=[];if(0===this._eventsCount)return i;for(r in t=this._events)e.call(t,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},l.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,s=r.length,o=new Array(s);i<s;i++)o[i]=r[i].fn;return o},l.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},l.prototype.emit=function(t,e,r,i,s,o){var l=n?n+t:t;if(!this._events[l])return!1;var a,c,u=this._events[l],h=arguments.length;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),h){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,e),!0;case 3:return u.fn.call(u.context,e,r),!0;case 4:return u.fn.call(u.context,e,r,i),!0;case 5:return u.fn.call(u.context,e,r,i,s),!0;case 6:return u.fn.call(u.context,e,r,i,s,o),!0}for(c=1,a=new Array(h-1);c<h;c++)a[c-1]=arguments[c];u.fn.apply(u.context,a)}else{var d,f=u.length;for(c=0;c<f;c++)switch(u[c].once&&this.removeListener(t,u[c].fn,void 0,!0),h){case 1:u[c].fn.call(u[c].context);break;case 2:u[c].fn.call(u[c].context,e);break;case 3:u[c].fn.call(u[c].context,e,r);break;case 4:u[c].fn.call(u[c].context,e,r,i);break;default:if(!a)for(d=1,a=new Array(h-1);d<h;d++)a[d-1]=arguments[d];u[c].fn.apply(u[c].context,a)}}return!0},l.prototype.on=function(t,e,n){return s(this,t,e,n,!1)},l.prototype.once=function(t,e,n){return s(this,t,e,n,!0)},l.prototype.removeListener=function(t,e,r,i){var s=n?n+t:t;if(!this._events[s])return this;if(!e)return o(this,s),this;var l=this._events[s];if(l.fn)l.fn!==e||i&&!l.once||r&&l.context!==r||o(this,s);else{for(var a=0,c=[],u=l.length;a<u;a++)(l[a].fn!==e||i&&!l[a].once||r&&l[a].context!==r)&&c.push(l[a]);c.length?this._events[s]=1===c.length?c[0]:c:o(this,s)}return this},l.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&o(this,e)):(this._events=new r,this._eventsCount=0),this},l.prototype.off=l.prototype.removeListener,l.prototype.addListener=l.prototype.on,l.prefixed=n,l.EventEmitter=l,t.exports=l},5090:function(t){var e=-1,n=1,r=0;function i(t,g,m,b,y){if(t===g)return t?[[r,t]]:[];if(null!=m){var A=function(t,e,n){var r="number"==typeof n?{index:n,length:0}:n.oldRange,i="number"==typeof n?null:n.newRange,s=t.length,o=e.length;if(0===r.length&&(null===i||0===i.length)){var l=r.index,a=t.slice(0,l),c=t.slice(l),u=i?i.index:null,h=l+o-s;if((null===u||u===h)&&!(h<0||h>o)){var d=e.slice(0,h);if((g=e.slice(h))===c){var f=Math.min(l,h);if((b=a.slice(0,f))===(A=d.slice(0,f)))return v(b,a.slice(f),d.slice(f),c)}}if(null===u||u===l){var p=l,g=(d=e.slice(0,p),e.slice(p));if(d===a){var m=Math.min(s-p,o-p);if((y=c.slice(c.length-m))===(x=g.slice(g.length-m)))return v(a,c.slice(0,c.length-m),g.slice(0,g.length-m),y)}}}if(r.length>0&&i&&0===i.length){var b=t.slice(0,r.index),y=t.slice(r.index+r.length);if(!(o<(f=b.length)+(m=y.length))){var A=e.slice(0,f),x=e.slice(o-m);if(b===A&&y===x)return v(b,t.slice(f,s-m),e.slice(f,o-m),y)}}return null}(t,g,m);if(A)return A}var x=o(t,g),N=t.substring(0,x);x=a(t=t.substring(x),g=g.substring(x));var E=t.substring(t.length-x),w=function(t,l){var c;if(!t)return[[n,l]];if(!l)return[[e,t]];var u=t.length>l.length?t:l,h=t.length>l.length?l:t,d=u.indexOf(h);if(-1!==d)return c=[[n,u.substring(0,d)],[r,h],[n,u.substring(d+h.length)]],t.length>l.length&&(c[0][0]=c[2][0]=e),c;if(1===h.length)return[[e,t],[n,l]];var f=function(t,e){var n=t.length>e.length?t:e,r=t.length>e.length?e:t;if(n.length<4||2*r.length<n.length)return null;function i(t,e,n){for(var r,i,s,l,c=t.substring(n,n+Math.floor(t.length/4)),u=-1,h="";-1!==(u=e.indexOf(c,u+1));){var d=o(t.substring(n),e.substring(u)),f=a(t.substring(0,n),e.substring(0,u));h.length<f+d&&(h=e.substring(u-f,u)+e.substring(u,u+d),r=t.substring(0,n-f),i=t.substring(n+d),s=e.substring(0,u-f),l=e.substring(u+d))}return 2*h.length>=t.length?[r,i,s,l,h]:null}var s,l,c,u,h,d=i(n,r,Math.ceil(n.length/4)),f=i(n,r,Math.ceil(n.length/2));return d||f?(s=f?d&&d[4].length>f[4].length?d:f:d,t.length>e.length?(l=s[0],c=s[1],u=s[2],h=s[3]):(u=s[0],h=s[1],l=s[2],c=s[3]),[l,c,u,h,s[4]]):null}(t,l);if(f){var p=f[0],g=f[1],m=f[2],b=f[3],y=f[4],v=i(p,m),A=i(g,b);return v.concat([[r,y]],A)}return function(t,r){for(var i=t.length,o=r.length,l=Math.ceil((i+o)/2),a=l,c=2*l,u=new Array(c),h=new Array(c),d=0;d<c;d++)u[d]=-1,h[d]=-1;u[a+1]=0,h[a+1]=0;for(var f=i-o,p=f%2!=0,g=0,m=0,b=0,y=0,v=0;v<l;v++){for(var A=-v+g;A<=v-m;A+=2){for(var x=a+A,N=(_=A===-v||A!==v&&u[x-1]<u[x+1]?u[x+1]:u[x-1]+1)-A;_<i&&N<o&&t.charAt(_)===r.charAt(N);)_++,N++;if(u[x]=_,_>i)m+=2;else if(N>o)g+=2;else if(p&&(q=a+f-A)>=0&&q<c&&-1!==h[q]&&_>=(w=i-h[q]))return s(t,r,_,N)}for(var E=-v+b;E<=v-y;E+=2){for(var w,q=a+E,k=(w=E===-v||E!==v&&h[q-1]<h[q+1]?h[q+1]:h[q-1]+1)-E;w<i&&k<o&&t.charAt(i-w-1)===r.charAt(o-k-1);)w++,k++;if(h[q]=w,w>i)y+=2;else if(k>o)b+=2;else if(!p){var _;if((x=a+f-E)>=0&&x<c&&-1!==u[x])if(N=a+(_=u[x])-x,_>=(w=i-w))return s(t,r,_,N)}}}return[[e,t],[n,r]]}(t,l)}(t=t.substring(0,t.length-x),g=g.substring(0,g.length-x));return N&&w.unshift([r,N]),E&&w.push([r,E]),p(w,y),b&&function(t){for(var i=!1,s=[],o=0,g=null,m=0,b=0,y=0,v=0,A=0;m<t.length;)t[m][0]==r?(s[o++]=m,b=v,y=A,v=0,A=0,g=t[m][1]):(t[m][0]==n?v+=t[m][1].length:A+=t[m][1].length,g&&g.length<=Math.max(b,y)&&g.length<=Math.max(v,A)&&(t.splice(s[o-1],0,[e,g]),t[s[o-1]+1][0]=n,o--,m=--o>0?s[o-1]:-1,b=0,y=0,v=0,A=0,g=null,i=!0)),m++;for(i&&p(t),function(t){function e(t,e){if(!t||!e)return 6;var n=t.charAt(t.length-1),r=e.charAt(0),i=n.match(c),s=r.match(c),o=i&&n.match(u),l=s&&r.match(u),a=o&&n.match(h),p=l&&r.match(h),g=a&&t.match(d),m=p&&e.match(f);return g||m?5:a||p?4:i&&!o&&l?3:o||l?2:i||s?1:0}for(var n=1;n<t.length-1;){if(t[n-1][0]==r&&t[n+1][0]==r){var i=t[n-1][1],s=t[n][1],o=t[n+1][1],l=a(i,s);if(l){var p=s.substring(s.length-l);i=i.substring(0,i.length-l),s=p+s.substring(0,s.length-l),o=p+o}for(var g=i,m=s,b=o,y=e(i,s)+e(s,o);s.charAt(0)===o.charAt(0);){i+=s.charAt(0),s=s.substring(1)+o.charAt(0),o=o.substring(1);var v=e(i,s)+e(s,o);v>=y&&(y=v,g=i,m=s,b=o)}t[n-1][1]!=g&&(g?t[n-1][1]=g:(t.splice(n-1,1),n--),t[n][1]=m,b?t[n+1][1]=b:(t.splice(n+1,1),n--))}n++}}(t),m=1;m<t.length;){if(t[m-1][0]==e&&t[m][0]==n){var x=t[m-1][1],N=t[m][1],E=l(x,N),w=l(N,x);E>=w?(E>=x.length/2||E>=N.length/2)&&(t.splice(m,0,[r,N.substring(0,E)]),t[m-1][1]=x.substring(0,x.length-E),t[m+1][1]=N.substring(E),m++):(w>=x.length/2||w>=N.length/2)&&(t.splice(m,0,[r,x.substring(0,w)]),t[m-1][0]=n,t[m-1][1]=N.substring(0,N.length-w),t[m+1][0]=e,t[m+1][1]=x.substring(w),m++),m++}m++}}(w),w}function s(t,e,n,r){var s=t.substring(0,n),o=e.substring(0,r),l=t.substring(n),a=e.substring(r),c=i(s,o),u=i(l,a);return c.concat(u)}function o(t,e){if(!t||!e||t.charAt(0)!==e.charAt(0))return 0;for(var n=0,r=Math.min(t.length,e.length),i=r,s=0;n<i;)t.substring(s,i)==e.substring(s,i)?s=n=i:r=i,i=Math.floor((r-n)/2+n);return g(t.charCodeAt(i-1))&&i--,i}function l(t,e){var n=t.length,r=e.length;if(0==n||0==r)return 0;n>r?t=t.substring(n-r):n<r&&(e=e.substring(0,n));var i=Math.min(n,r);if(t==e)return i;for(var s=0,o=1;;){var l=t.substring(i-o),a=e.indexOf(l);if(-1==a)return s;o+=a,0!=a&&t.substring(i-o)!=e.substring(0,o)||(s=o,o++)}}function a(t,e){if(!t||!e||t.slice(-1)!==e.slice(-1))return 0;for(var n=0,r=Math.min(t.length,e.length),i=r,s=0;n<i;)t.substring(t.length-i,t.length-s)==e.substring(e.length-i,e.length-s)?s=n=i:r=i,i=Math.floor((r-n)/2+n);return m(t.charCodeAt(t.length-i))&&i--,i}var c=/[^a-zA-Z0-9]/,u=/\s/,h=/[\r\n]/,d=/\n\r?\n$/,f=/^\r?\n\r?\n/;function p(t,i){t.push([r,""]);for(var s,l=0,c=0,u=0,h="",d="";l<t.length;)if(l<t.length-1&&!t[l][1])t.splice(l,1);else switch(t[l][0]){case n:u++,d+=t[l][1],l++;break;case e:c++,h+=t[l][1],l++;break;case r:var f=l-u-c-1;if(i){if(f>=0&&y(t[f][1])){var g=t[f][1].slice(-1);if(t[f][1]=t[f][1].slice(0,-1),h=g+h,d=g+d,!t[f][1]){t.splice(f,1),l--;var m=f-1;t[m]&&t[m][0]===n&&(u++,d=t[m][1]+d,m--),t[m]&&t[m][0]===e&&(c++,h=t[m][1]+h,m--),f=m}}b(t[l][1])&&(g=t[l][1].charAt(0),t[l][1]=t[l][1].slice(1),h+=g,d+=g)}if(l<t.length-1&&!t[l][1]){t.splice(l,1);break}if(h.length>0||d.length>0){h.length>0&&d.length>0&&(0!==(s=o(d,h))&&(f>=0?t[f][1]+=d.substring(0,s):(t.splice(0,0,[r,d.substring(0,s)]),l++),d=d.substring(s),h=h.substring(s)),0!==(s=a(d,h))&&(t[l][1]=d.substring(d.length-s)+t[l][1],d=d.substring(0,d.length-s),h=h.substring(0,h.length-s)));var v=u+c;0===h.length&&0===d.length?(t.splice(l-v,v),l-=v):0===h.length?(t.splice(l-v,v,[n,d]),l=l-v+1):0===d.length?(t.splice(l-v,v,[e,h]),l=l-v+1):(t.splice(l-v,v,[e,h],[n,d]),l=l-v+2)}0!==l&&t[l-1][0]===r?(t[l-1][1]+=t[l][1],t.splice(l,1)):l++,u=0,c=0,h="",d=""}""===t[t.length-1][1]&&t.pop();var A=!1;for(l=1;l<t.length-1;)t[l-1][0]===r&&t[l+1][0]===r&&(t[l][1].substring(t[l][1].length-t[l-1][1].length)===t[l-1][1]?(t[l][1]=t[l-1][1]+t[l][1].substring(0,t[l][1].length-t[l-1][1].length),t[l+1][1]=t[l-1][1]+t[l+1][1],t.splice(l-1,1),A=!0):t[l][1].substring(0,t[l+1][1].length)==t[l+1][1]&&(t[l-1][1]+=t[l+1][1],t[l][1]=t[l][1].substring(t[l+1][1].length)+t[l+1][1],t.splice(l+1,1),A=!0)),l++;A&&p(t,i)}function g(t){return t>=55296&&t<=56319}function m(t){return t>=56320&&t<=57343}function b(t){return m(t.charCodeAt(0))}function y(t){return g(t.charCodeAt(t.length-1))}function v(t,i,s,o){return y(t)||b(o)?null:function(t){for(var e=[],n=0;n<t.length;n++)t[n][1].length>0&&e.push(t[n]);return e}([[r,t],[e,i],[n,s],[r,o]])}function A(t,e,n,r){return i(t,e,n,r,!0)}A.INSERT=n,A.DELETE=e,A.EQUAL=r,t.exports=A},9629:function(t,e,n){t=n.nmd(t);var r="__lodash_hash_undefined__",i=9007199254740991,s="[object Arguments]",o="[object Boolean]",l="[object Date]",a="[object Function]",c="[object GeneratorFunction]",u="[object Map]",h="[object Number]",d="[object Object]",f="[object Promise]",p="[object RegExp]",g="[object Set]",m="[object String]",b="[object Symbol]",y="[object WeakMap]",v="[object ArrayBuffer]",A="[object DataView]",x="[object Float32Array]",N="[object Float64Array]",E="[object Int8Array]",w="[object Int16Array]",q="[object Int32Array]",k="[object Uint8Array]",_="[object Uint8ClampedArray]",L="[object Uint16Array]",S="[object Uint32Array]",O=/\w*$/,T=/^\[object .+?Constructor\]$/,j=/^(?:0|[1-9]\d*)$/,C={};C[s]=C["[object Array]"]=C[v]=C[A]=C[o]=C[l]=C[x]=C[N]=C[E]=C[w]=C[q]=C[u]=C[h]=C[d]=C[p]=C[g]=C[m]=C[b]=C[k]=C[_]=C[L]=C[S]=!0,C["[object Error]"]=C[a]=C[y]=!1;var R="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,I="object"==typeof self&&self&&self.Object===Object&&self,B=R||I||Function("return this")(),M=e&&!e.nodeType&&e,U=M&&t&&!t.nodeType&&t,D=U&&U.exports===M;function P(t,e){return t.set(e[0],e[1]),t}function z(t,e){return t.add(e),t}function F(t,e,n,r){var i=-1,s=t?t.length:0;for(r&&s&&(n=t[++i]);++i<s;)n=e(n,t[i],i,t);return n}function H(t){var e=!1;if(null!=t&&"function"!=typeof t.toString)try{e=!!(t+"")}catch(t){}return e}function $(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function V(t,e){return function(n){return t(e(n))}}function K(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}var W,Z=Array.prototype,G=Function.prototype,X=Object.prototype,Q=B["__core-js_shared__"],J=(W=/[^.]+$/.exec(Q&&Q.keys&&Q.keys.IE_PROTO||""))?"Symbol(src)_1."+W:"",Y=G.toString,tt=X.hasOwnProperty,et=X.toString,nt=RegExp("^"+Y.call(tt).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),rt=D?B.Buffer:void 0,it=B.Symbol,st=B.Uint8Array,ot=V(Object.getPrototypeOf,Object),lt=Object.create,at=X.propertyIsEnumerable,ct=Z.splice,ut=Object.getOwnPropertySymbols,ht=rt?rt.isBuffer:void 0,dt=V(Object.keys,Object),ft=Bt(B,"DataView"),pt=Bt(B,"Map"),gt=Bt(B,"Promise"),mt=Bt(B,"Set"),bt=Bt(B,"WeakMap"),yt=Bt(Object,"create"),vt=zt(ft),At=zt(pt),xt=zt(gt),Nt=zt(mt),Et=zt(bt),wt=it?it.prototype:void 0,qt=wt?wt.valueOf:void 0;function kt(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function _t(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Lt(t){var e=-1,n=t?t.length:0;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function St(t){this.__data__=new _t(t)}function Ot(t,e,n){var r=t[e];tt.call(t,e)&&Ft(r,n)&&(void 0!==n||e in t)||(t[e]=n)}function Tt(t,e){for(var n=t.length;n--;)if(Ft(t[n][0],e))return n;return-1}function jt(t,e,n,r,i,f,y){var T;if(r&&(T=f?r(t,i,f,y):r(t)),void 0!==T)return T;if(!Wt(t))return t;var j=Ht(t);if(j){if(T=function(t){var e=t.length,n=t.constructor(e);return e&&"string"==typeof t[0]&&tt.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!e)return function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}(t,T)}else{var R=Ut(t),I=R==a||R==c;if(Vt(t))return function(t,e){if(e)return t.slice();var n=new t.constructor(t.length);return t.copy(n),n}(t,e);if(R==d||R==s||I&&!f){if(H(t))return f?t:{};if(T=function(t){return"function"!=typeof t.constructor||Pt(t)?{}:Wt(e=ot(t))?lt(e):{};var e}(I?{}:t),!e)return function(t,e){return Rt(t,Mt(t),e)}(t,function(t,e){return t&&Rt(e,Zt(e),t)}(T,t))}else{if(!C[R])return f?t:{};T=function(t,e,n,r){var i,s=t.constructor;switch(e){case v:return Ct(t);case o:case l:return new s(+t);case A:return function(t,e){var n=e?Ct(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,r);case x:case N:case E:case w:case q:case k:case _:case L:case S:return function(t,e){var n=e?Ct(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}(t,r);case u:return function(t,e,n){return F(e?n($(t),!0):$(t),P,new t.constructor)}(t,r,n);case h:case m:return new s(t);case p:return function(t){var e=new t.constructor(t.source,O.exec(t));return e.lastIndex=t.lastIndex,e}(t);case g:return function(t,e,n){return F(e?n(K(t),!0):K(t),z,new t.constructor)}(t,r,n);case b:return i=t,qt?Object(qt.call(i)):{}}}(t,R,jt,e)}}y||(y=new St);var B=y.get(t);if(B)return B;if(y.set(t,T),!j)var M=n?function(t){return function(t,e,n){var r=e(t);return Ht(t)?r:function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}(r,n(t))}(t,Zt,Mt)}(t):Zt(t);return function(t,e){for(var n=-1,r=t?t.length:0;++n<r&&!1!==e(t[n],n););}(M||t,(function(i,s){M&&(i=t[s=i]),Ot(T,s,jt(i,e,n,r,s,t,y))})),T}function Ct(t){var e=new t.constructor(t.byteLength);return new st(e).set(new st(t)),e}function Rt(t,e,n,r){n||(n={});for(var i=-1,s=e.length;++i<s;){var o=e[i],l=r?r(n[o],t[o],o,n,t):void 0;Ot(n,o,void 0===l?t[o]:l)}return n}function It(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function Bt(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!Wt(t)||(e=t,J&&J in e))&&(Kt(t)||H(t)?nt:T).test(zt(t));var e}(n)?n:void 0}kt.prototype.clear=function(){this.__data__=yt?yt(null):{}},kt.prototype.delete=function(t){return this.has(t)&&delete this.__data__[t]},kt.prototype.get=function(t){var e=this.__data__;if(yt){var n=e[t];return n===r?void 0:n}return tt.call(e,t)?e[t]:void 0},kt.prototype.has=function(t){var e=this.__data__;return yt?void 0!==e[t]:tt.call(e,t)},kt.prototype.set=function(t,e){return this.__data__[t]=yt&&void 0===e?r:e,this},_t.prototype.clear=function(){this.__data__=[]},_t.prototype.delete=function(t){var e=this.__data__,n=Tt(e,t);return!(n<0||(n==e.length-1?e.pop():ct.call(e,n,1),0))},_t.prototype.get=function(t){var e=this.__data__,n=Tt(e,t);return n<0?void 0:e[n][1]},_t.prototype.has=function(t){return Tt(this.__data__,t)>-1},_t.prototype.set=function(t,e){var n=this.__data__,r=Tt(n,t);return r<0?n.push([t,e]):n[r][1]=e,this},Lt.prototype.clear=function(){this.__data__={hash:new kt,map:new(pt||_t),string:new kt}},Lt.prototype.delete=function(t){return It(this,t).delete(t)},Lt.prototype.get=function(t){return It(this,t).get(t)},Lt.prototype.has=function(t){return It(this,t).has(t)},Lt.prototype.set=function(t,e){return It(this,t).set(t,e),this},St.prototype.clear=function(){this.__data__=new _t},St.prototype.delete=function(t){return this.__data__.delete(t)},St.prototype.get=function(t){return this.__data__.get(t)},St.prototype.has=function(t){return this.__data__.has(t)},St.prototype.set=function(t,e){var n=this.__data__;if(n instanceof _t){var r=n.__data__;if(!pt||r.length<199)return r.push([t,e]),this;n=this.__data__=new Lt(r)}return n.set(t,e),this};var Mt=ut?V(ut,Object):function(){return[]},Ut=function(t){return et.call(t)};function Dt(t,e){return!!(e=null==e?i:e)&&("number"==typeof t||j.test(t))&&t>-1&&t%1==0&&t<e}function Pt(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||X)}function zt(t){if(null!=t){try{return Y.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Ft(t,e){return t===e||t!=t&&e!=e}(ft&&Ut(new ft(new ArrayBuffer(1)))!=A||pt&&Ut(new pt)!=u||gt&&Ut(gt.resolve())!=f||mt&&Ut(new mt)!=g||bt&&Ut(new bt)!=y)&&(Ut=function(t){var e=et.call(t),n=e==d?t.constructor:void 0,r=n?zt(n):void 0;if(r)switch(r){case vt:return A;case At:return u;case xt:return f;case Nt:return g;case Et:return y}return e});var Ht=Array.isArray;function $t(t){return null!=t&&function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=i}(t.length)&&!Kt(t)}var Vt=ht||function(){return!1};function Kt(t){var e=Wt(t)?et.call(t):"";return e==a||e==c}function Wt(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function Zt(t){return $t(t)?function(t,e){var n=Ht(t)||function(t){return function(t){return function(t){return!!t&&"object"==typeof t}(t)&&$t(t)}(t)&&tt.call(t,"callee")&&(!at.call(t,"callee")||et.call(t)==s)}(t)?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],r=n.length,i=!!r;for(var o in t)!e&&!tt.call(t,o)||i&&("length"==o||Dt(o,r))||n.push(o);return n}(t):function(t){if(!Pt(t))return dt(t);var e=[];for(var n in Object(t))tt.call(t,n)&&"constructor"!=n&&e.push(n);return e}(t)}t.exports=function(t){return jt(t,!0,!0)}},4162:function(t,e,n){t=n.nmd(t);var r="__lodash_hash_undefined__",i=1,s=2,o=9007199254740991,l="[object Arguments]",a="[object Array]",c="[object AsyncFunction]",u="[object Boolean]",h="[object Date]",d="[object Error]",f="[object Function]",p="[object GeneratorFunction]",g="[object Map]",m="[object Number]",b="[object Null]",y="[object Object]",v="[object Promise]",A="[object Proxy]",x="[object RegExp]",N="[object Set]",E="[object String]",w="[object Undefined]",q="[object WeakMap]",k="[object ArrayBuffer]",_="[object DataView]",L=/^\[object .+?Constructor\]$/,S=/^(?:0|[1-9]\d*)$/,O={};O["[object Float32Array]"]=O["[object Float64Array]"]=O["[object Int8Array]"]=O["[object Int16Array]"]=O["[object Int32Array]"]=O["[object Uint8Array]"]=O["[object Uint8ClampedArray]"]=O["[object Uint16Array]"]=O["[object Uint32Array]"]=!0,O[l]=O[a]=O[k]=O[u]=O[_]=O[h]=O[d]=O[f]=O[g]=O[m]=O[y]=O[x]=O[N]=O[E]=O[q]=!1;var T="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,j="object"==typeof self&&self&&self.Object===Object&&self,C=T||j||Function("return this")(),R=e&&!e.nodeType&&e,I=R&&t&&!t.nodeType&&t,B=I&&I.exports===R,M=B&&T.process,U=function(){try{return M&&M.binding&&M.binding("util")}catch(t){}}(),D=U&&U.isTypedArray;function P(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function z(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function F(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}var H,$,V,K=Array.prototype,W=Function.prototype,Z=Object.prototype,G=C["__core-js_shared__"],X=W.toString,Q=Z.hasOwnProperty,J=(H=/[^.]+$/.exec(G&&G.keys&&G.keys.IE_PROTO||""))?"Symbol(src)_1."+H:"",Y=Z.toString,tt=RegExp("^"+X.call(Q).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),et=B?C.Buffer:void 0,nt=C.Symbol,rt=C.Uint8Array,it=Z.propertyIsEnumerable,st=K.splice,ot=nt?nt.toStringTag:void 0,lt=Object.getOwnPropertySymbols,at=et?et.isBuffer:void 0,ct=($=Object.keys,V=Object,function(t){return $(V(t))}),ut=It(C,"DataView"),ht=It(C,"Map"),dt=It(C,"Promise"),ft=It(C,"Set"),pt=It(C,"WeakMap"),gt=It(Object,"create"),mt=Dt(ut),bt=Dt(ht),yt=Dt(dt),vt=Dt(ft),At=Dt(pt),xt=nt?nt.prototype:void 0,Nt=xt?xt.valueOf:void 0;function Et(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function wt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function qt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function kt(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new qt;++e<n;)this.add(t[e])}function _t(t){var e=this.__data__=new wt(t);this.size=e.size}function Lt(t,e){for(var n=t.length;n--;)if(Pt(t[n][0],e))return n;return-1}function St(t){return null==t?void 0===t?w:b:ot&&ot in Object(t)?function(t){var e=Q.call(t,ot),n=t[ot];try{t[ot]=void 0;var r=!0}catch(t){}var i=Y.call(t);return r&&(e?t[ot]=n:delete t[ot]),i}(t):function(t){return Y.call(t)}(t)}function Ot(t){return Wt(t)&&St(t)==l}function Tt(t,e,n,r,o){return t===e||(null==t||null==e||!Wt(t)&&!Wt(e)?t!=t&&e!=e:function(t,e,n,r,o,c){var f=Ft(t),p=Ft(e),b=f?a:Mt(t),v=p?a:Mt(e),A=(b=b==l?y:b)==y,w=(v=v==l?y:v)==y,q=b==v;if(q&&Ht(t)){if(!Ht(e))return!1;f=!0,A=!1}if(q&&!A)return c||(c=new _t),f||Zt(t)?jt(t,e,n,r,o,c):function(t,e,n,r,o,l,a){switch(n){case _:if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case k:return!(t.byteLength!=e.byteLength||!l(new rt(t),new rt(e)));case u:case h:case m:return Pt(+t,+e);case d:return t.name==e.name&&t.message==e.message;case x:case E:return t==e+"";case g:var c=z;case N:var f=r&i;if(c||(c=F),t.size!=e.size&&!f)return!1;var p=a.get(t);if(p)return p==e;r|=s,a.set(t,e);var b=jt(c(t),c(e),r,o,l,a);return a.delete(t),b;case"[object Symbol]":if(Nt)return Nt.call(t)==Nt.call(e)}return!1}(t,e,b,n,r,o,c);if(!(n&i)){var L=A&&Q.call(t,"__wrapped__"),S=w&&Q.call(e,"__wrapped__");if(L||S){var O=L?t.value():t,T=S?e.value():e;return c||(c=new _t),o(O,T,n,r,c)}}return!!q&&(c||(c=new _t),function(t,e,n,r,s,o){var l=n&i,a=Ct(t),c=a.length;if(c!=Ct(e).length&&!l)return!1;for(var u=c;u--;){var h=a[u];if(!(l?h in e:Q.call(e,h)))return!1}var d=o.get(t);if(d&&o.get(e))return d==e;var f=!0;o.set(t,e),o.set(e,t);for(var p=l;++u<c;){var g=t[h=a[u]],m=e[h];if(r)var b=l?r(m,g,h,e,t,o):r(g,m,h,t,e,o);if(!(void 0===b?g===m||s(g,m,n,r,o):b)){f=!1;break}p||(p="constructor"==h)}if(f&&!p){var y=t.constructor,v=e.constructor;y==v||!("constructor"in t)||!("constructor"in e)||"function"==typeof y&&y instanceof y&&"function"==typeof v&&v instanceof v||(f=!1)}return o.delete(t),o.delete(e),f}(t,e,n,r,o,c))}(t,e,n,r,Tt,o))}function jt(t,e,n,r,o,l){var a=n&i,c=t.length,u=e.length;if(c!=u&&!(a&&u>c))return!1;var h=l.get(t);if(h&&l.get(e))return h==e;var d=-1,f=!0,p=n&s?new kt:void 0;for(l.set(t,e),l.set(e,t);++d<c;){var g=t[d],m=e[d];if(r)var b=a?r(m,g,d,e,t,l):r(g,m,d,t,e,l);if(void 0!==b){if(b)continue;f=!1;break}if(p){if(!P(e,(function(t,e){if(i=e,!p.has(i)&&(g===t||o(g,t,n,r,l)))return p.push(e);var i}))){f=!1;break}}else if(g!==m&&!o(g,m,n,r,l)){f=!1;break}}return l.delete(t),l.delete(e),f}function Ct(t){return function(t,e,n){var r=e(t);return Ft(t)?r:function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}(r,n(t))}(t,Gt,Bt)}function Rt(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map}function It(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return function(t){return!(!Kt(t)||function(t){return!!J&&J in t}(t))&&($t(t)?tt:L).test(Dt(t))}(n)?n:void 0}Et.prototype.clear=function(){this.__data__=gt?gt(null):{},this.size=0},Et.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Et.prototype.get=function(t){var e=this.__data__;if(gt){var n=e[t];return n===r?void 0:n}return Q.call(e,t)?e[t]:void 0},Et.prototype.has=function(t){var e=this.__data__;return gt?void 0!==e[t]:Q.call(e,t)},Et.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=gt&&void 0===e?r:e,this},wt.prototype.clear=function(){this.__data__=[],this.size=0},wt.prototype.delete=function(t){var e=this.__data__,n=Lt(e,t);return!(n<0||(n==e.length-1?e.pop():st.call(e,n,1),--this.size,0))},wt.prototype.get=function(t){var e=this.__data__,n=Lt(e,t);return n<0?void 0:e[n][1]},wt.prototype.has=function(t){return Lt(this.__data__,t)>-1},wt.prototype.set=function(t,e){var n=this.__data__,r=Lt(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},qt.prototype.clear=function(){this.size=0,this.__data__={hash:new Et,map:new(ht||wt),string:new Et}},qt.prototype.delete=function(t){var e=Rt(this,t).delete(t);return this.size-=e?1:0,e},qt.prototype.get=function(t){return Rt(this,t).get(t)},qt.prototype.has=function(t){return Rt(this,t).has(t)},qt.prototype.set=function(t,e){var n=Rt(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this},kt.prototype.add=kt.prototype.push=function(t){return this.__data__.set(t,r),this},kt.prototype.has=function(t){return this.__data__.has(t)},_t.prototype.clear=function(){this.__data__=new wt,this.size=0},_t.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},_t.prototype.get=function(t){return this.__data__.get(t)},_t.prototype.has=function(t){return this.__data__.has(t)},_t.prototype.set=function(t,e){var n=this.__data__;if(n instanceof wt){var r=n.__data__;if(!ht||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new qt(r)}return n.set(t,e),this.size=n.size,this};var Bt=lt?function(t){return null==t?[]:(t=Object(t),function(e,n){for(var r=-1,i=null==e?0:e.length,s=0,o=[];++r<i;){var l=e[r];a=l,it.call(t,a)&&(o[s++]=l)}var a;return o}(lt(t)))}:function(){return[]},Mt=St;function Ut(t,e){return!!(e=null==e?o:e)&&("number"==typeof t||S.test(t))&&t>-1&&t%1==0&&t<e}function Dt(t){if(null!=t){try{return X.call(t)}catch(t){}try{return t+""}catch(t){}}return""}function Pt(t,e){return t===e||t!=t&&e!=e}(ut&&Mt(new ut(new ArrayBuffer(1)))!=_||ht&&Mt(new ht)!=g||dt&&Mt(dt.resolve())!=v||ft&&Mt(new ft)!=N||pt&&Mt(new pt)!=q)&&(Mt=function(t){var e=St(t),n=e==y?t.constructor:void 0,r=n?Dt(n):"";if(r)switch(r){case mt:return _;case bt:return g;case yt:return v;case vt:return N;case At:return q}return e});var zt=Ot(function(){return arguments}())?Ot:function(t){return Wt(t)&&Q.call(t,"callee")&&!it.call(t,"callee")},Ft=Array.isArray,Ht=at||function(){return!1};function $t(t){if(!Kt(t))return!1;var e=St(t);return e==f||e==p||e==c||e==A}function Vt(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=o}function Kt(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function Wt(t){return null!=t&&"object"==typeof t}var Zt=D?function(t){return function(e){return t(e)}}(D):function(t){return Wt(t)&&Vt(t.length)&&!!O[St(t)]};function Gt(t){return null!=(e=t)&&Vt(e.length)&&!$t(e)?function(t,e){var n=Ft(t),r=!n&&zt(t),i=!n&&!r&&Ht(t),s=!n&&!r&&!i&&Zt(t),o=n||r||i||s,l=o?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],a=l.length;for(var c in t)!e&&!Q.call(t,c)||o&&("length"==c||i&&("offset"==c||"parent"==c)||s&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Ut(c,a))||l.push(c);return l}(t):function(t){if(n=(e=t)&&e.constructor,e!==("function"==typeof n&&n.prototype||Z))return ct(t);var e,n,r=[];for(var i in Object(t))Q.call(t,i)&&"constructor"!=i&&r.push(i);return r}(t);var e}t.exports=function(t,e){return Tt(t,e)}},1270:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(9629),i=n(4162);var s;!function(t){t.compose=function(t={},e={},n=!1){"object"!=typeof t&&(t={}),"object"!=typeof e&&(e={});let i=r(e);n||(i=Object.keys(i).reduce(((t,e)=>(null!=i[e]&&(t[e]=i[e]),t)),{}));for(const n in t)void 0!==t[n]&&void 0===e[n]&&(i[n]=t[n]);return Object.keys(i).length>0?i:void 0},t.diff=function(t={},e={}){"object"!=typeof t&&(t={}),"object"!=typeof e&&(e={});const n=Object.keys(t).concat(Object.keys(e)).reduce(((n,r)=>(i(t[r],e[r])||(n[r]=void 0===e[r]?null:e[r]),n)),{});return Object.keys(n).length>0?n:void 0},t.invert=function(t={},e={}){t=t||{};const n=Object.keys(e).reduce(((n,r)=>(e[r]!==t[r]&&void 0!==t[r]&&(n[r]=e[r]),n)),{});return Object.keys(t).reduce(((n,r)=>(t[r]!==e[r]&&void 0===e[r]&&(n[r]=null),n)),n)},t.transform=function(t,e,n=!1){if("object"!=typeof t)return e;if("object"!=typeof e)return;if(!n)return e;const r=Object.keys(e).reduce(((n,r)=>(void 0===t[r]&&(n[r]=e[r]),n)),{});return Object.keys(r).length>0?r:void 0}}(s||(s={})),e.default=s},5232:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.AttributeMap=e.OpIterator=e.Op=void 0;const r=n(5090),i=n(9629),s=n(4162),o=n(1270);e.AttributeMap=o.default;const l=n(4123);e.Op=l.default;const a=n(7033);e.OpIterator=a.default;const c=String.fromCharCode(0),u=(t,e)=>{if("object"!=typeof t||null===t)throw new Error("cannot retain a "+typeof t);if("object"!=typeof e||null===e)throw new Error("cannot retain a "+typeof e);const n=Object.keys(t)[0];if(!n||n!==Object.keys(e)[0])throw new Error(`embed types not matched: ${n} != ${Object.keys(e)[0]}`);return[n,t[n],e[n]]};class h{constructor(t){Array.isArray(t)?this.ops=t:null!=t&&Array.isArray(t.ops)?this.ops=t.ops:this.ops=[]}static registerEmbed(t,e){this.handlers[t]=e}static unregisterEmbed(t){delete this.handlers[t]}static getHandler(t){const e=this.handlers[t];if(!e)throw new Error(`no handlers for embed type "${t}"`);return e}insert(t,e){const n={};return"string"==typeof t&&0===t.length?this:(n.insert=t,null!=e&&"object"==typeof e&&Object.keys(e).length>0&&(n.attributes=e),this.push(n))}delete(t){return t<=0?this:this.push({delete:t})}retain(t,e){if("number"==typeof t&&t<=0)return this;const n={retain:t};return null!=e&&"object"==typeof e&&Object.keys(e).length>0&&(n.attributes=e),this.push(n)}push(t){let e=this.ops.length,n=this.ops[e-1];if(t=i(t),"object"==typeof n){if("number"==typeof t.delete&&"number"==typeof n.delete)return this.ops[e-1]={delete:n.delete+t.delete},this;if("number"==typeof n.delete&&null!=t.insert&&(e-=1,n=this.ops[e-1],"object"!=typeof n))return this.ops.unshift(t),this;if(s(t.attributes,n.attributes)){if("string"==typeof t.insert&&"string"==typeof n.insert)return this.ops[e-1]={insert:n.insert+t.insert},"object"==typeof t.attributes&&(this.ops[e-1].attributes=t.attributes),this;if("number"==typeof t.retain&&"number"==typeof n.retain)return this.ops[e-1]={retain:n.retain+t.retain},"object"==typeof t.attributes&&(this.ops[e-1].attributes=t.attributes),this}}return e===this.ops.length?this.ops.push(t):this.ops.splice(e,0,t),this}chop(){const t=this.ops[this.ops.length-1];return t&&"number"==typeof t.retain&&!t.attributes&&this.ops.pop(),this}filter(t){return this.ops.filter(t)}forEach(t){this.ops.forEach(t)}map(t){return this.ops.map(t)}partition(t){const e=[],n=[];return this.forEach((r=>{(t(r)?e:n).push(r)})),[e,n]}reduce(t,e){return this.ops.reduce(t,e)}changeLength(){return this.reduce(((t,e)=>e.insert?t+l.default.length(e):e.delete?t-e.delete:t),0)}length(){return this.reduce(((t,e)=>t+l.default.length(e)),0)}slice(t=0,e=1/0){const n=[],r=new a.default(this.ops);let i=0;for(;i<e&&r.hasNext();){let s;i<t?s=r.next(t-i):(s=r.next(e-i),n.push(s)),i+=l.default.length(s)}return new h(n)}compose(t){const e=new a.default(this.ops),n=new a.default(t.ops),r=[],i=n.peek();if(null!=i&&"number"==typeof i.retain&&null==i.attributes){let t=i.retain;for(;"insert"===e.peekType()&&e.peekLength()<=t;)t-=e.peekLength(),r.push(e.next());i.retain-t>0&&n.next(i.retain-t)}const l=new h(r);for(;e.hasNext()||n.hasNext();)if("insert"===n.peekType())l.push(n.next());else if("delete"===e.peekType())l.push(e.next());else{const t=Math.min(e.peekLength(),n.peekLength()),r=e.next(t),i=n.next(t);if(i.retain){const a={};if("number"==typeof r.retain)a.retain="number"==typeof i.retain?t:i.retain;else if("number"==typeof i.retain)null==r.retain?a.insert=r.insert:a.retain=r.retain;else{const t=null==r.retain?"insert":"retain",[e,n,s]=u(r[t],i.retain),o=h.getHandler(e);a[t]={[e]:o.compose(n,s,"retain"===t)}}const c=o.default.compose(r.attributes,i.attributes,"number"==typeof r.retain);if(c&&(a.attributes=c),l.push(a),!n.hasNext()&&s(l.ops[l.ops.length-1],a)){const t=new h(e.rest());return l.concat(t).chop()}}else"number"==typeof i.delete&&("number"==typeof r.retain||"object"==typeof r.retain&&null!==r.retain)&&l.push(i)}return l.chop()}concat(t){const e=new h(this.ops.slice());return t.ops.length>0&&(e.push(t.ops[0]),e.ops=e.ops.concat(t.ops.slice(1))),e}diff(t,e){if(this.ops===t.ops)return new h;const n=[this,t].map((e=>e.map((n=>{if(null!=n.insert)return"string"==typeof n.insert?n.insert:c;throw new Error("diff() called "+(e===t?"on":"with")+" non-document")})).join(""))),i=new h,l=r(n[0],n[1],e,!0),u=new a.default(this.ops),d=new a.default(t.ops);return l.forEach((t=>{let e=t[1].length;for(;e>0;){let n=0;switch(t[0]){case r.INSERT:n=Math.min(d.peekLength(),e),i.push(d.next(n));break;case r.DELETE:n=Math.min(e,u.peekLength()),u.next(n),i.delete(n);break;case r.EQUAL:n=Math.min(u.peekLength(),d.peekLength(),e);const t=u.next(n),l=d.next(n);s(t.insert,l.insert)?i.retain(n,o.default.diff(t.attributes,l.attributes)):i.push(l).delete(n)}e-=n}})),i.chop()}eachLine(t,e="\n"){const n=new a.default(this.ops);let r=new h,i=0;for(;n.hasNext();){if("insert"!==n.peekType())return;const s=n.peek(),o=l.default.length(s)-n.peekLength(),a="string"==typeof s.insert?s.insert.indexOf(e,o)-o:-1;if(a<0)r.push(n.next());else if(a>0)r.push(n.next(a));else{if(!1===t(r,n.next(1).attributes||{},i))return;i+=1,r=new h}}r.length()>0&&t(r,{},i)}invert(t){const e=new h;return this.reduce(((n,r)=>{if(r.insert)e.delete(l.default.length(r));else{if("number"==typeof r.retain&&null==r.attributes)return e.retain(r.retain),n+r.retain;if(r.delete||"number"==typeof r.retain){const i=r.delete||r.retain;return t.slice(n,n+i).forEach((t=>{r.delete?e.push(t):r.retain&&r.attributes&&e.retain(l.default.length(t),o.default.invert(r.attributes,t.attributes))})),n+i}if("object"==typeof r.retain&&null!==r.retain){const i=t.slice(n,n+1),s=new a.default(i.ops).next(),[l,c,d]=u(r.retain,s.insert),f=h.getHandler(l);return e.retain({[l]:f.invert(c,d)},o.default.invert(r.attributes,s.attributes)),n+1}}return n}),0),e.chop()}transform(t,e=!1){if(e=!!e,"number"==typeof t)return this.transformPosition(t,e);const n=t,r=new a.default(this.ops),i=new a.default(n.ops),s=new h;for(;r.hasNext()||i.hasNext();)if("insert"!==r.peekType()||!e&&"insert"===i.peekType())if("insert"===i.peekType())s.push(i.next());else{const t=Math.min(r.peekLength(),i.peekLength()),n=r.next(t),l=i.next(t);if(n.delete)continue;if(l.delete)s.push(l);else{const r=n.retain,i=l.retain;let a="object"==typeof i&&null!==i?i:t;if("object"==typeof r&&null!==r&&"object"==typeof i&&null!==i){const t=Object.keys(r)[0];if(t===Object.keys(i)[0]){const n=h.getHandler(t);n&&(a={[t]:n.transform(r[t],i[t],e)})}}s.retain(a,o.default.transform(n.attributes,l.attributes,e))}}else s.retain(l.default.length(r.next()));return s.chop()}transformPosition(t,e=!1){e=!!e;const n=new a.default(this.ops);let r=0;for(;n.hasNext()&&r<=t;){const i=n.peekLength(),s=n.peekType();n.next(),"delete"!==s?("insert"===s&&(r<t||!e)&&(t+=i),r+=i):t-=Math.min(i,t-r)}return t}}h.Op=l.default,h.OpIterator=a.default,h.AttributeMap=o.default,h.handlers={},e.default=h,t.exports=h,t.exports.default=h},4123:function(t,e){"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),function(t){t.length=function(t){return"number"==typeof t.delete?t.delete:"number"==typeof t.retain?t.retain:"object"==typeof t.retain&&null!==t.retain?1:"string"==typeof t.insert?t.insert.length:1}}(n||(n={})),e.default=n},7033:function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=n(4123);e.default=class{constructor(t){this.ops=t,this.index=0,this.offset=0}hasNext(){return this.peekLength()<1/0}next(t){t||(t=1/0);const e=this.ops[this.index];if(e){const n=this.offset,i=r.default.length(e);if(t>=i-n?(t=i-n,this.index+=1,this.offset=0):this.offset+=t,"number"==typeof e.delete)return{delete:t};{const r={};return e.attributes&&(r.attributes=e.attributes),"number"==typeof e.retain?r.retain=t:"object"==typeof e.retain&&null!==e.retain?r.retain=e.retain:"string"==typeof e.insert?r.insert=e.insert.substr(n,t):r.insert=e.insert,r}}return{retain:1/0}}peek(){return this.ops[this.index]}peekLength(){return this.ops[this.index]?r.default.length(this.ops[this.index])-this.offset:1/0}peekType(){const t=this.ops[this.index];return t?"number"==typeof t.delete?"delete":"number"==typeof t.retain||"object"==typeof t.retain&&null!==t.retain?"retain":"insert":"retain"}rest(){if(this.hasNext()){if(0===this.offset)return this.ops.slice(this.index);{const t=this.offset,e=this.index,n=this.next(),r=this.ops.slice(this.index);return this.offset=t,this.index=e,[n].concat(r)}}return[]}}},8820:function(t,e,n){"use strict";n.d(e,{A:function(){return l}});var r=n(8138),i=function(t,e){for(var n=t.length;n--;)if((0,r.A)(t[n][0],e))return n;return-1},s=Array.prototype.splice;function o(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}o.prototype.clear=function(){this.__data__=[],this.size=0},o.prototype.delete=function(t){var e=this.__data__,n=i(e,t);return!(n<0||(n==e.length-1?e.pop():s.call(e,n,1),--this.size,0))},o.prototype.get=function(t){var e=this.__data__,n=i(e,t);return n<0?void 0:e[n][1]},o.prototype.has=function(t){return i(this.__data__,t)>-1},o.prototype.set=function(t,e){var n=this.__data__,r=i(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this};var l=o},2461:function(t,e,n){"use strict";var r=n(2281),i=n(5507),s=(0,r.A)(i.A,"Map");e.A=s},3558:function(t,e,n){"use strict";n.d(e,{A:function(){return d}});var r=(0,n(2281).A)(Object,"create"),i=Object.prototype.hasOwnProperty,s=Object.prototype.hasOwnProperty;function o(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}o.prototype.clear=function(){this.__data__=r?r(null):{},this.size=0},o.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},o.prototype.get=function(t){var e=this.__data__;if(r){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return i.call(e,t)?e[t]:void 0},o.prototype.has=function(t){var e=this.__data__;return r?void 0!==e[t]:s.call(e,t)},o.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=r&&void 0===e?"__lodash_hash_undefined__":e,this};var l=o,a=n(8820),c=n(2461),u=function(t,e){var n,r,i=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?i["string"==typeof e?"string":"hash"]:i.map};function h(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}h.prototype.clear=function(){this.size=0,this.__data__={hash:new l,map:new(c.A||a.A),string:new l}},h.prototype.delete=function(t){var e=u(this,t).delete(t);return this.size-=e?1:0,e},h.prototype.get=function(t){return u(this,t).get(t)},h.prototype.has=function(t){return u(this,t).has(t)},h.prototype.set=function(t,e){var n=u(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};var d=h},2673:function(t,e,n){"use strict";n.d(e,{A:function(){return l}});var r=n(8820),i=n(2461),s=n(3558);function o(t){var e=this.__data__=new r.A(t);this.size=e.size}o.prototype.clear=function(){this.__data__=new r.A,this.size=0},o.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},o.prototype.get=function(t){return this.__data__.get(t)},o.prototype.has=function(t){return this.__data__.has(t)},o.prototype.set=function(t,e){var n=this.__data__;if(n instanceof r.A){var o=n.__data__;if(!i.A||o.length<199)return o.push([t,e]),this.size=++n.size,this;n=this.__data__=new s.A(o)}return n.set(t,e),this.size=n.size,this};var l=o},439:function(t,e,n){"use strict";var r=n(5507).A.Symbol;e.A=r},7218:function(t,e,n){"use strict";var r=n(5507).A.Uint8Array;e.A=r},6753:function(t,e,n){"use strict";n.d(e,{A:function(){return c}});var r=n(8412),i=n(723),s=n(776),o=n(3767),l=n(5755),a=Object.prototype.hasOwnProperty,c=function(t,e){var n=(0,i.A)(t),c=!n&&(0,r.A)(t),u=!n&&!c&&(0,s.A)(t),h=!n&&!c&&!u&&(0,l.A)(t),d=n||c||u||h,f=d?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],p=f.length;for(var g in t)!e&&!a.call(t,g)||d&&("length"==g||u&&("offset"==g||"parent"==g)||h&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||(0,o.A)(g,p))||f.push(g);return f}},802:function(t,e){"use strict";e.A=function(t,e){for(var n=-1,r=e.length,i=t.length;++n<r;)t[i+n]=e[n];return t}},6437:function(t,e,n){"use strict";var r=n(6770),i=n(8138),s=Object.prototype.hasOwnProperty;e.A=function(t,e,n){var o=t[e];s.call(t,e)&&(0,i.A)(o,n)&&(void 0!==n||e in t)||(0,r.A)(t,e,n)}},6770:function(t,e,n){"use strict";var r=n(7889);e.A=function(t,e,n){"__proto__"==e&&r.A?(0,r.A)(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}},1381:function(t,e,n){"use strict";var r=n(802),i=n(723);e.A=function(t,e,n){var s=e(t);return(0,i.A)(t)?s:(0,r.A)(s,n(t))}},2159:function(t,e,n){"use strict";n.d(e,{A:function(){return u}});var r=n(439),i=Object.prototype,s=i.hasOwnProperty,o=i.toString,l=r.A?r.A.toStringTag:void 0,a=Object.prototype.toString,c=r.A?r.A.toStringTag:void 0,u=function(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":c&&c in Object(t)?function(t){var e=s.call(t,l),n=t[l];try{t[l]=void 0;var r=!0}catch(t){}var i=o.call(t);return r&&(e?t[l]=n:delete t[l]),i}(t):function(t){return a.call(t)}(t)}},5771:function(t,e){"use strict";e.A=function(t){return function(e){return t(e)}}},2899:function(t,e,n){"use strict";var r=n(7218);e.A=function(t){var e=new t.constructor(t.byteLength);return new r.A(e).set(new r.A(t)),e}},3812:function(t,e,n){"use strict";var r=n(5507),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,s=i&&"object"==typeof module&&module&&!module.nodeType&&module,o=s&&s.exports===i?r.A.Buffer:void 0,l=o?o.allocUnsafe:void 0;e.A=function(t,e){if(e)return t.slice();var n=t.length,r=l?l(n):new t.constructor(n);return t.copy(r),r}},1827:function(t,e,n){"use strict";var r=n(2899);e.A=function(t,e){var n=e?(0,r.A)(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},4405:function(t,e){"use strict";e.A=function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}},9601:function(t,e,n){"use strict";var r=n(6437),i=n(6770);e.A=function(t,e,n,s){var o=!n;n||(n={});for(var l=-1,a=e.length;++l<a;){var c=e[l],u=s?s(n[c],t[c],c,n,t):void 0;void 0===u&&(u=t[c]),o?(0,i.A)(n,c,u):(0,r.A)(n,c,u)}return n}},7889:function(t,e,n){"use strict";var r=n(2281),i=function(){try{var t=(0,r.A)(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();e.A=i},9646:function(t,e){"use strict";var n="object"==typeof global&&global&&global.Object===Object&&global;e.A=n},2816:function(t,e,n){"use strict";var r=n(1381),i=n(9844),s=n(3169);e.A=function(t){return(0,r.A)(t,s.A,i.A)}},2281:function(t,e,n){"use strict";n.d(e,{A:function(){return m}});var r,i=n(7572),s=n(5507).A["__core-js_shared__"],o=(r=/[^.]+$/.exec(s&&s.keys&&s.keys.IE_PROTO||""))?"Symbol(src)_1."+r:"",l=n(659),a=n(1543),c=/^\[object .+?Constructor\]$/,u=Function.prototype,h=Object.prototype,d=u.toString,f=h.hasOwnProperty,p=RegExp("^"+d.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),g=function(t){return!(!(0,l.A)(t)||(e=t,o&&o in e))&&((0,i.A)(t)?p:c).test((0,a.A)(t));var e},m=function(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return g(n)?n:void 0}},8769:function(t,e,n){"use strict";var r=(0,n(2217).A)(Object.getPrototypeOf,Object);e.A=r},9844:function(t,e,n){"use strict";n.d(e,{A:function(){return o}});var r=n(6935),i=Object.prototype.propertyIsEnumerable,s=Object.getOwnPropertySymbols,o=s?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var n=-1,r=null==t?0:t.length,i=0,s=[];++n<r;){var o=t[n];e(o,n,t)&&(s[i++]=o)}return s}(s(t),(function(e){return i.call(t,e)})))}:r.A},7995:function(t,e,n){"use strict";n.d(e,{A:function(){return E}});var r=n(2281),i=n(5507),s=(0,r.A)(i.A,"DataView"),o=n(2461),l=(0,r.A)(i.A,"Promise"),a=(0,r.A)(i.A,"Set"),c=(0,r.A)(i.A,"WeakMap"),u=n(2159),h=n(1543),d="[object Map]",f="[object Promise]",p="[object Set]",g="[object WeakMap]",m="[object DataView]",b=(0,h.A)(s),y=(0,h.A)(o.A),v=(0,h.A)(l),A=(0,h.A)(a),x=(0,h.A)(c),N=u.A;(s&&N(new s(new ArrayBuffer(1)))!=m||o.A&&N(new o.A)!=d||l&&N(l.resolve())!=f||a&&N(new a)!=p||c&&N(new c)!=g)&&(N=function(t){var e=(0,u.A)(t),n="[object Object]"==e?t.constructor:void 0,r=n?(0,h.A)(n):"";if(r)switch(r){case b:return m;case y:return d;case v:return f;case A:return p;case x:return g}return e});var E=N},1683:function(t,e,n){"use strict";n.d(e,{A:function(){return a}});var r=n(659),i=Object.create,s=function(){function t(){}return function(e){if(!(0,r.A)(e))return{};if(i)return i(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}(),o=n(8769),l=n(501),a=function(t){return"function"!=typeof t.constructor||(0,l.A)(t)?{}:s((0,o.A)(t))}},3767:function(t,e){"use strict";var n=/^(?:0|[1-9]\d*)$/;e.A=function(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&n.test(t))&&t>-1&&t%1==0&&t<e}},501:function(t,e){"use strict";var n=Object.prototype;e.A=function(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}},8795:function(t,e,n){"use strict";var r=n(9646),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,s=i&&"object"==typeof module&&module&&!module.nodeType&&module,o=s&&s.exports===i&&r.A.process,l=function(){try{return s&&s.require&&s.require("util").types||o&&o.binding&&o.binding("util")}catch(t){}}();e.A=l},2217:function(t,e){"use strict";e.A=function(t,e){return function(n){return t(e(n))}}},5507:function(t,e,n){"use strict";var r=n(9646),i="object"==typeof self&&self&&self.Object===Object&&self,s=r.A||i||Function("return this")();e.A=s},1543:function(t,e){"use strict";var n=Function.prototype.toString;e.A=function(t){if(null!=t){try{return n.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},3707:function(t,e,n){"use strict";n.d(e,{A:function(){return H}});var r=n(2673),i=n(6437),s=n(9601),o=n(3169),l=n(2624),a=n(3812),c=n(4405),u=n(9844),h=n(802),d=n(8769),f=n(6935),p=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)(0,h.A)(e,(0,u.A)(t)),t=(0,d.A)(t);return e}:f.A,g=n(2816),m=n(1381),b=function(t){return(0,m.A)(t,l.A,p)},y=n(7995),v=Object.prototype.hasOwnProperty,A=n(2899),x=/\w*$/,N=n(439),E=N.A?N.A.prototype:void 0,w=E?E.valueOf:void 0,q=n(1827),k=function(t,e,n){var r,i,s,o=t.constructor;switch(e){case"[object ArrayBuffer]":return(0,A.A)(t);case"[object Boolean]":case"[object Date]":return new o(+t);case"[object DataView]":return function(t,e){var n=e?(0,A.A)(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,q.A)(t,n);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(t);case"[object RegExp]":return(s=new(i=t).constructor(i.source,x.exec(i))).lastIndex=i.lastIndex,s;case"[object Symbol]":return r=t,w?Object(w.call(r)):{}}},_=n(1683),L=n(723),S=n(776),O=n(7948),T=n(5771),j=n(8795),C=j.A&&j.A.isMap,R=C?(0,T.A)(C):function(t){return(0,O.A)(t)&&"[object Map]"==(0,y.A)(t)},I=n(659),B=j.A&&j.A.isSet,M=B?(0,T.A)(B):function(t){return(0,O.A)(t)&&"[object Set]"==(0,y.A)(t)},U="[object Arguments]",D="[object Function]",P="[object Object]",z={};z[U]=z["[object Array]"]=z["[object ArrayBuffer]"]=z["[object DataView]"]=z["[object Boolean]"]=z["[object Date]"]=z["[object Float32Array]"]=z["[object Float64Array]"]=z["[object Int8Array]"]=z["[object Int16Array]"]=z["[object Int32Array]"]=z["[object Map]"]=z["[object Number]"]=z[P]=z["[object RegExp]"]=z["[object Set]"]=z["[object String]"]=z["[object Symbol]"]=z["[object Uint8Array]"]=z["[object Uint8ClampedArray]"]=z["[object Uint16Array]"]=z["[object Uint32Array]"]=!0,z["[object Error]"]=z[D]=z["[object WeakMap]"]=!1;var F=function t(e,n,h,d,f,m){var A,x=1&n,N=2&n,E=4&n;if(h&&(A=f?h(e,d,f,m):h(e)),void 0!==A)return A;if(!(0,I.A)(e))return e;var w=(0,L.A)(e);if(w){if(A=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&v.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(e),!x)return(0,c.A)(e,A)}else{var q=(0,y.A)(e),O=q==D||"[object GeneratorFunction]"==q;if((0,S.A)(e))return(0,a.A)(e,x);if(q==P||q==U||O&&!f){if(A=N||O?{}:(0,_.A)(e),!x)return N?function(t,e){return(0,s.A)(t,p(t),e)}(e,function(t,e){return t&&(0,s.A)(e,(0,l.A)(e),t)}(A,e)):function(t,e){return(0,s.A)(t,(0,u.A)(t),e)}(e,function(t,e){return t&&(0,s.A)(e,(0,o.A)(e),t)}(A,e))}else{if(!z[q])return f?e:{};A=k(e,q,x)}}m||(m=new r.A);var T=m.get(e);if(T)return T;m.set(e,A),M(e)?e.forEach((function(r){A.add(t(r,n,h,r,e,m))})):R(e)&&e.forEach((function(r,i){A.set(i,t(r,n,h,i,e,m))}));var j=E?N?b:g.A:N?l.A:o.A,C=w?void 0:j(e);return function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););}(C||e,(function(r,s){C&&(r=e[s=r]),(0,i.A)(A,s,t(r,n,h,s,e,m))})),A},H=function(t){return F(t,5)}},8138:function(t,e){"use strict";e.A=function(t,e){return t===e||t!=t&&e!=e}},8412:function(t,e,n){"use strict";n.d(e,{A:function(){return u}});var r=n(2159),i=n(7948),s=function(t){return(0,i.A)(t)&&"[object Arguments]"==(0,r.A)(t)},o=Object.prototype,l=o.hasOwnProperty,a=o.propertyIsEnumerable,c=s(function(){return arguments}())?s:function(t){return(0,i.A)(t)&&l.call(t,"callee")&&!a.call(t,"callee")},u=c},723:function(t,e){"use strict";var n=Array.isArray;e.A=n},3628:function(t,e,n){"use strict";var r=n(7572),i=n(1628);e.A=function(t){return null!=t&&(0,i.A)(t.length)&&!(0,r.A)(t)}},776:function(t,e,n){"use strict";n.d(e,{A:function(){return l}});var r=n(5507),i="object"==typeof exports&&exports&&!exports.nodeType&&exports,s=i&&"object"==typeof module&&module&&!module.nodeType&&module,o=s&&s.exports===i?r.A.Buffer:void 0,l=(o?o.isBuffer:void 0)||function(){return!1}},5123:function(t,e,n){"use strict";n.d(e,{A:function(){return S}});var r=n(2673),i=n(3558);function s(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new i.A;++e<n;)this.add(t[e])}s.prototype.add=s.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},s.prototype.has=function(t){return this.__data__.has(t)};var o=s,l=function(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1},a=function(t,e,n,r,i,s){var a=1&n,c=t.length,u=e.length;if(c!=u&&!(a&&u>c))return!1;var h=s.get(t),d=s.get(e);if(h&&d)return h==e&&d==t;var f=-1,p=!0,g=2&n?new o:void 0;for(s.set(t,e),s.set(e,t);++f<c;){var m=t[f],b=e[f];if(r)var y=a?r(b,m,f,e,t,s):r(m,b,f,t,e,s);if(void 0!==y){if(y)continue;p=!1;break}if(g){if(!l(e,(function(t,e){if(o=e,!g.has(o)&&(m===t||i(m,t,n,r,s)))return g.push(e);var o}))){p=!1;break}}else if(m!==b&&!i(m,b,n,r,s)){p=!1;break}}return s.delete(t),s.delete(e),p},c=n(439),u=n(7218),h=n(8138),d=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n},f=function(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n},p=c.A?c.A.prototype:void 0,g=p?p.valueOf:void 0,m=n(2816),b=Object.prototype.hasOwnProperty,y=n(7995),v=n(723),A=n(776),x=n(5755),N="[object Arguments]",E="[object Array]",w="[object Object]",q=Object.prototype.hasOwnProperty,k=function(t,e,n,i,s,o){var l=(0,v.A)(t),c=(0,v.A)(e),p=l?E:(0,y.A)(t),k=c?E:(0,y.A)(e),_=(p=p==N?w:p)==w,L=(k=k==N?w:k)==w,S=p==k;if(S&&(0,A.A)(t)){if(!(0,A.A)(e))return!1;l=!0,_=!1}if(S&&!_)return o||(o=new r.A),l||(0,x.A)(t)?a(t,e,n,i,s,o):function(t,e,n,r,i,s,o){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!s(new u.A(t),new u.A(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return(0,h.A)(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var l=d;case"[object Set]":var c=1&r;if(l||(l=f),t.size!=e.size&&!c)return!1;var p=o.get(t);if(p)return p==e;r|=2,o.set(t,e);var m=a(l(t),l(e),r,i,s,o);return o.delete(t),m;case"[object Symbol]":if(g)return g.call(t)==g.call(e)}return!1}(t,e,p,n,i,s,o);if(!(1&n)){var O=_&&q.call(t,"__wrapped__"),T=L&&q.call(e,"__wrapped__");if(O||T){var j=O?t.value():t,C=T?e.value():e;return o||(o=new r.A),s(j,C,n,i,o)}}return!!S&&(o||(o=new r.A),function(t,e,n,r,i,s){var o=1&n,l=(0,m.A)(t),a=l.length;if(a!=(0,m.A)(e).length&&!o)return!1;for(var c=a;c--;){var u=l[c];if(!(o?u in e:b.call(e,u)))return!1}var h=s.get(t),d=s.get(e);if(h&&d)return h==e&&d==t;var f=!0;s.set(t,e),s.set(e,t);for(var p=o;++c<a;){var g=t[u=l[c]],y=e[u];if(r)var v=o?r(y,g,u,e,t,s):r(g,y,u,t,e,s);if(!(void 0===v?g===y||i(g,y,n,r,s):v)){f=!1;break}p||(p="constructor"==u)}if(f&&!p){var A=t.constructor,x=e.constructor;A==x||!("constructor"in t)||!("constructor"in e)||"function"==typeof A&&A instanceof A&&"function"==typeof x&&x instanceof x||(f=!1)}return s.delete(t),s.delete(e),f}(t,e,n,i,s,o))},_=n(7948),L=function t(e,n,r,i,s){return e===n||(null==e||null==n||!(0,_.A)(e)&&!(0,_.A)(n)?e!=e&&n!=n:k(e,n,r,i,t,s))},S=function(t,e){return L(t,e)}},7572:function(t,e,n){"use strict";var r=n(2159),i=n(659);e.A=function(t){if(!(0,i.A)(t))return!1;var e=(0,r.A)(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},1628:function(t,e){"use strict";e.A=function(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}},659:function(t,e){"use strict";e.A=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},7948:function(t,e){"use strict";e.A=function(t){return null!=t&&"object"==typeof t}},5755:function(t,e,n){"use strict";n.d(e,{A:function(){return u}});var r=n(2159),i=n(1628),s=n(7948),o={};o["[object Float32Array]"]=o["[object Float64Array]"]=o["[object Int8Array]"]=o["[object Int16Array]"]=o["[object Int32Array]"]=o["[object Uint8Array]"]=o["[object Uint8ClampedArray]"]=o["[object Uint16Array]"]=o["[object Uint32Array]"]=!0,o["[object Arguments]"]=o["[object Array]"]=o["[object ArrayBuffer]"]=o["[object Boolean]"]=o["[object DataView]"]=o["[object Date]"]=o["[object Error]"]=o["[object Function]"]=o["[object Map]"]=o["[object Number]"]=o["[object Object]"]=o["[object RegExp]"]=o["[object Set]"]=o["[object String]"]=o["[object WeakMap]"]=!1;var l=n(5771),a=n(8795),c=a.A&&a.A.isTypedArray,u=c?(0,l.A)(c):function(t){return(0,s.A)(t)&&(0,i.A)(t.length)&&!!o[(0,r.A)(t)]}},3169:function(t,e,n){"use strict";n.d(e,{A:function(){return a}});var r=n(6753),i=n(501),s=(0,n(2217).A)(Object.keys,Object),o=Object.prototype.hasOwnProperty,l=n(3628),a=function(t){return(0,l.A)(t)?(0,r.A)(t):function(t){if(!(0,i.A)(t))return s(t);var e=[];for(var n in Object(t))o.call(t,n)&&"constructor"!=n&&e.push(n);return e}(t)}},2624:function(t,e,n){"use strict";n.d(e,{A:function(){return c}});var r=n(6753),i=n(659),s=n(501),o=Object.prototype.hasOwnProperty,l=function(t){if(!(0,i.A)(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=(0,s.A)(t),n=[];for(var r in t)("constructor"!=r||!e&&o.call(t,r))&&n.push(r);return n},a=n(3628),c=function(t){return(0,a.A)(t)?(0,r.A)(t,!0):l(t)}},8347:function(t,e,n){"use strict";n.d(e,{A:function(){return $}});var r,i,s,o,l=n(2673),a=n(6770),c=n(8138),u=function(t,e,n){(void 0!==n&&!(0,c.A)(t[e],n)||void 0===n&&!(e in t))&&(0,a.A)(t,e,n)},h=function(t,e,n){for(var r=-1,i=Object(t),s=n(t),o=s.length;o--;){var l=s[++r];if(!1===e(i[l],l,i))break}return t},d=n(3812),f=n(1827),p=n(4405),g=n(1683),m=n(8412),b=n(723),y=n(3628),v=n(7948),A=n(776),x=n(7572),N=n(659),E=n(2159),w=n(8769),q=Function.prototype,k=Object.prototype,_=q.toString,L=k.hasOwnProperty,S=_.call(Object),O=n(5755),T=function(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]},j=n(9601),C=n(2624),R=function(t,e,n,r,i,s,o){var l,a=T(t,n),c=T(e,n),h=o.get(c);if(h)u(t,n,h);else{var q=s?s(a,c,n+"",t,e,o):void 0,k=void 0===q;if(k){var R=(0,b.A)(c),I=!R&&(0,A.A)(c),B=!R&&!I&&(0,O.A)(c);q=c,R||I||B?(0,b.A)(a)?q=a:(l=a,(0,v.A)(l)&&(0,y.A)(l)?q=(0,p.A)(a):I?(k=!1,q=(0,d.A)(c,!0)):B?(k=!1,q=(0,f.A)(c,!0)):q=[]):function(t){if(!(0,v.A)(t)||"[object Object]"!=(0,E.A)(t))return!1;var e=(0,w.A)(t);if(null===e)return!0;var n=L.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&_.call(n)==S}(c)||(0,m.A)(c)?(q=a,(0,m.A)(a)?q=function(t){return(0,j.A)(t,(0,C.A)(t))}(a):(0,N.A)(a)&&!(0,x.A)(a)||(q=(0,g.A)(c))):k=!1}k&&(o.set(c,q),i(q,c,r,s,o),o.delete(c)),u(t,n,q)}},I=function t(e,n,r,i,s){e!==n&&h(n,(function(o,a){if(s||(s=new l.A),(0,N.A)(o))R(e,n,a,r,t,i,s);else{var c=i?i(T(e,a),o,a+"",e,n,s):void 0;void 0===c&&(c=o),u(e,a,c)}}),C.A)},B=function(t){return t},M=Math.max,U=n(7889),D=U.A?function(t,e){return(0,U.A)(t,"toString",{configurable:!0,enumerable:!1,value:(n=e,function(){return n}),writable:!0});var n}:B,P=Date.now,z=(r=D,i=0,s=0,function(){var t=P(),e=16-(t-s);if(s=t,e>0){if(++i>=800)return arguments[0]}else i=0;return r.apply(void 0,arguments)}),F=function(t,e){return z(function(t,e,n){return e=M(void 0===e?t.length-1:e,0),function(){for(var r=arguments,i=-1,s=M(r.length-e,0),o=Array(s);++i<s;)o[i]=r[e+i];i=-1;for(var l=Array(e+1);++i<e;)l[i]=r[i];return l[e]=n(o),function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}(t,this,l)}}(t,e,B),t+"")},H=n(3767),$=(o=function(t,e,n){I(t,e,n)},F((function(t,e){var n=-1,r=e.length,i=r>1?e[r-1]:void 0,s=r>2?e[2]:void 0;for(i=o.length>3&&"function"==typeof i?(r--,i):void 0,s&&function(t,e,n){if(!(0,N.A)(n))return!1;var r=typeof e;return!!("number"==r?(0,y.A)(n)&&(0,H.A)(e,n.length):"string"==r&&e in n)&&(0,c.A)(n[e],t)}(e[0],e[1],s)&&(i=r<3?void 0:i,r=1),t=Object(t);++n<r;){var l=e[n];l&&o(t,l,n)}return t})))},6935:function(t,e){"use strict";e.A=function(){return[]}},6003:function(t,e,n){"use strict";n.r(e),n.d(e,{Attributor:function(){return i},AttributorStore:function(){return d},BlockBlot:function(){return w},ClassAttributor:function(){return c},ContainerBlot:function(){return k},EmbedBlot:function(){return _},InlineBlot:function(){return N},LeafBlot:function(){return m},ParentBlot:function(){return A},Registry:function(){return l},Scope:function(){return r},ScrollBlot:function(){return O},StyleAttributor:function(){return h},TextBlot:function(){return j}});var r=(t=>(t[t.TYPE=3]="TYPE",t[t.LEVEL=12]="LEVEL",t[t.ATTRIBUTE=13]="ATTRIBUTE",t[t.BLOT=14]="BLOT",t[t.INLINE=7]="INLINE",t[t.BLOCK=11]="BLOCK",t[t.BLOCK_BLOT=10]="BLOCK_BLOT",t[t.INLINE_BLOT=6]="INLINE_BLOT",t[t.BLOCK_ATTRIBUTE=9]="BLOCK_ATTRIBUTE",t[t.INLINE_ATTRIBUTE=5]="INLINE_ATTRIBUTE",t[t.ANY=15]="ANY",t))(r||{});class i{constructor(t,e,n={}){this.attrName=t,this.keyName=e;const i=r.TYPE&r.ATTRIBUTE;this.scope=null!=n.scope?n.scope&r.LEVEL|i:r.ATTRIBUTE,null!=n.whitelist&&(this.whitelist=n.whitelist)}static keys(t){return Array.from(t.attributes).map((t=>t.name))}add(t,e){return!!this.canAdd(t,e)&&(t.setAttribute(this.keyName,e),!0)}canAdd(t,e){return null==this.whitelist||("string"==typeof e?this.whitelist.indexOf(e.replace(/["']/g,""))>-1:this.whitelist.indexOf(e)>-1)}remove(t){t.removeAttribute(this.keyName)}value(t){const e=t.getAttribute(this.keyName);return this.canAdd(t,e)&&e?e:""}}class s extends Error{constructor(t){super(t="[Parchment] "+t),this.message=t,this.name=this.constructor.name}}const o=class t{constructor(){this.attributes={},this.classes={},this.tags={},this.types={}}static find(t,e=!1){if(null==t)return null;if(this.blots.has(t))return this.blots.get(t)||null;if(e){let n=null;try{n=t.parentNode}catch{return null}return this.find(n,e)}return null}create(e,n,r){const i=this.query(n);if(null==i)throw new s(`Unable to create ${n} blot`);const o=i,l=n instanceof Node||n.nodeType===Node.TEXT_NODE?n:o.create(r),a=new o(e,l,r);return t.blots.set(a.domNode,a),a}find(e,n=!1){return t.find(e,n)}query(t,e=r.ANY){let n;return"string"==typeof t?n=this.types[t]||this.attributes[t]:t instanceof Text||t.nodeType===Node.TEXT_NODE?n=this.types.text:"number"==typeof t?t&r.LEVEL&r.BLOCK?n=this.types.block:t&r.LEVEL&r.INLINE&&(n=this.types.inline):t instanceof Element&&((t.getAttribute("class")||"").split(/\s+/).some((t=>(n=this.classes[t],!!n))),n=n||this.tags[t.tagName]),null==n?null:"scope"in n&&e&r.LEVEL&n.scope&&e&r.TYPE&n.scope?n:null}register(...t){return t.map((t=>{const e="blotName"in t,n="attrName"in t;if(!e&&!n)throw new s("Invalid definition");if(e&&"abstract"===t.blotName)throw new s("Cannot register abstract class");const r=e?t.blotName:n?t.attrName:void 0;return this.types[r]=t,n?"string"==typeof t.keyName&&(this.attributes[t.keyName]=t):e&&(t.className&&(this.classes[t.className]=t),t.tagName&&(Array.isArray(t.tagName)?t.tagName=t.tagName.map((t=>t.toUpperCase())):t.tagName=t.tagName.toUpperCase(),(Array.isArray(t.tagName)?t.tagName:[t.tagName]).forEach((e=>{(null==this.tags[e]||null==t.className)&&(this.tags[e]=t)})))),t}))}};o.blots=new WeakMap;let l=o;function a(t,e){return(t.getAttribute("class")||"").split(/\s+/).filter((t=>0===t.indexOf(`${e}-`)))}const c=class extends i{static keys(t){return(t.getAttribute("class")||"").split(/\s+/).map((t=>t.split("-").slice(0,-1).join("-")))}add(t,e){return!!this.canAdd(t,e)&&(this.remove(t),t.classList.add(`${this.keyName}-${e}`),!0)}remove(t){a(t,this.keyName).forEach((e=>{t.classList.remove(e)})),0===t.classList.length&&t.removeAttribute("class")}value(t){const e=(a(t,this.keyName)[0]||"").slice(this.keyName.length+1);return this.canAdd(t,e)?e:""}};function u(t){const e=t.split("-"),n=e.slice(1).map((t=>t[0].toUpperCase()+t.slice(1))).join("");return e[0]+n}const h=class extends i{static keys(t){return(t.getAttribute("style")||"").split(";").map((t=>t.split(":")[0].trim()))}add(t,e){return!!this.canAdd(t,e)&&(t.style[u(this.keyName)]=e,!0)}remove(t){t.style[u(this.keyName)]="",t.getAttribute("style")||t.removeAttribute("style")}value(t){const e=t.style[u(this.keyName)];return this.canAdd(t,e)?e:""}},d=class{constructor(t){this.attributes={},this.domNode=t,this.build()}attribute(t,e){e?t.add(this.domNode,e)&&(null!=t.value(this.domNode)?this.attributes[t.attrName]=t:delete this.attributes[t.attrName]):(t.remove(this.domNode),delete this.attributes[t.attrName])}build(){this.attributes={};const t=l.find(this.domNode);if(null==t)return;const e=i.keys(this.domNode),n=c.keys(this.domNode),s=h.keys(this.domNode);e.concat(n).concat(s).forEach((e=>{const n=t.scroll.query(e,r.ATTRIBUTE);n instanceof i&&(this.attributes[n.attrName]=n)}))}copy(t){Object.keys(this.attributes).forEach((e=>{const n=this.attributes[e].value(this.domNode);t.format(e,n)}))}move(t){this.copy(t),Object.keys(this.attributes).forEach((t=>{this.attributes[t].remove(this.domNode)})),this.attributes={}}values(){return Object.keys(this.attributes).reduce(((t,e)=>(t[e]=this.attributes[e].value(this.domNode),t)),{})}},f=class{constructor(t,e){this.scroll=t,this.domNode=e,l.blots.set(e,this),this.prev=null,this.next=null}static create(t){if(null==this.tagName)throw new s("Blot definition missing tagName");let e,n;return Array.isArray(this.tagName)?("string"==typeof t?(n=t.toUpperCase(),parseInt(n,10).toString()===n&&(n=parseInt(n,10))):"number"==typeof t&&(n=t),e="number"==typeof n?document.createElement(this.tagName[n-1]):n&&this.tagName.indexOf(n)>-1?document.createElement(n):document.createElement(this.tagName[0])):e=document.createElement(this.tagName),this.className&&e.classList.add(this.className),e}get statics(){return this.constructor}attach(){}clone(){const t=this.domNode.cloneNode(!1);return this.scroll.create(t)}detach(){null!=this.parent&&this.parent.removeChild(this),l.blots.delete(this.domNode)}deleteAt(t,e){this.isolate(t,e).remove()}formatAt(t,e,n,i){const s=this.isolate(t,e);if(null!=this.scroll.query(n,r.BLOT)&&i)s.wrap(n,i);else if(null!=this.scroll.query(n,r.ATTRIBUTE)){const t=this.scroll.create(this.statics.scope);s.wrap(t),t.format(n,i)}}insertAt(t,e,n){const r=null==n?this.scroll.create("text",e):this.scroll.create(e,n),i=this.split(t);this.parent.insertBefore(r,i||void 0)}isolate(t,e){const n=this.split(t);if(null==n)throw new Error("Attempt to isolate at end");return n.split(e),n}length(){return 1}offset(t=this.parent){return null==this.parent||this===t?0:this.parent.children.offset(this)+this.parent.offset(t)}optimize(t){this.statics.requiredContainer&&!(this.parent instanceof this.statics.requiredContainer)&&this.wrap(this.statics.requiredContainer.blotName)}remove(){null!=this.domNode.parentNode&&this.domNode.parentNode.removeChild(this.domNode),this.detach()}replaceWith(t,e){const n="string"==typeof t?this.scroll.create(t,e):t;return null!=this.parent&&(this.parent.insertBefore(n,this.next||void 0),this.remove()),n}split(t,e){return 0===t?this:this.next}update(t,e){}wrap(t,e){const n="string"==typeof t?this.scroll.create(t,e):t;if(null!=this.parent&&this.parent.insertBefore(n,this.next||void 0),"function"!=typeof n.appendChild)throw new s(`Cannot wrap ${t}`);return n.appendChild(this),n}};f.blotName="abstract";let p=f;const g=class extends p{static value(t){return!0}index(t,e){return this.domNode===t||this.domNode.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY?Math.min(e,1):-1}position(t,e){let n=Array.from(this.parent.domNode.childNodes).indexOf(this.domNode);return t>0&&(n+=1),[this.parent.domNode,n]}value(){return{[this.statics.blotName]:this.statics.value(this.domNode)||!0}}};g.scope=r.INLINE_BLOT;const m=g;class b{constructor(){this.head=null,this.tail=null,this.length=0}append(...t){if(this.insertBefore(t[0],null),t.length>1){const e=t.slice(1);this.append(...e)}}at(t){const e=this.iterator();let n=e();for(;n&&t>0;)t-=1,n=e();return n}contains(t){const e=this.iterator();let n=e();for(;n;){if(n===t)return!0;n=e()}return!1}indexOf(t){const e=this.iterator();let n=e(),r=0;for(;n;){if(n===t)return r;r+=1,n=e()}return-1}insertBefore(t,e){null!=t&&(this.remove(t),t.next=e,null!=e?(t.prev=e.prev,null!=e.prev&&(e.prev.next=t),e.prev=t,e===this.head&&(this.head=t)):null!=this.tail?(this.tail.next=t,t.prev=this.tail,this.tail=t):(t.prev=null,this.head=this.tail=t),this.length+=1)}offset(t){let e=0,n=this.head;for(;null!=n;){if(n===t)return e;e+=n.length(),n=n.next}return-1}remove(t){this.contains(t)&&(null!=t.prev&&(t.prev.next=t.next),null!=t.next&&(t.next.prev=t.prev),t===this.head&&(this.head=t.next),t===this.tail&&(this.tail=t.prev),this.length-=1)}iterator(t=this.head){return()=>{const e=t;return null!=t&&(t=t.next),e}}find(t,e=!1){const n=this.iterator();let r=n();for(;r;){const i=r.length();if(t<i||e&&t===i&&(null==r.next||0!==r.next.length()))return[r,t];t-=i,r=n()}return[null,0]}forEach(t){const e=this.iterator();let n=e();for(;n;)t(n),n=e()}forEachAt(t,e,n){if(e<=0)return;const[r,i]=this.find(t);let s=t-i;const o=this.iterator(r);let l=o();for(;l&&s<t+e;){const r=l.length();t>s?n(l,t-s,Math.min(e,s+r-t)):n(l,0,Math.min(r,t+e-s)),s+=r,l=o()}}map(t){return this.reduce(((e,n)=>(e.push(t(n)),e)),[])}reduce(t,e){const n=this.iterator();let r=n();for(;r;)e=t(e,r),r=n();return e}}function y(t,e){const n=e.find(t);if(n)return n;try{return e.create(t)}catch{const n=e.create(r.INLINE);return Array.from(t.childNodes).forEach((t=>{n.domNode.appendChild(t)})),t.parentNode&&t.parentNode.replaceChild(n.domNode,t),n.attach(),n}}const v=class t extends p{constructor(t,e){super(t,e),this.uiNode=null,this.build()}appendChild(t){this.insertBefore(t)}attach(){super.attach(),this.children.forEach((t=>{t.attach()}))}attachUI(e){null!=this.uiNode&&this.uiNode.remove(),this.uiNode=e,t.uiClass&&this.uiNode.classList.add(t.uiClass),this.uiNode.setAttribute("contenteditable","false"),this.domNode.insertBefore(this.uiNode,this.domNode.firstChild)}build(){this.children=new b,Array.from(this.domNode.childNodes).filter((t=>t!==this.uiNode)).reverse().forEach((t=>{try{const e=y(t,this.scroll);this.insertBefore(e,this.children.head||void 0)}catch(t){if(t instanceof s)return;throw t}}))}deleteAt(t,e){if(0===t&&e===this.length())return this.remove();this.children.forEachAt(t,e,((t,e,n)=>{t.deleteAt(e,n)}))}descendant(e,n=0){const[r,i]=this.children.find(n);return null==e.blotName&&e(r)||null!=e.blotName&&r instanceof e?[r,i]:r instanceof t?r.descendant(e,i):[null,-1]}descendants(e,n=0,r=Number.MAX_VALUE){let i=[],s=r;return this.children.forEachAt(n,r,((n,r,o)=>{(null==e.blotName&&e(n)||null!=e.blotName&&n instanceof e)&&i.push(n),n instanceof t&&(i=i.concat(n.descendants(e,r,s))),s-=o})),i}detach(){this.children.forEach((t=>{t.detach()})),super.detach()}enforceAllowedChildren(){let e=!1;this.children.forEach((n=>{e||this.statics.allowedChildren.some((t=>n instanceof t))||(n.statics.scope===r.BLOCK_BLOT?(null!=n.next&&this.splitAfter(n),null!=n.prev&&this.splitAfter(n.prev),n.parent.unwrap(),e=!0):n instanceof t?n.unwrap():n.remove())}))}formatAt(t,e,n,r){this.children.forEachAt(t,e,((t,e,i)=>{t.formatAt(e,i,n,r)}))}insertAt(t,e,n){const[r,i]=this.children.find(t);if(r)r.insertAt(i,e,n);else{const t=null==n?this.scroll.create("text",e):this.scroll.create(e,n);this.appendChild(t)}}insertBefore(t,e){null!=t.parent&&t.parent.children.remove(t);let n=null;this.children.insertBefore(t,e||null),t.parent=this,null!=e&&(n=e.domNode),(this.domNode.parentNode!==t.domNode||this.domNode.nextSibling!==n)&&this.domNode.insertBefore(t.domNode,n),t.attach()}length(){return this.children.reduce(((t,e)=>t+e.length()),0)}moveChildren(t,e){this.children.forEach((n=>{t.insertBefore(n,e)}))}optimize(t){if(super.optimize(t),this.enforceAllowedChildren(),null!=this.uiNode&&this.uiNode!==this.domNode.firstChild&&this.domNode.insertBefore(this.uiNode,this.domNode.firstChild),0===this.children.length)if(null!=this.statics.defaultChild){const t=this.scroll.create(this.statics.defaultChild.blotName);this.appendChild(t)}else this.remove()}path(e,n=!1){const[r,i]=this.children.find(e,n),s=[[this,e]];return r instanceof t?s.concat(r.path(i,n)):(null!=r&&s.push([r,i]),s)}removeChild(t){this.children.remove(t)}replaceWith(e,n){const r="string"==typeof e?this.scroll.create(e,n):e;return r instanceof t&&this.moveChildren(r),super.replaceWith(r)}split(t,e=!1){if(!e){if(0===t)return this;if(t===this.length())return this.next}const n=this.clone();return this.parent&&this.parent.insertBefore(n,this.next||void 0),this.children.forEachAt(t,this.length(),((t,r,i)=>{const s=t.split(r,e);null!=s&&n.appendChild(s)})),n}splitAfter(t){const e=this.clone();for(;null!=t.next;)e.appendChild(t.next);return this.parent&&this.parent.insertBefore(e,this.next||void 0),e}unwrap(){this.parent&&this.moveChildren(this.parent,this.next||void 0),this.remove()}update(t,e){const n=[],r=[];t.forEach((t=>{t.target===this.domNode&&"childList"===t.type&&(n.push(...t.addedNodes),r.push(...t.removedNodes))})),r.forEach((t=>{if(null!=t.parentNode&&"IFRAME"!==t.tagName&&document.body.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)return;const e=this.scroll.find(t);null!=e&&(null==e.domNode.parentNode||e.domNode.parentNode===this.domNode)&&e.detach()})),n.filter((t=>t.parentNode===this.domNode&&t!==this.uiNode)).sort(((t,e)=>t===e?0:t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_FOLLOWING?1:-1)).forEach((t=>{let e=null;null!=t.nextSibling&&(e=this.scroll.find(t.nextSibling));const n=y(t,this.scroll);(n.next!==e||null==n.next)&&(null!=n.parent&&n.parent.removeChild(this),this.insertBefore(n,e||void 0))})),this.enforceAllowedChildren()}};v.uiClass="";const A=v,x=class t extends A{static create(t){return super.create(t)}static formats(e,n){const r=n.query(t.blotName);if(null==r||e.tagName!==r.tagName){if("string"==typeof this.tagName)return!0;if(Array.isArray(this.tagName))return e.tagName.toLowerCase()}}constructor(t,e){super(t,e),this.attributes=new d(this.domNode)}format(e,n){if(e!==this.statics.blotName||n){const t=this.scroll.query(e,r.INLINE);if(null==t)return;t instanceof i?this.attributes.attribute(t,n):n&&(e!==this.statics.blotName||this.formats()[e]!==n)&&this.replaceWith(e,n)}else this.children.forEach((e=>{e instanceof t||(e=e.wrap(t.blotName,!0)),this.attributes.copy(e)})),this.unwrap()}formats(){const t=this.attributes.values(),e=this.statics.formats(this.domNode,this.scroll);return null!=e&&(t[this.statics.blotName]=e),t}formatAt(t,e,n,i){null!=this.formats()[n]||this.scroll.query(n,r.ATTRIBUTE)?this.isolate(t,e).format(n,i):super.formatAt(t,e,n,i)}optimize(e){super.optimize(e);const n=this.formats();if(0===Object.keys(n).length)return this.unwrap();const r=this.next;r instanceof t&&r.prev===this&&function(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const n in t)if(t[n]!==e[n])return!1;return!0}(n,r.formats())&&(r.moveChildren(this),r.remove())}replaceWith(t,e){const n=super.replaceWith(t,e);return this.attributes.copy(n),n}update(t,e){super.update(t,e),t.some((t=>t.target===this.domNode&&"attributes"===t.type))&&this.attributes.build()}wrap(e,n){const r=super.wrap(e,n);return r instanceof t&&this.attributes.move(r),r}};x.allowedChildren=[x,m],x.blotName="inline",x.scope=r.INLINE_BLOT,x.tagName="SPAN";const N=x,E=class t extends A{static create(t){return super.create(t)}static formats(e,n){const r=n.query(t.blotName);if(null==r||e.tagName!==r.tagName){if("string"==typeof this.tagName)return!0;if(Array.isArray(this.tagName))return e.tagName.toLowerCase()}}constructor(t,e){super(t,e),this.attributes=new d(this.domNode)}format(e,n){const s=this.scroll.query(e,r.BLOCK);null!=s&&(s instanceof i?this.attributes.attribute(s,n):e!==this.statics.blotName||n?n&&(e!==this.statics.blotName||this.formats()[e]!==n)&&this.replaceWith(e,n):this.replaceWith(t.blotName))}formats(){const t=this.attributes.values(),e=this.statics.formats(this.domNode,this.scroll);return null!=e&&(t[this.statics.blotName]=e),t}formatAt(t,e,n,i){null!=this.scroll.query(n,r.BLOCK)?this.format(n,i):super.formatAt(t,e,n,i)}insertAt(t,e,n){if(null==n||null!=this.scroll.query(e,r.INLINE))super.insertAt(t,e,n);else{const r=this.split(t);if(null==r)throw new Error("Attempt to insertAt after block boundaries");{const t=this.scroll.create(e,n);r.parent.insertBefore(t,r)}}}replaceWith(t,e){const n=super.replaceWith(t,e);return this.attributes.copy(n),n}update(t,e){super.update(t,e),t.some((t=>t.target===this.domNode&&"attributes"===t.type))&&this.attributes.build()}};E.blotName="block",E.scope=r.BLOCK_BLOT,E.tagName="P",E.allowedChildren=[N,E,m];const w=E,q=class extends A{checkMerge(){return null!==this.next&&this.next.statics.blotName===this.statics.blotName}deleteAt(t,e){super.deleteAt(t,e),this.enforceAllowedChildren()}formatAt(t,e,n,r){super.formatAt(t,e,n,r),this.enforceAllowedChildren()}insertAt(t,e,n){super.insertAt(t,e,n),this.enforceAllowedChildren()}optimize(t){super.optimize(t),this.children.length>0&&null!=this.next&&this.checkMerge()&&(this.next.moveChildren(this),this.next.remove())}};q.blotName="container",q.scope=r.BLOCK_BLOT;const k=q,_=class extends m{static formats(t,e){}format(t,e){super.formatAt(0,this.length(),t,e)}formatAt(t,e,n,r){0===t&&e===this.length()?this.format(n,r):super.formatAt(t,e,n,r)}formats(){return this.statics.formats(this.domNode,this.scroll)}},L={attributes:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0},S=class extends A{constructor(t,e){super(null,e),this.registry=t,this.scroll=this,this.build(),this.observer=new MutationObserver((t=>{this.update(t)})),this.observer.observe(this.domNode,L),this.attach()}create(t,e){return this.registry.create(this,t,e)}find(t,e=!1){const n=this.registry.find(t,e);return n?n.scroll===this?n:e?this.find(n.scroll.domNode.parentNode,!0):null:null}query(t,e=r.ANY){return this.registry.query(t,e)}register(...t){return this.registry.register(...t)}build(){null!=this.scroll&&super.build()}detach(){super.detach(),this.observer.disconnect()}deleteAt(t,e){this.update(),0===t&&e===this.length()?this.children.forEach((t=>{t.remove()})):super.deleteAt(t,e)}formatAt(t,e,n,r){this.update(),super.formatAt(t,e,n,r)}insertAt(t,e,n){this.update(),super.insertAt(t,e,n)}optimize(t=[],e={}){super.optimize(e);const n=e.mutationsMap||new WeakMap;let r=Array.from(this.observer.takeRecords());for(;r.length>0;)t.push(r.pop());const i=(t,e=!0)=>{null==t||t===this||null!=t.domNode.parentNode&&(n.has(t.domNode)||n.set(t.domNode,[]),e&&i(t.parent))},s=t=>{n.has(t.domNode)&&(t instanceof A&&t.children.forEach(s),n.delete(t.domNode),t.optimize(e))};let o=t;for(let e=0;o.length>0;e+=1){if(e>=100)throw new Error("[Parchment] Maximum optimize iterations reached");for(o.forEach((t=>{const e=this.find(t.target,!0);null!=e&&(e.domNode===t.target&&("childList"===t.type?(i(this.find(t.previousSibling,!1)),Array.from(t.addedNodes).forEach((t=>{const e=this.find(t,!1);i(e,!1),e instanceof A&&e.children.forEach((t=>{i(t,!1)}))}))):"attributes"===t.type&&i(e.prev)),i(e))})),this.children.forEach(s),o=Array.from(this.observer.takeRecords()),r=o.slice();r.length>0;)t.push(r.pop())}}update(t,e={}){t=t||this.observer.takeRecords();const n=new WeakMap;t.map((t=>{const e=this.find(t.target,!0);return null==e?null:n.has(e.domNode)?(n.get(e.domNode).push(t),null):(n.set(e.domNode,[t]),e)})).forEach((t=>{null!=t&&t!==this&&n.has(t.domNode)&&t.update(n.get(t.domNode)||[],e)})),e.mutationsMap=n,n.has(this.domNode)&&super.update(n.get(this.domNode),e),this.optimize(t,e)}};S.blotName="scroll",S.defaultChild=w,S.allowedChildren=[w,k],S.scope=r.BLOCK_BLOT,S.tagName="DIV";const O=S,T=class t extends m{static create(t){return document.createTextNode(t)}static value(t){return t.data}constructor(t,e){super(t,e),this.text=this.statics.value(this.domNode)}deleteAt(t,e){this.domNode.data=this.text=this.text.slice(0,t)+this.text.slice(t+e)}index(t,e){return this.domNode===t?e:-1}insertAt(t,e,n){null==n?(this.text=this.text.slice(0,t)+e+this.text.slice(t),this.domNode.data=this.text):super.insertAt(t,e,n)}length(){return this.text.length}optimize(e){super.optimize(e),this.text=this.statics.value(this.domNode),0===this.text.length?this.remove():this.next instanceof t&&this.next.prev===this&&(this.insertAt(this.length(),this.next.value()),this.next.remove())}position(t,e=!1){return[this.domNode,t]}split(t,e=!1){if(!e){if(0===t)return this;if(t===this.length())return this.next}const n=this.scroll.create(this.domNode.splitText(t));return this.parent.insertBefore(n,this.next||void 0),this.text=this.statics.value(this.domNode),n}update(t,e){t.some((t=>"characterData"===t.type&&t.target===this.domNode))&&(this.text=this.statics.value(this.domNode))}value(){return this.text}};T.blotName="text",T.scope=r.INLINE_BLOT;const j=T}},e={};function n(r){var i=e[r];if(void 0!==i)return i.exports;var s=e[r]={id:r,loaded:!1,exports:{}};return t[r](s,s.exports,n),s.loaded=!0,s.exports}n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,{a:e}),e},n.d=function(t,e){for(var r in e)n.o(e,r)&&!n.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:e[r]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t};var r={};return function(){"use strict";n.d(r,{default:function(){return It}});var t=n(3729),e=n(8276),i=n(7912),s=n(6003);class o extends s.ClassAttributor{add(t,e){let n=0;if("+1"===e||"-1"===e){const r=this.value(t)||0;n="+1"===e?r+1:r-1}else"number"==typeof e&&(n=e);return 0===n?(this.remove(t),!0):super.add(t,n.toString())}canAdd(t,e){return super.canAdd(t,e)||super.canAdd(t,parseInt(e,10))}value(t){return parseInt(super.value(t),10)||void 0}}var l=new o("indent","ql-indent",{scope:s.Scope.BLOCK,whitelist:[1,2,3,4,5,6,7,8]}),a=n(9698);class c extends a.Ay{static blotName="blockquote";static tagName="blockquote"}var u=c;class h extends a.Ay{static blotName="header";static tagName=["H1","H2","H3","H4","H5","H6"];static formats(t){return this.tagName.indexOf(t.tagName)+1}}var d=h,f=n(580),p=n(6142);class g extends f.A{}g.blotName="list-container",g.tagName="OL";class m extends a.Ay{static create(t){const e=super.create();return e.setAttribute("data-list",t),e}static formats(t){return t.getAttribute("data-list")||void 0}static register(){p.Ay.register(g)}constructor(t,e){super(t,e);const n=e.ownerDocument.createElement("span"),r=n=>{if(!t.isEnabled())return;const r=this.statics.formats(e,t);"checked"===r?(this.format("list","unchecked"),n.preventDefault()):"unchecked"===r&&(this.format("list","checked"),n.preventDefault())};n.addEventListener("mousedown",r),n.addEventListener("touchstart",r),this.attachUI(n)}format(t,e){t===this.statics.blotName&&e?this.domNode.setAttribute("data-list",e):super.format(t,e)}}m.blotName="list",m.tagName="LI",g.allowedChildren=[m],m.requiredContainer=g;var b=n(9541),y=n(8638),v=n(6772),A=n(664),x=n(4850);class N extends x.A{static blotName="bold";static tagName=["STRONG","B"];static create(){return super.create()}static formats(){return!0}optimize(t){super.optimize(t),this.domNode.tagName!==this.statics.tagName[0]&&this.replaceWith(this.statics.blotName)}}var E=N;class w extends x.A{static blotName="link";static tagName="A";static SANITIZED_URL="about:blank";static PROTOCOL_WHITELIST=["http","https","mailto","tel","sms"];static create(t){const e=super.create(t);return e.setAttribute("href",this.sanitize(t)),e.setAttribute("rel","noopener noreferrer"),e.setAttribute("target","_blank"),e}static formats(t){return t.getAttribute("href")}static sanitize(t){return q(t,this.PROTOCOL_WHITELIST)?t:this.SANITIZED_URL}format(t,e){t===this.statics.blotName&&e?this.domNode.setAttribute("href",this.constructor.sanitize(e)):super.format(t,e)}}function q(t,e){const n=document.createElement("a");n.href=t;const r=n.href.slice(0,n.href.indexOf(":"));return e.indexOf(r)>-1}class k extends x.A{static blotName="script";static tagName=["SUB","SUP"];static create(t){return"super"===t?document.createElement("sup"):"sub"===t?document.createElement("sub"):super.create(t)}static formats(t){return"SUB"===t.tagName?"sub":"SUP"===t.tagName?"super":void 0}}var _=k;class L extends x.A{static blotName="underline";static tagName="U"}var S=L,O=n(746);class T extends O.A{static blotName="formula";static className="ql-formula";static tagName="SPAN";static create(t){if(null==window.katex)throw new Error("Formula module requires KaTeX.");const e=super.create(t);return"string"==typeof t&&(window.katex.render(t,e,{throwOnError:!1,errorColor:"#f00"}),e.setAttribute("data-value",t)),e}static value(t){return t.getAttribute("data-value")}html(){const{formula:t}=this.value();return`<span>${t}</span>`}}var j=T;const C=["alt","height","width"];class R extends s.EmbedBlot{static blotName="image";static tagName="IMG";static create(t){const e=super.create(t);return"string"==typeof t&&e.setAttribute("src",this.sanitize(t)),e}static formats(t){return C.reduce(((e,n)=>(t.hasAttribute(n)&&(e[n]=t.getAttribute(n)),e)),{})}static match(t){return/\.(jpe?g|gif|png)$/.test(t)||/^data:image\/.+;base64/.test(t)}static sanitize(t){return q(t,["http","https","data"])?t:"//:0"}static value(t){return t.getAttribute("src")}format(t,e){C.indexOf(t)>-1?e?this.domNode.setAttribute(t,e):this.domNode.removeAttribute(t):super.format(t,e)}}var I=R;const B=["height","width"];class M extends a.zo{static blotName="video";static className="ql-video";static tagName="IFRAME";static create(t){const e=super.create(t);return e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","true"),e.setAttribute("src",this.sanitize(t)),e}static formats(t){return B.reduce(((e,n)=>(t.hasAttribute(n)&&(e[n]=t.getAttribute(n)),e)),{})}static sanitize(t){return w.sanitize(t)}static value(t){return t.getAttribute("src")}format(t,e){B.indexOf(t)>-1?e?this.domNode.setAttribute(t,e):this.domNode.removeAttribute(t):super.format(t,e)}html(){const{video:t}=this.value();return`<a href="${t}">${t}</a>`}}var U=M,D=n(9404),P=n(5232),z=n.n(P),F=n(4266),H=n(3036),$=n(4541),V=n(5508),K=n(584);const W=new s.ClassAttributor("code-token","hljs",{scope:s.Scope.INLINE});class Z extends x.A{static formats(t,e){for(;null!=t&&t!==e.domNode;){if(t.classList&&t.classList.contains(D.Ay.className))return super.formats(t,e);t=t.parentNode}}constructor(t,e,n){super(t,e,n),W.add(this.domNode,n)}format(t,e){t!==Z.blotName?super.format(t,e):e?W.add(this.domNode,e):(W.remove(this.domNode),this.domNode.classList.remove(this.statics.className))}optimize(){super.optimize(...arguments),W.value(this.domNode)||this.unwrap()}}Z.blotName="code-token",Z.className="ql-token";class G extends D.Ay{static create(t){const e=super.create(t);return"string"==typeof t&&e.setAttribute("data-language",t),e}static formats(t){return t.getAttribute("data-language")||"plain"}static register(){}format(t,e){t===this.statics.blotName&&e?this.domNode.setAttribute("data-language",e):super.format(t,e)}replaceWith(t,e){return this.formatAt(0,this.length(),Z.blotName,!1),super.replaceWith(t,e)}}class X extends D.EJ{attach(){super.attach(),this.forceNext=!1,this.scroll.emitMount(this)}format(t,e){t===G.blotName&&(this.forceNext=!0,this.children.forEach((n=>{n.format(t,e)})))}formatAt(t,e,n,r){n===G.blotName&&(this.forceNext=!0),super.formatAt(t,e,n,r)}highlight(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(null==this.children.head)return;const n=`${Array.from(this.domNode.childNodes).filter((t=>t!==this.uiNode)).map((t=>t.textContent)).join("\n")}\n`,r=G.formats(this.children.head.domNode);if(e||this.forceNext||this.cachedText!==n){if(n.trim().length>0||null==this.cachedText){const e=this.children.reduce(((t,e)=>t.concat((0,a.mG)(e,!1))),new(z())),i=t(n,r);e.diff(i).reduce(((t,e)=>{let{retain:n,attributes:r}=e;return n?(r&&Object.keys(r).forEach((e=>{[G.blotName,Z.blotName].includes(e)&&this.formatAt(t,n,e,r[e])})),t+n):t}),0)}this.cachedText=n,this.forceNext=!1}}html(t,e){const[n]=this.children.find(t);return`<pre data-language="${n?G.formats(n.domNode):"plain"}">\n${(0,V.X)(this.code(t,e))}\n</pre>`}optimize(t){if(super.optimize(t),null!=this.parent&&null!=this.children.head&&null!=this.uiNode){const t=G.formats(this.children.head.domNode);t!==this.uiNode.value&&(this.uiNode.value=t)}}}X.allowedChildren=[G],G.requiredContainer=X,G.allowedChildren=[Z,$.A,V.A,H.A];class Q extends F.A{static register(){p.Ay.register(Z,!0),p.Ay.register(G,!0),p.Ay.register(X,!0)}constructor(t,e){if(super(t,e),null==this.options.hljs)throw new Error("Syntax module requires highlight.js. Please include the library on the page before Quill.");this.languages=this.options.languages.reduce(((t,e)=>{let{key:n}=e;return t[n]=!0,t}),{}),this.highlightBlot=this.highlightBlot.bind(this),this.initListener(),this.initTimer()}initListener(){this.quill.on(p.Ay.events.SCROLL_BLOT_MOUNT,(t=>{if(!(t instanceof X))return;const e=this.quill.root.ownerDocument.createElement("select");this.options.languages.forEach((t=>{let{key:n,label:r}=t;const i=e.ownerDocument.createElement("option");i.textContent=r,i.setAttribute("value",n),e.appendChild(i)})),e.addEventListener("change",(()=>{t.format(G.blotName,e.value),this.quill.root.focus(),this.highlight(t,!0)})),null==t.uiNode&&(t.attachUI(e),t.children.head&&(e.value=G.formats(t.children.head.domNode)))}))}initTimer(){let t=null;this.quill.on(p.Ay.events.SCROLL_OPTIMIZE,(()=>{t&&clearTimeout(t),t=setTimeout((()=>{this.highlight(),t=null}),this.options.interval)}))}highlight(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.quill.selection.composing)return;this.quill.update(p.Ay.sources.USER);const n=this.quill.getSelection();(null==t?this.quill.scroll.descendants(X):[t]).forEach((t=>{t.highlight(this.highlightBlot,e)})),this.quill.update(p.Ay.sources.SILENT),null!=n&&this.quill.setSelection(n,p.Ay.sources.SILENT)}highlightBlot(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"plain";if(e=this.languages[e]?e:"plain","plain"===e)return(0,V.X)(t).split("\n").reduce(((t,n,r)=>(0!==r&&t.insert("\n",{[D.Ay.blotName]:e}),t.insert(n))),new(z()));const n=this.quill.root.ownerDocument.createElement("div");return n.classList.add(D.Ay.className),n.innerHTML=((t,e,n)=>{if("string"==typeof t.versionString){const r=t.versionString.split(".")[0];if(parseInt(r,10)>=11)return t.highlight(n,{language:e}).value}return t.highlight(e,n).value})(this.options.hljs,e,t),(0,K.hV)(this.quill.scroll,n,[(t,e)=>{const n=W.value(t);return n?e.compose((new(z())).retain(e.length(),{[Z.blotName]:n})):e}],[(t,n)=>t.data.split("\n").reduce(((t,n,r)=>(0!==r&&t.insert("\n",{[D.Ay.blotName]:e}),t.insert(n))),n)],new WeakMap)}}Q.DEFAULTS={hljs:window.hljs,interval:1e3,languages:[{key:"plain",label:"Plain"},{key:"bash",label:"Bash"},{key:"cpp",label:"C++"},{key:"cs",label:"C#"},{key:"css",label:"CSS"},{key:"diff",label:"Diff"},{key:"xml",label:"HTML/XML"},{key:"java",label:"Java"},{key:"javascript",label:"JavaScript"},{key:"markdown",label:"Markdown"},{key:"php",label:"PHP"},{key:"python",label:"Python"},{key:"ruby",label:"Ruby"},{key:"sql",label:"SQL"}]};class J extends a.Ay{static blotName="table";static tagName="TD";static create(t){const e=super.create();return t?e.setAttribute("data-row",t):e.setAttribute("data-row",nt()),e}static formats(t){if(t.hasAttribute("data-row"))return t.getAttribute("data-row")}cellOffset(){return this.parent?this.parent.children.indexOf(this):-1}format(t,e){t===J.blotName&&e?this.domNode.setAttribute("data-row",e):super.format(t,e)}row(){return this.parent}rowOffset(){return this.row()?this.row().rowOffset():-1}table(){return this.row()&&this.row().table()}}class Y extends f.A{static blotName="table-row";static tagName="TR";checkMerge(){if(super.checkMerge()&&null!=this.next.children.head){const t=this.children.head.formats(),e=this.children.tail.formats(),n=this.next.children.head.formats(),r=this.next.children.tail.formats();return t.table===e.table&&t.table===n.table&&t.table===r.table}return!1}optimize(t){super.optimize(t),this.children.forEach((t=>{if(null==t.next)return;const e=t.formats(),n=t.next.formats();if(e.table!==n.table){const e=this.splitAfter(t);e&&e.optimize(),this.prev&&this.prev.optimize()}}))}rowOffset(){return this.parent?this.parent.children.indexOf(this):-1}table(){return this.parent&&this.parent.parent}}class tt extends f.A{static blotName="table-body";static tagName="TBODY"}class et extends f.A{static blotName="table-container";static tagName="TABLE";balanceCells(){const t=this.descendants(Y),e=t.reduce(((t,e)=>Math.max(e.children.length,t)),0);t.forEach((t=>{new Array(e-t.children.length).fill(0).forEach((()=>{let e;null!=t.children.head&&(e=J.formats(t.children.head.domNode));const n=this.scroll.create(J.blotName,e);t.appendChild(n),n.optimize()}))}))}cells(t){return this.rows().map((e=>e.children.at(t)))}deleteColumn(t){const[e]=this.descendant(tt);null!=e&&null!=e.children.head&&e.children.forEach((e=>{const n=e.children.at(t);null!=n&&n.remove()}))}insertColumn(t){const[e]=this.descendant(tt);null!=e&&null!=e.children.head&&e.children.forEach((e=>{const n=e.children.at(t),r=J.formats(e.children.head.domNode),i=this.scroll.create(J.blotName,r);e.insertBefore(i,n)}))}insertRow(t){const[e]=this.descendant(tt);if(null==e||null==e.children.head)return;const n=nt(),r=this.scroll.create(Y.blotName);e.children.head.children.forEach((()=>{const t=this.scroll.create(J.blotName,n);r.appendChild(t)}));const i=e.children.at(t);e.insertBefore(r,i)}rows(){const t=this.children.head;return null==t?[]:t.children.map((t=>t))}}function nt(){return`row-${Math.random().toString(36).slice(2,6)}`}et.allowedChildren=[tt],tt.requiredContainer=et,tt.allowedChildren=[Y],Y.requiredContainer=tt,Y.allowedChildren=[J],J.requiredContainer=Y;class rt extends F.A{static register(){p.Ay.register(J),p.Ay.register(Y),p.Ay.register(tt),p.Ay.register(et)}constructor(){super(...arguments),this.listenBalanceCells()}balanceTables(){this.quill.scroll.descendants(et).forEach((t=>{t.balanceCells()}))}deleteColumn(){const[t,,e]=this.getTable();null!=e&&(t.deleteColumn(e.cellOffset()),this.quill.update(p.Ay.sources.USER))}deleteRow(){const[,t]=this.getTable();null!=t&&(t.remove(),this.quill.update(p.Ay.sources.USER))}deleteTable(){const[t]=this.getTable();if(null==t)return;const e=t.offset();t.remove(),this.quill.update(p.Ay.sources.USER),this.quill.setSelection(e,p.Ay.sources.SILENT)}getTable(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.quill.getSelection();if(null==t)return[null,null,null,-1];const[e,n]=this.quill.getLine(t.index);if(null==e||e.statics.blotName!==J.blotName)return[null,null,null,-1];const r=e.parent;return[r.parent.parent,r,e,n]}insertColumn(t){const e=this.quill.getSelection();if(!e)return;const[n,r,i]=this.getTable(e);if(null==i)return;const s=i.cellOffset();n.insertColumn(s+t),this.quill.update(p.Ay.sources.USER);let o=r.rowOffset();0===t&&(o+=1),this.quill.setSelection(e.index+o,e.length,p.Ay.sources.SILENT)}insertColumnLeft(){this.insertColumn(0)}insertColumnRight(){this.insertColumn(1)}insertRow(t){const e=this.quill.getSelection();if(!e)return;const[n,r,i]=this.getTable(e);if(null==i)return;const s=r.rowOffset();n.insertRow(s+t),this.quill.update(p.Ay.sources.USER),t>0?this.quill.setSelection(e,p.Ay.sources.SILENT):this.quill.setSelection(e.index+r.children.length,e.length,p.Ay.sources.SILENT)}insertRowAbove(){this.insertRow(0)}insertRowBelow(){this.insertRow(1)}insertTable(t,e){const n=this.quill.getSelection();if(null==n)return;const r=new Array(t).fill(0).reduce((t=>{const n=new Array(e).fill("\n").join("");return t.insert(n,{table:nt()})}),(new(z())).retain(n.index));this.quill.updateContents(r,p.Ay.sources.USER),this.quill.setSelection(n.index,p.Ay.sources.SILENT),this.balanceTables()}listenBalanceCells(){this.quill.on(p.Ay.events.SCROLL_OPTIMIZE,(t=>{t.some((t=>!!["TD","TR","TBODY","TABLE"].includes(t.target.tagName)&&(this.quill.once(p.Ay.events.TEXT_CHANGE,((t,e,n)=>{n===p.Ay.sources.USER&&this.balanceTables()})),!0)))}))}}var it=rt;const st=(0,n(6078).A)("quill:toolbar");class ot extends F.A{constructor(t,e){if(super(t,e),Array.isArray(this.options.container)){const e=document.createElement("div");e.setAttribute("role","toolbar"),function(t,e){Array.isArray(e[0])||(e=[e]),e.forEach((e=>{const n=document.createElement("span");n.classList.add("ql-formats"),e.forEach((t=>{if("string"==typeof t)lt(n,t);else{const e=Object.keys(t)[0],r=t[e];Array.isArray(r)?function(t,e,n){const r=document.createElement("select");r.classList.add(`ql-${e}`),n.forEach((t=>{const e=document.createElement("option");!1!==t?e.setAttribute("value",String(t)):e.setAttribute("selected","selected"),r.appendChild(e)})),t.appendChild(r)}(n,e,r):lt(n,e,r)}})),t.appendChild(n)}))}(e,this.options.container),t.container?.parentNode?.insertBefore(e,t.container),this.container=e}else"string"==typeof this.options.container?this.container=document.querySelector(this.options.container):this.container=this.options.container;this.container instanceof HTMLElement?(this.container.classList.add("ql-toolbar"),this.controls=[],this.handlers={},this.options.handlers&&Object.keys(this.options.handlers).forEach((t=>{const e=this.options.handlers?.[t];e&&this.addHandler(t,e)})),Array.from(this.container.querySelectorAll("button, select")).forEach((t=>{this.attach(t)})),this.quill.on(p.Ay.events.EDITOR_CHANGE,(()=>{const[t]=this.quill.selection.getRange();this.update(t)}))):st.error("Container required for toolbar",this.options)}addHandler(t,e){this.handlers[t]=e}attach(t){let e=Array.from(t.classList).find((t=>0===t.indexOf("ql-")));if(!e)return;if(e=e.slice(3),"BUTTON"===t.tagName&&t.setAttribute("type","button"),null==this.handlers[e]&&null==this.quill.scroll.query(e))return void st.warn("ignoring attaching to nonexistent format",e,t);const n="SELECT"===t.tagName?"change":"click";t.addEventListener(n,(n=>{let r;if("SELECT"===t.tagName){if(t.selectedIndex<0)return;const e=t.options[t.selectedIndex];r=!e.hasAttribute("selected")&&(e.value||!1)}else r=!t.classList.contains("ql-active")&&(t.value||!t.hasAttribute("value")),n.preventDefault();this.quill.focus();const[i]=this.quill.selection.getRange();if(null!=this.handlers[e])this.handlers[e].call(this,r);else if(this.quill.scroll.query(e).prototype instanceof s.EmbedBlot){if(r=prompt(`Enter ${e}`),!r)return;this.quill.updateContents((new(z())).retain(i.index).delete(i.length).insert({[e]:r}),p.Ay.sources.USER)}else this.quill.format(e,r,p.Ay.sources.USER);this.update(i)})),this.controls.push([e,t])}update(t){const e=null==t?{}:this.quill.getFormat(t);this.controls.forEach((n=>{const[r,i]=n;if("SELECT"===i.tagName){let n=null;if(null==t)n=null;else if(null==e[r])n=i.querySelector("option[selected]");else if(!Array.isArray(e[r])){let t=e[r];"string"==typeof t&&(t=t.replace(/"/g,'\\"')),n=i.querySelector(`option[value="${t}"]`)}null==n?(i.value="",i.selectedIndex=-1):n.selected=!0}else if(null==t)i.classList.remove("ql-active"),i.setAttribute("aria-pressed","false");else if(i.hasAttribute("value")){const t=e[r],n=t===i.getAttribute("value")||null!=t&&t.toString()===i.getAttribute("value")||null==t&&!i.getAttribute("value");i.classList.toggle("ql-active",n),i.setAttribute("aria-pressed",n.toString())}else{const t=null!=e[r];i.classList.toggle("ql-active",t),i.setAttribute("aria-pressed",t.toString())}}))}}function lt(t,e,n){const r=document.createElement("button");r.setAttribute("type","button"),r.classList.add(`ql-${e}`),r.setAttribute("aria-pressed","false"),null!=n?(r.value=n,r.setAttribute("aria-label",`${e}: ${n}`)):r.setAttribute("aria-label",e),t.appendChild(r)}ot.DEFAULTS={},ot.DEFAULTS={container:null,handlers:{clean(){const t=this.quill.getSelection();if(null!=t)if(0===t.length){const t=this.quill.getFormat();Object.keys(t).forEach((t=>{null!=this.quill.scroll.query(t,s.Scope.INLINE)&&this.quill.format(t,!1,p.Ay.sources.USER)}))}else this.quill.removeFormat(t.index,t.length,p.Ay.sources.USER)},direction(t){const{align:e}=this.quill.getFormat();"rtl"===t&&null==e?this.quill.format("align","right",p.Ay.sources.USER):t||"right"!==e||this.quill.format("align",!1,p.Ay.sources.USER),this.quill.format("direction",t,p.Ay.sources.USER)},indent(t){const e=this.quill.getSelection(),n=this.quill.getFormat(e),r=parseInt(n.indent||0,10);if("+1"===t||"-1"===t){let e="+1"===t?1:-1;"rtl"===n.direction&&(e*=-1),this.quill.format("indent",r+e,p.Ay.sources.USER)}},link(t){!0===t&&(t=prompt("Enter link URL:")),this.quill.format("link",t,p.Ay.sources.USER)},list(t){const e=this.quill.getSelection(),n=this.quill.getFormat(e);"check"===t?"checked"===n.list||"unchecked"===n.list?this.quill.format("list",!1,p.Ay.sources.USER):this.quill.format("list","unchecked",p.Ay.sources.USER):this.quill.format("list",t,p.Ay.sources.USER)}}};const at='<svg viewbox="0 0 18 18"><polyline class="ql-even ql-stroke" points="5 7 3 9 5 11"/><polyline class="ql-even ql-stroke" points="13 7 15 9 13 11"/><line class="ql-stroke" x1="10" x2="8" y1="5" y2="13"/></svg>';var ct={align:{"":'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="3" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="3" x2="13" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="9" y1="4" y2="4"/></svg>',center:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="14" x2="4" y1="14" y2="14"/><line class="ql-stroke" x1="12" x2="6" y1="4" y2="4"/></svg>',right:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="15" x2="5" y1="14" y2="14"/><line class="ql-stroke" x1="15" x2="9" y1="4" y2="4"/></svg>',justify:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="15" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="15" x2="3" y1="14" y2="14"/><line class="ql-stroke" x1="15" x2="3" y1="4" y2="4"/></svg>'},background:'<svg viewbox="0 0 18 18"><g class="ql-fill ql-color-label"><polygon points="6 6.868 6 6 5 6 5 7 5.942 7 6 6.868"/><rect height="1" width="1" x="4" y="4"/><polygon points="6.817 5 6 5 6 6 6.38 6 6.817 5"/><rect height="1" width="1" x="2" y="6"/><rect height="1" width="1" x="3" y="5"/><rect height="1" width="1" x="4" y="7"/><polygon points="4 11.439 4 11 3 11 3 12 3.755 12 4 11.439"/><rect height="1" width="1" x="2" y="12"/><rect height="1" width="1" x="2" y="9"/><rect height="1" width="1" x="2" y="15"/><polygon points="4.63 10 4 10 4 11 4.192 11 4.63 10"/><rect height="1" width="1" x="3" y="8"/><path d="M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z"/><path d="M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z"/><path d="M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z"/><rect height="1" width="1" x="12" y="2"/><rect height="1" width="1" x="11" y="3"/><path d="M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z"/><rect height="1" width="1" x="2" y="3"/><rect height="1" width="1" x="6" y="2"/><rect height="1" width="1" x="3" y="2"/><rect height="1" width="1" x="5" y="3"/><rect height="1" width="1" x="9" y="2"/><rect height="1" width="1" x="15" y="14"/><polygon points="13.447 10.174 13.469 10.225 13.472 10.232 13.808 11 14 11 14 10 13.37 10 13.447 10.174"/><rect height="1" width="1" x="13" y="7"/><rect height="1" width="1" x="15" y="5"/><rect height="1" width="1" x="14" y="6"/><rect height="1" width="1" x="15" y="8"/><rect height="1" width="1" x="14" y="9"/><path d="M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z"/><rect height="1" width="1" x="14" y="3"/><polygon points="12 6.868 12 6 11.62 6 12 6.868"/><rect height="1" width="1" x="15" y="2"/><rect height="1" width="1" x="12" y="5"/><rect height="1" width="1" x="13" y="4"/><polygon points="12.933 9 13 9 13 8 12.495 8 12.933 9"/><rect height="1" width="1" x="9" y="14"/><rect height="1" width="1" x="8" y="15"/><path d="M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z"/><rect height="1" width="1" x="5" y="15"/><path d="M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z"/><rect height="1" width="1" x="11" y="15"/><path d="M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z"/><rect height="1" width="1" x="14" y="15"/><rect height="1" width="1" x="15" y="11"/></g><polyline class="ql-stroke" points="5.5 13 9 5 12.5 13"/><line class="ql-stroke" x1="11.63" x2="6.38" y1="11" y2="11"/></svg>',blockquote:'<svg viewbox="0 0 18 18"><rect class="ql-fill ql-stroke" height="3" width="3" x="4" y="5"/><rect class="ql-fill ql-stroke" height="3" width="3" x="11" y="5"/><path class="ql-even ql-fill ql-stroke" d="M7,8c0,4.031-3,5-3,5"/><path class="ql-even ql-fill ql-stroke" d="M14,8c0,4.031-3,5-3,5"/></svg>',bold:'<svg viewbox="0 0 18 18"><path class="ql-stroke" d="M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z"/><path class="ql-stroke" d="M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z"/></svg>',clean:'<svg class="" viewbox="0 0 18 18"><line class="ql-stroke" x1="5" x2="13" y1="3" y2="3"/><line class="ql-stroke" x1="6" x2="9.35" y1="12" y2="3"/><line class="ql-stroke" x1="11" x2="15" y1="11" y2="15"/><line class="ql-stroke" x1="15" x2="11" y1="11" y2="15"/><rect class="ql-fill" height="1" rx="0.5" ry="0.5" width="7" x="2" y="14"/></svg>',code:at,"code-block":at,color:'<svg viewbox="0 0 18 18"><line class="ql-color-label ql-stroke ql-transparent" x1="3" x2="15" y1="15" y2="15"/><polyline class="ql-stroke" points="5.5 11 9 3 12.5 11"/><line class="ql-stroke" x1="11.63" x2="6.38" y1="9" y2="9"/></svg>',direction:{"":'<svg viewbox="0 0 18 18"><polygon class="ql-stroke ql-fill" points="3 11 5 9 3 7 3 11"/><line class="ql-stroke ql-fill" x1="15" x2="11" y1="4" y2="4"/><path class="ql-fill" d="M11,3a3,3,0,0,0,0,6h1V3H11Z"/><rect class="ql-fill" height="11" width="1" x="11" y="4"/><rect class="ql-fill" height="11" width="1" x="13" y="4"/></svg>',rtl:'<svg viewbox="0 0 18 18"><polygon class="ql-stroke ql-fill" points="15 12 13 10 15 8 15 12"/><line class="ql-stroke ql-fill" x1="9" x2="5" y1="4" y2="4"/><path class="ql-fill" d="M5,3A3,3,0,0,0,5,9H6V3H5Z"/><rect class="ql-fill" height="11" width="1" x="5" y="4"/><rect class="ql-fill" height="11" width="1" x="7" y="4"/></svg>'},formula:'<svg viewbox="0 0 18 18"><path class="ql-fill" d="M11.759,2.482a2.561,2.561,0,0,0-3.53.607A7.656,7.656,0,0,0,6.8,6.2C6.109,9.188,5.275,14.677,4.15,14.927a1.545,1.545,0,0,0-1.3-.933A0.922,0.922,0,0,0,2,15.036S1.954,16,4.119,16s3.091-2.691,3.7-5.553c0.177-.826.36-1.726,0.554-2.6L8.775,6.2c0.381-1.421.807-2.521,1.306-2.676a1.014,1.014,0,0,0,1.02.56A0.966,0.966,0,0,0,11.759,2.482Z"/><rect class="ql-fill" height="1.6" rx="0.8" ry="0.8" width="5" x="5.15" y="6.2"/><path class="ql-fill" d="M13.663,12.027a1.662,1.662,0,0,1,.266-0.276q0.193,0.069.456,0.138a2.1,2.1,0,0,0,.535.069,1.075,1.075,0,0,0,.767-0.3,1.044,1.044,0,0,0,.314-0.8,0.84,0.84,0,0,0-.238-0.619,0.8,0.8,0,0,0-.594-0.239,1.154,1.154,0,0,0-.781.3,4.607,4.607,0,0,0-.781,1q-0.091.15-.218,0.346l-0.246.38c-0.068-.288-0.137-0.582-0.212-0.885-0.459-1.847-2.494-.984-2.941-0.8-0.482.2-.353,0.647-0.094,0.529a0.869,0.869,0,0,1,1.281.585c0.217,0.751.377,1.436,0.527,2.038a5.688,5.688,0,0,1-.362.467,2.69,2.69,0,0,1-.264.271q-0.221-.08-0.471-0.147a2.029,2.029,0,0,0-.522-0.066,1.079,1.079,0,0,0-.768.3A1.058,1.058,0,0,0,9,15.131a0.82,0.82,0,0,0,.832.852,1.134,1.134,0,0,0,.787-0.3,5.11,5.11,0,0,0,.776-0.993q0.141-.219.215-0.34c0.046-.076.122-0.194,0.223-0.346a2.786,2.786,0,0,0,.918,1.726,2.582,2.582,0,0,0,2.376-.185c0.317-.181.212-0.565,0-0.494A0.807,0.807,0,0,1,14.176,15a5.159,5.159,0,0,1-.913-2.446l0,0Q13.487,12.24,13.663,12.027Z"/></svg>',header:{1:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm6.06787,9.209H14.98975V7.59863a.54085.54085,0,0,0-.605-.60547h-.62744a1.01119,1.01119,0,0,0-.748.29688L11.645,8.56641a.5435.5435,0,0,0-.022.8584l.28613.30762a.53861.53861,0,0,0,.84717.0332l.09912-.08789a1.2137,1.2137,0,0,0,.2417-.35254h.02246s-.01123.30859-.01123.60547V13.209H12.041a.54085.54085,0,0,0-.605.60547v.43945a.54085.54085,0,0,0,.605.60547h4.02686a.54085.54085,0,0,0,.605-.60547v-.43945A.54085.54085,0,0,0,16.06787,13.209Z"/></svg>',2:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M16.73975,13.81445v.43945a.54085.54085,0,0,1-.605.60547H11.855a.58392.58392,0,0,1-.64893-.60547V14.0127c0-2.90527,3.39941-3.42187,3.39941-4.55469a.77675.77675,0,0,0-.84717-.78125,1.17684,1.17684,0,0,0-.83594.38477c-.2749.26367-.561.374-.85791.13184l-.4292-.34082c-.30811-.24219-.38525-.51758-.1543-.81445a2.97155,2.97155,0,0,1,2.45361-1.17676,2.45393,2.45393,0,0,1,2.68408,2.40918c0,2.45312-3.1792,2.92676-3.27832,3.93848h2.79443A.54085.54085,0,0,1,16.73975,13.81445ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z"/></svg>',3:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M16.65186,12.30664a2.6742,2.6742,0,0,1-2.915,2.68457,3.96592,3.96592,0,0,1-2.25537-.6709.56007.56007,0,0,1-.13232-.83594L11.64648,13c.209-.34082.48389-.36328.82471-.1543a2.32654,2.32654,0,0,0,1.12256.33008c.71484,0,1.12207-.35156,1.12207-.78125,0-.61523-.61621-.86816-1.46338-.86816
vendor: 5,262 bytes, line 46325
46325H13.2085a.65159.65159,0,0,1-.68213-.41895l-.05518-.10937a.67114.67114,0,0,1,.14307-.78125l.71533-.86914a8.55289,8.55289,0,0,1,.68213-.7373V8.58887a3.93913,3.93913,0,0,1-.748.05469H11.9873a.54085.54085,0,0,1-.605-.60547V7.59863a.54085.54085,0,0,1,.605-.60547h3.75146a.53773.53773,0,0,1,.60547.59375v.17676a1.03723,1.03723,0,0,1-.27539.748L14.74854,10.0293A2.31132,2.31132,0,0,1,16.65186,12.30664ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z"/></svg>',4:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Zm7.05371,7.96582v.38477c0,.39648-.165.60547-.46191.60547h-.47314v1.29785a.54085.54085,0,0,1-.605.60547h-.69336a.54085.54085,0,0,1-.605-.60547V12.95605H11.333a.5412.5412,0,0,1-.60547-.60547v-.15332a1.199,1.199,0,0,1,.22021-.748l2.56348-4.05957a.7819.7819,0,0,1,.72607-.39648h1.27637a.54085.54085,0,0,1,.605.60547v3.7627h.33008A.54055.54055,0,0,1,17.05371,11.96582ZM14.28125,8.7207h-.022a4.18969,4.18969,0,0,1-.38525.81348l-1.188,1.80469v.02246h1.5293V9.60059A7.04058,7.04058,0,0,1,14.28125,8.7207Z"/></svg>',5:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M16.74023,12.18555a2.75131,2.75131,0,0,1-2.91553,2.80566,3.908,3.908,0,0,1-2.25537-.68164.54809.54809,0,0,1-.13184-.8252L11.73438,13c.209-.34082.48389-.36328.8252-.1543a2.23757,2.23757,0,0,0,1.1001.33008,1.01827,1.01827,0,0,0,1.1001-.96777c0-.61621-.53906-.97949-1.25439-.97949a2.15554,2.15554,0,0,0-.64893.09961,1.15209,1.15209,0,0,1-.814.01074l-.12109-.04395a.64116.64116,0,0,1-.45117-.71484l.231-3.00391a.56666.56666,0,0,1,.62744-.583H15.541a.54085.54085,0,0,1,.605.60547v.43945a.54085.54085,0,0,1-.605.60547H13.41748l-.04395.72559a1.29306,1.29306,0,0,1-.04395.30859h.022a2.39776,2.39776,0,0,1,.57227-.07715A2.53266,2.53266,0,0,1,16.74023,12.18555ZM9,3A.99974.99974,0,0,0,8,4V8H3V4A1,1,0,0,0,1,4V14a1,1,0,0,0,2,0V10H8v4a1,1,0,0,0,2,0V4A.99974.99974,0,0,0,9,3Z"/></svg>',6:'<svg viewBox="0 0 18 18"><path class="ql-fill" d="M14.51758,9.64453a1.85627,1.85627,0,0,0-1.24316.38477H13.252a1.73532,1.73532,0,0,1,1.72754-1.4082,2.66491,2.66491,0,0,1,.5498.06641c.35254.05469.57227.01074.70508-.40723l.16406-.5166a.53393.53393,0,0,0-.373-.75977,4.83723,4.83723,0,0,0-1.17773-.14258c-2.43164,0-3.7627,2.17773-3.7627,4.43359,0,2.47559,1.60645,3.69629,3.19043,3.69629A2.70585,2.70585,0,0,0,16.96,12.19727,2.43861,2.43861,0,0,0,14.51758,9.64453Zm-.23047,3.58691c-.67187,0-1.22168-.81445-1.22168-1.45215,0-.47363.30762-.583.72559-.583.96875,0,1.27734.59375,1.27734,1.12207A.82182.82182,0,0,1,14.28711,13.23145ZM10,4V14a1,1,0,0,1-2,0V10H3v4a1,1,0,0,1-2,0V4A1,1,0,0,1,3,4V8H8V4a1,1,0,0,1,2,0Z"/></svg>'},italic:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="13" y1="4" y2="4"/><line class="ql-stroke" x1="5" x2="11" y1="14" y2="14"/><line class="ql-stroke" x1="8" x2="10" y1="14" y2="4"/></svg>',image:'<svg viewbox="0 0 18 18"><rect class="ql-stroke" height="10" width="12" x="3" y="4"/><circle class="ql-fill" cx="6" cy="7" r="1"/><polyline class="ql-even ql-fill" points="5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12"/></svg>',indent:{"+1":'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="3" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="9" x2="15" y1="9" y2="9"/><polyline class="ql-fill ql-stroke" points="3 7 3 11 5 9 3 7"/></svg>',"-1":'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="3" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="9" x2="15" y1="9" y2="9"/><polyline class="ql-stroke" points="5 7 5 11 3 9 5 7"/></svg>'},link:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="11" y1="7" y2="11"/><path class="ql-even ql-stroke" d="M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z"/><path class="ql-even ql-stroke" d="M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z"/></svg>',list:{bullet:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="6" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="6" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="6" x2="15" y1="14" y2="14"/><line class="ql-stroke" x1="3" x2="3" y1="4" y2="4"/><line class="ql-stroke" x1="3" x2="3" y1="9" y2="9"/><line class="ql-stroke" x1="3" x2="3" y1="14" y2="14"/></svg>',check:'<svg class="" viewbox="0 0 18 18"><line class="ql-stroke" x1="9" x2="15" y1="4" y2="4"/><polyline class="ql-stroke" points="3 4 4 5 6 3"/><line class="ql-stroke" x1="9" x2="15" y1="14" y2="14"/><polyline class="ql-stroke" points="3 14 4 15 6 13"/><line class="ql-stroke" x1="9" x2="15" y1="9" y2="9"/><polyline class="ql-stroke" points="3 9 4 10 6 8"/></svg>',ordered:'<svg viewbox="0 0 18 18"><line class="ql-stroke" x1="7" x2="15" y1="4" y2="4"/><line class="ql-stroke" x1="7" x2="15" y1="9" y2="9"/><line class="ql-stroke" x1="7" x2="15" y1="14" y2="14"/><line class="ql-stroke ql-thin" x1="2.5" x2="4.5" y1="5.5" y2="5.5"/><path class="ql-fill" d="M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z"/>
vendor: 19,495 bytes, lines 46325-46326
46325<path class="ql-stroke ql-thin" d="M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156"/><path class="ql-stroke ql-thin" d="M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109"/></svg>'},script:{sub:'<svg viewbox="0 0 18 18"><path class="ql-fill" d="M15.5,15H13.861a3.858,3.858,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.921,1.921,0,0,0,12.021,11.7a0.50013,0.50013,0,1,0,.957.291h0a0.914,0.914,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.076-1.16971,1.86982-1.93971,2.43082A1.45639,1.45639,0,0,0,12,15.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,15Z"/><path class="ql-fill" d="M9.65,5.241a1,1,0,0,0-1.409.108L6,7.964,3.759,5.349A1,1,0,0,0,2.192,6.59178Q2.21541,6.6213,2.241,6.649L4.684,9.5,2.241,12.35A1,1,0,0,0,3.71,13.70722q0.02557-.02768.049-0.05722L6,11.036,8.241,13.65a1,1,0,1,0,1.567-1.24277Q9.78459,12.3777,9.759,12.35L7.316,9.5,9.759,6.651A1,1,0,0,0,9.65,5.241Z"/></svg>',super:'<svg viewbox="0 0 18 18"><path class="ql-fill" d="M15.5,7H13.861a4.015,4.015,0,0,0,1.914-2.975,1.8,1.8,0,0,0-1.6-1.751A1.922,1.922,0,0,0,12.021,3.7a0.5,0.5,0,1,0,.957.291,0.917,0.917,0,0,1,1.053-.725,0.81,0.81,0,0,1,.744.762c0,1.077-1.164,1.925-1.934,2.486A1.423,1.423,0,0,0,12,7.5a0.5,0.5,0,0,0,.5.5h3A0.5,0.5,0,0,0,15.5,7Z"/><path class="ql-fill" d="M9.651,5.241a1,1,0,0,0-1.41.108L6,7.964,3.759,5.349a1,1,0,1,0-1.519,1.3L4.683,9.5,2.241,12.35a1,1,0,1,0,1.519,1.3L6,11.036,8.241,13.65a1,1,0,0,0,1.519-1.3L7.317,9.5,9.759,6.651A1,1,0,0,0,9.651,5.241Z"/></svg>'},strike:'<svg viewbox="0 0 18 18"><line class="ql-stroke ql-thin" x1="15.5" x2="2.5" y1="8.5" y2="9.5"/><path class="ql-fill" d="M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z"/><path class="ql-fill" d="M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z"/></svg>',table:'<svg viewbox="0 0 18 18"><rect class="ql-stroke" height="12" width="12" x="3" y="3"/><rect class="ql-fill" height="2" width="3" x="5" y="5"/><rect class="ql-fill" height="2" width="4" x="9" y="5"/><g class="ql-fill ql-transparent"><rect height="2" width="3" x="5" y="8"/><rect height="2" width="4" x="9" y="8"/><rect height="2" width="3" x="5" y="11"/><rect height="2" width="4" x="9" y="11"/></g></svg>',underline:'<svg viewbox="0 0 18 18"><path class="ql-stroke" d="M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3"/><rect class="ql-fill" height="1" rx="0.5" ry="0.5" width="12" x="3" y="15"/></svg>',video:'<svg viewbox="0 0 18 18"><rect class="ql-stroke" height="12" width="12" x="3" y="3"/><rect class="ql-fill" height="12" width="1" x="5" y="3"/><rect class="ql-fill" height="12" width="1" x="12" y="3"/><rect class="ql-fill" height="2" width="8" x="5" y="8"/><rect class="ql-fill" height="1" width="3" x="3" y="5"/><rect class="ql-fill" height="1" width="3" x="3" y="7"/><rect class="ql-fill" height="1" width="3" x="3" y="10"/><rect class="ql-fill" height="1" width="3" x="3" y="12"/><rect class="ql-fill" height="1" width="3" x="12" y="5"/><rect class="ql-fill" height="1" width="3" x="12" y="7"/><rect class="ql-fill" height="1" width="3" x="12" y="10"/><rect class="ql-fill" height="1" width="3" x="12" y="12"/></svg>'};let ut=0;function ht(t,e){t.setAttribute(e,`${!("true"===t.getAttribute(e))}`)}var dt=class{constructor(t){this.select=t,this.container=document.createElement("span"),this.buildPicker(),this.select.style.display="none",this.select.parentNode.insertBefore(this.container,this.select),this.label.addEventListener("mousedown",(()=>{this.togglePicker()})),this.label.addEventListener("keydown",(t=>{switch(t.key){case"Enter":this.togglePicker();break;case"Escape":this.escape(),t.preventDefault()}})),this.select.addEventListener("change",this.update.bind(this))}togglePicker(){this.container.classList.toggle("ql-expanded"),ht(this.label,"aria-expanded"),ht(this.options,"aria-hidden")}buildItem(t){const e=document.createElement("span");e.tabIndex="0",e.setAttribute("role","button"),e.classList.add("ql-picker-item");const n=t.getAttribute("value");return n&&e.setAttribute("data-value",n),t.textContent&&e.setAttribute("data-label",t.textContent),e.addEventListener("click",(()=>{this.selectItem(e,!0)})),e.addEventListener("keydown",(t=>{switch(t.key){case"Enter":this.selectItem(e,!0),t.preventDefault();break;case"Escape":this.escape(),t.preventDefault()}})),e}buildLabel(){const t=document.createElement("span");return t.classList.add("ql-picker-label"),t.innerHTML='<svg viewbox="0 0 18 18"><polygon class="ql-stroke" points="7 11 9 13 11 11 7 11"/><polygon class="ql-stroke" points="7 7 9 5 11 7 7 7"/></svg>',t.tabIndex="0",t.setAttribute("role","button"),t.setAttribute("aria-expanded","false"),this.container.appendChild(t),t}buildOptions(){const t=document.createElement("span");t.classList.add("ql-picker-options"),t.setAttribute("aria-hidden","true"),t.tabIndex="-1",t.id=`ql-picker-options-${ut}`,ut+=1,this.label.setAttribute("aria-controls",t.id),this.options=t,Array.from(this.select.options).forEach((e=>{const n=this.buildItem(e);t.appendChild(n),!0===e.selected&&this.selectItem(n)})),this.container.appendChild(t)}buildPicker(){Array.from(this.select.attributes).forEach((t=>{this.container.setAttribute(t.name,t.value)})),this.container.classList.add("ql-picker"),this.label=this.buildLabel(),this.buildOptions()}escape(){this.close(),setTimeout((()=>this.label.focus()),1)}close(){this.container.classList.remove("ql-expanded"),this.label.setAttribute("aria-expanded","false"),this.options.setAttribute("aria-hidden","true")}selectItem(t){let e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=this.container.querySelector(".ql-selected");t!==n&&(null!=n&&n.classList.remove("ql-selected"),null!=t&&(t.classList.add("ql-selected"),this.select.selectedIndex=Array.from(t.parentNode.children).indexOf(t),t.hasAttribute("data-value")?this.label.setAttribute("data-value",t.getAttribute("data-value")):this.label.removeAttribute("data-value"),t.hasAttribute("data-label")?this.label.setAttribute("data-label",t.getAttribute("data-label")):this.label.removeAttribute("data-label"),e&&(this.select.dispatchEvent(new Event("change")),this.close())))}update(){let t;if(this.select.selectedIndex>-1){const e=this.container.querySelector(".ql-picker-options").children[this.select.selectedIndex];t=this.select.options[this.select.selectedIndex],this.selectItem(e)}else this.selectItem(null);const e=null!=t&&t!==this.select.querySelector("option[selected]");this.label.classList.toggle("ql-active",e)}},ft=class extends dt{constructor(t,e){super(t),this.label.innerHTML=e,this.container.classList.add("ql-color-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).slice(0,7).forEach((t=>{t.classList.add("ql-primary")}))}buildItem(t){const e=super.buildItem(t);return e.style.backgroundColor=t.getAttribute("value")||"",e}selectItem(t,e){super.selectItem(t,e);const n=this.label.querySelector(".ql-color-label"),r=t&&t.getAttribute("data-value")||"";n&&("line"===n.tagName?n.style.stroke=r:n.style.fill=r)}},pt=class extends dt{constructor(t,e){super(t),this.container.classList.add("ql-icon-picker"),Array.from(this.container.querySelectorAll(".ql-picker-item")).forEach((t=>{t.innerHTML=e[t.getAttribute("data-value")||""]})),this.defaultItem=this.container.querySelector(".ql-selected"),this.selectItem(this.defaultItem)}selectItem(t,e){super.selectItem(t,e);const n=t||this.defaultItem;if(null!=n){if(this.label.innerHTML===n.innerHTML)return;this.label.innerHTML=n.innerHTML}}},gt=class{constructor(t,e){this.quill=t,this.boundsContainer=e||document.body,this.root=t.addContainer("ql-tooltip"),this.root.innerHTML=this.constructor.TEMPLATE,(t=>{const{overflowY:e}=getComputedStyle(t,null);return"visible"!==e&&"clip"!==e})(this.quill.root)&&this.quill.root.addEventListener("scroll",(()=>{this.root.style.marginTop=-1*this.quill.root.scrollTop+"px"})),this.hide()}hide(){this.root.classList.add("ql-hidden")}position(t){const e=t.left+t.width/2-this.root.offsetWidth/2,n=t.bottom+this.quill.root.scrollTop;this.root.style.left=`${e}px`,this.root.style.top=`${n}px`,this.root.classList.remove("ql-flip");const r=this.boundsContainer.getBoundingClientRect(),i=this.root.getBoundingClientRect();let s=0;if(i.right>r.right&&(s=r.right-i.right,this.root.style.left=`${e+s}px`),i.left<r.left&&(s=r.left-i.left,this.root.style.left=`${e+s}px`),i.bottom>r.bottom){const e=i.bottom-i.top,r=t.bottom-t.top+e;this.root.style.top=n-r+"px",this.root.classList.add("ql-flip")}return s}show(){this.root.classList.remove("ql-editing"),this.root.classList.remove("ql-hidden")}},mt=n(8347),bt=n(5374),yt=n(9609);const vt=[!1,"center","right","justify"],At=["#000000","#e60000","#ff9900","#ffff00","#008a00","#0066cc","#9933ff","#ffffff","#facccc","#ffebcc","#ffffcc","#cce8cc","#cce0f5","#ebd6ff","#bbbbbb","#f06666","#ffc266","#ffff66","#66b966","#66a3e0","#c285ff","#888888","#a10000","#b26b00","#b2b200","#006100","#0047b2","#6b24b2","#444444","#5c0000","#663d00","#666600","#003700","#002966","#3d1466"],xt=[!1,"serif","monospace"],Nt=["1","2","3",!1],Et=["small",!1,"large","huge"];class wt extends yt.A{constructor(t,e){super(t,e);const n=e=>{document.body.contains(t.root)?(null==this.tooltip||this.tooltip.root.contains(e.target)||document.activeElement===this.tooltip.textbox||this.quill.hasFocus()||this.tooltip.hide(),null!=this.pickers&&this.pickers.forEach((t=>{t.container.contains(e.target)||t.close()}))):document.body.removeEventListener("click",n)};t.emitter.listenDOM("click",document.body,n)}addModule(t){const e=super.addModule(t);return"toolbar"===t&&this.extendToolbar(e),e}buildButtons(t,e){Array.from(t).forEach((t=>{(t.getAttribute("class")||"").split(/\s+/).forEach((n=>{if(n.startsWith("ql-")&&(n=n.slice(3),null!=e[n]))if("direction"===n)t.innerHTML=e[n][""]+e[n].rtl;else if("string"==typeof e[n])t.innerHTML=e[n];else{const r=t.value||"";null!=r&&e[n][r]&&(t.innerHTML=e[n][r])}}))}))}buildPickers(t,e){this.pickers=Array.from(t).map((t=>{if(t.classList.contains("ql-align")&&(null==t.querySelector("option")&&kt(t,vt),"object"==typeof e.align))return new pt(t,e.align);if(t.classList.contains("ql-background")||t.classList.contains("ql-color")){const n=t.classList.contains("ql-background")?"background":"color";return null==t.querySelector("option")&&kt(t,At,"background"===n?"#ffffff":"#000000"),new ft(t,e[n])}return null==t.querySelector("option")&&(t.classList.contains("ql-font")?kt(t,xt):t.classList.contains("ql-header")?kt(t,Nt):t.classList.contains("ql-size")&&kt(t,Et)),new dt(t)})),this.quill.on(bt.A.events.EDITOR_CHANGE,(()=>{this.pickers.forEach((t=>{t.update()}))}))}}wt.DEFAULTS=(0,mt.A)({},yt.A.DEFAULTS,{modules:{toolbar:{handlers:{formula(){this.quill.theme.tooltip.edit("formula")},image(){let t=this.container.querySelector("input.ql-image[type=file]");null==t&&(t=document.createElement("input"),t.setAttribute("type","file"),t.setAttribute("accept",this.quill.uploader.options.mimetypes.join(", ")),t.classList.add("ql-image"),t.addEventListener("change",(()=>{const e=this.quill.getSelection(!0);this.quill.uploader.upload(e,t.files),t.value=""})),this.container.appendChild(t)),t.click()},video(){this.quill.theme.tooltip.edit("video")}}}}});class qt extends gt{constructor(t,e){super(t,e),this.textbox=this.root.querySelector('input[type="text"]'),this.listen()}listen(){this.textbox.addEventListener("keydown",(t=>{"Enter"===t.key?(this.save(),t.preventDefault()):"Escape"===t.key&&(this.cancel(),t.preventDefault())}))}cancel(){this.hide(),this.restoreFocus()}edit(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"link",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(this.root.classList.remove("ql-hidden"),this.root.classList.add("ql-editing"),null==this.textbox)return;null!=e?this.textbox.value=e:t!==this.root.getAttribute("data-mode")&&(this.textbox.value="");const n=this.quill.getBounds(this.quill.selection.savedRange);null!=n&&this.position(n),this.textbox.select(),this.textbox.setAttribute("placeholder",this.textbox.getAttribute(`data-${t}`)||""),this.root.setAttribute("data-mode",t)}restoreFocus(){this.quill.focus({preventScroll:!0})}save(){let{value:t}=this.textbox;switch(this.root.getAttribute("data-mode")){case"link":{const{scrollTop:e}=this.quill.root;this.linkRange?(this.quill.formatText(this.linkRange,"link",t,bt.A.sources.USER),delete this.linkRange):(this.restoreFocus(),this.quill.format("link",t,bt.A.sources.USER)),this.quill.root.scrollTop=e;break}case"video":t=function(t){let e=t.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/)||t.match(/^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/);return e?`${e[1]||"https"}://www.youtube.com/embed/${e[2]}?showinfo=0`:(e=t.match(/^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/))?`${e[1]||"https"}://player.vimeo.com/video/${e[2]}/`:t}(t);case"formula":{if(!t)break;const e=this.quill.getSelection(!0);if(null!=e){const n=e.index+e.length;this.quill.insertEmbed(n,this.root.getAttribute("data-mode"),t,bt.A.sources.USER),"formula"===this.root.getAttribute("data-mode")&&this.quill.insertText(n+1," ",bt.A.sources.USER),this.quill.setSelection(n+2,bt.A.sources.USER)}break}}this.textbox.value="",this.hide()}}function kt(t,e){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];e.forEach((e=>{const r=document.createElement("option");e===n?r.setAttribute("selected","selected"):r.setAttribute("value",String(e)),t.appendChild(r)}))}var _t=n(8298);const Lt=[["bold","italic","link"],[{header:1},{header:2},"blockquote"]];class St extends qt{static TEMPLATE=['<span class="ql-tooltip-arrow"></span>','<div class="ql-tooltip-editor">','<input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL">','<a class="ql-close"></a>',"</div>"].join("");constructor(t,e){super(t,e),this.quill.on(bt.A.events.EDITOR_CHANGE,((t,e,n,r)=>{if(t===bt.A.events.SELECTION_CHANGE)if(null!=e&&e.length>0&&r===bt.A.sources.USER){this.show(),this.root.style.left="0px",this.root.style.width="",this.root.style.width=`${this.root.offsetWidth}px`;const t=this.quill.getLines(e.index,e.length);if(1===t.length){const t=this.quill.getBounds(e);null!=t&&this.position(t)}else{const n=t[t.length-1],r=this.quill.getIndex(n),i=Math.min(n.length()-1,e.index+e.length-r),s=this.quill.getBounds(new _t.Q(r,i));null!=s&&this.position(s)}}else document.activeElement!==this.textbox&&this.quill.hasFocus()&&this.hide()}))}listen(){super.listen(),this.root.querySelector(".ql-close").addEventListener("click",(()=>{this.root.classList.remove("ql-editing")})),this.quill.on(bt.A.events.SCROLL_OPTIMIZE,(()=>{setTimeout((()=>{if(this.root.classList.contains("ql-hidden"))return;const t=this.quill.getSelection();if(null!=t){const e=this.quill.getBounds(t);null!=e&&this.position(e)}}),1)}))}cancel(){this.show()}position(t){const e=super.position(t),n=this.root.querySelector(".ql-tooltip-arrow");return n.style.marginLeft="",0!==e&&(n.style.marginLeft=-1*e-n.offsetWidth/2+"px"),e}}class Ot extends wt{constructor(t,e){null!=e.modules.toolbar&&null==e.modules.toolbar.container&&(e.modules.toolbar.container=Lt),super(t,e),this.quill.container.classList.add("ql-bubble")}extendToolbar(t){this.tooltip=new St(this.quill,this.options.bounds),null!=t.container&&(this.tooltip.root.appendChild(t.container),this.buildButtons(t.container.querySelectorAll("button"),ct),this.buildPickers(t.container.querySelectorAll("select"),ct))}}Ot.DEFAULTS=(0,mt.A)({},wt.DEFAULTS,{modules:{toolbar:{handlers:{link(t){t?this.quill.theme.tooltip.edit():this.quill.format("link",!1,p.Ay.sources.USER)}}}}});const Tt=[[{header:["1","2","3",!1]}],["bold","italic","underline","link"],[{list:"ordered"},{list:"bullet"}],["clean"]];class jt extends qt{static TEMPLATE=['<a class="ql-preview" rel="noopener noreferrer" target="_blank" href="about:blank"></a>','<input type="text" data-formula="e=mc^2" data-link="https://quilljs.com" data-video="Embed URL">','<a class="ql-action"></a>','<a class="ql-remove"></a>'].join("");preview=this.root.querySelector("a.ql-preview");listen(){super.listen(),this.root.querySelector("a.ql-action").addEventListener("click",(t=>{this.root.classList.contains("ql-editing")?this.save():this.edit("link",this.preview.textContent),t.preventDefault()})),this.root.querySelector("a.ql-remove").addEventListener("click",(t=>{if(null!=this.linkRange){const t=this.linkRange;this.restoreFocus(),this.quill.formatText(t,"link",!1,bt.A.sources.USER),delete this.linkRange}t.preventDefault(),this.hide()})),this.quill.on(bt.A.events.SELECTION_CHANGE,((t,e,n)=>{if(null!=t){if(0===t.length&&n===bt.A.sources.USER){const[e,n]=this.quill.scroll.descendant(w,t.index);if(null!=e){this.linkRange=new _t.Q(t.index-n,e.length());const r=w.formats(e.domNode);this.preview.textContent=r,this.preview.setAttribute("href",r),this.show();const i=this.quill.getBounds(this.linkRange);return void(null!=i&&this.position(i))}}else delete this.linkRange;this.hide()}}))}show(){super.show(),this.root.removeAttribute("data-mode")}}class Ct extends wt{constructor(t,e){null!=e.modules.toolbar&&null==e.modules.toolbar.container&&(e.modules.toolbar.container=Tt),super(t,e),this.quill.container.classList.add("ql-snow")}extendToolbar(t){null!=t.container&&(t.container.classList.add("ql-snow"),this.buildButtons(t.container.querySelectorAll("button"),ct),this.buildPickers(t.container.querySelectorAll("select"),ct),this.tooltip=new jt(this.quill,this.options.bounds),t.container.querySelector(".ql-link")&&this.quill.keyboard.addBinding({key:"k",shortKey:!0},((e,n)=>{t.handlers.link.call(t,!n.format.link)})))}}Ct.DEFAULTS=(0,mt.A)({},wt.DEFAULTS,{modules:{toolbar:{handlers:{link(t){if(t){const t=this.quill.getSelection();if(null==t||0===t.length)return;let e=this.quill.getText(t);/^\S+@\S+\.\S+$/.test(e)&&0!==e.indexOf("mailto:")&&(e=`mailto:${e}`);const{tooltip:n}=this.quill.theme;n.edit("link",e)}else this.quill.format("link",!1,p.Ay.sources.USER)}}}}});var Rt=Ct;t.default.register({"attributors/attribute/direction":i.Mc,"attributors/class/align":e.qh,"attributors/class/background":b.l,"attributors/class/color":y.g3,"attributors/class/direction":i.sY,"attributors/class/font":v.q,"attributors/class/size":A.U,"attributors/style/align":e.Hu,"attributors/style/background":b.s,"attributors/style/color":y.JM,"attributors/style/direction":i.VL,"attributors/style/font":v.z,"attributors/style/size":A.r},!0),t.default.register({"formats/align":e.qh,"formats/direction":i.sY,"formats/indent":l,"formats/background":b.s,"formats/color":y.JM,"formats/font":v.q,"formats/size":A.U,"formats/blockquote":u,"formats/code-block":D.Ay,"formats/header":d,"formats/list":m,"formats/bold":E,"formats/code":D.Cy,"formats/italic":class extends E{static blotName="italic";static tagName=["EM","I"]},"formats/link":w,"formats/script":_,"formats/strike":class extends E{static blotName="strike";static tagName=["S","STRIKE"]},"formats/underline":S,"formats/formula":j,"formats/image":I,"formats/video":U,"modules/syntax":Q,"modules/table":it,"modules/toolbar":ot,"themes/bubble":Ot,"themes/snow":Rt,"ui/icons":ct,"ui/picker":dt,"ui/icon-picker":pt,"ui/color-picker":ft,"ui/tooltip":gt},!0);var It=t.default}(),r.default}()})); 46326//# sourceMappingURL=quill.js.map
46326 46327/* 46328Tagify v4.35.3 - tags input component 46329By: Yair Even-Or <[email protected]> 46330https://github.com/yairEO/tagify 46331 46332Permission is hereby granted, free of charge, to any person obtaining a copy 46333of this software and associated documentation files (the "Software"), to deal 46334in the Software without restriction, including without limitation the rights 46335to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 46336copies of the Software, and to permit persons to whom the Software is 46337furnished to do so, subject to the following conditions: 46338 46339The above copyright notice and this permission notice shall be included in 46340all copies or substantial portions of the Software. 46341 46342THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 46343IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 46344FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 46345AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 46346LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 46347OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 46348THE SOFTWARE. 46349 46350This Software may not be rebranded and sold as a library under any other name 46351other than "Tagify" (by owner) or as part of another library. 46352*/ 46353 46354!function(t){"function"==typeof define&&define.amd?define(t):t()}((function(){"use strict";function t(t,e){e=e||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail),n}function e(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}var n;"".trim||(String.prototype.trim=function(){return this.replace(/^[\s]+|[\s]+$/g,"")}),window.NodeList&&!NodeList.prototype.forEach&&(NodeList.prototype.forEach=Array.prototype.forEach),Array.prototype.findIndex||Object.defineProperty(Array.prototype,"findIndex",{value:function(t){if(null==this)throw new TypeError('"this" is null or not defined');var e=Object(this),n=e.length>>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var o=arguments[1],r=0;r<n;){var i=e[r];if(t.call(o,i,r,e))return r;r++}return-1},configurable:!0,writable:!0}),Array.prototype.includes||(Array.prototype.includes=function(t){return!!~this.indexOf(t)}),Array.prototype.some||(Array.prototype.some=function(t,e){if(null==this)throw new TypeError("Array.prototype.some called on null or undefined");if("function"!=typeof t)throw new TypeError;for(var n=Object(this),o=n.length>>>0,r=0;r<o;r++)if(r in n&&t.call(e,n[r],r,n))return!0;return!1}),String.prototype.includes||(String.prototype.includes=function(t,e){return"number"!=typeof e&&(e=0),!(e+t.length>this.length)&&-1!==this.indexOf(t,e)}),"function"!=typeof Object.assign&&Object.defineProperty(Object,"assign",{value:function(t,e){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var n=Object(t),o=1;o<arguments.length;o++){var r=arguments[o];if(null!=r)for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(n[i]=r[i])}return n},writable:!0,configurable:!0}),t.prototype=window.Event.prototype,"function"!=typeof window.CustomEvent&&(window.CustomEvent=t),Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector),Element.prototype.closest||(Element.prototype.closest=function(t){var e=this;if(!document.documentElement.contains(e))return null;do{if(e.matches(t))return e;e=e.parentElement||e.parentNode}while(null!==e&&1===e.nodeType);return null}),document.execCommand("AutoUrlDetect",!1,!1),/*! @source http://purl.eligrey.com/github/classList.js/blob/master/classList.js */"document"in self&&((!("classList"in document.createElement("_"))||document.createElementNS&&!("classList"in document.createElementNS("http://www.w3.org/2000/svg","g")))&&function(t){if("Element"in t){var e="classList",n="prototype",o=t.Element[n],r=Object,i=String[n].trim||function(){return this.replace(/^\s+|\s+$/g,"")},c=Array[n].indexOf||function(t){for(var e=0,n=this.length;e<n;e++)if(e in this&&this[e]===t)return e;return-1}
46354,s=function(t,e){this.name=t,this.code=DOMException[t],this.message=e},l=function(t,e){if(""===e)throw new s("SYNTAX_ERR","The token must not be empty.");if(/\s/.test(e))throw new s("INVALID_CHARACTER_ERR","The token must not contain space characters.");return c.call(t,e)},u=function(t){for(var e=i.call(t.getAttribute("class")||""),n=e?e.split(/\s+/):[],o=0,r=n.length;o<r;o++)this.push(n[o]);this._updateClassName=function(){t.setAttribute("class",this.toString())}},a=u[n]=[],f=function(){return new u(this)};if(s[n]=Error[n],a.item=function(t){return this[t]||null},a.contains=function(t){return~l(this,t+"")},a.add=function(){var t,e=arguments,n=0,o=e.length,r=!1;do{~l(this,t=e[n]+"")||(this.push(t),r=!0)}while(++n<o);r&&this._updateClassName()},a.remove=function(){var t,e,n=arguments,o=0,r=n.length,i=!1;do{for(e=l(this,t=n[o]+"");~e;)this.splice(e,1),i=!0,e=l(this,t)}while(++o<r);i&&this._updateClassName()},a.toggle=function(t,e){var n=this.contains(t),o=n?!0!==e&&"remove":!1!==e&&"add";return o&&this[o](t),!0===e||!1===e?e:!n},a.replace=function(t,e){var n=l(t+"");~n&&(this.splice(n,1,e),this._updateClassName())},a.toString=function(){return this.join(" ")},r.defineProperty){var p={get:f,enumerable:!0,configurable:!0};try{r.defineProperty(o,e,p)}catch(t){void 0!==t.number&&-2146823252!==t.number||(p.enumerable=!1,r.defineProperty(o,e,p))}}else r[n].__defineGetter__&&o.__defineGetter__(e,f)}}(self),function(){var t=document.createElement("_");if(t.classList.add("c1","c2"),!t.classList.contains("c2")){var e=function(t){var e=DOMTokenList.prototype[t];DOMTokenList.prototype[t]=function(t){var n,o=arguments.length;for(n=0;n<o;n++)t=arguments[n],e.call(this,t)}};e("add"),e("remove")}if(t.classList.toggle("c3",!1),t.classList.contains("c3")){var n=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(t,e){return 1 in arguments&&!this.contains(t)==!e?e:n.call(this,t)}}"replace"in document.createElement("_").classList||(DOMTokenList.prototype.replace=function(t,e){var n=this.toString().split(" "),o=n.indexOf(t+"");~o&&(n=n.slice(o),this.remove.apply(this,n),this.add(e),this.add.apply(this,n.slice(1)))}),t=null}()),globalThis,n=function(){function t(t){var e=this.constructor;return this.then((function(n){return e.resolve(t()).then((function(){return n}))}),(function(n){return e.resolve(t()).then((function(){return e.reject(n)}))}))}function n(t){return new this((function(e,n){if(!t||void 0===t.length)return n(new TypeError((void 0===t?"undefined":(o=t)&&"undefined"!=typeof Symbol&&o.constructor===Symbol?"symbol":typeof o)+" "+t+" is not iterable(cannot read property Symbol(Symbol.iterator))"));var o,r=Array.prototype.slice.call(t);if(0===r.length)return e([]);var i=r.length;function c(t,n){if(n&&("object"==typeof n||"function"==typeof n)){var o=n.then;if("function"==typeof o)return void o.call(n,(function(e){c(t,e)}),(function(n){r[t]={status:"rejected",reason:n},0==--i&&e(r)}))}r[t]={status:"fulfilled",value:n},0==--i&&e(r)}for(var s=0;s<r.length;s++)c(s,r[s])}))}var o=setTimeout;function r(t){return Boolean(t&&void 0!==t.length)}function i(){}function c(t){if(!e(this,c))throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=0,this._handled=!1,this._value=void 0,this._deferreds=[],p(t,this)}function s(t,e){for(;3===t._state;)t=t._value;0!==t._state?(t._handled=!0,c._immediateFn((function(){var n=1===t._state?e.onFulfilled:e.onRejected;if(null!==n){var o;try{o=n(t._value)}catch(t){return void u(e.promise,t)}l(e.promise,o)}else(1===t._state?l:u)(e.promise,t._value)}))):t._deferreds.push(e)}function l(t,n){try{if(n===t)throw new TypeError("A promise cannot be resolved with itself.");if(n&&("object"==typeof n||"function"==typeof n)){var o=n.then;if(e(n,c))return t._state=3,t._value=n,void a(t);if("function"==typeof o)return void p((r=o,i=n,function(){r.apply(i,arguments)}),t)}t._state=1,t._value=n,a(t)}catch(e){u(t,e)}var r,i}function u(t,e){t._state=2,t._value=e,a(t)}function a(t){2===t._state&&0===t._deferreds.length&&c._immediateFn((function(){t._handled||c._unhandledRejectionFn(t._value)}));for(var e=0,n=t._deferreds.length;e<n;e++)s(t,t._deferreds[e]);t._deferreds=null}function f(t,e,n){this.onFulfilled="function"==typeof t?t:null,this.onRejected="function"==typeof e?e:null,this.promise=n}function p(t,e){var n=!1;try{t((function(t){n||(n=!0,l(e,t))}),(function(t){n||(n=!0,u(e,t))}))}catch(t){if(n)return;n=!0,u(e,t)}}c.prototype.catch=function(t){return this.then(null,t)},c.prototype.then=function(t,e){var n=new this.constructor(i);return s(this,new f(t,e,n)),n},c.prototype.finally=t,c.all=function(t){return new c((function(e,n){if(!r(t))return n(new TypeError("Promise.all accepts an array"));var o=Array.prototype.slice.call(t);if(0===o.length)return e([]);var i=o.length;function c(t,r){try{if(r&&("object"==typeof r||"function"==typeof r)){var s=r.then;if("function"==typeof s)return void s.call(r,(function(e){c(t,e)}),n)}o[t]=r,0==--i&&e(o)}catch(t){n(t)}}for(var s=0;s<o.length;s++)c(s,o[s])}))},c.allSettled=n,c.resolve=function(t){return t&&"object"==typeof t&&t.constructor===c?t:new c((function(e){e(t)}))}
46354,c.reject=function(t){return new c((function(e,n){n(t)}))},c.race=function(t){return new c((function(e,n){if(!r(t))return n(new TypeError("Promise.race accepts an array"));for(var o=0,i=t.length;o<i;o++)c.resolve(t[o]).then(e,n)}))},c._immediateFn="function"==typeof setImmediate&&function(t){setImmediate(t)}||function(t){o(t,0)},c._unhandledRejectionFn=function(t){"undefined"!=typeof console&&console&&console.warn("Possible Unhandled Promise Rejection:",t)};var d=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("unable to locate global object")}();"function"!=typeof d.Promise?d.Promise=c:d.Promise.prototype.finally?d.Promise.allSettled||(d.Promise.allSettled=n):d.Promise.prototype.finally=t},"object"==typeof exports&&"undefined"!=typeof module?n():"function"==typeof define&&define.amd?define(n):n()})); 46355//# sourceMappingURL=tagify.polyfills.min.js.map 46356 46357/* 46358Tagify v4.35.3 - tags input component 46359By: Yair Even-Or <[email protected]> 46360https://github.com/yairEO/tagify 46361 46362Permission is hereby granted, free of charge, to any person obtaining a copy 46363of this software and associated documentation files (the "Software"), to deal 46364in the Software without restriction, including without limitation the rights 46365to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 46366copies of the Software, and to permit persons to whom the Software is 46367furnished to do so, subject to the following conditions: 46368 46369The above copyright notice and this permission notice shall be included in 46370all copies or substantial portions of the Software. 46371 46372THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 46373IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 46374FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 46375AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 46376LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 46377OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 46378THE SOFTWARE. 46379 46380This Software may not be rebranded and sold as a library under any other name 46381other than "Tagify" (by owner) or as part of another library. 46382*/ 46383 46384!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Tagify=e()}(this,(function(){"use strict";var t="​";function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function i(t){return function(t){if(Array.isArray(t))return e(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,i){if(!t)return;if("string"==typeof t)return e(t,i);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e(t,i)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var n={isEnabled:function(){var t;return null===(t=window.TAGIFY_DEBUG)||void 0===t||t},log:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var s;this.isEnabled()&&(s=console).log.apply(s,["[Tagify]:"].concat(i(e)))},warn:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var s;this.isEnabled()&&(s=console).warn.apply(s,["[Tagify]:"].concat(i(e)))}},s=function(t,e,i,n){return t=""+t,e=""+e,n&&(t=t.trim(),e=e.trim()),i?t==e:t.toLowerCase()==e.toLowerCase()},a=function(t,e){return t&&Array.isArray(t)&&t.map((function(t){return o(t,e)}))};function o(t,e){var i,n={};for(i in t)e.indexOf(i)<0&&(n[i]=t[i]);return n}function r(t){return(new DOMParser).parseFromString(t.trim(),"text/html").body.firstElementChild}function l(t,e){for(e=e||"previous";t=t[e+"Sibling"];)if(3==t.nodeType)return t}function d(t){return"string"==typeof t?t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/`|'/g,"'"):t}function c(t){var e=Object.prototype.toString.call(t).split(" ")[1].slice(0,-1);return t===Object(t)&&"Array"!=e&&"Function"!=e&&"RegExp"!=e&&"HTMLUnknownElement"!=e}function u(t,e,i){var n,s;function a(t,e){for(var i in e)if(e.hasOwnProperty(i)){if(c(e[i])){c(t[i])?a(t[i],e[i]):t[i]=Object.assign({},e[i]);continue}if(Array.isArray(e[i])){t[i]=Object.assign([],e[i]);continue}t[i]=e[i]}}return n=t,(null!=(s=Object)&&"undefined"!=typeof Symbol&&s[Symbol.hasInstance]?s[Symbol.hasInstance](n):n instanceof s)||(t={}),a(t,e),i&&a(t,i),t}function g(){var t=[],e={},i=!0,n=!1,s=void 0;try{for(var a,o=arguments[Symbol.iterator]();!(i=(a=o.next()).done);i=!0){var r=a.value,l=!0,d=!1,u=void 0;try{for(var g,h=r[Symbol.iterator]();!(l=(g=h.next()).done);l=!0){var p=g.value;
46384c(p)?e[p.value]||(t.push(p),e[p.value]=1):t.includes(p)||t.push(p)}}catch(t){d=!0,u=t}finally{try{l||null==h.return||h.return()}finally{if(d)throw u}}}}catch(t){n=!0,s=t}finally{try{i||null==o.return||o.return()}finally{if(n)throw s}}return t}function h(t){return String.prototype.normalize?"string"==typeof t?t.normalize("NFD").replace(/[\u0300-\u036f]/g,""):void 0:t}var p=function(){return/(?=.*chrome)(?=.*android)/i.test(navigator.userAgent)};function f(){return([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(function(t){return(t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>t/4).toString(16)}))}function m(t){var e,i=b.call(this,t),n=null==t||null===(e=t.classList)||void 0===e?void 0:e.contains(this.settings.classNames.tag);return i&&n}function v(t){return b.call(this,t)&&(null==t?void 0:t.closest(this.settings.classNames.tagSelector))}function b(t){var e;return(null==t||null===(e=t.closest)||void 0===e?void 0:e.call(t,this.settings.classNames.namespaceSelector))===this.DOM.scope}function w(t,e){var i=window.getSelection();return e=e||i.getRangeAt(0),"string"==typeof t&&(t=document.createTextNode(t)),e&&(e.deleteContents(),e.insertNode(t)),t}function y(t,e,i){return t?(e&&(t.__tagifyTagData=i?e:u({},t.__tagifyTagData||{},e)),t.__tagifyTagData):(n.warn("tag element doesn't exist",{tagElm:t,data:e}),e)}function T(t){if(t&&t.parentNode){var e=t,i=window.getSelection(),n=i.getRangeAt(0);i.rangeCount&&(n.setStartAfter(e),n.collapse(!0),i.removeAllRanges(),i.addRange(n))}}function O(t,e){t.forEach((function(t){if(y(t.previousSibling)||!t.previousSibling){var i=document.createTextNode("â");t.before(i),e&&T(i)}}))}var D={delimiters:",",pattern:null,tagTextProp:"value",maxTags:1/0,callbacks:{},addTagOnBlur:!0,addTagOn:["blur","tab","enter"],onChangeAfterBlur:!0,duplicates:!1,whitelist:[],blacklist:[],enforceWhitelist:!1,userInput:!0,focusable:!0,focusInputOnRemove:!0,keepInvalidTags:!1,createInvalidTags:!0,mixTagsAllowedAfter:/,|\.|\:|\s/,mixTagsInterpolator:["[[","]]"],backspace:!0,skipInvalid:!1,pasteAsTags:!0,editTags:{clicks:2,keepInvalid:!0},transformTag:function(){},trim:!0,a11y:{focusableTags:!1},mixMode:{insertAfterTag:"Â "},autoComplete:{enabled:!0,rightKey:!1,tabKey:!1},classNames:{namespace:"tagify",mixMode:"tagify--mix",selectMode:"tagify--select",input:"tagify__input",focus:"tagify--focus",tagNoAnimation:"tagify--noAnim",tagInvalid:"tagify--invalid",tagNotAllowed:"tagify--notAllowed",scopeLoading:"tagify--loading",hasMaxTags:"tagify--hasMaxTags",hasNoTags:"tagify--noTags",empty:"tagify--empty",inputInvalid:"tagify__input--invalid",dropdown:"tagify__dropdown",dropdownWrapper:"tagify__dropdown__wrapper",dropdownHeader:"tagify__dropdown__header",dropdownFooter:"tagify__dropdown__footer",dropdownItem:"tagify__dropdown__item",dropdownItemActive:"tagify__dropdown__item--active",dropdownItemHidden:"tagify__dropdown__item--hidden",dropdownItemSelected:"tagify__dropdown__item--selected",dropdownInital:"tagify__dropdown--initial",tag:"tagify__tag",tagText:"tagify__tag-text",tagX:"tagify__tag__removeBtn",tagLoading:"tagify__tag--loading",tagEditing:"tagify__tag--editable",tagFlash:"tagify__tag--flash",tagHide:"tagify__tag--hide"},dropdown:{classname:"",enabled:2,maxItems:10,searchKeys:["value","searchBy"],fuzzySearch:!0,caseSensitive:!1,accentedSearch:!0,includeSelectedTags:!1,escapeHTML:!0,highlightFirst:!0,closeOnSelect:!0,clearOnSelect:!0,position:"all",appendTarget:null},hooks:{beforeRemoveTag:function(){return Promise.resolve()},beforePaste:function(){return Promise.resolve()},suggestionClick:function(){return Promise.resolve()},beforeKeyDown:function(){return Promise.resolve()}}};function x(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function S(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{},n=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(i).filter((function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable})))),n.forEach((function(e){x(t,e,i[e])}))}return t}function I(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}
46384(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))})),t}var M={events:{binding:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=this.dropdown.events.callbacks,i=this.listeners.dropdown=this.listeners.dropdown||{position:this.dropdown.position.bind(this,null),onKeyDown:e.onKeyDown.bind(this),onMouseOver:e.onMouseOver.bind(this),onMouseLeave:e.onMouseLeave.bind(this),onClick:e.onClick.bind(this),onScroll:e.onScroll.bind(this)},n=t?"addEventListener":"removeEventListener";"manual"!=this.settings.dropdown.position&&(document[n]("scroll",i.position,!0),window[n]("resize",i.position),window[n]("keydown",i.onKeyDown)),this.DOM.dropdown[n]("mouseover",i.onMouseOver),this.DOM.dropdown[n]("mouseleave",i.onMouseLeave),this.DOM.dropdown[n]("mousedown",i.onClick),this.DOM.dropdown.content[n]("scroll",i.onScroll)},callbacks:{onKeyDown:function(t){var e=this;if(this.state.hasFocus&&!this.state.composing){var i=this.settings,s=i.dropdown.includeSelectedTags,a=this.DOM.dropdown.querySelector(i.classNames.dropdownItemActiveSelector),o=this.dropdown.getSuggestionDataByNode(a),r="mix"==i.mode,l="select"==i.mode;i.hooks.beforeKeyDown(t,{tagify:this}).then((function(d){switch(t.key){case"ArrowDown":case"ArrowUp":case"Down":case"Up":t.preventDefault();var c=e.dropdown.getAllSuggestionsRefs(),u="ArrowUp"==t.key||"Up"==t.key;a&&(a=e.dropdown.getNextOrPrevOption(a,!u)),a&&a.matches(i.classNames.dropdownItemSelector)||(a=c[u?c.length-1:0]),e.dropdown.highlightOption(a,!0);break;case"PageUp":case"PageDown":var g;t.preventDefault();var h=e.dropdown.getAllSuggestionsRefs(),p=Math.floor(e.DOM.dropdown.content.clientHeight/(null===(g=h[0])||void 0===g?void 0:g.offsetHeight))||1,f="PageUp"===t.key;if(a){var m=h.indexOf(a),v=f?Math.max(0,m-p):Math.min(h.length-1,m+p);a=h[v]}else a=h[0];e.dropdown.highlightOption(a,!0);break;case"Home":case"End":t.preventDefault();var b=e.dropdown.getAllSuggestionsRefs();a=b["Home"===t.key?0:b.length-1],e.dropdown.highlightOption(a,!0);break;case"Escape":case"Esc":e.dropdown.hide();break;case"ArrowRight":if(e.state.actions.ArrowLeft||i.autoComplete.rightKey)return;case"Tab":var w=!i.autoComplete.rightKey||!i.autoComplete.tabKey;if(!r&&!l&&a&&w&&!e.state.editing&&o){t.preventDefault();var y=e.dropdown.getMappedValue(o);return e.state.autoCompleteData=o,e.input.autocomplete.set.call(e,y),!1}return!0;case"Enter":t.preventDefault(),e.state.actions.selectOption=!0,setTimeout((function(){return e.state.actions.selectOption=!1}),100),i.hooks.suggestionClick(t,{tagify:e,tagData:o,suggestionElm:a}).then((function(){if(a){var i=s?a:e.dropdown.getNextOrPrevOption(a,!u);e.dropdown.selectOption(a,t,(function(){if(i){var t=i.getAttribute("value");i=e.dropdown.getSuggestionNodeByValue(t),e.dropdown.highlightOption(i)}}))}else e.dropdown.hide(),r||e.addTags(e.state.inputText.trim(),!0)})).catch((function(t){return n.warn(t)}));break;case"Backspace":if(r||e.state.editing.scope)return;var T=e.input.raw.call(e);""!=T&&8203!=T.charCodeAt(0)||(!0===i.backspace?e.removeTags():"edit"==i.backspace&&setTimeout(e.editTag.bind(e),0))}}))}},onMouseOver:function(t){var e=t.target.closest(this.settings.classNames.dropdownItemSelector);this.dropdown.highlightOption(e)},onMouseLeave:function(t){this.dropdown.highlightOption()},onClick:function(t){var e=this;if(0==t.button&&t.target!=this.DOM.dropdown&&t.target!=this.DOM.dropdown.content){var i=t.target.closest(this.settings.classNames.dropdownItemSelector),s=this.dropdown.getSuggestionDataByNode(i);this.state.actions.selectOption=!0,setTimeout((function(){return e.state.actions.selectOption=!1}),100),this.settings.hooks.suggestionClick(t,{tagify:this,tagData:s,suggestionElm:i}).then((function(){i?e.dropdown.selectOption(i,t):e.dropdown.hide()})).catch((function(t){return n.warn(t)}))}},onScroll:function(t){var e=t.target,i=e.scrollTop/(e.scrollHeight-e.parentNode.clientHeight)*100;this.trigger("dropdown:scroll",{percentage:Math.round(i)})}}},refilter:function(t){t=t||this.state.dropdown.query||"",this.suggestedListItems=this.dropdown.filterListItems(t),this.dropdown.fill(),this.suggestedListItems.length||this.dropdown.hide(),this.trigger("dropdown:updated",this.DOM.dropdown)},getSuggestionDataByNode:function(t){for(var e,i=t&&t.getAttribute("value"),n=this.suggestedListItems.length;n--;){if(c(e=this.suggestedListItems[n])&&e.value==i)return e;if(e==i)return{value:e}}},getSuggestionNodeByValue:function(t){return this.dropdown.getAllSuggestionsRefs().find((function(e){return e.getAttribute("value")===t}))},getNextOrPrevOption:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.dropdown.getAllSuggestionsRefs(),n=i.findIndex((function(e){return e===t}));return e?i[n+1]:i[n-1]},highlightOption:function(t,e){var i,n=this.settings.classNames.dropdownItemActive;if(this.state.ddItemElm&&(this.state.ddItemElm.classList.remove(n),this.state.ddItemElm.removeAttribute("aria-selected")),!t)return this.state.ddItemData=null,this.state.ddItemElm=null,void this.input.autocomplete.suggest.call(this);i=this.dropdown.getSuggestionDataByNode(t),this.state.ddItemData=i,this.state.ddItemElm=t,t.classList.add(n),t.setAttribute("aria-selected",!0),e&&(t.parentNode.scrollTop=t.clientHeight+t.offsetTop-t.parentNode.clientHeight),this.settings.autoComplete&&(this.input.autocomplete.suggest.call(this,i),this.dropdown.position())}
46384,selectOption:function(t,e,i){var n=this,s=this.settings,a=s.dropdown.includeSelectedTags,o=s.dropdown,r=o.clearOnSelect,l=o.closeOnSelect;if(!t)return this.addTags(this.state.inputText,!0),void(l&&this.dropdown.hide());e=e||{};var d=t.getAttribute("value"),c="noMatch"==d,g="mix"==s.mode,h=this.suggestedListItems.find((function(t){var e;return(null!==(e=t.value)&&void 0!==e?e:t)==d}));if(this.trigger("dropdown:select",{data:h,elm:t,event:e}),h||c){if(this.state.editing){var p=this.normalizeTags([h])[0];h=s.transformTag.call(this,p)||p,this.onEditTagDone(null,u({__isValid:!0},h))}else this[g?"addMixTags":"addTags"]([h||this.input.raw.call(this)],r);(g||this.DOM.input.parentNode)&&(setTimeout((function(){n.DOM.input.focus(),n.toggleFocusClass(!0)})),l&&setTimeout(this.dropdown.hide.bind(this)),a?i&&i():(t.addEventListener("transitionend",(function(){n.dropdown.fillHeaderFooter(),setTimeout((function(){t.remove(),n.dropdown.refilter(),i&&i()}),100)}),{once:!0}),t.classList.add(this.settings.classNames.dropdownItemHidden)))}else l&&setTimeout(this.dropdown.hide.bind(this))},selectAll:function(t){this.suggestedListItems.length=0,this.dropdown.hide(),this.dropdown.filterListItems("");var e=this.dropdown.filterListItems("");return t||(e=this.state.dropdown.suggestions),this.addTags(e,!0),this},filterListItems:function(t,e){var i,n,s,a,o,r,l=function(){var t,l,d=void 0,u=void 0;t=m[T],n=(null!=(l=Object)&&"undefined"!=typeof Symbol&&l[Symbol.hasInstance]?l[Symbol.hasInstance](t):t instanceof l)?m[T]:{value:m[T]};var v,b=!Object.keys(n).some((function(t){return y.includes(t)}))?["value"]:y;g.fuzzySearch&&!e.exact?(a=b.reduce((function(t,e){return t+" "+(n[e]||"")}),"").toLowerCase().trim(),g.accentedSearch&&(a=h(a),r=h(r)),d=0==a.indexOf(r),u=a===r,v=a,s=r.toLowerCase().split(" ").every((function(t){return v.includes(t.toLowerCase())}))):(d=!0,s=b.some((function(t){var i=""+(n[t]||"");return g.accentedSearch&&(i=h(i),r=h(r)),g.caseSensitive||(i=i.toLowerCase()),u=i===r,e.exact?i===r:0==i.indexOf(r)}))),o=!g.includeSelectedTags&&i.isTagDuplicate(c(n)?n.value:n),s&&!o&&(u&&d?f.push(n):"startsWith"==g.sortby&&d?p.unshift(n):p.push(n))},d=this,u=this.settings,g=u.dropdown,p=(e=e||{},[]),f=[],m=u.whitelist,v=g.maxItems>=0?g.maxItems:1/0,b=g.includeSelectedTags,w="function"==typeof g.sortby,y=g.searchKeys,T=0;if(!(t="select"==u.mode&&this.value.length&&this.value[0][u.tagTextProp]==t?"":t)||!y.length){p=b?m:m.filter((function(t){return!d.isTagDuplicate(c(t)?t.value:t)}));var O=w?g.sortby(p,r):p.slice(0,v);return this.state.dropdown.suggestions=O,O}for(r=g.caseSensitive?""+t:(""+t).toLowerCase();T<m.length;T++)i=this,l();this.state.dropdown.suggestions=f.concat(p);O=w?g.sortby(f.concat(p),r):f.concat(p).slice(0,v);return this.state.dropdown.suggestions=O,O},getMappedValue:function(t){var e=this.settings.dropdown.mapValueTo;return e?"function"==typeof e?e(t):t[e]||t.value:t.value},createListHTML:function(t){var e=this;return u([],t).map((function(t,i){"string"!=typeof t&&"number"!=typeof t||(t={value:t});var n=e.dropdown.getMappedValue(t);return n="string"==typeof n&&e.settings.dropdown.escapeHTML?d(n):n,e.settings.templates.dropdownItem.apply(e,[I(S({},t),{mappedValue:n}),e])})).join("")}};function E(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function N(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function A(t){return function(t){if(Array.isArray(t))return E(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return E(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return E(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _(){for(var t in this.dropdown={},this._dropdown)this.dropdown[t]="function"==typeof this._dropdown[t]?this._dropdown[t].bind(this):this._dropdown[t];this.dropdown.refs(),this.DOM.dropdown.__tagify=this}var C,k,L=(C=function(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{},n=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(i).filter((function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable}
46384)))),n.forEach((function(e){N(t,e,i[e])}))}return t}({},M),k=null!=(k={refs:function(){this.DOM.dropdown=this.parseTemplate("dropdown",[this.settings]),this.DOM.dropdown.content=this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-wrapper']")},getHeaderRef:function(){return this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-header']")},getFooterRef:function(){return this.DOM.dropdown.querySelector("[data-selector='tagify-suggestions-footer']")},getAllSuggestionsRefs:function(){return A(this.DOM.dropdown.content.querySelectorAll(this.settings.classNames.dropdownItemSelector))},show:function(t){var e,i,n,a=this,o=this.settings,r="mix"==o.mode&&!o.enforceWhitelist,l=!o.whitelist||!o.whitelist.length,d="manual"==o.dropdown.position;if(t=void 0===t?this.state.inputText:t,!(l&&!r&&!o.templates.dropdownItemNoMatch||!1===o.dropdown.enabled||this.state.isLoading||this.settings.readonly)){if(clearTimeout(this.dropdownHide__bindEventsTimeout),this.suggestedListItems=this.dropdown.filterListItems(t),t&&!this.suggestedListItems.length&&(this.trigger("dropdown:noMatch",t),o.templates.dropdownItemNoMatch&&(n=o.templates.dropdownItemNoMatch.call(this,{value:t}))),!n){if(this.suggestedListItems.length)t&&r&&!this.state.editing.scope&&!s(this.suggestedListItems[0].value,t)&&this.suggestedListItems.unshift({value:t});else{if(!t||!r||this.state.editing.scope)return this.input.autocomplete.suggest.call(this),void this.dropdown.hide();this.suggestedListItems=[{value:t}]}i=""+(c(e=this.suggestedListItems[0])?e.value:e),o.autoComplete&&i&&0==i.indexOf(t)&&this.input.autocomplete.suggest.call(this,e)}this.dropdown.fill(n),o.dropdown.highlightFirst&&this.dropdown.highlightOption(this.DOM.dropdown.content.querySelector(o.classNames.dropdownItemSelector)),this.state.dropdown.visible||setTimeout(this.dropdown.events.binding.bind(this)),this.state.dropdown.visible=t||!0,this.state.dropdown.query=t,this.setStateSelection(),d||setTimeout((function(){a.dropdown.position(),a.dropdown.render()})),setTimeout((function(){a.trigger("dropdown:show",a.DOM.dropdown)}))}},hide:function(t){var e=this,i=this.DOM,n=i.scope,s=i.dropdown,a="manual"==this.settings.dropdown.position&&!t;if(s&&document.body.contains(s)&&!a)return window.removeEventListener("resize",this.dropdown.position),this.dropdown.events.binding.call(this,!1),n.setAttribute("aria-expanded",!1),s.parentNode.removeChild(s),setTimeout((function(){e.state.dropdown.visible=!1}),100),this.state.dropdown.query=this.state.ddItemData=this.state.ddItemElm=this.state.selection=null,this.state.tag&&this.state.tag.value.length&&(this.state.flaggedTags[this.state.tag.baseOffset]=this.state.tag),this.trigger("dropdown:hide",s),this},toggle:function(t){this.dropdown[this.state.dropdown.visible&&!t?"hide":"show"]()},getAppendTarget:function(){var t=this.settings.dropdown;return"function"==typeof t.appendTarget?t.appendTarget():t.appendTarget},render:function(){var t,e,i,n=this,s=(t=this.DOM.dropdown,(i=t.cloneNode(!0)).style.cssText="position:fixed; top:-9999px; opacity:0",document.body.appendChild(i),e=i.clientHeight,i.parentNode.removeChild(i),e),a=this.settings,o=this.dropdown.getAppendTarget();return!1===a.dropdown.enabled||(this.DOM.scope.setAttribute("aria-expanded",!0),document.body.contains(this.DOM.dropdown)||(this.DOM.dropdown.classList.add(a.classNames.dropdownInital),this.dropdown.position(s),o.appendChild(this.DOM.dropdown),setTimeout((function(){return n.DOM.dropdown.classList.remove(a.classNames.dropdownInital)})))),this},fill:function(t){t="string"==typeof t?t:this.dropdown.createListHTML(t||this.suggestedListItems);var e,i=this.settings.templates.dropdownContent.call(this,t);this.DOM.dropdown.content.innerHTML=(e=i)?e.replace(/\>[\r\n ]+\</g,"><").split(/>\s+</).join("><").trim():""},fillHeaderFooter:function(){var t=this.dropdown.filterListItems(this.state.dropdown.query),e=this.parseTemplate("dropdownHeader",[t]),i=this.parseTemplate("dropdownFooter",[t]),n=this.dropdown.getHeaderRef(),s=this.dropdown.getFooterRef();e&&(null==n||n.parentNode.replaceChild(e,n)),i&&(null==s||s.parentNode.replaceChild(i,s))},position:function(t){var e=this.settings.dropdown,i=this.dropdown.getAppendTarget();if("manual"!=e.position&&i){var n,s,a,o,r,l,d,c,u,g,h=this.DOM.dropdown,p=e.RTL,f=i===document.body,m=i===this.DOM.scope,v=f?window.pageYOffset:i.scrollTop,b=document.fullscreenElement||document.webkitFullscreenElement||document.documentElement,w=b.clientHeight,y=Math.max(b.clientWidth||0,window.innerWidth||0),T=y>480?e.position:"all",O=this.DOM["input"==T?"input":"scope"];if(t=t||h.clientHeight,this.state.dropdown.visible){if("text"==T?(a=(n=function(){var t=document.getSelection();if(t.rangeCount){var e,i,n=t.getRangeAt(0),s=n.startContainer,a=n.startOffset;if(a>0)return(i=document.createRange()).setStart(s,a-1),i.setEnd(s,a),{left:(e
46384=i.getBoundingClientRect()).right,top:e.top,bottom:e.bottom};if(s.getBoundingClientRect)return s.getBoundingClientRect()}return{left:-9999,top:-9999}}()).bottom,s=n.top,o=n.left,r="auto"):(l=function(t){var e=0,i=0;for(t=t.parentNode;t&&t!=b;)e+=t.offsetTop||0,i+=t.offsetLeft||0,t=t.parentNode;return{top:e,left:i}}(i),n=O.getBoundingClientRect(),s=m?-1:n.top-l.top,a=(m?n.height:n.bottom-l.top)-1,o=m?-1:n.left-l.left,r=n.width+"px"),!f){var D=function(){for(var t=0,i=e.appendTarget.parentNode;i;)t+=i.scrollTop||0,i=i.parentNode;return t}();s+=D,a+=D}var x;s=Math.floor(s),a=Math.ceil(a),c=y-o<120,u=((d=null!==(x=e.placeAbove)&&void 0!==x?x:w-n.bottom<t)?s:a)+v,g=o+(p&&n.width||0)+window.pageXOffset,g="text"==T&&c?"right: 0;":"left: ".concat(g,"px;"),h.style.cssText="".concat(g," top: ").concat(u,"px; min-width: ").concat(r,"; max-width: ").concat(r),h.setAttribute("placement",d?"top":"bottom"),h.setAttribute("position",T)}}}})?k:{},Object.getOwnPropertyDescriptors?Object.defineProperties(C,Object.getOwnPropertyDescriptors(k)):function(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}(Object(k)).forEach((function(t){Object.defineProperty(C,t,Object.getOwnPropertyDescriptor(k,t))})),C),P="@yaireo/tagify/",j={empty:"empty",exceed:"number of tags exceeded",pattern:"pattern mismatch",duplicate:"already exists",notAllowed:"not allowed"},V={wrapper:function(e,i){return'<tags class="'.concat(i.classNames.namespace," ").concat(i.mode?"".concat(i.classNames[i.mode+"Mode"]):""," ").concat(e.className,'"\n ').concat(i.readonly?"readonly":"","\n ").concat(i.disabled?"disabled":"","\n ").concat(i.required?"required":"","\n ").concat("select"===i.mode?"spellcheck='false'":"",'\n tabIndex="-1">\n ').concat(this.settings.templates.input.call(this),"\n ").concat(t,"\n </tags>")},input:function(){var e=this.settings,i=e.placeholder||t;return"<span ".concat(!e.readonly&&e.userInput?"contenteditable":"",' data-can-editable tabIndex="0" data-placeholder="').concat(i,'" aria-placeholder="').concat(e.placeholder||"",'"\n class="').concat(e.classNames.input,'"\n role="textbox"\n autocapitalize="false"\n autocorrect="off"\n aria-autocomplete="both"\n aria-multiline="').concat("mix"==e.mode,'"></span>')},tag:function(t,e){var i=e.settings;return'<tag title="'.concat(t.title||t.value,"\"\n contenteditable='false'\n tabIndex=\"").concat(i.a11y.focusableTags?0:-1,'"\n class="').concat(i.classNames.tag," ").concat(t.class||"",'"\n ').concat(this.getAttributes(t),">\n <x title='' tabIndex=\"").concat(i.a11y.focusableTags?0:-1,'" class="').concat(i.classNames.tagX,"\" role='button' aria-label='remove tag'></x>\n <div>\n <span ").concat("select"===i.mode&&i.userInput?"contenteditable='true'":"",' autocapitalize="false" autocorrect="off" spellcheck=\'false\' class="').concat(i.classNames.tagText,'">').concat(t[i.tagTextProp]||t.value,"</span>\n </div>\n </tag>")},dropdown:function(t){var e=t.dropdown,i="manual"==e.position;return'<div class="'.concat(i?"":t.classNames.dropdown," ").concat(e.classname,'" role="listbox" aria-labelledby="dropdown" dir="').concat(e.RTL?"rtl":"","\">\n <div data-selector='tagify-suggestions-wrapper' class=\"").concat(t.classNames.dropdownWrapper,'"></div>\n </div>')},dropdownContent:function(t){var e=this.settings.templates,i=this.state.dropdown.suggestions;return"\n ".concat(e.dropdownHeader.call(this,i),"\n ").concat(t,"\n ").concat(e.dropdownFooter.call(this,i),"\n ")},dropdownItem:function(t){return"<div ".concat(this.getAttributes(t),"\n class='").concat(this.settings.classNames.dropdownItem," ").concat(this.isTagDuplicate(t.value)?this.settings.classNames.dropdownItemSelected:""," ").concat(t.class||"",'\'\n tabindex="0"\n role="option">').concat(t.mappedValue||t.value,"</div>")},dropdownHeader:function(t){return"<header data-selector='tagify-suggestions-header' class=\"".concat(this.settings.classNames.dropdownHeader,'"></header>')},dropdownFooter:function(t){var e=t.length-this.settings.dropdown.maxItems;return e>0?"<footer data-selector='tagify-suggestions-footer' class=\"".concat(this.settings.classNames.dropdownFooter,'">\n ').concat(e," more items. Refine your search.\n </footer>"):""},dropdownItemNoMatch:null};function R(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function F(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}function H(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var n,s,a=[],o=!0,r=!1;try{for(i=i.call(t);!(o=(n=i.next()).done)&&(a.push(n.value),!e||a.length!==e);o=!0);}catch(t){r=!0,s=t}finally{try{o||null==i.return||i.return()}finally{if(r)throw s}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return R(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return R(t,e)}
46384(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function B(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function W(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function q(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}function U(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,n)}return i}(Object(e)).forEach((function(i){Object.defineProperty(t,i,Object.getOwnPropertyDescriptor(e,i))})),t}function K(t){return function(t){if(Array.isArray(t))return B(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return B(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return B(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var z={customBinding:function(){var t=this;this.customEventsList.forEach((function(e){t.on(e,t.settings.callbacks[e])}))},binding:function(){var t,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],i=this.settings,n=this.events.callbacks,s=e?"addEventListener":"removeEventListener";if(!(this.state.mainEvents&&e||i.disabled||i.readonly)){for(var a in this.state.mainEvents=e,e&&!this.listeners.main&&(this.events.bindGlobal.call(this),this.settings.isJQueryPlugin&&jQuery(this.DOM.originalInput).on("tagify.removeAllTags",this.removeAllTags.bind(this))),t=this.listeners.main=this.listeners.main||{keydown:["input",n.onKeydown.bind(this)],click:["scope",n.onClickScope.bind(this)],dblclick:"select"!=i.mode&&["scope",n.onDoubleClickScope.bind(this)],paste:["input",n.onPaste.bind(this)],drop:["input",n.onDrop.bind(this)],compositionstart:["input",n.onCompositionStart.bind(this)],compositionend:["input",n.onCompositionEnd.bind(this)]})t[a]&&this.DOM[t[a][0]][s](a,t[a][1]);var o=this.listeners.main.inputMutationObserver||new MutationObserver(n.onInputDOMChange.bind(this));o.disconnect(),"mix"==i.mode&&o.observe(this.DOM.input,{childList:!0}),this.events.bindOriginaInputListener.call(this),e&&(this.listeners.main=void 0)}},bindOriginaInputListener:function(t){var e=(t||0)+500;this.listeners.main&&(clearInterval(this.listeners.main.originalInputValueObserverInterval),this.listeners.main.originalInputValueObserverInterval=setInterval(this.events.callbacks.observeOriginalInputValue.bind(this),e))},bindGlobal:function(t){var e,i=this.events.callbacks,n=t?"removeEventListener":"addEventListener";if(this.listeners&&(t||!this.listeners.global)){this.listeners.global=this.listeners.global||[{type:this.isIE?"keydown":"input",target:this.DOM.input,cb:i[this.isIE?"onInputIE":"onInput"].bind(this)},{type:"keydown",target:window,cb:i.onWindowKeyDown.bind(this)},{type:"focusin",target:this.DOM.scope,cb:i.onFocusBlur.bind(this)},{type:"focusout",target:this.DOM.scope,cb:i.onFocusBlur.bind(this)},{type:"click",target:document,cb:i.onClickAnywhere.bind(this),useCapture:!0}];var s=!0,a=!1,o=void 0;try{for(var r,l=this.listeners.global[Symbol.iterator]();!(s=(r=l.next()).done);s=!0)(e=r.value).target[n](e.type,e.cb,!!e.useCapture)}catch(t){a=!0,o=t}finally{try{s||null==l.return||l.return()}finally{if(a)throw o}}t&&(this.listeners.global=void 0)}},unbindGlobal:function(){this.events.bindGlobal.call(this,!0)},callbacks:{onFocusBlur:function(t){var e,i,n=this.settings,s=v.call(this,t.relatedTarget),a=m.call(this,t.target),o=t.target.classList.contains(n.classNames.tagX),r="focusin"==t.type,l="focusout"==t.type;o&&"mix"!=n.mode&&n.focusInputOnRemove&&this.DOM.input.focus(),s&&r&&!a&&!o&&this.toggleFocusClass(this.state.hasFocus=+new Date);var d=t.target?this.trim(this.DOM.input.textContent):"",c=null===(i=this.value)||void 0===i||null===(e=i[0])||void 0===e?void 0:e[n.tagTextProp],u=n.dropdown.enabled>=0,g={relatedTarget:t.relatedTarget},h=this.state.actions.selectOption&&(u||!n.dropdown.closeOnSelect),p=this.state.actions.addNew&&u;if(l){if(t.relatedTarget===this.DOM.scope)return this.dropdown.hide(),void this.DOM.input.focus();this.postUpdate(),n.onChangeAfterBlur&&this.triggerChangeEvent()}if(!(h||p||o))if(this.state.hasFocus=!(!r&&!s)&&+new Date,this.toggleFocusClass(this.state.hasFocus),"mix"!=n.mode){if(r){if(!n.focusable)return;
46384var f=0===n.dropdown.enabled&&!this.state.dropdown.visible,b=this.DOM.scope.querySelector(this.settings.classNames.tagTextSelector);return this.trigger("focus",g),void(f&&!a&&(this.dropdown.show(this.value.length?"":void 0),"select"===n.mode&&this.setRangeAtStartEnd(!1,b)))}if(l){if(this.trigger("blur",g),this.loading(!1),"select"==n.mode){if(this.value.length){var w=this.getTagElms()[0];d=this.trim(w.textContent)}c===d&&(d="")}d&&!this.state.actions.selectOption&&n.addTagOnBlur&&n.addTagOn.includes("blur")&&this.addTags(d,!0)}s||(this.DOM.input.removeAttribute("style"),this.dropdown.hide())}else r?this.trigger("focus",g):l&&(this.trigger("blur",g),this.loading(!1),this.dropdown.hide(),this.state.dropdown.visible=void 0,this.setStateSelection())},onCompositionStart:function(t){this.state.composing=!0},onCompositionEnd:function(t){this.state.composing=!1},onWindowKeyDown:function(t){var e,i=this.settings,n=document.activeElement,s=v.call(this,n)&&this.DOM.scope.contains(n),a=n===this.DOM.input,o=s&&n.hasAttribute("readonly"),r=this.DOM.scope.querySelector(this.settings.classNames.tagTextSelector),l=this.state.dropdown.visible;if(("Tab"===t.key&&l||this.state.hasFocus||s&&!o)&&!a){e=n.nextElementSibling;var d=t.target.classList.contains(i.classNames.tagX);switch(t.key){case"Backspace":i.readonly||this.state.editing||(this.removeTags(n),(e||this.DOM.input).focus());break;case"Enter":if(d)return void this.removeTags(t.target.parentNode);i.a11y.focusableTags&&m.call(this,n)&&setTimeout(this.editTag.bind(this),0,n);break;case"ArrowDown":this.state.dropdown.visible||"mix"==i.mode||this.dropdown.show();break;case"Tab":null==r||r.focus()}}},onKeydown:function(t){var e=this,i=this.settings;if(!this.state.composing&&i.userInput){"select"==i.mode&&i.enforceWhitelist&&this.value.length&&"Tab"!=t.key&&t.preventDefault();var n=this.trim(t.target.textContent);this.trigger("keydown",{event:t}),i.hooks.beforeKeyDown(t,{tagify:this}).then((function(s){if("mix"==i.mode){switch(t.key){case"Left":case"ArrowLeft":e.state.actions.ArrowLeft=!0;break;case"Delete":case"Backspace":if(e.state.editing)return;var a=document.getSelection(),o="Delete"==t.key&&a.anchorOffset==(a.anchorNode.length||0),r=a.anchorNode.previousSibling,d=1==a.anchorNode.nodeType||!a.anchorOffset&&r&&1==r.nodeType&&a.anchorNode.previousSibling;!function(t){var e=document.createElement("div");t.replace(/\&#?[0-9a-z]+;/gi,(function(t){return e.innerHTML=t,e.innerText}))}(e.DOM.input.innerHTML);var c,u,g,h=e.getTagElms(),f=1===a.anchorNode.length&&a.anchorNode.nodeValue==String.fromCharCode(8203);if("edit"==i.backspace&&d)return c=1==a.anchorNode.nodeType?null:a.anchorNode.previousElementSibling,setTimeout(e.editTag.bind(e),0,c),void t.preventDefault();if(p()&&q(d,Element))return g=l(d),d.hasAttribute("readonly")||d.remove(),e.DOM.input.focus(),void setTimeout((function(){T(g),e.DOM.input.click()}));if("BR"==a.anchorNode.nodeName)return;if((o||d)&&1==a.anchorNode.nodeType?u=0==a.anchorOffset?o?h[0]:null:h[Math.min(h.length,a.anchorOffset)-1]:o?u=a.anchorNode.nextElementSibling:q(d,Element)&&(u=d),3==a.anchorNode.nodeType&&!a.anchorNode.nodeValue&&a.anchorNode.previousElementSibling&&t.preventDefault(),(d||o)&&!i.backspace)return void t.preventDefault();if("Range"!=a.type&&!a.anchorOffset&&a.anchorNode==e.DOM.input&&"Delete"!=t.key)return void t.preventDefault();if("Range"!=a.type&&u&&u.hasAttribute("readonly"))return void T(l(u));"Delete"==t.key&&f&&y(a.anchorNode.nextSibling)&&e.removeTags(a.anchorNode.nextSibling);break;case"Enter":t.preventDefault();var m=window.getSelection();m.getRangeAt(0).insertNode(document.createElement("br")),m.collapseToEnd()}return!0}var v="manual"==i.dropdown.position;switch(t.key){case"Backspace":"select"==i.mode&&i.enforceWhitelist&&e.value.length?e.removeTags():e.state.dropdown.visible&&"manual"!=i.dropdown.position||""!=t.target.textContent&&8203!=n.charCodeAt(0)||(!0===i.backspace?e.removeTags():"edit"==i.backspace&&setTimeout(e.editTag.bind(e),0));break;case"Esc":case"Escape":if(e.state.dropdown.visible)return;t.target.blur();break;case"Down":case"ArrowDown":e.state.dropdown.visible||e.dropdown.show();break;case"ArrowRight":var b=e.state.inputSuggestion||e.state.ddItemData;if(b&&i.autoComplete.rightKey)return void e.addTags([b],!0);break;case"Tab":return!0;case"Enter":if(e.state.dropdown.visible&&!v)return;t.preventDefault();var w=e.state.autoCompleteData||n;setTimeout((function(){e.state.dropdown.visible&&!v||e.state.actions.selectOption||!i.addTagOn.includes(t.key.toLowerCase())||(e.addTags([w],!0),e.state.autoCompleteData=null)}))}})).catch((function(t){return t}))}},onInput:function(t){this.postUpdate();var e=this.settings;if("mix"==e.mode)return this.events.callbacks.onMixTagsInput.call(this,t);var i=this.input.normalize.call(this,void 0,{trim:!1}),n=i.length>=e.dropdown.enabled,s={value:i,inputElm:this.DOM.input},a=this.validateTag({value:i});"select"==e.mode&&this.toggleScopeValidation(a),s.isValid=a,this.state.inputText!=i&&(this.input.set.call(this,i,!1),-1!=i.search(e.delimiters)?this.addTags(i)&&this.input.set.call(this):e.dropdown.enabled>=0&&this.dropdown[n?"show":"hide"](i),this.trigger("input",s))},onMixTagsInput:function(t){var e,i,n,s,a,o,r,l,d=this,c=this.settings,g=this.value.length,h=this.getTagElms(),f=document.createDocumentFragment(),m=window.getSelection().getRangeAt(0),v=[].map.call(h,(function(t){return y(t).value}));if("deleteContentBackward"==t.inputType&&p()&&this.events.callbacks.onKeydown.call(this,{target:t.target,key:"Backspace"}
46384),O(this.getTagElms()),this.value.slice().forEach((function(t){t.readonly&&!v.includes(t.value)&&f.appendChild(d.createTagElem(t))})),f.childNodes.length&&(m.insertNode(f),this.setRangeAtStartEnd(!1,f.lastChild)),h.length!=g)return this.value=[].map.call(this.getTagElms(),(function(t){return y(t)})),void this.update({withoutChangeEvent:!0});if(this.hasMaxTags())return!0;if(window.getSelection&&(o=window.getSelection()).rangeCount>0&&3==o.anchorNode.nodeType){if((m=o.getRangeAt(0).cloneRange()).collapse(!0),m.setStart(o.focusNode,0),n=(e=m.toString().slice(0,m.endOffset)).split(c.pattern).length-1,(i=e.match(c.pattern))&&(s=e.slice(e.lastIndexOf(i[i.length-1]))),s){if(this.state.actions.ArrowLeft=!1,this.state.tag={prefix:s.match(c.pattern)[0],value:s.replace(c.pattern,"")},this.state.tag.baseOffset=o.baseOffset-this.state.tag.value.length,l=this.state.tag.value.match(c.delimiters))return this.state.tag.value=this.state.tag.value.replace(c.delimiters,""),this.state.tag.delimiters=l[0],this.addTags(this.state.tag.value,c.dropdown.clearOnSelect),void this.dropdown.hide();a=this.state.tag.value.length>=c.dropdown.enabled;try{r=(r=this.state.flaggedTags[this.state.tag.baseOffset]).prefix==this.state.tag.prefix&&r.value[0]==this.state.tag.value[0],this.state.flaggedTags[this.state.tag.baseOffset]&&!this.state.tag.value&&delete this.state.flaggedTags[this.state.tag.baseOffset]}catch(t){}(r||n<this.state.mixMode.matchedPatternCount)&&(a=!1)}else this.state.flaggedTags={};this.state.mixMode.matchedPatternCount=n}setTimeout((function(){d.update({withoutChangeEvent:!0}),d.trigger("input",u({},d.state.tag,{textContent:d.DOM.input.textContent})),d.state.tag&&d.dropdown[a?"show":"hide"](d.state.tag.value)}),10)},onInputIE:function(t){var e=this;setTimeout((function(){e.events.callbacks.onInput.call(e,t)}))},observeOriginalInputValue:function(){this.DOM.originalInput.parentNode||this.destroy(),this.DOM.originalInput.value!=this.DOM.originalInput.tagifyValue&&this.loadOriginalValues()},onClickAnywhere:function(t){if(t.target!=this.DOM.scope&&!this.DOM.scope.contains(t.target)){this.toggleFocusClass(!1),this.state.hasFocus=!1;var e=t.target.closest(this.settings.classNames.dropdownSelector);(null==e?void 0:e.__tagify)!=this&&this.dropdown.hide()}},onClickScope:function(t){var e=this.settings,i=t.target.closest("."+e.classNames.tag);t.target,this.DOM.scope;var n=+new Date-this.state.hasFocus;if(!t.target.classList.contains(e.classNames.tagX))return i&&!this.state.editing?(this.trigger("click",{tag:i,index:this.getNodeIndex(i),data:y(i),event:t}),void(1!==e.editTags&&1!==e.editTags.clicks&&"select"!=e.mode||this.events.callbacks.onDoubleClickScope.call(this,t))):void(t.target==this.DOM.input&&("mix"==e.mode&&this.fixFirefoxLastTagNoCaret(),n>500||!e.focusable)?this.state.dropdown.visible?this.dropdown.hide():0===e.dropdown.enabled&&"mix"!=e.mode&&this.dropdown.show(this.value.length?"":void 0):"select"!=e.mode||0!==e.dropdown.enabled||this.state.dropdown.visible||(this.events.callbacks.onDoubleClickScope.call(this,U(function(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{},n=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(i).filter((function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable})))),n.forEach((function(e){W(t,e,i[e])}))}return t}({},t),{target:this.getTagElms()[0]})),!e.userInput&&this.dropdown.show()));this.removeTags(t.target.parentNode)},onPaste:function(t){var e=this;t.preventDefault();var i,n,s,a=this.settings;if(!a.userInput)return!1;a.readonly||(n=t.clipboardData||window.clipboardData,s=n.getData("Text"),a.hooks.beforePaste(t,{tagify:this,pastedText:s,clipboardData:n}).then((function(a){void 0===a&&(a=s),a&&(e.injectAtCaret(a,window.getSelection().getRangeAt(0)),"mix"==e.settings.mode?e.events.callbacks.onMixTagsInput.call(e,t):e.settings.pasteAsTags?i=e.addTags(e.state.inputText+a,!0):(e.state.inputText=a,e.dropdown.show(a))),e.trigger("paste",{event:t,pastedText:s,clipboardData:n,tagsElems:i})})).catch((function(t){return t})))},onDrop:function(t){t.preventDefault()},onEditTagInput:function(t,e){var i,n=t.closest("."+this.settings.classNames.tag),s=this.getNodeIndex(n),a=y(n),o=this.input.normalize.call(this,t),r=(W(i={},this.settings.tagTextProp,o),W(i,"__tagId",a.__tagId),i),l=this.validateTag(r);this.editTagChangeDetected(u(a,r))||!0!==t.originalIsValid||(l=!0),n.classList.toggle(this.settings.classNames.tagInvalid,!0!==l),a.__isValid=l,n.title=!0===l?a.title||a.value:l,o.length>=this.settings.dropdown.enabled&&(this.state.editing&&(this.state.editing.value=o),this.dropdown.show(o)),this.trigger("edit:input",{tag:n,index:s,data:u({},this.value[s],{newValue:o}),event:e})},onEditTagPaste:function(t,e){var i=(e.clipboardData||window.clipboardData).getData("Text");e.preventDefault();var n=w(i);this.setRangeAtStartEnd(!1,n)},onEditTagClick:function(t,e){this.events.callbacks.onClickScope.call(this,e)},onEditTagFocus:function(t){this.state.editing={scope:t,input:t.querySelector("[contenteditable]")}},onEditTagBlur:function(t,e){var i=m.call(this,e.relatedTarget);if("select"==this.settings.mode&&i&&e.relatedTarget.contains(e.target))this.dropdown.hide();else if(this.state.editing&&(this.state.hasFocus||this.toggleFocusClass(),this.DOM.scope.contains(document.activeElement)||this.trigger("blur",{}),this.DOM.scope.contains(t))){var n,s,a,o=this.settings,r=t.closest("."+o.classNames.tag),l=y(r),d=this.input.normalize.call(this,t),c=(W(n={},o.tagTextProp,d),W(n,"__tagId",l.__tagId),n),g=l.__originalData,h=this.editTagChangeDetected(u(l,c)),p=this.validateTag(c);if(d)if(h){var f;if(s=this.hasMaxTags(),a=u({},g,(W(f={},o.tagTextProp,this.trim(d)),W(f,"__isValid",p),f)),o.transformTag.call(this,a,g),!0!==(p=(!s||!0===g.__isValid)&&this.validateTag(a))){if(this.trigger("invalid",{data:a,tag:r,message:p}),o.editTags.keepInvalid)return;o.keepInvalidTags?a.__isValid=p:a=g}else o.keepInvalidTags&&(delete a.title,delete a["aria-invalid"],delete a.class);this.onEditTagDone(r,a)}else this.onEditTagDone(r,g);else this.onEditTagDone(r)}}
46384,onEditTagkeydown:function(t,e){if(!this.state.composing)switch(this.trigger("edit:keydown",{event:t}),t.key){case"Esc":case"Escape":this.state.editing=!1,!!e.__tagifyTagData.__originalData.value?e.parentNode.replaceChild(e.__tagifyTagData.__originalHTML,e):e.remove();break;case"Enter":case"Tab":t.preventDefault();setTimeout((function(){return t.target.blur()}),0)}},onDoubleClickScope:function(t){var e=t.target.closest("."+this.settings.classNames.tag);if(e){var i,n,s=y(e),a=this.settings;!1!==(null==s?void 0:s.editable)&&(i=e.classList.contains(this.settings.classNames.tagEditing),n=e.hasAttribute("readonly"),a.readonly||i||n||!this.settings.editTags||!a.userInput||(this.events.callbacks.onEditTagFocus.call(this,e),this.editTag(e)),this.toggleFocusClass(!0),"select"!=a.mode&&this.trigger("dblclick",{tag:e,index:this.getNodeIndex(e),data:y(e)}))}},onInputDOMChange:function(t){var e=this;t.forEach((function(t){t.addedNodes.forEach((function(t){if("<div><br></div>"==t.outerHTML)t.replaceWith(document.createElement("br"));else if(1==t.nodeType&&t.querySelector(e.settings.classNames.tagSelector)){var i,n=document.createTextNode("");3==t.childNodes[0].nodeType&&"BR"!=t.previousSibling.nodeName&&(n=document.createTextNode("\n")),(i=t).replaceWith.apply(i,K([n].concat(K(K(t.childNodes).slice(0,-1))))),T(n)}else if(m.call(e,t)){var s;if(3!=(null===(s=t.previousSibling)||void 0===s?void 0:s.nodeType)||t.previousSibling.textContent||t.previousSibling.remove(),t.previousSibling&&"BR"==t.previousSibling.nodeName){t.previousSibling.replaceWith("\nâ");for(var a=t.nextSibling,o="";a;)o+=a.textContent,a=a.nextSibling;o.trim()&&T(t.previousSibling)}else t.previousSibling&&!y(t.previousSibling)||t.before("â")}})),t.removedNodes.forEach((function(t){t&&"BR"==t.nodeName&&m.call(e,i)&&(e.removeTags(i),e.fixFirefoxLastTagNoCaret())}))}));var i=this.DOM.input.lastChild;i&&""==i.nodeValue&&i.remove(),i&&"BR"==i.nodeName||this.DOM.input.appendChild(document.createElement("br"))}}};function X(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function J(t,e,i){return e in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function G(t,e){return null!=e&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](t):t instanceof e}function $(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{},n=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(i).filter((function(t){return Object.getOwnPropertyDescriptor(i,t).enumerable})))),n.forEach((function(e){J(t,e,i[e])}))}return t}function Q(t){return function(t){if(Array.isArray(t))return X(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return X(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);"Object"===i&&t.constructor&&(i=t.constructor.name);if("Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return X(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Y(t,e){if(!t){n.warn("input element not found",t);var i=new Proxy(this,{get:function(){return function(){return i}}});return i}if(t.__tagify)return n.warn("input element is already Tagified - Same instance is returned.",t),t.__tagify;var s;u(this,function(t){var e=document.createTextNode(""),i={};function s(t,i,n){n&&i.split(/\s+/g).forEach((function(i){return e[t+"EventListener"].call(e,i,n)}))}return{removeAllCustomListeners:function(){Object.entries(i).forEach((function(t){var e=H(t,2),i=e[0];
46384e[1].forEach((function(t){return s("remove",i,t)}))})),i={}},off:function(t,e){return t&&(e?s("remove",t,e):t.split(/\s+/g).forEach((function(t){var e;null===(e=i[t])||void 0===e||e.forEach((function(e){return s("remove",t,e)})),delete i[t]}))),this},on:function(t,e){return e&&"function"==typeof e&&(t.split(/\s+/g).forEach((function(t){Array.isArray(i[t])?i[t].push(e):i[t]=[e]})),s("add",t,e)),this},trigger:function(i,s,a){var o;if(a=a||{cloneData:!0},i)if(t.settings.isJQueryPlugin)"remove"==i&&(i="removeTag"),jQuery(t.DOM.originalInput).triggerHandler(i,[s]);else{try{var r="object"==typeof s?s:{value:s};if((r=a.cloneData?u({},r):r).tagify=this,s.event&&(r.event=this.cloneEvent(s.event)),F(s,Object))for(var l in s)F(s[l],HTMLElement)&&(r[l]=s[l]);o=new CustomEvent(i,{detail:r})}catch(t){n.warn(t)}e.dispatchEvent(o)}}}}(this)),this.isFirefox=/firefox|fxios/i.test(navigator.userAgent)&&!/seamonkey/i.test(navigator.userAgent),this.isIE=window.document.documentMode,e=e||{},this.getPersistedData=(s=e.id,function(t){var e;if(s){var i,n="/"+t;if(1===(null===(e=localStorage)||void 0===e?void 0:e.getItem(P+s+"/v")))try{i=JSON.parse(localStorage[P+s+n])}catch(t){}return i}}),this.setPersistedData=function(t){var e;return t?(null===(e=localStorage)||void 0===e||e.setItem(P+t+"/v",1),function(e,i){var n,s="/"+i,a=JSON.stringify(e);e&&i&&(null===(n=localStorage)||void 0===n||n.setItem(P+t+s,a),dispatchEvent(new Event("storage")))}):function(){}}(e.id),this.clearPersistedData=function(t){return function(e){var i=P+"/"+t+"/";if(e)localStorage.removeItem(i+e);else for(var n in localStorage)n.includes(i)&&localStorage.removeItem(n)}}(e.id),this.applySettings(t,e),this.state={inputText:"",editing:!1,composing:!1,actions:{},mixMode:{},dropdown:{},flaggedTags:{}},this.value=[],this.listeners={},this.DOM={},this.build(t),_.call(this),this.getCSSVars(),this.loadOriginalValues(),this.events.customBinding.call(this),this.events.binding.call(this),t.autofocus&&this.DOM.input.focus(),t.__tagify=this}return Y.prototype={_dropdown:L,placeCaretAfterNode:T,getSetTagData:y,helpers:{sameStr:s,removeCollectionProp:a,omit:o,isObject:c,parseHTML:r,escapeHTML:d,extend:u,concatWithoutDups:g,getUID:f,isNodeTag:m},customEventsList:["change","add","remove","invalid","input","paste","click","keydown","focus","blur","edit:input","edit:beforeUpdate","edit:updated","edit:start","edit:keydown","dropdown:show","dropdown:hide","dropdown:select","dropdown:updated","dropdown:noMatch","dropdown:scroll"],dataProps:["__isValid","__removed","__originalData","__originalHTML","__tagId"],trim:function(t){return this.settings.trim&&t&&"string"==typeof t?t.trim():t},parseHTML:r,templates:V,parseTemplate:function(t,e){return r((t=this.settings.templates[t]||t).apply(this,e))},set whitelist(t){var e=t&&Array.isArray(t);this.settings.whitelist=e?t:[],this.setPersistedData(e?t:[],"whitelist")},get whitelist(){return this.settings.whitelist},set userInput(t){this.settings.userInput=!!t,this.setContentEditable(!!t)},get userInput(){return this.settings.userInput},generateClassSelectors:function(t){var e=function(e){var i=e;Object.defineProperty(t,i+"Selector",{get:function(){return"."+this[i].split(" ")[0]}})};for(var i in t)e(i)},applySettings:function(t,e){var i,n;D.templates=this.templates;var s=u({},D,"mix"==e.mode?{dropdown:{position:"text"}}:{}),a=this.settings=u({},s,e);if(a.disabled=t.hasAttribute("disabled"),a.readonly=a.readonly||t.hasAttribute("readonly"),a.placeholder=d(t.getAttribute("placeholder")||a.placeholder||""),a.required=t.hasAttribute("required"),this.generateClassSelectors(a.classNames),this.isIE&&(a.autoComplete=!1),["whitelist","blacklist"].forEach((function(e){var i=t.getAttribute("data-"+e);i&&G(i=i.split(a.delimiters),Array)&&(a[e]=i)})),"autoComplete"in e&&!c(e.autoComplete)&&(a.autoComplete=D.autoComplete,a.autoComplete.enabled=e.autoComplete),"mix"==a.mode&&(a.pattern=a.pattern||/@/,a.autoComplete.rightKey=!0,a.delimiters=e.delimiters||null,a.tagTextProp&&!a.dropdown.searchKeys.includes(a.tagTextProp)&&a.dropdown.searchKeys.push(a.tagTextProp)),t.pattern)try{a.pattern=new RegExp(t.pattern)}catch(t){}if(a.delimiters){a._delimiters=a.delimiters;try{a.delimiters=new RegExp(this.settings.delimiters,"g")}catch(t){}}(a.disabled||a.readonly)&&(a.userInput=!1),this.TEXTS=$({},j,a.texts||{}),"select"==a.mode&&(a.dropdown.includeSelectedTags=!0),("select"!=a.mode||(null===(i=e.dropdown)||void 0===i?void 0:i.enabled))&&a.userInput||(a.dropdown.enabled=0),a.disabled&&(a.dropdown.enabled=!1),a.dropdown.appendTarget=(null===(n=e.dropdown)||void 0===n?void 0:n.appendTarget)||document.body,void 0===a.dropdown.includeSelectedTags&&(a.dropdown.includeSelectedTags=a.duplicates);var o=this.getPersistedData("whitelist");Array.isArray(o)&&(this.whitelist=Array.isArray(a.whitelist)?g(a.whitelist,o):o)},getAttributes:function(t){var e,i=this.getCustomAttributes(t),n="";for(e in i)n+=" "+e+(void 0!==t[e]?'="'.concat(i[e],'"'):"");return n},getCustomAttributes:function(t){if(!c(t))return"";var e,i={};for(e in t)"__"!=e.slice(0,2)&&"class"!=e&&t.hasOwnProperty(e)&&void 0!==t[e]&&(i[e]=d(t[e]));return i},setStateSelection:function(){var t=window.getSelection(),e={anchorOffset:t.anchorOffset,anchorNode:t.anchorNode,range:t.getRangeAt&&t.rangeCount&&t.getRangeAt(0)};return this.state.selection=e,e},getCSSVars:function(){var t,e,i,n=getComputedStyle(this.DOM.scope,null);this.CSSVars={tagHideTransition:(t=function(t){if(!t)return{};var e=(t=t.trim().split(" ")[0]).split(/\d+/g).filter((function(t){return t})).pop().trim();return{value:+t.split(e).filter((function(t){return t}))[0].trim(),unit:e}}((i="tag-hide-transition",n.getPropertyValue("--"+i))),e=t.value,"s"==t.unit?1e3*e:e)}},build:function(t){var e=this.DOM,i=t.closest("label");this.settings.mixMode.integrated?(e.originalInput=null,e.scope=t,e.input=t):(e.originalInput=t,e.originalInput_tabIndex=t.tabIndex,e.scope=this.parseTemplate("wrapper",[t,this.settings]),e.input=e.scope.querySelector(this.settings.classNames.inputSelector),t.parentNode.insertBefore(e.scope,t),t.tabIndex=-1),i&&i.setAttribute("for","")},destroy:function(){var t,e,i;this.events.unbindGlobal.call(this),null===(t=this.DOM.scope.parentNode)||void 0===t||t.removeChild(this.DOM.scope),this.DOM.originalInput.tabIndex=this.DOM.originalInput_tabIndex,delete this.DOM.originalInput.__tagify,this.dropdown.hide(!0),this.removeAllCustomListeners(),clearTimeout(this.dropdownHide__bindEventsTimeout),clearInterval(null===(i=this.listeners)||void 0===i||null===(e=i.main)||void 0===e?void 0:e.originalInputValueObserverInterval)},loadOriginalValues:function(t){var e,i=this.settings;if(this.state.blockChangeEvent=!0,void 0===t){var n=this.getPersistedData("value");t=n&&!this.DOM.originalInput.value?n:i.mixMode.integrated?this.DOM.input.textContent:this.DOM.originalInput.value}if(this.removeAllTags(),t)if("mix"==i.mode)this.parseMixTags(t),(e=this.DOM.input.last
46384Child)&&"BR"==e.tagName||this.DOM.input.insertAdjacentHTML("beforeend","<br>");else{try{G(JSON.parse(t),Array)&&(t=JSON.parse(t))}catch(t){}this.addTags(t,!0).forEach((function(t){return t&&t.classList.add(i.classNames.tagNoAnimation)}))}else this.postUpdate();this.state.lastOriginalValueReported=i.mixMode.integrated?"":this.DOM.originalInput.value},cloneEvent:function(t){var e={};for(var i in t)"path"!=i&&(e[i]=t[i]);return e},loading:function(t){return this.state.isLoading=t,this.DOM.scope.classList[t?"add":"remove"](this.settings.classNames.scopeLoading),this},tagLoading:function(t,e){return t&&t.classList[e?"add":"remove"](this.settings.classNames.tagLoading),this},toggleClass:function(t,e){"string"==typeof t&&this.DOM.scope.classList.toggle(t,e)},toggleScopeValidation:function(t){var e=!0===t||void 0===t;!this.settings.required&&t&&t===this.TEXTS.empty&&(e=!0),this.toggleClass(this.settings.classNames.tagInvalid,!e),this.DOM.scope.title=e?"":t},toggleFocusClass:function(t){this.toggleClass(this.settings.classNames.focus,!!t)},setPlaceholder:function(t){var e=this;["data","aria"].forEach((function(i){return e.DOM.input.setAttribute("".concat(i,"-placeholder"),t)}))},triggerChangeEvent:function(){if(!this.settings.mixMode.integrated){var t=this.DOM.originalInput,e=this.state.lastOriginalValueReported!==t.value,i=new CustomEvent("change",{bubbles:!0});e&&(this.state.lastOriginalValueReported=t.value,i.simulated=!0,t._valueTracker&&t._valueTracker.setValue(Math.random()),t.dispatchEvent(i),this.trigger("change",this.state.lastOriginalValueReported),t.value=this.state.lastOriginalValueReported)}},events:z,fixFirefoxLastTagNoCaret:function(){},setRangeAtStartEnd:function(t,e){if(e){t="number"==typeof t?t:!!t,e=e.lastChild||e;var i=document.getSelection();if(G(i.focusNode,Element)&&!this.DOM.input.contains(i.focusNode))return!0;try{i.rangeCount>=1&&["Start","End"].forEach((function(n){return i.getRangeAt(0)["set"+n](e,t||e.length)}))}catch(t){console.warn(t)}}},insertAfterTag:function(t,e){if(e=e||this.settings.mixMode.insertAfterTag,t&&t.parentNode&&e)return e="string"==typeof e?document.createTextNode(e):e,t.parentNode.insertBefore(e,t.nextSibling),e},editTagChangeDetected:function(t){var e=t.__originalData;for(var i in e)if(!this.dataProps.includes(i)&&t[i]!=e[i])return!0;return!1},getTagTextNode:function(t){return t.querySelector(this.settings.classNames.tagTextSelector)},setTagTextNode:function(t,e){this.getTagTextNode(t).innerHTML=d(e)},editTag:function(t,e){var i=this;t=t||this.getLastTag(),e=e||{};var s=this.settings,a=this.getTagTextNode(t),o=this.getNodeIndex(t),r=y(t),l=this.events.callbacks,d=!0,c="select"==s.mode;if(!c&&this.dropdown.hide(),a){if(!G(r,Object)||!("editable"in r)||r.editable)return r=y(t,{__originalData:u({},r),__originalHTML:t.cloneNode(!0)}),y(r.__originalHTML,r.__originalData),a.setAttribute("contenteditable",!0),t.classList.add(s.classNames.tagEditing),this.events.callbacks.onEditTagFocus.call(this,t),a.addEventListener("click",l.onEditTagClick.bind(this,t)),a.addEventListener("blur",l.onEditTagBlur.bind(this,this.getTagTextNode(t))),a.addEventListener("input",l.onEditTagInput.bind(this,a)),a.addEventListener("paste",l.onEditTagPaste.bind(this,a)),a.addEventListener("keydown",(function(e){return l.onEditTagkeydown.call(i,e,t)})),a.addEventListener("compositionstart",l.onCompositionStart.bind(this)),a.addEventListener("compositionend",l.onCompositionEnd.bind(this)),e.skipValidation||(d=this.editTagToggleValidity(t)),a.originalIsValid=d,this.trigger("edit:start",{tag:t,index:o,data:r,isValid:d}),a.focus(),!c&&this.setRangeAtStartEnd(!1,a),0===s.dropdown.enabled&&!c&&this.dropdown.show(),this.state.hasFocus=!0,this}else n.warn("Cannot find element in Tag template: .",s.classNames.tagTextSelector)},editTagToggleValidity:function(t,e){var i;if(e=e||y(t))return(i=!("__isValid"in e)||!0===e.__isValid)||this.removeTagsFromValue(t),this.update(),t.classList.toggle(this.settings.classNames.tagNotAllowed,!i),e.__isValid=i,e.__isValid;n.warn("tag has no data: ",t,e)},onEditTagDone:function(t,e){t=t||this.state.editing.scope,e=e||{};var i,n,s=this.settings,a={tag:t,index:this.getNodeIndex(t),previousData:y(t),data:e};this.trigger("edit:beforeUpdate",a,{cloneData:!1}),this.state.editing=!1,delete e.__originalData,delete e.__originalHTML,t&&t.parentNode&&((void 0!==(n=e[s.tagTextProp])?null===(i=(n+="").trim)||void 0===i?void 0:i.call(n):s.tagTextProp in e?void 0:e.value)?(t=this.replaceTag(t,e),this.editTagToggleValidity(t,e),s.a11y.focusableTags?t.focus():"select"!=s.mode&&T(t)):this.removeTags(t)),this.trigger("edit:updated",a),s.dropdown.closeOnSelect&&this.dropdown.hide(),this.settings.keepInvalidTags&&this.reCheckInvalidTags()},replaceTag:function(t,e){e&&""!==e.value&&void 0!==e.value||(e=t.__tagifyTagData),e.__isValid&&1!=e.__isValid&&u(e,this.getInvalidTagAttrs(e,e.__isValid));var i=this.createTagElem(e);
46384return t.parentNode.replaceChild(i,t),this.updateValueByDOMTags(),i},updateValueByDOMTags:function(){var t=this;this.value.length=0;var e=this.settings.classNames,i=[e.tagNotAllowed.split(" ")[0],e.tagHide];[].forEach.call(this.getTagElms(),(function(e){Q(e.classList).some((function(t){return i.includes(t)}))||t.value.push(y(e))})),this.update(),this.dropdown.refilter()},injectAtCaret:function(t,e){var i;if(e=e||(null===(i=this.state.selection)||void 0===i?void 0:i.range),"string"==typeof t&&(t=document.createTextNode(t)),!e&&t)return this.appendMixTags(t),this;if(!this.DOM.scope.contains(null==e?void 0:e.startContainer))return this;var n=w(t,e);return this.setRangeAtStartEnd(!1,n),this.updateValueByDOMTags(),this.update(),this},input:{set:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.settings,n=i.dropdown.closeOnSelect;this.state.inputText=t,e&&(this.DOM.input.innerHTML=d(""+t),t&&this.toggleClass(i.classNames.empty,!this.DOM.input.innerHTML)),!t&&n&&this.dropdown.hide.bind(this),this.input.autocomplete.suggest.call(this),this.input.validate.call(this)},raw:function(){return this.DOM.input.textContent},validate:function(){var t=!this.state.inputText||!0===this.validateTag({value:this.state.inputText});return this.DOM.input.classList.toggle(this.settings.classNames.inputInvalid,!t),t},normalize:function(t,e){var i=t||this.DOM.input,n=[];i.childNodes.forEach((function(t){return 3==t.nodeType&&n.push(t.nodeValue)})),n=n.join("\n");try{n=n.replace(/(?:\r\n|\r|\n)/g,this.settings.delimiters.source.charAt(0))}catch(t){}return n=n.replace(/\s/g," "),(null==e?void 0:e.trim)?this.trim(n):n},autocomplete:{suggest:function(t){if(this.settings.autoComplete.enabled){"object"!=typeof(t=t||{value:""})&&(t={value:t});var e=this.dropdown.getMappedValue(t);if("number"!=typeof e){var i=this.state.inputText.toLowerCase(),n=e.substr(0,this.state.inputText.length).toLowerCase(),s=e.substring(this.state.inputText.length);e&&this.state.inputText&&n==i?(this.DOM.input.setAttribute("data-suggest",s),this.state.inputSuggestion=t):(this.DOM.input.removeAttribute("data-suggest"),delete this.state.inputSuggestion)}}},set:function(t){var e=this.DOM.input.getAttribute("data-suggest"),i=t||(e?this.state.inputText+e:null);return!!i&&("mix"==this.settings.mode?this.replaceTextWithNode(document.createTextNode(this.state.tag.prefix+i)):(this.input.set.call(this,i),this.setRangeAtStartEnd(!1,this.DOM.input)),this.input.autocomplete.suggest.call(this),this.dropdown.hide(),!0)}}},getTagIdx:function(t){return this.value.findIndex((function(e){return e.__tagId==(t||{}).__tagId}))},getNodeIndex:function(t){var e=0;if(t)for(;t=t.previousElementSibling;)e++;return e},getTagElms:function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];var n="."+Q(this.settings.classNames.tag.split(" ")).concat(Q(e)).join(".");return[].slice.call(this.DOM.scope.querySelectorAll(n))},getLastTag:function(){var t=this.settings.classNames,e=this.DOM.scope.querySelectorAll("".concat(t.tagSelector,":not(.").concat(t.tagHide,"):not([readonly])"));return e[e.length-1]},isTagDuplicate:function(t,e,i){var n=0,a=!0,o=!1,r=void 0;try{for(var l,d=this.value[Symbol.iterator]();!(a=(l=d.next()).done);a=!0){var c=l.value;s(this.trim(""+t),c.value,e)&&i!=c.__tagId&&n++}}catch(t){o=!0,r=t}finally{try{a||null==d.return||d.return()}finally{if(o)throw r}}return n},getTagIndexByValue:function(t){var e=this,i=[],n=this.settings.dropdown.caseSensitive;return this.getTagElms().forEach((function(a,o){a.__tagifyTagData&&s(e.trim(a.__tagifyTagData.value),t,n)&&i.push(o)})),i},getTagElmByValue:function(t){var e=this.getTagIndexByValue(t)[0];return this.getTagElms()[e]},flashTag:function(t){var e=this;t&&(t.classList.add(this.settings.classNames.tagFlash),setTimeout((function(){t.classList.remove(e.settings.classNames.tagFlash)}),100))},isTagBlacklisted:function(t){return t=this.trim(t.toLowerCase()),this.settings.blacklist.filter((function(e){return(""+e).toLowerCase()==t})).length},isTagWhitelisted:function(t){return!!this.getWhitelistItem(t)}
46384,getWhitelistItem:function(t,e,i){e=e||"value";var n,a=this.settings;return(i=i||a.whitelist).some((function(i){var o="object"==typeof i?i[e]||i.value:i;if(s(o,t,a.dropdown.caseSensitive,a.trim))return n="object"==typeof i?i:{value:i},!0})),n||"value"!=e||"value"==a.tagTextProp||(n=this.getWhitelistItem(t,a.tagTextProp,i)),n},validateTag:function(t){var e=this.settings,i="value"in t?"value":e.tagTextProp,n=this.trim(t[i]+"");return(t[i]+"").trim()?"mix"!=e.mode&&e.pattern&&G(e.pattern,RegExp)&&!e.pattern.test(n)?this.TEXTS.pattern:!e.duplicates&&this.isTagDuplicate(n,e.dropdown.caseSensitive,t.__tagId)?this.TEXTS.duplicate:this.isTagBlacklisted(n)||e.enforceWhitelist&&!this.isTagWhitelisted(n)?this.TEXTS.notAllowed:!e.validate||e.validate(t):this.TEXTS.empty},getInvalidTagAttrs:function(t,e){return{"aria-invalid":!0,class:"".concat(t.class||""," ").concat(this.settings.classNames.tagNotAllowed).trim(),title:e}},hasMaxTags:function(){return this.value.length>=this.settings.maxTags&&this.TEXTS.exceed},setReadonly:function(t,e){var i=this.settings;this.DOM.scope.contains(document.activeElement)&&document.activeElement.blur(),i[e||"readonly"]=t,this.DOM.scope[(t?"set":"remove")+"Attribute"](e||"readonly",!0),this.settings.userInput=!0,this.setContentEditable(!t),t||(this.events.binding.call(this,!0),this.events.binding.call(this))},setContentEditable:function(t){this.DOM.scope.querySelectorAll("[data-can-editable]").forEach((function(e){e.contentEditable=t,e.tabIndex=t?0:-1}))},setDisabled:function(t){this.setReadonly(t,"disabled")},normalizeTags:function(t){var e=this,i=this.settings,n=i.whitelist,s=i.delimiters,a=i.mode,o=i.tagTextProp,r=[],l=!!n&&G(n[0],Object),d=Array.isArray(t),g=d&&t[0].value,h=function(t){return(t+"").split(s).reduce((function(t,i){var n,s=e.trim(i);return s&&t.push((J(n={},o,s),J(n,"value",s),n)),t}),[])};if("number"==typeof t&&(t=t.toString()),"string"==typeof t){if(!t.trim())return[];t=h(t)}else d&&(t=t.reduce((function(t,i){if(c(i)){var n=u({},i);o in n||(o="value"),n[o]=e.trim(n[o]),(n[o]||0===n[o])&&t.push(n)}else if(null!=i&&""!==i&&void 0!==i){var s;(s=t).push.apply(s,Q(h(i)))}return t}),[]));return l&&!g&&(t.forEach((function(t){var i=r.map((function(t){return t.value})),n=e.dropdown.filterListItems.call(e,t[o],{exact:!0});e.settings.duplicates||(n=n.filter((function(t){return!i.includes(t.value)})));var s=n.length>1?e.getWhitelistItem(t[o],o,n):n[0];s&&G(s,Object)?r.push(s):"mix"!=a&&(null==t.value&&(t.value=t[o]),r.push(t))})),r.length&&(t=r)),t},parseMixTags:function(t){var e=this,i=this.settings,n=i.mixTagsInterpolator,s=i.duplicates,a=i.transformTag,o=i.enforceWhitelist,r=i.maxTags,l=i.tagTextProp,d=[];t=t.split(n[0]).map((function(t,i){var c,u,g,h=t.split(n[1]),p=h[0],f=d.length==r;try{if(p==+p)throw Error;u=JSON.parse(p)}catch(t){u=e.normalizeTags(p)[0]||{value:p}}if(a.call(e,u),f||!(h.length>1)||o&&!e.isTagWhitelisted(u.value)||!s&&e.isTagDuplicate(u.value)){if(t)return i?n[0]+t:t}else u[c=u[l]?l:"value"]=e.trim(u[c]),g=e.createTagElem(u),d.push(u),g.classList.add(e.settings.classNames.tagNoAnimation),h[0]=g.outerHTML,e.value.push(u);return h.join("")})).join(""),this.DOM.input.innerHTML=t,this.DOM.input.appendChild(document.createTextNode("")),this.DOM.input.normalize();var c=this.getTagElms();return c.forEach((function(t,e){return y(t,d[e])})),this.update({withoutChangeEvent:!0}),O(c,this.state.hasFocus),t},replaceTextWithNode:function(t,e){if(this.state.tag||e){e=e||this.state.tag.prefix+this.state.tag.value;var i,n,s=this.state.selection||window.getSelection(),a=s.anchorNode,o=this.state.tag.delimiters?this.state.tag.delimiters.length:0;return a.splitText(s.anchorOffset-o),-1==(i=a.nodeValue.lastIndexOf(e))?!0:(n=a.splitText(i),t&&a.parentNode.replaceChild(t,n),!0)}},prepareNewTagNode:function(t,e){e=e||{};var i=this.settings,n=[],s={},a=Object.assign({},t,{value:t.value+""});if(t=Object.assign({},a),i.transformTag.call(this,t),t.__isValid=this.hasMaxTags()||this.validateTag(t),!0!==t.__isValid){if(e.skipInvalid)return;if(u(s,this.getInvalidTagAttrs(t,t.__isValid),{__preInvalidData:a}),t.__isValid==this.TEXTS.duplicate&&this.flashTag(this.getTagElmByValue(t.value)),!i.createInvalidTags)return void n.push(t.value)}return"readonly"in t&&(t.readonly?s["aria-readonly"]=!0:delete t.readonly),{tagElm:this.createTagElem(t,s),tagData:t,aggregatedInvalidInput:n}},postProcessNewTagNode:function(t,e){var i=this,n=this.settings,s=e.__isValid;s&&!0===s?this.value.push(e):(this.trigger("invalid",{data:e,index:this.value.length,tag:t,message:s}),n.keepInvalidTags||setTimeout((function(){return i.removeTags(t,!0)}),1e3)),this.dropdown.position()},selectTag:function(t,e){var i=this;if(!this.settings.enforceWhitelist||this.isTagWhitelisted(e.value)){this.state.actions.selectOption&&setTimeout((function(){return i.setRangeAtStartEnd(!1,i.DOM.input)}));
46384var n=this.getLastTag();return n?this.replaceTag(n,e):this.appendTag(t),this.value[0]=e,this.update(),this.trigger("add",{tag:t,data:e}),[t]}},addEmptyTag:function(t){var e=u({value:""},t||{}),i=this.createTagElem(e);y(i,e),this.appendTag(i),this.editTag(i,{skipValidation:!0}),this.toggleFocusClass(!0)},addTags:function(t,e,i){var n=this,s=[],a=this.settings,o=[],r=document.createDocumentFragment(),l=[];if(!t||0==t.length)return s;switch(t=this.normalizeTags(t),a.mode){case"mix":return this.addMixTags(t);case"select":e=!1,this.removeAllTags()}return this.DOM.input.removeAttribute("style"),t.forEach((function(t){var e=n.prepareNewTagNode(t,{skipInvalid:i||a.skipInvalid});if(e){var d=e.tagElm;if(t=e.tagData,o=e.aggregatedInvalidInput,s.push(d),"select"==a.mode)return n.selectTag(d,t);r.appendChild(d),n.postProcessNewTagNode(d,t),l.push({tagElm:d,tagData:t})}})),this.appendTag(r),l.forEach((function(t){var e=t.tagElm,i=t.tagData;return n.trigger("add",{tag:e,index:n.getTagIdx(i),data:i})})),this.update(),t.length&&e&&(this.input.set.call(this,a.createInvalidTags?"":o.join(a._delimiters)),this.setRangeAtStartEnd(!1,this.DOM.input)),this.dropdown.refilter(),s},addMixTags:function(t){var e=this;if((t=this.normalizeTags(t))[0].prefix||this.state.tag)return this.prefixedTextToTag(t[0]);var i=document.createDocumentFragment();return t.forEach((function(t){var n=e.prepareNewTagNode(t);i.appendChild(n.tagElm),e.insertAfterTag(n.tagElm),e.postProcessNewTagNode(n.tagElm,n.tagData)})),this.appendMixTags(i),i.children},appendMixTags:function(t){var e=!!this.state.selection;e?this.injectAtCaret(t):(this.DOM.input.focus(),(e=this.setStateSelection()).range.setStart(this.DOM.input,e.range.endOffset),e.range.setEnd(this.DOM.input,e.range.endOffset),this.DOM.input.appendChild(t),this.updateValueByDOMTags(),this.update())},prefixedTextToTag:function(t){var e,i,n,s=this,a=this.settings,o=null===(e=this.state.tag)||void 0===e?void 0:e.delimiters;if(t.prefix=t.prefix||this.state.tag?this.state.tag.prefix:(a.pattern.source||a.pattern)[0],n=this.prepareNewTagNode(t),i=n.tagElm,this.replaceTextWithNode(i)||this.DOM.input.appendChild(i),setTimeout((function(){return i.classList.add(s.settings.classNames.tagNoAnimation)}),300),this.update(),!o){var r=this.insertAfterTag(i)||i;setTimeout(T,0,r)}return this.state.tag=null,this.postProcessNewTagNode(i,n.tagData),i},appendTag:function(t){var e=this.DOM,i=e.input;e.scope.insertBefore(t,i)},createTagElem:function(t,e){t.__tagId=f();var i,n=u({},t,$({value:d(t.value+"")},e));return function(t){for(var e,i=document.createNodeIterator(t,NodeFilter.SHOW_TEXT,null,!1);e=i.nextNode();)e.textContent.trim()||e.parentNode.removeChild(e)}(i=this.parseTemplate("tag",[n,this])),y(i,t),i},reCheckInvalidTags:function(){var t=this,e=this.settings;this.getTagElms(e.classNames.tagNotAllowed).forEach((function(i,n){var s=y(i),a=t.hasMaxTags(),o=t.validateTag(s),r=!0===o&&!a;if("select"==e.mode&&t.toggleScopeValidation(o),r)return s=s.__preInvalidData?s.__preInvalidData:{value:s.value},t.replaceTag(i,s);i.title=a||o}))},removeTags:function(t,e,i){var n,s=this,a=this.settings;if(t=t&&G(t,HTMLElement)?[t]:G(t,Array)?t:t?[t]:[this.getLastTag()].filter((function(t){return t})),n=t.reduce((function(t,e){e&&"string"==typeof e&&(e=s.getTagElmByValue(e));var i=y(e);return e&&i&&!i.readonly&&t.push({node:e,idx:s.getTagIdx(i),data:y(e,{__removed:!0})}),t}),[]),i="number"==typeof i?i:this.CSSVars.tagHideTransition,"select"==a.mode&&(i=0,this.input.set.call(this)),1==n.length&&"select"!=a.mode&&n[0].node.classList.contains(a.classNames.tagNotAllowed)&&(e=!0),n.length)return a.hooks.beforeRemoveTag(n,{tagify:this}).then((function(){var t=function(t){t.node.parentNode&&(t.node.parentNode.removeChild(t.node),e?a.keepInvalidTags&&this.trigger("remove",{tag:t.node,index:t.idx}):(this.dropdown.refilter(),this.dropdown.position(),this.DOM.input.normalize(),a.keepInvalidTags&&this.reCheckInvalidTags(),this.trigger("remove",{tag:t.node,index:t.idx,data:t.data})))};e||(s.removeTagsFromValue(n.map((function(t){return t.node}))),s.update(),"select"==a.mode&&a.userInput&&s.setContentEditable(!0)),i&&i>10&&1==n.length?function(e){e.node.style.width=parseFloat(window.getComputedStyle(e.node).width)+"px",document.body.clientTop,e.node.classList.add(a.classNames.tagHide),setTimeout(t.bind(this),i,e)}
46384.call(s,n[0]):n.forEach(t.bind(s))})).catch((function(t){}))},removeTagsFromDOM:function(){this.getTagElms().forEach((function(t){return t.remove()}))},removeTagsFromValue:function(t){var e=this;(t=Array.isArray(t)?t:[t]).forEach((function(t){var i=y(t),n=e.getTagIdx(i);n>-1&&e.value.splice(n,1)}))},removeAllTags:function(t){var e=this;t=t||{},this.value=[],"mix"==this.settings.mode?this.DOM.input.innerHTML="":this.removeTagsFromDOM(),this.dropdown.refilter(),this.dropdown.position(),this.state.dropdown.visible&&setTimeout((function(){e.DOM.input.focus()})),"select"==this.settings.mode&&(this.input.set.call(this),this.settings.userInput&&this.setContentEditable(!0)),this.update(t,(function(){e.trigger("remove",{})}))},postUpdate:function(){this.state.blockChangeEvent=!1;var t,e,i=this.settings,n=i.classNames,s="mix"==i.mode?i.mixMode.integrated?this.DOM.input.textContent:this.DOM.originalInput.value.trim():this.value.length+this.input.raw.call(this).length;(this.toggleClass(n.hasMaxTags,this.value.length>=i.maxTags),this.toggleClass(n.hasNoTags,!this.value.length),this.toggleClass(n.empty,!s),"select"==i.mode)&&this.toggleScopeValidation(null===(e=this.value)||void 0===e||null===(t=e[0])||void 0===t?void 0:t.__isValid)},setOriginalInputValue:function(t){var e=this.DOM.originalInput;this.settings.mixMode.integrated||(e.value=t,e.tagifyValue=e.value)},update:function(t,e){clearTimeout(this.debouncedUpdateTimeout),this.debouncedUpdateTimeout=setTimeout(function(){this.setPersistedData(i,"value"),this.settings.onChangeAfterBlur&&(t||{}).withoutChangeEvent||this.state.blockChangeEvent||this.triggerChangeEvent();this.postUpdate(),null==e||e()}.bind(this),100),this.events.bindOriginaInputListener.call(this,100);var i=this.getInputValue();this.setOriginalInputValue(i)},getInputValue:function(){var t=this.getCleanValue();return"mix"==this.settings.mode?this.getMixedTagsAsString(t):t.length?this.settings.originalInputValueFormat?this.settings.originalInputValueFormat(t):JSON.stringify(t):""},getCleanValue:function(t){return a(t||this.value,this.dataProps)},getMixedTagsAsString:function(){var t="",e=this,i=this.settings,n=i.originalInputValueFormat||JSON.stringify,s=i.mixTagsInterpolator;return function i(a){a.childNodes.forEach((function(a){if(1==a.nodeType){var r=y(a);if("BR"==a.tagName&&(t+="\r\n"),r&&m.call(e,a)){if(r.__removed)return;t+=s[0]+n(o(r,e.dataProps))+s[1]}else a.getAttribute("style")||["B","I","U"].includes(a.tagName)?t+=a.textContent:"DIV"!=a.tagName&&"P"!=a.tagName||(t+="\r\n",i(a))}else t+=a.textContent}))}(this.DOM.input),t}},Y.prototype.removeTag=Y.prototype.removeTags,Y})); 46385//# sourceMappingURL=tagify.js.map 46386 46387!function(e){e(["jquery"],function(e){return function(){function t(e,t,n){return g({type:O.error,iconClass:m().iconClasses.error,message:e,optionsOverride:n,title:t})}function n(t,n){return t||(t=m()),v=e("#"+t.containerId),v.length?v:(n&&(v=d(t)),v)}function o(e,t,n){return g({type:O.info,iconClass:m().iconClasses.info,message:e,optionsOverride:n,title:t})}function s(e){C=e}function i(e,t,n){return g({type:O.success,iconClass:m().iconClasses.success,message:e,optionsOverride:n,title:t})}function a(e,t,n){return g({type:O.warning,iconClass:m().iconClasses.warning,message:e,optionsOverride:n,title:t})}function r(e,t){var o=m();v||n(o),u(e,o,t)||l(o)}function c(t){var o=m();return v||n(o),t&&0===e(":focus",t).length?void h(t):void(v.children().length&&v.remove())}function l(t){for(var n=v.children(),o=n.length-1;o>=0;o--)u(e(n[o]),t)}function u(t,n,o){var s=!(!o||!o.force)&&o.force;return!(!t||!s&&0!==e(":focus",t).length)&&(t[n.hideMethod]({duration:n.hideDuration,easing:n.hideEasing,complete:function(){h(t)}}),!0)}function d(t){return v=e("<div/>").attr("id",t.containerId).addClass(t.positionClass),v.appendTo(e(t.target)),v}function p(){return{tapToDismiss:!0,toastClass:"toastr",containerId:"toastr-container",debug:!1,showMethod:"fadeIn",showDuration:300,showEasing:"swing",onShown:void 0,hideMethod:"fadeOut",hideDuration:1e3,hideEasing:"swing",onHidden:void 0,closeMethod:!1,closeDuration:!1,closeEasing:!1,
vendor: 6,012 bytes, lines 46387-46395
46387closeOnHover:!0,extendedTimeOut:1e3,iconClasses:{error:"toastr-error",info:"toastr-info",success:"toastr-success",warning:"toastr-warning"},iconClass:"toastr-info",positionClass:"toastr-top-right",timeOut:5e3,titleClass:"toastr-title",messageClass:"toastr-message",escapeHtml:!1,target:"body",closeHtml:'<button type="button">×</button>',closeClass:"toastr-close-button",newestOnTop:!0,preventDuplicates:!1,progressBar:!1,progressClass:"toastr-progress",rtl:!1}}function f(e){C&&C(e)}function g(t){function o(e){return null==e&&(e=""),e.replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<").replace(/>/g,">")}function s(){c(),u(),d(),p(),g(),C(),l(),i()}function i(){var e="";switch(t.iconClass){case"toastr-success":case"toastr-info":e="polite";break;default:e="assertive"}I.attr("aria-live",e)}function a(){E.closeOnHover&&I.hover(H,D),!E.onclick&&E.tapToDismiss&&I.click(b),E.closeButton&&j&&j.click(function(e){e.stopPropagation?e.stopPropagation():void 0!==e.cancelBubble&&e.cancelBubble!==!0&&(e.cancelBubble=!0),E.onCloseClick&&E.onCloseClick(e),b(!0)}),E.onclick&&I.click(function(e){E.onclick(e),b()})}function r(){I.hide(),I[E.showMethod]({duration:E.showDuration,easing:E.showEasing,complete:E.onShown}),E.timeOut>0&&(k=setTimeout(b,E.timeOut),F.maxHideTime=parseFloat(E.timeOut),F.hideEta=(new Date).getTime()+F.maxHideTime,E.progressBar&&(F.intervalId=setInterval(x,10)))}function c(){t.iconClass&&I.addClass(E.toastClass).addClass(y)}function l(){E.newestOnTop?v.prepend(I):v.append(I)}function u(){if(t.title){var e=t.title;E.escapeHtml&&(e=o(t.title)),M.append(e).addClass(E.titleClass),I.append(M)}}function d(){if(t.message){var e=t.message;E.escapeHtml&&(e=o(t.message)),B.append(e).addClass(E.messageClass),I.append(B)}}function p(){E.closeButton&&(j.addClass(E.closeClass).attr("role","button"),I.prepend(j))}function g(){E.progressBar&&(q.addClass(E.progressClass),I.prepend(q))}function C(){E.rtl&&I.addClass("rtl")}function O(e,t){if(e.preventDuplicates){if(t.message===w)return!0;w=t.message}return!1}function b(t){var n=t&&E.closeMethod!==!1?E.closeMethod:E.hideMethod,o=t&&E.closeDuration!==!1?E.closeDuration:E.hideDuration,s=t&&E.closeEasing!==!1?E.closeEasing:E.hideEasing;if(!e(":focus",I).length||t)return clearTimeout(F.intervalId),I[n]({duration:o,easing:s,complete:function(){h(I),clearTimeout(k),E.onHidden&&"hidden"!==P.state&&E.onHidden(),P.state="hidden",P.endTime=new Date,f(P)}})}function D(){(E.timeOut>0||E.extendedTimeOut>0)&&(k=setTimeout(b,E.extendedTimeOut),F.maxHideTime=parseFloat(E.extendedTimeOut),F.hideEta=(new Date).getTime()+F.maxHideTime)}function H(){clearTimeout(k),F.hideEta=0,I.stop(!0,!0)[E.showMethod]({duration:E.showDuration,easing:E.showEasing})}function x(){var e=(F.hideEta-(new Date).getTime())/F.maxHideTime*100;q.width(e+"%")}var E=m(),y=t.iconClass||E.iconClass;if("undefined"!=typeof t.optionsOverride&&(E=e.extend(E,t.optionsOverride),y=t.optionsOverride.iconClass||y),!O(E,t)){T++,v=n(E,!0);var k=null,I=e("<div/>"),M=e("<div/>"),B=e("<div/>"),q=e("<div/>"),j=e(E.closeHtml),F={intervalId:null,hideEta:null,maxHideTime:null},P={toastId:T,state:"visible",startTime:new Date,options:E,map:t};return s(),r(),a(),f(P),E.debug&&console&&console.log(P),I}}function m(){return e.extend({},p(),b.options)}function h(e){v||(v=n()),e.is(":visible")||(e.remove(),e=null,0===v.children().length&&(v.remove(),w=void 0))}var v,C,w,T=0,O={error:"error",info:"info",success:"success",warning:"warning"},b={clear:r,remove:c,error:t,getContainer:n,info:o,options:{},subscribe:s,success:i,version:"2.1.4",warning:a};return b}()})}("function"==typeof define&&define.amd?define:function(e,t){"undefined"!=typeof module&&module.exports?module.exports=t(require("jquery")):window.toastr=t(window.jQuery)}); 46388//# sourceMappingURL=toastr.js.map 46389 46390/*! 46391 * ApexCharts v4.7.0 46392 * (c) 2018-2025 ApexCharts 46393 * Released under the MIT License. 46394 */ 46395!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).ApexCharts=e()}(this,(function(){"use strict";function t(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,a=Array(e);i<e;i++)a[i]=t[i];return a}function e(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){for(var i=0;i<e.length;i++){var a=e[i];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,x(a.key),a)}}function s(t,e,i){return e&&a(t.prototype,e),i&&a(t,i),Object.defineProperty(t,"prototype",{writable:!1}),t}function r(t,e){var i="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!i){if(Array.isArray(t)||(i=m(t))||e&&t&&"number"==typeof t.length){i&&(t=i);var a=0,s=function(){};return{s:s,n:function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}},e:function(t){throw t},f:s}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,n=!0,o=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return n=t.done,t},e:function(t){o=!0,r=t},f:function(){try{n||null==i.return||i.return()}finally{if(o)throw r}}}}function n(t){var i=c();return function(){var a,s=l(t);if(i){var r=l(this).constructor;a=Reflect.construct(s,arguments,r)}else a=s.apply(this,arguments);return function(t,i){if(i&&("object"==typeof i||"function"==typeof i))return i;if(void 0!==i)throw new TypeError("Derived constructors may only return object or undefined");return e(t)}(this,a)}}function o(t,e,i){return(e=x(e))in t?Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}
46395function h(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&g(t,e)}function c(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(c=function(){return!!t})()}function d(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function u(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?d(Object(i),!0).forEach((function(e){o(t,e,i[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):d(Object(i)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))}))}return t}function g(t,e){return g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},g(t,e)}function p(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var i=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=i){var a,s,r,n,o=[],l=!0,h=!1;try{if(r=(i=i.call(t)).next,0===e){if(Object(i)!==i)return;l=!1}else for(;!(l=(a=r.call(i)).done)&&(o.push(a.value),o.length!==e);l=!0);}catch(t){h=!0,s=t}finally{try{if(!l&&null!=i.return&&(n=i.return(),Object(n)!==n))return}finally{if(h)throw s}}return o}}(t,e)||m(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e){return function(e){if(Array.isArray(e))return t(e)}(e)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(e)||m(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function x(t){var e=function(t,e){if("object"!=typeof t||!t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var a=i.call(t,e||"default");if("object"!=typeof a)return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==typeof e?e:e+""}function b(t){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},b(t)}function m(e,i){if(e){if("string"==typeof e)return t(e,i);var a={}.toString.call(e).slice(8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?Array.from(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?t(e,i):void 0}}var v=function(){function t(){i(this,t)}return s(t,[{key:"shadeRGBColor",value:function(t,e){var i=e.split(","),a=t<0?0:255,s=t<0?-1*t:t,r=parseInt(i[0].slice(4),10),n=parseInt(i[1],10),o=parseInt(i[2],10);return"rgb("+(Math.round((a-r)*s)+r)+","+(Math.round((a-n)*s)+n)+","+(Math.round((a-o)*s)+o)+")"}},{key:"shadeHexColor",value:function(t,e){var i=parseInt(e.slice(1),16),a=t<0?0:255,s=t<0?-1*t:t,r=i>>16,n=i>>8&255,o=255&i;return"#"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-n)*s)+n)+(Math.round((a-o)*s)+o)).toString(16).slice(1)}},{key:"shadeColor",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:"bind",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:"isObject",value:function(t){return t&&"object"===b(t)&&!Array.isArray(t)&&null!=t}},{key:"is",value:function(t,e){return Object.prototype.toString.call(e)==="[object "+t+"]"}},{key:"isSafari",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:"listToArray",value:function(t){var e,i=[];for(e=0;e<t.length;e++)i[e]=t[e];return i}},{key:"extend",value:function(t,e){var i=this;"function"!=typeof Object.assign&&(Object.assign=function(t){if(null==t)throw new TypeError("Cannot convert undefined or null to object");for(var e=Object(t),i=1;i<arguments.length;i++){var a=arguments[i];if(null!=a)for(var s in a)a.hasOwnProperty(s)&&(e[s]=a[s])}return e});var a=Object.assign({},t);return this.isObject(t)&&this.isObject(e)&&Object.keys(e).forEach((function(s){i.isObject(e[s])&&s in t?a[s]=i.extend(t[s],e[s]):Object.assign(a,o({},s,e[s]))})),a}},{key:"extendArray",value:function(e,i){var a=[];return e.map((function(e){a.push(t.extend(i,e))})),e=a}},{key:"monthMod",value:function(t){return t%12}},{key:"clone",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if(null===t||"object"!==b(t))return t;if(i.has(t))return i.get(t);if(Array.isArray(t)){e=[],i.set(t,e);for(var a=0;a<t.length;a++)e[a]=this.clone(t[a],i)}else if(t instanceof Date)e=new Date(t.getTime());else for(var s in e={},i.set(t,e),t)t.hasOwnProperty(s)&&(e[s]=this.clone(t[s],i));return e}},{key:"log10",value:function(t){return Math.log(t)/Math.LN10}}
vendor: 4,267 bytes, line 46395
46395,{key:"roundToBase10",value:function(t){return Math.pow(10,Math.floor(Math.log10(t)))}},{key:"roundToBase",value:function(t,e){return Math.pow(e,Math.floor(Math.log(t)/Math.log(e)))}},{key:"parseNumber",value:function(t){return null===t?t:parseFloat(t)}},{key:"stripNumber",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return Number.isInteger(t)?t:parseFloat(t.toPrecision(e))}},{key:"randomId",value:function(){return(Math.random()+1).toString(36).substring(4)}},{key:"noExponents",value:function(t){return t.toString().includes("e")?Math.round(t):t}},{key:"elementExists",value:function(t){return!(!t||!t.isConnected)}},{key:"getDimensions",value:function(t){var e=getComputedStyle(t,null),i=t.clientHeight,a=t.clientWidth;return i-=parseFloat(e.paddingTop)+parseFloat(e.paddingBottom),[a-=parseFloat(e.paddingLeft)+parseFloat(e.paddingRight),i]}},{key:"getBoundingClientRect",value:function(t){var e=t.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:t.clientWidth,height:t.clientHeight,x:e.left,y:e.top}}},{key:"getLargestStringFromArr",value:function(t){return t.reduce((function(t,e){return Array.isArray(e)&&(e=e.reduce((function(t,e){return t.length>e.length?t:e}))),t.length>e.length?t:e}),0)}},{key:"hexToRgba",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"#999999",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;"#"!==t.substring(0,1)&&(t="#999999");var i=t.replace("#","");i=i.match(new RegExp("(.{"+i.length/3+"})","g"));for(var a=0;a<i.length;a++)i[a]=parseInt(1===i[a].length?i[a]+i[a]:i[a],16);return void 0!==e&&i.push(e),"rgba("+i.join(",")+")"}},{key:"getOpacityFromRGBA",value:function(t){return parseFloat(t.replace(/^.*,(.+)\)/,"$1"))}},{key:"rgb2hex",value:function(t){return(t=t.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i))&&4===t.length?"#"+("0"+parseInt(t[1],10).toString(16)).slice(-2)+("0"+parseInt(t[2],10).toString(16)).slice(-2)+("0"+parseInt(t[3],10).toString(16)).slice(-2):""}},{key:"isColorHex",value:function(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test(t)}},{key:"getPolygonPos",value:function(t,e){for(var i=[],a=2*Math.PI/e,s=0;s<e;s++){var r={};r.x=t*Math.sin(s*a),r.y=-t*Math.cos(s*a),i.push(r)}return i}},{key:"polarToCartesian",value:function(t,e,i,a){var s=(a-90)*Math.PI/180;return{x:t+i*Math.cos(s),y:e+i*Math.sin(s)}}},{key:"escapeString",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"x",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\=?;:'",.<>{}[\]\\/]/gi,e)}},{key:"negToZero",value:function(t){return t<0?0:t}},{key:"moveIndexInArray",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:"extractNumber",value:function(t){return parseFloat(t.replace(/[^\d.]*/g,""))}},{key:"findAncestor",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:"setELstyles",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:"preciseAddition",value:function(t,e){var i=(String(t).split(".")[1]||"").length,a=(String(e).split(".")[1]||"").length,s=Math.pow(10,Math.max(i,a));return(Math.round(t*s)+Math.round(e*s))/s}},{key:"isNumber",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:"isFloat",value:function(t){return Number(t)===t&&t%1!=0}},{key:"isMsEdge",value:function(){var t=window.navigator.userAgent,e=t.indexOf("Edge/");return e>0&&parseInt(t.substring(e+5,t.indexOf(".",e)),10)}},{key:"getGCD",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));for(t=Math.round(Math.abs(t)*a),e=Math.round(Math.abs(e)*a);e;){var s=e;e=t%e,t=s}return t/a}},{key:"getPrimeFactors",value:function(t){for(var e=[],i=2;t>=2;)t%i==0?(e.push(i),t/=i):i++;return e}},{key:"mod",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:7,a=Math.pow(10,i-Math.floor(Math.log10(Math.max(t,e))));return(t=Math.round(Math.abs(t)*a))%(e=Math.round(Math.abs(e)*a))/a}}]),t}(),y=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}
46395return s(t,[{key:"animateLine",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:"animateMarker",value:function(t,e,i,a){t.attr({opacity:0}).animate(e).attr({opacity:1}).after((function(){a()}))}},{key:"animateRect",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).after((function(){return s()}))}},{key:"animatePathsGradually",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,n=t.pathTo,o=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&"bar"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,"line"!==h.config.chart.type||h.globals.comboCharts?s:"stroke",r,n,o,l*c)}},{key:"showDelayedElements",value:function(){this.w.globals.delayedElements.forEach((function(t){var e=t.el;e.classList.remove("apexcharts-element-hidden"),e.classList.add("apexcharts-hidden-element-shown")}))}},{key:"animationCompleted",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),"function"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:"morphSVG",value:function(t,e,i,a,s,r,n,o){var l=this,h=this.w;s||(s=t.attr("pathFrom")),r||(r=t.attr("pathTo"));var c=function(t){return"radar"===h.config.chart.type&&(n=1),"M 0 ".concat(h.globals.gridHeight)};(!s||s.indexOf("undefined")>-1||s.indexOf("NaN")>-1)&&(s=c()),(!r.trim()||r.indexOf("undefined")>-1||r.indexOf("NaN")>-1)&&(r=c()),h.globals.shouldAnimate||(n=1),t.plot(s).animate(1,o).plot(s).animate(n,o).plot(r).after((function(){v.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):"none"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}();const w={},k=[];function A(t,e){if(Array.isArray(t))for(const i of t)A(i,e);else if("object"!=typeof t)S(Object.getOwnPropertyNames(e)),w[t]=Object.assign(w[t]||{},e);else for(const e in t)A(e,t[e])}function C(t){return w[t]||{}}function S(t){k.push(...t)}function L(t,e){let i;const a=t.length,s=[];for(i=0;i<a;i++)s.push(e(t[i]));return s}function M(t){return t%360*Math.PI/180}function P(t){return t.charAt(0).toUpperCase()+t.slice(1)}function I(t,e,i,a){return null!=e&&null!=i||(a=a||t.bbox(),null==e?e=a.width/a.height*i:null==i&&(i=a.height/a.width*e)),{width:e,height:i}}function T(t,e){const i=t.origin;let a=null!=t.ox?t.ox:null!=t.originX?t.originX:"center",s=null!=t.oy?t.oy:null!=t.originY?t.originY:"center";null!=i&&([a,s]=Array.isArray(i)?i:"object"==typeof i?[i.x,i.y]:[i,i]);const r="string"==typeof a,n="string"==typeof s;if(r||n){const{height:t,width:i,x:o,y:l}=e.bbox();r&&(a=a.includes("left")?o:a.includes("right")?o+i:o+i/2),n&&(s=s.includes("top")?l:s.includes("bottom")?l+t:l+t/2)}return[a,s]}const z=new Set(["desc","metadata","title"]),X=t=>z.has(t.nodeName),R=(t,e,i={})=>{const a={...e};for(const t in a)a[t].valueOf()===i[t]&&delete a[t];Object.keys(a).length?t.node.setAttribute("data-svgjs",JSON.stringify(a)):(t.node.removeAttribute("data-svgjs"),t.node.removeAttribute("svgjs:data"))},E="http://www.w3.org/2000/svg",Y="http://www.w3.org/2000/xmlns/",H="http://www.w3.org/1999/xlink",O={window:"undefined"==typeof window?null:window,document:"undefined"==typeof document?null:document};function F(){return O.window}let D=class{};const _={},N="___SYMBOL___ROOT___";function W(t,e=E){return O.document.createElementNS(e,t)}function B(t,e=!1){if(t instanceof D)return t;if("object"==typeof t)return U(t);if(null==t)return new _[N];if("string"==typeof t&&"<"!==t.charAt(0))return U(O.document.querySelector(t));const i=e?O.document.createElement("div"):W("svg");return i.innerHTML=t,t=U(i.firstChild),i.removeChild(i.firstChild),t}function G(t,e){return e&&(e instanceof O.window.Node||e.ownerDocument&&e instanceof e.ownerDocument.defaultView.Node)?e:W(t)}function V(t){if(!t)return null;if(t.instance instanceof D)return t.instance;if("#document-fragment"===t.nodeName)return new _.Fragment(t);
vendor: 21,647 bytes, line 46395
46395let e=P(t.nodeName||"Dom");return"LinearGradient"===e||"RadialGradient"===e?e="Gradient":_[e]||(e="Dom"),new _[e](t)}let U=V;function q(t,e=t.name,i=!1){return _[e]=t,i&&(_[N]=t),S(Object.getOwnPropertyNames(t.prototype)),t}let Z=1e3;function $(t){return"Svgjs"+P(t)+Z++}function J(t){for(let e=t.children.length-1;e>=0;e--)J(t.children[e]);return t.id?(t.id=$(t.nodeName),t):t}function Q(t,e){let i,a;for(a=(t=Array.isArray(t)?t:[t]).length-1;a>=0;a--)for(i in e)t[a].prototype[i]=e[i]}function K(t){return function(...e){const i=e[e.length-1];return!i||i.constructor!==Object||i instanceof Array?t.apply(this,e):t.apply(this,e.slice(0,-1)).attr(i)}}A("Dom",{siblings:function(){return this.parent().children()},position:function(){return this.parent().index(this)},next:function(){return this.siblings()[this.position()+1]},prev:function(){return this.siblings()[this.position()-1]},forward:function(){const t=this.position();return this.parent().add(this.remove(),t+1),this},backward:function(){const t=this.position();return this.parent().add(this.remove(),t?t-1:0),this},front:function(){return this.parent().add(this.remove()),this},back:function(){return this.parent().add(this.remove(),0),this},before:function(t){(t=B(t)).remove();const e=this.position();return this.parent().add(t,e),this},after:function(t){(t=B(t)).remove();const e=this.position();return this.parent().add(t,e+1),this},insertBefore:function(t){return(t=B(t)).before(this),this},insertAfter:function(t){return(t=B(t)).after(this),this}});const tt=/^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i,et=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,it=/rgb\((\d+),(\d+),(\d+)\)/,at=/(#[a-z_][a-z0-9\-_]*)/i,st=/\)\s*,?\s*/,rt=/\s/g,nt=/^#[a-f0-9]{3}$|^#[a-f0-9]{6}$/i,ot=/^rgb\(/,lt=/^(\s+)?$/,ht=/^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,ct=/\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i,dt=/[\s,]+/,ut=/[MLHVCSQTAZ]/i;function gt(t){const e=Math.round(t),i=Math.max(0,Math.min(255,e)).toString(16);return 1===i.length?"0"+i:i}function pt(t,e){for(let i=e.length;i--;)if(null==t[e[i]])return!1;return!0}function ft(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}A("Dom",{classes:function(){const t=this.attr("class");return null==t?[]:t.trim().split(dt)},hasClass:function(t){return-1!==this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){const e=this.classes();e.push(t),this.attr("class",e.join(" "))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr("class",this.classes().filter((function(e){return e!==t})).join(" ")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)}}),A("Dom",{css:function(t,e){const i={};if(0===arguments.length)return this.node.style.cssText.split(/\s*;\s*/).filter((function(t){return!!t.length})).forEach((function(t){const e=t.split(/\s*:\s*/);i[e[0]]=e[1]})),i;if(arguments.length<2){if(Array.isArray(t)){for(const e of t){const t=e;i[e]=this.node.style.getPropertyValue(t)}return i}if("string"==typeof t)return this.node.style.getPropertyValue(t);if("object"==typeof t)for(const e in t)this.node.style.setProperty(e,null==t[e]||lt.test(t[e])?"":t[e])}return 2===arguments.length&&this.node.style.setProperty(t,null==e||lt.test(e)?"":e),this},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},visible:function(){return"none"!==this.css("display")}}),A("Dom",{data:function(t,e,i){if(null==t)return this.data(L(function(t,e){let i;const a=t.length,s=[];for(i=0;i<a;i++)e(t[i])&&s.push(t[i]);return s}(this.node.attributes,(t=>0===t.nodeName.indexOf("data-"))),(t=>t.nodeName.slice(5))));if(t instanceof Array){const e={};for(const i of t)e[i]=this.data(i);return e}if("object"==typeof t)for(e in t)this.data(e,t[e]);else if(arguments.length<2)try{return JSON.parse(this.attr("data-"+t))}catch(e){return this.attr("data-"+t)}else this.attr("data-"+t,null===e?null:!0===i||"string"==typeof e||"number"==typeof e?e:JSON.stringify(e));return this}}),A("Dom",{remember:function(t,e){if("object"==typeof arguments[0])for(const e in t)this.remember(e,t[e]);else{if(1===arguments.length)return this.memory()[t];this.memory()[t]=e}return this},forget:function(){if(0===arguments.length)this._memory={};else for(let t=arguments.length-1;t>=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory=this._memory||{}}});class xt{constructor(...t){this.init(...t)}static isColor(t){return t&&(t instanceof xt||this.isRgb(t)||this.test(t))}static isRgb(t){return t&&"number"==typeof t.r&&"number"==typeof t.g&&"number"==typeof t.b}static random(t="vibrant",e){const{random:i,round:a,sin:s,PI:r}=Math;if("vibrant"===t){const t=24*i()+57,e=38*i()+45,a=360*i();return new xt(t,e,a,"lch")}if("sine"===t){const t=a(80*s(2*r*(e=null==e?i():e)/.5+.01)+150),n=a(50*s(2*r*e/.5+4.6)+200),o=a(100*s(2*r*e/.5+2.3)+150);return new xt(t,n,o)}if("pastel"===t){const t=8*i()+86,e=17*i()+9,a=360*i();return new xt(t,e,a,"lch")}if("dark"===t){const t=10+10*i(),e=50*i()+86,a=360*i();return new xt(t,e,a,"lch")}if("rgb"===t){const t=255*i(),e=255*i(),a=255*i();return new xt(t,e,a)}if("lab"===t){const t=100*i(),e=256*i()-128,a=256*i()-128;return new xt(t,e,a,"lab")}if("grey"===t){const t=255*i();return new xt(t,t,t)}throw new Error("Unsupported random color mode")}static test(t){return"string"==typeof t&&(nt.test(t)||ot.test(t))}cmyk(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=Math.min(1-a,1-s,1-r);if(1===n)return new xt(0,0,0,1,"cmyk");return new xt((1-a-n)/(1-n),(1-s-n)/(1-n),(1-r-n)/(1-n),n,"cmyk")}hsl(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=Math.max(a,s,r),o=Math.min(a,s,r),l=(n+o)/2,h=n===o,c=n-o;return new xt(360*(h?0:n===a?((s-r)/c+(s<r?6:0))/6:n===s?((r-a)/c+2)/6:n===r?((a-s)/c+4)/6:0),100*(h?0:l>.5?c/(2-n-o):c/(n+o)),100*l,"hsl")}init(t=0,e=0,i=0,a=0,s="rgb"){if(t=t||0,this.space)for(const t in this.space)delete this[this.space[t]];if("number"==typeof t)s="string"==typeof a?a:s,a="string"==typeof a?0:a,Object.assign(this,{_a:t,_b:e,_c:i,_d:a,space:s});else if(t instanceof Array)this.space=e||("string"==typeof t[3]?t[3]:t[4])||"rgb",Object.assign(this,{_a:t[0],_b:t[1],_c:t[2],_d:t[3]||0});else if(t instanceof Object){const i=function(t,e){const i=pt(t,"rgb")?{_a:t.r,_b:t.g,_c:t.b,_d:0,space:"rgb"}:pt(t,"xyz")?{_a:t.x,_b:t.y,_c:t.z,_d:0,space:"xyz"}:pt(t,"hsl")?{_a:t.h,_b:t.s,_c:t.l,_d:0,space:"hsl"}:pt(t,"lab")?{_a:t.l,_b:t.a,_c:t.b,_d:0,space:"lab"}:pt(t,"lch")?{_a:t.l,_b:t.c,_c:t.h,_d:0,space:"lch"}:pt(t,"cmyk")?{_a:t.c,_b:t.m,_c:t.y,_d:t.k,space:"cmyk"}:{_a:0,_b:0,_c:0,space:"rgb"};return i.space=e||i.space,i}(t,e);Object.assign(this,i)}else if("string"==typeof t)if(ot.test(t)){const e=t.replace(rt,""),[i,a,s]=it.exec(e).slice(1,4).map((t=>parseInt(t)));Object.assign(this,{_a:i,_b:a,_c:s,_d:0,space:"rgb"})}else{if(!nt.test(t))throw Error("Unsupported string format, can't construct Color");{const e=t=>parseInt(t,16),[,i,a,s]=et.exec(function(t){return 4===t.length?["#",t.substring(1,2),t.substring(1,2),t.substring(2,3),t.substring(2,3),t.substring(3,4),t.substring(3,4)].join(""):t}(t)).map(e);Object.assign(this,{_a:i,_b:a,_c:s,_d:0,space:"rgb"})}}const{_a:r,_b:n,_c:o,_d:l}=this,h="rgb"===this.space?{r:r,g:n,b:o}:"xyz"===this.space?{x:r,y:n,z:o}:"hsl"===this.space?{h:r,s:n,l:o}:"lab"===this.space?{l:r,a:n,b:o}:"lch"===this.space?{l:r,c:n,h:o}:"cmyk"===this.space?{c:r,m:n,y:o,k:l}:{};Object.assign(this,h)}lab(){const{x:t,y:e,z:i}=this.xyz();return new xt(116*e-16,500*(t-e),200*(e-i),"lab")}lch(){const{l:t,a:e,b:i}=this.lab(),a=Math.sqrt(e**2+i**2);let s=180*Math.atan2(i,e)/Math.PI;s<0&&(s*=-1,s=360-s);return new xt(t,a,s,"lch")}rgb(){if("rgb"===this.space)return this;if("lab"===(t=this.space)||"xyz"===t||"lch"===t){let{x:t,y:e,z:i}=this;if("lab"===this.space||"lch"===this.space){let{l:a,a:s,b:r}=this;if("lch"===this.space){const{c:t,h:e}=this,i=Math.PI/180;s=t*Math.cos(i*e),r=t*Math.sin(i*e)}const n=(a+16)/116,o=s/500+n,l=n-r/200,h=16/116,c=.008856,d=7.787;t=.95047*(o**3>c?o**3:(o-h)/d),e=1*(n**3>c?n**3:(n-h)/d),i=1.08883*(l**3>c?l**3:(l-h)/d)}const a=3.2406*t+-1.5372*e+-.4986*i,s=-.9689*t+1.8758*e+.0415*i,r=.0557*t+-.204*e+1.057*i,n=Math.pow,o=.0031308,l=a>o?1.055*n(a,1/2.4)-.055:12.92*a,h=s>o?1.055*n(s,1/2.4)-.055:12.92*s,c=r>o?1.055*n(r,1/2.4)-.055:12.92*r;return new xt(255*l,255*h,255*c)}if("hsl"===this.space){let{h:t,s:e,l:i}=this;if(t/=360,e/=100,i/=100,0===e){i*=255;return new xt(i,i,i)}const a=i<.5?i*(1+e):i+e-i*e,s=2*i-a,r=255*ft(s,a,t+1/3),n=255*ft(s,a,t),o=255*ft(s,a,t-1/3);return new xt(r,n,o)}if("cmyk"===this.space){const{c:t,m:e,y:i,k:a}=this,s=255*(1-Math.min(1,t*(1-a)+a)),r=255*(1-Math.min(1,e*(1-a)+a)),n=255*(1-Math.min(1,i*(1-a)+a));return new xt(s,r,n)}return this;var t}toArray(){const{_a:t,_b:e,_c:i,_d:a,space:s}=this;return[t,e,i,a,s]}toHex(){const[t,e,i]=this._clamped().map(gt);return`#${t}${e}${i}`}toRgb(){const[t,e,i]=this._clamped();return`rgb(${t},${e},${i})`}toString(){return this.toHex()}xyz(){const{_a:t,_b:e,_c:i}=this.rgb(),[a,s,r]=[t,e,i].map((t=>t/255)),n=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92,o=s>.04045?Math.pow((s+.055)/1.055,2.4):s/12.92,l=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92,h=(.4124*n+.3576*o+.1805*l)/.95047,c=(.2126*n+.7152*o+.0722*l)/1,d=(.0193*n+.1192*o+.9505*l)/1.08883,u=h>.008856?Math.pow(h,1/3):7.787*h+16/116,g=c>.008856?Math.pow(c,1/3):7.787*c+16/116,p=d>.008856?Math.pow(d,1/3):7.787*d+16/116;return new xt(u,g,p,"xyz")}_clamped(){const{_a:t,_b:e,_c:i}=this.rgb(),{max:a,min:s,round:r}=Math;return[t,e,i].map((t=>a(0,s(r(t),255))))}}class bt{constructor(...t){this.init(...t)}clone(){return new bt(this)}init(t,e){const i=0,a=0,s=Array.isArray(t)?{x:t[0],y:t[1]}:"object"==typeof t?{x:t.x,y:t.y}:{x:t,y:e};return this.x=null==s.x?i:s.x,this.y=null==s.y?a:s.y,this}toArray(){return[this.x,this.y]}transform(t){return this.clone().transformO(t)}transformO(t){vt.isMatrixLike(t)||(t=new vt(t));const{x:e,y:i}=this;return this.x=t.a*e+t.c*i+t.e,this.y=t.b*e+t.d*i+t.f,this}}function mt(t,e,i){return Math.abs(e-t)<(i||1e-6)}class vt{constructor(...t){this.init(...t)}static formatTransforms(t){const e="both"===t.flip||!0===t.flip,i=t.flip&&(e||"x"===t.flip)?-1:1,a=t.flip&&(e||"y"===t.flip)?-1:1,s=t.skew&&t.skew.length?t.skew[0]:isFinite(t.skew)?t.skew:isFinite(t.skewX)?t.skewX:0,r=t.skew&&t.skew.length?t.skew[1]:isFinite(t.skew)?t.skew:isFinite(t.skewY)?t.skewY:0,n=t.scale&&t.scale.length?t.scale[0]*i:isFinite(t.scale)?t.scale*i:isFinite(t.scaleX)?t.scaleX*i:i,o=t.scale&&t.scale.length?t.scale[1]*a:isFinite(t.scale)?t.scale*a:isFinite(t.scaleY)?t.scaleY*a:a,l=t.shear||0,h=t.rotate||t.theta||0,c=new bt(t.origin||t.around||t.ox||t.originX,t.oy||t.originY),d=c.x,u=c.y,g=new bt(t.position||t.px||t.positionX||NaN,t.py||t.positionY||NaN),p=g.x,f=g.y,x=new bt(t.translate||t.tx||t.translateX,t.ty||t.translateY),b=x.x,m=x.y,v=new bt(t.relative||t.rx||t.relativeX,t.ry||t.relativeY);return{scaleX:n,scaleY:o,skewX:s,skewY:r,shear:l,theta:h,rx:v.x,ry:v.y,tx:b,ty:m,ox:d,oy:u,px:p,py:f}}static fromArray(t){return{a:t[0],b:t[1],c:t[2],d:t[3],e:t[4],f:t[5]}}static isMatrixLike(t){return null!=t.a||null!=t.b||null!=t.c||null!=t.d||null!=t.e||null!=t.f}static matrixMultiply(t,e,i){const a=t.a*e.a+t.c*e.b,s=t.b*e.a+t.d*e.b,r=t.a*e.c+t.c*e.d,n=t.b*e.c+t.d*e.d,o=t.e+t.a*e.e+t.c*e.f,l=t.f+t.b*e.e+t.d*e.f;return i.a=a,i.b=s,i.c=r,i.d=n,i.e=o,i.f=l,i}around(t,e,i){return this.clone().aroundO(t,e,i)}aroundO(t,e,i){const a=t||0,s=e||0;return this.translateO(-a,-s).lmultiplyO(i).translateO(a,s)}clone(){return new vt(this)}decompose(t=0,e=0){const i=this.a,a=this.b,s=this.c,r=this.d,n=this.e,o=this.f,l=i*r-a*s,h=l>0?1:-1,c=h*Math.sqrt(i*i+a*a),d=Math.atan2(h*a,h*i),u=180/Math.PI*d,g=Math.cos(d),p=Math.sin(d),f=(i*s+a*r)/l,x=s*c/(f*i-a)||r*c/(f*a+i);return{scaleX:c,scaleY:x,shear:f,rotate:u,translateX:n-t+t*g*c+e*(f*g*c-p*x),translateY:o-e+t*p*c+e*(f*p*c+g*x),originX:t,originY:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}equals(t){if(t===this)return!0;const e=new vt(t);return mt(this.a,e.a)&&mt(this.b,e.b)&&mt(this.c,e.c)&&mt(this.d,e.d)&&mt(this.e,e.e)&&mt(this.f,e.f)}flip(t,e){return this.clone().flipO(t,e)}flipO(t,e){return"x"===t?this.scaleO(-1,1,e,0):"y"===t?this.scaleO(1,-1,0,e):this.scaleO(-1,-1,t,e||t)}init(t){const e=vt.fromArray([1,0,0,1,0,0]);return t=t instanceof Gt?t.matrixify():"string"==typeof t?vt.fromArray(t.split(dt).map(parseFloat)):Array.isArray(t)?vt.fromArray(t):"object"==typeof t&&vt.isMatrixLike(t)?t:"object"==typeof t?(new vt).transform(t):6===arguments.length?vt.fromArray([].slice.call(arguments)):e,this.a=null!=t.a?t.a:e.a,this.b=null!=t.b?t.b:e.b,this.c=null!=t.c?t.c:e.c,this.d=null!=t.d?t.d:e.d,this.e=null!=t.e?t.e:e.e,this.f=null!=t.f?t.f:e.f,this}inverse(){return this.clone().inverseO()}inverseO(){const t=this.a,e=this.b,i=this.c,a=this.d,s=this.e,r=this.f,n=t*a-e*i;if(!n)throw new Error("Cannot invert "+this);const o=a/n,l=-e/n,h=-i/n,c=t/n,d=-(o*s+h*r),u=-(l*s+c*r);return this.a=o,this.b=l,this.c=h,this.d=c,this.e=d,this.f=u,this}lmultiply(t){return this.clone().lmultiplyO(t)}lmultiplyO(t){const e=t instanceof vt?t:new vt(t);return vt.matrixMultiply(e,this,this)}multiply(t){return this.clone().multiplyO(t)}multiplyO(t){const e=t instanceof vt?t:new vt(t);return vt.matrixMultiply(this,e,this)}rotate(t,e,i){return this.clone().rotateO(t,e,i)}rotateO(t,e=0,i=0){t=M(t);const a=Math.cos(t),s=Math.sin(t),{a:r,b:n,c:o,d:l,e:h,f:c}=this;return this.a=r*a-n*s,this.b=n*a+r*s,this.c=o*a-l*s,this.d=l*a+o*s,this.e=h*a-c*s+i*s-e*a+e,this.f=c*a+h*s-e*s-i*a+i,this}scale(){return this.clone().scaleO(...arguments)}scaleO(t,e=t,i=0,a=0){3===arguments.length&&(a=i,i=e,e=t);const{a:s,b:r,c:n,d:o,e:l,f:h}=this;return this.a=s*t,this.b=r*e,this.c=n*t,this.d=o*e,this.e=l*t-i*t+i,this.f=h*e-a*e+a,this}shear(t,e,i){return this.clone().shearO(t,e,i)}shearO(t,e=0,i=0){const{a:a,b:s,c:r,d:n,e:o,f:l}=this;return this.a=a+s*t,this.c=r+n*t,this.e=o+l*t-i*t,this}skew(){return this.clone().skewO(...arguments)}skewO(t,e=t,i=0,a=0){3===arguments.length&&(a=i,i=e,e=t),t=M(t),e=M(e);const s=Math.tan(t),r=Math.tan(e),{a:n,b:o,c:l,d:h,e:c,f:d}=this;return this.a=n+o*s,this.b=o+n*r,this.c=l+h*s,this.d=h+l*r,this.e=c+d*s-a*s,this.f=d+c*r-i*r,this}skewX(t,e,i){return this.skew(t,0,e,i)}skewY(t,e,i){return this.skew(0,t,e,i)}toArray(){return[this.a,this.b,this.c,this.d,this.e,this.f]}toString(){return"matrix("+this.a+","+this.b+","+this.c+","+this.d+","+this.e+","+this.f+")"}transform(t){if(vt.isMatrixLike(t)){return new vt(t).multiplyO(this)}const e=vt.formatTransforms(t),{x:i,y:a}=new bt(e.ox,e.oy).transform(this),s=(new vt).translateO(e.rx,e.ry).lmultiplyO(this).translateO(-i,-a).scaleO(e.scaleX,e.scaleY).skewO(e.skewX,e.skewY).shearO(e.shear).rotateO(e.theta).translateO(i,a);if(isFinite(e.px)||isFinite(e.py)){const t=new bt(i,a).transform(s),r=isFinite(e.px)?e.px-t.x:0,n=isFinite(e.py)?e.py-t.y:0;s.translateO(r,n)}return s.translateO(e.tx,e.ty),s}translate(t,e){return this.clone().translateO(t,e)}translateO(t,e){return this.e+=t||0,this.f+=e||0,this}valueOf(){return{a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f}}}function yt(){if(!yt.nodes){const t=B().size(2,0);t.node.style.cssText=["opacity: 0","position: absolute","left: -100%","top: -100%","overflow: hidden"].join(";"),t.attr("focusable","false"),t.attr("aria-hidden","true");const e=t.path().node;yt.nodes={svg:t,path:e}}if(!yt.nodes.svg.node.parentNode){const t=O.document.body||O.document.documentElement;yt.nodes.svg.addTo(t)}return yt.nodes}function wt(t){return!(t.width||t.height||t.x||t.y)}q(vt,"Matrix");class kt{constructor(...t){this.init(...t)}addOffset(){return this.x+=O.window.pageXOffset,this.y+=O.window.pageYOffset,new kt(this)}init(t){return t="string"==typeof t?t.split(dt).map(parseFloat):Array.isArray(t)?t:"object"==typeof t?[null!=t.left?t.left:t.x,null!=t.top?t.top:t.y,t.width,t.height]:4===arguments.length?[].slice.call(arguments):[0,0,0,0],this.x=t[0]||0,this.y=t[1]||0,this.width=this.w=t[2]||0,this.height=this.h=t[3]||0,this.x2=this.x+this.w,this.y2=this.y+this.h,this.cx=this.x+this.w/2,this.cy=this.y+this.h/2,this}isNulled(){return wt(this)}merge(t){const e=Math.min(this.x,t.x),i=Math.min(this.y,t.y),a=Math.max(this.x+this.width,t.x+t.width)-e,s=Math.max(this.y+this.height,t.y+t.height)-i;return new kt(e,i,a,s)}toArray(){return[this.x,this.y,this.width,this.height]}toString(){return this.x+" "+this.y+" "+this.width+" "+this.height}transform(t){t instanceof vt||(t=new vt(t));let e=1/0,i=-1/0,a=1/0,s=-1/0;return[new bt(this.x,this.y),new bt(this.x2,this.y),new bt(this.x,this.y2),new bt(this.x2,this.y2)].forEach((function(r){r=r.transform(t),e=Math.min(e,r.x),i=Math.max(i,r.x),a=Math.min(a,r.y),s=Math.max(s,r.y)})),new kt(e,a,i-e,s-a)}}function At(t,e,i){let a;try{if(a=e(t.node),wt(a)&&((s=t.node)!==O.document&&!(O.document.documentElement.contains||function(t){for(;t.parentNode;)t=t.parentNode;return t===O.document}).call(O.document.documentElement,s)))throw new Error("Element not in the dom")}catch(e){a=i(t)}var s;return a}A({viewbox:{viewbox(t,e,i,a){return null==t?new kt(this.attr("viewBox")):this.attr("viewBox",new kt(t,e,i,a))},zoom(t,e){let{width:i,height:a}=this.attr(["width","height"]);if((i||a)&&"string"!=typeof i&&"string"!=typeof a||(i=this.node.clientWidth,a=this.node.clientHeight),!i||!a)throw new Error("Impossible to get absolute width and height. Please provide an absolute width and height attribute on the zooming element");const s=this.viewbox(),r=i/s.width,n=a/s.height,o=Math.min(r,n);if(null==t)return o;let l=o/t;l===1/0&&(l=Number.MAX_SAFE_INTEGER/100),e=e||new bt(i/2/r+s.x,a/2/n+s.y);const h=new kt(s).transform(new vt({scale:l,origin:e}));return this.viewbox(h)}}}),q(kt,"Box");class Ct extends Array{constructor(t=[],...e){if(super(t,...e),"number"==typeof t)return this;this.length=0,this.push(...t)}}Q([Ct],{each(t,...e){return"function"==typeof t?this.map(((e,i,a)=>t.call(e,e,i,a))):this.map((i=>i[t](...e)))},toArray(){return Array.prototype.concat.apply([],this)}});const St=["toArray","constructor","each"];function Lt(t,e){return new Ct(L((e||O.document).querySelectorAll(t),(function(t){return V(t)})))}Ct.extend=function(t){t=t.reduce(((t,e)=>(St.includes(e)||"_"===e[0]||(e in Array.prototype&&(t["$"+e]=Array.prototype[e]),t[e]=function(...t){return this.each(e,...t)}),t)),{}),Q([Ct],t)};let Mt=0;const Pt={};function It(t){let e=t.getEventHolder();return e===O.window&&(e=Pt),e.events||(e.events={}),e.events}function Tt(t){return t.getEventTarget()}function zt(t,e,i,a,s){const r=i.bind(a||t),n=B(t),o=It(n),l=Tt(n);e=Array.isArray(e)?e:e.split(dt),i._svgjsListenerId||(i._svgjsListenerId=++Mt),e.forEach((function(t){const e=t.split(".")[0],a=t.split(".")[1]||"*";o[e]=o[e]||{},o[e][a]=o[e][a]||{},o[e][a][i._svgjsListenerId]=r,l.addEventListener(e,r,s||!1)}))}function Xt(t,e,i,a){const s=B(t),r=It(s),n=Tt(s);("function"!=typeof i||(i=i._svgjsListenerId))&&(e=Array.isArray(e)?e:(e||"").split(dt)).forEach((function(t){const e=t&&t.split(".")[0],o=t&&t.split(".")[1];let l,h;if(i)r[e]&&r[e][o||"*"]&&(n.removeEventListener(e,r[e][o||"*"][i],a||!1),delete r[e][o||"*"][i]);else if(e&&o){if(r[e]&&r[e][o]){for(h in r[e][o])Xt(n,[e,o].join("."),h);delete r[e][o]}}else if(o)for(t in r)for(l in r[t])o===l&&Xt(n,[t,o].join("."));else if(e){if(r[e]){for(l in r[e])Xt(n,[e,l].join("."));delete r[e]}}else{for(t in r)Xt(n,t);!function(t){let e=t.getEventHolder();e===O.window&&(e=Pt),e.events&&(e.events={})}(s)}}))}class Rt extends D{addEventListener(){}dispatch(t,e,i){return function(t,e,i,a){const s=Tt(t);return e instanceof O.window.Event||(e=new O.window.CustomEvent(e,{detail:i,cancelable:!0,...a})),s.dispatchEvent(e),e}(this,t,e,i)}dispatchEvent(t){const e=this.getEventHolder().events;if(!e)return!0;const i=e[t.type];for(const e in i)for(const a in i[e])i[e][a](t);return!t.defaultPrevented}fire(t,e,i){return this.dispatch(t,e,i),this}getEventHolder(){return this}getEventTarget(){return this}off(t,e,i){return Xt(this,t,e,i),this}on(t,e,i,a){return zt(this,t,e,i,a),this}removeEventListener(){}}function Et(){}q(Rt,"EventTarget");const Yt=400,Ht=">",Ot=0,Ft={"fill-opacity":1,"stroke-opacity":1,"stroke-width":0,"stroke-linejoin":"miter","stroke-linecap":"butt",fill:"#000000",stroke:"#000000",opacity:1,x:0,y:0,cx:0,cy:0,width:0,height:0,r:0,rx:0,ry:0,offset:0,"stop-opacity":1,"stop-color":"#000000","text-anchor":"start"};class Dt extends Array{constructor(...t){super(...t),this.init(...t)}clone(){return new this.constructor(this)}init(t){return"number"==typeof t||(this.length=0,this.push(...this.parse(t))),this}parse(t=[]){return t instanceof Array?t:t.trim().split(dt).map(parseFloat)}toArray(){return Array.prototype.concat.apply([],this)}toSet(){return new Set(this)}toString(){return this.join(" ")}valueOf(){const t=[];return t.push(...this),t}}class _t{constructor(...t){this.init(...t)}convert(t){return new _t(this.value,t)}divide(t){return t=new _t(t),new _t(this/t,this.unit||t.unit)}init(t,e){return e=Array.isArray(t)?t[1]:e,t=Array.isArray(t)?t[0]:t,this.value=0,this.unit=e||"","number"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:"string"==typeof t?(e=t.match(tt))&&(this.value=parseFloat(e[1]),"%"===e[5]?this.value/=100:"s"===e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof _t&&(this.value=t.valueOf(),this.unit=t.unit),this}minus(t){return t=new _t(t),new _t(this-t,this.unit||t.unit)}plus(t){return t=new _t(t),new _t(this+t,this.unit||t.unit)}times(t){return t=new _t(t),new _t(this*t,this.unit||t.unit)}toArray(){return[this.value,this.unit]}toJSON(){return this.toString()}
vendor: 1,300 bytes, line 46395
46395toString(){return("%"===this.unit?~~(1e8*this.value)/1e6:"s"===this.unit?this.value/1e3:this.value)+this.unit}valueOf(){return this.value}}const Nt=new Set(["fill","stroke","color","bgcolor","stop-color","flood-color","lighting-color"]),Wt=[];class Bt extends Rt{constructor(t,e){super(),this.node=t,this.type=t.nodeName,e&&t!==e&&this.attr(e)}add(t,e){return(t=B(t)).removeNamespace&&this.node instanceof O.window.SVGElement&&t.removeNamespace(),null==e?this.node.appendChild(t.node):t.node!==this.node.childNodes[e]&&this.node.insertBefore(t.node,this.node.childNodes[e]),this}addTo(t,e){return B(t).put(this,e)}children(){return new Ct(L(this.node.children,(function(t){return V(t)})))}clear(){for(;this.node.hasChildNodes();)this.node.removeChild(this.node.lastChild);return this}clone(t=!0,e=!0){this.writeDataToDom();let i=this.node.cloneNode(t);return e&&(i=J(i)),new this.constructor(i)}each(t,e){const i=this.children();let a,s;for(a=0,s=i.length;a<s;a++)t.apply(i[a],[a,i]),e&&i[a].each(t,e);return this}element(t,e){return this.put(new Bt(W(t),e))}first(){return V(this.node.firstChild)}get(t){return V(this.node.childNodes[t])}getEventHolder(){return this.node}getEventTarget(){return this.node}has(t){return this.index(t)>=0}html(t,e){return this.xml(t,e,"http://www.w3.org/1999/xhtml")}
vendor: 46,120 bytes, line 46395
46395id(t){return void 0!==t||this.node.id||(this.node.id=$(this.type)),this.attr("id",t)}index(t){return[].slice.call(this.node.childNodes).indexOf(t.node)}last(){return V(this.node.lastChild)}matches(t){const e=this.node,i=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.oMatchesSelector||null;return i&&i.call(e,t)}parent(t){let e=this;if(!e.node.parentNode)return null;if(e=V(e.node.parentNode),!t)return e;do{if("string"==typeof t?e.matches(t):e instanceof t)return e}while(e=V(e.node.parentNode));return e}put(t,e){return t=B(t),this.add(t,e),t}putIn(t,e){return B(t).add(this,e)}remove(){return this.parent()&&this.parent().removeElement(this),this}removeElement(t){return this.node.removeChild(t.node),this}replace(t){return t=B(t),this.node.parentNode&&this.node.parentNode.replaceChild(t.node,this.node),t}round(t=2,e=null){const i=10**t,a=this.attr(e);for(const t in a)"number"==typeof a[t]&&(a[t]=Math.round(a[t]*i)/i);return this.attr(a),this}svg(t,e){return this.xml(t,e,E)}toString(){return this.id()}words(t){return this.node.textContent=t,this}wrap(t){const e=this.parent();if(!e)return this.addTo(t);const i=e.index(this);return e.put(t,i).put(this)}writeDataToDom(){return this.each((function(){this.writeDataToDom()})),this}xml(t,e,i){if("boolean"==typeof t&&(i=e,e=t,t=null),null==t||"function"==typeof t){e=null==e||e,this.writeDataToDom();let i=this;if(null!=t){if(i=V(i.node.cloneNode(!0)),e){const e=t(i);if(i=e||i,!1===e)return""}i.each((function(){const e=t(this),i=e||this;!1===e?this.remove():e&&this!==i&&this.replace(i)}),!0)}return e?i.node.outerHTML:i.node.innerHTML}e=null!=e&&e;const a=W("wrapper",i),s=O.document.createDocumentFragment();a.innerHTML=t;for(let t=a.children.length;t--;)s.appendChild(a.firstElementChild);const r=this.parent();return e?this.replace(s)&&r:this.add(s)}}Q(Bt,{attr:function(t,e,i){if(null==t){t={},e=this.node.attributes;for(const i of e)t[i.nodeName]=ht.test(i.nodeValue)?parseFloat(i.nodeValue):i.nodeValue;return t}if(t instanceof Array)return t.reduce(((t,e)=>(t[e]=this.attr(e),t)),{});if("object"==typeof t&&t.constructor===Object)for(e in t)this.attr(e,t[e]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?Ft[t]:ht.test(e)?parseFloat(e):e;"number"==typeof(e=Wt.reduce(((e,i)=>i(t,e,this)),e))?e=new _t(e):Nt.has(t)&&xt.isColor(e)?e=new xt(e):e.constructor===Array&&(e=new Dt(e)),"leading"===t?this.leading&&this.leading(e):"string"==typeof i?this.node.setAttributeNS(i,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||"font-size"!==t&&"x"!==t||this.rebuild()}return this},find:function(t){return Lt(t,this.node)},findOne:function(t){return V(this.node.querySelector(t))}}),q(Bt,"Dom");let Gt=class extends Bt{constructor(t,e){super(t,e),this.dom={},this.node.instance=this,(t.hasAttribute("data-svgjs")||t.hasAttribute("svgjs:data"))&&this.setData(JSON.parse(t.getAttribute("data-svgjs"))??JSON.parse(t.getAttribute("svgjs:data"))??{})}center(t,e){return this.cx(t).cy(e)}cx(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)}cy(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)}defs(){const t=this.root();return t&&t.defs()}dmove(t,e){return this.dx(t).dy(e)}dx(t=0){return this.x(new _t(t).plus(this.x()))}dy(t=0){return this.y(new _t(t).plus(this.y()))}getEventHolder(){return this}height(t){return this.attr("height",t)}move(t,e){return this.x(t).y(e)}parents(t=this.root()){const e="string"==typeof t;e||(t=B(t));const i=new Ct;let a=this;for(;(a=a.parent())&&a.node!==O.document&&"#document-fragment"!==a.nodeName&&(i.push(a),e||a.node!==t.node)&&(!e||!a.matches(t));)if(a.node===this.root().node)return null;return i}reference(t){if(!(t=this.attr(t)))return null;const e=(t+"").match(at);return e?B(e[1]):null}root(){const t=this.parent(function(t){return _[t]}(N));return t&&t.root()}setData(t){return this.dom=t,this}size(t,e){const i=I(this,t,e);return this.width(new _t(i.width)).height(new _t(i.height))}width(t){return this.attr("width",t)}writeDataToDom(){return R(this,this.dom),super.writeDataToDom()}x(t){return this.attr("x",t)}y(t){return this.attr("y",t)}};Q(Gt,{bbox:function(){const t=At(this,(t=>t.getBBox()),(t=>{try{const e=t.clone().addTo(yt().svg).show(),i=e.node.getBBox();return e.remove(),i}catch(e){throw new Error(`Getting bbox of element "${t.node.nodeName}" is not possible: ${e.toString()}`)}}));return new kt(t)},rbox:function(t){const e=At(this,(t=>t.getBoundingClientRect()),(t=>{throw new Error(`Getting rbox of element "${t.node.nodeName}" is not possible`)})),i=new kt(e);return t?i.transform(t.screenCTM().inverseO()):i.addOffset()},inside:function(t,e){const i=this.bbox();return t>i.x&&e>i.y&&t<i.x+i.width&&e<i.y+i.height},point:function(t,e){return new bt(t,e).transformO(this.screenCTM().inverseO())},ctm:function(){return new vt(this.node.getCTM())},screenCTM:function(){try{if("function"==typeof this.isRoot&&!this.isRoot()){const t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new vt(e)}return new vt(this.node.getScreenCTM())}catch(t){return console.warn(`Cannot get CTM from SVG node ${this.node.nodeName}. Is the element rendered?`),new vt}}}),q(Gt,"Element");const jt={stroke:["color","width","opacity","linecap","linejoin","miterlimit","dasharray","dashoffset"],fill:["color","opacity","rule"],prefix:function(t,e){return"color"===e?t:t+"-"+e}};["fill","stroke"].forEach((function(t){const e={};let i;e[t]=function(e){if(void 0===e)return this.attr(t);if("string"==typeof e||e instanceof xt||xt.isRgb(e)||e instanceof Gt)this.attr(t,e);else for(i=jt[t].length-1;i>=0;i--)null!=e[jt[t][i]]&&this.attr(jt.prefix(t,jt[t][i]),e[jt[t][i]]);return this},A(["Element","Runner"],e)})),A(["Element","Runner"],{matrix:function(t,e,i,a,s,r){return null==t?new vt(this):this.attr("transform",new vt(t,e,i,a,s,r))},rotate:function(t,e,i){return this.transform({rotate:t,ox:e,oy:i},!0)},skew:function(t,e,i,a){return 1===arguments.length||3===arguments.length?this.transform({skew:t,ox:e,oy:i},!0):this.transform({skew:[t,e],ox:i,oy:a},!0)},shear:function(t,e,i){return this.transform({shear:t,ox:e,oy:i},!0)},scale:function(t,e,i,a){return 1===arguments.length||3===arguments.length?this.transform({scale:t,ox:e,oy:i},!0):this.transform({scale:[t,e],ox:i,oy:a},!0)},translate:function(t,e){return this.transform({translate:[t,e]},!0)},relative:function(t,e){return this.transform({relative:[t,e]},!0)},flip:function(t="both",e="center"){return-1==="xybothtrue".indexOf(t)&&(e=t,t="both"),this.transform({flip:t,origin:e},!0)},opacity:function(t){return this.attr("opacity",t)}}),A("radius",{radius:function(t,e=t){return"radialGradient"===(this._element||this).type?this.attr("r",new _t(t)):this.rx(t).ry(e)}}),A("Path",{length:function(){return this.node.getTotalLength()},pointAt:function(t){return new bt(this.node.getPointAtLength(t))}}),A(["Element","Runner"],{font:function(t,e){if("object"==typeof t){for(e in t)this.font(e,t[e]);return this}return"leading"===t?this.leading(e):"anchor"===t?this.attr("text-anchor",e):"size"===t||"family"===t||"weight"===t||"stretch"===t||"variant"===t||"style"===t?this.attr("font-"+t,e):this.attr(t,e)}});A("Element",["click","dblclick","mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","touchstart","touchmove","touchleave","touchend","touchcancel","contextmenu","wheel","pointerdown","pointermove","pointerup","pointerleave","pointercancel"].reduce((function(t,e){return t[e]=function(t){return null===t?this.off(e):this.on(e,t),this},t}),{})),A("Element",{untransform:function(){return this.attr("transform",null)},matrixify:function(){const t=(this.attr("transform")||"").split(st).slice(0,-1).map((function(t){const e=t.trim().split("(");return[e[0],e[1].split(dt).map((function(t){return parseFloat(t)}))]})).reverse().reduce((function(t,e){return"matrix"===e[0]?t.lmultiply(vt.fromArray(e[1])):t[e[0]].apply(t,e[1])}),new vt);return t},toParent:function(t,e){if(this===t)return this;if(X(this.node))return this.addTo(t,e);const i=this.screenCTM(),a=t.screenCTM().inverse();return this.addTo(t,e).untransform().transform(a.multiply(i)),this},toRoot:function(t){return this.toParent(this.root(),t)},transform:function(t,e){if(null==t||"string"==typeof t){const e=new vt(this).decompose();return null==t?e:e[t]}vt.isMatrixLike(t)||(t={...t,origin:T(t,this)});const i=new vt(!0===e?this:e||!1).transform(t);return this.attr("transform",i)}});class Vt extends Gt{flatten(){return this.each((function(){if(this instanceof Vt)return this.flatten().ungroup()})),this}ungroup(t=this.parent(),e=t.index(this)){return e=-1===e?t.children().length:e,this.each((function(i,a){return a[a.length-i-1].toParent(t,e)})),this.remove()}}q(Vt,"Container");class Ut extends Vt{constructor(t,e=t){super(G("defs",t),e)}flatten(){return this}ungroup(){return this}}q(Ut,"Defs");class qt extends Gt{}function Zt(t){return this.attr("rx",t)}function $t(t){return this.attr("ry",t)}function Jt(t){return null==t?this.cx()-this.rx():this.cx(t+this.rx())}function Qt(t){return null==t?this.cy()-this.ry():this.cy(t+this.ry())}function Kt(t){return this.attr("cx",t)}function te(t){return this.attr("cy",t)}function ee(t){return null==t?2*this.rx():this.rx(new _t(t).divide(2))}function ie(t){return null==t?2*this.ry():this.ry(new _t(t).divide(2))}q(qt,"Shape");var ae=Object.freeze({__proto__:null,cx:Kt,cy:te,height:ie,rx:Zt,ry:$t,width:ee,x:Jt,y:Qt});class se extends qt{constructor(t,e=t){super(G("ellipse",t),e)}size(t,e){const i=I(this,t,e);return this.rx(new _t(i.width).divide(2)).ry(new _t(i.height).divide(2))}}Q(se,ae),A("Container",{ellipse:K((function(t=0,e=t){return this.put(new se).size(t,e).move(0,0)}))}),q(se,"Ellipse");class re extends Bt{constructor(t=O.document.createDocumentFragment()){super(t)}xml(t,e,i){if("boolean"==typeof t&&(i=e,e=t,t=null),null==t||"function"==typeof t){const t=new Bt(W("wrapper",i));return t.add(this.node.cloneNode(!0)),t.xml(!1,i)}return super.xml(t,!1,i)}}function ne(t,e){return"radialGradient"===(this._element||this).type?this.attr({fx:new _t(t),fy:new _t(e)}):this.attr({x1:new _t(t),y1:new _t(e)})}function oe(t,e){return"radialGradient"===(this._element||this).type?this.attr({cx:new _t(t),cy:new _t(e)}):this.attr({x2:new _t(t),y2:new _t(e)})}q(re,"Fragment");var le=Object.freeze({__proto__:null,from:ne,to:oe});class he extends Vt{constructor(t,e){super(G(t+"Gradient","string"==typeof t?null:t),e)}attr(t,e,i){return"transform"===t&&(t="gradientTransform"),super.attr(t,e,i)}bbox(){return new kt}targets(){return Lt("svg [fill*="+this.id()+"]")}toString(){return this.url()}update(t){return this.clear(),"function"==typeof t&&t.call(this,this),this}url(){return"url(#"+this.id()+")"}}Q(he,le),A({Container:{gradient(...t){return this.defs().gradient(...t)}},Defs:{gradient:K((function(t,e){return this.put(new he(t)).update(e)}))}}),q(he,"Gradient");class ce extends Vt{constructor(t,e=t){super(G("pattern",t),e)}attr(t,e,i){return"transform"===t&&(t="patternTransform"),super.attr(t,e,i)}bbox(){return new kt}targets(){return Lt("svg [fill*="+this.id()+"]")}toString(){return this.url()}update(t){return this.clear(),"function"==typeof t&&t.call(this,this),this}url(){return"url(#"+this.id()+")"}}A({Container:{pattern(...t){return this.defs().pattern(...t)}},Defs:{pattern:K((function(t,e,i){return this.put(new ce).update(i).attr({x:0,y:0,width:t,height:e,patternUnits:"userSpaceOnUse"})}))}}),q(ce,"Pattern");let de=class extends qt{constructor(t,e=t){super(G("image",t),e)}load(t,e){if(!t)return this;const i=new O.window.Image;return zt(i,"load",(function(t){const a=this.parent(ce);0===this.width()&&0===this.height()&&this.size(i.width,i.height),a instanceof ce&&0===a.width()&&0===a.height()&&a.size(this.width(),this.height()),"function"==typeof e&&e.call(this,t)}),this),zt(i,"load error",(function(){Xt(i)})),this.attr("href",i.src=t,H)}};var ue;ue=function(t,e,i){return"fill"!==t&&"stroke"!==t||ct.test(e)&&(e=i.root().defs().image(e)),e instanceof de&&(e=i.root().defs().pattern(0,0,(t=>{t.add(e)}))),e},Wt.push(ue),A({Container:{image:K((function(t,e){return this.put(new de).size(0,0).load(t,e)}))}}),q(de,"Image");class ge extends Dt{bbox(){let t=-1/0,e=-1/0,i=1/0,a=1/0;return this.forEach((function(s){t=Math.max(s[0],t),e=Math.max(s[1],e),i=Math.min(s[0],i),a=Math.min(s[1],a)})),new kt(i,a,t-i,e-a)}move(t,e){const i=this.bbox();if(t-=i.x,e-=i.y,!isNaN(t)&&!isNaN(e))for(let i=this.length-1;i>=0;i--)this[i]=[this[i][0]+t,this[i][1]+e];return this}parse(t=[0,0]){const e=[];(t=t instanceof Array?Array.prototype.concat.apply([],t):t.trim().split(dt).map(parseFloat)).length%2!=0&&t.pop();for(let i=0,a=t.length;i<a;i+=2)e.push([t[i],t[i+1]]);return e}size(t,e){let i;const a=this.bbox();for(i=this.length-1;i>=0;i--)a.width&&(this[i][0]=(this[i][0]-a.x)*t/a.width+a.x),a.height&&(this[i][1]=(this[i][1]-a.y)*e/a.height+a.y);return this}toLine(){return{x1:this[0][0],y1:this[0][1],x2:this[1][0],y2:this[1][1]}}toString(){const t=[];for(let e=0,i=this.length;e<i;e++)t.push(this[e].join(","));return t.join(" ")}transform(t){return this.clone().transformO(t)}transformO(t){vt.isMatrixLike(t)||(t=new vt(t));for(let e=this.length;e--;){const[i,a]=this[e];this[e][0]=t.a*i+t.c*a+t.e,this[e][1]=t.b*i+t.d*a+t.f}return this}}const pe=ge;var fe=Object.freeze({__proto__:null,MorphArray:pe,height:function(t){const e=this.bbox();return null==t?e.height:this.size(e.width,t)},width:function(t){const e=this.bbox();return null==t?e.width:this.size(t,e.height)},x:function(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)},y:function(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)}});let xe=class extends qt{constructor(t,e=t){super(G("line",t),e)}array(){return new ge([[this.attr("x1"),this.attr("y1")],[this.attr("x2"),this.attr("y2")]])}move(t,e){return this.attr(this.array().move(t,e).toLine())}plot(t,e,i,a){return null==t?this.array():(t=void 0!==e?{x1:t,y1:e,x2:i,y2:a}:new ge(t).toLine(),this.attr(t))}size(t,e){const i=I(this,t,e);return this.attr(this.array().size(i.width,i.height).toLine())}};Q(xe,fe),A({Container:{line:K((function(...t){return xe.prototype.plot.apply(this.put(new xe),null!=t[0]?t:[0,0,0,0])}))}}),q(xe,"Line");let be=class extends Vt{constructor(t,e=t){super(G("marker",t),e)}height(t){return this.attr("markerHeight",t)}orient(t){return this.attr("orient",t)}ref(t,e){return this.attr("refX",t).attr("refY",e)}toString(){return"url(#"+this.id()+")"}update(t){return this.clear(),"function"==typeof t&&t.call(this,this),this}width(t){return this.attr("markerWidth",t)}};function me(t,e){return function(i){return null==i?this[t]:(this[t]=i,e&&e.call(this),this)}}A({Container:{marker(...t){return this.defs().marker(...t)}},Defs:{marker:K((function(t,e,i){return this.put(new be).size(t,e).ref(t/2,e/2).viewbox(0,0,t,e).attr("orient","auto").update(i)}))},marker:{marker(t,e,i,a){let s=["marker"];return"all"!==t&&s.push(t),s=s.join("-"),t=arguments[1]instanceof be?arguments[1]:this.defs().marker(e,i,a),this.attr(s,t)}}}),q(be,"Marker");const ve={"-":function(t){return t},"<>":function(t){return-Math.cos(t*Math.PI)/2+.5},">":function(t){return Math.sin(t*Math.PI/2)},"<":function(t){return 1-Math.cos(t*Math.PI/2)},bezier:function(t,e,i,a){return function(s){return s<0?t>0?e/t*s:i>0?a/i*s:0:s>1?i<1?(1-a)/(1-i)*s+(a-i)/(1-i):t<1?(1-e)/(1-t)*s+(e-t)/(1-t):1:3*s*(1-s)**2*e+3*s**2*(1-s)*a+s**3}},steps:function(t,e="end"){e=e.split("-").reverse()[0];let i=t;return"none"===e?--i:"both"===e&&++i,(a,s=!1)=>{let r=Math.floor(a*t);const n=a*r%1==0;return"start"!==e&&"both"!==e||++r,s&&n&&--r,a>=0&&r<0&&(r=0),a<=1&&r>i&&(r=i),r/i}}};class ye{done(){return!1}}class we extends ye{constructor(t=Ht){super(),this.ease=ve[t]||t}step(t,e,i){return"number"!=typeof t?i<1?t:e:t+(e-t)*this.ease(i)}}class ke extends ye{constructor(t){super(),this.stepper=t}done(t){return t.done}step(t,e,i,a){return this.stepper(t,e,i,a)}}function Ae(){const t=(this._duration||500)/1e3,e=this._overshoot||0,i=Math.PI,a=Math.log(e/100+1e-10),s=-a/Math.sqrt(i*i+a*a),r=3.9/(s*t);this.d=2*s*r,this.k=r*r}Q(class extends ke{constructor(t=500,e=0){super(),this.duration(t).overshoot(e)}step(t,e,i,a){if("string"==typeof t)return t;if(a.done=i===1/0,i===1/0)return e;if(0===i)return t;i>100&&(i=16),i/=1e3;const s=a.velocity||0,r=-this.d*s-this.k*(t-e),n=t+s*i+r*i*i/2;return a.velocity=s+r*i,a.done=Math.abs(e-n)+Math.abs(s)<.002,a.done?e:n}},{duration:me("_duration",Ae),overshoot:me("_overshoot",Ae)});Q(class extends ke{constructor(t=.1,e=.01,i=0,a=1e3){super(),this.p(t).i(e).d(i).windup(a)}step(t,e,i,a){if("string"==typeof t)return t;if(a.done=i===1/0,i===1/0)return e;if(0===i)return t;const s=e-t;let r=(a.integral||0)+s*i;const n=(s-(a.error||0))/i,o=this._windup;return!1!==o&&(r=Math.max(-o,Math.min(r,o))),a.error=s,a.integral=r,a.done=Math.abs(s)<.001,a.done?e:t+(this.P*s+this.I*r+this.D*n)}},{windup:me("_windup"),p:me("P"),i:me("I"),d:me("D")});const Ce={M:2,L:2,H:1,V:1,C:6,S:4,Q:4,T:2,A:7,Z:0},Se={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],["M",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],["L",t[0],t[1]]},H:function(t,e){return e.x=t[0],["H",t[0]]},V:function(t,e){return e.y=t[0],["V",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],["C",t[0],t[1],t[2],t[3],t[4],t[5]]},S:function(t,e){return e.x=t[2],e.y=t[3],["S",t[0],t[1],t[2],t[3]]},Q:function(t,e){return e.x=t[2],e.y=t[3],["Q",t[0],t[1],t[2],t[3]]},T:function(t,e){return e.x=t[0],e.y=t[1],["T",t[0],t[1]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,["Z"]},A:function(t,e){return e.x=t[5],e.y=t[6],["A",t[0],t[1],t[2],t[3],t[4],t[5],t[6]]}},Le="mlhvqtcsaz".split("");for(let t=0,e=Le.length;t<e;++t)Se[Le[t]]=function(t){return function(e,i,a){if("H"===t)e[0]=e[0]+i.x;else if("V"===t)e[0]=e[0]+i.y;else if("A"===t)e[5]=e[5]+i.x,e[6]=e[6]+i.y;else for(let t=0,a=e.length;t<a;++t)e[t]=e[t]+(t%2?i.y:i.x);return Se[t](e,i,a)}}(Le[t].toUpperCase());function Me(t){return t.segment.length&&t.segment.length-1===Ce[t.segment[0].toUpperCase()]}function Pe(t,e){t.inNumber&&Ie(t,!1);const i=ut.test(e);if(i)t.segment=[e];else{const e=t.lastCommand,i=e.toLowerCase(),a=e===i;t.segment=["m"===i?a?"l":"L":e]}return t.inSegment=!0,t.lastCommand=t.segment[0],i}function Ie(t,e){if(!t.inNumber)throw new Error("Parser Error");t.number&&t.segment.push(parseFloat(t.number)),t.inNumber=e,t.number="",t.pointSeen=!1,t.hasExponent=!1,Me(t)&&Te(t)}function Te(t){t.inSegment=!1,t.absolute&&(t.segment=function(t){const e=t.segment[0];return Se[e](t.segment.slice(1),t.p,t.p0)}(t)),t.segments.push(t.segment)}function ze(t){if(!t.segment.length)return!1;const e="A"===t.segment[0].toUpperCase(),i=t.segment.length;return e&&(4===i||5===i)}function Xe(t){return"E"===t.lastToken.toUpperCase()}const Re=new Set([" ",",","\t","\n","\r","\f"]);class Ee extends Dt{bbox(){return yt().path.setAttribute("d",this.toString()),new kt(yt.nodes.path.getBBox())}move(t,e){const i=this.bbox();if(t-=i.x,e-=i.y,!isNaN(t)&&!isNaN(e))for(let i,a=this.length-1;a>=0;a--)i=this[a][0],"M"===i||"L"===i||"T"===i?(this[a][1]+=t,this[a][2]+=e):"H"===i?this[a][1]+=t:"V"===i?this[a][1]+=e:"C"===i||"S"===i||"Q"===i?(this[a][1]+=t,this[a][2]+=e,this[a][3]+=t,this[a][4]+=e,"C"===i&&(this[a][5]+=t,this[a][6]+=e)):"A"===i&&(this[a][6]+=t,this[a][7]+=e);return this}parse(t="M0 0"){return Array.isArray(t)&&(t=Array.prototype.concat.apply([],t).toString()),function(t,e=!0){let i=0,a="";const s={segment:[],inNumber:!1,number:"",lastToken:"",inSegment:!1,segments:[],pointSeen:!1,hasExponent:!1,absolute:e,p0:new bt,p:new bt};for(;s.lastToken=a,a=t.charAt(i++);)if(s.inSegment||!Pe(s,a))if("."!==a)if(isNaN(parseInt(a)))if(Re.has(a))s.inNumber&&Ie(s,!1);else if("-"!==a&&"+"!==a)if("E"!==a.toUpperCase()){if(ut.test(a)){if(s.inNumber)Ie(s,!1);else{if(!Me(s))throw new Error("parser Error");Te(s)}--i}}else s.number+=a,s.hasExponent=!0;else{if(s.inNumber&&!Xe(s)){Ie(s,!1),--i;continue}s.number+=a,s.inNumber=!0}else{if("0"===s.number||ze(s)){s.inNumber=!0,s.number=a,Ie(s,!0);continue}s.inNumber=!0,s.number+=a}else{if(s.pointSeen||s.hasExponent){Ie(s,!1),--i;continue}s.inNumber=!0,s.pointSeen=!0,s.number+=a}return s.inNumber&&Ie(s,!1),s.inSegment&&Me(s)&&Te(s),s.segments}(t)}size(t,e){const i=this.bbox();let a,s;for(i.width=0===i.width?1:i.width,i.height=0===i.height?1:i.height,a=this.length-1;a>=0;a--)s=this[a][0],"M"===s||"L"===s||"T"===s?(this[a][1]=(this[a][1]-i.x)*t/i.width+i.x,this[a][2]=(this[a][2]-i.y)*e/i.height+i.y):"H"===s?this[a][1]=(this[a][1]-i.x)*t/i.width+i.x:"V"===s?this[a][1]=(this[a][1]-i.y)*e/i.height+i.y:"C"===s||"S"===s||"Q"===s?(this[a][1]=(this[a][1]-i.x)*t/i.width+i.x,this[a][2]=(this[a][2]-i.y)*e/i.height+i.y,this[a][3]=(this[a][3]-i.x)*t/i.width+i.x,this[a][4]=(this[a][4]-i.y)*e/i.height+i.y,"C"===s&&(this[a][5]=(this[a][5]-i.x)*t/i.width+i.x,this[a][6]=(this[a][6]-i.y)*e/i.height+i.y)):"A"===s&&(this[a][1]=this[a][1]*t/i.width,this[a][2]=this[a][2]*e/i.height,this[a][6]=(this[a][6]-i.x)*t/i.width+i.x,this[a][7]=(this[a][7]-i.y)*e/i.height+i.y);return this}toString(){return function(t){let e="";for(let i=0,a=t.length;i<a;i++)e+=t[i][0],null!=t[i][1]&&(e+=t[i][1],null!=t[i][2]&&(e+=" ",e+=t[i][2],null!=t[i][3]&&(e+=" ",e+=t[i][3],e+=" ",e+=t[i][4],null!=t[i][5]&&(e+=" ",e+=t[i][5],e+=" ",e+=t[i][6],null!=t[i][7]&&(e+=" ",e+=t[i][7])))));return e+" "}(this)}}const Ye=t=>{const e=typeof t;return"number"===e?_t:"string"===e?xt.isColor(t)?xt:dt.test(t)?ut.test(t)?Ee:Dt:tt.test(t)?_t:Oe:Ne.indexOf(t.constructor)>-1?t.constructor:Array.isArray(t)?Dt:"object"===e?_e:Oe};class He{constructor(t){this._stepper=t||new we("-"),this._from=null,this._to=null,this._type=null,this._context=null,this._morphObj=null}at(t){return this._morphObj.morph(this._from,this._to,t,this._stepper,this._context)}done(){return this._context.map(this._stepper.done).reduce((function(t,e){return t&&e}),!0)}from(t){return null==t?this._from:(this._from=this._set(t),this)}stepper(t){return null==t?this._stepper:(this._stepper=t,this)}to(t){return null==t?this._to:(this._to=this._set(t),this)}type(t){return null==t?this._type:(this._type=t,this)}_set(t){this._type||this.type(Ye(t));let e=new this._type(t);return this._type===xt&&(e=this._to?e[this._to[4]]():this._from?e[this._from[4]]():e),this._type===_e&&(e=this._to?e.align(this._to):this._from?e.align(this._from):e),e=e.toConsumable(),this._morphObj=this._morphObj||new this._type,this._context=this._context||Array.apply(null,Array(e.length)).map(Object).map((function(t){return t.done=!0,t})),e}}class Oe{constructor(...t){this.init(...t)}init(t){return t=Array.isArray(t)?t[0]:t,this.value=t,this}toArray(){return[this.value]}valueOf(){return this.value}}class Fe{constructor(...t){this.init(...t)}init(t){return Array.isArray(t)&&(t={scaleX:t[0],scaleY:t[1],shear:t[2],rotate:t[3],translateX:t[4],translateY:t[5],originX:t[6],originY:t[7]}),Object.assign(this,Fe.defaults,t),this}toArray(){const t=this;return[t.scaleX,t.scaleY,t.shear,t.rotate,t.translateX,t.translateY,t.originX,t.originY]}}Fe.defaults={scaleX:1,scaleY:1,shear:0,rotate:0,translateX:0,translateY:0,originX:0,originY:0};const De=(t,e)=>t[0]<e[0]?-1:t[0]>e[0]?1:0;class _e{constructor(...t){this.init(...t)}align(t){const e=this.values;for(let i=0,a=e.length;i<a;++i){if(e[i+1]===t[i+1]){if(e[i+1]===xt&&t[i+7]!==e[i+7]){const e=t[i+7],a=new xt(this.values.splice(i+3,5))[e]().toArray();this.values.splice(i+3,0,...a)}i+=e[i+2]+2;continue}if(!t[i+1])return this;const a=(new t[i+1]).toArray(),s=e[i+2]+3;e.splice(i,s,t[i],t[i+1],t[i+2],...a),i+=e[i+2]+2}return this}init(t){if(this.values=[],Array.isArray(t))return void(this.values=t.slice());t=t||{};const e=[];for(const i in t){const a=Ye(t[i]),s=new a(t[i]).toArray();e.push([i,a,s.length,...s])}return e.sort(De),this.values=e.reduce(((t,e)=>t.concat(e)),[]),this}toArray(){return this.values}valueOf(){const t={},e=this.values;for(;e.length;){const i=e.shift(),a=e.shift(),s=e.shift(),r=e.splice(0,s);t[i]=new a(r)}return t}}const Ne=[Oe,Fe,_e];class We extends qt{constructor(t,e=t){super(G("path",t),e)}array(){return this._array||(this._array=new Ee(this.attr("d")))}clear(){return delete this._array,this}height(t){return null==t?this.bbox().height:this.size(this.bbox().width,t)}move(t,e){return this.attr("d",this.array().move(t,e))}plot(t){return null==t?this.array():this.clear().attr("d","string"==typeof t?t:this._array=new Ee(t))}size(t,e){const i=I(this,t,e);return this.attr("d",this.array().size(i.width,i.height))}width(t){return null==t?this.bbox().width:this.size(t,this.bbox().height)}x(t){return null==t?this.bbox().x:this.move(t,this.bbox().y)}y(t){return null==t?this.bbox().y:this.move(this.bbox().x,t)}}We.prototype.MorphArray=Ee,A({Container:{path:K((function(t){return this.put(new We).plot(t||new Ee)}))}}),q(We,"Path");var Be=Object.freeze({__proto__:null,array:function(){return this._array||(this._array=new ge(this.attr("points")))},clear:function(){return delete this._array,this},move:function(t,e){return this.attr("points",this.array().move(t,e))},plot:function(t){return null==t?this.array():this.clear().attr("points","string"==typeof t?t:this._array=new ge(t))},size:function(t,e){const i=I(this,t,e);return this.attr("points",this.array().size(i.width,i.height))}});class Ge extends qt{constructor(t,e=t){super(G("polygon",t),e)}}A({Container:{polygon:K((function(t){return this.put(new Ge).plot(t||new ge)}))}}),Q(Ge,fe),Q(Ge,Be),q(Ge,"Polygon");class je extends qt{constructor(t,e=t){super(G("polyline",t),e)}}A({Container:{polyline:K((function(t){return this.put(new je).plot(t||new ge)}))}}),Q(je,fe),Q(je,Be),q(je,"Polyline");class Ve extends qt{constructor(t,e=t){super(G("rect",t),e)}}Q(Ve,{rx:Zt,ry:$t}),A({Container:{rect:K((function(t,e){return this.put(new Ve).size(t,e)}))}}),q(Ve,"Rect");class Ue{constructor(){this._first=null,this._last=null}first(){return this._first&&this._first.value}last(){return this._last&&this._last.value}push(t){const e=void 0!==t.next?t:{value:t,next:null,prev:null};return this._last?(e.prev=this._last,this._last.next=e,this._last=e):(this._last=e,this._first=e),e}remove(t){t.prev&&(t.prev.next=t.next),t.next&&(t.next.prev=t.prev),t===this._last&&(this._last=t.prev),t===this._first&&(this._first=t.next),t.prev=null,t.next=null}shift(){const t=this._first;return t?(this._first=t.next,this._first&&(this._first.prev=null),this._last=this._first?this._last:null,t.value):null}}const qe={nextDraw:null,frames:new Ue,timeouts:new Ue,immediates:new Ue,timer:()=>O.window.performance||O.window.Date,transforms:[],frame(t){const e=qe.frames.push({run:t});return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),e},timeout(t,e){e=e||0;const i=qe.timer().now()+e,a=qe.timeouts.push({run:t,time:i});return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),a},immediate(t){const e=qe.immediates.push(t);return null===qe.nextDraw&&(qe.nextDraw=O.window.requestAnimationFrame(qe._draw)),e},cancelFrame(t){null!=t&&qe.frames.remove(t)},clearTimeout(t){null!=t&&qe.timeouts.remove(t)},cancelImmediate(t){null!=t&&qe.immediates.remove(t)},_draw(t){let e=null;const i=qe.timeouts.last();for(;(e=qe.timeouts.shift())&&(t>=e.time?e.run():qe.timeouts.push(e),e!==i););let a=null;const s=qe.frames.last();for(;a!==s&&(a=qe.frames.shift());)a.run(t);let r=null;for(;r=qe.immediates.shift();)r();qe.nextDraw=qe.timeouts.first()||qe.frames.first()?O.window.requestAnimationFrame(qe._draw):null}},Ze=function(t){const e=t.start,i=t.runner.duration();return{start:e,duration:i,end:e+i,runner:t.runner}},$e=function(){const t=O.window;return(t.performance||t.Date).now()};class Je extends Rt{constructor(t=$e){super(),this._timeSource=t,this.terminate()}active(){return!!this._nextFrame}finish(){return this.time(this.getEndTimeOfTimeline()+1),this.pause()}getEndTime(){const t=this.getLastRunnerInfo(),e=t?t.runner.duration():0;return(t?t.start:this._time)+e}getEndTimeOfTimeline(){const t=this._runners.map((t=>t.start+t.runner.duration()));return Math.max(0,...t)}getLastRunnerInfo(){return this.getRunnerInfoById(this._lastRunnerId)}getRunnerInfoById(t){return this._runners[this._runnerIds.indexOf(t)]||null}pause(){return this._paused=!0,this._continue()}persist(t){return null==t?this._persist:(this._persist=t,this)}play(){return this._paused=!1,this.updateTime()._continue()}reverse(t){const e=this.speed();if(null==t)return this.speed(-e);const i=Math.abs(e);return this.speed(t?-i:i)}schedule(t,e,i){if(null==t)return this._runners.map(Ze);let a=0;const s=this.getEndTime();if(e=e||0,null==i||"last"===i||"after"===i)a=s;else if("absolute"===i||"start"===i)a=e,e=0;else if("now"===i)a=this._time;else if("relative"===i){const i=this.getRunnerInfoById(t.id);i&&(a=i.start+e,e=0)}else{if("with-last"!==i)throw new Error('Invalid value for the "when" parameter');{const t=this.getLastRunnerInfo();a=t?t.start:this._time}}t.unschedule(),t.timeline(this);const r=t.persist(),n={persist:null===r?this._persist:r,start:a+e,runner:t};return this._lastRunnerId=t.id,this._runners.push(n),this._runners.sort(((t,e)=>t.start-e.start)),this._runnerIds=this._runners.map((t=>t.runner.id)),this.updateTime()._continue(),this}seek(t){return this.time(this._time+t)}source(t){return null==t?this._timeSource:(this._timeSource=t,this)}speed(t){return null==t?this._speed:(this._speed=t,this)}stop(){return this.time(0),this.pause()}time(t){return null==t?this._time:(this._time=t,this._continue(!0))}unschedule(t){const e=this._runnerIds.indexOf(t.id);return e<0||(this._runners.splice(e,1),this._runnerIds.splice(e,1),t.timeline(null)),this}updateTime(){return this.active()||(this._lastSourceTime=this._timeSource()),this}_continue(t=!1){return qe.cancelFrame(this._nextFrame),this._nextFrame=null,t?this._stepImmediate():(this._paused||(this._nextFrame=qe.frame(this._step)),this)}_stepFn(t=!1){const e=this._timeSource();let i=e-this._lastSourceTime;t&&(i=0);const a=this._speed*i+(this._time-this._lastStepTime);this._lastSourceTime=e,t||(this._time+=a,this._time=this._time<0?0:this._time),this._lastStepTime=this._time,this.fire("time",this._time);for(let t=this._runners.length;t--;){const e=this._runners[t],i=e.runner;this._time-e.start<=0&&i.reset()}let s=!1;for(let t=0,e=this._runners.length;t<e;t++){const i=this._runners[t],r=i.runner;let n=a;const o=this._time-i.start;if(o<=0){s=!0;continue}if(o<n&&(n=o),!r.active())continue;if(r.step(n).done){if(!0!==i.persist){r.duration()-r.time()+this._time+i.persist<this._time&&(r.unschedule(),--t,--e)}}else s=!0}return s&&!(this._speed<0&&0===this._time)||this._runnerIds.length&&this._speed<0&&this._time>0?this._continue():(this.pause(),this.fire("finished")),this}terminate(){this._startTime=0,this._speed=1,this._persist=0,this._nextFrame=null,this._paused=!0,this._runners=[],this._runnerIds=[],this._lastRunnerId=-1,this._time=0,this._lastSourceTime=0,this._lastStepTime=0,this._step=this._stepFn.bind(this,!1),this._stepImmediate=this._stepFn.bind(this,!0)}}A({Element:{timeline:function(t){return null==t?(this._timeline=this._timeline||new Je,this._timeline):(this._timeline=t,this)}}});class Qe extends Rt{constructor(t){super(),this.id=Qe.id++,t="function"==typeof(t=null==t?Yt:t)?new ke(t):t,this._element=null,this._timeline=null,this.done=!1,this._queue=[],this._duration="number"==typeof t&&t,this._isDeclarative=t instanceof ke,this._stepper=this._isDeclarative?t:new we,this._history={},this.enabled=!0,this._time=0,this._lastTime=0,this._reseted=!0,this.transforms=new vt,this.transformId=1,this._haveReversed=!1,this._reverse=!1,this._loopsDone=0,this._swing=!1,this._wait=0,this._times=1,this._frameId=null,this._persist=!!this._isDeclarative||null}static sanitise(t,e,i){let a=1,s=!1,r=0;return e=e??Ot,i=i||"last","object"!=typeof(t=t??Yt)||t instanceof ye||(e=t.delay??e,i=t.when??i,s=t.swing||s,a=t.times??a,r=t.wait??r,t=t.duration??Yt),{duration:t,delay:e,swing:s,times:a,wait:r,when:i}}active(t){return null==t?this.enabled:(this.enabled=t,this)}addTransform(t){return this.transforms.lmultiplyO(t),this}after(t){return this.on("finished",t)}animate(t,e,i){const a=Qe.sanitise(t,e,i),s=new Qe(a.duration);return this._timeline&&s.timeline(this._timeline),this._element&&s.element(this._element),s.loop(a).schedule(a.delay,a.when)}clearTransform(){return this.transforms=new vt,this}clearTransformsFromQueue(){this.done&&this._timeline&&this._timeline._runnerIds.includes(this.id)||(this._queue=this._queue.filter((t=>!t.isTransform)))}delay(t){return this.animate(0,t)}duration(){return this._times*(this._wait+this._duration)-this._wait}during(t){return this.queue(null,t)}ease(t){return this._stepper=new we(t),this}element(t){return null==t?this._element:(this._element=t,t._prepareRunner(),this)}finish(){return this.step(1/0)}loop(t,e,i){return"object"==typeof t&&(e=t.swing,i=t.wait,t=t.times),this._times=t||1/0,this._swing=e||!1,this._wait=i||0,!0===this._times&&(this._times=1/0),this}loops(t){const e=this._duration+this._wait;if(null==t){const t=Math.floor(this._time/e),i=(this._time-t*e)/this._duration;return Math.min(t+i,this._times)}const i=t%1,a=e*Math.floor(t)+this._duration*i;return this.time(a)}persist(t){return null==t?this._persist:(this._persist=t,this)}position(t){const e=this._time,i=this._duration,a=this._wait,s=this._times,r=this._swing,n=this._reverse;let o;if(null==t){const t=function(t){const e=r*Math.floor(t%(2*(a+i))/(a+i)),s=e&&!n||!e&&n,o=Math.pow(-1,s)*(t%(a+i))/i+s;return Math.max(Math.min(o,1),0)},l=s*(a+i)-a;return o=e<=0?Math.round(t(1e-5)):e<l?t(e):Math.round(t(l-1e-5)),o}const l=Math.floor(this.loops()),h=r&&l%2==0;return o=l+(h&&!n||n&&h?t:1-t),this.loops(o)}progress(t){return null==t?Math.min(1,this._time/this.duration()):this.time(t*this.duration())}queue(t,e,i,a){this._queue.push({initialiser:t||Et,runner:e||Et,retarget:i,isTransform:a,initialised:!1,finished:!1});return this.timeline()&&this.timeline()._continue(),this}reset(){return this._reseted||(this.time(0),this._reseted=!0),this}reverse(t){return this._reverse=null==t?!this._reverse:t,this}schedule(t,e,i){if(t instanceof Je||(i=e,e=t,t=this.timeline()),!t)throw Error("Runner cannot be scheduled without timeline");return t.schedule(this,e,i),this}step(t){if(!this.enabled)return this;t=null==t?16:t,this._time+=t;const e=this.position(),i=this._lastPosition!==e&&this._time>=0;this._lastPosition=e;const a=this.duration(),s=this._lastTime<=0&&this._time>0,r=this._lastTime<a&&this._time>=a;this._lastTime=this._time,s&&this.fire("start",this);const n=this._isDeclarative;this.done=!n&&!r&&this._time>=a,this._reseted=!1;let o=!1;return(i||n)&&(this._initialise(i),this.transforms=new vt,o=this._run(n?t:e),this.fire("step",this)),this.done=this.done||o&&n,r&&this.fire("finished",this),this}time(t){if(null==t)return this._time;const e=t-this._time;return this.step(e),this}timeline(t){return void 0===t?this._timeline:(this._timeline=t,this)}unschedule(){const t=this.timeline();return t&&t.unschedule(this),this}_initialise(t){if(t||this._isDeclarative)for(let e=0,i=this._queue.length;e<i;++e){const i=this._queue[e],a=this._isDeclarative||!i.initialised&&t;t=!i.finished,a&&t&&(i.initialiser.call(this),i.initialised=!0)}}_rememberMorpher(t,e){if(this._history[t]={morpher:e,caller:this._queue[this._queue.length-1]},this._isDeclarative){const t=this.timeline();t&&t.play()}}_run(t){let e=!0;for(let i=0,a=this._queue.length;i<a;++i){const a=this._queue[i],s=a.runner.call(this,t);a.finished=a.finished||!0===s,e=e&&a.finished}return e}_tryRetarget(t,e,i){if(this._history[t]){if(!this._history[t].caller.initialised){const e=this._queue.indexOf(this._history[t].caller);return this._queue.splice(e,1),!1}this._history[t].caller.retarget?this._history[t].caller.retarget.call(this,e,i):this._history[t].morpher.to(e),this._history[t].caller.finished=!1;const a=this.timeline();return a&&a.play(),!0}return!1}}Qe.id=0;class Ke{constructor(t=new vt,e=-1,i=!0){this.transforms=t,this.id=e,this.done=i}clearTransformsFromQueue(){}}Q([Qe,Ke],{mergeWith(t){return new Ke(t.transforms.lmultiply(this.transforms),t.id)}});const ti=(t,e)=>t.lmultiplyO(e),ei=t=>t.transforms;function ii(){const t=this._transformationRunners.runners.map(ei).reduce(ti,new vt);this.transform(t),this._transformationRunners.merge(),1===this._transformationRunners.length()&&(this._frameId=null)}class ai{constructor(){this.runners=[],this.ids=[]}add(t){if(this.runners.includes(t))return;const e=t.id+1;return this.runners.push(t),this.ids.push(e),this}clearBefore(t){const e=this.ids.indexOf(t+1)||1;return this.ids.splice(0,e,0),this.runners.splice(0,e,new Ke).forEach((t=>t.clearTransformsFromQueue())),this}edit(t,e){const i=this.ids.indexOf(t+1);return this.ids.splice(i,1,t+1),this.runners.splice(i,1,e),this}getByID(t){return this.runners[this.ids.indexOf(t+1)]}length(){return this.ids.length}merge(){let t=null;for(let e=0;e<this.runners.length;++e){const i=this.runners[e];if(t&&i.done&&t.done&&(!i._timeline||!i._timeline._runnerIds.includes(i.id))&&(!t._timeline||!t._timeline._runnerIds.includes(t.id))){this.remove(i.id);const a=i.mergeWith(t);this.edit(t.id,a),t=a,--e}else t=i}return this}remove(t){const e=this.ids.indexOf(t+1);return this.ids.splice(e,1),this.runners.splice(e,1),this}}A({Element:{animate(t,e,i){const a=Qe.sanitise(t,e,i),s=this.timeline();return new Qe(a.duration).loop(a).element(this).timeline(s.play()).schedule(a.delay,a.when)},delay(t,e){return this.animate(0,t,e)},_clearTransformRunnersBefore(t){this._transformationRunners.clearBefore(t.id)},_currentTransform(t){return this._transformationRunners.runners.filter((e=>e.id<=t.id)).map(ei).reduce(ti,new vt)},_addRunner(t){this._transformationRunners.add(t),qe.cancelImmediate(this._frameId),this._frameId=qe.immediate(ii.bind(this))},_prepareRunner(){null==this._frameId&&(this._transformationRunners=(new ai).add(new Ke(new vt(this))))}}});Q(Qe,{attr(t,e){return this.styleAttr("attr",t,e)},css(t,e){return this.styleAttr("css",t,e)},styleAttr(t,e,i){if("string"==typeof e)return this.styleAttr(t,{[e]:i});let a=e;if(this._tryRetarget(t,a))return this;let s=new He(this._stepper).to(a),r=Object.keys(a);return this.queue((function(){s=s.from(this.element()[t](r))}),(function(e){return this.element()[t](s.at(e).valueOf()),s.done()}),(function(e){const i=Object.keys(e),n=(o=r,i.filter((t=>!o.includes(t))));var o;if(n.length){const e=this.element()[t](n),i=new _e(s.from()).valueOf();Object.assign(i,e),s.from(i)}const l=new _e(s.to()).valueOf();Object.assign(l,e),s.to(l),r=i,a=e})),this._rememberMorpher(t,s),this},zoom(t,e){if(this._tryRetarget("zoom",t,e))return this;let i=new He(this._stepper).to(new _t(t));return this.queue((function(){i=i.from(this.element().zoom())}),(function(t){return this.element().zoom(i.at(t),e),i.done()}),(function(t,a){e=a,i.to(t)})),this._rememberMorpher("zoom",i),this},transform(t,e,i){if(e=t.relative||e,this._isDeclarative&&!e&&this._tryRetarget("transform",t))return this;const a=vt.isMatrixLike(t);i=null!=t.affine?t.affine:null!=i?i:!a;const s=new He(this._stepper).type(i?Fe:vt);let r,n,o,l,h;return this.queue((function(){n=n||this.element(),r=r||T(t,n),h=new vt(e?void 0:n),n._addRunner(this),e||n._clearTransformRunnersBefore(this)}),(function(c){e||this.clearTransform();const{x:d,y:u}=new bt(r).transform(n._currentTransform(this));let g=new vt({...t,origin:[d,u]}),p=this._isDeclarative&&o?o:h;if(i){g=g.decompose(d,u),p=p.decompose(d,u);const t=g.rotate,e=p.rotate,i=[t-360,t,t+360],a=i.map((t=>Math.abs(t-e))),s=Math.min(...a),r=a.indexOf(s);g.rotate=i[r]}e&&(a||(g.rotate=t.rotate||0),this._isDeclarative&&l&&(p.rotate=l)),s.from(p),s.to(g);const f=s.at(c);return l=f.rotate,o=new vt(f),this.addTransform(o),n._addRunner(this),s.done()}),(function(e){(e.origin||"center").toString()!==(t.origin||"center").toString()&&(r=T(e,n)),t={...e,origin:r}}),!0),this._isDeclarative&&this._rememberMorpher("transform",s),this},x(t){return this._queueNumber("x",t)},y(t){return this._queueNumber("y",t)},ax(t){return this._queueNumber("ax",t)},ay(t){return this._queueNumber("ay",t)},dx(t=0){return this._queueNumberDelta("x",t)},dy(t=0){return this._queueNumberDelta("y",t)},dmove(t,e){return this.dx(t).dy(e)},_queueNumberDelta(t,e){if(e=new _t(e),this._tryRetarget(t,e))return this;const i=new He(this._stepper).to(e);let a=null;return this.queue((function(){a=this.element()[t](),i.from(a),i.to(a+e)}),(function(e){return this.element()[t](i.at(e)),i.done()}),(function(t){i.to(a+new _t(t))})),this._rememberMorpher(t,i),this},_queueObject(t,e){if(this._tryRetarget(t,e))return this;const i=new He(this._stepper).to(e);return this.queue((function(){i.from(this.element()[t]())}),(function(e){return this.element()[t](i.at(e)),i.done()})),this._rememberMorpher(t,i),this},_queueNumber(t,e){return this._queueObject(t,new _t(e))},cx(t){return this._queueNumber("cx",t)},cy(t){return this._queueNumber("cy",t)},move(t,e){return this.x(t).y(e)},amove(t,e){return this.ax(t).ay(e)},center(t,e){return this.cx(t).cy(e)},size(t,e){let i;return t&&e||(i=this._element.bbox()),t||(t=i.width/i.height*e),e||(e=i.height/i.width*t),this.width(t).height(e)},width(t){return this._queueNumber("width",t)},height(t){return this._queueNumber("height",t)},plot(t,e,i,a){if(4===arguments.length)return this.plot([t,e,i,a]);if(this._tryRetarget("plot",t))return this;const s=new He(this._stepper).type(this._element.MorphArray).to(t);return this.queue((function(){s.from(this._element.array())}),(function(t){return this._element.plot(s.at(t)),s.done()})),this._rememberMorpher("plot",s),this},leading(t){return this._queueNumber("leading",t)},viewbox(t,e,i,a){return this._queueObject("viewbox",new kt(t,e,i,a))},update(t){return"object"!=typeof t?this.update({offset:arguments[0],color:arguments[1],opacity:arguments[2]}):(null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",t.offset),this)}}),Q(Qe,{rx:Zt,ry:$t,from:ne,to:oe}),q(Qe,"Runner");class si extends Vt{constructor(t,e=t){super(G("svg",t),e),this.namespace()}defs(){return this.isRoot()?V(this.node.querySelector("defs"))||this.put(new Ut):this.root().defs()}isRoot(){return!this.node.parentNode||!(this.node.parentNode instanceof O.window.SVGElement)&&"#document-fragment"!==this.node.parentNode.nodeName}namespace(){return this.isRoot()?this.attr({xmlns:E,version:"1.1"}).attr("xmlns:xlink",H,Y):this.root().namespace()}removeNamespace(){return this.attr({xmlns:null,version:null}).attr("xmlns:xlink",null,Y).attr("xmlns:svgjs",null,Y)}root(){return this.isRoot()?this:super.root()}}A({Container:{nested:K((function(){return this.put(new si)}))}}),q(si,"Svg",!0);let ri=class extends Vt{constructor(t,e=t){super(G("symbol",t),e)}};A({Container:{symbol:K((function(){return this.put(new ri)}))}}),q(ri,"Symbol");var ni=Object.freeze({__proto__:null,amove:function(t,e){return this.ax(t).ay(e)},ax:function(t){return this.attr("x",t)},ay:function(t){return this.attr("y",t)},build:function(t){return this._build=!!t,this},center:function(t,e,i=this.bbox()){return this.cx(t,i).cy(e,i)},cx:function(t,e=this.bbox()){return null==t?e.cx:this.attr("x",this.attr("x")+t-e.cx)},cy:function(t,e=this.bbox()){return null==t?e.cy:this.attr("y",this.attr("y")+t-e.cy)},length:function(){return this.node.getComputedTextLength()},move:function(t,e,i=this.bbox()){return this.x(t,i).y(e,i)},plain:function(t){return!1===this._build&&this.clear(),this.node.appendChild(O.document.createTextNode(t)),this},x:function(t,e=this.bbox()){return null==t?e.x:this.attr("x",this.attr("x")+t-e.x)},y:function(t,e=this.bbox()){return null==t?e.y:this.attr("y",this.attr("y")+t-e.y)}});class oi extends qt{constructor(t,e=t){super(G("text",t),e),this.dom.leading=this.dom.leading??new _t(1.3),this._rebuild=!0,this._build=!1}leading(t){return null==t?this.dom.leading:(this.dom.leading=new _t(t),this.rebuild())}rebuild(t){if("boolean"==typeof t&&(this._rebuild=t),this._rebuild){const t=this;let e=0;const i=this.dom.leading;this.each((function(a){if(X(this.node))return;const s=O.window.getComputedStyle(this.node).getPropertyValue("font-size"),r=i*new _t(s);this.dom.newLined&&(this.attr("x",t.attr("x")),"\n"===this.text()?e+=r:(this.attr("dy",a?r+e:0),e=0))})),this.fire("rebuild")}return this}setData(t){return this.dom=t,this.dom.leading=new _t(t.leading||1.3),this}writeDataToDom(){return R(this,this.dom,{leading:1.3}),this}text(t){if(void 0===t){const e=this.node.childNodes;let i=0;t="";for(let a=0,s=e.length;a<s;++a)"textPath"===e[a].nodeName||X(e[a])?0===a&&(i=a+1):(a!==i&&3!==e[a].nodeType&&!0===V(e[a]).dom.newLined&&(t+="\n"),t+=e[a].textContent);return t}if(this.clear().build(!0),"function"==typeof t)t.call(this,this);else for(let e=0,i=(t=(t+"").split("\n")).length;e<i;e++)this.newLine(t[e]);return this.build(!1).rebuild()}}Q(oi,ni),A({Container:{text:K((function(t=""){return this.put(new oi).text(t)})),plain:K((function(t=""){return this.put(new oi).plain(t)}))}}),q(oi,"Text");class li extends qt{constructor(t,e=t){super(G("tspan",t),e),this._build=!1}dx(t){return this.attr("dx",t)}dy(t){return this.attr("dy",t)}newLine(){this.dom.newLined=!0;const t=this.parent();if(!(t instanceof oi))return this;const e=t.index(this),i=O.window.getComputedStyle(this.node).getPropertyValue("font-size"),a=t.dom.leading*new _t(i);return this.dy(e?a:0).attr("x",t.x())}text(t){return null==t?this.node.textContent+(this.dom.newLined?"\n":""):("function"==typeof t?(this.clear().build(!0),t.call(this,this),this.build(!1)):this.plain(t),this)}}Q(li,ni),A({Tspan:{tspan:K((function(t=""){const e=new li;return this._build||this.clear(),this.put(e).text(t)}))},Text:{newLine:function(t=""){return this.tspan(t).newLine()}}}),q(li,"Tspan");class hi extends qt{constructor(t,e=t){super(G("circle",t),e)}radius(t){return this.attr("r",t)}rx(t){return this.attr("r",t)}ry(t){return this.rx(t)}size(t){return this.radius(new _t(t).divide(2))}}Q(hi,{x:Jt,y:Qt,cx:Kt,cy:te,width:ee,height:ie}),A({Container:{circle:K((function(t=0){return this.put(new hi).size(t).move(0,0)}
vendor: 1,362 bytes, line 46395
46395))}}),q(hi,"Circle");class ci extends Vt{constructor(t,e=t){super(G("clipPath",t),e)}remove(){return this.targets().forEach((function(t){t.unclip()})),super.remove()}targets(){return Lt("svg [clip-path*="+this.id()+"]")}}A({Container:{clip:K((function(){return this.defs().put(new ci)}))},Element:{clipper(){return this.reference("clip-path")},clipWith(t){const e=t instanceof ci?t:this.parent().clip().add(t);return this.attr("clip-path","url(#"+e.id()+")")},unclip(){return this.attr("clip-path",null)}}}),q(ci,"ClipPath");class di extends Gt{constructor(t,e=t){super(G("foreignObject",t),e)}}A({Container:{foreignObject:K((function(t,e){return this.put(new di).size(t,e)}))}}),q(di,"ForeignObject");var ui=Object.freeze({__proto__:null,dmove:function(t,e){return this.children().forEach((i=>{let a;try{a=i.node instanceof F().SVGSVGElement?new kt(i.attr(["x","y","width","height"])):i.bbox()}catch(t){return}const s=new vt(i),r=s.translate(t,e).transform(s.inverse()),n=new bt(a.x,a.y).transform(r);i.move(n.x,n.y)})),this},dx:function(t){return this.dmove(t,0)},dy:function(t){return this.dmove(0,t)},height:function(t,e=this.bbox()){return null==t?e.height:this.size(e.width,t,e)},move:function(t=0,e=0,i=this.bbox()){const a=t-i.x,s=e-i.y;return this.dmove(a,s)},size:function(t,e,i=this.bbox()){const a=I(this,t,e,i),s=a.width/i.width,r=a.height/i.height;
vendor: 4,286 bytes, line 46395
46395return this.children().forEach((t=>{const e=new bt(i).transform(new vt(t).inverse());t.scale(s,r,e.x,e.y)})),this},width:function(t,e=this.bbox()){return null==t?e.width:this.size(t,e.height,e)},x:function(t,e=this.bbox()){return null==t?e.x:this.move(t,e.y,e)},y:function(t,e=this.bbox()){return null==t?e.y:this.move(e.x,t,e)}});class gi extends Vt{constructor(t,e=t){super(G("g",t),e)}}Q(gi,ui),A({Container:{group:K((function(){return this.put(new gi)}))}}),q(gi,"G");class pi extends Vt{constructor(t,e=t){super(G("a",t),e)}target(t){return this.attr("target",t)}to(t){return this.attr("href",t,H)}}Q(pi,ui),A({Container:{link:K((function(t){return this.put(new pi).to(t)}))},Element:{unlink(){const t=this.linker();if(!t)return this;const e=t.parent();if(!e)return this.remove();const i=e.index(t);return e.add(this,i),t.remove(),this},linkTo(t){let e=this.linker();return e||(e=new pi,this.wrap(e)),"function"==typeof t?t.call(e,e):e.to(t),this},linker(){const t=this.parent();return t&&"a"===t.node.nodeName.toLowerCase()?t:null}}}),q(pi,"A");class fi extends Vt{constructor(t,e=t){super(G("mask",t),e)}remove(){return this.targets().forEach((function(t){t.unmask()})),super.remove()}targets(){return Lt("svg [mask*="+this.id()+"]")}}A({Container:{mask:K((function(){return this.defs().put(new fi)}))},Element:{masker(){return this.reference("mask")},maskWith(t){const e=t instanceof fi?t:this.parent().mask().add(t);return this.attr("mask","url(#"+e.id()+")")},unmask(){return this.attr("mask",null)}}}),q(fi,"Mask");class xi extends Gt{constructor(t,e=t){super(G("stop",t),e)}update(t){return("number"==typeof t||t instanceof _t)&&(t={offset:arguments[0],color:arguments[1],opacity:arguments[2]}),null!=t.opacity&&this.attr("stop-opacity",t.opacity),null!=t.color&&this.attr("stop-color",t.color),null!=t.offset&&this.attr("offset",new _t(t.offset)),this}}A({Gradient:{stop:function(t,e,i){return this.put(new xi).update(t,e,i)}}}),q(xi,"Stop");class bi extends Gt{constructor(t,e=t){super(G("style",t),e)}addText(t=""){return this.node.textContent+=t,this}font(t,e,i={}){return this.rule("@font-face",{fontFamily:t,src:e,...i})}rule(t,e){return this.addText(function(t,e){if(!t)return"";if(!e)return t;let i=t+"{";for(const t in e)i+=t.replace(/([A-Z])/g,(function(t,e){return"-"+e.toLowerCase()}))+":"+e[t]+";";return i+="}",i}(t,e))}}A("Dom",{style(t,e){return this.put(new bi).rule(t,e)},fontface(t,e,i){return this.put(new bi).font(t,e,i)}}),q(bi,"Style");class mi extends oi{constructor(t,e=t){super(G("textPath",t),e)}array(){const t=this.track();return t?t.array():null}plot(t){const e=this.track();let i=null;return e&&(i=e.plot(t)),null==t?i:this}track(){return this.reference("href")}}A({Container:{textPath:K((function(t,e){return t instanceof oi||(t=this.text(t)),t.path(e)}))},Text:{path:K((function(t,e=!0){const i=new mi;let a;if(t instanceof We||(t=this.defs().path(t)),i.attr("href","#"+t,H),e)for(;a=this.node.firstChild;)i.node.appendChild(a);return this.put(i)})),textPath(){return this.findOne("textPath")}},Path:{text:K((function(t){return t instanceof oi||(t=(new oi).addTo(this.parent()).text(t)),t.path(this)})),targets(){return Lt("svg textPath").filter((t=>(t.attr("href")||"").includes(this.id())))}}}),mi.prototype.MorphArray=Ee,q(mi,"TextPath");class vi extends qt{constructor(t,e=t){super(G("use",t),e)}use(t,e){return this.attr("href",(e||"")+"#"+t,H)}}A({Container:{use:K((function(t,e){return this.put(new vi).use(t,e)}))}}),q(vi,"Use");const yi=B;Q([si,ri,de,ce,be],C("viewbox")),Q([xe,je,Ge,We],C("marker")),Q(oi,C("Text")),Q(We,C("Path")),Q(Ut,C("Defs")),Q([oi,li],C("Tspan")),Q([Ve,se,he,Qe],C("radius")),Q(Rt,C("EventTarget")),Q(Bt,C("Dom")),Q(Gt,C("Element")),Q(qt,C("Shape")),Q([Vt,re],C("Container")),Q(he,C("Gradient")),Q(Qe,C("Runner")),Ct.extend([...new Set(k)]),function(t=[]){Ne.push(...[].concat(t))}([_t,xt,kt,vt,Dt,ge,Ee,bt]),Q(Ne,{to(t){return(new He).type(this.constructor).from(this.toArray()).to(t)},fromArray(t){return this.init(t),this},toConsumable(){return this.toArray()},morph(t,e,i,a,s){return this.fromArray(t.map((function(t,r){return a.step(t,e[r],i,s[r],s)})))}});class wi extends Gt{constructor(t){super(G("filter",t),t),this.$source="SourceGraphic",this.$sourceAlpha="SourceAlpha",this.$background="Backgroun
46395dImage",this.$backgroundAlpha="BackgroundAlpha",this.$fill="FillPaint",this.$stroke="StrokePaint",this.$autoSetIn=!0}put(t,e){return!(t=super.put(t,e)).attr("in")&&this.$autoSetIn&&t.attr("in",this.$source),t.attr("result")||t.attr("result",t.id()),t}remove(){return this.targets().each("unfilter"),super.remove()}targets(){return Lt('svg [filter*="'+this.id()+'"]')}toString(){return"url(#"+this.id()+")"}}class ki extends Gt{constructor(t,e){super(t,e),this.result(this.id())}in(t){if(null==t){const t=this.attr("in");return this.parent()&&this.parent().find(`[result="${t}"]`)[0]||t}return this.attr("in",t)}result(t){return this.attr("result",t)}toString(){return this.result()}}const Ai=t=>function(...e){for(let i=t.length;i--;)null!=e[i]&&this.attr(t[i],e[i])},Ci={blend:Ai(["in","in2","mode"]),colorMatrix:Ai(["type","values"]),composite:Ai(["in","in2","operator"]),convolveMatrix:function(t){t=new Dt(t).toString(),this.attr({order:Math.sqrt(t.split(" ").length),kernelMatrix:t})},diffuseLighting:Ai(["surfaceScale","lightingColor","diffuseConstant","kernelUnitLength"]),displacementMap:Ai(["in","in2","scale","xChannelSelector","yChannelSelector"]),dropShadow:Ai(["in","dx","dy","stdDeviation"]),flood:Ai(["flood-color","flood-opacity"]),gaussianBlur:function(t=0,e=t){this.attr("stdDeviation",t+" "+e)},image:function(t){this.attr("href",t,H)},morphology:Ai(["operator","radius"]),offset:Ai(["dx","dy"]),specularLighting:Ai(["surfaceScale","lightingColor","diffuseConstant","specularExponent","kernelUnitLength"]),tile:Ai([]),turbulence:Ai(["baseFrequency","numOctaves","seed","stitchTiles","type"])};["blend","colorMatrix","componentTransfer","composite","convolveMatrix","diffuseLighting","displacementMap","dropShadow","flood","gaussianBlur","image","merge","morphology","offset","specularLighting","tile","turbulence"].forEach((t=>{const e=P(t),i=Ci[t];wi[e+"Effect"]=class extends ki{constructor(t){super(G("fe"+e,t),t)}update(t){return i.apply(this,t),this}},wi.prototype[t]=K((function(t,...i){const a=new wi[e+"Effect"];return null==t?this.put(a):("function"==typeof t?t.call(a,a):i.unshift(t),this.put(a).update(i))}))})),Q(wi,{merge(t){const e=this.put(new wi.MergeEffect);if("function"==typeof t)return t.call(e,e),e;return(t instanceof Array?t:[...arguments]).forEach((t=>{t instanceof wi.MergeNode?e.put(t):e.mergeNode(t)})),e},componentTransfer(t={}){const e=this.put(new wi.ComponentTransferEffect);if("function"==typeof t)return t.call(e,e),e;if(!(t.r||t.g||t.b||t.a)){t={r:t,g:t,b:t,a:t}}for(const i in t)e.add(new(wi["Func"+i.toUpperCase()])(t[i]));return e}});["distantLight","pointLight","spotLight","mergeNode","FuncR","FuncG","FuncB","FuncA"].forEach((t=>{const e=P(t);wi[e]=class extends ki{constructor(t){super(G("fe"+e,t),t)}}}));["funcR","funcG","funcB","funcA"].forEach((function(t){const e=wi[P(t)],i=K((function(){return this.put(new e)}));wi.ComponentTransferEffect.prototype[t]=i}));["distantLight","pointLight","spotLight"].forEach((t=>{const e=wi[P(t)],i=K((function(){return this.put(new e)}));wi.DiffuseLightingEffect.prototype[t]=i,wi.SpecularLightingEffect.prototype[t]=i})),Q(wi.MergeEffect,{mergeNode(t){return this.put(new wi.MergeNode).attr("in",t)}}),Q(Ut,{filter:function(t){const e=this.put(new wi);return"function"==typeof t&&t.call(e,e),e}}),Q(Vt,{filter:function(t){return this.defs().filter(t)}}),Q(Gt,{filterWith:function(t){const e=t instanceof wi?t:this.defs().filter(t);return this.attr("filter",e)},unfilter:function(t){return this.attr("filter",null)},filterer(){return this.reference("filter")}});const Si={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},diffuseLighting:function(t,e,i,a){return this.parent()&&this.parent().diffuseLighting(t,i,a).in(this)}
46395,displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},dropShadow:function(t,e,i){return this.parent()&&this.parent().dropShadow(this,t,e,i).in(this)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(t){return t=t instanceof Array?t:[...t],this.parent()&&this.parent().merge(this,...t)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},specularLighting:function(t,e,i,a,s){return this.parent()&&this.parent().specularLighting(t,i,a,s).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};Q(ki,Si),Q(wi.MergeEffect,{in:function(t){return t instanceof wi.MergeNode?this.add(t,0):this.add((new wi.MergeNode).in(t),0),this}}),Q([wi.CompositeEffect,wi.BlendEffect,wi.DisplacementMapEffect],{in2:function(t){if(null==t){const t=this.attr("in2");return this.parent()&&this.parent().find(`[result="${t}"]`)[0]||t}return this.attr("in2",t)}}),wi.filter={sepiatone:[.343,.669,.119,0,0,.249,.626,.13,0,0,.172,.334,.111,0,0,0,0,0,1,0]};var Li=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"getDefaultFilter",value:function(t,e){var i=this.w;t.unfilter(!0),(new wi).size("120%","180%","-5%","-40%"),i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:"applyFilter",value:function(t,e,i){var a,s=this,r=this.w;if(t.unfilter(!0),"none"!==i){var n,o,l=r.config.chart.dropShadow,h="lighten"===i?2:.3;if(t.filterWith((function(t){t.colorMatrix({type:"matrix",values:"\n ".concat(h," 0 0 0 0\n 0 ").concat(h," 0 0 0\n 0 0 ").concat(h," 0 0\n 0 0 0 1 0\n "),in:"SourceGraphic",result:"brightness"}),l.enabled&&s.addShadow(t,e,l,"brightness")})),!l.noUserSpaceOnUse)null===(n=t.filterer())||void 0===n||null===(o=n.node)||void 0===o||o.setAttribute("filterUnits","userSpaceOnUse");this._scaleFilterSize(null===(a=t.filterer())||void 0===a?void 0:a.node)}else this.getDefaultFilter(t,e)}},{key:"addShadow",value:function(t,e,i,a){var s,r=this.w,n=i.blur,o=i.top,l=i.left,h=i.color,c=i.opacity;if(h=Array.isArray(h)?h[e]:h,(null===(s=r.config.chart.dropShadow.enabledOnSeries)||void 0===s?void 0:s.length)>0&&-1===r.config.chart.dropShadow.enabledOnSeries.indexOf(e))return t;t.offset({in:a,dx:l,dy:o,result:"offset"}),t.gaussianBlur({in:"offset",stdDeviation:n,result:"blur"}),t.flood({"flood-color":h,"flood-opacity":c,result:"flood"}),t.composite({in:"flood",in2:"blur",operator:"in",result:"shadow"}),t.merge(["shadow",a])}},{key:"dropShadow",value:function(t,e){var i,a,s,r,n,o=this,l=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,h=this.w;if(t.unfilter(!0),v.isMsEdge()&&"radialBar"===h.config.chart.type)return t;if((null===(i=h.config.chart.dropShadow.enabledOnSeries)||void 0===i?void 0:i.length)>0&&-1===(null===(s=h.config.chart.dropShadow.enabledOnSeries)||void 0===s?void 0:s.indexOf(l)))return t;(t.filterWith((function(t){o.addShadow(t,l,e,"SourceGraphic")})),e.noUserSpaceOnUse)||(null===(r=t.filterer())||void 0===r||null===(n=r.node)||void 0===n||n.setAttribute("filterUnits","userSpaceOnUse"));return this._scaleFilterSize(null===(a=t.filterer())||void 0===a?void 0:a.node),t}},{key:"setSelectionFilter",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute("selected",!0);var s=a.config.states.active.filter;"none"!==s&&this.applyFilter(t,e,s.type)}}},{key:"_scaleFilterSize",value:function(t){if(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:"200%",height:"200%",x:"-50%",y:"-50%"})}}}]),t}(),Mi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}
vendor: 8,362 bytes, line 46395
46395return s(t,[{key:"roundPathCorners",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,n=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/n))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}t.indexOf("NaN")>-1&&(t="");var n=t.split(/[,\s]/).reduce((function(t,e){var i=e.match(/^([a-zA-Z])(.+)/);return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),o=[];if(n.length>1){var l=r(n[0]),h=null;"Z"==n[n.length-1][0]&&n[0].length>2&&(h=["L",l.x,l.y],n[n.length-1]=h),o.push(n[0]);for(var c=1;c<n.length;c++){var d=o[o.length-1],u=n[c],g=u==h?n[1]:n[c+1];if(g&&d&&d.length>2&&"L"==u[0]&&g.length>2&&"L"==g[0]){var p,f,x=r(d),b=r(u),m=r(g);p=i(b,x,e),f=i(b,m,e),s(u,p),u.origPoint=b,o.push(u);var v=a(p,b,.5),y=a(b,f,.5),w=["C",v.x,v.y,y.x,y.y,f.x,f.y];w.origPoint=b,o.push(w)}else o.push(u)}if(h){var k=r(o[o.length-1]);o.push(["Z"]),s(o[0],k)}}else o=n;return o.reduce((function(t,e){return t+e.join(" ")+" "}),"")}},{key:"drawLine",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"#a8a8a8",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:"butt";return this.w.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,"stroke-dasharray":r,"stroke-width":n,"stroke-linecap":o})}},{key:"drawRect",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"#fefefe",n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,o=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w.globals.dom.Paper.rect();return c.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:n,"stroke-width":null!==o?o:0,stroke:null!==l?l:"none","stroke-dasharray":h}),c.node.setAttribute("fill",r),c}},{key:"drawPolygon",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"#e1e1e1",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"none";return this.w.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,"stroke-width":i})}},{key:"drawCircle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t<0&&(t=0);var i=this.w.globals.dom.Paper.circle(2*t);return null!==e&&i.attr(e),i}},{key:"drawPath",value:function(t){var e=t.d,i=void 0===e?"":e,a=t.stroke,s=void 0===a?"#a8a8a8":a,r=t.strokeWidth,n=void 0===r?1:r,o=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,u=t.classes,g=t.strokeLinecap,p=void 0===g?null:g,f=t.strokeDashArray,x=void 0===f?0:f,b=this.w;return null===p&&(p=b.config.stroke.lineCap),(i.indexOf("undefined")>-1||i.indexOf("NaN")>-1)&&(i="M 0 ".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:o,"fill-opacity":h,stroke:s,"stroke-opacity":d,"stroke-linecap":p,"stroke-width":n,"stroke-dasharray":x,class:u})}},{key:"group",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w.globals.dom.Paper.group();return null!==t&&e.attr(t),e}},{key:"move",value:function(t,e){var i=["M",t,e].join(" ");return i}},{key:"line",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[" L",t,e].join(" "):"H"===i?a=[" H",t].join(" "):"V"===i&&(a=[" V",e].join(" ")),a}},{key:"curve",value:function(t,e,i,a,s,r){var n=["C",t,e,i,a,s,r].join(" ");return n}},{key:"quadraticCurve",value:function(t,e,i,a){return["Q",t,e,i,a].join(" ")}},{key:"arc",value:function(t,e,i,a,s,r,n){var o="A";arguments.length>7&&void 0!==arguments[7]&&arguments[7]&&(o="a");var l=[o,t,e,i,a,s,r,n].join(" ");return l}},{key:"renderPaths",value:function(t){var e,i=t.j,a=t.realIndex,s=t.pathFrom,r=t.pathTo,n=t.stroke,o=t.strokeWidth,l=t.strokeLinecap,h=t.fill,c=t.animationDelay,d=t.initialSpeed,g=t.dataChangeSpeed,p=t.className,f=t.chartType,x=t.shouldClipToGrid,b=void 0===x||x,m=t.bindEventsOnPaths,v=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,C=new Li(this.ctx),S=new y(this.ctx),L=this.w.config.chart.animations.enabled,M=L&&this.w.config.chart.animations.dynamicAnimation.enabled;if(s&&s.startsWith("M 0 0")&&r){var P=r.match(/^M\s+[\d.-]+\s+[\d.-]+/);P&&(s=s.replace(/^M\s+0\s+0/,P[0]))}var I=!!(L&&!A.globals.resized||M&&A.globals.dataChanged&&A.globals.shouldAnimate);I?e=s:(e=r,A.globals.animationEnded=!0);var T=A.config.stroke.dashArray,z=0;z=Array.isArray(T)?T[a]:A.config.stroke.dashArray;var X=this.drawPath({d:e,stroke:n,strokeWidth:o,fill:h,fillOpacity:1,classes:p,strokeLinecap:l,strokeDashArray:z});X.attr("index",a),b&&("bar"===f&&!A.globals.isHorizontal||A.globals.comboCharts?X.attr({"clip-path":"url(#gridRectBarMask".concat(A.globals.cuid,")")}):X.attr({"clip-path":"url(#gridRectMask".concat(A.globals.cuid,")")})),A.config.chart.dropShadow.enabled&&k&&C.dropShadow(X,A.config.chart.dropShadow,a),v&&(X.node.addEventListener("mouseenter",this.pathMouseEnter.bind(this,X)),X.node.addEventListener("mouseleave",this.pathMouseLeave.bind(this,X)),X.node.addEventListener("mousedown",this.pathMouseDown.bind(this,X))),X.attr({pathTo:r,pathFrom:s});var R={el:X,j:i,realIndex:a,pathFrom:s,pathTo:r,fill:h,strokeWidth:o,delay:c};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||S.showDelayedElements():S.animatePathsGradually(u(u({},R),{},{speed:d})),A.globals.dataChanged&&M&&I&&S.animatePathsGradually(u(u({},R),{},{speed:g})),X}},{key:"drawPattern",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#a8a8a8",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;return this.w.globals.dom.Paper.pattern(e,i,(function(r){"horizontalLines"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):"verticalLines"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):"slantedLines"===t?r.line(0,0,e,i).stroke({color:a,width:s}):"squares"===t?r.rect(e,i).fill("none").stroke({color:a,width:s}):"circles"===t&&r.circle(e).fill("none").stroke({color:a,width:s})}))}},{key:"drawGradient",value:function(t,e,i,a,s){var r,n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:[],h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf("#")&&(e=v.hexToRgba(e,a)),i.length<9&&0===i.indexOf("#")&&(i=v.hexToRgba(i,s));var d=0,u=1,g=1,p=null;null!==o&&(d=void 0!==o[0]?o[0]/100:0,u=void 0!==o[1]?o[1]/100:1,g=void 0!==o[2]?o[2]/100:1,p=void 0!==o[3]?o[3]/100:null);var f=!("donut"!==c.config.chart.type&&"pie"!==c.config.chart.type&&"polarArea"!==c.config.chart.type&&"bubble"!==c.config.chart.type);if(r=l&&0!==l.length?c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.stop(e.offset/100,e.color,e.opacity)}))})):c.globals.dom.Paper.gradient(f?"radial":"linear",(function(t){t.stop(d,e,a),t.stop(u,i,s),t.stop(g,i,s),null!==p&&t.stop(p,e,a)})),f){var x=c.globals.gridWidth/2,b=c.globals.gridHeight/2;"bubble"!==c.config.chart.type?r.attr({gradientUnits:"userSpaceOnUse",cx:x,cy:b,r:n}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else"vertical"===t?r.from(0,0).to(0,1):"diagonal"===t?r.from(0,0).to(1,1):"horizontal"===t?r.from(0,1).to(1,1):"diagonal2"===t&&r.from(1,0).to(0,1);return r}},{key:"getTextBasedOnMaxWidth",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),n=r.width/e.length,o=Math.floor(i/n);return i<r.width?e.slice(0,o-3)+"...":e}},{key:"drawText",value:function(t){var e=this,i=t.x,a=t.y,s=t.text,r=t.textAnchor,n=t.fontSize,o=t.fontFamily,l=t.fontWeight,h=t.foreColor,c=t.o
46395pacity,d=t.maxWidth,g=t.cssClass,p=void 0===g?"":g,f=t.isPlainText,x=void 0===f||f,b=t.dominantBaseline,m=void 0===b?"auto":b,v=this.w;void 0===s&&(s="");var y=s;r||(r="start"),h&&h.length||(h=v.config.chart.foreColor),o=o||v.config.chart.fontFamily,l=l||"regular";var w,k={maxWidth:d,fontSize:n=n||"11px",fontFamily:o};return Array.isArray(s)?w=v.globals.dom.Paper.text((function(t){for(var i=0;i<s.length;i++)y=s[i],d&&(y=e.getTextBasedOnMaxWidth(u({text:s[i]},k))),0===i?t.tspan(y):t.tspan(y).newLine()})):(d&&(y=this.getTextBasedOnMaxWidth(u({text:s},k))),w=x?v.globals.dom.Paper.plain(s):v.globals.dom.Paper.text((function(t){return t.tspan(y)}))),w.attr({x:i,y:a,"text-anchor":r,"dominant-baseline":m,"font-size":n,"font-family":o,"font-weight":l,fill:h,class:"apexcharts-text "+p}),w.node.style.fontFamily=o,w.node.style.opacity=c,w}},{key:"getMarkerPath",value:function(t,e,i,a){var s="";switch(i){case"cross":s="M ".concat(t-(a/=1.4)," ").concat(e-a," L ").concat(t+a," ").concat(e+a," M ").concat(t-a," ").concat(e+a," L ").concat(t+a," ").concat(e-a);break;case"plus":s="M ".concat(t-(a/=1.12)," ").concat(e," L ").concat(t+a," ").concat(e," M ").concat(t," ").concat(e-a," L ").concat(t," ").concat(e+a);break;case"star":case"sparkle":var r=5;a*=1.15,"sparkle"===i&&(a/=1.1,r=4);for(var n=Math.PI/r,o=0;o<=2*r;o++){var l=o*n,h=o%2==0?a:a/2;s+=(0===o?"M":"L")+(t+h*Math.sin(l))+","+(e-h*Math.cos(l))}s+="Z";break;case"triangle":s="M ".concat(t," ").concat(e-a," \n L ").concat(t+a," ").concat(e+a," \n L ").concat(t-a," ").concat(e+a," \n Z");break;case"square":case"rect":s="M ".concat(t-(a/=1.125)," ").concat(e-a," \n L ").concat(t+a," ").concat(e-a," \n L ").concat(t+a," ").concat(e+a," \n L ").concat(t-a," ").concat(e+a," \n Z");break;case"diamond":a*=1.05,s="M ".concat(t," ").concat(e-a," \n L ").concat(t+a," ").concat(e," \n L ").concat(t," ").concat(e+a," \n L ").concat(t-a," ").concat(e," \n Z");break;case"line":s="M ".concat(t-(a/=1.1)," ").concat(e," \n L ").concat(t+a," ").concat(e);break;default:a*=2,s="M ".concat(t,", ").concat(e," \n m -").concat(a/2,", 0 \n a ").concat(a/2,",").concat(a/2," 0 1,0 ").concat(a,",0 \n a ").concat(a/2,",").concat(a/2," 0 1,0 -").concat(a,",0")}return s}},{key:"drawMarkerShape",value:function(t,e,i,a,s){var r=this.drawPath({d:this.getMarkerPath(t,e,i,a,s),stroke:s.pointStrokeColor,strokeDashArray:s.pointStrokeDashArray,strokeWidth:s.pointStrokeWidth,fill:s.pointFillColor,fillOpacity:s.pointFillOpacity,strokeOpacity:s.pointStrokeOpacity});return r.attr({cx:t,cy:e,shape:s.shape,class:s.class?s.class:""}),r}},{key:"drawMarker",value:function(t,e,i){t=t||0;var a=i.pSize||0;return v.isNumber(e)||(a=0,e=0),this.drawMarkerShape(t,e,null==i?void 0:i.shape,a,u(u({},i),"line"===i.shape||"plus"===i.shape||"cross"===i.shape?{pointStrokeColor:i.pointFillColor,pointStrokeOpacity:i.pointFillOpacity}:{}))}},{key:"pathMouseEnter",value:function(t,e){var i=this.w,a=new Li(this.ctx),s=parseInt(t.node.getAttribute("index"),10),r=parseInt(t.node.getAttribute("j"),10);if("function"==typeof i.config.chart.events.dataPointMouseEnter&&i.config.chart.events.dataPointMouseEnter(e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}),this.ctx.events.fireEvent("dataPointMouseEnter",[e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}]),("none"===i.config.states.active.filter.type||"true"!==t.node.getAttribute("selected"))&&"none"!==i.config.states.hover.filter.type&&!i.globals.isTouchDevice){var n=i.config.states.hover.filter;a.applyFilter(t,s,n.type)}}},{key:"pathMouseLeave",value:function(t,e){var i=this.w,a=new Li(this.ctx),s=parseInt(t.node.getAttribute("index"),10),r=parseInt(t.node.getAttribute("j"),10);"function"==typeof i.config.chart.events.dataPointMouseLeave&&i.config.chart.events.dataPointMouseLeave(e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}),this.ctx.events.fireEvent("dataPointMouseLeave",[e,this.ctx,{seriesIndex:s,dataPointIndex:r,w:i}]),"none"!==i.config.states.active.filter.type&&"true"===t.node.getAttribute("selected")||"none"!==i.config.states.hover.f
vendor: 4,134 bytes, line 46395
46395ilter.type&&a.getDefaultFilter(t,s)}},{key:"pathMouseDown",value:function(t,e){var i=this.w,a=new Li(this.ctx),s=parseInt(t.node.getAttribute("index"),10),r=parseInt(t.node.getAttribute("j"),10),n="false";if("true"===t.node.getAttribute("selected")){if(t.node.setAttribute("selected","false"),i.globals.selectedDataPoints[s].indexOf(r)>-1){var o=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(o,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.find(".apexcharts-series path:not(.apexcharts-decoration-element)"),h=i.globals.dom.Paper.find(".apexcharts-series circle:not(.apexcharts-decoration-element), .apexcharts-series rect:not(.apexcharts-decoration-element)"),c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute("selected","false"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute("selected","true"),n="true",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if("true"===n){var d=i.config.states.active.filter;if("none"!==d)a.applyFilter(t,s,d.type);else if("none"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var u=i.config.states.hover.filter;a.applyFilter(t,s,u.type)}}else if("none"!==i.config.states.active.filter.type)if("none"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{u=i.config.states.hover.filter;a.applyFilter(t,s,u.type)}"function"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent("dataPointSelection",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:"rotateAroundCenter",value:function(t){var e={};return t&&"function"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:"getTextRects",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,n=this.drawText({x:-200,y:-200,text:t,textAnchor:"start",fontSize:e,fontFamily:i,foreColor:"#fff",opacity:0});a&&n.attr("transform",a),r.globals.dom.Paper.add(n);var o=n.bbox();return s||(o=n.node.getBoundingClientRect()),n.remove(),{width:o.width,height:o.height}}},{key:"placeTextWithEllipsis",value:function(t,e,i){if("function"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+"...");t.textContent="."}}}],[{key:"setAttrs",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),Pi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"getStackedSeriesTotals",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a<e.globals.series[e.globals.maxValsInArrayIndex].length;a++){for(var s=0,r=0;r<e.globals.series.length;r++)void 0!==e.globals.series[r][a]&&-1===t.indexOf(r)&&(s+=e.globals.series[r][a]);i.push(s)}return i}},{key:"getSeriesTotalByIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:"getStackedSeriesTotalsByGroups",value:function(){var t=this,e=this.w,i=[];return e.globals.seriesGroups.forEach((function(a){var s=[];e.config.series.forEach((function(t,i){a.indexOf(e.globals.seriesNames[i])>-1&&s.push(i)}));var r=e.globals.series.map((function(t,e){return-1===s.indexOf(e)?e:-1})).filter((function(t){return-1!==t}));i.push(t.getStackedSeriesTotals(r))})),i}},{key:"setSeriesYAxisMappings",value:function(){var t=this.w.globals,e=this.w.config,i=[],a=[],s=[],r=t.series.length>e.yaxis.length||e.yaxis.some((function(t){return Array.isArray(t.seriesName)}));
vendor: 4,233 bytes, line 46395
46395e.series.forEach((function(t,e){s.push(e),a.push(null)})),e.yaxis.forEach((function(t,e){i[e]=[]}));var n=[];e.yaxis.forEach((function(t,a){var o=!1;if(t.seriesName){var l=[];Array.isArray(t.seriesName)?l=t.seriesName:l.push(t.seriesName),l.forEach((function(t){e.series.forEach((function(e,n){if(e.name===t){var l=n;a===n||r?!r||s.indexOf(n)>-1?i[a].push([a,n]):console.warn("Series '"+e.name+"' referenced more than once in what looks like the new style. That is, when using either seriesName: [], or when there are more series than yaxes."):(i[n].push([n,a]),l=a),o=!0,-1!==(l=s.indexOf(l))&&s.splice(l,1)}}))}))}o||n.push(a)})),i=i.map((function(t,e){var i=[];return t.forEach((function(t){a[t[1]]=t[0],i.push(t[1])})),i}));for(var o=e.yaxis.length-1,l=0;l<n.length&&(o=n[l],i[o]=[],s);l++){var h=s[0];s.shift(),i[o].push(h),a[h]=o}s.forEach((function(t){i[o].push(t),a[t]=o})),t.seriesYAxisMap=i.map((function(t){return t})),t.seriesYAxisReverseMap=a.map((function(t){return t})),t.seriesYAxisMap.forEach((function(t,i){t.forEach((function(t){e.series[t]&&void 0===e.series[t].group&&(e.series[t].group="apexcharts-axis-".concat(i.toString()))}))}))}},{key:"isSeriesNull",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:"seriesHaveSameValues",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:"getCategoryLabels",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:"getLargestSeries",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:"getLargestMarkerSize",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(t.config.markers.hover.size>0?e=t.config.markers.hover.size:e+=t.config.markers.hover.sizeOffset),t.globals.markers.largestSize=e,e}},{key:"getSeriesTotals",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;a<t.length;a++)i+=t[a];else i+=t;return i}))}},{key:"getSeriesTotalsXRange",value:function(t,e){var i=this.w;return i.globals.series.map((function(a,s){for(var r=0,n=0;n<a.length;n++)i.globals.seriesX[s][n]>t&&i.globals.seriesX[s][n]<e&&(r+=a[n]);return r}))}},{key:"getPercentSeries",value:function(){var t=this.w;t.globals.seriesPercent=t.globals.series.map((function(e,i){var a=[];if(Array.isArray(e))for(var s=0;s<e.length;s++){var r=t.globals.stackedSeriesTotals[s],n=0;r&&(n=100*e[s]/r),a.push(n)}else{var o=100*e/t.globals.seriesTotals.reduce((function(t,e){return t+e}),0);a.push(o)}return a}))}},{key:"getCalculatedRatios",value:function(){var t,e,i,a=this,s=this.w,r=s.globals,n=[],o=0,l=[],h=.1,c=0;if(r.yRange=[],r.isMultipleYAxis)for(var d=0;d<r.minYArr.length;d++)r.yRange.push(Math.abs(r.minYArr[d]-r.maxYArr[d])),l.push(0);else r.yRange.push(Math.abs(r.minY-r.maxY));r.xRange=Math.abs(r.maxX-r.minX),r.zRange=Math.abs(r.maxZ-r.minZ);for(var u=0;u<r.yRange.length;u++)n.push(r.yRange[u]/r.gridHeight);if(e=r.xRange/r.gridWidth,t=r.yRange/r.gridWidth,i=r.xRange/r.gridHeight,(o=r.zRange/r.gridHeight*16)||(o=1),r.minY!==Number.MIN_VALUE&&0!==Math.abs(r.minY)&&(r.hasNegs=!0),s.globals.seriesYAxisReverseMap.length>0){var g=function(t,e){var i=s.config.yaxis[s.globals.seriesYAxisReverseMap[e]],r=t<0?-1:1;return t=Math.abs(t),i.logarithmic&&(t=a.getBaseLog(i.logBase,t)),-r*t/n[e]};if(r.isMultipleYAxis){l=[];for(var p=0;p<n.length;p++)l.push(g(r.minYArr[p],p))}else(l=[]).push(g(r.minY,0)),r.minY!==Number.MIN_VALUE&&0!==Math.abs(r.minY)&&(h=-r.minY/t,c=r.minX/e)}else(l=[]).push(0),h=0,c=0;return{yRatio:n,invertedYRatio:t,zRatio:o,xRatio:e,invertedXRatio:i,baseLineInvertedY:h,baseLineY:l,base
46395LineX:c}}},{key:"getLogSeries",value:function(t){var e=this,i=this.w;return i.globals.seriesLog=t.map((function(t,a){var s=i.globals.seriesYAxisReverseMap[a];return i.config.yaxis[s]&&i.config.yaxis[s].logarithmic?t.map((function(t){return null===t?null:e.getLogVal(i.config.yaxis[s].logBase,t,a)})):t})),i.globals.invalidLogScale?t:i.globals.seriesLog}},{key:"getLogValAtSeriesIndex",value:function(t,e){if(null===t)return null;var i=this.w,a=i.globals.seriesYAxisReverseMap[e];return i.config.yaxis[a]&&i.config.yaxis[a].logarithmic?this.getLogVal(i.config.yaxis[a].logBase,t,e):t}},{key:"getBaseLog",value:function(t,e){return Math.log(e)/Math.log(t)}},{key:"getLogVal",value:function(t,e,i){if(e<=0)return 0;var a=this.w,s=0===a.globals.minYArr[i]?-1:this.getBaseLog(t,a.globals.minYArr[i]),r=(0===a.globals.maxYArr[i]?0:this.getBaseLog(t,a.globals.maxYArr[i]))-s;return e<1?e/r:(this.getBaseLog(t,e)-s)/r}},{key:"getLogYRatios",value:function(t){var e=this,i=this.w,a=this.w.globals;return a.yLogRatio=t.slice(),a.logYRange=a.yRange.map((function(t,s){var r=i.globals.seriesYAxisReverseMap[s];if(i.config.yaxis[r]&&e.w.config.yaxis[r].logarithmic){var n,o=-Number.MAX_VALUE,l=Number.MIN_VALUE;return a.seriesLog.forEach((function(t,e){t.forEach((function(t){i.config.yaxis[e]&&i.config.yaxis[e].logarithmic&&(o=Math.max(t,o),l=Math.min(t,l))}))})),n=Math.pow(a.yRange[s],Math.abs(l-o)/a.yRange[s]),a.yLogRatio[s]=n/a.gridHeight,n}})),a.invalidLogScale?t.slice():a.yLogRatio}},{key:"drawSeriesByGroup",value:function(t,e,i,a){var s=this.w,r=[];return t.series.length>0&&e.forEach((function(e){var n=[],o=[];t.i.forEach((function(i,a){s.config.series[i].group===e&&(n.push(t.series[a]),o.push(i))})),n.length>0&&r.push(a.draw(n,i,o))})),r}}],[{key:"checkComboSeries",value:function(t,e){var i=!1,a=0,s=0;return void 0===e&&(e="line"),t.length&&void 0!==t[0].type&&t.forEach((function(t){"bar"!==t.type&&"column"!==t.type&&"candlestick"!==t.type&&"boxPlot"!==t.type||a++,void 0!==t.type&&t.type!==e&&s++})),s>0&&(i=!0),{comboBarCount:a,comboCharts:i}}},{key:"extendArrayProps",value:function(t,e,i){var a,s,r,n,o,l;(null!==(a=e)&&void 0!==a&&a.yaxis&&(e=t.extendYAxis(e,i)),null!==(s=e)&&void 0!==s&&s.annotations)&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),null!==(r=e)&&void 0!==r&&null!==(n=r.annotations)&&void 0!==n&&n.xaxis&&(e=t.extendXAxisAnnotations(e)),null!==(o=e)&&void 0!==o&&null!==(l=o.annotations)&&void 0!==l&&l.points&&(e=t.extendPointAnnotations(e)));return e}}]),t}(),Ii=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e}return s(t,[{key:"setOrientations",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if("vertical"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='".concat(a,"']"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute("x",parseFloat(s.getAttribute("x"))-r.height+4);var n="top"===t.label.position?r.width:-r.width;s.setAttribute("y",parseFloat(s.getAttribute("y"))+n);var o=this.annoCtx.graphics.rotateAroundCenter(s),l=o.x,h=o.y;s.setAttribute("transform","rotate(-90 ".concat(l," ").concat(h,")"))}}}},{key:"addBackgroundToAnno",value:function(t,e){var i=this.w;if(!t||!e.label.text||!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(".apexcharts-grid").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding,n=r.left,o=r.right,l=r.top,h=r.bottom;if("vertical"===e.label.orientation){var c=[n,o,l,h];l=c[0],h=c[1],n=c[2],o=c[3]}var d=s.left-a.left-n,u=s.top-a.top-l,g=this.annoCtx.graphics.drawRect(d-i.globals.barPadForNumericAxis,u,s.width+n+o,s.height+l+h,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&g.node.classList.add(e.id),g}},{key:"annotationsBackground",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(a,"']"));
vendor: 6,369 bytes, line 46395
46395if(r){var n=r.parentNode,o=t.addBackgroundToAnno(r,i);o&&(n.insertBefore(o.node,r),i.label.mouseEnter&&o.node.addEventListener("mouseenter",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&o.node.addEventListener("mouseleave",i.label.mouseLeave.bind(t,i)),i.label.click&&o.node.addEventListener("click",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.forEach((function(t,e){return i(t,e,"xaxis")})),e.config.annotations.yaxis.forEach((function(t,e){return i(t,e,"yaxis")})),e.config.annotations.points.forEach((function(t,e){return i(t,e,"point")}))}},{key:"getY1Y2",value:function(t,e){var i,a=this.w,s="y1"===t?e.y:e.y2,r=!1;if(this.annoCtx.invertAxis){var n=a.config.xaxis.convertedCatToNumeric?a.globals.categoryLabels:a.globals.labels,o=n.indexOf(s),l=a.globals.dom.baseEl.querySelector(".apexcharts-yaxis-texts-g text:nth-child(".concat(o+1,")"));i=l?parseFloat(l.getAttribute("y")):(a.globals.gridHeight/n.length-1)*(o+1)-a.globals.barHeight,void 0!==e.seriesIndex&&a.globals.barHeight&&(i-=a.globals.barHeight/2*(a.globals.series.length-1)-a.globals.barHeight*e.seriesIndex)}else{var h,c=a.globals.seriesYAxisMap[e.yAxisIndex][0],d=a.config.yaxis[e.yAxisIndex].logarithmic?new Pi(this.annoCtx.ctx).getLogVal(a.config.yaxis[e.yAxisIndex].logBase,s,c)/a.globals.yLogRatio[c]:(s-a.globals.minYArr[c])/(a.globals.yRange[c]/a.globals.gridHeight);i=a.globals.gridHeight-Math.min(Math.max(d,0),a.globals.gridHeight),r=d>a.globals.gridHeight||d<0,!e.marker||void 0!==e.y&&null!==e.y||(i=0),null!==(h=a.config.yaxis[e.yAxisIndex])&&void 0!==h&&h.reversed&&(i=d)}return"string"==typeof s&&s.includes("px")&&(i=parseFloat(s)),{yP:i,clipped:r}}},{key:"getX1X2",value:function(t,e){var i=this.w,a="x1"===t?e.x:e.x2,s=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,r=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,n=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=!1,l=this.annoCtx.inversedReversedAxis?(r-a)/(n/i.globals.gridWidth):(a-s)/(n/i.globals.gridWidth);return"category"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||i.config.chart.sparkline.enabled||(l=this.getStringX(a)),"string"==typeof a&&a.includes("px")&&(l=parseFloat(a)),null==a&&e.marker&&(l=i.globals.gridWidth),void 0!==e.seriesIndex&&i.globals.barWidth&&!this.annoCtx.invertAxis&&(l-=i.globals.barWidth/2*(i.globals.series.length-1)-i.globals.barWidth*e.seriesIndex),"number"!=typeof l&&(l=0,o=!0),parseFloat(l.toFixed(10))>parseFloat(i.globals.gridWidth.toFixed(10))?(l=i.globals.gridWidth,o=!0):l<0&&(l=0,o=!0),{x:l,clipped:o}}},{key:"getStringX",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.map((function(t){return Array.isArray(t)?t.join(" "):t})).indexOf(t),s=e.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g text:nth-child(".concat(a+1,")"));return s&&(i=parseFloat(s.getAttribute("x"))),i}}]),t}(),Ti=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new Ii(this.annoCtx)}return s(t,[{key:"addXaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2("x1",t),n=r.x,o=r.clipped,l=!0,h=t.label.text,c=t.strokeDashArray;if(v.isNumber(n)){if(null===t.x2||void 0===t.x2){if(!o){var d=this.annoCtx.graphics.drawLine(n+t.offsetX,0+t.offsetY,n+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,c,t.borderWidth);e.appendChild(d.node),t.id&&d.node.classList.add(t.id)}}else{var u=this.helpers.getX1X2("x2",t);if(a=u.x,l=u.clipped,a<n){var g=n;n=a,a=g}var p=this.annoCtx.graphics.drawRect(n+t.offsetX,0+t.offsetY,a-n,s.globals.gridHeight+t.offsetY,0,t.fillColor,t.opacity,1,t.borderColor,c);p.node.classList.add("apexcharts-annotation-rect"),p.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(p.node),t.id&&p.node.classList.add(t.id)}if(!o||!l){var f=this.annoCtx.graphics.getTextRects(h,parseFloat(t.label.style.fontSize)),x="top"===t.label.position?4:"center"===t.label.position?s.globals.gridHeight/2+("vertical"===t.label.orientation?f.width/2:0):s.globals.gridHeight,b=this.annoCtx.graphics.drawText({x:n+t.label.offsetX,y:x+t.label.offsetY-("vertical"===t.label.orientation?"top"===t.label.position?f.width/2-12:-f.width/2:0),text:h,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-xaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});b.attr({rel:i}),e.appendChild(b.node),this.annoCtx.helpers.setOrientations(t,i)}}}},{key:"drawXAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-xaxis-annotations"});return e.config.annotations.xaxis.map((function(e,a){t.addXaxisAnnotation(e,i.node,a)})),i}}]),t}(),zi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return s(t,[{key:"isValidDate",value:function(t){return"number"!=typeof t&&!isNaN(this.parseDate(t))}},{key:"getTimeStamp",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:"getDate",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:"parseDate",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "));return i=this.getTimeStamp(i)}},{key:"parseDateWithTimezone",value:function(t){return Date.parse(t.replace(/-/g,"/").replace(/[a-z]+/gi," "))}},{key:"formatDate",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=["\0"].concat(f(i.months)),r=["\x01"].concat(f(i.shortMonths)),n=["\x02"].concat(f(i.days)),o=["\x03"].concat(f(i.shortDays));function l(t,e){var i=t+"";for(e=e||2;i.length<e;)i="0"+i;return i}var h=a?t.getUTCFullYear():t.getFullYear();e=(e=(e=e.replace(/(^|[^\\])yyyy+/g,"$1"+h)).replace(/(^|[^\\])yy/g,"$1"+h.toString().substr(2,2))).replace(/(^|[^\\])y/g,"$1"+h);var c=(a?t.getUTCMonth():t.getMonth())+1;
vendor: 6,952 bytes, line 46395
46395e=(e=(e=(e=e.replace(/(^|[^\\])MMMM+/g,"$1"+s[0])).replace(/(^|[^\\])MMM/g,"$1"+r[0])).replace(/(^|[^\\])MM/g,"$1"+l(c))).replace(/(^|[^\\])M/g,"$1"+c);var d=a?t.getUTCDate():t.getDate();e=(e=(e=(e=e.replace(/(^|[^\\])dddd+/g,"$1"+n[0])).replace(/(^|[^\\])ddd/g,"$1"+o[0])).replace(/(^|[^\\])dd/g,"$1"+l(d))).replace(/(^|[^\\])d/g,"$1"+d);var u=a?t.getUTCHours():t.getHours(),g=u>12?u-12:0===u?12:u;e=(e=(e=(e=e.replace(/(^|[^\\])HH+/g,"$1"+l(u))).replace(/(^|[^\\])H/g,"$1"+u)).replace(/(^|[^\\])hh+/g,"$1"+l(g))).replace(/(^|[^\\])h/g,"$1"+g);var p=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\])mm+/g,"$1"+l(p))).replace(/(^|[^\\])m/g,"$1"+p);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\])ss+/g,"$1"+l(x))).replace(/(^|[^\\])s/g,"$1"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\])fff+/g,"$1"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\])ff/g,"$1"+l(b)),b=Math.round(b/10);var m=u<12?"AM":"PM";e=(e=(e=e.replace(/(^|[^\\])f/g,"$1"+b)).replace(/(^|[^\\])TT+/g,"$1"+m)).replace(/(^|[^\\])T/g,"$1"+m.charAt(0));var v=m.toLowerCase();e=(e=e.replace(/(^|[^\\])tt+/g,"$1"+v)).replace(/(^|[^\\])t/g,"$1"+v.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?"Z":y>0?"+":"-";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+":"+l(k)}e=e.replace(/(^|[^\\])K/g,"$1"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(n[0],"g"),n[A])).replace(new RegExp(o[0],"g"),o[A])).replace(new RegExp(s[0],"g"),s[c])).replace(new RegExp(r[0],"g"),r[c])).replace(/\\(.)/g,"$1")}},{key:"getTimeUnitsfromTimestamp",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),n=this.formatDate(s,"yyyy MM dd HH mm ss fff").split(" "),o=this.formatDate(r,"yyyy MM dd HH mm ss fff").split(" ");return{minMillisecond:parseInt(n[6],10),maxMillisecond:parseInt(o[6],10),minSecond:parseInt(n[5],10),maxSecond:parseInt(o[5],10),minMinute:parseInt(n[4],10),maxMinute:parseInt(o[4],10),minHour:parseInt(n[3],10),maxHour:parseInt(o[3],10),minDate:parseInt(n[2],10),maxDate:parseInt(o[2],10),minMonth:parseInt(n[1],10)-1,maxMonth:parseInt(o[1],10)-1,minYear:parseInt(n[0],10),maxYear:parseInt(o[0],10)}}},{key:"isLeapYear",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:"calculcateLastDaysOfMonth",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:"determineDaysOfYear",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:"determineRemainingDaysOfYear",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:"determineDaysOfMonths",value:function(t,e){var i=30;switch(t=v.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),Xi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.tooltipKeyFormat="dd MMM"}return s(t,[{key:"xLabelFormat",value:function(t,e,i,a){var s=this.w;if("datetime"===s.config.xaxis.type&&void 0===s.config.xaxis.labels.formatter&&void 0===s.config.tooltip.x.formatter){var r=new zi(this.ctx);return r.formatDate(r.getDate(e),s.config.tooltip.x.format)}return t(e,i,a)}},{key:"defaultGeneralFormatter",value:function(t){return Array.isArray(t)?t.map((function(t){return t})):t}},{key:"defaultYFormatter",value:function(t,e,i){var a=this.w;if(v.isNumber(t))if(0!==a.globals.yValueDecimal)t=t.toFixed(void 0!==e.decimalsInFloat?e.decimalsInFloat:a.globals.yValueDecimal);else{var s=t.toFixed(0);t=t==s?s:t.toFixed(1)}return t}},{key:"setLabelFormatters",value:function(){var t=this,e=this.w;return e.globals.xaxisTooltipFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttKeyFormatter=function(e){return t.defaultGeneralFormatter(e)},e.globals.ttZFormatter=function(t){return t},e.globals.legendFormatter=function(e){return t.defaultGeneralFormatter(e)},void 0!==e.config.xaxis.labels.formatter?e.globals.xLabelFormatter=e.config.xaxis.labels.formatter:e.globals.xLabelFormatter=function(t){if(v.isNumber(t)){if(!e.config.xaxis.convertedCatToNumeric&&"numeric"===e.config.xaxis.type){if(v.isNumber(e.config.xaxis.decimalsInFloat))return t.toFixed(e.config.xaxis.decimalsInFloat);var i=e.globals.maxX-e.globals.minX;return i>0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},"function"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,"function"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:"heatmapLabelFormatters",value:function(){var t=this.w;if("heatmap"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),Ri=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"getLabel",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"12px",n=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],o=this.w,l=void 0===t[a]?"":t[a],h=l,c=o.globals.xLabelFormatter,d=o.config.xaxis.labels.formatter,u=!1,g=new Xi(this.ctx),p=l;n&&(h=g.xLabelFormat(c,l,p,{i:a,dateFormatter:new zi(this.ctx).formatDate,w:o}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new zi(this.ctx).formatDate,w:o})));var f,x;e.length>0?(f=e[a].unit,x=null,e.forEach((function(t){"month"===t.unit?x="year":"day"===t.unit?x="month":"hour"===t.unit?x="day":"minute"===t.unit&&(x="hour")})),u=x===f,i=e[a].position,h=e[a].value):"datetime"===o.config.xaxis.type&&void 0===d&&(h=""),void 0===h&&(h=""),h=Array.isArray(h)?h:h.toString();var b=new Mi(this.ctx),m={};m=o.globals.rotateXLabels&&n?b.getTextRects(h,parseInt(r,10),null,"rotate(".concat(o.config.xaxis.labels.rotate," 0 0)"),!1):b.getTextRects(h,parseInt(r,10));var v=!o.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&("NaN"===String(h)||s.indexOf(h)>=0&&v)&&(h=""),{x:i,text:h,textRect:m,isBold:u}}}
vendor: 17,003 bytes, line 46395
46395,{key:"checkLabelBasedOnTickamount",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return"dataPoints"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=""),e}},{key:"checkForOverflowingLabels",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=""),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=""),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var n=s[s.length-1];e.x<n.textRect.width/(r.globals.rotateXLabels?Math.abs(r.config.xaxis.labels.rotate)/12:1.01)+n.x&&(e.text="")}return e}},{key:"checkForReversedLabels",value:function(t,e){var i=this.w;return i.config.yaxis[t]&&i.config.yaxis[t].reversed&&e.reverse(),e}},{key:"yAxisAllSeriesCollapsed",value:function(t){var e=this.w.globals;return!e.seriesYAxisMap[t].some((function(t){return-1===e.collapsedSeriesIndices.indexOf(t)}))}},{key:"translateYAxisIndex",value:function(t){var e=this.w,i=e.globals,a=e.config.yaxis;return i.series.length>a.length||a.some((function(t){return Array.isArray(t.seriesName)}))?t:i.seriesYAxisReverseMap[t]}},{key:"isYAxisHidden",value:function(t){var e=this.w,i=e.config.yaxis[t];if(!i.show||this.yAxisAllSeriesCollapsed(t))return!0;if(!i.showForNullSeries){var a=e.globals.seriesYAxisMap[t],s=new Pi(this.ctx);return a.every((function(t){return s.isSeriesNull(t)}))}return!1}},{key:"getYAxisForeColor",value:function(t,e){var i=this.w;return Array.isArray(t)&&i.globals.yAxisScale[e]&&this.ctx.theme.pushExtraColors(t,i.globals.yAxisScale[e].result.length,!1),t}},{key:"drawYAxisTicks",value:function(t,e,i,a,s,r,n){var o=this.w,l=new Mi(this.ctx),h=o.globals.translateY+o.config.yaxis[s].labels.offsetY;if(o.globals.isBarHorizontal?h=0:"heatmap"===o.config.chart.type&&(h+=r/2),a.show&&e>0){!0===o.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=l.drawLine(t+i.offsetX-a.width+a.offsetX,h+a.offsetY,t+i.offsetX+a.offsetX,h+a.offsetY,a.color);n.add(d),h+=r}}}}]),t}(),Ei=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new Ii(this.annoCtx),this.axesUtils=new Ri(this.annoCtx)}return s(t,[{key:"addYaxisAnnotation",value:function(t,e,i){var a,s=this.w,r=t.strokeDashArray,n=this.helpers.getY1Y2("y1",t),o=n.yP,l=n.clipped,h=!0,c=!1,d=t.label.text;if(null===t.y2||void 0===t.y2){if(!l){c=!0;var u=this.annoCtx.graphics.drawLine(0+t.offsetX,o+t.offsetY,this._getYAxisAnnotationWidth(t),o+t.offsetY,t.borderColor,r,t.borderWidth);e.appendChild(u.node),t.id&&u.node.classList.add(t.id)}}else{if(a=(n=this.helpers.getY1Y2("y2",t)).yP,h=n.clipped,a>o){var g=o;o=a,a=g}if(!l||!h){c=!0;var p=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);p.node.classList.add("apexcharts-annotation-rect"),p.attr("clip-path","url(#gridRectMask".concat(s.globals.cuid,")")),e.appendChild(p.node),t.id&&p.node.classList.add(t.id)}}if(c){var f="right"===t.label.position?s.globals.gridWidth:"center"===t.label.position?s.globals.gridWidth/2:0,x=this.annoCtx.graphics.drawText({x:f+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:d,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-yaxis-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});x.attr({rel:i}),e.appendChild(x.node)}}},{key:"_getYAxisAnnotationWidth",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf("%")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:"drawYAxisAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-yaxis-annotations"});return e.config.annotations.yaxis.forEach((function(e,a){e.yAxisIndex=t.axesUtils.translateYAxisIndex(e.yAxisIndex),t.axesUtils.isYAxisHidden(e.yAxisIndex)&&t.axesUtils.yAxisAllSeriesCollapsed(e.yAxisIndex)||t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),Yi=function(){function t(e){i(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new Ii(this.annoCtx)}return s(t,[{key:"addPointAnnotation",value:function(t,e,i){if(!(this.w.globals.collapsedSeriesIndices.indexOf(t.seriesIndex)>-1)){var a=this.helpers.getX1X2("x1",t),s=a.x,r=a.clipped,n=(a=this.helpers.getY1Y2("y1",t)).yP,o=a.clipped;if(v.isNumber(s)&&!o&&!r){var l={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:"apexcharts-point-annotation-marker ".concat(t.marker.cssClass," ").concat(t.id?t.id:"")},h=this.annoCtx.graphics.drawMarker(s+t.marker.offsetX,n+t.marker.offsetY,l);e.appendChild(h.node);var c=t.label.text?t.label.text:"",d=this.annoCtx.graphics.drawText({x:s+t.label.offsetX,y:n+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:c,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:"apexcharts-point-annotation-label ".concat(t.label.style.cssClass," ").concat(t.id?t.id:"")});if(d.attr({rel:i}),e.appendChild(d.node),t.customSVG.SVG){var u=this.annoCtx.graphics.group({class:"apexcharts-point-annotations-custom-svg "+t.customSVG.cssClass});u.attr({transform:"translate(".concat(s+t.customSVG.offsetX,", ").concat(n+t.customSVG.offsetY,")")}),u.node.innerHTML=t.customSVG.SVG,e.appendChild(u.node)}if(t.image.path){var g=t.image.width?t.image.width:20,p=t.image.height?t.image.height:20;h=this.annoCtx.addImage({x:s+t.image.offsetX-g/2,y:n+t.image.offsetY-p/2,width:g,height:p,path:t.image.path,appendTo:".apexcharts-point-annotations"})}t.mouseEnter&&h.node.addEventListener("mouseenter",t.mouseEnter.bind(this,t)),t.mouseLeave&&h.node.addEventListener("mouseleave",t.mouseLeave.bind(this,t)),t.click&&h.node.addEventListener("click",t.click.bind(this,t))}}}},{key:"drawPointAnnotations",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:"apexcharts-point-annotations"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var Hi={name:"en",options:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],toolbar:{exportToSVG:"Download SVG",exportToPNG:"Download PNG",exportToCSV:"Download CSV",menu:"Menu",selection:"Selection",selectionZoom:"Selection Zoom",zoomIn:"Zoom In",zoomOut:"Zoom Out",pan:"Panning",reset:"Reset Zoom"}}},Oi=function(){function t(){i(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,stepSize:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,showDuplicates:!1,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:"11px",fontWeight:400,fontFamily:void 0,cssClass:""},formatter:void 0},axisBorder:{show:!1,color:"#e0e0e0",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:"#e0e0e0",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:"11px",fontWeight:900,fontFamily:void 0,cssClass:""}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:"front",stroke:{color:"#b6b6b6",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:void 0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:"#fff",strokeWidth:2,strokeColor:"#333",shape:"circle",offsetX:0,offsetY:0,cssClass:""},label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:"100%",yAxisIndex:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"end",position:"right",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:"#c2c2c2",borderColor:"#c2c2c2",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:"#c2c2c2",borderWidth:1,borderRadius:2,text:void 0,textAnchor:"middle",orientation:"vertical",position:"top",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:"#fff",color:void 0,fontSize:"11px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:"",textAnchor:"start",foreColor:void 0,fontSize:"13px",fontFamily:void 0,fontWeight:400,appendTo:".apexcharts-annotations",backgroundColor:"transparent",borderColor:"#c2c2c2",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return s(t,[{key:"init",value:function(){return{annotations:{yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:"",locales:[Hi],defaultLocale:"en",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:"#000",opacity:.7},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:"#373d3f",fontFamily:"Helvetica, Arial, sans-serif",height:"auto",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,nonce:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:"x",fill:{color:"#24292e",opacity:.1},stroke:{width:1,color:"#24292e",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0,targets:void 0},stacked:!1,stackOnlyBar:!0,stackType:"normal",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:",",headerCategory:"category",headerValue:"value",categoryFormatter:void 0,valueFormatter:void 0},png:{filename:void 0},svg:{filename:void 0},scale:void 0,width:void 0},autoSelected:"zoom"},type:"line",width:"100%",zoom:{enabled:!0,type:"x",autoScaleYaxis:!1,allowMouseWheelZoom:!0,zoomedArea:{fill:{color:"#90CAF9",opacity:.4},stroke:{color:"#0D47A1",opacity:.4,width:1}}}},plotOptions:{line:{isSlopeChart:!1,colors:{threshold:0,colorAboveThreshold:void 0,colorBelowThreshold:void 0}},area:{fillTo:"origin"},bar:{horizontal:!1,columnWidth:"70%",barHeight:"70%",distributed:!1,borderRadius:0,borderRadiusApplication:"around",borderRadiusWhenStacked:"last",rangeBarOverlap:!0,rangeBarGroupRows:!1,hideZeroBarsWhenGrouped:!1,isDumbbell:!1,dumbbellColors:void 0,isFunnel:!1,isFunnel3d:!0,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:"top",maxItems:100,hideOverflowingLabels:!0,orientation:"horizontal",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:"#373d3f",fontSize:"12px",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:"#00B746",downward:"#EF403C"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:"#00E396",lower:"#008FFB"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,borderRadius:4,dataLabels:{format:"scale"},colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0},seriesTitle:{show:!0,offsetY:1,offsetX:1,borderColor:"#000",borderWidth:1,borderRadius:2,style:{background:"rgba(0, 0, 0, 0.6)",color:"#fff",fontSize:"12px",fontFamily:void 0,fontWeight:400,cssClass:"",padding:{left:6,right:6,top:2,bottom:2}}}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:"50%",background:"transparent",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:"front",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:"#f2f2f2",strokeWidth:"97%",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:"#000",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:"14px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+"%"}},total:{show:!1,label:"Total",fontSize:"16px",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+"%"}}},barLabels:{enabled:!1,offsetX:0,offsetY:0,useSeriesColors:!0,fontFamily:void 0,fontWeight:600,fontSize:"16px",formatter:function(t){return t},onClick:void 0}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:"65%",background:"transparent",labels:{show:!1,name:{show:!0,fontSize:"16px",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:"20px",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:"Total",fontSize:"16px",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:"#e8e8e8"},spokes:{strokeWidth:1,connectorColors:"#e8e8e8"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:"#e8e8e8",connectorColors:"#e8e8e8",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:""},textAnchor:"middle",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:"12px",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:"#fff",backgroundColor:void 0,borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:"#fff",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.8}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:"#000",opacity:.8}},fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:"squares",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:"#e0e0e0",strokeDashArray:0,position:"back",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:"bottom",horizontalAlign:"center",inverseOrder:!1,fontSize:"12px",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],clusterGroupedSeries:!0,clusterGroupedSeriesOrientation:"vertical",labels:{colors:void 0,useSeriesColors:!1},markers:{size:7,fillColors:void 0,strokeWidth:1,shape:void 0,offsetX:0,offsetY:0,customHTML:void 0,onClick:void 0},itemMargin:{horizontal:5,vertical:4},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:"#fff",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:"circle",offsetX:0,offsetY:0,showNullDataPoints:!0,onClick:void 0,onDblClick:void 0,hover:{size:void 0,sizeOffset:3}}
vendor: 27,244 bytes, line 46395
46395,noData:{text:void 0,align:"center",verticalAlign:"middle",offsetX:0,offsetY:0,style:{color:void 0,fontSize:"14px",fontFamily:void 0}},responsive:[],series:void 0,states:{hover:{filter:{type:"lighten"}},active:{allowMultipleDataPointsSelection:!1,filter:{type:"darken"}}},title:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:"14px",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:"left",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:"12px",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:"smooth",lineCap:"butt",width:2,colors:void 0,dashArray:0,fill:{type:"solid",colors:void 0,opacity:.85,gradient:{shade:"dark",type:"horizontal",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,hideEmptySeries:!1,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:"light",cssClass:"",style:{fontSize:"12px",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:"dd MMM",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+": ":""}}},z:{formatter:void 0,title:"Size: "},marker:{show:!0,fillColors:void 0},items:{display:"flex"},fixed:{enabled:!1,position:"topRight",offsetX:0,offsetY:0}},xaxis:{type:"category",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:"yyyy",month:"MMM 'yy",day:"dd MMM",hour:"HH:mm",minute:"HH:mm:ss",second:"HH:mm:ss"}},group:{groups:[],style:{colors:[],fontSize:"12px",fontWeight:400,fontFamily:void 0,cssClass:""}},axisBorder:{show:!0,color:"#e0e0e0",width:"100%",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:"#e0e0e0",height:6,offsetX:0,offsetY:0},stepSize:void 0,tickAmount:void 0,tickPlacement:"on",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:"bottom",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:"12px",fontWeight:900,fontFamily:void 0,cssClass:""}},crosshairs:{show:!0,width:1,position:"back",opacity:.9,stroke:{color:"#b6b6b6",width:1,dashArray:3},fill:{type:"solid",color:"#B1B9C4",gradient:{colorFrom:"#D8E3F0",colorTo:"#BED1E6",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.8}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:"12px",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:"",palette:"palette1",monochrome:{enabled:!1,color:"#008FFB",shadeTo:"light",shadeIntensity:.65}}}}}]),t}(),Fi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.graphics=new Mi(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new Ii(this),this.xAxisAnnotations=new Ti(this),this.yAxisAnnotations=new Ei(this),this.pointsAnnotations=new Yi(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return s(t,[{key:"drawAxesAnnotations",value:function(){var t=this.w;if(t.globals.axisCharts&&t.globals.dataPoints){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],n=[i.node,e.node,a.node],o=0;o<3;o++)t.globals.dom.elGraphical.add(r[o]),!s||t.globals.resized||t.globals.dataChanged||"scatter"!==t.config.chart.type&&"bubble"!==t.config.chart.type&&t.globals.dataPoints>1&&n[o].classList.add("apexcharts-element-hidden"),t.globals.delayedElements.push({el:n[o],index:0});this.helpers.annotationsBackground()}}},{key:"drawImageAnnos",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:"drawTextAnnos",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:"addXaxisAnnotation",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:"addYaxisAnnotation",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:"addPointAnnotation",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:"addText",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,n=t.foreColor,o=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,u=t.borderWidth,g=t.strokeDashArray,p=t.borderRadius,f=t.borderColor,x=t.appendTo,b=void 0===x?".apexcharts-svg":x,m=t.paddingLeft,v=void 0===m?4:m,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,C=t.paddingTop,S=void 0===C?2:C,L=this.w,M=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||"start",fontSize:o||"12px",fontWeight:h||"regular",fontFamily:l||L.config.chart.fontFamily,foreColor:n||L.config.chart.foreColor,cssClass:c}),P=L.globals.dom.baseEl.querySelector(b);P&&P.appendChild(M.node);var I=M.bbox();if(s){var T=this.graphics.drawRect(I.x-v,I.y-S,I.width+v+w,I.height+A+S,p,d||"transparent",1,u,f,g);P.insertBefore(T.node,M.node)}}},{key:"addImage",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,n=t.y,o=void 0===n?0:n,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,u=t.appendTo,g=void 0===u?".apexcharts-svg":u,p=i.globals.dom.Paper.image(a);p.size(h,d).move(r,o);var f=i.globals.dom.baseEl.querySelector(g);return f&&f.appendChild(p.node),p}},{key:"addXaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"xaxis",contextMethod:i.addXaxisAnnotation}),i}},{key:"addYaxisAnnotationExternal",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"yaxis",contextMethod:i.addYaxisAnnotation}),i}},{key:"addPointAnnotationExternal",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:"point",contextMethod:i.addPointAnnotation}),i}},{key:"addAnnotationExternal",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,n=a,o=n.w,l=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations")),h=l.childNodes.length+1,c=new Oi,d=Object.assign({},"xaxis"===s?c.xAxisAnnotation:"yaxis"===s?c.yAxisAnnotation:c.pointAnnotation),u=v.extend(d,e);switch(s){case"xaxis":this.addXaxisAnnotation(u,l,h);break;case"yaxis":this.addYaxisAnnotation(u,l,h);break;case"point":this.addPointAnnotation(u,l,h)}var g=o.globals.dom.baseEl.querySelector(".apexcharts-".concat(s,"-annotations .apexcharts-").concat(s,"-annotation-label[rel='").concat(h,"']")),p=this.helpers.addBackgroundToAnno(g,u);return p&&l.insertBefore(p.node,g),i&&o.globals.memory.methodsToExec.push({context:n,id:u.id?u.id:v.randomId(),method:r,label:"addAnnotation",params:e}),a}},{key:"clearAnnotations",value:function(t){for(var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations"),a=e.globals.memory.methodsToExec.length-1;a>=0;a--)"addText"!==e.globals.memory.methodsToExec[a].label&&"addAnnotation"!==e.globals.memory.methodsToExec[a].label||e.globals.memory.methodsToExec.splice(a,1);i=v.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:"removeAnnotation",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(".".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Object.keys(i.config.annotations).forEach((function(t){var a=i.config.annotations[t];Array.isArray(a)&&(i.config.annotations[t]=a.filter((function(t){return t.id!==e})))})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),Di=function(t){var e,i=t.isTimeline,a=t.ctx,s=t.seriesIndex,r=t.dataPointIndex,n=t.y1,o=t.y2,l=t.w,h=l.globals.seriesRangeStart[s][r],c=l.globals.seriesRangeEnd[s][r],d=l.globals.labels[r],u=l.config.series[s].name?l.config.series[s].name:"",g=l.globals.ttKeyFormatter,p=l.config.tooltip.y.title.formatter,f={w:l,seriesIndex:s,dataPointIndex:r,start:h,end:c};("function"==typeof p&&(u=p(u,f)),null!==(e=l.config.series[s].data[r])&&void 0!==e&&e.x&&(d=l.config.series[s].data[r].x),i)||"datetime"===l.config.xaxis.type&&(d=new Xi(a).xLabelFormat(l.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new zi(a).formatDate,w:l}));"function"==typeof g&&(d=g(d,f)),Number.isFinite(n)&&Number.isFinite(o)&&(h=n,c=o);var x="",b="",m=l.globals.colors[s];if(void 0===l.config.tooltip.x.formatter)if("datetime"===l.config.xaxis.type){var v=new zi(a);x=v.formatDate(v.getDate(h),l.config.tooltip.x.format),b=v.formatDate(v.getDate(c),l.config.tooltip.x.format)}else x=h,b=c;else x=l.config.tooltip.x.formatter(h),b=l.config.tooltip.x.formatter(c);return{start:h,end:c,startVal:x,endVal:b,ylabel:d,color:m,seriesName:u}},_i=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,n=t.seriesIndex,o=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(n);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[n][o]),c='<span class="value start-value">\n '.concat(s,'\n </span> <span class="separator">-</span> <span class="value end-value">\n ').concat(r,"\n </span>");return'<div class="apexcharts-tooltip-rangebar"><div> <span class="series-name" style="color: '+e+'">'+(i||"")+'</span></div><div> <span class="category">'+a+": </span> "+(t.w.globals.comboCharts?"rangeArea"===t.w.config.series[n].type||"rangeBar"===t.w.config.series[n].type?c:"<span>".concat(h,"</span>"):c)+" </div></div>"},Ni=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:"hideYAxis",value:function(){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text="",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0}},{key:"line",value:function(){return{dataLabels:{enabled:!1},stroke:{width:5,curve:"straight"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:"sparkline",value:function(t){this.hideYAxis();return v.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:"slope",value:function(){return this.hideYAxis(),{chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!0,formatter:function(t,e){var i=e.w.config.series[e.seriesIndex].name;return null!==t?i+": "+t:""},background:{enabled:!1},offsetX:-5},grid:{xaxis:{lines:{show:!0}},yaxis:{lines:{show:!1}}},xaxis:{position:"top",labels:{style:{fontSize:14,fontWeight:900}},tooltip:{enabled:!1},crosshairs:{show:!1}},markers:{size:8,hover:{sizeOffset:1}},legend:{show:!1},tooltip:{shared:!1,intersect:!0,followCursor:!0},stroke:{width:5,curve:"straight"}}}},{key:"bar",value:function(){return{chart:{stacked:!1},plotOptions:{bar:{dataLabels:{position:"center"}}},dataLabels:{style:{colors:["#fff"]},background:{enabled:!1}},stroke:{width:0,lineCap:"square"},fill:{opacity:.85},legend:{markers:{shape:"square"}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:"between",crosshairs:{width:"barWidth",position:"back",fill:{type:"gradient"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:"funnel",value:function(){return this.hideYAxis(),u(u({},this.bar()),{},{chart:{animations:{speed:800,animateGradually:{enabled:!1}}},plotOptions:{bar:{horizontal:!0,borderRadiusApplication:"around",borderRadius:0,dataLabels:{position:"center"}}},grid:{show:!1,padding:{left:0,right:0}},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}}})}},{key:"candlestick",value:function(){var t=this;return{stroke:{width:1},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Open","High","","Low","Close"],"candlestick")}},states:{active:{filter:{type:"none"}}},xaxis:{crosshairs:{width:1}}}}},{key:"boxPlot",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:["#24292e"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,["Minimum","Q1","Median","Q3","Maximum"],"boxPlot")}},markers:{size:7,strokeWidth:1,strokeColors:"#111"},xaxis:{crosshairs:{width:1}}}}},{key:"rangeBar",value:function(){return{chart:{animations:{animateGradually:!1}},stroke:{width:0,lineCap:"square"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:"center"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?"rangeBar"===s.config.series[i].type||"rangeArea"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:["#fff"]}},markers:{size:10},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var e=Di(u(u({},t),{},{isTimeline:!0})),i=e.color,a=e.seriesName,s=e.ylabel,r=e.startVal,n=e.endVal;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t):function(t){var e=Di(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,n=e.end;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t)}},xaxis:{tickPlacement:"between",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:"dumbbell",value:function(t){var e,i;return null!==(e=t.plotOptions.bar)&&void 0!==e&&e.barHeight||(t.plotOptions.bar.barHeight=2),null!==(i=t.plotOptions.bar)&&void 0!==i&&i.columnWidth||(t.plotOptions.bar.columnWidth=2),t}},{key:"area",value:function(){return{stroke:{width:4,fill:{type:"solid",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:"gradient",gradient:{inverseColors:!1,shade:"light",type:"vertical",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:"rangeArea",value:function(){return{stroke:{curve:"straight",width:0},fill:{type:"solid",opacity:.6},markers:{size:0},states:{hover:{filter:{type:"none"}},active:{filter:{type:"none"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var e=Di(t),i=e.color,a=e.seriesName,s=e.ylabel,r=e.start,n=e.end;return _i(u(u({},t),{},{color:i,seriesName:a,ylabel:s,start:r,end:n}))}(t)}}}}},{key:"brush",value:function(t){return v.extend(t,{chart:{toolbar:{autoSelected:"selection",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:"stacked100",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),"bar"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return"number"==typeof t&&t?t.toFixed(0)+"%":t}),t}},{key:"stackedBars",value:function(){var t=this.bar();return u(u({},t),{},{plotOptions:u(u({},t.plotOptions),{},{bar:u(u({},t.plotOptions.bar),{},{borderRadiusApplication:"end",borderRadiusWhenStacked:"last"})})})}},{key:"convertCatToNumeric",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:"convertCatToNumericXaxis",value:function(t,e,i){t.xaxis.type="numeric",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return v.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return v.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||"dataPoints",t}},{key:"bubble",value:function(){return{dataLabels:{style:{colors:["#fff"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:"solid",gradient:{shade:"light",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:"scatter",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:"heatmap",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:["#fff"]}},stroke:{colors:["#fff"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:"top",markers:{shape:"square"}},grid:{padding:{right:20}}}}},{key:"treemap",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:["#fff"]}},stroke:{show:!0,width:2,colors:["#fff"]},legend:{show:!1},fill:{opacity:1,gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:"pie",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",stops:[0,100]}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"donut",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},style:{colors:["#fff"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:["#fff"]},fill:{opacity:1,gradient:{shade:"light",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"polarArea",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+"%"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:"dark",fillSeriesColor:!0},legend:{position:"right"},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"radar",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:"11px"}},stroke:{width:2},markers:{size:5,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},xaxis:{labels:{formatter:function(t){return t},style:{colors:["#a8a8a8"],fontSize:"11px"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:"radialBar",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:"dark",shadeIntensity:.4,inverseColors:!1,type:"diagonal2",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:"right"},tooltip:{enabled:!1,fillSeriesColor:!0},grid:{padding:{left:0,right:0,top:0,bottom:0}}}}},{key:"_getBoxTooltip",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],n=t.globals.seriesCandleH[e][i],o=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'<div class="apexcharts-custom-tooltip">\n '.concat(t.config.series[e].name?t.config.series[e].name:"series-"+(e+1),": <strong>").concat(t.globals.series[e][i],"</strong>\n </div>"):'<div class="apexcharts-tooltip-box apexcharts-tooltip-'.concat(t.config.chart.type,'">')+"<div>".concat(a[0],': <span class="value">')+r+"</span></div>"+"<div>".concat(a[1],': <span class="value">')+n+"</span></div>"+(o?"<div>".concat(a[2],': <span class="value">')+o+"</span></div>":"")+"<div>".concat(a[3],': <span class="value">')+l+"</span></div>"+"<div>".concat(a[4],': <span class="value">')+h+"</span></div></div>"}}]),t}(),Wi=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:"init",value:function(t){var e=t.responsiveOverride,i=this.opts,a=new Oi,s=new Ni(i);this.chartType=i.chart.type,i=this.extendYAxis(i),i=this.extendAnnotations(i);var r=a.init(),n={};if(i&&"object"===b(i)){var o,l,h,c,d,u,g,p,f,x,m={};m=-1!==["line","area","bar","candlestick","boxPlot","rangeBar","rangeArea","bubble","scatter","heatmap","treemap","pie","polarArea","donut","radar","radialBar"].indexOf(i.chart.type)?s[i.chart.type]():s.line(),null!==(o=i.plotOptions)&&void 0!==o&&null!==(l=o.bar)&&void 0!==l&&l.isFunnel&&(m=s.funnel()),i.chart.stacked&&"bar"===i.chart.type&&(m=s.stackedBars()),null!==(h=i.chart.brush)&&void 0!==h&&h.enabled&&(m=s.brush(m)),null!==(c=i.plotOptions)&&void 0!==c&&null!==(d=c.line)&&void 0!==d&&d.isSlopeChart&&(m=s.slope()),i.chart.stacked&&"100%"===i.chart.stackType&&(i=s.stacked100(i)),null!==(u=i.plotOptions)&&void 0!==u&&null!==(g=u.bar)&&void 0!==g&&g.isDumbbell&&(i=s.dumbbell(i)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(i),i.xaxis=i.xaxis||window.Apex.xaxis||{},e||(i.xaxis.convertedCatToNumeric=!1),(null!==(p=(i=this.checkForCatToNumericXAxis(this.chartType,m,i)).chart.sparkline)&&void 0!==p&&p.enabled||null!==(f=window.Apex.chart)&&void 0!==f&&null!==(x=f.sparkline)&&void 0!==x&&x.enabled)&&(m=s.sparkline(m)),n=v.extend(r,m)}var y=v.extend(n,window.Apex);return r=v.extend(y,i),r=this.handleUserInputErrors(r)}},{key:"checkForCatToNumericXAxis",value:function(t,e,i){var a,s,r=new Ni(i),n=("bar"===t||"boxPlot"===t)&&(null===(a=i.plotOptions)||void 0===a||null===(s=a.bar)||void 0===s?void 0:s.horizontal),o="pie"===t||"polarArea"===t||"donut"===t||"radar"===t||"radialBar"===t||"heatmap"===t,l="datetime"!==i.xaxis.type&&"numeric"!==i.xaxis.type,h=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return n||o||!l||"between"===h||(i=r.convertCatToNumeric(i)),i}},{key:"extendYAxis",value:function(t,e){var i=new Oi;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=v.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[v.extend(i.yAxis,t.yaxis)]:t.yaxis=v.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name="series-".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=v.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn("A multi-series logarithmic chart should have equal number of series and y-axes"),t}},{key:"extendAnnotations",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:"extendYAxisAnnotations",value:function(t){var e=new Oi;return t.annotations.yaxis=v.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:"extendXAxisAnnotations",value:function(t){var e=new Oi;return t.annotations.xaxis=v.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:"extendPointAnnotations",value:function(t){var e=new Oi;return t.annotations.points=v.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:"checkForDarkTheme",value:function(t){t.theme&&"dark"===t.theme.mode&&(t.tooltip||(t.tooltip={}),"light"!==t.tooltip.theme&&(t.tooltip.theme="dark"),t.chart.foreColor||(t.chart.foreColor="#f6f7f8"),t.theme.palette||(t.theme.palette="palette4"))}},{key:"handleUserInputErrors",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error("tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.");if("bar"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error("Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return"bar"!==e.chart.type&&"rangeBar"!==e.chart.type||e.tooltip.shared&&"barWidth"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width="tickWidth"),"candlestick"!==e.chart.type&&"boxPlot"!==e.chart.type||e.yaxis[0].reversed&&(console.warn("Reversed y-axis in ".concat(e.chart.type," chart is not supported.")),e.yaxis[0].reversed=!1),e}}]),t}(),Bi=function(){function t(){i(this,t)}return s(t,[{key:"initGlobalVars",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasXaxisGroups=!1,t.groups=[],t.barGroups=[],t.lineGroups=[],t.areaGroups=[],t.hasSeriesGroups=!1,t.seriesGroups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.lastWheelExecution=0,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0,t.multiAxisTickAmount=0}},{key:"globalVars",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:"ontouchstart"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvi
46395ded:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],invalidLogScale:!1,ignoreYAxisIndexes:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:"zoom"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:"pan"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:"selection"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:"http://www.w3.org/2000/svg",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,isSlopeChart:t.plotOptions.line.isSlopeChart,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null,niceScaleAllowedMagMsd:[[1,1,2,5,5,5,10,10,10,10,10],[1,1,2,5,5,5,10,10,10,10,10]],niceScaleDefaultTicks:[1,2,4,4,6,6,6,6,6,6,6,6,6,6,6,6,6,6,12,12,12,12,12,12,12,12,12,24],seriesYAxisMap:[],seriesYAxisReverseMap:[]}}},{key:"init",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=v.extend({},t),e.initialSeries=v.clone(t.series),e.lastXAxis=v.clone(e.initialConfig.xaxis),e.lastYAxis=v.clone(e.initialConfig.yaxis),e}}]),t}(),Gi=function(){function t(e){i(this,t),this.opts=e}return s(t,[{key:"init",value:function(){var t=new Wi(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new Bi).init(t)}}}]),t}(),ji=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0,this.patternIDs=[]}return s(t,[{key:"clippedImgArea",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,n=t.image,o=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(o=i.fill.image.width+1,l=i.fill.image.height):(o=r+1,l=r):(o=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,"pattern");Mi.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:"userSpaceOnUse",width:o+"px",height:l+"px"});var c=document.createElementNS(e.globals.SVGNS,"image");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,"href",n),Mi.setAttrs(c,{x:0,y:0,preserveAspectRatio:"none",width:o+"px",height:l+"px"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:"getSeriesIndex",value:function(t){var e=this.w,i=e.config.chart.type;return("bar"===i||"rangeBar"===i)&&e.config.plotOptions.bar.distributed||"heatmap"===i||"treemap"===i?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:"computeColorStops",value:function(t,e){var i,a=this.w,s=null,n=null,o=r(t);try{for(o.s();!(i=o.n()).done;){var l=i.value;l>=e.threshold?(null===s||l>s)&&(s=l):(null===n||l<n)&&(n=l)}}catch(t){o.e(t)}finally{o.f()}null===s&&(s=e.threshold),null===n&&(n=e.threshold);var h=s-e.threshold+(e.threshold-n);0===h&&(h=1);var c=100-(e.threshold-n)/h*100;return[{offset:c=Math.max(0,Math.min(c,100)),color:e.colorAboveThreshold,opacity:a.config.fill.opacity},{offset:0,color:e.colorBelowThreshold,opacity:a.config.fill.opacity}]}},{key:"fillPath",value:function(t){var e,i,a,s=this.w;this.opts=t;var r,n,o,l=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var h=l.plotOptions.line.colors.colorAboveThreshold&&l.plotOptions.line.colors.colorBelowThreshold,c=this.getFillColors()[this.seriesIndex];void 0!==s.globals.seriesColors[this.seriesIndex]&&(c=s.globals.seriesColors[this.seriesIndex]),"function"==typeof c&&(c=c({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:s}));var d,u,g,p=t.fillType?t.fillType:this.getFillType(this.seriesIndex),x=Array.isArray(l.fill.opacity)?l.fill.opacity[this.seriesIndex]:l.fill.opacity,b="gradient"===p||h;(t.color&&(c=t.color),null!==(e=s.config.series[this.seriesIndex])&&void 0!==e&&null!==(i=e.data)&&void 0!==i&&null!==(a=i[t.dataPointIndex])&&void 0!==a&&a.fillColor)&&(c=null===(d=s.config.series[this.seriesIndex])||void 0===d||null===(u=d.data)||void 0===u||null===(g=u[t.dataPointIndex])||void 0===g?void 0:g.fillColor);c||(c="#fff",console.warn("undefined color - ApexCharts"));var m=c;if(-1===c.indexOf("rgb")?-1===c.indexOf("#")?m=c:c.length<9&&(m=v.hexToRgba(c,x)):c.indexOf("rgba")>-1?x=v.getOpacityFromRGBA(c):m=v.hexToRgba(v.rgb2hex(c),x),t.opacity&&(x=t.opacity),"pattern"===p&&
vendor: 13,418 bytes, line 46395
46395(n=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:n,fillColor:c,fillOpacity:x,defaultColor:m})),b){var y=f(l.fill.gradient.colorStops)||[],w=l.fill.gradient.type;h&&(y[this.seriesIndex]=this.computeColorStops(s.globals.series[this.seriesIndex],l.plotOptions.line.colors),w="vertical"),o=this.handleGradientFill({type:w,fillConfig:t.fillConfig,fillColor:c,fillOpacity:x,colorStops:y,i:this.seriesIndex})}if("image"===p){var k=l.fill.image.src,A=t.patternID?t.patternID:"",C="pattern".concat(s.globals.cuid).concat(t.seriesNumber+1).concat(A);-1===this.patternIDs.indexOf(C)&&(this.clippedImgArea({opacity:x,image:Array.isArray(k)?t.seriesNumber<k.length?k[t.seriesNumber]:k[0]:k,width:t.width?t.width:void 0,height:t.height?t.height:void 0,patternUnits:t.patternUnits,patternID:C}),this.patternIDs.push(C)),r="url(#".concat(C,")")}else r=b?o:"pattern"===p?n:m;return t.solid&&(r=m),r}},{key:"getFillType",value:function(t){var e=this.w;return Array.isArray(e.config.fill.type)?e.config.fill.type[t]:e.config.fill.type}},{key:"getFillColors",value:function(){var t=this.w,e=t.config,i=this.opts,a=[];return t.globals.comboCharts?"line"===t.config.series[this.seriesIndex].type?Array.isArray(t.globals.stroke.colors)?a=t.globals.stroke.colors:a.push(t.globals.stroke.colors):Array.isArray(t.globals.fill.colors)?a=t.globals.fill.colors:a.push(t.globals.fill.colors):"line"===e.chart.type?Array.isArray(t.globals.stroke.colors)?a=t.globals.stroke.colors:a.push(t.globals.stroke.colors):Array.isArray(t.globals.fill.colors)?a=t.globals.fill.colors:a.push(t.globals.fill.colors),void 0!==i.fillColors&&(a=[],Array.isArray(i.fillColors)?a=i.fillColors.slice():a.push(i.fillColors)),a}},{key:"handlePatternFill",value:function(t){var e=t.fillConfig,i=t.patternFill,a=t.fillColor,s=t.fillOpacity,r=t.defaultColor,n=this.w.config.fill;e&&(n=e);var o=this.opts,l=new Mi(this.ctx),h=Array.isArray(n.pattern.strokeWidth)?n.pattern.strokeWidth[this.seriesIndex]:n.pattern.strokeWidth,c=a;Array.isArray(n.pattern.style)?i=void 0!==n.pattern.style[o.seriesNumber]?l.drawPattern(n.pattern.style[o.seriesNumber],n.pattern.width,n.pattern.height,c,h,s):r:i=l.drawPattern(n.pattern.style,n.pattern.width,n.pattern.height,c,h,s);return i}},{key:"handleGradientFill",value:function(t){var e=t.type,i=t.fillColor,a=t.fillOpacity,s=t.fillConfig,r=t.colorStops,n=t.i,o=this.w.config.fill;s&&(o=u(u({},o),s));var l=this.opts,h=new Mi(this.ctx),c=new v;e=e||o.gradient.type;var d,g=i,p=void 0===o.gradient.opacityFrom?a:Array.isArray(o.gradient.opacityFrom)?o.gradient.opacityFrom[n]:o.gradient.opacityFrom;g.indexOf("rgba")>-1&&(p=v.getOpacityFromRGBA(g));var f=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[n]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)d="dark"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?v.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf("rgb")>-1?v.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var x=o.gradient.gradientToColors[l.seriesNumber];d=x,x.indexOf("rgba")>-1&&(f=v.getOpacityFromRGBA(x))}else d=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(d=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=d,d=b}return g.indexOf("rgb")>-1&&(g=v.rgb2hex(g)),d.indexOf("rgb")>-1&&(d=v.rgb2hex(d)),h.drawGradient(e,g,d,p,f,l.size,o.gradient.stops,r,n)}}]),t}(),Vi=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"setGlobalMarkerSize",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length<t.globals.series.length+1)for(var e=0;e<=t.globals.series.length;e++)void 0===t.globals.markers.size[e]&&t.globals.markers.size.push(t.globals.markers.size[0])}else t.globals.markers.size=t.config.series.map((function(e){return t.config.markers.size}))}},{key:"plotChartMarkers",value:function(t){var e=t.pointsPos,i=t.seriesIndex,a=t.j,s=t.pSize,r=t.alwaysDrawMarker,n=void 0!==r&&r,o=t.isVirtualPoint,l=void 0!==o&&o,h=this.w,c=i,d=e,u=null,g=new Mi(this.ctx),p=h.config.markers.discrete&&h.config.markers.discrete.length;if(Array.isArray(d.x))for(var f=0;f<d.x.length;f++){var x=void 0,b=a,m=!v.isNumber(d.y[f]);0===h.globals.markers.largestSize&&h.globals.hasNullValues&&null!==h.globals.series[c][a+1]&&!l&&(m=!0),1===a&&0===f&&(b=0),1===a&&1===f&&(b=1);var y="apexcharts-marker";if("line"!==h.config.chart.type&&"area"!==h.config.chart.type||h.globals.comboCharts||h.config.tooltip.intersect||(y+=" no-pointer-events"),(Array.isArray(h.config.markers.size)?h.globals.markers.size[i]>0:h.config.markers.size>0)||n||p){m||(y+=" w".concat(v.randomId()));var w=this.getMarkerConfig({cssClass:y,seriesIndex:i,dataPointIndex:b});if(h.config.series[c].data[b]&&(h.config.series[c].data[b].fillColor&&(w.pointFillColor=h.config.series[c].data[b].fillColor),h.config.series[c].data[b].strokeColor&&(w.pointStrokeColor=h.config.series[c].data[b].strokeColor)),void 0!==s&&(w.pSize=s),(d.x[f]<-h.globals.markers.largestSize||d.x[f]>h.globals.gridWidth+h.globals.markers.largestSize||d.y[f]<-h.globals.markers.largestSize||d.y[f]>h.globals.gridHeight+h.globals.markers.largestSize)&&(w.pSize=0),!m)(h.globals.markers.size[i]>0||n||p)&&!u&&(u=g.group({class:n||p?"":"apexcharts-series-markers"})).attr("clip-path","url(#gridRectMarkerMask".concat(h.globals.cuid,")")),(x=g.drawMarker(d.x[f],d.y[f],w)).attr("rel",b),x.attr("j",b),x.attr("index",i),x.node.setAttribute("default-marker-size",w.pSize),new Li(this.ctx).setSelectionFilter(x,i,b),this.addEvents(x),u&&u.add(x)}else void 0===h.globals.pointsArray[i]&&(h.globals.pointsArray[i]=[]),h.globals.pointsArray[i].push([d.x[f],d.y[f]])}return u}},{key:"getMarkerConfig",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.radius,n=void 0===r?null:r,o=t.size,l=void 0===o?null:o,h=t.strokeWidth,c=void 0===h?null:h,d=this.w,u=this.getMarkerStyle(i),g=null===l?d.globals.markers.size[i]:l,p=d.config.markers;return null!==s&&p.discrete.length&&p.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(u.pointStrokeColor=t.strokeColor,u.pointFillColor=t.fillColor,g=t.size,u.pointShape=t.shape)})),{pSize:null===n?g:n,pRadius:null!==n?n:p.radius,pointStrokeWidth:null!==c?c:Array.isArray(p.strokeWidth)?p.strokeWidth[i]:p.strokeWidth,pointStrokeColor:u.pointStrokeColor,pointFillColor:u.pointFillColor,shape:u.pointShape||(Array.isArray(p.shape)?p.shape[i]:p.shape),class:e,pointStrokeOpacity:Array.isArray(p.strokeOpacity)?p.strokeOpacity[i]:p.strokeOpacity,pointStrokeDashArray:Array.isArray(p.strokeDashArray)?p.strokeDashArray[i]:p.strokeDashArray,pointFillOpacity:Array.isArray(p.fillOpacity)?p.fillOpacity[i]:p.fillOpacity,seriesIndex:i}}},{key:"addEvents",value:function(t){var e=this.w,i=new Mi(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener("click",e.config.markers.onClick),t.node.addEventListener("dblclick",e.config.markers.onDblClick),t.node.addEventListener("touchstart",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:"getMarkerStyle",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),Ui=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled}return s(t,[{key:"draw",value:function(t,e,i){var a=this.w,s=new Mi(this.ctx),r=i.realIndex,n=i.pointsPos,o=i.zRatio,l=i.elParent,h=s.group({class:"apexcharts-series-markers apexcharts-series-".concat(a.config.chart.type)});if(h.attr("clip-path","url(#gridRectMarkerMask".concat(a.globals.cuid,")")),Array.isArray(n.x))for(var c=0;c<n.x.length;c++){var d=e+1,u=!0;0===e&&0===c&&(d=0),0===e&&1===c&&(d=1);var g=a.globals.markers.size[r];if(o!==1/0){var p=a.config.plotOptions.bubble;g=a.globals.seriesZ[r][d],p.zScaling&&(g/=o),p.minBubbleRadius&&g<p.minBubbleRadius&&(g=p.minBubbleRadius),p.maxBubbleRadius&&g>p.maxBubbleRadius&&(g=p.maxBubbleRadius)}var f=n.x[c],x=n.y[c];if(g=g||0,null!==x&&void 0!==a.globals.series[r][d]||(u=!1),u){var b=this.drawPoint(f,x,g,r,d,e);h.add(b)}l.add(h)}}},{key:"drawPoint",value:function(t,e,i,a,s,r){var n=this.w,o=a,l=new y(this.ctx),h=new Li(this.ctx),c=new ji(this.ctx),d=new Vi(this.ctx),u=new Mi(this.ctx),g=d.getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:o,dataPointIndex:s,radius:"bubble"===n.config.chart.type||n.globals.comboCharts&&n.config.series[a]&&"bubble"===n.config.series[a].type?i:null}),p=c.fillPath({seriesNumber:a,dataPointIndex:s,color:g.pointFillColor,patternUnits:"objectBoundingBox",value:n.globals.series[a][r]}),f=u.drawMarker(t,e,g);if(n.config.series[o].data[s]&&n.config.series[o].data[s].fillColor&&(p=n.config.series[o].data[s].fillColor),f.attr({fill:p}),n.config.chart.dropShadow.enabled){var x=n.config.chart.dropShadow;h.dropShadow(f,x,a)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var b=n.config.chart.animations.speed;l.animateMarker(f,b,n.globals.easing,(function(){window.setTimeout((function(){l.animationCompleted(f)}),100)}))}return f.attr({rel:s,j:s,index:a,"default-marker-size":g.pSize}),h.setSelectionFilter(f,a,s),d.addEvents(f),f.node.classList.add("apexcharts-marker"),f}},{key:"centerTextInBubble",value:function(t){var e=this.w;return{y:t+=parseInt(e.config.dataLabels.style.fontSize,10)/4}}}]),t}(),qi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"dataLabelsCorrection",value:function(t,e,i,a,s,r,n){var o=this.w,l=!1,h=new Mi(this.ctx).getTextRects(i,n),c=h.width,d=h.height;e<0&&(e=0),e>o.globals.gridHeight+d&&(e=o.globals.gridHeight+d/2),void 0===o.globals.dataLabelsRects[a]&&(o.globals.dataLabelsRects[a]=[]),o.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var u=o.globals.dataLabelsRects[a].length-2,g=void 0!==o.globals.lastDrawnDataLabelsIndexes[a]?o.globals.lastDrawnDataLabelsIndexes[a][o.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==o.globals.dataLabelsRects[a][u]){var p=o.globals.dataLabelsRects[a][g];(t>p.x+p.width||e>p.y+p.height||e+d<p.y||t+c<p.x)&&(l=!0)}return(0===s||r)&&(l=!0),{x:t,y:e,textRects:h,drawnextLabel:l}}},{key:"drawDataLabel",value:function(t){var e=this,i=t.type,a=t.pos,s=t.i,r=t.j,n=t.isRangeStart,o=t.strokeWidth,l=void 0===o?2:o,h=this.w,c=new Mi(this.ctx),d=h.config.dataLabels,u=0,g=0,p=r,f=null;if(-1!==h.globals.collapsedSeriesIndices.indexOf(s)||!d.enabled||!Array.isArray(a.x))return f;f=c.group({class:"apexcharts-data-labels"});for(var x=0;x<a.x.length;x++)if(u=a.x[x]+d.offsetX,g=a.y[x]+d.offsetY+l,!isNaN(u)){1===r&&0===x&&(p=0),1===r&&1===x&&(p=1);var b=h.globals.series[s][p];"rangeArea"===i&&(b=n?h.globals.seriesRangeStart[s][p]:h.globals.seriesRangeEnd[s][p]);var m="",v=function(t){return h.config.dataLabels.formatter(t,{ctx:e.ctx,seriesIndex:s,dataPointIndex:p,w:h})};if("bubble"===h.config.chart.type)m=v(b=h.globals.seriesZ[s][p]),g=a.y[x],g=new Ui(this.ctx).centerTextInBubble(g,s,p).y;else void 0!==b&&(m=v(b));var y=h.config.dataLabels.textAnchor;h.globals.isSlopeChart&&(y=0===p?"end":p===h.config.series[s].data.length-1?"start":"middle"),this.plotDataLabelsText({x:u,y:g,text:m,i:s,j:p,parent:f,offsetCorrection:!0,dataLabelsConfig:h.config.dataLabels,textAnchor:y})}return f}},{key:"plotDataLabelsText",value:function(t){var e=this.w,i=new Mi(this.ctx),a=t.x,s=t.y,r=t.i,n=t.j,o=t.text,l=t.textAnchor,h=t.fontSize,c=t.parent,d=t.dataLabelsConfig,u=t.color,g=t.alwaysDrawDataLabel,p=t.offsetCorrection,f=t.className,x=null;if(Array.isArray(e.config.dataLabels.enabledOnSeries)&&e.config.dataLabels.enabledOnSeries.indexOf(r)<0)return x;var b={x:a,y:s,drawnextLabel:!0,textRects:null};p&&(b=this.dataLabelsCorrection(a,s,o,r,n,g,parseInt(d.style.fontSize,10))),e.globals.zoomed||(a=b.x,s=b.y),b.textRects&&(a<-20-b.textRects.width||a>e.globals.gridWidth+b.textRects.width+30)&&(o="");var m=e.globals.dataLabels.style.colors[r];(("bar"===e.config.chart.type||"rangeBar"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(m=e.globals.dataLabels.style.colors[n]),"function"==typeof m&&(m=m({series:e.globals.series,seriesIndex:r,dataPointIndex:n,w:e})),u&&(m=u);var v=d.offsetX,y=d.offsetY;if("bar"!==e.config.chart.type&&"rangeBar"!==e.config.chart.type||(v=0,y=0),e.globals.isSlopeChart&&(0!==n&&(v=-2*d.offsetX+5),0!==n&&n!==e.config.series[r].data.length-1&&(v=0)),b.drawnextLabel){if((x=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+v,y:s+y,foreColor:m,textAnchor:l||d.textAnchor,text:o,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||"normal"})).attr({class:f||"apexcharts-datalabel",cx:a,cy:s}),d.dropShadow.enabled){var w=d.dropShadow;new Li(this.ctx).dropShadow(x,w)}c.add(x),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(n)}return x}}
vendor: 4,829 bytes, line 46395
46395,{key:"addBackgroundToDataLabel",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,n=e.width,o=e.height,l=new Mi(this.ctx).drawRect(e.x-s,e.y-r/2,n+2*s,o+r,a.borderRadius,"transparent"!==i.config.chart.background&&i.config.chart.background?i.config.chart.background:"#fff",a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new Li(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:"dataLabelsBackground",value:function(){var t=this.w;if("bubble"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels text"),i=0;i<e.length;i++){var a=e[i],s=a.getBBox(),r=null;if(s.width&&s.height&&(r=this.addBackgroundToDataLabel(a,s)),r){a.parentNode.insertBefore(r.node,a);var n=t.config.dataLabels.background.backgroundColor||a.getAttribute("fill");t.config.chart.animations.enabled&&!t.globals.resized&&!t.globals.dataChanged?r.animate().attr({fill:n}):r.attr({fill:n}),a.setAttribute("fill",t.config.dataLabels.background.foreColor)}}}},{key:"bringForward",value:function(){for(var t=this.w,e=t.globals.dom.baseEl.querySelectorAll(".apexcharts-datalabels"),i=t.globals.dom.baseEl.querySelector(".apexcharts-plot-series:last-child"),a=0;a<e.length;a++)i&&i.insertBefore(e[a],i.nextSibling)}}]),t}(),Zi=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.legendInactiveClass="legend-mouseover-inactive"}return s(t,[{key:"getAllSeriesEls",value:function(){return this.w.globals.dom.baseEl.getElementsByClassName("apexcharts-series")}},{key:"getSeriesByName",value:function(t){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner .apexcharts-series[seriesName='".concat(v.escapeString(t),"']"))}},{key:"isSeriesHidden",value:function(t){var e=this.getSeriesByName(t),i=parseInt(e.getAttribute("data:realIndex"),10);return{isHidden:e.classList.contains("apexcharts-series-collapsed"),realIndex:i}}},{key:"addCollapsedClassToSeries",value:function(t,e){var i=this.w;function a(i){for(var a=0;a<i.length;a++)i[a].index===e&&t.node.classList.add("apexcharts-series-collapsed")}a(i.globals.collapsedSeries),a(i.globals.ancillaryCollapsedSeries)}},{key:"toggleSeries",value:function(t){var e=this.isSeriesHidden(t);return this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex,e.isHidden),e.isHidden}},{key:"showSeries",value:function(t){var e=this.isSeriesHidden(t);e.isHidden&&this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex,!0)}},{key:"hideSeries",value:function(t){var e=this.isSeriesHidden(t);e.isHidden||this.ctx.legend.legendHelpers.toggleDataSeries(e.realIndex,!1)}},{key:"resetSeries",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=v.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:"emptyCollapsedSeries",value:function(t){for(var e=this.w,i=0;i<t.length;i++)e.globals.collapsedSeriesIndices.indexOf(i)>-1&&(t[i].data=[]);return t}},{key:"highlightSeries",value:function(t){var e=this.w,i=this.getSeriesByName(t),a=parseInt(null==i?void 0:i.getAttribute("data:realIndex"),10),s=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis"),r=null,n=null,o=null;if(e.globals.axisCharts||"radialBar"===e.config.chart.type)if(e.globals.axisCharts){r=e.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(a,"']")),n=e.globals.dom.baseEl.querySelector(".apexcharts-datalabels[data\\:realIndex='".concat(a,"']"));var l=e.globals.seriesYAxisReverseMap[a];o=e.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(l,"']"))}else r=e.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(a+1,"']"));else r=e.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(a+1,"'] path"));for(var h=0;h<s.length;h++)s[h].classList.add(this.legendInactiveClass);if(r)e.globals.axisCharts||r.parentNode.classList.remove(this.legendInactiveClass),r.classList.remove(this.legendInactiveClass),null!==n&&n.classList.remove(this.legendInactiveClass),null!==o&&o.classList.remove(this.legendInactiveClass);else for(var c=0;c<s.length;c++)s[c].classList.remove(this.legendInactiveClass)}},{key:"toggleSeriesOnHover",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(".apexcharts-series, .apexcharts-datalabels, .apexcharts-yaxis");
vendor: 7,934 bytes, line 46395
46395if("mousemove"===t.type){var s=parseInt(e.getAttribute("rel"),10)-1;this.highlightSeries(i.globals.seriesNames[s])}else if("mouseout"===t.type)for(var r=0;r<a.length;r++)a[r].classList.remove(this.legendInactiveClass)}},{key:"highlightRangeInSeries",value:function(t,e){var i=this,a=this.w,s=a.globals.dom.baseEl.getElementsByClassName("apexcharts-heatmap-rect"),r=function(t){for(var e=0;e<s.length;e++)s[e].classList[t](i.legendInactiveClass)};if("mousemove"===t.type){var n=parseInt(e.getAttribute("rel"),10)-1;r("add");var o=a.config.plotOptions.heatmap.colorScale.ranges;!function(t,e){for(var a=0;a<s.length;a++){var r=Number(s[a].getAttribute("val"));r>=t.from&&(r<t.to||t.to===e&&r===e)&&s[a].classList.remove(i.legendInactiveClass)}}(o[n],o.reduce((function(t,e){return Math.max(t,e.to)}),0))}else"mouseout"===t.type&&r("remove")}},{key:"getActiveConfigSeriesIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"asc",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r="asc"===t?0:s.length-1;"asc"===t?r<s.length:r>=0;"asc"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:"getBarSeriesIndices",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return"bar"===t.type||"column"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:"getPreviousPaths",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute("data:realIndex")},n=0;n<s.length;n++)if(s[n].hasAttribute("pathTo")){var o=s[n].getAttribute("pathTo");r.paths.push({d:o})}t.globals.previousPaths.push(r)}t.globals.previousPaths=[];["line","area","bar","rangebar","rangeArea","candlestick","radar"].forEach((function(i){for(var a,s=(a=i,t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(a,"-series .apexcharts-series"))),r=0;r<s.length;r++)e(s,r,i)}));var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series"));if(i.length>0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(".apexcharts-".concat(t.config.chart.type," .apexcharts-series[data\\:realIndex='").concat(e,"'] rect")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e("x")),y:parseFloat(e("y")),width:parseFloat(e("width")),height:parseFloat(e("height"))};a.push({rect:s,color:i[t].getAttribute("color")})},r=0;r<i.length;r++)s(r);t.globals.previousPaths.push(a)},s=0;s<i.length;s++)a(s);t.globals.axisCharts||(t.globals.previousPaths=t.globals.series)}},{key:"clearPreviousPaths",value:function(){var t=this.w;t.globals.previousPaths=[],t.globals.allSeriesCollapsed=!1}},{key:"handleNoData",value:function(){var t=this.w,e=t.config.noData,i=new Mi(this.ctx),a=t.globals.svgWidth/2,s=t.globals.svgHeight/2,r="middle";if(t.globals.noData=!0,t.globals.animationEnded=!0,"left"===e.align?(a=10,r="start"):"right"===e.align&&(a=t.globals.svgWidth-10,r="end"),"top"===e.verticalAlign?s=50:"bottom"===e.verticalAlign&&(s=t.globals.svgHeight-50),a+=e.offsetX,s=s+parseInt(e.style.fontSize,10)+2+e.offsetY,void 0!==e.text&&""!==e.text){var n=i.drawText({x:a,y:s,text:e.text,textAnchor:r,fontSize:e.style.fontSize,fontFamily:e.style.fontFamily,foreColor:e.style.color,opacity:1,class:"apexcharts-text-nodata"});t.globals.dom.Paper.add(n)}}},{key:"setNullSeriesToZeroValues",value:function(t){for(var e=this.w,i=0;i<t.length;i++)if(0===t[i].length)for(var a=0;a<t[e.globals.maxValsInArrayIndex].length;a++)t[i].push(0);return t}},{key:"hasAllSeriesEqualX",value:function(){for(var t=!0,e=this.w,i=this.filteredSeriesX(),a=0;a<i.length-1;a++)if(i[a][0]!==i[a+1][0]){t=!1;break}return e.globals.allSeriesHasEqualX=t,t}},{key:"filteredSeriesX",value:function(){var t=this.w.globals.seriesX.map((function(t){return t.length>0?t:[]}));return t}}]),t}(),$i=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new Pi(this.ctx)}return s(t,[{key:"isMultiFormat",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:"isFormatXY",value:function(){var t=this.w.config.series.slice(),e=new Zi(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:"isFormat2DArray",value:function(){var t=this.w.config.series.slice(),e=new Zi(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:"handleFormat2DArray",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s="boxPlot"===i.chart.type||"boxPlot"===i.series[e].type,r=0;r<t[e].data.length;r++)if(void 0!==t[e].data[r][1]&&(Array.isArray(t[e].data[r][1])&&4===t[e].data[r][1].length&&!s?this.twoDSeries.push(v.parseNumber(t[e].data[r][1][3])):t[e].data[r].length>=5?this.twoDSeries.push(v.parseNumber(t[e].data[r][4])):this.twoDSeries.push(v.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),"datetime"===i.xaxis.type){var n=new Date(t[e].data[r][0]);n=new Date(n).getTime(),this.twoDSeriesX.push(n)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var o=0;o<t[e].data.length;o++)void 0!==t[e].data[o][2]&&(this.threeDSeries.push(t[e].data[o][2]),a.isDataXYZ=!0)}},{key:"handleFormatXY",value:function(t,e){var i=this.w.config,a=this.w.globals,s=new zi(this.ctx),r=e;a.collapsedSeriesIndices.indexOf(e)>-1&&(r=this.activeSeriesIndex);for(var n=0;n<t[e].data.length;n++)void 0!==t[e].data[n].y&&(Array.isArray(t[e].data[n].y)?this.twoDSeries.push(v.parseNumber(t[e].data[n].y[t[e].data[n].y.length-1])):this.twoDSeries.push(v.parseNumber(t[e].data[n].y))),void 0!==t[e].data[n].goals&&Array.isArray(t[e].data[n].goals)?(void 0===this.seriesGoals[e]&&(this.seriesGoals[e]=[]),this.seriesGoals[e].push(t[e].data[n].goals)):(void 0===this.seriesGoals[e]&&(this.seriesGoals[e]=[]),this.seriesGoals[e].push(null));for(var o=0;o<t[r].data.length;o++){var l="string"==typeof t[r].data[o].x,h=Array.isArray(t[r].data[o].x),c=!h&&!!s.isValidDate(t[r].data[o].x);if(l||c)if(l||i.xaxis.convertedCatToNumeric){var d=a.isBarHorizontal&&a.isRangeData;"datetime"!==i.xaxis.type||d?(this.fallbackToCategory=!0,this.twoDSeriesX.push(t[r].data[o].x),isNaN(t[r].data[o].x)||"category"===this.w.config.xaxis.type||"string"==typeof t[r].data[o].x||(a.isXNumeric=!0)):this.twoDSeriesX.push(s.parseDate(t[r].data[o].x))}else"datetime"===i.xaxis.type?this.twoDSeriesX.push(s.parseDate(t[r].data[o].x.toString())):(a.dataFormatXNumeric=!0,a.isXNumeric=!0,this.twoDSeriesX.push(parseFloat(t[r].data[o].x)));else h?(this.fallbackToCategory=!0,this.twoDSeriesX.push(t[r].data[o].x)):(a.isXNumeric=!0,a.dataFormatXNumeric=!0,this.twoDSeriesX.push(t[r].data[o].x))}if(t[e].data[0]&&void 0!==t[e].data[0].z){for(var u=0;u<t[e].data.length;u++)this.threeDSeries.push(t[e].data[u].z);a.isDataXYZ=!0}}},{key:"handleRangeData",value:function(t,e){var i=this.w.globals,a={};return this.isFormat2DArray()?a=this.handleRangeDataFormat("array",t,e):this.isFormatXY()&&(a=this.handleRangeDataFormat("xy",t,e)),i.seriesRangeStart[e]=void 0===a.start?[]:a.start,i.seriesRangeEnd[e]=void 0===a.end?[]:a.end,i.seriesRange[e]=a.rangeUniques,i.seriesRange.forEach((function(t,e){t&&t.forEach((function(t,e){t.y.forEac
vendor: 4,554 bytes, line 46395
46395h((function(e,i){for(var a=0;a<t.y.length;a++)if(i!==a){var s=e.y1,r=e.y2,n=t.y[a].y1;s<=t.y[a].y2&&n<=r&&(t.overlaps.indexOf(e.rangeName)<0&&t.overlaps.push(e.rangeName),t.overlaps.indexOf(t.y[a].rangeName)<0&&t.overlaps.push(t.y[a].rangeName))}}))}))})),a}},{key:"handleCandleStickBoxData",value:function(t,e){var i=this.w.globals,a={};return this.isFormat2DArray()?a=this.handleCandleStickBoxDataFormat("array",t,e):this.isFormatXY()&&(a=this.handleCandleStickBoxDataFormat("xy",t,e)),i.seriesCandleO[e]=a.o,i.seriesCandleH[e]=a.h,i.seriesCandleM[e]=a.m,i.seriesCandleL[e]=a.l,i.seriesCandleC[e]=a.c,a}},{key:"handleRangeDataFormat",value:function(t,e,i){var a=[],s=[],r=e[i].data.filter((function(t,e,i){return e===i.findIndex((function(e){return e.x===t.x}))})).map((function(t,e){return{x:t.x,overlaps:[],y:[]}}));if("array"===t)for(var n=0;n<e[i].data.length;n++)Array.isArray(e[i].data[n])?(a.push(e[i].data[n][1][0]),s.push(e[i].data[n][1][1])):(a.push(e[i].data[n]),s.push(e[i].data[n]));else if("xy"===t)for(var o=function(t){var n=Array.isArray(e[i].data[t].y),o=v.randomId(),l=e[i].data[t].x,h={y1:n?e[i].data[t].y[0]:e[i].data[t].y,y2:n?e[i].data[t].y[1]:e[i].data[t].y,rangeName:o};e[i].data[t].rangeName=o;var c=r.findIndex((function(t){return t.x===l}));r[c].y.push(h),a.push(h.y1),s.push(h.y2)},l=0;l<e[i].data.length;l++)o(l);return{start:a,end:s,rangeUniques:r}}},{key:"handleCandleStickBoxDataFormat",value:function(t,e,i){var a=this.w,s="boxPlot"===a.config.chart.type||"boxPlot"===a.config.series[i].type,r=[],n=[],o=[],l=[],h=[];if("array"===t)if(s&&6===e[i].data[0].length||!s&&5===e[i].data[0].length)for(var c=0;c<e[i].data.length;c++)r.push(e[i].data[c][1]),n.push(e[i].data[c][2]),s?(o.push(e[i].data[c][3]),l.push(e[i].data[c][4]),h.push(e[i].data[c][5])):(l.push(e[i].data[c][3]),h.push(e[i].data[c][4]));else for(var d=0;d<e[i].data.length;d++)Array.isArray(e[i].data[d][1])&&(r.push(e[i].data[d][1][0]),n.push(e[i].data[d][1][1]),s?(o.push(e[i].data[d][1][2]),l.push(e[i].data[d][1][3]),h.push(e[i].data[d][1][4])):(l.push(e[i].data[d][1][2]),h.push(e[i].data[d][1][3])));else if("xy"===t)for(var u=0;u<e[i].data.length;u++)Array.isArray(e[i].data[u].y)&&(r.push(e[i].data[u].y[0]),n.push(e[i].data[u].y[1]),s?(o.push(e[i].data[u].y[2]),l.push(e[i].data[u].y[3]),h.push(e[i].data[u].y[4])):(l.push(e[i].data[u].y[2]),h.push(e[i].data[u].y[3])));return{o:r,h:n,m:o,l:l,c:h}}},{key:"parseDataAxisCharts",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new zi(i),n=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar="rangeBar"===a.chart.type&&s.isBarHorizontal,s.hasXaxisGroups="category"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasXaxisGroups&&(s.groups=a.xaxis.group.groups),t.forEach((function(t,e){void 0!==t.name?s.seriesNames.push(t.name):s.seriesNames.push("series-"+parseInt(e+1,10))})),this.coreUtils.setSeriesYAxisMappings();var o=[],l=f(new Set(a.series.map((function(t){return t.group}))));a.series.forEach((function(t,e){var i=l.indexOf(t.group);o[i]||(o[i]=[]),o[i].push(s.seriesNames[e])})),s.seriesGroups=o;for(var h=function(){for(var t=0;t<n.length;t++)if("string"==typeof n[t]){if(!r.isValidDate(n[t]))throw new Error("You have provided invalid Date format. Please provide a valid JavaScript Date");e.twoDSeriesX.push(r.parseDate(n[t]))}else e.twoDSeriesX.push(n[t])},c=0;c<t.length;c++){if(this.twoDSeries=[],this.twoDSeriesX=[],this.threeDSeries=[],void 0===t[c].data)return void console.error("It is a possibility that you may have not included 'data' property in series.");if("rangeBar"!==a.chart.type&&"rangeArea"!==a.chart.type&&"rangeBar"!==t[c].type&&"rangeArea"!==t[c].type||(s.isRangeData=!0,this.handleRangeData(t,c)),this.isMultiFormat())this.isFormat2DArray()?this.handleFormat2DArray(t,c):this.isFormatXY()&&this.handleFormatXY(t,c),"candlestick"!==a.chart.type&&"candlestick"!==t[c].type&&"boxPlot"!==a.chart.type&&"boxPlot"!==t[c].type||this.handleCandleStickBoxData(t,c),s.series.push(this.twoDSeries),s.labels.push(this.twoDSeriesX),s.seriesX.push(this.twoDSeriesX),s.seriesGoals=this.seriesGoals,c!==this.activeSeriesIndex||this.fallbackToCategory||(s.isXNumeric=!0);else{"datetime"===a.xaxis.type?(s.isXNumeric=!0,h(),s.seriesX.push(this.twoDSeriesX)):"numeric"===a.xaxis.type&&(s.isXNumeric=!0,n.length>0&&(this.twoDSeriesX=n,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var d=t[c].data.map((function(t){return v.parseNumber(t)}));s.series.push(d)}
vendor: 5,264 bytes, line 46395
46395s.seriesZ.push(this.threeDSeries),void 0!==t[c].color?s.seriesColors.push(t[c].color):s.seriesColors.push(void 0)}return this.w}},{key:"parseDataNonAxisCharts",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a<e.series.length;a++)void 0===e.seriesNames[a]&&e.seriesNames.push("series-"+(a+1));return this.w}},{key:"handleExternalLabelsData",value:function(t){var e=this.w.config,i=this.w.globals;if(e.xaxis.categories.length>0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=Array.from(new Set(i.labels.map(JSON.stringify)),JSON.parse)),e.xaxis.convertedCatToNumeric)new Ni(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:"_generateExternalLabels",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),n=0;n<s[r].length;n++)a.push(n+1);else for(var o=0;o<e.series[e.maxValsInArrayIndex].length;o++)a.push(o+1);e.seriesX=[];for(var l=0;l<t.length;l++)e.seriesX.push(a);this.w.globals.isBarHorizontal||(e.isXNumeric=!0)}if(0===a.length){a=e.axisCharts?[]:e.series.map((function(t,e){return e+1}));for(var h=0;h<t.length;h++)e.seriesX.push(a)}e.labels=a,i.xaxis.convertedCatToNumeric&&(e.categoryLabels=a.map((function(t){return i.xaxis.labels.formatter(t)}))),e.noLabelsProvided=!0}},{key:"parseData",value:function(t){var e=this.w,i=e.config,a=e.globals;if(this.excludeCollapsedSeriesInYAxis(),this.fallbackToCategory=!1,this.ctx.core.resetGlobals(),this.ctx.core.isMultipleY(),a.axisCharts?(this.parseDataAxisCharts(t),this.coreUtils.getLargestSeries()):this.parseDataNonAxisCharts(t),i.chart.stacked){var s=new Zi(this.ctx);a.series=s.setNullSeriesToZeroValues(a.series)}this.coreUtils.getSeriesTotals(),a.axisCharts&&(a.stackedSeriesTotals=this.coreUtils.getStackedSeriesTotals(),a.stackedSeriesTotalsByGroups=this.coreUtils.getStackedSeriesTotalsByGroups()),this.coreUtils.getPercentSeries(),a.dataFormatXNumeric||a.isXNumeric&&("numeric"!==i.xaxis.type||0!==i.labels.length||0!==i.xaxis.categories.length)||this.handleExternalLabelsData(t);for(var r=this.coreUtils.getCategoryLabels(a.labels),n=0;n<r.length;n++)if(Array.isArray(r[n])){a.isMultiLineX=!0;break}}},{key:"excludeCollapsedSeriesInYAxis",value:function(){var t=this.w,e=[];t.globals.seriesYAxisMap.forEach((function(i,a){var s=0;i.forEach((function(e){-1!==t.globals.collapsedSeriesIndices.indexOf(e)&&s++})),s>0&&s==i.length&&e.push(a)})),t.globals.ignoreYAxisIndexes=e.map((function(t){return t}))}}]),t}(),Ji=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"svgStringToNode",value:function(t){return(new DOMParser).parseFromString(t,"image/svg+xml").documentElement}},{key:"scaleSvgNode",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,"width")),a=parseFloat(t.getAttributeNS(null,"height"));t.setAttributeNS(null,"width",i*e),t.setAttributeNS(null,"height",a*e),t.setAttributeNS(null,"viewBox","0 0 "+i+" "+a)}},{key:"getSvgString",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t||a.config.chart.toolbar.export.scale||a.config.chart.toolbar.export.width/a.globals.svgWidth;s||(s=1);var r=a.globals.svgWidth*s,n=a.globals.svgHeight*s,o=a.globals.dom.elWrap.cloneNode(!0);o.style.width=r+"px",o.style.height=n+"px";var l=(new XMLSerializer).serializeToString(o),h='\n <svg xmlns="http://www.w3.org/2000/svg"\n version="1.1"\n xmlns:xlink="http://www.w3.org/1999/xlink"\n class="apexcharts-svg"\n xmlns:data="ApexChartsNS"\n transform="translate(0, 0)"\n width="'.concat(a.globals.svgWidth,'px" height="').concat(a.globals.svgHeight,'px">\n <foreignObject width="100%" height="100%">\n <div xmlns="http://www.w3.org/1999/xhtml" style="width:').concat(r,"px; height:").concat(n,'px;">\n <style type="text/css">\n .apexcharts-tooltip, .apexcharts-toolbar, .apexcharts-xaxistooltip, .apexcharts-yaxistooltip, .apexcharts-xcrosshairs, .apexcharts-ycrosshairs, .apexcharts-zoom-rect, .apexcharts-selection-rect {\n display: none;\n }\n </style>\n ').concat(l,"\n </div>\n </foreignObject>\n </svg>\n "),c=e.svgStringToNode(h);1!==s&&e.scaleSvgNode(c,s),e.convertImagesToBase64(c).then((function(){h=(new XMLSerializer).serializeToString(c),i(h.replace(/ /g," "))}))}))}},{key:"convertImagesToBase64",value:function(t){var e=this,i=t.getElementsByTagName("image"),a=Array.from(i).map((function(t){var i=t.getAttributeNS("http://www.w3.org/1999/xlink","href");return i&&!i.startsWith("data:")?e.getBase64FromUrl(i).then((function(e){t.setAttributeNS("http://www.w3.org/1999/xlink","href",e)}
46395)).catch((function(t){console.error("Error converting image to base64:",t)})):Promise.resolve()}));return Promise.all(a)}},{key:"getBase64FromUrl",value:function(t){return new Promise((function(e,i){var a=new Image;a.crossOrigin="Anonymous",a.onload=function(){var t=document.createElement("canvas");t.width=a.width,t.height=a.height,t.getContext("2d").drawImage(a,0,0),e(t.toDataURL())},a.onerror=i,a.src=t}))}},{key:"svgUrl",value:function(){var t=this;return new Promise((function(e){t.getSvgString().then((function(t){var i=new Blob([t],{type:"image/svg+xml;charset=utf-8"});e(URL.createObjectURL(i))}))}))}},{key:"dataURI",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1,r=document.createElement("canvas");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var n="transparent"!==a.config.chart.background&&a.config.chart.background?a.config.chart.background:"#fff",o=r.getContext("2d");o.fillStyle=n,o.fillRect(0,0,r.width*s,r.height*s),e.getSvgString(s).then((function(t){var e="data:image/svg+xml,"+encodeURIComponent(t),a=new Image;a.crossOrigin="anonymous",a.onload=function(){if(o.drawImage(a,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL("image/png");i({imgURI:e})}},a.src=e}))}))}},{key:"exportToSVG",value:function(){var t=this;this.svgUrl().then((function(e){t.triggerDownload(e,t.w.config.chart.toolbar.export.svg.filename,".svg")}))}},{key:"exportToPng",value:function(){var t=this,e=this.w.config.chart.toolbar.export.scale,i=this.w.config.chart.toolbar.export.width,a=e?{scale:e}:i?{width:i}:void 0;this.dataURI(a).then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+".png"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,".png")}))}},{key:"exportToCSV",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?",":s,n=t.lineDelimiter,o=void 0===n?"\n":n,l=this.w;i||(i=l.config.series);var h=[],c=[],d="",u=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),g=function(t){return"function"==typeof l.config.chart.toolbar.export.csv.categoryFormatter?l.config.chart.toolbar.export.csv.categoryFormatter(t):"datetime"===l.config.xaxis.type&&String(t).length>=10?new Date(t).toDateString():v.isNumber(t)?t:t.split(r).join("")},p=function(t){return"function"==typeof l.config.chart.toolbar.export.csv.valueFormatter?l.config.chart.toolbar.export.csv.valueFormatter(t):t},x=Math.max.apply(Math,f(i.map((function(t){return t.data?t.data.length:0})))),b=new $i(this.ctx),m=new Ri(this.ctx),y=function(t){var i="";if(l.globals.axisCharts){if("category"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new Zi(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=m.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;"datetime"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return null===i?"nullvalue":(Array.isArray(i)&&(i=i.join(" ")),v.isNumber(i)?i:i.split(r).join(""))},w=function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data){t.data=t.data.length&&t.data||f(Array(x)).map((function(){return""}));for(var a=0;a<t.data.length;a++){h=[];var s=y(a);if("nullvalue"!==s){if(s||(b.isFormatXY()?s=i[e].data[a].x:b.isFormat2DArray()&&(s=i[e].data[a]?i[e].data[a][0]:"")),0===e){h.push(g(s));for(var n=0;n<l.globals.series.length;n++){var o,d=b.isFormatXY()?null===(o=i[n].data[a])||void 0===o?void 0:o.y:u[n][a];h.push(p(d))}}("candlestick"===l.config.chart.type||t.type&&"candlestick"===t.type)&&(h.pop(),h.push(l.globals.seriesCandleO[e][a]),h.push(l.globals.seriesCandleH[e][a]),h.push(l.globals.seriesCandleL[e][a]),h.push(l.globals.seriesCandleC[e][a])),("boxPlot"===l.config.chart.type||t.type&&"boxPlot"===t.type)&&(h.pop(),h.push(l.globals.seriesCandleO[e][a]),h.push(l.globals.seriesCandleH[e][a]),h.push(l.globals.seriesCandleM[e][a]),h.push(l.globals.seriesCandleL[e][a]),h.push(l.globals.seriesCandleC[e][a])),"rangeBar"===l.config.chart.type&&(h.pop(),h.push(l.globals.seriesRangeStart[e][a]),h.push(l.globals.seriesRangeEnd[e][a])),h.length&&c.push(h.join(r))}}}};h.push(l.config.chart.toolbar.export.csv.headerCategory),"boxPlot"===l.config.chart.type?(h.push("minimum"),h.push("q1"),h.push("median"),h.push("q3"),h.push("maximum")):"candlestick"===l.config.chart.type?(h.push("open"),h.push("high"),h.push("low"),h.push("close")):"rangeBar"===l.config.chart.type?(h.push("minimum"),h.push("maximum")):i.map((function(t,e){var i=(t.name?t.name:"series-".concat(e))+"";l.globals.axisCharts&&h.push(i.split(r).join("")?i.split(r).join(""):"series-".concat(e))})),l.globals.axisCharts||(h.push(l.config.chart.toolbar.export.csv.headerValue),c.push(h.join(r))),l.globals.allSeriesHasEqualX||
vendor: 4,149 bytes, line 46395
46395!l.globals.axisCharts||l.config.xaxis.categories.length||l.config.labels.length?i.map((function(t,e){l.globals.axisCharts?w(t,e):((h=[]).push(g(l.globals.labels[e])),h.push(p(u[e])),c.push(h.join(r)))})):function(){var t=new Set,e={};i.forEach((function(a,s){null==a||a.data.forEach((function(a){var r,n;if(b.isFormatXY())r=a.x,n=a.y;else{if(!b.isFormat2DArray())return;r=a[0],n=a[1]}e[r]||(e[r]=Array(i.length).fill("")),e[r][s]=p(n),t.add(r)}))})),h.length&&c.push(h.join(r)),Array.from(t).sort().forEach((function(t){c.push([g(t),e[t].join(r)])}))}(),d+=c.join(o),this.triggerDownload("data:text/csv; charset=utf-8,"+encodeURIComponent("\ufeff"+d),a||l.config.chart.toolbar.export.csv.filename,".csv")}},{key:"triggerDownload",value:function(t,e,i){var a=document.createElement("a");a.href=t,a.download=(e||this.w.globals.chartID)+i,document.body.appendChild(a),a.click(),document.body.removeChild(a)}}]),t}(),Qi=function(){function t(e,a){i(this,t),this.ctx=e,this.elgrid=a,this.w=e.w;var s=this.w;this.axesUtils=new Ri(e),this.xaxisLabels=s.globals.labels.slice(),s.globals.timescaleLabels.length>0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],"top"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf("%")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return s(t,[{key:"drawXaxis",value:function(){var t=this.w,e=new Mi(this.ctx),i=e.group({class:"apexcharts-xaxis",transform:"translate(".concat(t.config.xaxis.offsetX,", ").concat(t.config.xaxis.offsetY,")")}),a=e.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(t.globals.translateXAxisX,", ").concat(t.globals.translateXAxisY,")")});i.add(a);for(var s=[],r=0;r<this.xaxisLabels.length;r++)s.push(this.xaxisLabels[r]);if(this.drawXAxisLabelAndGroup(!0,e,a,s,t.globals.isXNumeric,(function(t,e){return e})),t.globals.hasXaxisGroups){var n=t.globals.groups;s=[];for(var o=0;o<n.length;o++)s.push(n[o].title);var l={};t.config.xaxis.group.style&&(l.xaxisFontSize=t.config.xaxis.group.style.fontSize,l.xaxisFontFamily=t.config.xaxis.group.style.fontFamily,l.xaxisForeColors=t.config.xaxis.group.style.colors,l.fontWeight=t.config.xaxis.group.style.fontWeight,l.cssClass=t.config.xaxis.group.style.cssClass),this.drawXAxisLabelAndGroup(!1,e,a,s,!1,(function(t,e){return n[t].cols*e}),l)}if(void 0!==t.config.xaxis.title.text){var h=e.group({class:"apexcharts-xaxis-title"}),c=e.drawText({x:t.globals.gridWidth/2+t.config.xaxis.title.offsetX,y:this.offY+parseFloat(this.xaxisFontSize)+("bottom"===t.config.xaxis.position?t.globals.xAxisLabelsHeight:-t.globals.xAxisLabelsHeight-10)+t.config.xaxis.title.offsetY,text:t.config.xaxis.title.text,textAnchor:"middle",fontSize:t.config.xaxis.title.style.fontSize,fontFamily:t.config.xaxis.title.style.fontFamily,fontWeight:t.config.xaxis.title.style.fontWeight,foreColor:t.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text "+t.config.xaxis.title.style.cssClass});h.add(c),i.add(h)}if(t.config.xaxis.axisBorder.show){var d=t.globals.barPadForNumericAxis,u=e.drawLine(t.globals.padHorizontal+t.config.xaxis.axisBorder.offsetX-d,this.offY,this.xaxisBorderWidth+d,this.offY,t.config.xaxis.axisBorder.color,0,this.xaxisBorderHeight);this.elgrid&&this.elgrid.elGridBorders&&t.config.grid.show?this.elgrid.elGridBorders.add(u):i.add(u)}return i}}
vendor: 5,137 bytes, line 46395
46395,{key:"drawXAxisLabelAndGroup",value:function(t,e,i,a,s,r){var n,o=this,l=arguments.length>6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,u=l.xaxisFontSize||this.xaxisFontSize,g=l.xaxisFontFamily||this.xaxisFontFamily,p=l.xaxisForeColors||this.xaxisForeColors,f=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,m=a.length,v="category"===d.config.xaxis.type?d.globals.dataPoints:m;if(0===v&&m>v&&(v=m),s){var y=Math.max(Number(d.config.xaxis.tickAmount)||1,v>1?v-1:v);n=d.globals.gridWidth/Math.min(y,m-1),b=b+r(0,n)/2+d.config.xaxis.labels.offsetX}else n=d.globals.gridWidth/v,b=b+r(0,n)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,n)/2+d.config.xaxis.labels.offsetX;0===s&&1===m&&n/2===b&&1===v&&(l=d.globals.gridWidth/2);var y=o.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,u,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&"top"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(u)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&"dataPoints"!==d.config.xaxis.tickAmount&&"datetime"!==d.config.xaxis.type?o.axesUtils.checkLabelBasedOnTickamount(s,y,m):o.axesUtils.checkForOverflowingLabels(s,y,m,h,c);if(d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:o.offY+d.config.xaxis.labels.offsetY+w-("top"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:"middle",fontWeight:y.isBold?600:f,fontSize:u,fontFamily:g,foreColor:Array.isArray(p)?t&&d.config.xaxis.convertedCatToNumeric?p[d.globals.minX+s-1]:p[s]:p,isPlainText:!1,cssClass:(t?"apexcharts-xaxis-label ":"apexcharts-xaxis-group-label ")+x});if(i.add(k),k.on("click",(function(t){if("function"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,o.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,"title");A.textContent=Array.isArray(y.text)?y.text.join(" "):y.text,k.node.appendChild(A),""!==y.text&&(h.push(y.text),c.push(y))}}s<m-1&&(b+=r(s+1,n))},k=0;k<=m-1;k++)w(k)}},{key:"drawXaxisInversed",value:function(t){var e,i,a=this,s=this.w,r=new Mi(this.ctx),n=s.config.yaxis[0].opposite?s.globals.translateYAxisX[t]:0,o=r.group({class:"apexcharts-yaxis apexcharts-xaxis-inversed",rel:t}),l=r.group({class:"apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g",transform:"translate("+n+", 0)"});o.add(l);var h=[];if(s.config.yaxis[t].show)for(var c=0;c<this.xaxisLabels.length;c++)h.push(this.xaxisLabels[c]);e=s.globals.gridHeight/h.length,i=-e/2.2;var d=s.globals.yLabelFormatters[0],u=s.config.yaxis[0].labels;if(u.show)for(var g=function(n){var o=void 0===h[n]?"":h[n];o=d(o,{seriesIndex:t,dataPointIndex:n,w:s});var c=a.axesUtils.getYAxisForeColor(u.style.colors,t),g=0;Array.isArray(o)&&(g=o.length/2*parseInt(u.style.fontSize,10));var p=u.offsetX-15,f="end";a.yaxis.opposite&&(f="start"),"left"===s.config.yaxis[0].labels.align?(p=u.offsetX,f="start"):"center"===s.config.yaxis[0].labels.align?(p=u.offsetX,f="middle"):"right"===s.config.yaxis[0].labels.align&&(f="end");var x=r.drawText({x:p,y:i+e+u.offsetY-g,text:o,textAnchor:f,foreColor:Array.isArray(c)?c[n]:c,fontSize:u.style.fontSize,fontFamily:u.style.fontFamily,fontWeight:u.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-yaxis-label "+u.style.cssClass,maxWidth:u.maxWidth});l.add(x),x.on("click",(function(t){if("function"==typeof s.config.chart.events.xAxisLabelClick){var e=Object.assign({},s,{labelIndex:n});s.config.chart.events.xAxisLabelClick(t,a.ctx,e)}}));var b=document.createElementNS(s.globals.SVGNS,"title");if(b.textContent=Array.isArray(o)?o.join(" "):o,x.node.appendChild(b),0!==s.config.yaxis[t].labels.rotate){var m=r.rotateAroundCenter(x.node);x.node.setAttribute("transform","rotate(".concat(s.config.yaxis[t].labels.rotate," 0 ").concat(m.y,")"))}i+=e},p=0;p<=h.length-1;p++)g(p);if(void 0!==s.config.yaxis[0].title.text){var f=r.group({class:"apexcharts-yaxis-title apexcharts-xaxis-title-inversed",transform:"translate("+n+", 0)"}),x=r.drawText({x:s.config.yaxis[0].title.offsetX,y:s.globals.gridHeight/2+s.config.yaxis[0].title.offsetY,text:s.config.yaxis[0].title.text,textAnchor:"middle",foreColor:s.config.yaxis[0].title.style.color,fontSize:s.config.yaxis[0].title.style.fontSize,fontWeight:s.config.yaxis[0].title.style.fontWeight,fontFamily:s.config.yaxis[0].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text "+s.config.yaxis[0].title.style.cssClass});f.add(x),o.add(f)}var b=0;this.isCategoryBarHorizontal&&s.config.yaxis[0].opposite&&(b=s.globals.gridWidth);var m=s.config.xaxis.axisBorder;if(m.show){var v=r.drawLine(s.globals.padHorizontal+m.offsetX+b,1+m.offsetY,s.globals.padHorizontal+m.offsetX+b,s.globals.gridHeight+m.offsetY,m.color,0);this.elgrid&&this.elgrid.elGridBorders&&s.config.grid.show?this.elgrid.elGridBorders.add(v):o.add(v)}return s.config.yaxis[0].axisTicks.show&&this.axesUtils.drawYAxisTicks(b,h.length,s.c
vendor: 4,413 bytes, line 46395
46395onfig.yaxis[0].axisBorder,s.config.yaxis[0].axisTicks,0,e,o),o}},{key:"drawXaxisTicks",value:function(t,e,i){var a=this.w,s=t;if(!(t<0||t-2>a.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,"top"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var n=new Mi(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(n),n.node.classList.add("apexcharts-xaxis-tick")}}}},{key:"getXAxisTicksPositions",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s<i;s++)a=this.xaxisLabels[s].position,e.push(a);else for(var r=i,n=0;n<r;n++){var o=r;t.globals.isXNumeric&&"bar"!==t.config.chart.type&&(o-=1),a+=t.globals.gridWidth/o,e.push(a)}return e}},{key:"xAxisLabelCorrections",value:function(){var t=this.w,e=new Mi(this.ctx),i=t.globals.dom.baseEl.querySelector(".apexcharts-xaxis-texts-g"),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-texts-g text:not(.apexcharts-xaxis-group-label)"),s=t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis-inversed text"),r=t.globals.dom.baseEl.querySelectorAll(".apexcharts-xaxis-inversed-texts-g text tspan");if(t.globals.rotateXLabels||t.config.xaxis.labels.rotateAlways)for(var n=0;n<a.length;n++){var o=e.rotateAroundCenter(a[n]);o.y=o.y-1,o.x=o.x+1,a[n].setAttribute("transform","rotate(".concat(t.config.xaxis.labels.rotate," ").concat(o.x," ").concat(o.y,")")),a[n].setAttribute("text-anchor","end");i.setAttribute("transform","translate(0, ".concat(-10,")"));var l=a[n].childNodes;t.config.xaxis.labels.trim&&Array.prototype.forEach.call(l,(function(i){e.placeTextWithEllipsis(i,i.textContent,t.globals.xAxisLabelsHeight-("bottom"===t.config.legend.position?20:10))}))}else!function(){for(var i=t.globals.gridWidth/(t.globals.labels.length+1),s=0;s<a.length;s++){var r=a[s].childNodes;t.config.xaxis.labels.trim&&"datetime"!==t.config.xaxis.type&&Array.prototype.forEach.call(r,(function(t){e.placeTextWithEllipsis(t,t.textContent,i)}))}}();if(s.length>0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d<r.length;d++)e.placeTextWithEllipsis(r[d],r[d].textContent,t.config.yaxis[0].labels.maxWidth-(t.config.yaxis[0].title.text?2*parseFloat(t.config.yaxis[0].title.style.fontSize):0)-15)}}}]),t}(),Ki=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.xaxisLabels=a.globals.labels.slice(),this.axesUtils=new Ri(e),this.isRangeBar=a.globals.seriesRange.length&&a.globals.isBarHorizontal,a.globals.timescaleLabels.length>0&&(this.xaxisLabels=a.globals.timescaleLabels.slice())}return s(t,[{key:"drawGridArea",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new Mi(this.ctx);t||(t=i.group({class:"apexcharts-grid"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,"transparent"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,"transparent");return t.add(s),t.add(a),t}},{key:"drawGrid",value:function(){if(this.w.globals.axisCharts){var t=this.renderGrid();return this.drawGridArea(t.el),t}return null}},{key:"createGridMask",value:function(){var t=this.w,e=t.globals,i=new Mi(this.ctx),a=Array.isArray(t.config.stroke.width)?Math.max.apply(Math,f(t.config.stroke.width)):t.config.stroke.width,s=function(t){var i=document.createElementNS(e.SVGNS,"clipPath");return i.setAttribute("id",t),i};e.dom.elGridRectMask=s("gridRectMask".concat(e.cuid)),e.dom.elGridRectBarMask=s("gridRectBarMask".concat(e.cuid)),e.dom.elGridRectMarkerMask=s("gridRectMarkerMask".concat(e.cuid)),e.dom.elForecastMask=s("forecastMask".concat(e.cuid)),e.dom.elNonForecastMask=s("nonForecastMask".concat(e.cuid));var r=0,n=0;(["bar","rangeBar","candlestick","boxPlot"].includes(t.config.chart.type)||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(r=Math.max(t.config.grid.padding.left,e.barPadForNumericAxis),n=Math.max(t.config.grid.padding.right,e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-2,-a
vendor: 4,198 bytes, line 46395
46395/2-2,e.gridWidth+a+4,e.gridHeight+a+4,0,"#fff"),e.dom.elGridRectBar=i.drawRect(-a/2-r-2,-a/2-2,e.gridWidth+a+n+r+4,e.gridHeight+a+4,0,"#fff");var o=t.globals.markers.largestSize;e.dom.elGridRectMarker=i.drawRect(-o,-o,e.gridWidth+2*o,e.gridHeight+2*o,0,"#fff"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectBarMask.appendChild(e.dom.elGridRectBar.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var l=e.dom.baseEl.querySelector("defs");l.appendChild(e.dom.elGridRectMask),l.appendChild(e.dom.elGridRectBarMask),l.appendChild(e.dom.elGridRectMarkerMask),l.appendChild(e.dom.elForecastMask),l.appendChild(e.dom.elNonForecastMask)}},{key:"_drawGridLines",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,n=t.xCount,o=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===n-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||"radar"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:n,parent:o});var h=0;if(l.globals.hasXaxisGroups&&"between"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,u=0;d<e&&u<c.length;u++)d+=c[u].cols;d===e&&(h=.6*l.globals.xAxisLabelsHeight)}}new Qi(this.ctx).drawXaxisTicks(i,h,l.globals.dom.elGraphical)}}},{key:"_drawGridLine",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,n=t.xCount,o=t.parent,l=this.w,h=o.node.classList.contains("apexcharts-gridlines-horizontal"),c=l.globals.barPadForNumericAxis,d=0===a&&0===r||0===i&&0===s||a===l.globals.gridHeight&&r===l.globals.gridHeight||l.globals.isBarHorizontal&&(0===e||e===n-1),u=new Mi(this).drawLine(i-(h?c:0),a,s+(h?c:0),r,l.config.grid.borderColor,l.config.grid.strokeDashArray);u.node.classList.add("apexcharts-gridline"),d&&l.config.grid.show?this.elGridBorders.add(u):o.add(u)}},{key:"_drawGridBandRect",value:function(t){var e=t.c,i=t.x1,a=t.y1,s=t.x2,r=t.y2,n=t.type,o=this.w,l=new Mi(this.ctx),h=o.globals.barPadForNumericAxis,c=o.config.grid[n].colors[e],d=l.drawRect(i-("row"===n?h:0),a,s+("row"===n?2*h:0),r,0,c,o.config.grid[n].opacity);this.elg.add(d),d.attr("clip-path","url(#gridRectMask".concat(o.globals.cuid,")")),d.node.classList.add("apexcharts-grid-".concat(n))}},{key:"_drawXYLines",value:function(t){var e=this,i=t.xCount,a=t.tickAmount,s=this.w;if(s.config.grid.xaxis.lines.show||s.config.xaxis.axisTicks.show){var r,n=s.globals.padHorizontal,o=s.globals.gridHeight;s.globals.timescaleLabels.length?function(t){for(var a=t.xC,s=t.x1,r=t.y1,n=t.x2,o=t.y2,l=0;l<a;l++)s=e.xaxisLabels[l].position,n=e.xaxisLabels[l].position,e._drawGridLines({i:l,x1:s,y1:r,x2:n,y2:o,xCount:i,parent:e.elgridLinesV})}({xC:i,x1:n,y1:0,x2:r,y2:o}):(s.globals.isXNumeric&&(i=s.globals.xAxisScale.result.length),function(t){for(var a=t.xC,r=t.x1,n=t.y1,o=t.x2,l=t.y2,h=0;h<a+(s.globals.isXNumeric?0:1);h++)0===h&&1===a&&1===s.globals.dataPoints&&(o=r=s.globals.gridWidth/2),e._drawGridLines({i:h,x1:r,y1:n,x2:o,y2:l,xCount:i,parent:e.elgridLinesV}),o=r+=s.globals.gridWidth/(s.globals.isXNumeric?a-1:a)}({xC:i,x1:n,y1:0,x2:r,y2:o}))}if(s.config.grid.yaxis.lines.show){var l=0,h=0,c=s.globals.gridWidth,d=a+1;this.isRangeBar&&(d=s.globals.labels.length);for(var u=0;u<d+(this.isRangeBar?1:0);u++)this._drawGridLine({i:u,xCount:d+(this.isRangeBar?1:0),x1:0,y1:l,x2:c,y2:h,parent:this.elgridLinesH}),h=l+=s.globals.gridHeight/(this.isRangeBar?d:a)}}},{key:"_drawInvertedXYLines",value:function(t){var e=t.xCount,i=this.w;if(i.config.grid.xaxis.lines.show||i.config.xaxis.axisTicks.show)for(var a,s=i.globals.padHorizontal,r=i.globals.gridHeight,n=0;n<e+1;n++){i.config.grid.xaxis.lines.show&&this._drawGridLine({i:n,xCount:e+1,x1:s,y1:0,x2:a,y2:r,parent:this.elgridLinesV}),new Qi(this.ctx).drawXaxisTicks(s,0,i.globals.dom.elGraphical),a=s+=i.globals.gridWidth/e}if(i.config.grid.yaxis.lines.show)for(var o=0,l=0,h=i.globals.gridWidth,c=0;c<i.globals.dataPoints+1;c++)this._drawGridLine({i:c,xCount:i.globals.dataPoints+1,x1:0,y1:o,x2:h,y2:l,parent:this.elgridLinesH}),l=o+=i.globals.gridHeight/i.globals.dataPoints}},{key:"renderGrid",value:function(){var t=this.w,e=t.globals,i=new Mi(this.ctx);this.elg=i.group({class:"apexcharts-grid"}
46395),this.elgridLinesH=i.group({class:"apexcharts-gridlines-horizontal"}),this.elgridLinesV=i.group({class:"apexcharts-gridlines-vertical"}),this.elGridBorders=i.group({class:"apexcharts-grid-borders"}),this.elg.add(this.elgridLinesH),this.elg.add(this.elgridLinesV),t.config.grid.show||(this.elgridLinesV.hide(),this.elgridLinesH.hide(),this.elGridBorders.hide());for(var a=0;a<e.seriesYAxisMap.length&&e.ignoreYAxisIndexes.includes(a);)a++;a===e.seriesYAxisMap.length&&(a=0);var s,r=e.yAxisScale[a].result.length-1;if(!e.isBarHorizontal||this.isRangeBar){var n,o,l;if(s=this.xaxisLabels.length,this.isRangeBar)r=e.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(s=t.config.xaxis.tickAmount),(null===(n=e.yAxisScale)||void 0===n||null===(o=n[a])||void 0===o||null===(l=o.result)||void 0===l?void 0:l.length)>0&&"datetime"!==t.config.xaxis.type&&(s=e.yAxisScale[a].result.length-1);this._drawXYLines({xCount:s,tickAmount:r})}else s=r,r=e.xTickAmount,this._drawInvertedXYLines({xCount:s,tickAmount:r});return this.drawGridBands(s,r),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:e.gridWidth/s}}},{key:"drawGridBands",value:function(t,e){var i,a,s=this,r=this.w;if((null===(i=r.config.grid.row.colors)||void 0===i?void 0:i.length)>0&&function(t,i,a,n,o,l){for(var h=0,c=0;h<i;h++,c++)c>=r.config.grid[t].colors.length&&(c=0),s._drawGridBandRect({c:c,x1:a,y1:n,x2:o,y2:l,type:t}),n+=r.globals.gridHeight/e}("row",e,0,0,r.globals.gridWidth,r.globals.gridHeight/e),(null===(a=r.config.grid.column.colors)||void 0===a?void 0:a.length)>0){var n=r.globals.isBarHorizontal||"on"!==r.config.xaxis.tickPlacement||"category"!==r.config.xaxis.type&&!r.config.xaxis.convertedCatToNumeric?t:t-1;r.globals.isXNumeric&&(n=r.globals.xAxisScale.result.length-1);for(var o=r.globals.padHorizontal,l=r.globals.padHorizontal+r.globals.gridWidth/n,h=r.globals.gridHeight,c=0,d=0;c<t;c++,d++){var u;if(d>=r.config.grid.column.colors.length&&(d=0),"datetime"===r.config.xaxis.type)o=this.xaxisLabels[c].position,l=((null===(u=this.xaxisLabels[c+1])||void 0===u?void 0:u.position)||r.globals.gridWidth)-this.xaxisLabels[c].position;this._drawGridBandRect({c:d,x1:o,y1:0,x2:l,y2:h,type:"column"}),o+=r.globals.gridWidth/n}}}}]),t}(),ta=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.coreUtils=new Pi(this.ctx)}return s(t,[{key:"niceScale",value:function(t,e){var i,a,s,r,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,o=1e-11,l=this.w,h=l.globals;h.isBarHorizontal?(i=l.config.xaxis,a=Math.max((h.svgWidth-100)/25,2)):(i=l.config.yaxis[n],a=Math.max((h.svgHeight-100)/15,2)),v.isNumber(a)||(a=10),s=void 0!==i.min&&null!==i.min,r=void 0!==i.max&&null!==i.min;var c=void 0!==i.stepSize&&null!==i.stepSize,d=void 0!==i.tickAmount&&null!==i.tickAmount,u=d?i.tickAmount:h.niceScaleDefaultTicks[Math.min(Math.round(a/2),h.niceScaleDefaultTicks.length-1)];if(h.isMultipleYAxis&&!d&&h.multiAxisTickAmount>0&&(u=h.multiAxisTickAmount,d=!0),u="dataPoints"===u?h.dataPoints-1:Math.abs(Math.round(u)),(t===Number.MIN_VALUE&&0===e||!v.isNumber(t)&&!v.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE)&&(t=v.isNumber(i.min)?i.min:0,e=v.isNumber(i.max)?i.max:t+u,h.allSeriesCollapsed=!1),t>e){console.warn("axis.min cannot be greater than axis.max: swapping min and max");var g=e;e=t,t=g}else t===e&&(t=0===t?0:t-1,e=0===e?2:e+1);var p=[];u<1&&(u=1);var f=u,x=Math.abs(e-t);!s&&t>0&&t/x<.15&&(t=0,s=!0),!r&&e<0&&-e/x<.15&&(e=0,r=!0);var b=(x=Math.abs(e-t))/f,m=b,y=Math.floor(Math.log10(m)),w=Math.pow(10,y),k=Math.ceil(m/w);if(b=m=(k=h.niceScaleAllowedMagMsd[0===h.yValueDecimal?0:1][k])*w,h.isBarHorizontal&&i.stepSize&&"datetime"!==i.type?(b=i.stepSize,c=!0):c&&(b=i.stepSize),c&&i.forceNiceScale){var A=Math.floor(Math.log10(b));b*=Math.pow(10,y-A)}if(s&&r){var C=x/f;if(d)if(c)if(0!=v.mod(x,b)){var S=v.getGCD(b,C);b=C/S<10?S:C}else 0==v.mod(b,C)?b=C:(C=b,d=!1);else b=C;else if(c)0==v.mod(x,b)?C=b:b=C;else if(0==v.mod(x,b))C=b;else{C=x/(f=Math.ceil(x/b));var L=v.getGCD(x,b);x/L<a&&(C=L),b=C}f=Math.round(x/b)}else{if(s||r){if(r)if(d)t=e-b*f;else{var M=t;t=b*Math.floor(t/b),Math.abs(e-t)/v.getGCD(x,b)>a&&(t=e-b*u,t+=b*Math.floor((M-t)/b))}else if(s)if(d)e=t+b*f;else{var P=e;e=b*Math.ceil(e/b),Math.abs(e-t)/v.getGCD(x,b)>a&&(e=t+b*u,e+=b*Math.ceil((P-e)/b))}}else if(h.isMultipleYAxis&&d){var I=b*Math.floor(t/b),T=I+b*f;T<e&&(b*=2),T=e,e=(t=I)+b*f,x=Math.abs(e-t),t>0&&t<Math.abs(T-e)&&(t=0,e=b*f),e<0&&-e<Math.abs(I-t)&&(e=0,t=-b*f)}else t=b*Math.floor(t/b),e=b*Math.ceil(e/b);x=Math.abs(e-t),b=v.getGCD(x,b),f=Math.round(x/b)}
vendor: 4,268 bytes, line 46395
46395if(d||s||r||(f=Math.ceil((x-o)/(b+o)))>16&&v.getPrimeFactors(f).length<2&&f++,!d&&i.forceNiceScale&&0===h.yValueDecimal&&f>x&&(f=x,b=Math.round(x/f)),f>a&&(!d&&!c||i.forceNiceScale)){var z=v.getPrimeFactors(f),X=z.length-1,R=f;t:for(var E=0;E<X;E++)for(var Y=0;Y<=X-E;Y++){for(var H=Math.min(Y+E,X),O=R,F=1,D=Y;D<=H;D++)F*=z[D];if((O/=F)<a){R=O;break t}}b=R===f?x:x/R,f=Math.round(x/b)}h.isMultipleYAxis&&0==h.multiAxisTickAmount&&h.ignoreYAxisIndexes.indexOf(n)<0&&(h.multiAxisTickAmount=f);var _=t-b,N=b*o;do{_+=b,p.push(v.stripNumber(_,7))}while(e-_>N);return{result:p,niceMin:p[0],niceMax:p[p.length-1]}}},{key:"linearScale",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:void 0,r=Math.abs(e-t),n=[];if(t===e)return{result:n=[t],niceMin:n[0],niceMax:n[n.length-1]};"dataPoints"===(i=this._adjustTicksForSmallRange(i,a,r))&&(i=this.w.globals.dataPoints-1),s||(s=r/i),s=Math.round(100*(s+Number.EPSILON))/100,i===Number.MAX_VALUE&&(i=5,s=1);for(var o=t;i>=0;)n.push(o),o=v.preciseAddition(o,s),i-=1;return{result:n,niceMin:n[0],niceMax:n[n.length-1]}}},{key:"logarithmicScaleNice",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r<s;r++)a.push(Math.pow(i,r));return{result:a,niceMin:a[0],niceMax:a[a.length-1]}}},{key:"logarithmicScale",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.log(e)/Math.log(i),r=Math.log(t)/Math.log(i),n=s-r,o=Math.round(n),l=n/o,h=0,c=r;h<o;h++,c+=l)a.push(Math.pow(i,c));return a.push(Math.pow(i,s)),{result:a,niceMin:t,niceMax:e}}},{key:"_adjustTicksForSmallRange",value:function(t,e,i){var a=t;if(void 0!==e&&this.w.config.yaxis[e].labels.formatter&&void 0===this.w.config.yaxis[e].tickAmount){var s=Number(this.w.config.yaxis[e].labels.formatter(1));v.isNumber(s)&&0===this.w.globals.yValueDecimal&&(a=Math.ceil(i))}return a<t?a:t}},{key:"setYScaleForIndex",value:function(t,e,i){var a=this.w.globals,s=this.w.config,r=a.isBarHorizontal?s.xaxis:s.yaxis[t];void 0===a.yAxisScale[t]&&(a.yAxisScale[t]=[]);var n=Math.abs(i-e);r.logarithmic&&n<=5&&(a.invalidLogScale=!0),r.logarithmic&&n>5?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase)):i!==-Number.MAX_VALUE&&v.isNumber(i)&&e!==Number.MAX_VALUE&&v.isNumber(e)?(a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.niceScale(e,i,t)):a.yAxisScale[t]=this.niceScale(Number.MIN_VALUE,0,t)}},{key:"setXScale",value:function(t,e){var i=this.w,a=i.globals;if(e!==-Number.MAX_VALUE&&v.isNumber(e)){var s=a.xTickAmount;a.xAxisScale=this.linearScale(t,e,s,0,i.config.xaxis.stepSize)}else a.xAxisScale=this.linearScale(0,10,10);return a.xAxisScale}},{key:"scaleMultipleYAxes",value:function(){var t=this,e=this.w.config,i=this.w.globals;this.coreUtils.setSeriesYAxisMappings();var a=i.seriesYAxisMap,s=i.minYArr,r=i.maxYArr;i.allSeriesCollapsed=!0,i.barGroups=[],a.forEach((function(a,n){var o=[];a.forEach((function(t){var i,a=null===(i=e.series[t])||void 0===i?void 0:i.group;o.indexOf(a)<0&&o.push(a)})),a.length>0?function(){var l,h,c=Number.MAX_VALUE,d=-Number.MAX_VALUE,u=c,g=d;if(e.chart.stacked)!function(){var t=new Array(i.dataPoints).fill(0),s=[],r=[],p=[];o.forEach((function(){s.push(t.map((function(){return Number.MIN_VALUE}))),r.push(t.map((function(){return Number.MIN_VALUE}))),p.push(t.map((function(){return Number.MIN_VALUE})))}));for(var f=function(t){!l&&e.series[a[t]].type&&(l=e.series[a[t]].type);var c=a[t];h=e.series[c].group?e.series[c].group:"axis-".concat(n),!(i.collapsedSeriesIndices.indexOf(c)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(c)<0)||(i.allSeriesCollapsed=!1,o.forEach((function(t,a){if(e.series[c].group===t)for(var n=0;n<i.series[c].length;n++){var o=i.series[c][n];o>=0?r[a][n]+=o:p[a][n]+=o,s[a][n]+=o,u=Math.min(u,o),g=Math.max(g,o)}}))),"bar"!==l&&"column"!==l||i.barGroups.push(h)},x=0;x<a.length;x++)f(x);l||(l=e.chart.type),"bar"===l||"column"===l?o.forEach((function(t,e){c=Math.min(c,Math.min.apply(null,p[e])),d=Math.max(d,Math.max.apply(null,r[e]))}
46395)):(o.forEach((function(t,e){u=Math.min(u,Math.min.apply(null,s[e])),g=Math.max(g,Math.max.apply(null,s[e]))})),c=u,d=g),c===Number.MIN_VALUE&&d===Number.MIN_VALUE&&(d=-Number.MAX_VALUE)}();else for(var p=0;p<a.length;p++){var f=a[p];c=Math.min(c,s[f]),d=Math.max(d,r[f]),!(i.collapsedSeriesIndices.indexOf(f)<0&&i.ancillaryCollapsedSeriesIndices.indexOf(f)<0)||(i.allSeriesCollapsed=!1)}void 0!==e.yaxis[n].min&&(c="function"==typeof e.yaxis[n].min?e.yaxis[n].min(c):e.yaxis[n].min),void 0!==e.yaxis[n].max&&(d="function"==typeof e.yaxis[n].max?e.yaxis[n].max(d):e.yaxis[n].max),i.barGroups=i.barGroups.filter((function(t,e,i){return i.indexOf(t)===e})),t.setYScaleForIndex(n,c,d),a.forEach((function(t){s[t]=i.yAxisScale[n].niceMin,r[t]=i.yAxisScale[n].niceMax}))}():t.setYScaleForIndex(n,0,-Number.MAX_VALUE)}))}}]),t}(),ea=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.scales=new ta(e)}return s(t,[{key:"init",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:"getMinYMaxY",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,n=-Number.MAX_VALUE,o=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;"candlestick"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):"boxPlot"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);var d=!1;if(r.seriesX.length>=a){var u,g=null===(u=r.brushSource)||void 0===u?void 0:u.w.config.chart.brush;(s.chart.zoom.enabled&&s.chart.zoom.autoScaleYaxis||null!=g&&g.enabled&&null!=g&&g.autoScaleYaxis)&&(d=!0)}for(var p=t;p<a;p++){r.dataPoints=Math.max(r.dataPoints,l[p].length);var f=s.series[p].type;r.categoryLabels.length&&(r.dataPoints=r.categoryLabels.filter((function(t){return void 0!==t})).length),r.labels.length&&"datetime"!==s.xaxis.type&&0!==r.series.reduce((function(t,e){return t+e.length}),0)&&(r.dataPoints=Math.max(r.dataPoints,r.labels.length));var x=0,b=l[p].length-1;if(d){if(s.xaxis.min)for(;x<b&&r.seriesX[p][x]<s.xaxis.min;x++);if(s.xaxis.max)for(;b>x&&r.seriesX[p][b]>s.xaxis.max;b--);}for(var m=x;m<=b&&m<r.series[p].length;m++){var y=l[p][m];if(null!==y&&v.isNumber(y)){var w,k,A,C;switch(void 0!==(null===(w=c[p])||void 0===w?void 0:w[m])&&(n=Math.max(n,c[p][m]),e=Math.min(e,c[p][m])),void 0!==(null===(k=h[p])||void 0===k?void 0:k[m])&&(e=Math.min(e,h[p][m]),i=Math.max(i,h[p][m])),f){case"candlestick":void 0!==r.seriesCandleC[p][m]&&(n=Math.max(n,r.seriesCandleH[p][m]),e=Math.min(e,r.seriesCandleL[p][m]));break;case"boxPlot":void 0!==r.seriesCandleC[p][m]&&(n=Math.max(n,r.seriesCandleC[p][m]),e=Math.min(e,r.seriesCandleO[p][m]))}f&&"candlestick"!==f&&"boxPlot"!==f&&"rangeArea"!==f&&"rangeBar"!==f&&(n=Math.max(n,r.series[p][m]),e=Math.min(e,r.series[p][m])),r.seriesGoals[p]&&r.seriesGoals[p][m]&&Array.isArray(r.seriesGoals[p][m])&&r.seriesGoals[p][m].forEach((function(t){n=Math.max(n,t.value),e=Math.min(e,t.value)})),i=n,y=v.noExponents(y),v.isFloat(y)&&(r.yValueDecimal=Math.max(r.yValueDecimal,y.toString().split(".")[1].length)),o>(null===(A=h[p])||void 0===A?void 0:A[m])&&(null===(C=h[p])||void 0===C?void 0:C[m])<0&&(o=h[p][m])}else r.hasNullValues=!0}"bar"!==f&&"column"!==f||(o<0&&n<0&&(n=0,i=Math.max(i,0)),o===Number.MIN_VALUE&&(o=0,e=Math.min(e,0)))}return"rangeBar"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(
46395o=e),"bar"===s.chart.type&&(o<0&&n<0&&(n=0),o===Number.MIN_VALUE&&(o=0)),{minY:o,maxY:n,lowestY:e,highestY:i}}},{key:"setYRange",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i,a=Number.MAX_VALUE;if(t.isMultipleYAxis){a=Number.MAX_VALUE;for(var s=0;s<t.series.length;s++)i=this.getMinYMaxY(s),t.minYArr[s]=i.lowestY,t.maxYArr[s]=i.highestY,a=Math.min(a,i.lowestY)}if(i=this.getMinYMaxY(0,a,null,t.series.length),"bar"===e.chart.type?(t.minY=i.minY,t.maxY=i.maxY):(t.minY=i.lowestY,t.maxY=i.highestY),a=i.lowestY,e.chart.stacked&&this._setStackedMinMax(),"line"===e.chart.type||"area"===e.chart.type||"scatter"===e.chart.type||"candlestick"===e.chart.type||"boxPlot"===e.chart.type||"rangeBar"===e.chart.type&&!t.isBarHorizontal?t.minY===Number.MIN_VALUE&&a!==-Number.MAX_VALUE&&a!==t.maxY&&(t.minY=a):t.minY=t.minY!==Number.MIN_VALUE?Math.min(i.minY,t.minY):i.minY,e.yaxis.forEach((function(e,i){void 0!==e.max&&("number"==typeof e.max?t.maxYArr[i]=e.max:"function"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&("number"==typeof e.min?t.minYArr[i]=e.min:"function"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){["min","max"].forEach((function(i){void 0!==e.xaxis[i]&&"number"==typeof e.xaxis[i]&&("min"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.scaleMultipleYAxes(),t.minY=a):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.minY,t.maxYArr[0]=t.maxY),t.barGroups=[],t.lineGroups=[],t.areaGroups=[],e.series.forEach((function(i){switch(i.type||e.chart.type){case"bar":case"column":t.barGroups.push(i.group);break;case"line":t.lineGroups.push(i.group);break;case"area":t.areaGroups.push(i.group)}})),t.barGroups=t.barGroups.filter((function(t,e,i){return i.indexOf(t)===e})),t.lineGroups=t.lineGroups.filter((function(t,e,i){return i.indexOf(t)===e})),t.areaGroups=t.areaGroups.filter((function(t,e,i){return i.indexOf(t)===e})),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:"setXRange",value:function(){var t=this.w.globals,e=this.w.config,i="numeric"===e.xaxis.type||"datetime"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;e<t.series.length;e++)if(t.labels[e])for(var i=0;i<t.labels[e].length;i++)null!==t.labels[e][i]&&v.isNumber(t.labels[e][i])&&(t.maxX=Math.max(t.maxX,t.labels[e][i]),t.initialMaxX=Math.max(t.maxX,t.labels[e][i]),t.minX=Math.min(t.minX,t.labels[e][i]),t.initialMinX=Math.min(t.minX,t.labels[e][i]))}(),t.noLabelsProvided&&0===e.xaxis.categories.length&&(t.maxX=t.labels[t.labels.length-1],t.initialMaxX=t.labels[t.labels.length-1],t.minX=1,t.initialMinX=1),t.isXNumeric||t.noLabelsProvided||t.dataFormatXNumeric){var a=10;if(void 0===e.xaxis.tickAmount)a=Math.round(t.svgWidth/150),"numeric"===e.xaxis.type&&t.dataPoints<30&&(a=t.dataPoints-1),a>t.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1);else if("dataPoints"===e.xaxis.tickAmount){if(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric){var s=Math.round(t.maxX-t.minX);s<30&&(a=s-1)}}else a=e.xaxis.tickAmount;if(t.xTickAmount=a,void 0!==e.xaxis.max&&"number"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&"number"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var r=[],n=t.minX-1;n<t.maxX;n++)r.push(n+1);t.xAxisScale={result:r,niceMin:r[0],niceMax:r[r.length-1]}}else t.xAxisScale=this.scales.setXScale(t.minX,t.maxX);else t.xAxisScale=this.scales.linearScale(0,a,a,0,e.xaxis.stepSize),t.noLabelsProvided&&t.labels.length>0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1,0,e.xaxis.stepSize),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:"setZRange",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e<t.series.length;e++)if(void 0!==t.seriesZ[e])for(var i=0;i<t.seriesZ[e].length;i++)null!==t.seriesZ[e][i]&&v.isNumber(t.seriesZ[e][i])&&(t.maxZ=Math.max(t.maxZ,t.seriesZ[e][i]),t.minZ=Math.min(t.minZ,t.seriesZ[e][i]))}},{key:"_handleSingleDataPoint",value:function(){var t=this.w.globals,e=this.w.config;if(t.minX===t.maxX){var i=new zi(this.ctx);if("datetime"===e.xaxis.type){var a=i.getDate(t.minX);
vendor: 8,922 bytes, line 46395
46395e.xaxis.labels.datetimeUTC?a.setUTCDate(a.getUTCDate()-2):a.setDate(a.getDate()-2),t.minX=new Date(a).getTime();var s=i.getDate(t.maxX);e.xaxis.labels.datetimeUTC?s.setUTCDate(s.getUTCDate()+2):s.setDate(s.getDate()+2),t.maxX=new Date(s).getTime()}else("numeric"===e.xaxis.type||"category"===e.xaxis.type&&!t.noLabelsProvided)&&(t.minX=t.minX-2,t.initialMinX=t.minX,t.maxX=t.maxX+2,t.initialMaxX=t.maxX)}}},{key:"_getMinXDiff",value:function(){var t=this.w.globals;t.isXNumeric&&t.seriesX.forEach((function(e,i){if(e.length){1===e.length&&e.push(t.seriesX[t.maxValsInArrayIndex][t.seriesX[t.maxValsInArrayIndex].length-1]);var a=e.slice();a.sort((function(t,e){return t-e})),a.forEach((function(e,i){if(i>0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}}))}},{key:"_setStackedMinMax",value:function(){var t=this,e=this.w.globals;if(e.series.length){var i=e.seriesGroups;i.length||(i=[this.w.globals.seriesNames.map((function(t){return t}))]);var a={},s={};i.forEach((function(i){a[i]=[],s[i]=[],t.w.config.series.map((function(t,a){return i.indexOf(e.seriesNames[a])>-1?a:null})).filter((function(t){return null!==t})).forEach((function(r){for(var n=0;n<e.series[e.maxValsInArrayIndex].length;n++){var o,l,h,c;void 0===a[i][n]&&(a[i][n]=0,s[i][n]=0),(t.w.config.chart.stacked&&!e.comboCharts||t.w.config.chart.stacked&&e.comboCharts&&(!t.w.config.chart.stackOnlyBar||"bar"===(null===(o=t.w.config.series)||void 0===o||null===(l=o[r])||void 0===l?void 0:l.type)||"column"===(null===(h=t.w.config.series)||void 0===h||null===(c=h[r])||void 0===c?void 0:c.type)))&&null!==e.series[r][n]&&v.isNumber(e.series[r][n])&&(e.series[r][n]>0?a[i][n]+=parseFloat(e.series[r][n])+1e-4:s[i][n]+=parseFloat(e.series[r][n]))}}))})),Object.entries(a).forEach((function(t){var i=p(t,1)[0];a[i].forEach((function(t,r){e.maxY=Math.max(e.maxY,a[i][r]),e.minY=Math.min(e.minY,s[i][r])}))}))}}}]),t}(),ia=function(){function t(e,a){i(this,t),this.ctx=e,this.elgrid=a,this.w=e.w;var s=this.w;this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.axisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.isCategoryBarHorizontal="bar"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xAxisoffX="bottom"===s.config.xaxis.position?s.globals.gridHeight:0,this.drawnLabels=[],this.axesUtils=new Ri(e)}return s(t,[{key:"drawYaxis",value:function(t){var e=this.w,i=new Mi(this.ctx),a=e.config.yaxis[t].labels.style,s=a.fontSize,r=a.fontFamily,n=a.fontWeight,o=i.group({class:"apexcharts-yaxis",rel:t,transform:"translate(".concat(e.globals.translateYAxisX[t],", 0)")});if(this.axesUtils.isYAxisHidden(t))return o;var l=i.group({class:"apexcharts-yaxis-texts-g"});o.add(l);var h=e.globals.yAxisScale[t].result.length-1,c=e.globals.gridHeight/h,d=e.globals.yLabelFormatters[t],u=this.axesUtils.checkForReversedLabels(t,e.globals.yAxisScale[t].result.slice());if(e.config.yaxis[t].labels.show){var g=e.globals.translateY+e.config.yaxis[t].labels.offsetY;e.globals.isBarHorizontal?g=0:"heatmap"===e.config.chart.type&&(g-=c/2),g+=parseInt(s,10)/3;for(var p=h;p>=0;p--){var f=d(u[p],p,e),x=e.config.yaxis[t].labels.padding;e.config.yaxis[t].opposite&&0!==e.config.yaxis.length&&(x*=-1);var b=this.getTextAnchor(e.config.yaxis[t].labels.align,e.config.yaxis[t].opposite),m=this.axesUtils.getYAxisForeColor(a.colors,t),y=Array.isArray(m)?m[p]:m,w=v.listToArray(e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-label tspan"))).map((function(t){return t.textContent})),k=i.drawText({x:x,y:g,text:w.includes(f)&&!e.config.yaxis[t].labels.showDuplicates?"":f,textAnchor:b,fontSize:s,fontFamily:r,fontWeight:n,maxWidth:e.config.yaxis[t].labels.maxWidth,foreColor:y,isPlainText:!1,cssClass:"apexcharts-yaxis-label ".concat(a.cssClass)});l.add(k),this.addTooltip(k,f),0!==e.config.yaxis[t].labels.rotate&&this.rotateLabel(i,k,firstLabel,e.config.yaxis[t].labels.rotate),g+=c}}return this.addYAxisTitle(i,o,t),this.addAxisBorder(i,o,t,h,c),o}},{key:"getTextAnchor",value:function(t,e){return"left"===t?"start":"center"===t?"middle":"right"===t?"end":e?"start":"end"}},{key:"addTooltip",value:function(t,e){var i=document.createElementNS(this.w.globals.SVGNS,"title");i.textContent=Array.isArray(e)?e.join(" "):e,t.node.appendChild(i)}},{key:"rotateLabel",value:function(t,e,i,a){var s=t.rotateAroundCenter(i.node),r=t.rotateAroundCenter(e.node);e.node.setAttribute("transform","rotate(".concat(a," ").concat(s.x," ").concat(r.y,")"))}},{key:"addYAxisTitle",value:function(t,e,i){var a=this.w;if(void 0!==a.config.yaxis[i].title.text){var s=t.group({class:"apexcharts-yaxis-title"}),r=a.config.yaxis[i].opposite?a.globals.translateYAxisX[i]:0,n=t.drawText({x:r,y:a.globals.gridHeight/2+a.globals.translateY+a.config.yaxis[i].title.offsetY,text:a.config.yaxis[i].title.text,textAnchor:"end",foreColor:a.config.yaxis[i].title.style.color,fontSize:a.config.yaxis[i].title.style.fontSize,fontWeight:a.config.yaxis[i].title.style.fontWeight,fontFamily:a.config.yaxis[i].title.style.fontFamily,cssClass:"apexcharts-yaxis-title-text ".concat(a.config.yaxis[i].title.style.cssClass)});s.add(n),e.add(s)}}},{key:"addAxisBorder",value:function(t,e,i,a,s){var r=this.w,n=r.config.yaxis[i].axisBorder,o=31+n.offsetX;if(r.config.yaxis[i].opposite&&(o=-31-n.offsetX),n.show){var l=t.drawLine(o,r.globals.translateY+n.offsetY-2,o,r.globals.gridHeight+r.globals.translateY+n.offsetY+2,n.color,0,n.width);e.add(l)}r.config.yaxis[i].axisTicks.show&&this.axesUtils.drawYAxisTicks(o,a,n,r.config.yaxis[i].axisTicks,i,s,e)}},{key:"drawYaxisInversed",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:"apexcharts-xaxis apexcharts-yaxis-inversed"}),s=i.group({class:"apexcharts-xaxis-texts-g",transform:"translate(".concat(e.globals.translateXAxisX,", ").concat(e.globals.translateXAxisY,")")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,n=e.globals.gridWidth/r+.1,o=n+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=this.axesUtils.checkForReversedLabels(t,e.globals.yAxisScale[t].result.slice()),c=e.globals.timescaleLabels;if(c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),e.config.xaxis.labels.show)for(var d=c.length?0:r;c.length?d<c.length:d>=0;c.length?d++:d--){var u=l(h[d],d,e),g=e.globals.gridWidth+e.globals.padHorizontal-(o-n+e.config.xaxis.labels.offsetX);if(c.length){var p=this.axesUtils.getLabel(h,c,g,d,this.drawnLabels,this.xaxisFontSize);g=p.x,u=p.text,this.drawnLabels.push(p.text),0===d&&e.globals.skipFirstTimelinelabel&&(u=""),d===h.length-1&&e.globals.skipLastTimelinelabel&&(u="")}var f=i.drawText({x:g,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-("top"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:"middle",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:"apexcharts-xaxis-label ".concat(e.config.xaxis.labels.style.cssClass)});s.add(f),f.tspan(u),this.addTooltip(f,u),o+=n}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:"inversedYAxisBorder",value:function(t){var e=this.w,i=new Mi(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;"bar"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders&&e.config.grid.show?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:"inversedYAxisTitleText",value:function(t){var e=this.w,i=new Mi(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:"apexcharts-xaxis-title apexcharts-yaxis-title-inversed"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:"middle",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:"apexcharts-xaxis-title-text ".concat(e.config.xaxis.title.style.cssClass)});a.add(s),t.add(a)}}},{key:"yAxisTitleRotate",value:function(t,e){var i=this.w,a=new Mi(this.ctx),s=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-texts-g")),r=s?s.getBoundingClientRect():{width:0,height:0},n=i.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(t,"'] .apexcharts-yaxis-title text")),o=n?n.getBoundingClientRect():{width:0,height:0};if(n){var l=this.xPaddingForYAxisTitle(t,r,o,e);n.setAttribute("x",l.xPos-(e?10:0));
vendor: 6,789 bytes, line 46395
46395var h=a.rotateAroundCenter(n);n.setAttribute("transform","rotate(".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate," ").concat(h.x," ").concat(h.y,")"))}}},{key:"xPaddingForYAxisTitle",value:function(t,e,i,a){var s=this.w,r=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:r,padd:0}:(a?r=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2:(r=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,r=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:r,padd:n})}},{key:"setYAxisXPosition",value:function(t,e){var i=this.w,a=0,s=0,r=18,n=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.forEach((function(o,l){var h=i.globals.ignoreYAxisIndexes.includes(l)||!o.show||o.floating||0===t[l].width,c=t[l].width+e[l].width;o.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-o.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+n,h||(n+=c+20),i.globals.translateYAxisX[l]=s-o.labels.offsetX+20):(a=i.globals.translateX-r,h||(r+=c+20),i.globals.translateYAxisX[l]=a+o.labels.offsetX)}))}},{key:"setYAxisTextAlignments",value:function(){var t=this.w;v.listToArray(t.globals.dom.baseEl.getElementsByClassName("apexcharts-yaxis")).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&!a.floating&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-texts-g")),r=v.listToArray(t.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxis[rel='".concat(i,"'] .apexcharts-yaxis-label"))),n=s.getBoundingClientRect();r.forEach((function(t){t.setAttribute("text-anchor",a.labels.align)})),"left"!==a.labels.align||a.opposite?"center"===a.labels.align?s.setAttribute("transform","translate(".concat(n.width/2*(a.opposite?1:-1),", 0)")):"right"===a.labels.align&&a.opposite&&s.setAttribute("transform","translate(".concat(n.width,", 0)")):s.setAttribute("transform","translate(-".concat(n.width,", 0)"))}}))}}]),t}(),aa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.documentEvent=v.bind(this.documentEvent,this)}return s(t,[{key:"addEventListener",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:"removeEventListener",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:"fireEvent",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r<s;r++)a[r].apply(null,e)}}},{key:"setupEventHandlers",value:function(){var t=this,e=this.w,i=this.ctx,a=e.globals.dom.baseEl.querySelector(e.globals.chartClass);this.ctx.eventList.forEach((function(t){a.addEventListener(t,(function(t){var a=null===t.target.getAttribute("i")&&-1!==e.globals.capturedSeriesIndex?e.globals.capturedSeriesIndex:t.target.getAttribute("i"),s=null===t.target.getAttribute("j")&&-1!==e.globals.capturedDataPointIndex?e.globals.capturedDataPointIndex:t.target.getAttribute("j"),r=Object.assign({},e,{seriesIndex:e.globals.axisCharts?a:0,dataPointIndex:s});"mousemove"===t.type||"touchmove"===t.type?"function"==typeof e.config.chart.events.mouseMove&&e.config.chart.events.mouseMove(t,i,r):"mouseleave"===t.type||"touchleave"===t.type?"function"==typeof e.config.chart.events.mouseLeave&&e.config.chart.events.mouseLeave(t,i,r):("mouseup"===t.type&&1===t.which||"touchend"===t.type)&&("function"==typeof e.config.chart.events.click&&e.config.chart.events.click(t,i,r),i.ctx.events.fireEvent("click",[t,i,r]))}),{capture:!1,passive:!0})})),this.ctx.eventList.forEach((function(i){e.globals.dom.baseEl.addEventListener(i,t.documentEvent,{passive:!0})})),this.ctx.core.setupBrushHandler()}},{key:"documentEvent",value:function(t){var e=this.w,i=t.target.className;if("click"===t.type){var a=e.globals.dom.baseEl.querySelector(".apexcharts-menu");a&&a.classList.contains("apexcharts-menu-open")&&"apexcharts-menu-icon"!==i&&a.classList.remove("apexcharts-menu-open")}e.globals.clientX="touchmove"===t.type?t.touches[0].clientX:t.clientX,e.globals.clientY="touchmove"===t.type?t.touches[0].clientY:t.clientY}}]),t}(),sa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"setCurrentLocaleValues",value:function(t){var e=this.w.config.chart.locales;window.Apex.chart&&window.Apex.chart.locales&&window.Apex.chart.locales.length>0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error("Wrong locale name provided. Please make sure you set the correct locale name in options");var a=v.extend(Hi,i);this.w.globals.locale=a.options}}]),t}(),ra=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"drawAxis",value:function(t,e){var i,a,s=this,r=this.w.globals,n=this.w.config,o=new Qi(this.ctx,e),l=new ia(this.ctx,e);r.axisCharts&&"radar"!==t&&(r.isBarHorizontal?(a=l.drawYaxisInversed(0),i=o.drawXaxisInversed(0),r.dom.elGraphical.add(i),r.dom.elGraphical.add(a)):(i=o.drawXaxis(),r.dom.elGraphical.add(i),n.yaxis.map((function(t,e){if(-1===r.ignoreYAxisIndexes.indexOf(e)&&(a=l.drawYaxis(e),r.dom.Paper.add(a),"back"===s.w.config.grid.position)){var i=r.dom.Paper.children()[1];i.remove(),r.dom.Paper.add(i)}}))))}}]),t}(),na=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"drawXCrosshairs",value:function(){var t=this.w,e=new Mi(this.ctx),i=new Li(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,n=a.colorFrom,o=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,u=s.left,g=s.top,p=s.blur,f=s.color,x=s.opacity,b=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){"gradient"===r&&(b=e.drawGradient("vertical",n,o,l,h,null,c,null));var m=e.drawRect();1===t.config.xaxis.crosshairs.width&&(m=e.drawLine());var y=t.globals.gridHeight;(!v.isNumber(y)||y<0)&&(y=0);var w=t.config.xaxis.crosshairs.width;(!v.isNumber(w)||w<0)&&(w=0),m.attr({class:"apexcharts-xcrosshairs",x:0,y:0,y2:y,width:w,height:y,fill:b,filter:"none","fill-opacity":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,"stroke-width":t.config.xaxis.crosshairs.stroke.width,"stroke-dasharray":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(m=i.dropShadow(m,{left:u,top:g,blur:p,color:f,opacity:x})),t.globals.dom.elGraphical.add(m)}}},{key:"drawYCrosshairs",value:function(){var t=this.w,e=new Mi(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,
vendor: 5,299 bytes, line 46395
46395i.stroke.dashArray,i.stroke.width);s.attr({class:"apexcharts-ycrosshairs"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:"apexcharts-ycrosshairs-hidden"}),t.globals.dom.elGraphical.add(r)}}]),t}(),oa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"checkResponsiveConfig",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new Wi({}),n=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,n=window.innerWidth>0?window.innerWidth:screen.width;if(n>a){var o=v.clone(i.globals.initialConfig);o.series=v.clone(i.config.series);var l=Pi.extendArrayProps(r,o,i);t=v.extend(l,t),t=v.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var h=0;h<s.length;h++)n<s[h].breakpoint&&(t=Pi.extendArrayProps(r,s[h].options,i),t=v.extend(i.config,t),e.overrideResponsiveOptions(t))};if(t){var o=Pi.extendArrayProps(r,t,i);o=v.extend(i.config,o),n(o=v.extend(o,t))}else n({})}}},{key:"overrideResponsiveOptions",value:function(t){var e=new Wi(t).init({responsiveOverride:!0});this.w.config=e}}]),t}(),la=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.colors=[],this.isColorFn=!1,this.isHeatmapDistributed=this.checkHeatmapDistributed(),this.isBarDistributed=this.checkBarDistributed()}return s(t,[{key:"checkHeatmapDistributed",value:function(){var t=this.w.config,e=t.chart,i=t.plotOptions;return"treemap"===e.type&&i.treemap&&i.treemap.distributed||"heatmap"===e.type&&i.heatmap&&i.heatmap.distributed}},{key:"checkBarDistributed",value:function(){var t=this.w.config,e=t.chart,i=t.plotOptions;return i.bar&&i.bar.distributed&&("bar"===e.type||"rangeBar"===e.type)}},{key:"init",value:function(){this.setDefaultColors()}},{key:"setDefaultColors",value:function(){var t=this.w,e=new v;t.globals.dom.elWrap.classList.add("apexcharts-theme-".concat(t.config.theme.mode||"light"));var i=f(t.config.colors||t.config.fill.colors||[]);t.globals.colors=this.getColors(i),this.applySeriesColors(t.globals.seriesColors,t.globals.colors),t.config.theme.monochrome.enabled&&(t.globals.colors=this.getMonochromeColors(t.config.theme.monochrome,t.globals.series,e));var a=t.globals.colors.slice();this.pushExtraColors(t.globals.colors),this.applyColorTypes(["fill","stroke"],a),this.applyDataLabelsColors(a),this.applyRadarPolygonsColors(),this.applyMarkersColors(a)}},{key:"getColors",value:function(t){var e=this,i=this.w;return t&&0!==t.length?Array.isArray(t)&&t.length>0&&"function"==typeof t[0]?(this.isColorFn=!0,i.config.series.map((function(a,s){var r=t[s]||t[0];return"function"==typeof r?r({value:i.globals.axisCharts?i.globals.series[s][0]||0:i.globals.series[s],seriesIndex:s,dataPointIndex:s,w:e.w}):r}))):t:this.predefined()}},{key:"applySeriesColors",value:function(t,e){t.forEach((function(t,i){t&&(e[i]=t)}))}},{key:"getMonochromeColors",value:function(t,e,i){var a=t.color,s=t.shadeIntensity,r=t.shadeTo,n=this.isBarDistributed||this.isHeatmapDistributed?e[0].length*e.length:e.length,o=1/(n/s),l=0;return Array.from({length:n},(function(){var t="dark"===r?i.shadeColor(-1*l,a):i.shadeColor(l,a);return l+=o,t}))}},{key:"applyColorTypes",value:function(t,e){var i=this,a=this.w;t.forEach((function(t){a.globals[t].colors=void 0===a.config[t].colors?i.isColorFn?a.config.colors:e:a.config[t].colors.slice(),i.pushExtraColors(a.globals[t].colors)}))}},{key:"applyDataLabelsColors",value:function(t){var e=this.w;e.globals.dataLabels.style.colors=void 0===e.config.dataLabels.style.colors?t:e.config.dataLabels.style.colors.slice(),this.pushExtraColors(e.globals.dataLabels.style.colors,50)}},{key:"applyRadarPolygonsColors",value:function(){var t=this.w;t.globals.radarPolygons.fill.colors=void 0===t.config.plotOptions.radar.polygons.fill.colors?["dark"===t.config.theme.mode?"#343A3F":"none"]:t.config.plotOptions.radar.polygons.fill.colors.slice(),this.pushExtraColors(t.globals.radarPolygons.fill.colors,20)}},{key:"applyMarkersColors",value:function(t){var e=this.w;e.globals.markers.colors=void 0===e.config.markers.colors?t:e.config.markers.colors.slice(),this.pushExtraColors(e.globals.markers.colors)}},{key:"pushExtraColors",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||"heatmap"===a.config.chart.type&&a.config.plotOptions.heatmap&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.length<s)for(var r=s-t.length,n=0;n<r;n++)t.push(t[n])}},{key:"updateThemeOptions",value:function(t){t.chart=t.chart||{},t.tooltip=t.tooltip||{};var e=t.theme.mode,i="dark"===e?"palette4":"light"===e?"palette1":t.theme.palette||"palette1",a="dark"===e?"#f6f7f8":"light"===e?"#373d3f":t.chart.foreColor||"#373d3f";return t.tooltip.theme=e||"light",t.chart.foreColor=a,t.theme.palette=i,t}},{key:"predefined",value:function(){var t={palette1:["#008FFB","#00E396","#FEB019","#FF4560","#775DD0"],palette2:["#3f51b5","#03a9f4","#4caf50","#f9ce1d","#F
46395F9800"],palette3:["#33b2df","#546E7A","#d4526e","#13d8aa","#A5978B"],palette4:["#4ecdc4","#c7f464","#81D4FA","#fd6a6a","#546E7A"],palette5:["#2b908f","#f9a3a4","#90ee7e","#fa4443","#69d2e7"],palette6:["#449DD1","#F86624","#EA3546","#662E9B","#C5D86D"],palette7:["#D7263D","#1B998B","#2E294E","#F46036","#E2C044"],palette8:["#662E9B","#F86624","#F9C80E","#EA3546","#43BCCD"],palette9:["#5C4742","#A5978B","#8D5B4C","#5A2A27","#C4BBAF"],palette10:["#A300D6","#7D02EB","#5653FE","#2983FF","#00B1F2"],default:["#008FFB","#00E396","#FEB019","#FF4560","#775DD0"]};return t[this.w.config.theme.palette]||t.default}}]),t}(),ha=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"draw",value:function(){this.drawTitleSubtitle("title"),this.drawTitleSubtitle("subtitle")}},{key:"drawTitleSubtitle",value:function(t){var e=this.w,i="title"===t?e.config.title:e.config.subtitle,a=e.globals.svgWidth/2,s=i.offsetY,r="middle";if("left"===i.align?(a=10,r="start"):"right"===i.align&&(a=e.globals.svgWidth-10,r="end"),a+=i.offsetX,s=s+parseInt(i.style.fontSize,10)+i.margin/2,void 0!==i.text){var n=new Mi(this.ctx).drawText({x:a,y:s,text:i.text,textAnchor:r,fontSize:i.style.fontSize,fontFamily:i.style.fontFamily,fontWeight:i.style.fontWeight,foreColor:i.style.color,opacity:1});n.node.setAttribute("class","apexcharts-".concat(t,"-text")),e.globals.dom.Paper.add(n)}}}]),t}(),ca=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:"getTitleSubtitleCoords",value:function(t){var e=this.w,i=0,a=0,s="title"===t?e.config.title.floating:e.config.subtitle.floating,r=e.globals.dom.baseEl.querySelector(".apexcharts-".concat(t,"-text"));if(null!==r&&!s){var n=r.getBoundingClientRect();i=n.width,a=e.globals.axisCharts?n.height+5:n.height}return{width:i,height:a}}},{key:"getLegendsRect",value:function(){var t=this.w,e=t.globals.dom.elLegendWrap;t.config.legend.height||"top"!==t.config.legend.position&&"bottom"!==t.config.legend.position||(e.style.maxHeight=t.globals.svgHeight/2+"px");var i=Object.assign({},v.getBoundingClientRect(e));return null!==e&&!t.config.legend.floating&&t.config.legend.show?this.dCtx.lgRect={x:i.x,y:i.y,height:i.height,width:0===i.height?0:i.width}:this.dCtx.lgRect={x:0,y:0,height:0,width:0},"left"!==t.config.legend.position&&"right"!==t.config.legend.position||1.5*this.dCtx.lgRect.width>t.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:"getDatalabelsRect",value:function(){var t=this,e=this.w,i=[];e.config.series.forEach((function(s,r){s.data.forEach((function(s,n){var o;o=e.globals.series[r][n],a=e.config.dataLabels.formatter(o,{ctx:t.dCtx.ctx,seriesIndex:r,dataPointIndex:n,w:e}),i.push(a)}))}));var a=v.getLargestStringFromArr(i),s=new Mi(this.dCtx.ctx),r=e.config.dataLabels.style,n=s.getTextRects(a,parseInt(r.fontSize),r.fontFamily);return{width:1.05*n.width,height:n.height}}},{key:"getLargestStringFromMultiArr",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,f(a));i=e[a.indexOf(s)]}return i}}]),t}(),da=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:"getxAxisLabelsCoords",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends="left"!==e.config.legend.position&&"right"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=v.getLargestStringFromArr(i),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(n=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var o=new Xi(this.dCtx.ctx),l=r;r=o.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new zi(this.dCtx.ctx).formatDate,w:e}),n=o.xLabelFormat(s,n,l,{i:void 0,dateFormatter:new zi(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||""===String(r).trim())&&(n=r="1");var h=new Mi(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==n&&(d=h.getTextRects(n,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>
vendor: 4,570 bytes, line 46395
46395e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var u=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,"rotate(".concat(e.config.xaxis.labels.rotate," 0 0)"),!1)};c=u(r),r!==n&&(d=u(n)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:"getxAxisGroupLabelsCoords",value:function(){var t,e=this.w;if(!e.globals.hasXaxisGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=v.getLargestStringFromArr(s),n=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),o=new Mi(this.dCtx.ctx),l=o.getTextRects(r,a),h=l;return r!==n&&(h=o.getTextRects(n,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:"getxAxisTitleCoords",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new Mi(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:"getxAxisTimeScaleLabelsCoords",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error("You have possibly supplied invalid Date format. Please supply a valid JavaScript Date"),0):t.length>e.length?t:e}),0);return 1.05*(t=new Mi(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:"additionalPaddingXLabels",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,n=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var o=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,o){s.yaxis.length>1&&function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)}(o)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var o=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+n/1.75-e.dCtx.yAxisWidthRight,h=o.position-n/1.75+e.dCtx.yAxisWidthLeft,c="right"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||"bar"!==s.chart.type&&"candlestick"!==s.chart.type&&"rangeBar"!==s.chart.type&&"boxPlot"!==s.chart.type?10:n/1.75)&&(a.skipFirstTimelinelabel=!0)}else"datetime"===r?e.dCtx.gridPad.right<n&&!a.rotateXLabels&&(a.skipLastTimelinelabel=!0):"datetime"!==r&&e.dCtx.gridPad.right<n/2-e.dCtx.yAxisWidthRight&&!a.rotateXLabels&&!i.config.xaxis.labels.trim&&(e.dCtx.xPadRight=n/2+1)}(t)};s.yaxis.forEach((function(t,i){o?(e.dCtx.gridPad.left<n&&(e.dCtx.xPadLeft=n/2+1),e.dCtx.xPadRight=n/2+1):l(t,i)}))}}]),t}(),ua=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:"getyAxisLabelsCoords",value:function(){var t=this,e=this.w,i=[],a=10,s=new Ri(this.dCtx.ctx);return e.config.yaxis.map((function(r,n){var o={seriesIndex:n,dataPointIndex:-1,w:e},l=e.globals.yAxisScale[n],h=0;if(!s.isYAxisHidden(n)&&r.labels.show&&void 0!==r.labels.minWidth&&(h=r.labels.minWidth),!s.isYAxisHidden(n)&&r.labels.show&&l.result.length){var c=e.globals.yLabelFormatters[n],d=l.niceMin===Number.MIN_VALUE?0:l.niceMin,u=l.result.reduce((function(t,e){var i,a;return(null===(i=String(c(t,o)))||void 0===i?void 0:i.length)>(null===(a=String(c(e,o)))||void 0===a?void 0:a.length)?t:e}),d),g=u=c(u,o);if(void 0!==u&&0!==u.length||(u=l.niceMax),e.globals.isBarHorizontal){a=0;var p=e.globals.labels.slice();u=v.getLargestStringFromArr(p),u=c(u,{seriesIndex:n,dataPointIndex:-1,w:e}),g=t.dCtx.dimHelpers.getLargestStringFromMultiArr(u,p)}var f=new Mi(t.dCtx.ctx),x="rotate(".concat(r.labels.rotate," 0 0)"),b=f.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1),m=b;u!==g&&(m=f.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,x,!1)),i.push({width:(h>m.width||h>b.width?h:m.width>
vendor: 8,192 bytes, line 46395
46395b.width?m.width:b.width)+a,height:m.height>b.height?m.height:b.height})}else i.push({width:0,height:0})})),i}},{key:"getyAxisTitleCoords",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new Mi(t.dCtx.ctx),r="rotate(".concat(e.title.rotate," 0 0)"),n=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:n.width,height:n.height})}else i.push({width:0,height:0})})),i}},{key:"getTotalYAxisWidth",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new Ri(this.dCtx.ctx),n=function(n,o){var l=t.config.yaxis[o].floating,h=0;n.width>0&&!l?(h=n.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(o)&&(h=h-n.width-s)):h=l||r.isYAxisHidden(o)?0:5,t.config.yaxis[o].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){n(t,e)})),t.globals.yTitleCoords.map((function(t,e){n(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),ga=function(){function t(e){i(this,t),this.w=e.w,this.dCtx=e}return s(t,[{key:"gridPadForColumnsInNumericAxis",value:function(t){var e=this.w,i=e.config,a=e.globals;if(a.noData||a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.series.length)return 0;var s=function(t){return["bar","rangeBar","candlestick","boxPlot"].includes(t)},r=i.chart.type,n=0,o=s(r)?i.series.length:1;a.comboBarCount>0&&(o=a.comboBarCount),a.collapsedSeries.forEach((function(t){s(t.type)&&(o-=1)})),i.chart.stacked&&(o=1);var l=s(r)||a.comboBarCount>0,h=Math.abs(a.initialMaxX-a.initialMinX);if(l&&a.isXNumeric&&!a.isBarHorizontal&&o>0&&0!==h){h<=3&&(h=a.dataPoints);var c=h/t,d=a.minXDiff&&a.minXDiff/c>0?a.minXDiff/c:0;d>t/2&&(d/=2),(n=d*parseInt(i.plotOptions.bar.columnWidth,10)/100)<1&&(n=1),a.barPadForNumericAxis=n}return n}},{key:"gridPadFortitleSubtitle",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!i.axisCharts?0:10;["title","subtitle"].forEach((function(s){void 0!==e.config[s].text?a+=e.config[s].margin:a+=t.dCtx.isSparkline||!i.axisCharts?0:5})),!e.config.legend.show||"bottom"!==e.config.legend.position||e.config.legend.floating||i.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords("title"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords("subtitle");i.gridHeight-=s.height+r.height+a,i.translateY+=s.height+r.height+a}},{key:"setGridXPosForDualYAxis",value:function(t,e){var i=this.w,a=new Ri(this.dCtx.ctx);i.config.yaxis.forEach((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX-=e[r].width+t[r].width+parseInt(s.labels.style.fontSize,10)/1.2+12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),pa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new ca(this),this.dimYAxis=new ua(this),this.dimXAxis=new da(this),this.dimGrid=new ga(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return s(t,[{key:"plotCoords",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.datalabelsCoords={width:0,height:0};var a=Array.isArray(e.config.stroke.width)?Math.max.apply(Math,f(e.config.stroke.width)):e.config.stroke.width;this.isSparkline&&((e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=p(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),this.gridPad.top=Math.max(a/2,this.gridPad.top),this.gridPad.bottom=Math.max(a/2,this.gridPad.bottom)),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var s=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*s,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(s>0?s:0),i.translateY=i.translateY+this.gridPad.top}},{key:"setDimensionsForAxisCharts",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();i.isSlopeChart&&(this.datalabelsCoords=this.dimHelpers.getDatalabelsRect()),e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),n=this.dimXAxis.getxAxisGroupLabelsCoords(),o=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,o,n),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-o.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;("radar"===e.config.chart.type||this.isSparkline)&&(l=0,h=0),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||"treemap"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||"treemap"===e.config.chart.type||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l+t.datalabelsCoords.width,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||"treemap"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l-2*t.datalabelsCoords.width};switch("top"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case"bottom":i.translateY=c,d();break;case"top":i.translateY=this.lgRect.height+c,d();break;case"left":i.translateY=c,i.translateX=this.lgRect.width+l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width;break;case"right":i.translateY=c,i.translateX=l+this.datalabelsCoords.width,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-2*this.datalabelsCoords.width-5;break;default:throw new Error("Legend position not supported")}this.dimGrid.setGridXPosForDualYAxis(s,a),new ia(this.ctx).setYAxisXPosition(a,s)}},{key:"setDimensionsForNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s="pie"===i.chart.type||"polarArea"===i.chart.type||"donut"===i.chart.type?"pie":"radialBar",r=i.plotOptions[s].offsetY,n=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating){e.gridHeight=e.svgHeight;var o=e.dom.elWrap.getBoundingClientRect().width;return e.gridWidth=Math.min(o,e.gridHeight),e.translateY=r,void(e.translateX=n+(e.svgWidth-e.gridWidth)/2)}switch(i.legend.position){case"bottom":e.gridHeight=e.svgHeight-this.lgRect.height,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case"top":e.gridHeight=e.svgHeight-this.lgRect.height,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=n+(e.svgWidth-e.gridWidth)/2;break;case"left":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+this.lgRect.width+a;break;case"right":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight="auto"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=n+10;break;default:throw new Error("Legend position not supported")}}}
vendor: 4,787 bytes, line 46395
46395,{key:"conditionalChecksForAxisCoords",value:function(t,e,i){var a=this.w,s=a.globals.hasXaxisGroups?2:1,r=i.height+t.height+e.height,n=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,o=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&"bottom"===a.config.legend.position?10:0;this.xAxisHeight=r*n+s*o+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeight<a.config.xaxis.labels.minHeight&&(this.xAxisHeight=a.config.xaxis.labels.minHeight),a.config.xaxis.floating&&(this.xAxisHeight=0);var h=0,c=0;a.config.yaxis.forEach((function(t){h+=t.labels.minWidth,c+=t.labels.maxWidth})),this.yAxisWidth<h&&(this.yAxisWidth=h),this.yAxisWidth>c&&(this.yAxisWidth=c)}}]),t}(),fa=function(){function t(e){i(this,t),this.w=e.w,this.lgCtx=e}return s(t,[{key:"getLegendStyles",value:function(){var t,e,i,a=document.createElement("style");a.setAttribute("type","text/css");var s=(null===(t=this.lgCtx.ctx)||void 0===t||null===(e=t.opts)||void 0===e||null===(i=e.chart)||void 0===i?void 0:i.nonce)||this.w.config.chart.nonce;s&&a.setAttribute("nonce",s);var r=document.createTextNode("\n .apexcharts-flip-y {\n transform: scaleY(-1) translateY(-100%);\n transform-origin: top;\n transform-box: fill-box;\n }\n .apexcharts-flip-x {\n transform: scaleX(-1);\n transform-origin: center;\n transform-box: fill-box;\n }\n .apexcharts-legend {\n display: flex;\n overflow: auto;\n padding: 0 10px;\n }\n .apexcharts-legend.apexcharts-legend-group-horizontal {\n flex-direction: column;\n }\n .apexcharts-legend-group {\n display: flex;\n }\n .apexcharts-legend-group-vertical {\n flex-direction: column-reverse;\n }\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\n flex-wrap: wrap\n }\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n flex-direction: column;\n bottom: 0;\n }\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\n justify-content: flex-start;\n align-items: flex-start;\n }\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\n justify-content: center;\n align-items: center;\n }\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\n justify-content: flex-end;\n align-items: flex-end;\n }\n .apexcharts-legend-series {\n cursor: pointer;\n line-height: normal;\n display: flex;\n align-items: center;\n }\n .apexcharts-legend-text {\n position: relative;\n font-size: 14px;\n }\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\n pointer-events: none;\n }\n .apexcharts-legend-marker {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n margin-right: 1px;\n }\n\n .apexcharts-legend-series.apexcharts-no-click {\n cursor: auto;\n }\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\n display: none !important;\n }\n .apexcharts-inactive-legend {\n opacity: 0.45;\n }\n\n ");return a.appendChild(r),a}},{key:"getLegendDimensions",value:function(){var t=this.w.globals.dom.baseEl.querySelector(".apexcharts-legend").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:"appendToForeignObject",value:function(){this.w.globals.dom.elLegendForeign.appendChild(this.getLegendStyles())}},{key:"toggleDataSeries",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||"radialBar"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(t,"']")),r=parseInt(s.getAttribute("data:realIndex"),10)):(s=a.globals.dom.baseEl.querySelector(".apexcharts-series[rel='".concat(t+1,"']")),r=parseInt(s.getAttribute("rel"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}
vendor: 4,716 bytes, line 46395
46395].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var n=a.globals.dom.Paper.findOne(" .apexcharts-series[rel='".concat(t+1,"'] path")),o=a.config.chart.type;if("pie"===o||"polarArea"===o||"donut"===o){var l=a.config.plotOptions.pie.donut.labels;new Mi(this.lgCtx.ctx).pathMouseDown(n,null),this.lgCtx.ctx.pie.printDataLabelsInner(n.node,l)}n.fire("click")}}},{key:"getSeriesAfterCollapsing",value:function(t){var e=t.realIndex,i=this.w,a=i.globals,s=v.clone(i.config.series);if(a.axisCharts){var r=i.config.yaxis[a.seriesYAxisReverseMap[e]],n={index:e,data:s[e].data.slice(),type:s[e].type||i.config.chart.type};if(r&&r.show&&r.showAlways)a.ancillaryCollapsedSeriesIndices.indexOf(e)<0&&(a.ancillaryCollapsedSeries.push(n),a.ancillaryCollapsedSeriesIndices.push(e));else if(a.collapsedSeriesIndices.indexOf(e)<0){a.collapsedSeries.push(n),a.collapsedSeriesIndices.push(e);var o=a.risingSeries.indexOf(e);a.risingSeries.splice(o,1)}}else a.collapsedSeries.push({index:e,data:s[e]}),a.collapsedSeriesIndices.push(e);return a.allSeriesCollapsed=a.collapsedSeries.length+a.ancillaryCollapsedSeries.length===i.config.series.length,this._getSeriesBasedOnCollapsedState(s)}},{key:"hideSeries",value:function(t){for(var e=t.seriesEl,i=t.realIndex,a=this.w,s=this.getSeriesAfterCollapsing({realIndex:i}),r=e.childNodes,n=0;n<r.length;n++)r[n].classList.contains("apexcharts-series-markers-wrap")&&(r[n].classList.contains("apexcharts-hide")?r[n].classList.remove("apexcharts-hide"):r[n].classList.add("apexcharts-hide"));this.lgCtx.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled)}},{key:"riseCollapsedSeries",value:function(t,e,i){var a=this.w,s=v.clone(a.config.series);if(t.length>0){for(var r=0;r<t.length;r++)t[r].index===i&&(a.globals.axisCharts?s[i].data=t[r].data.slice():s[i]=t[r].data,"number"!=typeof s[i]&&(s[i].hidden=!1),t.splice(r,1),e.splice(r,1),a.globals.risingSeries.push(i));s=this._getSeriesBasedOnCollapsedState(s),this.lgCtx.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled)}}},{key:"_getSeriesBasedOnCollapsedState",value:function(t){var e=this.w,i=0;return e.globals.axisCharts?t.forEach((function(a,s){e.globals.collapsedSeriesIndices.indexOf(s)<0&&e.globals.ancillaryCollapsedSeriesIndices.indexOf(s)<0||(t[s].data=[],i++)})):t.forEach((function(a,s){!e.globals.collapsedSeriesIndices.indexOf(s)<0&&(t[s]=0,i++)})),e.globals.allSeriesCollapsed=i===t.length,t}}]),t}(),xa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed="bar"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new fa(this)}return s(t,[{key:"init",value:function(){var t=this.w,e=t.globals,i=t.config,a=i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1;if(this.legendHelpers.appendToForeignObject(),(a||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),"bottom"===i.legend.position||"top"===i.legend.position?this.legendAlignHorizontal():"right"!==i.legend.position&&"left"!==i.legend.position||this.legendAlignVertical()}}},{key:"createLegendMarker",value:function(t){var e=t.i,i=t.fillcolor,a=this.w,s=document.createElement("span");s.classList.add("apexcharts-legend-marker");var r=a.config.legend.markers.shape||a.config.markers.shape,n=r;Array.isArray(r)&&(n=r[e]);var o=Array.isArray(a.config.legend.markers.size)?parseFloat(a.config.legend.markers.size[e]):parseFloat(a.config.legend.markers.size),l=Array.isArray(a.config.legend.markers.offsetX)?parseFloat(a.config.legend.markers.offsetX[e]):parseFloat(a.config.legend.markers.offsetX),h=Array.isArray(a.config.legend.markers.offsetY)?parseFloat(a.config.legend.markers.offsetY[e]):parseFloat(a.config.legend.markers.offsetY),c=Array.isArray(a.config.legend.markers.strokeWidth)?parseFloat(a.config.legend.markers.strokeWidth[e]):parseFloat(a.config.legend.markers.strokeWidth),d=s.style;if(d.height=2*(o+c)+"px",d.width=2*(o+c)+"px",d.left=l+"px",d.top=h+"px",a.config.legend.markers.customHTML)d.background="transparent",d.color=i[e],Array.isArray(a.config.legend.markers.customHTML)?a.config.legend.markers.customHTML[e]&&(s.innerHTML=a.config.legend.markers.customHTML[e]()):s.innerHTML=a.config.legend.markers.customHTML();else{var g=new Vi(this.ctx).getMarkerConfig({cssClass:"apexcharts-legend-marker apexcharts-marker apexcharts-marker-".concat(n),seriesIndex:e,strokeWidth:c,size:o}
vendor: 10,837 bytes, line 46395
46395),p=window.SVG().addTo(s).size("100%","100%"),f=new Mi(this.ctx).drawMarker(0,0,u(u({},g),{},{pointFillColor:Array.isArray(i)?i[e]:g.pointFillColor,shape:n}));a.globals.dom.Paper.find(".apexcharts-legend-marker.apexcharts-marker").forEach((function(t){t.node.classList.contains("apexcharts-marker-triangle")?t.node.style.transform="translate(50%, 45%)":t.node.style.transform="translate(50%, 50%)"})),p.add(f)}return s}},{key:"drawLegends",value:function(){var t=this,e=this,i=this.w,a=i.config.legend.fontFamily,s=i.globals.seriesNames,r=i.config.legend.markers.fillColors?i.config.legend.markers.fillColors.slice():i.globals.colors.slice();if("heatmap"===i.config.chart.type){var n=i.config.plotOptions.heatmap.colorScale.ranges;s=n.map((function(t){return t.name?t.name:t.from+" - "+t.to})),r=n.map((function(t){return t.color}))}else this.isBarsDistributed&&(s=i.globals.labels.slice());i.config.legend.customLegendItems.length&&(s=i.config.legend.customLegendItems);var o=i.globals.legendFormatter,l=i.config.legend.inverseOrder,h=[];i.globals.seriesGroups.length>1&&i.config.legend.clusterGroupedSeries&&i.globals.seriesGroups.forEach((function(t,e){h[e]=document.createElement("div"),h[e].classList.add("apexcharts-legend-group","apexcharts-legend-group-".concat(e)),"horizontal"===i.config.legend.clusterGroupedSeriesOrientation?i.globals.dom.elLegendWrap.classList.add("apexcharts-legend-group-horizontal"):h[e].classList.add("apexcharts-legend-group-vertical")}));for(var c=function(e){var n,l=o(s[e],{seriesIndex:e,w:i}),c=!1,d=!1;if(i.globals.collapsedSeries.length>0)for(var u=0;u<i.globals.collapsedSeries.length;u++)i.globals.collapsedSeries[u].index===e&&(c=!0);if(i.globals.ancillaryCollapsedSeriesIndices.length>0)for(var g=0;g<i.globals.ancillaryCollapsedSeriesIndices.length;g++)i.globals.ancillaryCollapsedSeriesIndices[g]===e&&(d=!0);var p=t.createLegendMarker({i:e,fillcolor:r});Mi.setAttrs(p,{rel:e+1,"data:collapsed":c||d}),(c||d)&&p.classList.add("apexcharts-inactive-legend");var f=document.createElement("div"),x=document.createElement("span");x.classList.add("apexcharts-legend-text"),x.innerHTML=Array.isArray(l)?l.join(" "):l;var b=i.config.legend.labels.useSeriesColors?i.globals.colors[e]:Array.isArray(i.config.legend.labels.colors)?null===(n=i.config.legend.labels.colors)||void 0===n?void 0:n[e]:i.config.legend.labels.colors;b||(b=i.config.chart.foreColor),x.style.color=b,x.style.fontSize=parseFloat(i.config.legend.fontSize)+"px",x.style.fontWeight=i.config.legend.fontWeight,x.style.fontFamily=a||i.config.chart.fontFamily,Mi.setAttrs(x,{rel:e+1,i:e,"data:default-text":encodeURIComponent(l),"data:collapsed":c||d}),f.appendChild(p),f.appendChild(x);var m=new Pi(t.ctx);i.config.legend.showForZeroSeries||0===m.getSeriesTotalByIndex(e)&&m.seriesHaveSameValues(e)&&!m.isSeriesNull(e)&&-1===i.globals.collapsedSeriesIndices.indexOf(e)&&-1===i.globals.ancillaryCollapsedSeriesIndices.indexOf(e)&&f.classList.add("apexcharts-hidden-zero-series");i.config.legend.showForNullSeries||m.isSeriesNull(e)&&-1===i.globals.collapsedSeriesIndices.indexOf(e)&&-1===i.globals.ancillaryCollapsedSeriesIndices.indexOf(e)&&f.classList.add("apexcharts-hidden-null-series"),h.length?i.globals.seriesGroups.forEach((function(t,a){var s;t.includes(null===(s=i.config.series[e])||void 0===s?void 0:s.name)&&(i.globals.dom.elLegendWrap.appendChild(h[a]),h[a].appendChild(f))})):i.globals.dom.elLegendWrap.appendChild(f),i.globals.dom.elLegendWrap.classList.add("apexcharts-align-".concat(i.config.legend.horizontalAlign)),i.globals.dom.elLegendWrap.classList.add("apx-legend-position-"+i.config.legend.position),f.classList.add("apexcharts-legend-series"),f.style.margin="".concat(i.config.legend.itemMargin.vertical,"px ").concat(i.config.legend.itemMargin.horizontal,"px"),i.globals.dom.elLegendWrap.style.width=i.config.legend.width?i.config.legend.width+"px":"",i.globals.dom.elLegendWrap.style.height=i.config.legend.height?i.config.legend.height+"px":"",Mi.setAttrs(f,{rel:e+1,seriesName:v.escapeString(s[e]),"data:collapsed":c||d}),(c||d)&&f.classList.add("apexcharts-inactive-legend"),i.config.legend.onItemClick.toggleDataSeries||f.classList.add("apexcharts-no-click")},d=l?s.length-1:0;l?d>=0:d<=s.length-1;l?d--:d++)c(d);i.globals.dom.elWrap.addEventListener("click",e.onLegendClick,!0),i.config.legend.onItemHover.highlightDataSeries&&0===i.config.legend.customLegendItems.length&&(i.globals.dom.elWrap.addEventListener("mousemove",e.onLegendHovered,!0),i.globals.dom.elWrap.addEventListener("mouseout",e.onLegendHovered,!0))}},{key:"setLegendWrapXY",value:function(t,e){var i=this.w,a=i.globals.dom.elLegendWrap,s=a.clientHeight,r=0,n=0;if("bottom"===i.config.legend.position)n=i.globals.svgHeight-Math.min(s,i.globals.svgHeight/2)-5;else if("top"===i.config.legend.position){var o=new pa(this.ctx),l=o.dimHelpers.getTitleSubtitleCoords("title").height,h=o.dimHelpers.getTitleSubtitleCoords("subtitle").height;n=(l>0?l-10:0)+(h>0?h-10:0)}a.style.position="absolute",r=r+t+i.config.legend.offsetX,n=n+e+i.config.legend.offsetY,a.style.left=r+"px",a.style.top=n+"px","right"===i.config.legend.position&&(a.style.left="auto",a.style.right=25+i.config.legend.offsetX+"px");["width","height"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+"px")}))}},{key:"legendAlignHorizontal",value:function(){var t=this.w;t.globals.dom.elLegendWrap.style.right=0;var e=new pa(this.ctx),i=e.dimHelpers.getTitleSubtitleCoords("title"),a=e.dimHelpers.getTitleSubtitleCoords("subtitle"),s=0;"top"===t.config.legend.position&&(s=i.height+a.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,s)}},{key:"legendAlignVertical",value:function(){var t=this.w,e=this.legendHelpers.getLegendDimensions(),i=0;"left"===t.config.legend.position&&(i=20),"right"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:"onLegendHovered",value:function(t){var e=this.w,i=t.target.classList.contains("apexcharts-legend-series")||t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker");if("heatmap"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute("rel"),10)-1;this.ctx.events.fireEvent("legendHover",[this.ctx,a,this.w]),new Zi(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains("apexcharts-inactive-legend")&&i&&new Zi(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:"onLegendClick",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains("apexcharts-legend-series")||t.target.classList.contains("apexcharts-legend-text")||t.target.classList.contains("apexcharts-legend-marker"))){var i=parseInt(t.target.getAttribute("rel"),10)-1,a="true"===t.target.getAttribute("data:collapsed"),s=this.w.config.chart.events.legendClick;"function"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent("legendClick",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;"function"==typeof r&&t.target.classList.contains("apexcharts-legend-marker")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent("legendMarkerClick",[this.ctx,i,this.w])),"treemap"!==e.config.chart.type&&"heatmap"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ba=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.ev=this.w.config.chart.events,this.selectedClass="apexcharts-selected",this.localeValues=this.w.globals.locale.toolbar,this.minX=a.globals.minX,this.maxX=a.globals.maxX}return s(t,[{key:"createToolbar",value:function(){var t=this,e=this.w,i=function(){return document.createElement("div")},a=i();if(a.setAttribute("class","apexcharts-toolbar"),a.style.top=e.config.chart.toolbar.offsetY+"px",a.style.right=3-e.config.chart.toolbar.offsetX+"px",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s<this.t.customIcons.length;s++)this.elCustomIcons.push(i());var r=[],n=function(i,a,s){var n=i.toLowerCase();t.t[n]&&e.config.chart.zoom.enabled&&r.push({el:a,icon:"string"==typeof t.t[n]?t.t[n]:s,title:t.localeValues[i],class:"apexcharts-".concat(n,"-icon")})};n("zoomIn",this.elZoomIn,'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M13 7h-2v4H7v2h4v4h2v-4h4v-2h-4V7zm-1-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\n</svg>\n'),n("zoomOut",this.elZoomOut,'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M7 11v2h10v-2H7zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/>\n</svg>\n');var o=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:"zoom"===i?t.elZoom:t.elSelection,icon:"string"==typeof t.t[i]?t.t[i]:"zoom"===i?'<svg xmlns="http://www.w3.org/2000/svg" fill="#000000" height="24" viewBox="0 0 24 24" width="24">\n <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>\n <path d="M0 0h24v24H0V0z" fill="none"/>\n <path d="M12 10h-2v2H9v-2H7V9h2V7h1v2h2v1z"/>\n</svg>':'<svg fill="#6E8192" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n <path d="M0 0h24v24H0z" fill="none"/>\n <path d="M3 5h2V3c-1.1 0-2 .9-2 2zm0 8h2v-2H3v2zm4 8h2v-2H7v2zM3 9h2V7H3v2zm10-6h-2v2h2V3zm6 0v2h2c0-1.1-.9-2-2-2zM5 21v-2H3c0 1.1.9 2 2 2zm-2-4h2v-2H3v2zM9 3H7v2h2V3zm2 18h2v-2h-2v2zm8-8h2v-2h-2v2zm0 8c1.1 0 2-.9 2-2h-2v2zm0-12h2V7h-2v2zm0 8h2v-2h-2v2zm-4 4h2v-2h-2v2zm0-16h2V3h-2v2z"/>\n</svg>',title:t.localeValues["zoom"===i?"selectionZoom":"selection"],class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-".concat(i,"-icon")})};o("zoom"),o("selection"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:"string"==typeof this.t.pan?this.t.pan:'<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#000000" height="24" viewBox="0 0 24 24" width="24">\n <defs>\n <path d="M0 0h24v24H0z" id="a"/>\n </defs>\n <clipPath id="b">\n <use overflow="visible" xlink:href="#a"/>\n </clipPath>\n <path clip-path="url(#b)" d="M23 5.5V20c0 2.2-1.8 4-4 4h-7.3c-1.08
463950-2.1-.43-2.85-1.19L1 14.83s1.26-1.23 1.3-1.25c.22-.19.49-.29.79-.29.22 0 .42.06.6.16.04.01 4.31 2.46 4.31 2.46V4c0-.83.67-1.5 1.5-1.5S11 3.17 11 4v7h1V1.5c0-.83.67-1.5 1.5-1.5S15 .67 15 1.5V11h1V2.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5V11h1V5.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5z"/>\n</svg>',title:this.localeValues.pan,class:e.globals.isTouchDevice?"apexcharts-element-hidden":"apexcharts-pan-icon"}),n("reset",this.elZoomReset,'<svg fill="#000000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg">\n <path d="M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z"/>\n <path d="M0 0h24v24H0z" fill="none"/>\n</svg>'),this.t.download&&r.push({el:this.elMenuIcon,icon:"string"==typeof this.t.download?this.t.download:'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="none" d="M0 0h24v24H0V0z"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>',title:this.localeValues.menu,class:"apexcharts-menu-icon"});for(var l=0;l<this.elCustomIcons.length;l++)r.push({el:this.elCustomIcons[l],icon:this.t.customIcons[l].icon,title:this.t.customIcons[l].title,index:this.t.customIcons[l].index,class:"apexcharts-toolbar-custom-icon "+this.t.customIcons[l].class});r.forEach((function(t,e){t.index&&v.moveIndexInArray(r,e,t.index)}));for(var h=0;h<r.length;h++)Mi.setAttrs(r[h].el,{class:r[h].class,title:r[h].title}),r[h].el.innerHTML=r[h].icon,a.appendChild(r[h].el);this._createHamburgerMenu(a),e.globals.zoomEnabled?this.elZoom.classList.add(this.selectedClass):e.globals.panEnabled?this.elPan.classList.add(this.selectedClass):e.globals.selectionEnabled&&this.elSelection.classList.add(this.selectedClass),this.addToolbarEventListeners()}},{key:"_createHamburgerMenu",value:function(t){this.elMenuItems=[],t.appendChild(this.elMenu),Mi.setAttrs(this.elMenu,{class:"apexcharts-menu"});for(var e=[{name:"exportSVG",title:this.localeValues.exportToSVG},{name:"exportPNG",title:this.localeValues.exportToPNG},{name:"exportCSV",title:this.localeValues.exportToCSV}],i=0;i<e.length;i++)this.elMenuItems.push(document.createElement("div")),this.elMenuItems[i].innerHTML=e[i].title,Mi.setAttrs(this.elMenuItems[i],{class:"apexcharts-menu-item ".concat(e[i].name),title:e[i].title}),this.elMenu.appendChild(this.elMenuItems[i])}},{key:"addToolbarEventListeners",value:function(){var t=this;this.elZoomReset.addEventListener("click",this.handleZoomReset.bind(this)),this.elSelection.addEventListener("click",this.toggleZoomSelection.bind(this,"selection")),this.elZoom.addEventListener("click",this.toggleZoomSelection.bind(this,"zoom")),this.elZoomIn.addEventListener("click",this.handleZoomIn.bind(this)),this.elZoomOut.addEventListener("click",this.handleZoomOut.bind(this)),this.elPan.addEventListener("click",this.togglePanning.bind(this)),this.elMenuIcon.addEventListener("click",this.toggleMenu.bind(this)),this.elMenuItems.forEach((function(e){e.classList.contains("exportSVG")?e.addEventListener("click",t.handleDownload.bind(t,"svg")):e.classList.contains("exportPNG")?e.addEventListener("click",t.handleDownload.bind(t,"png")):e.classList.contains("exportCSV")&&e.addEventListener("click",t.handleDownload.bind(t,"csv"))}));for(var e=0;e<this.t.customIcons.length;e++)this.elCustomIcons[e].addEventListener("click",this.t.customIcons[e].click.bind(this,this.ctx,this.ctx.w))}},{key:"toggleZoomSelection",value:function(t){this.ctx.getSyncedCharts().forEach((function(e){e.ctx.toolbar.toggleOtherControls();var i="selection"===t?e.ctx.toolbar.elSelection:e.ctx.toolbar.elZoom,a="selection"===t?"selectionEnabled":"zoomEnabled";e.w.globals[a]=!e.w.globals[a],i.classList.contains(e.ctx.toolbar.selectedClass)?i.classList.remove(e.ctx.toolbar.selectedClass):i.classList.add(e.ctx.toolbar.selectedClass)}))}},{key:"getToolbarIconsReference",value:function(){var t=this.w;this.elZoom||(this.elZoom=t.globals.dom.baseEl.querySelector(".apexcharts-zoom-icon")),this.elPan||(this.elPan=t.globals.dom.baseEl.querySelector(".apexcharts-pan-icon")),this.elSelection||(this.elSelection=t.globals.dom.baseEl.querySelector(".apexcharts-selection-icon"))}},{key:"enableZoomPanFromToolbar",value:function(t){this.toggleOtherControls(),"pan"===t?this.w.globals.panEnabled=!0:this.w.globals.zoomEnabled=!0;var e="pan"===t?this.elPan:this.elZoom,i="pan"===t?this.elZoom:this.elPan;e&&e.classList.add(this.selectedClass),i&&i.classList.remove(this.selectedClass)}},{key:"togglePanning",value:function(){this.ctx.getSyncedCharts().forEac
vendor: 5,411 bytes, line 46395
46395h((function(t){t.ctx.toolbar.toggleOtherControls(),t.w.globals.panEnabled=!t.w.globals.panEnabled,t.ctx.toolbar.elPan.classList.contains(t.ctx.toolbar.selectedClass)?t.ctx.toolbar.elPan.classList.remove(t.ctx.toolbar.selectedClass):t.ctx.toolbar.elPan.classList.add(t.ctx.toolbar.selectedClass)}))}},{key:"toggleOtherControls",value:function(){var t=this,e=this.w;e.globals.panEnabled=!1,e.globals.zoomEnabled=!1,e.globals.selectionEnabled=!1,this.getToolbarIconsReference(),[this.elPan,this.elSelection,this.elZoom].forEach((function(e){e&&e.classList.remove(t.selectedClass)}))}},{key:"handleZoomIn",value:function(){var t=this.w;t.globals.isRangeBar&&(this.minX=t.globals.minY,this.maxX=t.globals.maxY);var e=(this.minX+this.maxX)/2,i=(this.minX+e)/2,a=(this.maxX+e)/2,s=this._getNewMinXMaxX(i,a);t.globals.disableZoomIn||this.zoomUpdateOptions(s.minX,s.maxX)}},{key:"handleZoomOut",value:function(){var t=this.w;if(t.globals.isRangeBar&&(this.minX=t.globals.minY,this.maxX=t.globals.maxY),!("datetime"===t.config.xaxis.type&&new Date(this.minX).getUTCFullYear()<1e3)){var e=(this.minX+this.maxX)/2,i=this.minX-(e-this.minX),a=this.maxX-(e-this.maxX),s=this._getNewMinXMaxX(i,a);t.globals.disableZoomOut||this.zoomUpdateOptions(s.minX,s.maxX)}}},{key:"_getNewMinXMaxX",value:function(t,e){var i=this.w.config.xaxis.convertedCatToNumeric;return{minX:i?Math.floor(t):t,maxX:i?Math.floor(e):e}}},{key:"zoomUpdateOptions",value:function(t,e){var i=this.w;if(void 0!==t||void 0!==e){if(!(i.config.xaxis.convertedCatToNumeric&&(t<1&&(t=1,e=i.globals.dataPoints),e-t<2))){var a={min:t,max:e},s=this.getBeforeZoomRange(a);s&&(a=s.xaxis);var r={xaxis:a},n=v.clone(i.globals.initialConfig.yaxis);i.config.chart.group||(r.yaxis=n),this.w.globals.zoomed=!0,this.ctx.updateHelpers._updateOptions(r,!1,this.w.config.chart.animations.dynamicAnimation.enabled),this.zoomCallback(a,n)}}else this.handleZoomReset()}},{key:"zoomCallback",value:function(t,e){"function"==typeof this.ev.zoomed&&(this.ev.zoomed(this.ctx,{xaxis:t,yaxis:e}),this.ctx.events.fireEvent("zoomed",{xaxis:t,yaxis:e}))}},{key:"getBeforeZoomRange",value:function(t,e){var i=null;return"function"==typeof this.ev.beforeZoom&&(i=this.ev.beforeZoom(this,{xaxis:t,yaxis:e})),i}},{key:"toggleMenu",value:function(){var t=this;window.setTimeout((function(){t.elMenu.classList.contains("apexcharts-menu-open")?t.elMenu.classList.remove("apexcharts-menu-open"):t.elMenu.classList.add("apexcharts-menu-open")}),0)}},{key:"handleDownload",value:function(t){var e=this.w,i=new Ji(this.ctx);switch(t){case"svg":i.exportToSVG(this.ctx);break;case"png":i.exportToPng(this.ctx);break;case"csv":i.exportToCSV({series:e.config.series,columnDelimiter:e.config.chart.toolbar.export.csv.columnDelimiter})}}},{key:"handleZoomReset",value:function(t){this.ctx.getSyncedCharts().forEach((function(t){var e=t.w;if(e.globals.lastXAxis.min=e.globals.initialConfig.xaxis.min,e.globals.lastXAxis.max=e.globals.initialConfig.xaxis.max,t.updateHelpers.revertDefaultAxisMinMax(),"function"==typeof e.config.chart.events.beforeResetZoom){var i=e.config.chart.events.beforeResetZoom(t,e);i&&t.updateHelpers.revertDefaultAxisMinMax(i)}"function"==typeof e.config.chart.events.zoomed&&t.ctx.toolbar.zoomCallback({min:e.config.xaxis.min,max:e.config.xaxis.max}),e.globals.zoomed=!1;var a=t.ctx.series.emptyCollapsedSeries(v.clone(e.globals.initialSeries));t.updateHelpers._updateSeries(a,e.config.chart.animations.dynamicAnimation.enabled)}))}},{key:"destroy",value:function(){this.elZoom=null,this.elZoomIn=null,this.elZoomOut=null,this.elPan=null,this.elSelection=null,this.elZoomReset=null,this.elMenuIcon=null}}]),t}(),ma=function(t){h(a,t);var e=n(a);function a(t){var s;return i(this,a),(s=e.call(this,t)).ctx=t,s.w=t.w,s.dragged=!1,s.graphics=new Mi(s.ctx),s.eventList=["mousedown","mouseleave","mousemove","touchstart","touchmove","mouseup","touchend","wheel"],s.clientX=0,s.clientY=0,s.startX=0,s.endX=0,s.dragX=0,s.startY=0,s.endY=0,s.dragY=0,s.moveDirection="none",s.debounceTimer=null,s.debounceDelay=100,s.wheelDelay=400,s}return s(a,[{key:"init",value:function(t){var e=this,i=t.xyRatios,a=this.w,s=this;this.xyRatios=i,this.zoomRect=this.graphics.drawRect(0,0,0,0),this.selectionRect=this.graphics.drawRect(0,0,0,0),this.gridRect=a.globals.dom.baseEl.querySelector(".apexcharts-grid"),this.constraints=new kt(0,0,a.globals.gridWidth,a.globals.gridHeight),this.zoomRect.node.classList.add("apexcharts-zoom-rect"),this.selectionRect.node.classList.add("apexcharts-selection-rect"),a.globals.dom.Paper.add(this.zoomRect),a.globals.dom.Paper.add(this.selectionRect),"x"===a.config.chart.selection.type?this.slDraggableRect=this.selectionRect.draggable({minX:0,minY:0,maxX:a.globals.gridWidth,maxY:a.globals.gridHeight}).on("dragmove.namespace",this.selectionDragging.bind(this,"dragging")):"y"===a.config.chart.selection.type?this.slDraggableRect=this.selectionRect.draggable({minX:0,maxX:a.globals.gridWidth}).on("dragmove.namespace",this.selectionDragging.bind(this,"dragging")):this.slDraggableRect=this.selectionRect.draggable().on("dragmove.namespace",this.selectionDragging.bind(this,"dragging")),this.preselectedSelection(),this.hoverArea=a.globals.dom.baseEl.querySelector("".concat(a.globals.chartClass," .apexcharts-svg")),this.hoverArea.classList.add("apexcharts-zoomable"),this.eventList.forEach((function(t){e.hoverArea.addEventListener(t,s.svgMouseEvents.bind(s,i),{
vendor: 10,452 bytes, line 46395
46395capture:!1,passive:!0})})),a.config.chart.zoom.enabled&&a.config.chart.zoom.allowMouseWheelZoom&&this.hoverArea.addEventListener("wheel",s.mouseWheelEvent.bind(s),{capture:!1,passive:!1})}},{key:"destroy",value:function(){this.slDraggableRect&&(this.slDraggableRect.draggable(!1),this.slDraggableRect.off(),this.selectionRect.off()),this.selectionRect=null,this.zoomRect=null,this.gridRect=null}},{key:"svgMouseEvents",value:function(t,e){var i=this.w,a=this.ctx.toolbar,s=i.globals.zoomEnabled?i.config.chart.zoom.type:i.config.chart.selection.type,r=i.config.chart.toolbar.autoSelected;if(e.shiftKey?(this.shiftWasPressed=!0,a.enableZoomPanFromToolbar("pan"===r?"zoom":"pan")):this.shiftWasPressed&&(a.enableZoomPanFromToolbar(r),this.shiftWasPressed=!1),e.target){var n,o=e.target.classList;if(e.target.parentNode&&null!==e.target.parentNode&&(n=e.target.parentNode.classList),!(o.contains("apexcharts-legend-marker")||o.contains("apexcharts-legend-text")||n&&n.contains("apexcharts-toolbar"))){if(this.clientX="touchmove"===e.type||"touchstart"===e.type?e.touches[0].clientX:"touchend"===e.type?e.changedTouches[0].clientX:e.clientX,this.clientY="touchmove"===e.type||"touchstart"===e.type?e.touches[0].clientY:"touchend"===e.type?e.changedTouches[0].clientY:e.clientY,"mousedown"===e.type&&1===e.which||"touchstart"===e.type){var l=this.gridRect.getBoundingClientRect();this.startX=this.clientX-l.left-i.globals.barPadForNumericAxis,this.startY=this.clientY-l.top,this.dragged=!1,this.w.globals.mousedown=!0}("mousemove"===e.type&&1===e.which||"touchmove"===e.type)&&(this.dragged=!0,i.globals.panEnabled?(i.globals.selection=null,this.w.globals.mousedown&&this.panDragging({context:this,zoomtype:s,xyRatios:t})):(this.w.globals.mousedown&&i.globals.zoomEnabled||this.w.globals.mousedown&&i.globals.selectionEnabled)&&(this.selection=this.selectionDrawing({context:this,zoomtype:s}))),"mouseup"!==e.type&&"touchend"!==e.type&&"mouseleave"!==e.type||this.handleMouseUp({zoomtype:s}),this.makeSelectionRectDraggable()}}}},{key:"handleMouseUp",value:function(t){var e,i=t.zoomtype,a=t.isResized,s=this.w,r=null===(e=this.gridRect)||void 0===e?void 0:e.getBoundingClientRect();r&&(this.w.globals.mousedown||a)&&(this.endX=this.clientX-r.left-s.globals.barPadForNumericAxis,this.endY=this.clientY-r.top,this.dragX=Math.abs(this.endX-this.startX),this.dragY=Math.abs(this.endY-this.startY),(s.globals.zoomEnabled||s.globals.selectionEnabled)&&this.selectionDrawn({context:this,zoomtype:i})),s.globals.zoomEnabled&&this.hideSelectionRect(this.selectionRect),this.dragged=!1,this.w.globals.mousedown=!1}},{key:"mouseWheelEvent",value:function(t){var e=this,i=this.w;t.preventDefault();var a=Date.now();a-i.globals.lastWheelExecution>this.wheelDelay&&(this.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a),this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout((function(){a-i.globals.lastWheelExecution>e.wheelDelay&&(e.executeMouseWheelZoom(t),i.globals.lastWheelExecution=a)}),this.debounceDelay)}},{key:"executeMouseWheelZoom",value:function(t){var e,i=this.w;this.minX=i.globals.isRangeBar?i.globals.minY:i.globals.minX,this.maxX=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;var a=null===(e=this.gridRect)||void 0===e?void 0:e.getBoundingClientRect();if(a){var s,r,n,o=(t.clientX-a.left)/a.width,l=this.minX,h=this.maxX,c=h-l;if(t.deltaY<0){var d=l+o*c;r=d-(s=.5*c)/2,n=d+s/2}else r=l-(s=1.5*c)/2,n=h+s/2;if(!i.globals.isRangeBar){r=Math.max(r,i.globals.initialMinX),n=Math.min(n,i.globals.initialMaxX);var u=.01*(i.globals.initialMaxX-i.globals.initialMinX);if(n-r<u){var g=(r+n)/2;r=g-u/2,n=g+u/2}}var p=this._getNewMinXMaxX(r,n);isNaN(p.minX)||isNaN(p.maxX)||this.zoomUpdateOptions(p.minX,p.maxX)}}},{key:"makeSelectionRectDraggable",value:function(){var t=this,e=this.w;if(this.selectionRect){var i=this.selectionRect.node.getBoundingClientRect();i.width>0&&i.height>0&&(this.selectionRect.select(!1).resize(!1),this.selectionRect.select({createRot:function(){},updateRot:function(){},createHandle:function(t,e,i,a,s){return"l"===s||"r"===s?t.circle(8).css({"stroke-width":1,stroke:"#333",fill:"#fff"}):t.circle(0)},updateHandle:function(t,e){return t.center(e[0],e[1])}}).resize().on("resize",(function(){var i=e.globals.zoomEnabled?e.config.chart.zoom.type:e.config.chart.selection.type;t.handleMouseUp({zoomtype:i,isResized:!0})})))}}},{key:"preselectedSelection",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(u(u({},t.globals.selection),{},{translateX:t.globals.translateX,translateY:t.globals.translateY}));else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a=t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i;t.globals.isRangeBar&&(i=(t.config.chart.selection.xaxis.min-t.globals.yAxisScale[0].niceMin)/e.invertedYRatio,a=(t.config.chart.selection.xaxis.max-t.config.chart.selection.xaxis.min)/e.invertedYRatio);var s={x:i,y:0,width:a,height:t.globals.gridHeight,translateX:t.globals.translateX,translateY:t.globals.translateY,selectionEnabled:!0};this.drawSelectionRect(s),this.makeSelectionRectDraggable(),"function"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:"drawSelectionRect",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,n=void 0===r?0:r,o=t.translateY,l=void 0===o?0:o,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var u={transform:"translate("+n+", "+l+")"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,"fill-opacity":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,"stroke-width":h.config.chart.zoom.zoomedArea.stroke.width,"stroke-opacity":h.config.chart.zoom.zoomedArea.stroke.opacity}),Mi.setAttrs(c.node,u)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,"fill-opacity":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,"stroke-width":h.config.chart.selection.stroke.width,"stroke-dasharray":h.config.chart.selection.stroke.dashArray,"stroke-opacity":h.config.chart.selection.stroke.opacity}),Mi.setAttrs(d.node,u))}}},{key:"hideSelectionRect",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:"selectionDrawing",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),n=s.startX-1,o=s.startY,l=!1,h=!1,c=s.clientX-r.left-a.globals.barPadForNumericAxis,d=s.clientY-r.top,g=c-n,p=d-o,f={translateX:a.globals.translateX,translateY:a.globals.translateY};return Math.abs(g+n)>a.globals.gridWidth?g=a.globals.gridWidth-n:c<0&&(g=n),n>c&&(l=!0,g=Math.abs(g)),o>d&&(h=!0,p=Math.abs(p)),f=u(u({},f="x"===i?{x:l?n-g:n,y:0,width:g,height:a.globals.gridHeight}:"y"===i?{x:0,y:h?o-p:o,width:a.globals.gridWidth,height:p}:{x:l?n-g:n,y:h?o-p:o,width:g,height:p}),{},{translateX:a.globals.translateX,translateY:a.globals.translateY}),s.drawSelectionRect(f),s.selectionDragging("resizing"),f}},{key:"selectionDragging",value:function(t,e){var i=this,a=this.w;if(e){e.preventDefault();var s=e.detail,r=s.handler,n=s.box,o=n.x,l=n.y;o<this.constraints.x&&(o=this.constraints.x),l<this.constraints.y&&(l=this.constraints.y),n.x2>this.constraints.x2&&(o=this.constraints.x2-n.w),n.y2>this.constraints.y2&&(l=this.constraints.y2-n.h),r.move(o,l);var h=this.xyRatios,c=this.selectionRect,d=0;"resizing"===t&&(d=30);var u=function(t){return parseFloat(c.node.getAttribute(t))},g={x:u("x"),y:u("y"),width:u("width"),height:u("height")};a.globals.selection=g,"function"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t,e,s,r,n=i.gridRect.getBoundingClientRect(),o=c.node.getBoundingClientRect();a.globals.isRangeBar?(t=a.globals.yAxisScale[0].niceMin+(o.left-n.left)*h.invertedYRatio,e=a.globals.yAxisScale[0].niceMin+(o.right-n.left)*h.invertedYRatio,s=0,r=1):(t=a.globals.xAxisScale.niceMin+(o.left-n.left)*h.xRatio,e=a.globals.xAxisScale.niceMin+(o.right-n.left)*h.xRatio,s=a.globals.yAxisScale[0].niceMin+(n.bottom-o.bottom)*h.yRatio[0],r=a.globals.yAxisScale[0].niceMax-(o.top-n.top)*h.yRatio[0]);var l={xaxis:{min:t,max:e},yaxis:{min:s,max:r}};a.config.chart.events.selection(i.ctx,l),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,l)}),d))}}},{key:"selectionDrawn",value:function(t){var e,i,a=t.context,s=t.zoomtype,r=this.w,n=a,o=this.xyRatios,l=this.ctx.toolbar,h=r.globals.zoomEnabled?n.zoomRect.node.getBoundingClientRect():n.selectionRect.node.getBoundingClientRect(),c=n.gridRect.getBoundingClientRect(),d=h.left-c.left-r.globals.barPadForNumericAxis,u=h.right-c.left-r.globals.barPadForNumericAxis,g=h.top-c.top,p=h.bottom-c.top;r.globals.isRangeBar?(e=r.globals.yAxisScale[0].niceMin+d*o.invertedYRatio,i=r.globals.yAxisScale[0].niceMin+u*o.invertedYRatio):(e=r.globals.xAxisScale.niceMin+d*o.xRatio,i=r.globals.xAxisScale.niceMin+u*o.xRatio);var f=[],x=[];if(r.config.yaxis.forEach((function(t,e){var i=r.globals.seriesYAxisMap[e][0],a=r.globals.yAxisScale[e].niceMax-o.yRatio[i]*g,s=r.globals.yAxisScale[e].niceMax-o.yRatio[i]*p;f.push(a),x.push(s)})),n.dragged&&(n.dragX>10||n.dragY>10)&&e!==i)if(r.globals.zoomEnabled){var b=v.clone(r.globals.initialConfig.yaxis),m=v.clone(r.globals.initialConfig.xaxis);if(r.globals.zoomed=!0,r.config.xaxis.convertedCatToNumeric&&(e=Math.floor(e),i=Math.floor(i),e<1&&(e=1,i=r.globals.dataPoints),i-e<2&&(i=e+1)),"xy"!==s&&"x"!==s||(m={min:e,max:i}),"xy"!==s&&"y"!==s||b.forEach((function(t,e){b[e].min=x[e],b[e].max=f[e]})),l){var y=l.getBeforeZoomRange(m,b);y&&(m=y.xaxis?y.xaxis:m,b=y.yaxis?y.yaxis:b)}var w={xaxis:m};r.config.chart.group||(w.yaxis=b),n.ctx.updateHelpers._updateOptions(w,!1,n.w.config.chart.animations.dynamicAnimation.enabled),"function"==typeof r.config.chart.events.zoomed&&l.zoomCallback(m,b)}else if(r.globals.selectionEnabled){var k,A=null;k={min:e,max:i}
vendor: 5,446 bytes, line 46395
46395,"xy"!==s&&"y"!==s||(A=v.clone(r.config.yaxis)).forEach((function(t,e){A[e].min=x[e],A[e].max=f[e]})),r.globals.selection=n.selection,"function"==typeof r.config.chart.events.selection&&r.config.chart.events.selection(n.ctx,{xaxis:k,yaxis:A})}}},{key:"panDragging",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection="left":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection="right":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection="up":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection="down")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var n=i.globals.isRangeBar?i.globals.minY:i.globals.minX,o=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;a.panScrolled(n,o)}},{key:"panScrolled",value:function(t,e){var i=this.w,a=this.xyRatios,s=v.clone(i.globals.initialConfig.yaxis),r=a.xRatio,n=i.globals.minX,o=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,n=i.globals.minY,o=i.globals.maxY),"left"===this.moveDirection?(t=n+i.globals.gridWidth/15*r,e=o+i.globals.gridWidth/15*r):"right"===this.moveDirection&&(t=n-i.globals.gridWidth/15*r,e=o-i.globals.gridWidth/15*r),i.globals.isRangeBar||(t<i.globals.initialMinX||e>i.globals.initialMaxX)&&(t=n,e=o);var l={xaxis:{min:t,max:e}};i.config.chart.group||(l.yaxis=s),this.updateScrolledChart(l,t,e)}},{key:"updateScrolledChart",value:function(t,e,i){var a=this.w;if(this.ctx.updateHelpers._updateOptions(t,!1,!1),"function"==typeof a.config.chart.events.scrolled){var s={xaxis:{min:e,max:i}};a.config.chart.events.scrolled(this.ctx,s),this.ctx.events.fireEvent("scrolled",s)}}}]),a}(ba),va=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return s(t,[{key:"getNearestValues",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,n=i.getBoundingClientRect(),o=n.width,l=n.height,h=o/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=o/r.globals.dataPoints);var u=a-n.left-r.globals.barPadForNumericAxis,g=s-n.top;u<0||g<0||u>o||g>l?(e.classList.remove("hovering-zoom"),e.classList.remove("hovering-pan")):r.globals.zoomEnabled?(e.classList.remove("hovering-pan"),e.classList.add("hovering-zoom")):r.globals.panEnabled&&(e.classList.remove("hovering-zoom"),e.classList.add("hovering-pan"));var p=Math.round(u/h),f=Math.floor(g/c);d&&!r.config.xaxis.convertedCatToNumeric&&(p=Math.ceil(u/h),p-=1);var x=null,b=null,m=r.globals.seriesXvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))})),y=r.globals.seriesYvalues.map((function(t){return t.filter((function(t){return v.isNumber(t)}))}));if(r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=u*(w.width/o),A=g*(w.height/l);x=(b=this.closestInMultiArray(k,A,m,y)).index,p=b.j,null!==x&&r.globals.hasNullValues&&(m=r.globals.seriesXvalues[x],p=(b=this.closestInArray(k,m)).j)}return r.globals.capturedSeriesIndex=null===x?-1:x,(!p||p<1)&&(p=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=f:r.globals.capturedDataPointIndex=p,{capturedSeries:x,j:r.globals.isBarHorizontal?f:p,hoverX:u,hoverY:g}}},{key:"getFirstActiveXArray",value:function(t){for(var e=this.w,i=0,a=t.map((function(t,e){return t.length>0?e:-1})),s=0;s<a.length;s++)if(-1!==a[s]&&-1===e.globals.collapsedSeriesIndices.indexOf(s)&&-1===e.globals.ancillaryCollapsedSeriesIndices.indexOf(s)){i=a[s];break}return i}},{key:"closestInMultiArray",value:function(t,e,i,a){for(var s,r=this.w,n=1/0,o=null,l=null,h=0;h<i.length;h++)if(s=h,-1===r.globals.collapsedSeriesIndices.indexOf(s)&&-1===r.globals.ancillaryCollapsedSeriesIndices.indexOf(s))for(var c=i[h],d=a[h],u=Math.min(c.length,d.length),g=0;g<u;g++){var p=t-c[g],f=Math.sqrt(p*p);if(!r.globals.allSeriesHasEqualX){var x=e-d[g];f=Math.sqrt(p*p+x*x)}f<n&&(n=f,o=h,l=g)}return{index:o,j:l}}},{key:"closestInArray",value:function(t,e){for(var i=e[0],a=null,s=Math.abs(t-i),r=0;r<e.length;r++){var n=Math.abs(t-e[r]);n<s&&(s=n,a=r)}return{j:a}}},{key:"isXoverlap",value:function(t){var e=[],i=this.w.globals.seriesX.filter((function(t){return void 0!==t[0]}));if(i.length>0)for(var a=0;a<i.length-1;a++)void 0!==i[a][t]&&void 0!==i[a+1][t]&&i[a][t]!==i[a+1][t]&&e.push("unEqual");return 0===e.length}},{key:"isInitialSeriesSameLen",value:function(){for(var t=!0,e=this.w.globals.initialSeries,i=0;i<e.length-1;i++)if(e[i].data.length!==e[i+1].data.length){t=!1;break}return t}},{key:"getBarsHeight",value:function(t){return f(t).reduce((function(t,e){return t+e.getBBox().height}),0)}},{key:"getElMarkers",value:function(t){return"number"==typeof t?this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-series-markers-wrap > *")):this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap > *")}},{key:"getAllMarkers",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],i=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers-wrap");i=f(i),e&&(i=i.filter((function(e){var i=Number(e.getAttribute("data:realIndex"));return-1===t.w.globals.collapsedSeriesIndices.indexOf(i)}))),i.sort((function(t,e){var i=Number(t.getAttribute("data:realIndex")),a=Number(e.getAttribute("data:realIndex"));return a<i?1:a>i?-1:0}));var a=[];
vendor: 2,319 bytes, line 46395
46395return i.forEach((function(t){a.push(t.querySelector(".apexcharts-marker"))})),a}},{key:"hasMarkers",value:function(t){return this.getElMarkers(t).length>0}},{key:"getPathFromPoint",value:function(t,e){var i=Number(t.getAttribute("cx")),a=Number(t.getAttribute("cy")),s=t.getAttribute("shape");return new Mi(this.ctx).getMarkerPath(i,a,s,e)}},{key:"getElBars",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series")}},{key:"hasBars",value:function(){return this.getElBars().length>0}},{key:"getHoverMarkerSize",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:"toggleAllTooltipSeriesGroups",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(".apexcharts-tooltip-series-group"));for(var a=i.allTooltipSeriesGroups,s=0;s<a.length;s++)"enable"===t?(a[s].classList.add("apexcharts-active"),a[s].style.display=e.config.tooltip.items.display):(a[s].classList.remove("apexcharts-active"),a[s].style.display="none")}}]),t}(),ya=function(){function t(e){i(this,t),this.w=e.w,this.ctx=e.ctx,this.ttCtx=e,this.tooltipUtil=new va(e)}return s(t,[{key:"drawSeriesTexts",value:function(t){var e=t.shared,i=void 0===e||e,a=t.ttItems,s=t.i,r=void 0===s?0:s,n=t.j,o=void 0===n?null:n,l=t.y1,h=t.y2,c=t.e,d=this.w;void 0!==d.config.tooltip.custom?this.handleCustomTooltip({i:r,j:o,y1:l,y2:h,w:d}):this.toggleActiveInactiveSeries(i,r);var u=this.getValuesToPrint({i:r,j:o});this.printLabels({i:r,j:o,values:u,ttItems:a,shared:i,e:c});var g=this.ttCtx.getElTooltip();this.ttCtx.tooltipRect.ttWidth=g.getBoundingClientRect().width,this.ttCtx.tooltipRect.ttHeight=g.getBoundingClientRect().height}},{key:"printLabels",value:function(t){var e,i=this,a=t.i,s=t.j,r=t.values,n=t.ttItems,o=t.shared,l=t.e,h=this.w,c=[],d=function(t){return h.globals.seriesGoals[t]&&h.globals.seriesGoals[t][s]&&Array.isArray(h.globals.seriesGoals[t][s])},g=r.xVal,p=r.zVal,f=r.xAxisTTVal,x="",b=h.globals.colors[a];null!==s&&h.config.plotOptions.bar.distributed&&(b=h.globals.colors[s]);for(var m=function(t,r){var m=i.getFormatters(a);
vendor: 4,321 bytes, line 46395
46395x=i.getSeriesName({fn:m.yLbTitleFormatter,index:a,seriesIndex:a,j:s}),"treemap"===h.config.chart.type&&(x=m.yLbTitleFormatter(String(h.config.series[a].data[s].x),{series:h.globals.series,seriesIndex:a,dataPointIndex:s,w:h}));var v=h.config.tooltip.inverseOrder?r:t;if(h.globals.axisCharts){var y=function(t){var e,i,a,r;return h.globals.isRangeData?m.yLbFormatter(null===(e=h.globals.seriesRangeStart)||void 0===e||null===(i=e[t])||void 0===i?void 0:i[s],{series:h.globals.seriesRangeStart,seriesIndex:t,dataPointIndex:s,w:h})+" - "+m.yLbFormatter(null===(a=h.globals.seriesRangeEnd)||void 0===a||null===(r=a[t])||void 0===r?void 0:r[s],{series:h.globals.seriesRangeEnd,seriesIndex:t,dataPointIndex:s,w:h}):m.yLbFormatter(h.globals.series[t][s],{series:h.globals.series,seriesIndex:t,dataPointIndex:s,w:h})};if(o)m=i.getFormatters(v),x=i.getSeriesName({fn:m.yLbTitleFormatter,index:v,seriesIndex:a,j:s}),b=h.globals.colors[v],e=y(v),d(v)&&(c=h.globals.seriesGoals[v][s].map((function(t){return{attrs:t,val:m.yLbFormatter(t.value,{seriesIndex:v,dataPointIndex:s,w:h})}})));else{var w,k=null==l||null===(w=l.target)||void 0===w?void 0:w.getAttribute("fill");k&&(-1!==k.indexOf("url")?-1!==k.indexOf("Pattern")&&(b=h.globals.dom.baseEl.querySelector(k.substr(4).slice(0,-1)).childNodes[0].getAttribute("stroke")):b=k),e=y(a),d(a)&&Array.isArray(h.globals.seriesGoals[a][s])&&(c=h.globals.seriesGoals[a][s].map((function(t){return{attrs:t,val:m.yLbFormatter(t.value,{seriesIndex:a,dataPointIndex:s,w:h})}})))}}null===s&&(e=m.yLbFormatter(h.globals.series[a],u(u({},h),{},{seriesIndex:a,dataPointIndex:a}))),i.DOMHandling({i:a,t:v,j:s,ttItems:n,values:{val:e,goalVals:c,xVal:g,xAxisTTVal:f,zVal:p},seriesName:x,shared:o,pColor:b})},v=0,y=h.globals.series.length-1;v<h.globals.series.length;v++,y--)m(v,y)}},{key:"getFormatters",value:function(t){var e,i=this.w,a=i.globals.yLabelFormatters[t];return void 0!==i.globals.ttVal?Array.isArray(i.globals.ttVal)?(a=i.globals.ttVal[t]&&i.globals.ttVal[t].formatter,e=i.globals.ttVal[t]&&i.globals.ttVal[t].title&&i.globals.ttVal[t].title.formatter):(a=i.globals.ttVal.formatter,"function"==typeof i.globals.ttVal.title.formatter&&(e=i.globals.ttVal.title.formatter)):e=i.config.tooltip.y.title.formatter,"function"!=typeof a&&(a=i.globals.yLabelFormatters[0]?i.globals.yLabelFormatters[0]:function(t){return t}),"function"!=typeof e&&(e=function(t){return t?t+": ":""}),{yLbFormatter:a,yLbTitleFormatter:e}}},{key:"getSeriesName",value:function(t){var e=t.fn,i=t.index,a=t.seriesIndex,s=t.j,r=this.w;return e(String(r.globals.seriesNames[i]),{series:r.globals.series,seriesIndex:a,dataPointIndex:s,w:r})}},{key:"DOMHandling",value:function(t){t.i;var e=t.t,i=t.j,a=t.ttItems,s=t.values,r=t.seriesName,n=t.shared,o=t.pColor,l=this.w,h=this.ttCtx,c=s.val,d=s.goalVals,u=s.xVal,g=s.xAxisTTVal,p=s.zVal,f=null;f=a[e].children,l.config.tooltip.fillSeriesColor&&(a[e].style.backgroundColor=o,f[0].style.display="none"),h.showTooltipTitle&&(null===h.tooltipTitle&&(h.tooltipTitle=l.globals.dom.baseEl.querySelector(".apexcharts-tooltip-title")),h.tooltipTitle.innerHTML=u),h.isXAxisTooltipEnabled&&(h.xaxisTooltipText.innerHTML=""!==g?g:u);var x=a[e].querySelector(".apexcharts-tooltip-text-y-label");x&&(x.innerHTML=r||"");var b=a[e].querySelector(".apexcharts-tooltip-text-y-value");b&&(b.innerHTML=void 0!==c?c:""),f[0]&&f[0].classList.contains("apexcharts-tooltip-marker")&&(l.config.tooltip.marker.fillColors&&Array.isArray(l.config.tooltip.marker.fillColors)&&(o=l.config.tooltip.marker.fillColors[e]),l.config.tooltip.fillSeriesColor?f[0].style.backgroundColor=o:f[0].style.color=o),l.config.tooltip.marker.show||(f[0].style.display="none");var m=a[e].querySelector(".apexcharts-tooltip-text-goals-label"),v=a[e].querySelector(".apexcharts-tooltip-text-goals-value");if(d.length&&l.globals.seriesGoals[e]){var y=function(){var t="<div>",e="<div>";d.forEach((function(i,a){t+=' <div style="display: flex"><span class="apexcharts-tooltip-marker" style="background-color: '.concat(i.attrs.strokeColor,'; height: 3px; border-radius: 0; top: 5px;"></span> ').concat(i.attrs.name,"</div>"),e+="<div>".concat(i.val,"</div>")})),m.innerHTML=t+"</div>",v.innerHTML=e+"</div>"};n?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(m.innerHTML="",v.innerHTML=""):y()}
vendor: 13,733 bytes, line 46395
46395else m.innerHTML="",v.innerHTML="";null!==p&&(a[e].querySelector(".apexcharts-tooltip-text-z-label").innerHTML=l.config.tooltip.z.title,a[e].querySelector(".apexcharts-tooltip-text-z-value").innerHTML=void 0!==p?p:"");if(n&&f[0]){if(l.config.tooltip.hideEmptySeries){var w=a[e].querySelector(".apexcharts-tooltip-marker"),k=a[e].querySelector(".apexcharts-tooltip-text");0==parseFloat(c)?(w.style.display="none",k.style.display="none"):(w.style.display="block",k.style.display="block")}null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1||Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)?f[0].parentNode.style.display="none":f[0].parentNode.style.display=l.config.tooltip.items.display}else Array.isArray(h.tConfig.enabledOnSeries)&&-1===h.tConfig.enabledOnSeries.indexOf(e)&&(f[0].parentNode.style.display="none")}},{key:"toggleActiveInactiveSeries",value:function(t,e){var i=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups("enable");else{this.tooltipUtil.toggleAllTooltipSeriesGroups("disable");var a=i.globals.dom.baseEl.querySelector(".apexcharts-tooltip-series-group-".concat(e));a&&(a.classList.add("apexcharts-active"),a.style.display=i.config.tooltip.items.display)}}},{key:"getValuesToPrint",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r="",n="",o=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&"treemap"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=new $i(this.ctx).isFormatXY()?void 0!==a.config.series[e].data[i]?a.config.series[e].data[i].x:"":void 0!==a.globals.labels[i]?a.globals.labels[i]:"";var d=r;a.globals.isXNumeric&&"datetime"===a.config.xaxis.type?r=new Xi(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new zi(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(o=c(a.globals.seriesZ[e][i],a)),n="function"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(" "):l,xVal:Array.isArray(r)?r.join(" "):r,xAxisTTVal:Array.isArray(n)?n.join(" "):n,zVal:o}}},{key:"handleCustomTooltip",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,n=this.ttCtx.getElTooltip(),o=r.config.tooltip.custom;Array.isArray(o)&&o[e]&&(o=o[e]);var l=o({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r});"string"==typeof l||"number"==typeof l?n.innerHTML=l:(l instanceof Element||"string"==typeof l.nodeName)&&(n.innerHTML="",n.appendChild(l.cloneNode(!0)))}}]),t}(),wa=function(){function t(e){i(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return s(t,[{key:"moveXCrosshairs",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,n=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/n*e),null===s||a.globals.isBarHorizontal||(s.setAttribute("x",r),s.setAttribute("x1",r),s.setAttribute("x2",r),s.setAttribute("y2",a.globals.gridHeight),s.classList.add("apexcharts-active")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var o=r;"tickWidth"!==a.config.xaxis.crosshairs.width&&"barWidth"!==a.config.xaxis.crosshairs.width||(o=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(o)}}},{key:"moveYCrosshairs",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&Mi.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&Mi.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:"moveXAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add("apexcharts-active");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new Mi(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+"px",i.xaxisTooltip.style.left=t+"px",i.xaxisTooltip.style.top=a+"px"}}}},{key:"moveYAxisTooltip",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));var a=parseInt(i.ycrosshairsHidden.getAttribute("y1"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect(),n=r.height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=r.width),s-=n/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)&&s>0&&s<e.globals.gridHeight?(i.yaxisTTEls[t].classList.add("apexcharts-active"),i.yaxisTTEls[t].style.top=s+"px",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+"px"):i.yaxisTTEls[t].classList.remove("apexcharts-active")}},{key:"moveTooltip",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),n=s.tooltipRect,o=null!==i?parseFloat(i):1,l=parseFloat(t)+o+5,h=parseFloat(e)+o/2;if(l>a.globals.gridWidth/2&&(l=l-n.ttWidth-o-10),l>a.globals.gridWidth-n.ttWidth-10&&(l=a.globals.gridWidth-n.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid().getBoundingClientRect();(l=s.e.clientX-c.left)>a.globals.gridWidth/2&&(l-=s.tooltipRect.ttWidth),(h=s.e.clientY+a.globals.translateY-c.top)>a.globals.gridHeight/2&&(h-=s.tooltipRect.ttHeight)}else a.globals.isBarHorizontal||n.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-n.ttHeight+a.globals.translateY);isNaN(l)||(l+=a.globals.translateX,r.style.left=l+"px",r.style.top=h+"px")}},{key:"moveMarkers",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(" .apexcharts-series[data\\:realIndex='".concat(t,"'] .apexcharts-marker")),r=0;r<s.length;r++)parseInt(s[r].getAttribute("rel"),10)===e&&(a.marker.resetPointsSize(),a.marker.enlargeCurrentPoint(e,s[r]));else a.marker.resetPointsSize(),this.moveDynamicPointOnHover(e,t)}},{key:"moveDynamicPointOnHover",value:function(t,e){var i,a,s,r,n=this.w,o=this.ttCtx,l=new Mi(this.ctx),h=n.globals.pointsArray,c=o.tooltipUtil.getHoverMarkerSize(e),d=n.config.series[e].type;if(!d||"column"!==d&&"candlestick"!==d&&"boxPlot"!==d){s=null===(i=h[e][t])||void 0===i?void 0:i[0],r=(null===(a=h[e][t])||void 0===a?void 0:a[1])||0;var u=n.globals.dom.baseEl.querySelector(".apexcharts-series[data\\:realIndex='".concat(e,"'] .apexcharts-series-markers path"));if(u&&r<n.globals.gridHeight&&r>0){var g=u.getAttribute("shape"),p=l.getMarkerPath(s,r,g,1.5*c);u.setAttribute("d",p)}this.moveXCrosshairs(s),o.fixedTooltip||this.moveTooltip(s,r,c)}}},{key:"moveDynamicPointsOnHover",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,n=a.globals.pointsArray,o=new Zi(this.ctx),l=new Mi(this.ctx);e=o.getActiveConfigSeriesIndex("asc",["line","area","scatter","bubble"]);var h=i.tooltipUtil.getHoverMarkerSize(e);if(n[e]&&(s=n[e][t][0],r=n[e][t][1]),!isNaN(s)){var c=i.tooltipUtil.getAllMarkers();if(c.length)for(var d=0;d<a.globals.series.length;d++){var u=n[d];if(a.globals.comboCharts&&void 0===u&&c.splice(d,0,null),u&&u.length){var g=n[d][t][1],p=void 0;c[d].setAttribute("cx",s);var f=c[d].getAttribute("shape");if("rangeArea"===a.config.chart.type&&!a.globals.comboCharts){var x=t+a.globals.series[d].length;p=n[d][x][1],g-=Math.abs(g-p)/2}if(null!==g&&!isNaN(g)&&g<a.globals.gridHeight+h&&g+h>0){var b=l.getMarkerPath(s,g,f,h);c[d].setAttribute("d",b)}else c[d].setAttribute("d","")}}this.moveXCrosshairs(s),i.fixedTooltip||this.moveTooltip(s,r||a.globals.gridHeight,h)}}},{key:"moveStickyTooltipOverBars",value:function(t,e){var i=this.w,a=this.ttCtx,s=i.globals.columnSeries?i.globals.columnSeries.length:i.globals.series.length;i.config.chart.stacked&&(s=i.globals.barGroups.length);var r=s>=2&&s%2==0?Math.floor(s/2):Math.floor(s/2)+1;i.globals.isBarHorizontal&&(r=new Zi(this.ctx).getActiveConfigSeriesIndex("desc")+1);var n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[rel='".concat(r,"'] path[j='").concat(t,"'], .apexcharts-candlestick-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-boxPlot-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"'], .apexcharts-rangebar-series .apexcharts-series[rel='").concat(r,"'] path[j='").concat(t,"']"));n||"number"!=typeof e||(n=i.globals.dom.baseEl.querySelector(".apexcharts-bar-series .apexcharts-series[data\\:realIndex='".concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-candlestick-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-boxPlot-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"'],\n .apexcharts-rangebar-series .apexcharts-series[data\\:realIndex='").concat(e,"'] path[j='").concat(t,"']")));var o=n?parseFloat(n.getAttribute("cx")):0,l=n?parseFloat(n.getAttribute("cy")):0,h=n?parseFloat(n.getAttribute("barWidth")):0,c=a.getElGrid().getBoundingClientRect(),d=n&&(n.classList.contains("apexcharts-candlestick-area")||n.classList.contains("apexcharts-boxPlot-area"));i.globals.isXNumeric?(n&&!d&&(o-=s%2!=0?h/2:0),n&&d&&(o-=h/2)):i.globals.isBarHorizontal||(o=a.xAxisTicksPositions[t-1]+a.dataPointsDividedWidth/2,isNaN(o)&&(o=a.xAxisTicksPositions[t]-a.dataPointsDividedWidth/2)),i.globals.isBarHorizontal?l-=a.tooltipRect.ttHeight:i.config.tooltip.followCursor?l=a.e.clientY-c.top-a.tooltipRect.ttHeight/2:l+a.tooltipRect.ttHeight+15>i.globals.gridHeight&&(l=i.globals.gridHeight),i.globals.isBarHorizontal||this.moveXCrosshairs(o),a.fixedTooltip||this.moveTooltip(o,l||i.globals.gridHeight)}}]),t}(),ka=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new wa(e)}return s(t,[{key:"drawDynamicPoints",value:function(){var t=this.w,e=new Mi(this.ctx),i=new Vi(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");a=f(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute("data:realIndex"))-parseFloat(e.getAttribute("data:realIndex"))}));for(var s=0;s<a.length;s++){var r=a[s].querySelector(".apexcharts-series-markers-wrap");if(null!==r){var n=void 0,o="apexcharts-marker w".concat((Math.random()+1).toString(36).substring(4));"line"!==t.config.chart.type&&"area"!==t.config.chart.type||t.globals.comboCharts||t.config.tooltip.intersect||(o+=" no-pointer-events");var l=i.getMarkerConfig({cssClass:o,seriesIndex:Number(r.getAttribute("data:realIndex"))});(n=e.drawMarker(0,0,l)).node.setAttribute("default-marker-size",0);var h=document.createElementNS(t.globals.SVGNS,"g");h.classList.add("apexcharts-series-markers"),h.appendChild(n.node),r.appendChild(h)}}}},{key:"enlargeCurrentPoint",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;"bubble"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute("cx"),n=e.getAttribute("cy");if(null!==i&&null!==a&&(r=i,n=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if("radar"===s.config.chart.type){var o=this.ttCtx.getElGrid().getBoundingClientRect();r=this.ttCtx.e.clientX-o.left}this.tooltipPosition.moveTooltip(r,n,s.config.markers.hover.size)}}},{key:"enlargePoints",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),n=e.config.markers.hover.size,o=0;o<r.length;o++){var l=r[o].getAttribute("rel"),h=r[o].getAttribute("index");if(void 0===n&&(n=e.globals.markers.size[h]+e.config.markers.hover.sizeOffset),s===parseInt(l,10)){i.newPointSize(s,r[o]);var c=r[o].getAttribute("cx"),d=r[o].getAttribute("cy");i.tooltipPosition.moveXCrosshairs(c),a.fixedTooltip||i.tooltipPosition.moveTooltip(c,d,n)}else i.oldPointSize(r[o])}}},{key:"newPointSize",value:function(t,e){var i=this.w,a=i.config.markers.hover.size,s=0===t?e.parentNode.firstChild:e.parentNode.lastChild;if("0"!==s.getAttribute("default-marker-size")){var r=parseInt(s.getAttribute("index"),10);void 0===a&&(a=i.globals.markers.size[r]+i.config.markers.hover.sizeOffset),a<0&&(a=0);var n=this.ttCtx.tooltipUtil.getPathFromPoint(e,a);e.setAttribute("d",n)}}},{key:"oldPointSize",value:function(t){var e=parseFloat(t.getAttribute("default-marker-size")),i=this.ttCtx.tooltipUtil.getPathFromPoint(t,e);t.setAttribute("d",i)}},{key:"resetPointsSize",value:function(){for(var t=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker"),e=0;e<t.length;e++){var i=parseFloat(t[e].getAttribute("default-marker-size"));if(v.isNumber(i)&&i>0){var a=this.ttCtx.tooltipUtil.getPathFromPoint(t[e],i);t[e].setAttribute("d",a)}else t[e].setAttribute("d","M0,0")}}}]),t}(),Aa=function(){function t(e){i(this,t),this.w=e.w;var a=this.w;this.ttCtx=e,this.isVerticalGroupedRangeBar=!a.globals.isBarHorizontal&&"rangeBar"===a.config.chart.type&&a.config.plotOptions.bar.rangeBarGroupRows}return s(t,[{key:"getAttr",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:"handleHeatTreeTooltip",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,n=this.ttCtx,o=this.w;if(e.target.classList.contains("apexcharts-".concat(r,"-rect"))){var l=this.getAttr(e,"i"),h=this.getAttr(e,"j"),c=this.getAttr(e,"cx"),d=this.getAttr(e,"cy"),u=this.getAttr(e,"
46395width"),g=this.getAttr(e,"height");if(n.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),o.globals.capturedSeriesIndex=l,o.globals.capturedDataPointIndex=h,a=c+n.tooltipRect.ttWidth/2+u,s=d+n.tooltipRect.ttHeight/2-g/2,n.tooltipPosition.moveXCrosshairs(c+u/2),a>o.globals.gridWidth/2&&(a=c-n.tooltipRect.ttWidth/2+u),n.w.config.tooltip.followCursor){var p=o.globals.dom.elWrap.getBoundingClientRect();a=o.globals.clientX-p.left-(a>o.globals.gridWidth/2?n.tooltipRect.ttWidth:0),s=o.globals.clientY-p.top-(s>o.globals.gridHeight/2?n.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:"handleMarkerTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,n=t.y,o=this.w,l=this.ttCtx;if(a.target.classList.contains("apexcharts-marker")){var h=parseInt(s.paths.getAttribute("cx"),10),c=parseInt(s.paths.getAttribute("cy"),10),d=parseFloat(s.paths.getAttribute("val"));if(i=parseInt(s.paths.getAttribute("rel"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute("rel"),10)-1,l.intersect){var u=v.findAncestor(s.paths,"apexcharts-series");u&&(e=parseInt(u.getAttribute("data:realIndex"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&o.config.tooltip.shared,e:a}),"mouseup"===a.type&&l.markerClick(a,e,i),o.globals.capturedSeriesIndex=e,o.globals.capturedDataPointIndex=i,r=h,n=c+o.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var g=l.getElGrid().getBoundingClientRect();n=l.e.clientY+o.globals.translateY-g.top}d<0&&(n=c),l.marker.enlargeCurrentPoint(i,s.paths,r,n)}return{x:r,y:n}}},{key:"handleBarTooltip",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=this.ttCtx,o=n.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});if(null!==d.j||0!==d.barHeight||0!==d.barWidth){e=d.i;var u=d.j;if(r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&n.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)&&(c=r.globals.svgHeight-n.tooltipRect.ttHeight),parseInt(s.paths.parentNode.getAttribute("data:realIndex"),10),h+n.tooltipRect.ttWidth>r.globals.gridWidth?h-=n.tooltipRect.ttWidth:h<0&&(h=0),n.w.config.tooltip.followCursor){var g=n.getElGrid().getBoundingClientRect();c=n.e.clientY-g.top}null===n.tooltip&&(n.tooltip=r.globals.dom.baseEl.querySelector(".apexcharts-tooltip")),r.config.tooltip.shared||(r.globals.comboBarCount>0?n.tooltipPosition.moveXCrosshairs(l+i/2):n.tooltipPosition.moveXCrosshairs(l)),!n.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&n.tooltipUtil.hasBars())&&(c=c+r.globals.translateY-n.tooltipRect.ttHeight/2,o.style.left=h+r.globals.translateX+"px",o.style.top=c+"px")}}},{key:"getBarTooltipXY",value:function(t){var e=this,i=t.e,a=t.opt,s=this.w,r=null,n=this.ttCtx,o=0,l=0,h=0,c=0,d=0,u=i.target.classList;if(u.contains("apexcharts-bar-area")||u.contains("apexcharts-candlestick-area")||u.contains("apexcharts-boxPlot-area")||u.contains("apexcharts-rangebar-area")){var g=i.target,p=g.getBoundingClientRect(),f=a.elGrid.getBoundingClientRect(),x=p.height;d=p.height;var b=p.width,m=parseInt(g.getAttribute("cx"),10),v=parseInt(g.getAttribute("cy"),10);c=parseFloat(g.getAttribute("barWidth"));var y="touchmove"===i.type?i.touches[0].clientX:i.clientX;r=parseInt(g.getAttribute("j"),10),o=parseInt(g.parentNode.getAttribute("rel"),10)-1;var w=g.getAttribute("data-range-y1"),k=g.getAttribute("data-range-y2");s.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute("data:realIndex"),10));var A=function(t){return s.globals.isXNumeric?m-b/2:e.isVerticalGroupedRangeBar?m+b/2:m-n.dataPointsDividedWidth+b/2},C=function(){return v-n.dataPointsDividedHeight+x/2-n.tooltipRect.ttHeight/2};n.tooltipLabels.drawSeriesTexts({ttItems:a.ttItems,i:o,j:r,y1:w?parseInt(w,10):null,y2:k?parseInt(k,10):null,shared:!n.showOnIntersect&&s.config.tooltip.shared,e:i}),s.config.tooltip.followCursor?s.globals.isBarHorizontal?(l=y-f.left+15,h=C()):(l=A(),h=i.clientY-f.top-n.tooltipRect.ttHeight/2-15):s.globals.isBarHorizontal?((l=m)<n.xyRatios.baseLineInvertedY&&(l=m-n.tooltipRect.ttWidth),h=C()):(l=A(),h=v)}return{x:l,y:h,barHeight:d,barWidth:c,i:o,j:r}}}]),t}(),Ca=function(){function t(e){i(this,t),this.w=e.w,this.ttCtx=e}return s(t,[{key:"drawXaxisTooltip",value:function(){var t=this.w,e=this.ttCtx,i="bottom"===t.config.xaxis.position;e.xaxisOffY=i?t.globals.gridHeight+1:-t.globals.xAxisHeight-t.config.xaxis.axisTicks.height+3;var a=i?"apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom":"apexcharts-xaxistooltip apexcharts-xaxistooltip-top",s=t.globals.dom.elWrap;e.isXAxisTooltipEnabled&&(null===t.globals.dom.baseEl.querySelector(".apexcharts-xaxistooltip")&&(e.xaxisTooltip=document.createElement("div"),e.xaxisTooltip.setAttribute("class",a+" apexcharts-theme-"+t.config.tooltip.theme),s.appendChild(e.xaxisTooltip),e.xaxisTooltipText=document.createElement("div"),e.xaxisTooltipText.classList.add("apexcharts-xaxistooltip-text"),e.xaxisTooltipText.style.fontFamily=t.config.xaxis.tooltip.style.fontFamily||t.config.chart.fontFamily,e.xaxisTooltipText.style.fontSize=t.config.xaxis.tooltip.style.fontSize,e.xaxisTooltip.appendChild(e.xaxisTooltipText)))}},{key:"drawYaxisTooltip",value:function(){for(var t=this.w,e=this.ttCtx,i=0;i<t.config.yaxis.length;i++){var a=t.config.yaxis[i].opposite||t.config.yaxis[i].crosshairs.opposite;e.yaxisOffX=a?t.globals.gridWidth+1:1;var s="apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i,a?" apexcharts-yaxistooltip-right":" apexcharts-yaxistooltip-left"),r=t.globals.dom.elWrap;null===t.globals.dom.baseEl.querySelector(".apexcharts-yaxistooltip apexcharts-yaxistooltip-".concat(i))&&(e.yaxisTooltip=document.createElement("div"),e.yaxisTooltip.setAttribute("class",s+" apexcharts-theme-"+t.config.tooltip.theme),r.appendChild(e.yaxisTooltip),0===i&&(e.yaxisTooltipText=[]),e.yaxisTooltipText[i]=document.createElement("div"),e.yaxisTooltipText[i].classList.add("apexcharts-yaxistooltip-text"),e.yaxisTooltip.appendChild(e.yaxisTooltipText[i]))}}},{key:"setXCrosshairWidth",value:function(){var t=this.w,e=this.ttCtx,i=e.getElXCrosshairs();if(e.xcrosshairsWidth=parseInt(t.config.xaxis.crosshairs.width,10),t.globals.comboCharts){var a=t.globals.dom.baseEl.querySelector(".apexcharts-bar-area");if(null!==a&&"barWidth"===t.config.xaxis.crosshairs.width){var s=parseFloat(a.getAttribute("barWidth"));e.xcrosshairsWidth=s}else if("tickWidth"===t.config.xaxis.crosshairs.width){var r=t.globals.labels.length;e.xcrosshairsWidth=t.globals.gridWidth/r}}else if("tickWidth"===t.config.xaxis.crosshairs.width){var n=t.globals.labels.length;e.xcrosshairsWidth=t.globals.gridWidth/n}else if("barWidth"===t.config.xaxis.crosshairs.width){var o=t.globals.dom.baseEl.querySelector(".apexcharts-bar-area");if(null!==o){var l=parseFloat(o.getAttribute("barWidth"));e.xcrosshairsWidth=l}else e.xcrosshairsWidth=1}t.globals.isBarHorizontal&&(e.xcrosshairsWidth=0),null!==i&&e.xcrosshairsWidth>0&&i.setAttribute("width",e.xcrosshairsWidth)}},{key:"handleYCrosshair",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(".apexcharts-ycrosshairs-hidden")}}
vendor: 5,595 bytes, line 46395
46395,{key:"drawYaxisTooltipText",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals,n=r.seriesYAxisMap[t];if(a.yaxisTooltips[t]&&n.length>0){var o=r.yLabelFormatters[t],l=a.getElGrid().getBoundingClientRect(),h=n[0],c=0;i.yRatio.length>1&&(c=h);var d=(e-l.top)*i.yRatio[c],u=r.maxYArr[h]-r.minYArr[h],g=r.minYArr[h]+(u-d);s.config.yaxis[t].reversed&&(g=r.maxYArr[h]-(u-d)),a.tooltipPosition.moveYCrosshairs(e-l.top),a.yaxisTooltipText[t].innerHTML=o(g),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),Sa=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.tConfig=a.config.tooltip,this.tooltipUtil=new va(this),this.tooltipLabels=new ya(this),this.tooltipPosition=new wa(this),this.marker=new ka(this),this.intersect=new Aa(this),this.axesTooltip=new Ca(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!a.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return s(t,[{key:"getElTooltip",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(".apexcharts-tooltip"):null}},{key:"getElXCrosshairs",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-xcrosshairs")}},{key:"getElGrid",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-grid")}},{key:"drawTooltip",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement("div");if(i.classList.add("apexcharts-tooltip"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add("apexcharts-theme-".concat(this.tConfig.theme||"light")),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new Qi(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&"rangeBar"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement("div"),this.tooltipTitle.classList.add("apexcharts-tooltip-title"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(".apexcharts-legend-text"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:"createTTElements",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var n=document.createElement("div");n.classList.add("apexcharts-tooltip-series-group","apexcharts-tooltip-series-group-".concat(r)),n.style.order=i.config.tooltip.inverseOrder?t-r:r+1;var o=document.createElement("span");o.classList.add("apexcharts-tooltip-marker"),i.config.tooltip.fillSeriesColor?o.style.backgroundColor=i.globals.colors[r]:o.style.color=i.globals.colors[r];var l=i.config.markers.shape,h=l;Array.isArray(l)&&(h=l[r]),o.setAttribute("shape",h),n.appendChild(o);var c=document.createElement("div");c.classList.add("apexcharts-tooltip-text"),c.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,c.style.fontSize=e.tConfig.style.fontSize,["y","goals","z"].forEach((function(t){var e=document.createElement("div");e.classList.add("apexcharts-tooltip-".concat(t,"-group"));var i=document.createElement("span");i.classList.add("apexcharts-tooltip-text-".concat(t,"-label")),e.appendChild(i);var a=document.createElement("span");a.classList.add("apexcharts-tooltip-text-".concat(t,"-value")),e.appendChild(a),c.appendChild(e)})),n.appendChild(c),s.appendChild(n),a.push(n)},n=0;n<t;n++)r(n);return a}},{key:"addSVGEvents",value:function(){var t=this.w,e=t.config.chart.type,i=this.getElTooltip(),a=!("bar"!==e&&"candlestick"!==e&&"boxPlot"!==e&&"rangeBar"!==e),s="area"===e||"line"===e||"scatter"===e||"bubble"===e||"radar"===e,r=t.globals.dom.Paper.node,n=this.getElGrid();n&&(this.seriesBound=n.getBoundingClientRect());var o,l=[],h=[],c={hoverArea:r,elGrid:n,tooltipEl:i,tooltipY:l,tooltipX:h,ttItems:this.ttItems};if(t.globals.axisCharts&&(s?o=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series[data\\:longestSeries='true'] .apexcharts-marker"):a?o=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-bar-area, .apexcharts-series .apexcharts-candlestick-area, .apexcharts-series .apexcharts-boxPlot-area, .apexcharts-series .apexcharts-rangebar-area"):"heatmap"!==e&&"treemap"!==e||(o=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series .apexcharts-heatmap, .apexcharts-series .apexcharts-treemap")),o&&o.length))for(var d=0;d<o.length;d++)l.push(o[d].getAttribute("cy")),h.push(o[d].getAttribute("cx"));
vendor: 13,921 bytes, line 46395
46395if(t.globals.xyCharts&&!this.showOnIntersect||t.globals.comboCharts&&!this.showOnIntersect||a&&this.tooltipUtil.hasBars()&&this.tConfig.shared)this.addPathsEventListeners([r],c);else if(a&&!t.globals.comboCharts||s&&this.showOnIntersect)this.addDatapointEventsListeners(c);else if(!t.globals.axisCharts||"heatmap"===e||"treemap"===e){var u=t.globals.dom.baseEl.querySelectorAll(".apexcharts-series");this.addPathsEventListeners(u,c)}if(this.showOnIntersect){var g=t.globals.dom.baseEl.querySelectorAll(".apexcharts-line-series .apexcharts-marker, .apexcharts-area-series .apexcharts-marker");g.length>0&&this.addPathsEventListeners(g,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:"drawFixedTooltipRect",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,n=this.tConfig.fixed.offsetY,o=this.tConfig.fixed.position.toLowerCase();return o.indexOf("right")>-1&&(r=r+t.globals.svgWidth-a+10),o.indexOf("bottom")>-1&&(n=n+t.globals.svgHeight-s-10),e.style.left=r+"px",e.style.top=n+"px",{x:r,y:n,ttWidth:a,ttHeight:s}}},{key:"addDatapointEventsListeners",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area");this.addPathsEventListeners(e,t)}},{key:"addPathsEventListeners",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};["mousemove","mouseup","touchmove","mouseout","touchend"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s<t.length;s++)a(s)}},{key:"onSeriesHover",value:function(t,e){var i=this,a=Date.now()-this.lastHoverTime;a>=20?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),20-a))}},{key:"seriesHover",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:"seriesHoverByContext",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,n=this.getElTooltip(e);if(n){if(i.tooltipRect={x:0,y:0,ttWidth:n.getBoundingClientRect().width,ttHeight:n.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new Zi(e).toggleSeriesOnHover(s,s.target.parentNode);r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}),i.fixedTooltip&&i.drawFixedTooltipRect()}}},{key:"axisChartsTooltips",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,n=s.elGrid.getBoundingClientRect(),o="touchmove"===a.type?a.touches[0].clientX:a.clientX,l="touchmove"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=o,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,l<n.top||l>n.top+n.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute("index"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),u=[];r.config.chart.group&&(u=this.ctx.getSyncedCharts());var g=r.globals.xyCharts||"bar"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if("mousemove"===a.type||"touchmove"===a.type||"mouseup"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add("apexcharts-active");var p=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&p.length&&this.ycrosshairs.classList.add("apexcharts-active"),g&&!this.showOnIntersect||u.length>1)this.handleStickyTooltip(a,o,l,s);else if("heatmap"===r.config.chart.type||"treemap"===r.config.chart.type){var f=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=f.x,i=f.y,c.style.left=e+"px",c.style.top=i+"px"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var x=0;x<r.config.yaxis.length;x++)this.axesTooltip.drawYaxisTooltipText(x,l,this.xyRatios);r.globals.dom.baseEl.classList.add("apexcharts-tooltip-active"),s.tooltipEl.classList.add("apexcharts-active")}else"mouseout"!==a.type&&"touchend"!==a.type||this.handleMouseOut(s)}}},{key:"nonAxisChartsTooltips",value:function(t){var e=t.e,i=t.opt,a=t.tooltipRect,s=this.w,r=i.paths.getAttribute("rel"),n=this.getElTooltip(),o=s.globals.dom.elWrap.getBoundingClientRect();if("mousemove"===e.type||"touchmove"===e.type){s.globals.dom.baseEl.classList.add("apexcharts-tooltip-active"),n.classList.add("apexcharts-active"),this.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:parseInt(r,10)-1,shared:!1});var l=s.globals.clientX-o.left-a.ttWidth/2,h=s.globals.clientY-o.top-a.ttHeight-10;if(n.style.left=l+"px",n.style.top=h+"px",s.config.legend.tooltipHoverFormatter){var c=r-1,d=(0,s.config.legend.tooltipHoverFormatter)(this.legendLabels[c].getAttribute("data:default-text"),{seriesIndex:c,dataPointIndex:c,w:s});this.legendLabels[c].innerHTML=d}}else"mouseout"!==e.type&&"touchend"!==e.type||(n.classList.remove("apexcharts-active"),s.globals.dom.baseEl.classList.remove("apexcharts-tooltip-active"),s.config.legend.tooltipHoverFormatter&&this.legendLabels.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)})))}},{key:"handleStickyTooltip",value:function(t,e,i,a){var s=this.w,r=this.tooltipUtil.getNearestValues({context:this,hoverArea:a.hoverArea,elGrid:a.elGrid,clientX:e,clientY:i}),n=r.j,o=r.capturedSeries;s.globals.collapsedSeriesIndices.includes(o)&&(o=null);var l=a.elGrid.getBoundingClientRect();if(r.hoverX<0||r.hoverX>l.width)this.handleMouseOut(a);else if(null!==o)this.handleStickyCapturedSeries(t,o,a,n);else if(this.tooltipUtil.isXoverlap(n)||s.globals.isBarHorizontal){var h=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,h,n,a.ttItems)}}},{key:"handleStickyCapturedSeries",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);if(void 0!==s.globals.series[e][a])this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1);else if(this.tooltipUtil.isXoverlap(a)){var r=s.globals.series.findIndex((function(t,e){return!s.globals.collapsedSeriesIndices.includes(e)}));this.create(t,this,r,a,i.ttItems)}}},{key:"deactivateHoverFilter",value:function(){for(var t=this.w,e=new Mi(this.ctx),i=t.globals.dom.Paper.find(".apexcharts-bar-area"),a=0;a<i.length;a++)e.pathMouseLeave(i[a])}},{key:"handleMouseOut",value:function(t){var e=this.w,i=this.getElXCrosshairs();if(e.globals.dom.baseEl.classList.remove("apexcharts-tooltip-active"),t.tooltipEl.classList.remove("apexcharts-active"),this.deactivateHoverFilter(),"bubble"!==e.config.chart.type&&this.marker.resetPointsSize(),null!==i&&i.classList.remove("apexcharts-active"),null!==this.ycrosshairs&&this.ycrosshairs.classList.remove("apexcharts-active"),this.isXAxisTooltipEnabled&&this.xaxisTooltip.classList.remove("apexcharts-active"),this.yaxisTooltips.length){null===this.yaxisTTEls&&(this.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(".apexcharts-yaxistooltip"));for(var a=0;a<this.yaxisTTEls.length;a++)this.yaxisTTEls[a].classList.remove("apexcharts-active")}e.config.legend.tooltipHoverFormatter&&this.legendLabels.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}))}},{key:"markerClick",value:function(t,e,i){var a=this.w;"function"==typeof a.config.chart.events.markerClick&&a.config.chart.events.markerClick(t,this.ctx,{seriesIndex:e,dataPointIndex:i,w:a}),this.ctx.events.fireEvent("markerClick",[t,this.ctx,{seriesIndex:e,dataPointIndex:i,w:a}])}},{key:"create",value:function(t,e,i,a,s){var r,n,o,l,h,c,d,g,p,f,x,b,m,v,y,w,k=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,A=this.w,C=e;"mouseup"===t.type&&this.markerClick(t,i,a),null===k&&(k=this.tConfig.shared);var S=this.tooltipUtil.hasMarkers(i),L=this.tooltipUtil.getElBars(),M=function(){A.globals.markers.largestSize>0?C.marker.enlargePoints(a):C.tooltipPosition.moveDynamicPointsOnHover(a)};if(A.config.legend.tooltipHoverFormatter){var P=A.config.legend.tooltipHoverFormatter,I=Array.from(this.legendLabels);I.forEach((function(t){var e=t.getAttribute("data:default-text");t.innerHTML=decodeURIComponent(e)}));for(var T=0;T<I.length;T++){var z=I[T],X=parseInt(z.getAttribute("i"),10),R=decodeURIComponent(z.getAttribute("data:default-text")),E=P(R,{seriesIndex:k?X:i,dataPointIndex:a,w:A});if(k)z.innerHTML=A.globals.collapsedSeriesIndices.indexOf(X)<0?E:R;else if(z.innerHTML=X===i?E:R,i===X)break}}var Y=u(u({ttItems:s,i:i,j:a},void 0!==(null===(r=A.globals.seriesRange)||void 0===r||null===(n=r[i])||void 0===n||null===(o=n[a])||void 0===o||null===(l=o.y[0])||void 0===l?void 0:l.y1)&&{y1:null===(h=A.globals.seriesRange)||void 0===h||null===(c=h[i])||void 0===c||null===(d=c[a])||void 0===d||null===(g=d.y[0])||void 0===g?void 0:g.y1}),void 0!==(null===(p=A.globals.seriesRange)||void 0===p||null===(f=p[i])||void 0===f||null===(x=f[a])||void 0===x||null===(b=x.y[0])||void 0===b?void 0:b.y2)&&{y2:null===(m=A.globals.seriesRange)||void 0===m||null===(v=m[i])||void 0===v||null===(y=v[a])||void 0===y||null===(w=y.y[0])||void 0===w?void 0:w.y2});if(k){if(C.tooltipLabels.drawSeriesTexts(u(u({},Y),{},{shared:!this.showOnIntersect&&this.tConfig.shared})),S)M();else if(this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(L),this.barSeriesHeight>0)){var H=new Mi(this.ctx),O=A.globals.dom.Paper.find(".apexcharts-bar-area[j='".concat(a,"']"));this.deactivateHoverFilter(),C.tooltipUtil.getAllMarkers(!0).length&&!this.barSeriesHeight&&M(),C.tooltipPosition.moveStickyTooltipOverBars(a,i);for(var F=0;F<O.length;F++)H.pathMouseEnter(O[F])}}else C.tooltipLabels.drawSeriesTexts(u({shared:!1},Y)),this.tooltipUtil.hasBars()&&C.tooltipPosition.moveStickyTooltipOverBars(a,i),S&&C.tooltipPosition.moveMarkers(i,a)}}]),t}(),La=function(){function t(e){i(this,t),this.w=e.w,this.barCtx=e,this.totalFormatter=this.w.config.plotOptions.bar.dataLabels.total.formatter,this.totalFormatter||(this.totalFormatter=this.w.config.dataLabels.formatter)}return s(t,[{key:"handleBarDataLabels",value:function(t){var e,i,a=t.x,s=t.y,r=t.y1,n=t.y2,o=t.i,l=t.j,h=t.realIndex,c=t.columnGroupIndex,d=t.series,g=t.barHeight,p=t.barWidth,f=t.barXPosition,x=t.barYPosition,b=t.visibleSeries,m=this.w,v=new Mi(this.barCtx.ctx),y=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[h]:this.barCtx.strokeWidth;m.globals.isXNumeric&&!m.globals.isBarHorizontal?(e=a+parseFloat(p*(b+1)),i=s+parseFloat(g*(b+1))-y):(e=a+parseFloat(p*b),i=s+parseFloat(g*b));var w,k=null,A=a,C=s,S={},L=m.config.dataLabels,M=this.barCtx.barOptions.dataLabels,P=this.barCtx.barOptions.dataLabels.total;void 0!==x&&this.barCtx.isRangeBar&&(i=x,C=x),void 0!==f&&this.barCtx.isVerticalGroupedRangeBar&&(e=f,A=f);var I=L.offsetX,T=L.offsetY,z={width:0,height:0};if(m.config.dataLabels.enabled){var X=m.globals.series[o][l];z=v.getTextRects(m.config.dataLabels.formatter?m.config.dataLabels.formatter(X,u(u({},m),{},{seriesIndex:o,dataPointIndex:l,w:m})):m.globals.yLabelFormatters[0](X),parseFloat(L.style.fontSize))}var R={x:a,y:s,i:o,j:l,realIndex:h,columnGroupIndex:c,bcx:e,bcy:i,barHeight:g,barWidth:p,textRects:z,strokeWidth:y,dataLabelsX:A,dataLabelsY:C,dataLabelsConfig:L,barDataLabelsConfig:M,barTotalDataLabelsConfig:P,offX:I,offY:T};return S=this.barCtx.isHorizontal?this.calculateBarsDataLabelsPosition(R):this.calculateColumnsDataLabelsPosition(R),w=this.drawCalculatedDataLabels({x:S.dataLabelsX,y:S.dataLabelsY,val:this.barCtx.isRangeBar?[r,n]:"100%"===m.config.chart.stackType?d[h][l]:m.globals.series[h][l],i:h,j:l,barWidth:p,barHeight:g,textRects:z,dataLabelsConfig:L}),m.config.chart.stacked&&P.enabled&&(k=this.drawTotalDataLabels({x:S.totalDataLabelsX,y:S.totalDataLabelsY,barWidth:p,barHeight:g,realIndex:h,textAnchor:S.totalDataLabelsAnchor,val:this.getStackedTotalDataLabel({realIndex:h,j:l}),dataLabelsConfig:L,barTotalDataLabelsConfig:P})),{dataLabelsPos:S,dataLabels:w,totalDataLabels:k}}},{key:"getStackedTotalDataLabel",value:function(t){var e=t.realIndex,i=t.j,a=this.w,s=this.barCtx.stackedSeriesTotals[i];return this.totalFormatter&&(s=this.totalFormatter(s,u(u({},a),{},{seriesIndex:e,dataPointIndex:i,w:a}))),s}},{key:"calculateColumnsDataLabelsPosition",value:function(t){var e=this,i=this.w,a=t.i,s=t.j,r=t.realIndex;t.columnGroupIndex;var n,o,l=t.y,h=t.bcx,c=t.barWidth,d=t.barHeight,u=t.textRects,g=t.dataLabelsX,p=t.dataLabelsY,f=t.dataLabelsConfig,x=t.barDataLabelsConfig,b=t.barTotalDataLabelsConfig,m=t.
vendor: 4,795 bytes, line 46395
46395strokeWidth,v=t.offX,y=t.offY,w=h;d=Math.abs(d);var k="vertical"===i.config.plotOptions.bar.dataLabels.orientation,A=this.barCtx.barHelpers.getZeroValueEncounters({i:a,j:s}).zeroEncounters;h-=m/2;var C=i.globals.gridWidth/i.globals.dataPoints;if(this.barCtx.isVerticalGroupedRangeBar?g+=c/2:(g=i.globals.isXNumeric?h-c/2+v:h-C+c/2+v,!i.config.chart.stacked&&A>0&&i.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(g-=c*A)),k){g=g+u.height/2-m/2-2}var S=i.globals.series[a][s]<0,L=l;switch(this.barCtx.isReversed&&(L=l+(S?d:-d)),x.position){case"center":p=k?S?L-d/2+y:L+d/2-y:S?L-d/2+u.height/2+y:L+d/2+u.height/2-y;break;case"bottom":p=k?S?L-d+y:L+d-y:S?L-d+u.height+m+y:L+d-u.height/2+m-y;break;case"top":p=k?S?L+y:L-y:S?L-u.height/2-y:L+u.height+y}var M=L;if(i.globals.seriesGroups.forEach((function(t){var i;null===(i=e.barCtx[t.join(",")])||void 0===i||i.prevY.forEach((function(t){M=S?Math.max(t[s],M):Math.min(t[s],M)}))})),this.barCtx.lastActiveBarSerieIndex===r&&b.enabled){var P=new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),f.fontSize);n=S?M-P.height/2-y-b.offsetY+18:M+P.height+y+b.offsetY-18;var I=C;o=w+(i.globals.isXNumeric?-c*i.globals.barGroups.length/2:i.globals.barGroups.length*c/2-(i.globals.barGroups.length-1)*c-I)+b.offsetX}return i.config.chart.stacked||(p<0?p=0+m:p+u.height/3>i.globals.gridHeight&&(p=i.globals.gridHeight-m)),{bcx:h,bcy:l,dataLabelsX:g,dataLabelsY:p,totalDataLabelsX:o,totalDataLabelsY:n,totalDataLabelsAnchor:"middle"}}},{key:"calculateBarsDataLabelsPosition",value:function(t){var e=this,i=this.w,a=t.x,s=t.i,r=t.j,n=t.realIndex,o=t.bcy,l=t.barHeight,h=t.barWidth,c=t.textRects,d=t.dataLabelsX,u=t.strokeWidth,g=t.dataLabelsConfig,p=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,x=t.offX,b=t.offY,m=i.globals.gridHeight/i.globals.dataPoints,v=this.barCtx.barHelpers.getZeroValueEncounters({i:s,j:r}).zeroEncounters;h=Math.abs(h);var y,w,k=o-(this.barCtx.isRangeBar?0:m)+l/2+c.height/2+b-3;!i.config.chart.stacked&&v>0&&i.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(k-=l*v);var A="start",C=i.globals.series[s][r]<0,S=a;switch(this.barCtx.isReversed&&(S=a+(C?-h:h),A=C?"start":"end"),p.position){case"center":d=C?S+h/2-x:Math.max(c.width/2,S-h/2)+x;break;case"bottom":d=C?S+h-u-x:S-h+u+x;break;case"top":d=C?S-u-x:S-u+x}var L=S;if(i.globals.seriesGroups.forEach((function(t){var i;null===(i=e.barCtx[t.join(",")])||void 0===i||i.prevX.forEach((function(t){L=C?Math.min(t[r],L):Math.max(t[r],L)}))})),this.barCtx.lastActiveBarSerieIndex===n&&f.enabled){var M=new Mi(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:n,j:r}),g.fontSize);C?(y=L-u-x-f.offsetX,A="end"):y=L+x+f.offsetX+(this.barCtx.isReversed?-(h+u):u),w=k-c.height/2+M.height/2+f.offsetY+u,i.globals.barGroups.length>1&&(w-=i.globals.barGroups.length/2*(l/2))}return i.config.chart.stacked||("start"===g.textAnchor?d-c.width<0?d=C?c.width+u:u:d+c.width>i.globals.gridWidth&&(d=C?i.globals.gridWidth-u:i.globals.gridWidth-c.width-u):"middle"===g.textAnchor?d-c.width/2<0?d=c.width/2+u:d+c.width/2>i.globals.gridWidth&&(d=i.globals.gridWidth-c.width/2-u):"end"===g.textAnchor&&(d<1?d=c.width+u:d+1>i.globals.gridWidth&&(d=i.globals.gridWidth-c.width-u))),{bcx:a,bcy:o,dataLabelsX:d,dataLabelsY:k,totalDataLabelsX:y,totalDataLabelsY:w,totalDataLabelsAnchor:A}}},{key:"drawCalculatedDataLabels",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.i,r=t.j,n=t.textRects,o=t.barHeight,l=t.barWidth,h=t.dataLabelsConfig,c=this.w,d="rotate(0)";"vertical"===c.config.plotOptions.bar.dataLabels.orientation&&(d="rotate(-90, ".concat(e,", ").concat(i,")"));var g=new qi(this.barCtx.ctx),p=new Mi(this.barCtx.ctx),f=h.formatter,x=null,b=c.globals.collapsedSeriesIndices.indexOf(s)>-1;if(h.enabled&&!b){x=p.group({class:"apexcharts-data-labels",transform:d});var m="";void 0!==a&&(m=f(a,u(u({},c),{},{seriesIndex:s,dataPointIndex:r,w:c}))),!a&&c.config.plotOptions.bar.hideZeroBarsWhenGrouped&&(m="");var v=c.globals.series[s][r]<0,y=c.config.plotOptions.bar.dataLabels.position;if("vertical"===c.config.plotOptions.bar.dataLabels.orientation&&("top"===y&&(h.textAnchor=v?"end":"start"),"center"===y&&(h.textAnchor="middle"),"bottom"===y&&(h.textAnchor=v?"end":"start")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)l<p.getTextRects(m,parseFloat(h.style.fontSize)).width&&(m="");c.config.chart.stacked&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels&&(this.barCtx.isHorizontal?n.width/1.6>Math.abs(l)&&(m=""):n.height/1.6>Math.abs(o)&&(m=""));var w=u({},h);this.barCtx.isHorizontal&&a<0&&("start"===h.textAnchor?w.textAnchor="end":"end"===h.textAnchor&&(w.textAnchor="start")),g.plotDataLabelsText({x:e,y:i,text:m,i:s,j:r,parent:x,dataLabelsConfig:w,alwaysDrawDataLabel:!0,offsetCorrection:!0}
vendor: 1,083 bytes, line 46395
46395)}return x}},{key:"drawTotalDataLabels",value:function(t){var e=t.x,i=t.y,a=t.val,s=t.realIndex,r=t.textAnchor,n=t.barTotalDataLabelsConfig;this.w;var o,l=new Mi(this.barCtx.ctx);return n.enabled&&void 0!==e&&void 0!==i&&this.barCtx.lastActiveBarSerieIndex===s&&(o=l.drawText({x:e,y:i,foreColor:n.style.color,text:a,textAnchor:r,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),o}}]),t}(),Ma=function(){function t(e){i(this,t),this.w=e.w,this.barCtx=e}return s(t,[{key:"initVariables",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i<t.length;i++)if(t[i].length>0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;a<t[i].length;a++)e.globals.seriesX[i][a]>e.globals.minX&&e.globals.seriesX[i][a]<e.globals.maxX&&this.barCtx.visibleItems++;else this.barCtx.visibleItems=e.globals.dataPoints;this.arrBorderRadius=this.createBorderRadiusArr(e.globals.series),v.
vendor: 4,756 bytes, line 46395
46395isSafari()&&(this.arrBorderRadius=this.arrBorderRadius.map((function(t){return t.map((function(t){return"none"}))}))),0===this.barCtx.seriesLen&&(this.barCtx.seriesLen=1),this.barCtx.zeroSerieses=[],e.globals.comboCharts||this.checkZeroSeries({series:t})}},{key:"initialPositions",value:function(t){var e,i,a,s,r,n,o,l,h=this.w,c=h.globals.dataPoints;this.barCtx.isRangeBar&&(c=h.globals.labels.length);var d=this.barCtx.seriesLen;if(h.config.plotOptions.bar.rangeBarGroupRows&&(d=1),this.barCtx.isHorizontal)r=(a=h.globals.gridHeight/c)/d,h.globals.isXNumeric&&(r=(a=h.globals.gridHeight/this.barCtx.totalItems)/this.barCtx.seriesLen),r=r*parseInt(this.barCtx.barOptions.barHeight,10)/100,-1===String(this.barCtx.barOptions.barHeight).indexOf("%")&&(r=parseInt(this.barCtx.barOptions.barHeight,10)),l=this.barCtx.baseLineInvertedY+h.globals.padHorizontal+(this.barCtx.isReversed?h.globals.gridWidth:0)-(this.barCtx.isReversed?2*this.barCtx.baseLineInvertedY:0),this.barCtx.isFunnel&&(l=h.globals.gridWidth/2),i=(a-r*this.barCtx.seriesLen)/2;else{if(s=h.globals.gridWidth/this.barCtx.visibleItems,h.config.xaxis.convertedCatToNumeric&&(s=h.globals.gridWidth/h.globals.dataPoints),n=s/d*parseInt(this.barCtx.barOptions.columnWidth,10)/100,h.globals.isXNumeric){var u=this.barCtx.xRatio;h.globals.minXDiff&&.5!==h.globals.minXDiff&&h.globals.minXDiff/u>0&&(s=h.globals.minXDiff/u),(n=s/d*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(n=1)}if(-1===String(this.barCtx.barOptions.columnWidth).indexOf("%")&&(n=parseInt(this.barCtx.barOptions.columnWidth,10)),o=h.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.translationsIndex]-(this.barCtx.isReversed?h.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.translationsIndex]:0),h.globals.isXNumeric)e=this.barCtx.getBarXForNumericXAxis({x:e,j:0,realIndex:t,barWidth:n}).x;else e=h.globals.padHorizontal+v.noExponents(s-n*this.barCtx.seriesLen)/2}return h.globals.barHeight=r,h.globals.barWidth=n,{x:e,y:i,yDivision:a,xDivision:s,barHeight:r,barWidth:n,zeroH:o,zeroW:l}}},{key:"initializeStackedPrevVars",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].prevY=[],t[e].prevX=[],t[e].prevYF=[],t[e].prevXF=[],t[e].prevYVal=[],t[e].prevXVal=[]}))}},{key:"initializeStackedXYVars",value:function(t){t.w.globals.seriesGroups.forEach((function(e){t[e]||(t[e]={}),t[e].xArrj=[],t[e].xArrjF=[],t[e].xArrjVal=[],t[e].yArrj=[],t[e].yArrjF=[],t[e].yArrjVal=[]}))}},{key:"getPathFillColor",value:function(t,e,i,a){var s,r,n,o,l=this.w,h=this.barCtx.ctx.fill,c=null,d=this.barCtx.barOptions.distributed?i:e,u=!1;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color,u=!0)}));return{color:h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(n=r.fill)&&void 0!==n&&n.type?null===(o=l.config.series[e].data[i])||void 0===o?void 0:o.fill.type:Array.isArray(l.config.fill.type)?l.config.fill.type[a]:l.config.fill.type}),useRangeColor:u}}},{key:"getStrokeWidth",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:"createBorderRadiusArr",value:function(t){var e,i=this.w,a=!this.w.config.chart.stacked||i.config.plotOptions.bar.borderRadius<=0,s=t.length,n=0|(null===(e=t[0])||void 0===e?void 0:e.length),o=Array.from({length:s},(function(){return Array(n).fill(a?"top":"none")}));if(a)return o;for(var l=0;l<n;l++){for(var h=[],c=[],d=0,u=0;u<s;u++){var g=t[u][l];g>0?(h.push(u),d++):g<0&&(c.push(u),d++)}if(h.length>0&&0===c.length)if(1===h.length)o[h[0]][l]="both";else{var p,f=h[0],x=h[h.length-1],b=r(h);try{for(b.s();!(p=b.n()).done;){var m=p.value;o[m][l]=m===f?"bottom":m===x?"top":"none"}}catch(t){b.e(t)}finally{b.f()}}else if(c.length>0&&0===h.length)if(1===c.length)o[c[0]][l]="both";else{var v,y=Math.max.apply(Math,c),w=Math.min.apply(Math,c),k=r(c);try{for(k.s();!(v=k.n()).done;){var A=v.value;o[A][l]=A===y?"bottom":A===w?"top":"none"}}catch(t){k.e(t)}finally{k.f()}}else if(h.length>0&&c.length>0){var C,S=h[h.length-1],L=r(h);try{for(L.s();!(C=L.n()).done;){var M=C.value;o[M][l]=M===S?"top":"none"}}catch(t){L.e(t)}finally{L.f()}var P,I=Math.max.apply(Math,c),T=r(c);try{for(T.s();!(P=T.n()).done;){var z=P.value;o[z][l]=z===I?"bottom":"none"}}catch(t){T.e(t)}finally{T.f()}}
46395else if(1===d){o[h[0]||c[0]][l]="both"}}return o}},{key:"barBackground",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,n=t.y2,o=t.elSeries,l=this.w,h=new Mi(this.barCtx.ctx),c=new Zi(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],u=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==n?n:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);o.add(u),u.node.classList.add("apexcharts-backgroundBar")}}},{key:"getColumnPaths",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,n=t.strokeWidth,o=t.isReversed,l=t.series,h=t.seriesGroup,c=t.realIndex,d=t.i,u=t.j,g=t.w,p=new Mi(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var f=i,x=a;null!==(e=g.config.series[c].data[u])&&void 0!==e&&e.columnWidthOffset&&(x=a-g.config.series[c].data[u].columnWidthOffset/2,f=i+g.config.series[c].data[u].columnWidthOffset);var b=n/2,m=x+b,v=x+f-b,y=(l[d][u]>=0?1:-1)*(o?-1:1);s+=.001-b*y,r+=.001+b*y;var w=p.move(m,s),k=p.move(m,s),A=p.line(v,s);if(g.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,u,!1)),w=w+p.line(m,r)+p.line(v,r)+A+("around"===g.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[c][u]?" Z":" z"),k=k+p.line(m,s)+A+A+A+A+A+p.line(m,s)+("around"===g.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[c][u]?" Z":" z"),"none"!==this.arrBorderRadius[c][u]&&(w=p.roundPathCorners(w,g.config.plotOptions.bar.borderRadius)),g.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[h]).yArrj.push(r-b*y),C.yArrjF.push(Math.abs(s-r+n*y)),C.yArrjVal.push(this.barCtx.series[d][u])}return{pathTo:w,pathFrom:k}}},{key:"getBarpaths",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,n=t.strokeWidth,o=t.isReversed,l=t.series,h=t.seriesGroup,c=t.realIndex,d=t.i,u=t.j,g=t.w,p=new Mi(this.barCtx.ctx);(n=Array.isArray(n)?n[c]:n)||(n=0);var f=i,x=a;null!==(e=g.config.series[c].data[u])&&void 0!==e&&e.barHeightOffset&&(f=i-g.config.series[c].data[u].barHeightOffset/2,x=a+g.config.series[c].data[u].barHeightOffset);var b=n/2,m=f+b,v=f+x-b,y=(l[d][u]>=0?1:-1)*(o?-1:1);s+=.001+b*y,r+=.001-b*y;var w=p.move(s,m),k=p.move(s,m);g.globals.previousPaths.length>0&&(k=this.barCtx.getPreviousPath(c,u,!1));var A=p.line(s,v);if(w=w+p.line(r,m)+p.line(r,v)+A+("around"===g.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[c][u]?" Z":" z"),k=k+p.line(s,m)+A+A+A+A+A+p.line(s,m)+("around"===g.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[c][u]?" Z":" z"),"none"!==this.arrBorderRadius[c][u]&&(w=p.roundPathCorners(w,g.config.plotOptions.bar.borderRadius)),g.config.chart.stacked){var C=this.barCtx;(C=this.barCtx[h]).xArrj.push(r+b*y),C.xArrjF.push(Math.abs(s-r-n*y)),C.xArrjVal.push(this.barCtx.series[d][u])}return{pathTo:w,pathFrom:k}}},{key:"checkZeroSeries",value:function(t){for(var e=t.series,i=this.w,a=0;a<e.length;a++){for(var s=0,r=0;r<e[i.globals.maxValsInArrayIndex].length;r++)s+=e[a][r];0===s&&this.barCtx.zeroSerieses.push(a)}}},{key:"getXForValue",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?e:null;return null!=t&&(i=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),i}},{key:"getYForValue",value:function(t,e,i){var a=!(arguments.length>3&&void 0!==arguments[3])||arguments[3]?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[i]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[i]:0)),a}},{key:"getGoalValues",value:function(t,e,i,a,s,r){var n=this,l=this.w,h=[],c=function(a,s){var l;h.push((o(l={},t,"x"===t?n.getXForValue(a,e,!1):n.getYForValue(a,i,r,!1)),o(l,"attrs",s),l))};if(l.globals.seriesGoals[a]&&l.globals.seriesGoals[a][s]&&Array.isArray(l.globals.seriesGoals[a][s])&&l.globals.seriesGoals[a][s].forEac
vendor: 5,809 bytes, line 46395
46395h((function(t){c(t.value,t)})),this.barCtx.barOptions.isDumbbell&&l.globals.seriesRange.length){var d=this.barCtx.barOptions.dumbbellColors?this.barCtx.barOptions.dumbbellColors:l.globals.colors,g={strokeHeight:"x"===t?0:l.globals.markers.size[a],strokeWidth:"x"===t?l.globals.markers.size[a]:0,strokeDashArray:0,strokeLineCap:"round",strokeColor:Array.isArray(d[a])?d[a][0]:d[a]};c(l.globals.seriesRangeStart[a][s],g),c(l.globals.seriesRangeEnd[a][s],u(u({},g),{},{strokeColor:Array.isArray(d[a])?d[a][1]:d[a]}))}return h}},{key:"drawGoalLine",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,n=t.barHeight,o=new Mi(this.barCtx.ctx),l=o.group({className:"apexcharts-bar-goals-groups"});l.node.classList.add("apexcharts-element-hidden"),this.barCtx.w.globals.delayedElements.push({el:l.node}),l.attr("clip-path","url(#gridRectMarkerMask".concat(this.barCtx.w.globals.cuid,")"));var h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){if(t.x>=-1&&t.x<=o.w.globals.gridWidth+1){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:n/2,a=i+e+n/2;h=o.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)}})):Array.isArray(s)&&s.forEach((function(t){if(t.y>=-1&&t.y<=o.w.globals.gridHeight+1){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=o.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)}})),l}},{key:"drawBarShadow",value:function(t){var e=t.prevPaths,i=t.currPaths,a=t.color,s=this.w,r=e.x,n=e.x1,o=e.barYPosition,l=i.x,h=i.x1,c=i.barYPosition,d=o+i.barHeight,u=new Mi(this.barCtx.ctx),g=new v,p=u.move(n,d)+u.line(r,d)+u.line(l,c)+u.line(h,c)+u.line(n,d)+("around"===s.config.plotOptions.bar.borderRadiusApplication||"both"===this.arrBorderRadius[realIndex][j]?" Z":" z");return u.drawPath({d:p,fill:g.shadeColor(.5,v.rgb2hex(a)),stroke:"none",strokeWidth:0,fillOpacity:1,classes:"apexcharts-bar-shadow apexcharts-decoration-element"})}},{key:"getZeroValueEncounters",value:function(t){var e,i=t.i,a=t.j,s=this.w,r=0,n=0;return(s.config.plotOptions.bar.horizontal?s.globals.series.map((function(t,e){return e})):(null===(e=s.globals.columnSeries)||void 0===e?void 0:e.i.map((function(t){return t})))||[]).forEach((function(t){var e=s.globals.seriesPercent[t][a];e&&r++,t<i&&0===e&&n++})),{nonZeroColumns:r,zeroEncounters:n}}},{key:"getGroupIndex",value:function(t){var e=this.w,i=e.globals.seriesGroups.findIndex((function(i){return i.indexOf(e.globals.seriesNames[t])>-1})),a=this.barCtx.columnGroupIndices,s=a.indexOf(i);return s<0&&(a.push(i),s=a.length-1),{groupIndex:i,columnGroupIndex:s}}}]),t}(),Pa=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.isVerticalGroupedRangeBar=!s.globals.isBarHorizontal&&s.globals.seriesRange.length&&s.config.plotOptions.bar.rangeBarGroupRows,this.isFunnel=this.barOptions.isFunnel,this.xyRatios=a,null!==this.xyRatios&&(this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.invertedXRatio=a.invertedXRatio,this.invertedYRatio=a.invertedYRatio,this.baseLineY=a.baseLineY,this.baseLineInvertedY=a.baseLineInvertedY),this.yaxisIndex=0,this.translationsIndex=0,this.seriesLen=0,this.pathArr=[];var r=new Zi(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex("desc",["bar","column"]),this.columnGroupIndices=[];var n=r.getBarSeriesIndices(),o=new Pi(this.ctx);this.stackedSeriesTotals=o.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===n.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new Ma(this)}return s(t,[{key:"draw",value:function(t,e){var i=this.w,a=new Mi(this.ctx),s=new Pi(this.ctx,i);t=s.getLogSeries(t),this.series=t,this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var r=a.group({class:"apexcharts-bar-series apexcharts-plot-series"});i.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn("WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering - ApexCharts");for(var n=0,o=0;n<t.length;n++,o++){var l,h,c,d,g=void 0,p=void 0,f=[],x=[],b=i.globals.comboCharts?e[n]:n,m=this.barHelpers.getGroupIndex(b).columnGroupIndex,y=a.group({class:"apexcharts-series",rel:n+1,seriesName:v.escapeString(i.globals.seriesNames[b]),"data:realIndex":b});this.ctx.series.addCollapsedClassToSeries(y,b),t[n].length>0&&(this.visibleI=this.visibleI+1);var w=0,k=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[b],this.translationsIndex=b);var A=this.translationsIndex;this.isReversed=i.config.yaxis[this.yaxisIndex]&&i.config.yaxis[this.yaxisIndex].reversed;var C=this.barHelpers.initialPositions(b);p=C.y,w=C.barHeight,h=C.yDivision,d=C.zeroW,g=C.x,k=C.barWidth,l=C.xDivision,c=C.zeroH,this.isHorizontal||x.push(g+k/2);var S=a.group({class:"apexcharts-datalabels","data:realIndex":b});i.globals.delayedElements.push({el:S.node}),S.node.classList.add("apexcharts-element-hidden");var L=a.group({class:"apexcharts-bar-goals-markers"}),M=a.group({class:"apexcharts-bar-shadows"});i.globals.delayedElements.push({el:M.node}),M.node.classList.add("apexcharts-element-hidden");for(var P=0;P<t[n].length;P++){var I=this.barHelpers.getStrokeWidth(n,P,b),T=null,z={indexes:{i:n,j:P,realIndex:b,translationsIndex:A,bc:o},x:g,y:p,strokeWidth:I,elSeries:y};this.isHorizontal?(T=this.drawBarPaths(u(u({},z),{}
vendor: 4,457 bytes, line 46395
46395,{barHeight:w,zeroW:d,yDivision:h})),k=this.series[n][P]/this.invertedYRatio):(T=this.drawColumnPaths(u(u({},z),{},{xDivision:l,barWidth:k,zeroH:c})),w=this.series[n][P]/this.yRatio[A]);var X=this.barHelpers.getPathFillColor(t,n,P,b);if(this.isFunnel&&this.barOptions.isFunnel3d&&this.pathArr.length&&P>0){var R,E=this.barHelpers.drawBarShadow({color:"string"==typeof X.color&&-1===(null===(R=X.color)||void 0===R?void 0:R.indexOf("url"))?X.color:v.hexToRgba(i.globals.colors[n]),prevPaths:this.pathArr[this.pathArr.length-1],currPaths:T});if(M.add(E),i.config.chart.dropShadow.enabled)new Li(this.ctx).dropShadow(E,i.config.chart.dropShadow,b)}this.pathArr.push(T);var Y=this.barHelpers.drawGoalLine({barXPosition:T.barXPosition,barYPosition:T.barYPosition,goalX:T.goalX,goalY:T.goalY,barHeight:w,barWidth:k});Y&&L.add(Y),p=T.y,g=T.x,P>0&&x.push(g+k/2),f.push(p),this.renderSeries(u(u({realIndex:b,pathFill:X.color},X.useRangeColor?{lineFill:X.color}:{}),{},{j:P,i:n,columnGroupIndex:m,pathFrom:T.pathFrom,pathTo:T.pathTo,strokeWidth:I,elSeries:y,x:g,y:p,series:t,barHeight:Math.abs(T.barHeight?T.barHeight:w),barWidth:Math.abs(T.barWidth?T.barWidth:k),elDataLabelsWrap:S,elGoalsMarkers:L,elBarShadows:M,visibleSeries:this.visibleI,type:"bar"}))}i.globals.seriesXvalues[b]=x,i.globals.seriesYvalues[b]=f,r.add(y)}return r}},{key:"renderSeries",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,n=t.columnGroupIndex,o=t.pathFrom,l=t.pathTo,h=t.strokeWidth,c=t.elSeries,d=t.x,u=t.y,g=t.y1,p=t.y2,f=t.series,x=t.barHeight,b=t.barWidth,m=t.barXPosition,v=t.barYPosition,y=t.elDataLabelsWrap,w=t.elGoalsMarkers,k=t.elBarShadows,A=t.visibleSeries,C=t.type,S=t.classes,L=this.w,M=new Mi(this.ctx),P=!1;if(!a){var I="function"==typeof L.globals.stroke.colors[e]?function(t){var e,i=L.config.stroke.colors;return Array.isArray(i)&&i.length>0&&((e=i[t])||(e=""),"function"==typeof e)?e({value:L.globals.series[t][s],dataPointIndex:s,w:L}):e}(e):L.globals.stroke.colors[e];a=this.barOptions.distributed?L.globals.stroke.colors[s]:I}var T=new La(this).handleBarDataLabels({x:d,y:u,y1:g,y2:p,i:r,j:s,series:f,realIndex:e,columnGroupIndex:n,barHeight:x,barWidth:b,barXPosition:m,barYPosition:v,visibleSeries:A});L.globals.isBarHorizontal||(T.dataLabelsPos.dataLabelsX+b<0||T.dataLabelsPos.dataLabelsX-b>L.globals.gridWidth)&&(P=!0),L.config.series[r].data[s]&&L.config.series[r].data[s].strokeColor&&(a=L.config.series[r].data[s].strokeColor),this.isNullValue&&(i="none");var z=s/L.config.chart.animations.animateGradually.delay*(L.config.chart.animations.speed/L.globals.dataPoints)/2.4;if(!P){var X=M.renderPaths({i:r,j:s,realIndex:e,pathFrom:o,pathTo:l,stroke:a,strokeWidth:h,strokeLineCap:L.config.stroke.lineCap,fill:i,animationDelay:z,initialSpeed:L.config.chart.animations.speed,dataChangeSpeed:L.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(C,"-area ").concat(S),chartType:C});X.attr("clip-path","url(#gridRectBarMask".concat(L.globals.cuid,")"));var R=L.config.forecastDataPoints;R.count>0&&s>=L.globals.dataPoints-R.count&&(X.node.setAttribute("stroke-dasharray",R.dashArray),X.node.setAttribute("stroke-width",R.strokeWidth),X.node.setAttribute("fill-opacity",R.fillOpacity)),void 0!==g&&void 0!==p&&(X.attr("data-range-y1",g),X.attr("data-range-y2",p)),new Li(this.ctx).setSelectionFilter(X,e,s),c.add(X),X.attr({cy:T.dataLabelsPos.bcy,cx:T.dataLabelsPos.bcx,j:s,val:L.globals.series[r][s],barHeight:x,barWidth:b}),null!==T.dataLabels&&y.add(T.dataLabels),T.totalDataLabels&&y.add(T.totalDataLabels),c.add(y),w&&c.add(w),k&&c.add(k)}return c}},{key:"drawBarPaths",value:function(t){var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,n=t.x,o=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=i.i,u=i.j;if(c.globals.isXNumeric)e=(o=(c.globals.seriesX[d][u]-c.globals.minX)/this.invertedXRatio-a)+a*this.visibleI;else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var g=this.barHelpers.getZeroValueEncounters({i:d,j:u}),p=g.nonZeroColumns,f=g.zeroEncounters;p>0&&(a=this.seriesLen*a/p),e=o+a*this.visibleI,e-=a*f}else e=o+a*this.visibleI;this.isFunnel&&(r-=(this.barHelpers.getXForValue(this.series[d][u],r)-r)/2),n=this.barHelpers.getXForValue(this.series[d][u],r);var x=this.barHelpers.getBarpaths({barYPosition:e,barHeight:a,x1:r,x2:n,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,i:d,j:u,w:c});return c.globals.isXNumeric||(o+=l),this.barHelpers.barBackgroun
vendor: 14,467 bytes, line 46395
46395d({j:u,i:d,y1:e-a*this.visibleI,y2:a*this.seriesLen,elSeries:h}),{pathTo:x.pathTo,pathFrom:x.pathFrom,x1:r,x:n,y:o,goalX:this.barHelpers.getGoalValues("x",r,null,d,u),barYPosition:e,barHeight:a}}},{key:"drawColumnPaths",value:function(t){var e,i=t.indexes,a=t.x,s=t.y,r=t.xDivision,n=t.barWidth,o=t.zeroH,l=t.strokeWidth,h=t.elSeries,c=this.w,d=i.realIndex,u=i.translationsIndex,g=i.i,p=i.j,f=i.bc;if(c.globals.isXNumeric){var x=this.getBarXForNumericXAxis({x:a,j:p,realIndex:d,barWidth:n});a=x.x,e=x.barXPosition}else if(c.config.plotOptions.bar.hideZeroBarsWhenGrouped){var b=this.barHelpers.getZeroValueEncounters({i:g,j:p}),m=b.nonZeroColumns,v=b.zeroEncounters;m>0&&(n=this.seriesLen*n/m),e=a+n*this.visibleI,e-=n*v}else e=a+n*this.visibleI;s=this.barHelpers.getYForValue(this.series[g][p],o,u);var y=this.barHelpers.getColumnPaths({barXPosition:e,barWidth:n,y1:o,y2:s,strokeWidth:l,isReversed:this.isReversed,series:this.series,realIndex:d,i:g,j:p,w:c});return c.globals.isXNumeric||(a+=r),this.barHelpers.barBackground({bc:f,j:p,i:g,x1:e-l/2-n*this.visibleI,x2:n*this.seriesLen+l/2,elSeries:h}),{pathTo:y.pathTo,pathFrom:y.pathFrom,x:a,y:s,goalY:this.barHelpers.getGoalValues("y",null,o,g,p,u),barXPosition:e,barWidth:n}}},{key:"getBarXForNumericXAxis",value:function(t){var e=t.x,i=t.barWidth,a=t.realIndex,s=t.j,r=this.w,n=a;return r.globals.seriesX[a].length||(n=r.globals.maxValsInArrayIndex),v.isNumber(r.globals.seriesX[n][s])&&(e=(r.globals.seriesX[n][s]-r.globals.minX)/this.xRatio-i*this.seriesLen/2),{barXPosition:e+i*this.visibleI,x:e}}},{key:"getPreviousPath",value:function(t,e){for(var i=this.w,a="M 0 0",s=0;s<i.globals.previousPaths.length;s++){var r=i.globals.previousPaths[s];r.paths&&r.paths.length>0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==i.globals.previousPaths[s].paths[e]&&(a=i.globals.previousPaths[s].paths[e].d)}return a}}]),t}(),Ia=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:"draw",value:function(t,e){var i=this,a=this.w;this.graphics=new Mi(this.ctx),this.bar=new Pa(this.ctx,this.xyRatios);var s=new Pi(this.ctx,a);t=s.getLogSeries(t),this.yRatio=s.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),"100%"===a.config.chart.stackType&&(t=a.globals.comboCharts?e.map((function(t){return a.globals.seriesPercent[t]})):a.globals.seriesPercent.slice()),this.series=t,this.barHelpers.initializeStackedPrevVars(this);for(var r=this.graphics.group({class:"apexcharts-bar-series apexcharts-plot-series"}),n=0,o=0,l=function(s,l){var h=void 0,c=void 0,d=void 0,g=void 0,p=a.globals.comboCharts?e[s]:s,f=i.barHelpers.getGroupIndex(p),x=f.groupIndex,b=f.columnGroupIndex;i.groupCtx=i[a.globals.seriesGroups[x]];var m=[],y=[],w=0;i.yRatio.length>1&&(i.yaxisIndex=a.globals.seriesYAxisReverseMap[p][0],w=p),i.isReversed=a.config.yaxis[i.yaxisIndex]&&a.config.yaxis[i.yaxisIndex].reversed;var k=i.graphics.group({class:"apexcharts-series",seriesName:v.escapeString(a.globals.seriesNames[p]),rel:s+1,"data:realIndex":p});i.ctx.series.addCollapsedClassToSeries(k,p);var A=i.graphics.group({class:"apexcharts-datalabels","data:realIndex":p}),C=i.graphics.group({class:"apexcharts-bar-goals-markers"}),S=0,L=0,M=i.initialPositions(n,o,h,c,d,g,w);o=M.y,S=M.barHeight,c=M.yDivision,g=M.zeroW,n=M.x,L=M.barWidth,h=M.xDivision,d=M.zeroH,a.globals.barHeight=S,a.globals.barWidth=L,i.barHelpers.initializeStackedXYVars(i),1===i.groupCtx.prevY.length&&i.groupCtx.prevY[0].every((function(t){return isNaN(t)}))&&(i.groupCtx.prevY[0]=i.groupCtx.prevY[0].map((function(){return d})),i.groupCtx.prevYF[0]=i.groupCtx.prevYF[0].map((function(){return 0})));for(var P=0;P<a.globals.dataPoints;P++){var I=i.barHelpers.getStrokeWidth(s,P,p),T={indexes:{i:s,j:P,realIndex:p,translationsIndex:w,bc:l},strokeWidth:I,x:n,y:o,elSeries:k,columnGroupIndex:b,seriesGroup:a.globals.seriesGroups[x]},z=null;i.isHorizontal?(z=i.drawStackedBarPaths(u(u({},T),{},{zeroW:g,barHeight:S,yDivision:c})),L=i.series[s][P]/i.invertedYRatio):(z=i.drawStackedColumnPaths(u(u({},T),{},{xDivision:h,barWidth:L,zeroH:d})),S=i.series[s][P]/i.yRatio[w]);var X=i.barHelpers.drawGoalLine({barXPosition:z.barXPosition,barYPosition:z.barYPosition,goalX:z.goalX,goalY:z.goalY,barHeight:S,barWidth:L});X&&C.add(X),o=z.y,n=z.x,m.push(n),y.push(o);var R=i.barHelpers.getPathFillColor(t,s,P,p),E="",Y=a.globals.isBarHorizontal?"apexcharts-flip-x":"apexcharts-flip-y";("bottom"===i.barHelpers.arrBorderRadius[p][P]&&a.globals.series[p][P]>0||"top"===i.barHelpers.arrBorderRadius[p][P]&&a.globals.series[p][P]<0)&&(E=Y),k=i.renderSeries(u(u({realIndex:p,pathFill:R.color},R.useRangeColor?{lineFill:R.color}:{}),{},{j:P,i:s,columnGroupIndex:b,pathFrom:z.pathFrom,pathTo:z.pathTo,strokeWidth:I,elSeries:k,x:n,y:o,series:t,barHeight:S,barWidth:L,elDataLabelsWrap:A,elGoalsMarkers:C,type:"bar",visibleSeries:b,classes:E}))}a.globals.seriesXvalues[p]=m,a.globals.seriesYvalues[p]=y,i.groupCtx.prevY.push(i.groupCtx.yArrj),i.groupCtx.prevYF.push(i.groupCtx.yArrjF),i.groupCtx.prevYVal.push(i.groupCtx.yArrjVal),i.groupCtx.prevX.push(i.groupCtx.xArrj),i.groupCtx.prevXF.push(i.groupCtx.xArrjF),i.groupCtx.prevXVal.push(i.groupCtx.xArrjVal),r.add(k)},h=0,c=0;h<t.length;h++,c++)l(h,c);return r}},{key:"initialPositions",value:function(t,e,i,a,s,r,n){var o,l,h=this.w;if(this.isHorizontal){a=h.globals.gridHeight/h.globals.dataPoints;var c=h.config.plotOptions.bar.barHeight;o=-1===String(c).indexOf("%")?parseInt(c,10):a*parseInt(c,10)/100,r=h.globals.padHorizontal+(this.isReversed?h.globals.gridWidth-this.baseLineInvertedY:this.baseLineInvertedY),e=(a-o)/2}else{l=i=h.globals.gridWidth/h.globals.dataPoints;var d=h.config.plotOptions.bar.columnWidth;h.globals.isXNumeric&&h.globals.dataPoints>1?l=(i=h.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:-1===String(d).indexOf("%")?l=parseInt(d,10):l*=parseInt(d,10)/100,s=this.isReversed?this.baseLineY[n]:h.globals.gridHeight-this.baseLineY[n],t=h.globals.padHorizontal+(i-l)/2}var u=h.globals.barGroups.length||1;return{x:t,y:e,yDivision:a,xDivision:i,barHeight:o/u,barWidth:l/u,zeroH:s,zeroW:r}}},{key:"drawStackedBarPaths",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,n=t.x,o=t.y,l=t.columnGroupIndex,h=t.seriesGroup,c=t.yDivision,d=t.elSeries,u=this.w,g=o+l*a,p=i.i,f=i.j,x=i.realIndex,b=i.translationsIndex,m=0,v=0;v<this.groupCtx.prevXF.length;v++)m+=this.groupCtx.prevXF[v][f];var y=p;if(u.config.series[x].name&&(y=h.indexOf(u.config.series[x].name)),y>0){var w=r;this.groupCtx.prevXVal[y-1][f]<0?w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]+m-2*(this.isReversed?m:0):this.groupCtx.prevX[y-1][f]:this.groupCtx.prevXVal[y-1][f]>=0&&(w=this.series[p][f]>=0?this.groupCtx.prevX[y-1][f]:this.groupCtx.prevX[y-1][f]-m+2*(this.isReversed?m:0)),e=w}else e=r;n=null===this.series[p][f]?e:e+this.series[p][f]/this.invertedYRatio-2*(this.isReversed?this.series[p][f]/this.invertedYRatio:0);var k=this.barHelpers.getBarpaths({barYPosition:g,barHeight:a,x1:e,x2:n,strokeWidth:s,isReversed:this.isReversed,series:this.series,realIndex:i.realIndex,seriesGroup:h,i:p,j:f,w:u});return this.barHelpers.barBackground({j:f,i:p,y1:g,y2:a,elSeries:d}),o+=c,{pathTo:k.pathTo,pathFrom:k.pathFrom,goalX:this.barHelpers.getGoalValues("x",r,null,p,f,b),barXPosition:e,barYPosition:g,x:n,y:o}}},{key:"drawStackedColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,n=t.zeroH,o=t.columnGroupIndex,l=t.seriesGroup,h=t.elSeries,c=this.w,d=e.i,u=e.j,g=e.bc,p=e.realIndex,f=e.translationsIndex;if(c.globals.isXNumeric){var x=c.globals.seriesX[p][u];x||(x=0),i=(x-c.globals.minX)/this.xRatio-r/2*c.globals.barGroups.length}for(var b,m=i+o*r,v=0,y=0;y<this.groupCtx.prevYF.length;y++)v+=isNaN(this.groupCtx.prevYF[y][u])?0:this.groupCtx.prevYF[y][u];var w=d;if(l&&(w=l.indexOf(c.globals.seriesNames[p])),w>0&&!c.globals.isXNumeric||w>0&&c.globals.isXNumeric&&c.globals.seriesX[p-1][u]===c.globals.seriesX[p][u]){var k,A,C,S=Math.min(this.yRatio.length+1,p+1);if(void 0!==this.groupCtx.prevY[w-1]&&this.groupCtx.prevY[w-1].length)for(var L=1;L<S;L++){var M;if(!isNaN(null===(M=this.groupCtx.prevY[w-L])||void 0===M?void 0:M[u])){C=this.groupCtx.prevY[w-L][u];break}}for(var P=1;P<S;P++){var I,T;if((null===(I=this.groupCtx.prevYVal[w-P])||void 0===I?void 0:I[u])<0){A=this.series[d][u]>=0?C-v+2*(this.isReversed?v:0):C;break}if((null===(T=this.groupCtx.prevYVal[w-P])||void 0===T?void 0:T[u])>=0){A=this.series[d][u]>=0?C:C+v-2*(this.isReversed?v:0);break}}void 0===A&&(A=c.globals.gridHeight),b=null!==(k=this.groupCtx.prevYF[0])&&void 0!==k&&k.every((function(t){return 0===t}))&&this.groupCtx.prevYF.slice(1,w).every((function(t){return t.every((function(t){return isNaN(t)}))}))?n:A}else b=n;a=this.series[d][u]?b-this.series[d][u]/this.yRatio[f]+2*(this.isReversed?this.series[d][u]/this.yRatio[f]:0):b;var z=this.barHelpers.getColumnPaths({barXPosition:m,barWidth:r,y1:b,y2:a,yRatio:this.yRatio[f],strokeWidth:this.strokeWidth,isReversed:this.isReversed,series:this.series,seriesGroup:l,realIndex:e.realIndex,i:d,j:u,w:c});return this.barHelpers.barBackground({bc:g,j:u,i:d,x1:m,x2:r,elSeries:h}),{pathTo:z.pathTo,pathFrom:z.pathFrom,goalY:this.barHelpers.getGoalValues("y",null,n,d,u),barXPosition:m,x:c.globals.isXNumeric?i:i+s,y:a}}}]),a}(Pa),Ta=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:"draw",value:function(t,e,i){var a=this,s=this.w,r=new Mi(this.ctx),n=s.globals.comboCharts?e:s.config.chart.type,o=new ji(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal,this.isOHLC=this.candlestickOptions&&"ohlc"===this.candlestickOptions.type;var l=new Pi(this.ctx,s);t=l.getLogSeries(t),this.series=t,this.yRatio=l.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var h=r.group({class:"apexcharts-".concat(n,"-series apexcharts-plot-series")}),c=function(e){a.isBoxPlot="boxPlot"===s.config.chart.type||"boxPlot"===s.config.series[e].type;var n,l,c,d,g=void 0,p=void 0,f=[],x=[],b=s.globals.comboCharts?i[e]:e,m=a.barHelpers.getGroupIndex(b).columnGroupIndex,y=r.group({class:"apexcharts-series",seriesName:v.escapeString(s.globals.seriesNames[b]),rel:e+1,"data:realIndex":b});a.ctx.series.addCollapsedClassToSeries(y,b),t[e].length>0&&(a.visibleI=a.visibleI+1);var w,k,A=0;a.yRatio.length>1&&(a.yaxisIndex=s.globals.seriesYAxisReverseMap[b][0],A=b);var C=a.barHelpers.initialPositions(b);p=C.y,w=C.barHeight,l=C.yDivision,d=C.zeroW,g=C.x,k=C.barWidth,n=C.xDivision,c=C.zeroH,x.push(g+k/2);for(var S=r.group({class:"apexcharts-datalabels","data:realIndex":b}),L=r.group({class:"apexcharts-bar-goals-markers"}),M=function(i){var r=a.barHelpers.getStrokeWidth(e,i,b),h=null,v={indexes:{i:e,j:i,realIndex:b,translationsIndex:A},x:g,y:p,strokeWidth:r,elSeries:y};h=a.isHorizontal?a.drawHorizontalBoxPaths(u(u({},v),{},{yDivision:l,barHeight:w,zeroW:d})):a.drawVerticalBoxPaths(u(u({},v),{},{xDivision:n,barWidth:k,zeroH:c})),p=h.y,g=h.x;var C=a.barHelpers.drawGoalLine({barXPosition:h.barXPosition,barYPosition:h.barYPosition,goalX:h.goalX,goalY:h.goalY,barHeight:w,barWidth:k});C&&L.add(C),i>0&&x.push(g+k/2),f.push(p),h.pathTo.forEach((function(n,l){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?h.color[l]:s.globals.stroke.colors[e],d=o.fillPath({seriesNumber:b,dataPointIndex:i,color:h.color[l],value:t[e][i]});a.renderSeries({realIndex:b,pathFill:d,lineFill:c,j:i,i:e,pathFrom:h.pathFrom,pathTo:n,strokeWidth:r,elSeries:y,x:g,y:p,series:t,columnGroupIndex:m,barHeight:w,barWidth:k,elDataLabelsWrap:S,elGoalsMarkers:L,visibleSeries:a.visibleI,type:s.config.chart.type})}))},P=0;P<s.globals.dataPoints;P++)M(P);s.globals.seriesXvalues[b]=x,s.globals.seriesYvalues[b]=f,h.add(y)},d=0;d<t.length;d++)c(d);return h}},{key:"drawVerticalBoxPaths",value:function(t){var e=t.indexes,i=t.x;t.y;var a=t.xDivision,s=t.barWidth,r=t.zeroH,n=t.strokeWidth,o=this.w,l=new Mi(this.ctx),h=e.i,c=e.j,d=o.config.plotOptions.candlestick.colors,u=this.boxOptions.colors,g=e.realIndex,p=function(t){return Array.isArray(t)?t[g]:t},f=p(d.upward),x=p(d.downward),b=this.yRatio[e.translationsIndex],m=this.getOHLCValue(g,c),v=r,y=r,w=m.o<m.c?[f]:[x];this.isBoxPlot&&(w=[p(u.lower),p(u.upper)]);var k=Math.min(m.o,m.c),A=Math.max(m.o,m.c),C=m.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[g][c]-o.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(k=r,A=r):(k=r-k/b,A=r-A/b,v=r-m.h/b,y=r-m.l/b,C=r-m.m/b);var L=l.move(S,r),M=l.move(S+s/2,k);if(o.globals.previousPaths.length>0&&(M=this.getPreviousPath(g,c,!0)),this.isOHLC){var P=S+s/2,I=r-m.o/b,T=r-m.c/b;L=[l.move(P,v)+l.line(P,y)+l.move(P,I)+l.line(S,I)+l.move(P,T)+l.line(S+s,T)]}else L=this.isBoxPlot?[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,C)+l.line(S,C)+l.line(S,k+n/2),l.move(S,C)+l.line(S+s,C)+l.line(S+s,A)+l.line(S+s/2,A)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,A)+l.line(S,A)+l.line(S,C)+"z"]:[l.move(S,A)+l.line(S+s/2,A)+l.line(S+s/2,v)+l.line(S+s/2,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A-n/2)];return M+=l.move(S,k),o.globals.isXNumeric||(i+=a),{pathTo:L,pathFrom:M,x:i,y:A,goalY:this.barHelpers.getGoalValues("y",null,r,h,c,e.translationsIndex),barXPosition:S,color:w}}},{key:"drawHorizontalBoxPaths",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,n=t.strokeWidth,o=this.w,l=new Mi(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var u=this.invertedYRatio,g=e.realIndex,p=this.getOHLCValue(g,c),f=r,x=r,b=Math.min(p.o,p.c),m=Math.max(p.o,p.c),v=p.m;o.globals.isXNumeric&&(i=(o.globals.seriesX[g][c]-o.globals.minX)/this.invertedXRatio-s/2);var y=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,m=r):(b=r+b/u,m=r+m/u,f=r+p.h/u,x=r+p.l/u,v=r+p.m/u);var w=l.move(r,y),k=l.move(b,y+s/2);return o.globals.previousPaths.length>0&&(k=this.getPreviousPath(g,c,!0)),w=[l.move(b,y)+l.line(b,y+s/2)+l.line(f,y+s/2)+l.line(f,y+s/2-s/4)+l.line(f,y+s/2+s/4)+l.line(f,y+s/2)+l.line(b,y+s/2)+l.line(b,y+s)+l.line(v,y+s)+l.line(v,y)+l.line(b+n/2,y),l.move(v,
vendor: 4,603 bytes, line 46395
46395y)+l.line(v,y+s)+l.line(m,y+s)+l.line(m,y+s/2)+l.line(x,y+s/2)+l.line(x,y+s-s/4)+l.line(x,y+s/4)+l.line(x,y+s/2)+l.line(m,y+s/2)+l.line(m,y)+l.line(v,y)+"z"],k+=l.move(b,y),o.globals.isXNumeric||(i+=a),{pathTo:w,pathFrom:k,x:m,y:i,goalX:this.barHelpers.getGoalValues("x",r,null,h,c),barYPosition:y,color:d}}},{key:"getOHLCValue",value:function(t,e){var i=this.w,a=new Pi(this.ctx,i),s=a.getLogValAtSeriesIndex(i.globals.seriesCandleH[t][e],t),r=a.getLogValAtSeriesIndex(i.globals.seriesCandleO[t][e],t),n=a.getLogValAtSeriesIndex(i.globals.seriesCandleM[t][e],t),o=a.getLogValAtSeriesIndex(i.globals.seriesCandleC[t][e],t),l=a.getLogValAtSeriesIndex(i.globals.seriesCandleL[t][e],t);return{o:this.isBoxPlot?s:r,h:this.isBoxPlot?r:s,m:n,l:this.isBoxPlot?o:l,c:this.isBoxPlot?l:o}}}]),a}(Pa),za=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"checkColorRange",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:"getShadeColor",value:function(t,e,i,a){var s=this.w,r=1,n=s.config.plotOptions[t].shadeIntensity,o=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?o.percent<0?o.percent/100*(1.25*n):(1-o.percent/100)*(1.25*n):o.percent<=0?1-(1+o.percent/100)*n:(1-o.percent/100)*n:(r=1-o.percent/100,"treemap"===t&&(r=(1-o.percent/100)*(1.25*n)));var l=o.color,h=new v;if(s.config.plotOptions[t].enableShades)if("dark"===this.w.config.theme.mode){var c=h.shadeColor(-1*r,o.color);l=v.hexToRgba(v.isColorHex(c)?c:v.rgb2hex(c),s.config.fill.opacity)}else{var d=h.shadeColor(r,o.color);l=v.hexToRgba(v.isColorHex(d)?d:v.rgb2hex(d),s.config.fill.opacity)}return{color:l,colorProps:o}}},{key:"determineColor",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],n=r.colorScale.inverse?i:e;r.distributed&&"treemap"===a.config.chart.type&&(n=i);var o=a.globals.colors[n],l=null,h=Math.min.apply(Math,f(a.globals.series[e])),c=Math.max.apply(Math,f(a.globals.series[e]));r.distributed||"heatmap"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.min<a.globals.minY?r.colorScale.min:a.globals.minY,c=r.colorScale.max>a.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),u=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){o=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);u=100*s/(0===i?i-1e-6:i)}}));return{color:o,foreColor:l,percent:u}}},{key:"calculateDataLabels",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,n=t.colorProps,o=t.fontSize,l=this.w.config.dataLabels,h=new Mi(this.ctx),c=new qi(this.ctx),d=null;if(l.enabled){d=h.group({class:"apexcharts-data-labels"});var u=l.offsetX,g=l.offsetY,p=i+u,f=a+parseFloat(l.style.fontSize)/3+g;c.plotDataLabelsText({x:p,y:f,text:e,i:s,j:r,color:n.foreColor,parent:d,fontSize:o,dataLabelsConfig:l})}return d}},{key:"addListeners",value:function(t){var e=new Mi(this.ctx);t.node.addEventListener("mouseenter",e.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",e.pathMouseLeave.bind(this,t)),t.node.addEventListener("mousedown",e.pathMouseDown.bind(this,t))}}]),t}(),Xa=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w,this.xRatio=a.xRatio,this.yRatio=a.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new za(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return s(t,[{key:"draw",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:"apexcharts-heatmap"});a.attr("clip-path","url(#gridRectMask".concat(e.globals.cuid,")"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,n=0,o=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(o=!0,l.reverse());for(var h=o?0:l.length-1;o?h<l.length:h>=0;o?h++:h--){var c=i.group({class:"apexcharts-series apexcharts-heatmap-series",seriesName:v.escapeString(e.globals.seriesNames[h]),rel:h+1,"data:realIndex":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new Li(this.ctx).dropShadow(c,d,h)}for(var u=0,g=e.config.plotOptions.heatmap.shadeIntensity,p=0,f=0;f<e.globals.dataPoints;f++)if(e.globals.seriesX.length&&!e.globals.allSeriesHasEqualX&&e.globals.minX+e.globals.minXDiff*f<e.globals.seriesX[h][p
vendor: 6,747 bytes, line 46395
46395])u+=s;else{if(p>=l[h].length)break;var x=this.helpers.getShadeColor(e.config.chart.type,h,p,this.negRange),b=x.color,m=x.colorProps;if("image"===e.config.fill.type)b=new ji(this.ctx).fillPath({seriesNumber:h,dataPointIndex:p,opacity:e.globals.hasNegs?m.percent<0?1-(1+m.percent/100):g+m.percent/100:m.percent/100,patternID:v.randomId(),width:e.config.fill.image.width?e.config.fill.image.width:s,height:e.config.fill.image.height?e.config.fill.image.height:r});var y=this.rectRadius,w=i.drawRect(u,n,s,r,y);if(w.attr({cx:u,cy:n}),w.node.classList.add("apexcharts-heatmap-rect"),c.add(w),w.attr({fill:b,i:h,index:h,j:p,val:t[h][p],"stroke-width":this.strokeWidth,stroke:e.config.plotOptions.heatmap.useFillColorAsStroke?b:e.globals.stroke.colors[0],color:b}),this.helpers.addListeners(w),e.config.chart.animations.enabled&&!e.globals.dataChanged){var k=1;e.globals.resized||(k=e.config.chart.animations.speed),this.animateHeatMap(w,u,n,s,r,k)}if(e.globals.dataChanged){var A=1;if(this.dynamicAnim.enabled&&e.globals.shouldAnimate){A=this.dynamicAnim.speed;var C=e.globals.previousPaths[h]&&e.globals.previousPaths[h][p]&&e.globals.previousPaths[h][p].color;C||(C="rgba(255, 255, 255, 0)"),this.animateHeatColor(w,v.isColorHex(C)?C:v.rgb2hex(C),v.isColorHex(b)?b:v.rgb2hex(b),A)}}var S=(0,e.config.dataLabels.formatter)(e.globals.series[h][p],{value:e.globals.series[h][p],seriesIndex:h,dataPointIndex:p,w:e}),L=this.helpers.calculateDataLabels({text:S,x:u+s/2,y:n+r/2,i:h,j:p,colorProps:m,series:l});null!==L&&c.add(L),u+=s,p++}n+=r,a.add(c)}var M=e.globals.yAxisScale[0].result.slice();return e.config.yaxis[0].reversed?M.unshift(""):M.push(""),e.globals.yAxisScale[0].result=M,a}},{key:"animateHeatMap",value:function(t,e,i,a,s,r){var n=new y(this.ctx);n.animateRect(t,{x:e+a/2,y:i+s/2,width:0,height:0},{x:e,y:i,width:a,height:s},r,(function(){n.animationCompleted(t)}))}},{key:"animateHeatColor",value:function(t,e,i,a){t.attr({fill:e}).animate(a).attr({fill:i})}}]),t}(),Ra=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"drawYAxisTexts",value:function(t,e,i,a){var s=this.w,r=s.config.yaxis[0],n=s.globals.yLabelFormatters[0];return new Mi(this.ctx).drawText({x:t+r.labels.offsetX,y:e+r.labels.offsetY,text:n(a,i),textAnchor:"middle",fontSize:r.labels.style.fontSize,fontFamily:r.labels.style.fontFamily,foreColor:Array.isArray(r.labels.style.colors)?r.labels.style.colors[i]:r.labels.style.colors})}}]),t}(),Ea=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w;var a=this.w;this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animBeginArr=[0],this.animDur=0,this.donutDataLabels=this.w.config.plotOptions.pie.donut.labels,this.lineColorArr=void 0!==a.globals.stroke.colors?a.globals.stroke.colors:a.globals.colors,this.defaultSize=Math.min(a.globals.gridWidth,a.globals.gridHeight),this.centerY=this.defaultSize/2,this.centerX=a.globals.gridWidth/2,"radialBar"===a.config.chart.type?this.fullAngle=360:this.fullAngle=Math.abs(a.config.plotOptions.pie.endAngle-a.config.plotOptions.pie.startAngle),this.initialAngle=a.config.plotOptions.pie.startAngle%this.fullAngle,a.globals.radialSize=this.defaultSize/2.05-a.config.stroke.width-(a.config.chart.sparkline.enabled?0:a.config.chart.dropShadow.blur),this.donutSize=a.globals.radialSize*parseInt(a.config.plotOptions.pie.donut.size,10)/100;var s=a.config.plotOptions.pie.customScale,r=a.globals.gridWidth/2,n=a.globals.gridHeight/2;this.translateX=r-r*s,this.translateY=n-n*s,this.dataLabelsGroup=new Mi(this.ctx).group({class:"apexcharts-datalabels-group",transform:"translate(".concat(this.translateX,", ").concat(this.translateY,") scale(").concat(s,")")}),this.maxY=0,this.sliceLabels=[],this.sliceSizes=[],this.prevSectorAngleArr=[]}return s(t,[{key:"draw",value:function(t){var e=this,i=this.w,a=new Mi(this.ctx),s=a.group({class:"apexcharts-pie"});if(i.globals.noData)return s;for(var r=0,n=0;n<t.length;n++)r+=v.negToZero(t[n]);var o=[],l=a.group();0===r&&(r=1e-5),t.forEach((function(t){e.maxY=Math.max(e.maxY,t)})),i.config.yaxis[0].max&&(this.maxY=i.config.yaxis[0].max),"back"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(s);for(var h=0;h<t.length;h++){var c=this.fullAngle*v.negToZero(t[h])/r;o.push(c),"polarArea"===this.chartType?(o[h]=this.fullAngle/t.length,this.sliceSizes.push(i.globals.radialSize*t[h]/this.maxY)):this.sliceSizes.push(i.globals.radialSize)}if(i.globals.dataChanged){for(var d,u=0,g=0;g<i.globals.previousPaths.length;g++)u+=v.negToZero(i.globals.previousPaths[g]);for(var p=0;p<i.globals.previousPaths.length;p++)d=this.fullAngle*v.negToZero(i.globals.previousPaths[p])/u,this.prevSectorAngleArr.push(d)}if(this.donutSize<0&&(this.donutSize=0),"donut"===this.chartType){var f=a.drawCircle(this.donutSize);f.attr({cx:this.centerX,cy:this.centerY,fill:i.config.plotOptions.pie.donut.background?i.config.plotOptions.pie.donut.background:"transparent"}),l.add(f)}var x=this.drawArcs(o,t);if(this.sliceLabels.forEach((function(t){x.add(t)})),l.attr({transform:"translate(".concat(this.translateX,", ").concat(this.translateY,") scale(").concat(i.config.plotOptions.pie.customScale,")")}),l.add(x),s.add(l),this.donutDataLabels.show){var b=this.renderInnerDataLabels(this.dataLabelsGroup,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show});s.add(b)}return"front"===i.config.grid.position&&"polarArea"===this.chartType&&this.drawPolarElements(s),s}},{key:"drawArcs",value:function(t,e){var i=this.w,a=new Li(this.ctx),s=new Mi(this.ctx),r=new ji(this.ctx),n=s.group({class:"apexcharts-slices"}),o=this.initialAngle,l=this.initialAngle,h=this.initialAngle,c=this.initialAngle;this.strokeWidth=i.config.stroke.show?i.config.stroke.width:0;for(var d=0;d<t.length;d++){var u=s.group({class:"apexcharts-series apexcharts-pie-series",seriesName:v.escapeString(i.globals.seriesNames[d]),rel:d+1,"data:realIndex":d});n.add(u),l=c,h=(o=h)+t[d],c=l+this.prevSectorAngleArr[d];var g=h<o?this.fullAngle+h-o:h-o,p=r.fillPath({seriesNumber:d,size:this.sliceSizes[d],value:e[d]}),f=this.getChangedPath(l,c),x=s.drawPath({d:f,stroke:Array.isArray(this.lineColorArr)?this.lineColorArr[d]:this.lineColorArr,strokeWidth:0,fill:p,fillOpacity:i.config.fill.opacity,classes:"apexcharts-pie-area apexcharts-".concat(this.chartType.toLowerCase(),"-slice-").concat(d)});if(x.attr({index:0,j:d}),a.setSelectionFilter(x,0,d),i.config.chart.dropShadow.enabled){var b=i.config.chart.dropShadow;a.dropShadow(x,b,d)}this.addListeners(x,this.donutDataLabels),Mi.setAttrs(x.node,{"data:angle":g,"data:startAngle":
vendor: 1,517 bytes, line 46395
46395o,"data:strokeWidth":this.strokeWidth,"data:value":e[d]});var m={x:0,y:0};"pie"===this.chartType||"polarArea"===this.chartType?m=v.polarToCartesian(this.centerX,this.centerY,i.globals.radialSize/1.25+i.config.plotOptions.pie.dataLabels.offset,(o+g/2)%this.fullAngle):"donut"===this.chartType&&(m=v.polarToCartesian(this.centerX,this.centerY,(i.globals.radialSize+this.donutSize)/2+i.config.plotOptions.pie.dataLabels.offset,(o+g/2)%this.fullAngle)),u.add(x);var y=0;if(!this.initialAnim||i.globals.resized||i.globals.dataChanged?this.animBeginArr.push(0):(0===(y=g/this.fullAngle*i.config.chart.animations.speed)&&(y=1),this.animDur=y+this.animDur,this.animBeginArr.push(this.animDur)),this.dynamicAnim&&i.globals.dataChanged?this.animatePaths(x,{size:this.sliceSizes[d],endAngle:h,startAngle:o,prevStartAngle:l,prevEndAngle:c,animateStartingPos:!0,i:d,animBeginArr:this.animBeginArr,shouldSetPrevPaths:!0,dur:i.config.chart.animations.dynamicAnimation.speed}):this.animatePaths(x,{size:this.sliceSizes[d],endAngle:h,startAngle:o,i:d,totalItems:t.length-1,animBeginArr:this.animBeginArr,dur:y}),i.config.plotOptions.pie.expandOnClick&&"polarArea"!==this.chartType&&x.node.addEventListener("mouseup",this.pieClicked.bind(this,d)),void 0!==i.globals.selectedDataPoints[0]&&i.globals.selectedDataPoints[0].indexOf(d)>-1&&this.pieClicked(d),i.config.dataLabels.enabled){var w=m.x,k=m.y,A=100*g/this.fullAngle+"%";if(0!==g&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabel<t[d]){var C=i.config.dataLabels.formatter;
vendor: 4,122 bytes, line 46395
46395void 0!==C&&(A=C(i.globals.seriesPercent[d][0],{seriesIndex:d,w:i}));var S=i.globals.dataLabels.style.colors[d],L=s.group({class:"apexcharts-datalabels"}),M=s.drawText({x:w,y:k,text:A,textAnchor:"middle",fontSize:i.config.dataLabels.style.fontSize,fontFamily:i.config.dataLabels.style.fontFamily,fontWeight:i.config.dataLabels.style.fontWeight,foreColor:S});if(L.add(M),i.config.dataLabels.dropShadow.enabled){var P=i.config.dataLabels.dropShadow;a.dropShadow(M,P)}M.node.classList.add("apexcharts-pie-label"),i.config.chart.animations.animate&&!1===i.globals.resized&&(M.node.classList.add("apexcharts-pie-label-delay"),M.node.style.animationDelay=i.config.chart.animations.speed/940+"s"),this.sliceLabels.push(L)}}}return n}},{key:"addListeners",value:function(t,e){var i=new Mi(this.ctx);t.node.addEventListener("mouseenter",i.pathMouseEnter.bind(this,t)),t.node.addEventListener("mouseleave",i.pathMouseLeave.bind(this,t)),t.node.addEventListener("mouseleave",this.revertDataLabelsInner.bind(this,t.node,e)),t.node.addEventListener("mousedown",i.pathMouseDown.bind(this,t)),this.donutDataLabels.total.showAlways||(t.node.addEventListener("mouseenter",this.printDataLabelsInner.bind(this,t.node,e)),t.node.addEventListener("mousedown",this.printDataLabelsInner.bind(this,t.node,e)))}},{key:"animatePaths",value:function(t,e){var i=this.w,a=e.endAngle<e.startAngle?this.fullAngle+e.endAngle-e.startAngle:e.endAngle-e.startAngle,s=a,r=e.startAngle,n=e.startAngle;void 0!==e.prevStartAngle&&void 0!==e.prevEndAngle&&(r=e.prevEndAngle,s=e.prevEndAngle<e.prevStartAngle?this.fullAngle+e.prevEndAngle-e.prevStartAngle:e.prevEndAngle-e.prevStartAngle),e.i===i.config.series.length-1&&(a+n>this.fullAngle?e.endAngle=e.endAngle-(a+n):a+n<this.fullAngle&&(e.endAngle=e.endAngle+(this.fullAngle-(a+n)))),a===this.fullAngle&&(a=this.fullAngle-.01),this.animateArc(t,r,n,a,s,e)}},{key:"animateArc",value:function(t,e,i,a,s,r){var n,o=this,l=this.w,h=new y(this.ctx),c=r.size;(isNaN(e)||isNaN(s))&&(e=i,s=a,r.dur=0);var d=a,u=i,g=e<i?this.fullAngle+e-i:e-i;l.globals.dataChanged&&r.shouldSetPrevPaths&&r.prevEndAngle&&(n=o.getPiePath({me:o,startAngle:r.prevStartAngle,angle:r.prevEndAngle<r.prevStartAngle?this.fullAngle+r.prevEndAngle-r.prevStartAngle:r.prevEndAngle-r.prevStartAngle,size:c}),t.attr({d:n})),0!==r.dur?t.animate(r.dur,r.animBeginArr[r.i]).after((function(){"pie"!==o.chartType&&"donut"!==o.chartType&&"polarArea"!==o.chartType||this.animate(l.config.chart.animations.dynamicAnimation.speed).attr({"stroke-width":o.strokeWidth}),r.i===l.config.series.length-1&&h.animationCompleted(t)})).during((function(l){d=g+(a-g)*l,r.animateStartingPos&&(d=s+(a-s)*l,u=e-s+(i-(e-s))*l),n=o.getPiePath({me:o,startAngle:u,angle:d,size:c}),t.node.setAttribute("data:pathOrig",n),t.attr({d:n})})):(n=o.getPiePath({me:o,startAngle:u,angle:a,size:c}),r.isTrack||(l.globals.animationEnded=!0),t.node.setAttribute("data:pathOrig",n),t.attr({d:n,"stroke-width":o.strokeWidth}))}},{key:"pieClicked",value:function(t){var e,i=this.w,a=this,s=a.sliceSizes[t]+(i.config.plotOptions.pie.expandOnClick?4:0),r=i.globals.dom.Paper.findOne(".apexcharts-".concat(a.chartType.toLowerCase(),"-slice-").concat(t));if("true"!==r.attr("data:pieClicked")){var n=i.globals.dom.baseEl.getElementsByClassName("apexcharts-pie-area");Array.prototype.forEach.call(n,(function(t){t.setAttribute("data:pieClicked","false");var e=t.getAttribute("data:pathOrig");e&&t.setAttribute("d",e)})),i.globals.capturedDataPointIndex=t,r.attr("data:pieClicked","true");var o=parseInt(r.attr("data:startAngle"),10),l=parseInt(r.attr("data:angle"),10);e=a.getPiePath({me:a,startAngle:o,angle:l,size:s}),360!==l&&r.plot(e)}else{r.attr({"data:pieClicked":"false"}),this.revertDataLabelsInner(r.node,this.donutDataLabels);var h=r.attr("data:pathOrig");r.attr({d:h})}}},{key:"getChangedPath",value:function(t,e){var i="";return this.dynamicAnim&&this.w.globals.dataChanged&&(i=this.getPiePath({me:this,startAngle:t,angle:e-t,size:this.size})),i}},{key:"getPiePath",value:function(t){var e,i=t.me,a=t.startAngle,s=t.angle,r=t.size,n=new Mi(this.ctx),o=a,l=Math.PI*(o-90)/180,h=s+a;
vendor: 1,205 bytes, line 46395
46395Math.ceil(h)>=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(h=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(h)>this.fullAngle&&(h-=this.fullAngle);var c=Math.PI*(h-90)/180,d=i.centerX+r*Math.cos(l),u=i.centerY+r*Math.sin(l),g=i.centerX+r*Math.cos(c),p=i.centerY+r*Math.sin(c),f=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,h),x=v.polarToCartesian(i.centerX,i.centerY,i.donutSize,o),b=s>180?1:0,m=["M",d,u,"A",r,r,0,b,1,g,p];return e="donut"===i.chartType?[].concat(m,["L",f.x,f.y,"A",i.donutSize,i.donutSize,0,b,0,x.x,x.y,"L",d,u,"z"]).join(" "):"pie"===i.chartType||"polarArea"===i.chartType?[].concat(m,["L",i.centerX,i.centerY,"L",d,u]).join(" "):[].concat(m).join(" "),n.roundPathCorners(e,2*this.strokeWidth)}},{key:"drawPolarElements",value:function(t){var e=this.w,i=new ta(this.ctx),a=new Mi(this.ctx),s=new Ra(this.ctx),r=a.group(),n=a.group(),o=i.niceScale(0,Math.ceil(this.maxY),0),l=o.result.reverse(),h=o.result.length;this.maxY=o.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),u=0;u<h-1;u++){var g=a.drawCircle(c);if(g.attr({cx:this.centerX,cy:this.centerY,fill:"none","stroke-width":e.config.plotOptions.polarArea.r
vendor: 6,464 bytes, line 46395
46395ings.strokeWidth,stroke:e.config.plotOptions.polarArea.rings.strokeColor}),e.config.yaxis[0].show){var p=s.drawYAxisTexts(this.centerX,this.centerY-c+parseInt(e.config.yaxis[0].labels.style.fontSize,10)/2,u,l[u]);n.add(p)}r.add(g),c-=d}this.drawSpokes(t),t.add(r),t.add(n)}},{key:"renderInnerDataLabels",value:function(t,e,i){var a=this.w,s=new Mi(this.ctx),r=e.total.show;t.node.innerHTML="",t.node.style.opacity=i.opacity;var n,o,l=i.centerX,h=this.donutDataLabels.total.label?i.centerY:i.centerY-i.centerY/6;n=void 0===e.name.color?a.globals.colors[0]:e.name.color;var c=e.name.fontSize,d=e.name.fontFamily,u=e.name.fontWeight;o=void 0===e.value.color?a.config.chart.foreColor:e.value.color;var g=e.value.formatter,p="",f="";if(r?(n=e.total.color,c=e.total.fontSize,d=e.total.fontFamily,u=e.total.fontWeight,f=this.donutDataLabels.total.label?e.total.label:"",p=e.total.formatter(a)):1===a.globals.series.length&&(p=g(a.globals.series[0],a),f=a.globals.seriesNames[0]),f&&(f=e.name.formatter(f,e.total.show,a)),e.name.show){var x=s.drawText({x:l,y:h+parseFloat(e.name.offsetY),text:f,textAnchor:"middle",foreColor:n,fontSize:c,fontWeight:u,fontFamily:d});x.node.classList.add("apexcharts-datalabel-label"),t.add(x)}if(e.value.show){var b=e.name.show?parseFloat(e.value.offsetY)+16:e.value.offsetY,m=s.drawText({x:l,y:h+b,text:p,textAnchor:"middle",foreColor:o,fontWeight:e.value.fontWeight,fontSize:e.value.fontSize,fontFamily:e.value.fontFamily});m.node.classList.add("apexcharts-datalabel-value"),t.add(m)}return t}},{key:"printInnerLabels",value:function(t,e,i,a){var s,r=this.w;a?s=void 0===t.name.color?r.globals.colors[parseInt(a.parentNode.getAttribute("rel"),10)-1]:t.name.color:r.globals.series.length>1&&t.total.show&&(s=t.total.color);var n=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-label"),o=r.globals.dom.baseEl.querySelector(".apexcharts-datalabel-value");i=(0,t.value.formatter)(i,r),a||"function"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=this.donutDataLabels.total.label?t.name.formatter(e,l,r):"",null!==n&&(n.textContent=e),null!==o&&(o.textContent=i),null!==n&&(n.style.fill=s)}},{key:"printDataLabelsInner",value:function(t,e){var i=this.w,a=t.getAttribute("data:value"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute("rel"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(".apexcharts-datalabels-group");null!==r&&(r.style.opacity=1)}},{key:"drawSpokes",value:function(t){var e=this,i=this.w,a=new Mi(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],n=360/i.globals.series.length,o=0;o<i.globals.series.length;o++)r.push(v.polarToCartesian(this.centerX,this.centerY,i.globals.radialSize,i.config.plotOptions.pie.startAngle+n*o));r.forEach((function(i,r){var n=a.drawLine(i.x,i.y,e.centerX,e.centerY,Array.isArray(s.connectorColors)?s.connectorColors[r]:s.connectorColors);t.add(n)}))}}},{key:"revertDataLabelsInner",value:function(){var t=this.w;if(this.donutDataLabels.show){var e=t.globals.dom.Paper.findOne(".apexcharts-datalabels-group"),i=this.renderInnerDataLabels(e,this.donutDataLabels,{hollowSize:this.donutSize,centerX:this.centerX,centerY:this.centerY,opacity:this.donutDataLabels.show});t.globals.dom.Paper.findOne(".apexcharts-radialbar, .apexcharts-pie").add(i)}}}]),t}(),Ya=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var a=this.w;this.graphics=new Mi(this.ctx),this.lineColorArr=void 0!==a.globals.stroke.colors?a.globals.stroke.colors:a.globals.colors,this.defaultSize=a.globals.svgHeight<a.globals.svgWidth?a.globals.gridHeight:a.globals.gridWidth,this.isLog=a.config.yaxis[0].logarithmic,this.logBase=a.config.yaxis[0].logBase,this.coreUtils=new Pi(this.ctx),this.maxValue=this.isLog?this.coreUtils.getLogVal(this.logBase,a.globals.maxY,0):a.globals.maxY,this.minValue=this.isLog?this.coreUtils.getLogVal(this.logBase,this.w.globals.minY,0):a.globals.minY,this.polygons=a.config.plotOptions.radar.polygons,this.strokeWidth=a.config.stroke.show?a.config.stroke.width:0,this.size=this.defaultSize/2.1-this.strokeWidth-a.config.chart.dropShadow.blur,a.config.xaxis.labels.show&&(this.size=this.size-a.globals.xAxisLabelsWidth/1.75),void 0!==a.config.plotOptions.radar.size&&(this.size=a.config.plotOptions.radar.size),this.dataRadiusOfPercent=[],this.dataRadius=[],this.angleArr=[],this.yaxisLabelsTextsPos=[]}return s(t,[{key:"draw",value:function(t){var e=this,i=this.w,a=new ji(this.ctx),s=[],r=new qi(this.ctx);t.length&&(this.dataPointsLen=t[i.globals.maxValsInArrayIndex].length),this.disAngle=2*Math.PI/this.dataPointsLen;var n=i.globals.gridWidth/2,o=i.globals.gridHeight/2,l=n+i.config.plotOptions.radar.offsetX,h=o+i.config.plotOptions.radar.offsetY,c=this.graphics.group({class:"apexcharts-radar-series apexcharts-plot-series",transform:"translate(".concat(l||0,", ").concat(h||0,")")}),d=[],g=null,p=null;if(this.yaxisLabels=this.graphics.group({class:"apexcharts-yaxis"}),t.forEach((function(t,n){var o=t.length===i.globals.dataPoints,l=e.graphics.group().attr({class:"apexcharts-series","data:longestSeries":o,seriesName:v.escapeString(i.globals.seriesNames[n]),rel:n+1,"data:realIndex":n});e.dataRadiusOfPercent[n]=[],e.dataRadius[n]=[],e.angleArr[n]=[],t.forEach((function(t,i){var a=Math.abs(e.maxValue-e.minValue);t-=e.minValue,e.isLog&&(t=e.coreUtils.getLogVal(e.logBase,t,0)),e.dataRadiusOfPercent[n][i]=t/a,e.dataRadius[n][i]=e.dataRadiusOfPercent[n][i]*e.size,e.angleArr[n][i]=i*e.disAngle})),d=e.getDataPointsPos(e.dataRadius[n],e.angleArr[n]);var h=e.createPaths(d,{x:0,y:0});g=e.graphics.group({class:"apexcharts-series-markers-wrap apexcharts-element-hidden"}),p=e.graphics.group({class:"apexcharts-datalabels","data:realIndex":n}),i.globals.delayedElements.push({el:g.node,index:n});var c={i:n,realIndex:n,animationDelay:n,initialSpeed:i.config.chart.animations.speed,dataChangeSpeed:i.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-radar",shouldClipToGrid:!1,bindEventsOnPaths:!1,stroke:i.globals.stroke.colors[n],strokeLineCap:i.config.stroke.lineCap},f=null;i.globals.previousPaths.length>0&&(f=e.getPreviousPath(n));for(var x=0;x<h.linePathsTo.length;x++){var b=e.graphics.renderPaths(u(u({},c),{}
vendor: 4,220 bytes, line 46395
46395,{pathFrom:null===f?h.linePathsFrom[x]:f,pathTo:h.linePathsTo[x],strokeWidth:Array.isArray(e.strokeWidth)?e.strokeWidth[n]:e.strokeWidth,fill:"none",drawShadow:!1}));l.add(b);var m=a.fillPath({seriesNumber:n}),y=e.graphics.renderPaths(u(u({},c),{},{pathFrom:null===f?h.areaPathsFrom[x]:f,pathTo:h.areaPathsTo[x],strokeWidth:0,fill:m,drawShadow:!1}));if(i.config.chart.dropShadow.enabled){var w=new Li(e.ctx),k=i.config.chart.dropShadow;w.dropShadow(y,Object.assign({},k,{noUserSpaceOnUse:!0}),n)}l.add(y)}t.forEach((function(t,a){var s=new Vi(e.ctx).getMarkerConfig({cssClass:"apexcharts-marker",seriesIndex:n,dataPointIndex:a}),o=e.graphics.drawMarker(d[a].x,d[a].y,s);o.attr("rel",a),o.attr("j",a),o.attr("index",n),o.node.setAttribute("default-marker-size",s.pSize);var h=e.graphics.group({class:"apexcharts-series-markers"});h&&h.add(o),g.add(h),l.add(g);var c=i.config.dataLabels;if(c.enabled){var f=c.formatter(i.globals.series[n][a],{seriesIndex:n,dataPointIndex:a,w:i});r.plotDataLabelsText({x:d[a].x,y:d[a].y,text:f,textAnchor:"middle",i:n,j:n,parent:p,offsetCorrection:!1,dataLabelsConfig:u({},c)})}l.add(p)})),s.push(l)})),this.drawPolygons({parent:c}),i.config.xaxis.labels.show){var f=this.drawXAxisTexts();c.add(f)}return s.forEach((function(t){c.add(t)})),c.add(this.yaxisLabels),c}},{key:"drawPolygons",value:function(t){for(var e=this,i=this.w,a=t.parent,s=new Ra(this.ctx),r=i.globals.yAxisScale[0].result.reverse(),n=r.length,o=[],l=this.size/(n-1),h=0;h<n;h++)o[h]=l*h;o.reverse();var c=[],d=[];o.forEach((function(t,i){var a=v.getPolygonPos(t,e.dataPointsLen),s="";a.forEach((function(t,a){if(0===i){var r=e.graphics.drawLine(t.x,t.y,0,0,Array.isArray(e.polygons.connectorColors)?e.polygons.connectorColors[a]:e.polygons.connectorColors);d.push(r)}0===a&&e.yaxisLabelsTextsPos.push({x:t.x,y:t.y}),s+=t.x+","+t.y+" "})),c.push(s)})),c.forEach((function(t,s){var r=e.polygons.strokeColors,n=e.polygons.strokeWidth,o=e.graphics.drawPolygon(t,Array.isArray(r)?r[s]:r,Array.isArray(n)?n[s]:n,i.globals.radarPolygons.fill.colors[s]);a.add(o)})),d.forEach((function(t){a.add(t)})),i.config.yaxis[0].show&&this.yaxisLabelsTextsPos.forEach((function(t,i){var a=s.drawYAxisTexts(t.x,t.y,i,r[i]);e.yaxisLabels.add(a)}))}},{key:"drawXAxisTexts",value:function(){var t=this,e=this.w,i=e.config.xaxis.labels,a=this.graphics.group({class:"apexcharts-xaxis"}),s=v.getPolygonPos(this.size,this.dataPointsLen);return e.globals.labels.forEach((function(r,n){var o=e.config.xaxis.labels.formatter,l=new qi(t.ctx);if(s[n]){var h=t.getTextPos(s[n],t.size),c=o(r,{seriesIndex:-1,dataPointIndex:n,w:e});l.plotDataLabelsText({x:h.newX,y:h.newY,text:c,textAnchor:h.textAnchor,i:n,j:n,parent:a,className:"apexcharts-xaxis-label",color:Array.isArray(i.style.colors)&&i.style.colors[n]?i.style.colors[n]:"#a8a8a8",dataLabelsConfig:u({textAnchor:h.textAnchor,dropShadow:{enabled:!1}},i),offsetCorrection:!1}).on("click",(function(i){if("function"==typeof e.config.chart.events.xAxisLabelClick){var a=Object.assign({},e,{labelIndex:n});e.config.chart.events.xAxisLabelClick(i,t.ctx,a)}}))}})),a}},{key:"createPaths",value:function(t,e){var i=this,a=[],s=[],r=[],n=[];if(t.length){s=[this.graphics.move(e.x,e.y)],n=[this.graphics.move(e.x,e.y)];var o=this.graphics.move(t[0].x,t[0].y),l=this.graphics.move(t[0].x,t[0].y);t.forEach((function(e,a){o+=i.graphics.line(e.x,e.y),l+=i.graphics.line(e.x,e.y),a===t.length-1&&(o+="Z",l+="Z")})),a.push(o),r.push(l)}return{linePathsFrom:s,linePathsTo:a,areaPathsFrom:n,areaPathsTo:r}}},{key:"getTextPos",value:function(t,e){var i="middle",a=t.x,s=t.y;return Math.abs(t.x)>=10?t.x>0?(i="start",a+=10):t.x<0&&(i="end",a-=10):i="middle",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:"getPreviousPath",value:function(t){for(var e=this.w,i=null,a=0;a<e.globals.previousPaths.length;a++){var s=e.globals.previousPaths[a];s.paths.length>0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:"getDataPointsPos",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s<i;s++){var r={};
vendor: 5,672 bytes, line 46395
46395r.x=t[s]*Math.sin(e[s]),r.y=-t[s]*Math.cos(e[s]),a.push(r)}return a}}]),t}(),Ha=function(t){h(r,t);var a=n(r);function r(t){var s;i(this,r),(s=a.call(this,t)).ctx=t,s.w=t.w,s.animBeginArr=[0],s.animDur=0;var n=s.w;return s.startAngle=n.config.plotOptions.radialBar.startAngle,s.endAngle=n.config.plotOptions.radialBar.endAngle,s.totalAngle=Math.abs(n.config.plotOptions.radialBar.endAngle-n.config.plotOptions.radialBar.startAngle),s.trackStartAngle=n.config.plotOptions.radialBar.track.startAngle,s.trackEndAngle=n.config.plotOptions.radialBar.track.endAngle,s.barLabels=s.w.config.plotOptions.radialBar.barLabels,s.donutDataLabels=s.w.config.plotOptions.radialBar.dataLabels,s.radialDataLabels=s.donutDataLabels,s.trackStartAngle||(s.trackStartAngle=s.startAngle),s.trackEndAngle||(s.trackEndAngle=s.endAngle),360===s.endAngle&&(s.endAngle=359.99),s.margin=parseInt(n.config.plotOptions.radialBar.track.margin,10),s.onBarLabelClick=s.onBarLabelClick.bind(e(s)),s}return s(r,[{key:"draw",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:"apexcharts-radialbar"});if(e.globals.noData)return a;var s=i.group(),r=this.defaultSize/2,n=e.globals.gridWidth/2,o=this.defaultSize/2.05;e.config.chart.sparkline.enabled||(o=o-e.config.stroke.width-e.config.chart.dropShadow.blur);var l=e.globals.fill.colors;if(e.config.plotOptions.radialBar.track.show){var h=this.drawTracks({size:o,centerX:n,centerY:r,colorArr:l,series:t});s.add(h)}var c=this.drawArcs({size:o,centerX:n,centerY:r,colorArr:l,series:t}),d=360;e.config.plotOptions.radialBar.startAngle<0&&(d=this.totalAngle);var u=(360-d)/360;if(e.globals.radialSize=o-o*u,this.radialDataLabels.value.show){var g=Math.max(this.radialDataLabels.value.offsetY,this.radialDataLabels.name.offsetY);e.globals.radialSize+=g*u}return s.add(c.g),"front"===e.config.plotOptions.radialBar.hollow.position&&(c.g.add(c.elHollow),c.dataLabels&&c.g.add(c.dataLabels)),a.add(s),a}},{key:"drawTracks",value:function(t){var e=this.w,i=new Mi(this.ctx),a=i.group({class:"apexcharts-tracks"}),s=new Li(this.ctx),r=new ji(this.ctx),n=this.getStrokeWidth(t);t.size=t.size-n/2;for(var o=0;o<t.series.length;o++){var l=i.group({class:"apexcharts-radialbar-track apexcharts-track"});a.add(l),l.attr({rel:o+1}),t.size=t.size-n-this.margin;var h=e.config.plotOptions.radialBar.track,c=r.fillPath({seriesNumber:0,size:t.size,fillColors:Array.isArray(h.background)?h.background[o]:h.background,solid:!0}),d=this.trackStartAngle,u=this.trackEndAngle;Math.abs(u)+Math.abs(d)>=360&&(u=360-Math.abs(this.startAngle)-.1);var g=i.drawPath({d:"",stroke:c,strokeWidth:n*parseInt(h.strokeWidth,10)/100,fill:"none",strokeOpacity:h.opacity,classes:"apexcharts-radialbar-area"});if(h.dropShadow.enabled){var p=h.dropShadow;s.dropShadow(g,p)}l.add(g),g.attr("id","apexcharts-radialbarTrack-"+o),this.animatePaths(g,{centerX:t.centerX,centerY:t.centerY,endAngle:u,startAngle:d,size:t.size,i:o,totalItems:2,animBeginArr:0,dur:0,isTrack:!0})}return a}},{key:"drawArcs",value:function(t){var e=this.w,i=new Mi(this.ctx),a=new ji(this.ctx),s=new Li(this.ctx),r=i.group(),n=this.getStrokeWidth(t);t.size=t.size-n/2;var o=e.config.plotOptions.radialBar.hollow.background,l=t.size-n*t.series.length-this.margin*t.series.length-n*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(o=this.drawHollowImage(t,r,l,o));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:o||"transparent"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var u=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(u=0);var g=null;if(this.radialDataLabels.show){var p=e.globals.dom.Paper.findOne(".apexcharts-datalabels-group");g=this.renderInnerDataLabels(p,this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:u})}"back"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),g&&r.add(g));var f=!1;e.config.plotOptions.radialBar.inverseOrder&&(f=!0);for(var x=f?t.series.length-1:0;f?x>=0:x<t.series.length;f?x--:x++){var b=i.group({class:"apexcharts-series apexcharts-radial-series",seriesName:v.escapeString(e.globals.seriesNames[x])});r.add(b),b.attr({rel:x+1,"data:realIndex":x}),this.ctx.series.addCollapsedClassToSeries(b,x),t.size=t.size-n-this.margin;var m=a.fillPath({seriesNumber:x,size:t.size,value:t.series[x]}),y=this.startAngle,w=void 0,k=v.negToZero(t.series[x]>100?100:t.series[x])/100,A=Math.round(this.totalAngle*k)+this.startAngle,C=void 0;e.globals.dataChanged&&(w=this.startAngle,C=Math.round(this.totalAngle*v.negToZero(e.globals.previousPaths[x])/100)+w),Math.abs(A)+Math.abs(y)>360&&(A-=.01),Math.abs(C)+Math.abs(w)>360&&(C-=.01);var S=A-y,L=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[x]:e.config.stroke.dashArray,M=i.drawPath({d:"",stroke:m,strokeWidth:n,fill:"none",fillOpacity:e.config.fill.opacity,classes:"apexcharts-radialbar-area apexcharts-radialbar-slice-"+x,strokeDashArray:L});if(Mi.setAttrs(M.node,{"data:angle":S,"data:value":t.series[x]}),e.config.chart.dropShadow.enabled){var P=e.config.chart.dropShadow;s.dropShadow(M,P,x)}if(s.setSelectionFilter(M,0,x),this.addListeners(M,this.radialDataLabels),b.add(M),M.attr({index:0,j:x}),this.barLabels.enabled){var I=v.polarToCartesian(t.centerX,t.centerY,t.size,y),T=this.barLabels.formatter(e.globals.seriesNames[x],{seriesIndex:x,w:e}),z=["apexcharts-radialbar-label"];this.barLabels.onClick||z.push("apexcharts-no-click");var X=this.barLabels.useSeriesColors?e.globals.colors[x]:e.config.chart.foreColor;
vendor: 5,575 bytes, line 46395
46395X||(X=e.config.chart.foreColor);var R=I.x+this.barLabels.offsetX,E=I.y+this.barLabels.offsetY,Y=i.drawText({x:R,y:E,text:T,textAnchor:"end",dominantBaseline:"middle",fontFamily:this.barLabels.fontFamily,fontWeight:this.barLabels.fontWeight,fontSize:this.barLabels.fontSize,foreColor:X,cssClass:z.join(" ")});Y.on("click",this.onBarLabelClick),Y.attr({rel:x+1}),0!==y&&Y.attr({"transform-origin":"".concat(R," ").concat(E),transform:"rotate(".concat(y," 0 0)")}),b.add(Y)}var H=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(H=e.config.chart.animations.speed),e.globals.dataChanged&&(H=e.config.chart.animations.dynamicAnimation.speed),this.animDur=H/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(M,{centerX:t.centerX,centerY:t.centerY,endAngle:A,startAngle:y,prevEndAngle:C,prevStartAngle:w,size:t.size,i:x,totalItems:2,animBeginArr:this.animBeginArr,dur:H,shouldSetPrevPaths:!0})}return{g:r,elHollow:c,dataLabels:g}}},{key:"drawHollow",value:function(t){var e=new Mi(this.ctx).drawCircle(2*t.size);return e.attr({class:"apexcharts-radialbar-hollow",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:"drawHollowImage",value:function(t,e,i,a){var s=this.w,r=new ji(this.ctx),n=v.randomId(),o=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:o,patternID:"pattern".concat(s.globals.cuid).concat(n)}),a="url(#pattern".concat(s.globals.cuid).concat(n,")");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(o,(function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(o,(function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:"getStrokeWidth",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}},{key:"onBarLabelClick",value:function(t){var e=parseInt(t.target.getAttribute("rel"),10)-1,i=this.barLabels.onClick,a=this.w;i&&i(a.globals.seriesNames[e],{w:a,seriesIndex:e})}}]),r}(Ea),Oa=function(t){h(a,t);var e=n(a);function a(){return i(this,a),e.apply(this,arguments)}return s(a,[{key:"draw",value:function(t,e){var i=this.w,a=new Mi(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=i.globals.seriesRangeStart,this.seriesRangeEnd=i.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var s=a.group({class:"apexcharts-rangebar-series apexcharts-plot-series"}),r=0;r<t.length;r++){var n,o,l,h,c=void 0,d=void 0,g=i.globals.comboCharts?e[r]:r,p=this.barHelpers.getGroupIndex(g).columnGroupIndex,f=a.group({class:"apexcharts-series",seriesName:v.escapeString(i.globals.seriesNames[g]),rel:r+1,"data:realIndex":g});this.ctx.series.addCollapsedClassToSeries(f,g),t[r].length>0&&(this.visibleI=this.visibleI+1);var x=0,b=0,m=0;this.yRatio.length>1&&(this.yaxisIndex=i.globals.seriesYAxisReverseMap[g][0],m=g);var y=this.barHelpers.initialPositions(g);d=y.y,h=y.zeroW,c=y.x,b=y.barWidth,x=y.barHeight,n=y.xDivision,o=y.yDivision,l=y.zeroH;for(var w=a.group({class:"apexcharts-datalabels","data:realIndex":g}),k=a.group({class:"apexcharts-rangebar-goals-markers"}),A=0;A<i.globals.dataPoints;A++){var C=this.barHelpers.getStrokeWidth(r,A,g),S=this.seriesRangeStart[r][A],L=this.seriesRangeEnd[r][A],M=null,P=null,I=null,T={x:c,y:d,strokeWidth:C,elSeries:f},z=this.seriesLen;if(i.config.plotOptions.bar.rangeBarGroupRows&&(z=1),void 0===i.config.series[r].data[A])break;if(this.isHorizontal){I=d+x*this.visibleI;var X=(o-x*z)/2;if(i.config.series[r].data[A].x){var R=this.detectOverlappingBars({i:r,j:A,barYPosition:I,srty:X,barHeight:x,yDivision:o,initPositions:y});x=R.barHeight,I=R.barYPosition}b=(M=this.drawRangeBarPaths(u({indexes:{i:r,j:A,realIndex:g},barHeight:x,barYPosition:I,zeroW:h,yDivision:o,y1:S,y2:L},T))).barWidth}else{i.globals.isXNumeric&&(c=(i.globals.seriesX[r][A]-i.globals.minX)/this.xRatio-b/2),P=c+b*this.visibleI;var E=(n-b*z)/2;if(i.config.series[r].data[A].x){var Y=this.detectOverlappingBars({i:r,j:A,barXPosition:P,srtx:E,barWidth:b,xDivision:n,initPositions:y});b=Y.barWidth,P=Y.barXPosition}x=(M=this.drawRangeColumnPaths(u({indexes:{i:r,j:A,realIndex:g,translationsIndex:m},barWidth:b,barXPosition:P,zeroH:l,xDivision:n},T))).barHeight}var H=this.barHelpers.drawGoalLine({barXPosition:M.barXPosition,barYPosition:I,goalX:M.goalX,goalY:M.goalY,barHeight:x,barWidth:b});H&&k.add(H),d=M.y,c=M.x;var O=this.barHelpers.getPathFillColor(t,r,A,g);this.renderSeries({realIndex:g,pathFill:O.color,lineFill:O.useRangeColor?O.color:i.globals.stroke.colors[g],j:A,i:r,x:c,y:d,y1:S,y2:L,pathFrom:M.pathFrom,pathTo:M.pathTo,strokeWidth:C,elSeries:f,series:t,barHeight:x,barWidth:b,barXPosition:P,barYPosition:I,columnGroupIndex:p,elDataLabelsWrap:w,elGoalsMarkers:k,visibleSeries:this.visibleI,type:"rangebar"})}s.add(f)}return s}},{key:"detectOverlappingBars",value:function(t){var e=t.i,i=t.j,a=t.barYPosition,s=t.barXPosition,r=t.srty,n=t.srtx,o=t.barHeight,l=t.barWidth,h=t.yDivision,c=t.xDivision,d=t.initPositions,u=this.w,g=[],p=u.config.series[e].data[i].rangeName,f=u.config.series[e].data[i].x,x=Array.isArray(f)?f.join(" "):f,b
46395=u.globals.labels.map((function(t){return Array.isArray(t)?t.join(" "):t})).indexOf(x),m=u.globals.seriesRange[e].findIndex((function(t){return t.x===x&&t.overlaps.length>0}));return this.isHorizontal?(a=u.config.plotOptions.bar.rangeBarGroupRows?r+h*b:r+o*this.visibleI+h*b,m>-1&&!u.config.plotOptions.bar.rangeBarOverlap&&(g=u.globals.seriesRange[e][m].overlaps).indexOf(p)>-1&&(a=(o=d.barHeight/g.length)*this.visibleI+h*(100-parseInt(this.barOptions.barHeight,10))/100/2+o*(this.visibleI+g.indexOf(p))+h*b)):(b>-1&&!u.globals.timescaleLabels.length&&(s=u.config.plotOptions.bar.rangeBarGroupRows?n+c*b:n+l*this.visibleI+c*b),m>-1&&!u.config.plotOptions.bar.rangeBarOverlap&&(g=u.globals.seriesRange[e][m].overlaps).indexOf(p)>-1&&(s=(l=d.barWidth/g.length)*this.visibleI+c*(100-parseInt(this.barOptions.barWidth,10))/100/2+l*(this.visibleI+g.indexOf(p))+c*b)),{barYPosition:a,barXPosition:s,barHeight:o,barWidth:l}}},{key:"drawRangeColumnPaths",value:function(t){var e=t.indexes,i=t.x,a=t.xDivision,s=t.barWidth,r=t.barXPosition,n=t.zeroH,o=this.w,l=e.i,h=e.j,c=e.realIndex,d=e.translationsIndex,u=this.yRatio[d],g=this.getRangeValue(c,h),p=Math.min(g.start,g.end),f=Math.max(g.start,g.end);void 0===this.series[l][h]||null===this.series[l][h]?p=n:(p=n-p/u,f=n-f/u);var x=Math.abs(f-p),b=this.barHelpers.getColumnPaths({barXPosition:r,barWidth:s,y1:p,y2:f,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:c,i:c,j:h,w:o});if(o.globals.isXNumeric){var m=this.getBarXForNumericXAxis({x:i,j:h,realIndex:c,barWidth:s});i=m.x,r=m.barXPosition}else i+=a;return{pathTo:b.pathTo,pathFrom:b.pathFrom,barHeight:x,x:i,y:g.start<0&&g.end<0?p:f,goalY:this.barHelpers.getGoalValues("y",null,n,l,h,d),barXPosition:r}}},{key:"preventBarOverflow",value:function(t){var e=this.w;return t<0&&(t=0),t>e.globals.gridWidth&&(t=e.globals.gridWidth),t}},{key:"drawRangeBarPaths",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,n=t.barHeight,o=t.barYPosition,l=t.zeroW,h=this.w,c=e.realIndex,d=e.j,u=this.preventBarOverflow(l+a/this.invertedYRatio),g=this.preventBarOverflow(l+s/this.invertedYRatio),p=this.getRangeValue(c,d),f=Math.abs(g-u),x=this.barHelpers.getBarpaths({barYPosition:o,barHeight:n,x1:u,x2:g,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:c,realIndex:c,j:d,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:x.pathTo,pathFrom:x.pathFrom,barWidth:f,x:p.start<0&&p.end<0?u:g,goalX:this.barHelpers.getGoalValues("x",l,null,c,d),y:i}}},{key:"getRangeValue",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),a}(Pa),Fa=function(){function t(e){i(this,t),this.w=e.w,this.lineCtx=e}return s(t,[{key:"sameValueSeriesFix",value:function(t,e){var i=this.w;if(("gradient"===i.config.fill.type||"gradient"===i.config.fill.type[t])&&new Pi(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:"calculatePoints",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,n=t.j,o=t.prevY,l=this.w,h=[],c=[],d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;return l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),0===n&&(h.push(d),c.push(v.isNumber(e[r][0])?o+l.config.markers.offsetY:null)),h.push(a+l.config.markers.offsetX),c.push(v.isNumber(e[r][n+1])?s+l.config.markers.offsetY:null),{x:h,y:c}}},{key:"checkPreviousPaths",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r<s.globals.previousPaths.length;r++){var n=s.globals.previousPaths[r];("line"===n.type||"area"===n.type)&&n.paths.length>0&&parseInt(n.realIndex,10)===parseInt(a,10)&&("line"===n.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):"area"===n.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:"determineFirstPrevY",value:function(t){var e,i,a,s=t.i,r=t.realIndex,n=t.series,o=t.prevY,l=t.lineYPosition,h=t.translationsIndex,c=this.w,d=c.config.chart.stacked&&!c.globals.comboCharts||c.config.chart.stacked&&c.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null===(e=this.w.config.series[r])||void 0===e?void 0:e.type)||"column"===(null===(i=this.w.config.series[r])||void 0===i?void 0:i.type));if(void 0!==(null===(a=n[s])||void 0===a?void 0:a[0]))o=(l=d&&s>0?this.lineCtx.prevSeriesY[s-1][0]:this.lineCtx.zeroY)-n[s][0]/this.lineCtx.yRatio[h]+2*(this.lineCtx.isReversed?n[s][0]/this.lineCtx.yRatio[h]:0);else if(d&&s>0&&void 0===n[s][0])for(var u=s-1;u>=0;u--)if(null!==n[u][0]&&void 0!==n[u][0]){o=l=this.lineCtx.prevSeriesY[u][0];break}return{prevY:o,lineYPosition:l}}}]),t}(),Da=function(t){for(var e,i,a,s,r=function(t){for(var e=[],i=t[0],a=t[1],s=e[0]=Wa(i,a),r=1,n=t.length-1;r<n;r++)i=a,a=t[r+1],e[r]=.5*(s+(s=Wa(i,a)));return e[r]=s,e}(t),n=t.length-1,o=[],l=0;l<n;l++)a=Wa(t[l],t[l+1]),Math.abs(a)<1e-6?r[l]=r[l+1]=0:(s=(e=r[l]/a)*e+(i=r[l+1]/a)*i)>9&&(s=3*a/Math.sqrt(s),r[l]=s*e,r[l+1]=s*i);for(var h=0;h<=n;h++)s=(t[Math.min(n,h+1)][0]-t[Math.max(0,h-1)][0])/(6*(1+r[h]*r[h])),o.push([s||0,r[h]*s||0]);return o},_a=function(t){var e=Da(t),i=t[1],a=t[0],s=[],r=e[1],n=e[0];s.push(a,[a[0]+n[0],a[1]+n[1],i[0]-r[0],i[1]-r[1],i[0],i[1]]);for(var o=2,l=e.length;o<l;o++){var h=t[o],c=e[o];s.push([h[0]-c[0],h[1]-c[1],h[0],h[1]])}return s}
vendor: 8,706 bytes, line 46395
46395,Na=function(t,e,i){var a=t.slice(e,i);if(e){if(i-e>1&&a[1].length<6){var s=a[0].length;a[1]=[2*a[0][s-2]-a[0][s-4],2*a[0][s-1]-a[0][s-3]].concat(a[1])}a[0]=a[0].slice(-2)}return a};function Wa(t,e){return(e[1]-t[1])/(e[0]-t[0])}var Ba=function(){function t(e,a,s){i(this,t),this.ctx=e,this.w=e.w,this.xyRatios=a,this.pointsChart=!("bubble"!==this.w.config.chart.type&&"scatter"!==this.w.config.chart.type)||s,this.scatter=new Ui(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new Fa(this),this.markers=new Vi(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return s(t,[{key:"draw",value:function(t,e,i,a){var s,r=this.w,n=new Mi(this.ctx),o=r.globals.comboCharts?e:r.config.chart.type,l=n.group({class:"apexcharts-".concat(o,"-series apexcharts-plot-series")}),h=new Pi(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio),this.prevSeriesY=[];for(var c=[],d=0;d<t.length;d++){t=this.lineHelpers.sameValueSeriesFix(d,t);var g=r.globals.comboCharts?i[d]:d,p=this.yRatio.length>1?g:0;this._initSerieVariables(t,d,g);var f=[],x=[],b=[],m=r.globals.padHorizontal+this.categoryAxisCorrection;this.ctx.series.addCollapsedClassToSeries(this.elSeries,g),r.globals.isXNumeric&&r.globals.seriesX.length>0&&(m=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),b.push(m);var v,y=m,w=void 0,k=y,A=this.zeroY,C=this.zeroY;A=this.lineHelpers.determineFirstPrevY({i:d,realIndex:g,series:t,prevY:A,lineYPosition:0,translationsIndex:p}).prevY,"monotoneCubic"===r.config.stroke.curve&&null===t[d][0]?f.push(null):f.push(A),v=A;"rangeArea"===o&&(w=C=this.lineHelpers.determineFirstPrevY({i:d,realIndex:g,series:a,prevY:C,lineYPosition:0,translationsIndex:p}).prevY,x.push(null!==f[0]?C:null));var S=this._calculatePathsFrom({type:o,series:t,i:d,realIndex:g,translationsIndex:p,prevX:k,prevY:A,prevY2:C}),L=[f[0]],M=[x[0]],P={type:o,series:t,realIndex:g,translationsIndex:p,i:d,x:m,y:1,pX:y,pY:v,pathsFrom:S,linePaths:[],areaPaths:[],seriesIndex:i,lineYPosition:0,xArrj:b,yArrj:f,y2Arrj:x,seriesRangeEnd:a},I=this._iterateOverDataPoints(u(u({},P),{},{iterations:"rangeArea"===o?t[d].length-1:void 0,isRangeStart:!0}));if("rangeArea"===o){for(var T=this._calculatePathsFrom({series:a,i:d,realIndex:g,prevX:k,prevY:C}),z=this._iterateOverDataPoints(u(u({},P),{},{series:a,xArrj:[m],yArrj:L,y2Arrj:M,pY:w,areaPaths:I.areaPaths,pathsFrom:T,iterations:a[d].length-1,isRangeStart:!1})),X=I.linePaths.length/2,R=0;R<X;R++)I.linePaths[R]=z.linePaths[R+X]+I.linePaths[R];I.linePaths.splice(X),I.pathFromLine=z.pathFromLine+I.pathFromLine}else I.pathFromArea+="z";this._handlePaths({type:o,realIndex:g,i:d,paths:I}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),c.push(this.elSeries)}if(void 0!==(null===(s=r.config.series[0])||void 0===s?void 0:s.zIndex)&&c.sort((function(t,e){return Number(t.node.getAttribute("zIndex"))-Number(e.node.getAttribute("zIndex"))})),r.config.chart.stacked)for(var E=c.length-1;E>=0;E--)l.add(c[E]);else for(var Y=0;Y<c.length;Y++)l.add(c[Y]);return l}},{key:"_initSerieVariables",value:function(t,e,i){var a=this.w,s=new Mi(this.ctx);this.xDivision=a.globals.gridWidth/(a.globals.dataPoints-("on"===a.config.xaxis.tickPlacement?1:0)),this.strokeWidth=Array.isArray(a.config.stroke.width)?a.config.stroke.width[i]:a.config.stroke.width;var r=0;if(this.yRatio.length>1&&(this.yaxisIndex=a.globals.seriesYAxisReverseMap[i],r=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[r]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[r]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||"end"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:"apexcharts-series",zIndex:void 0!==a.config.series[i].zIndex?a.config.series[i].zIndex:i,seriesName:v.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:"apexcharts-series-markers-wrap","data:realIndex":i}),a.globals.hasNullValues){var n=this.markers.plotChartMarkers({pointsPos:{x:[0],y:[a.globals.gridHeight+a.globals.markers.largestSize]},seriesIndex:e,j:0,pSize:.1,alwaysDrawMarker:!0,isVirtualPoint:!0});null!==n&&this.elPointsMain.add(n)}this.elDataLabelsWrap=s.group({class:"apexcharts-datalabels","data:realIndex":i});var o=t[e].length===a.globals.dataPoints;this.elSeries.attr({"data:longestSeries":o,rel:e+1,"data:realIndex":i}),this.appendPathFrom=!0}},{key:"_calculatePathsFrom",value:function(t){var e,i,a,s,r=t.type,n=t.series,o=t.i,l=t.realIndex,h=t.translationsIndex,c=t.prevX,d=t.prevY,u=t.prevY2,g=this.w,p=new Mi(this.ctx);if(null===n[o][0]){for(var f=0;f<n[o].length;f++)if(null!==n[o][f]){c=this.xDivision*f,d=this.zeroY-n[o][f]/this.yRatio[h],e=p.move(c,d),i=p.move(c,this.areaBottomY);break}}else e=p.move(c,d),"rangeArea"===r&&(e=p.move(c,u)+p.line(c,d)),i=p.move(c,this.areaBottomY)+p.line(c,d);if(a=p.move(0,this.areaBottomY)+p.line(0,this.areaBottomY),s=p.move(0,this.areaBottomY)+p.line(0,this.areaBottomY),g.globals.previousPaths.length>0){var x=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=x.pathFromLine,s=x.pathFromArea}return{prevX:c,prevY:d,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:"_handlePaths",value:function(t){var e=t.type,i=t.realIndex,a=t.i,s=t.paths,r=this.w,n=new Mi(this.ctx),o=new ji(this.ctx);this.prevSeriesY.push(s.yArrj),r.globals.seriesXvalues[i]=s.xArrj,r.globals.seriesYvalues[i]=s.yArrj;var l=r.config.forecastDataPoints;if(l.count>0&&"rangeArea"!==e){var h=r.globals.seriesXvalues[i][r.globals.seriesXvalues[i].length-l.count-1],c=n.drawRect(h,0,r.globals.gridWidth,r.globals.gridHeight,0);r.globals.dom.elForecastMask.appendChild(c.node);var d=n.drawRect(0,0,h,r.globals.gridHeight,0);r.globals.dom.elNonForecastMask.appendChild(d.node)}this.pointsChart||r.globals.delayedElements.push({el:this.elPointsMain.node,index:i});var g={i:a,realIndex:i,animationDelay:a,initialSpeed:r.config.chart.animations.speed,dataChangeSpeed:r.config.chart.animations.dynamicAnimation.speed,className:"apexcharts-".concat(e)};if("area"===e)for(var p=o.fillPath({seriesNumber:i}),f=0;f<s.areaPaths.length;f++){var x=n.renderPaths(u(u({},g),{},{pathFrom:s.pathFromArea,pathTo:s.areaPaths[f],stroke:"none",strokeWidth:0,strokeLineCap:null,fill:p}));this.elSeries.add(x)}if(r.config.stroke.show&&!this.pointsChart){var b=null;if("line"===e)b=o.fillPath({seriesNumber:i,i:a});else if("solid"===r.config.stroke.fill.type)b=r.globals.stroke.colors[i];else{var m=r.config.fill;r.config.fill=r.config.stroke.fill,b=o.fillPath({seriesNumber:i,i:a}),r.config.fill=m}for(var v=0;v<s.linePaths.length;v++){var y=b;"rangeArea"===e&&(y=o.fillPath({seriesNumber:i}));var w=u(u({},g),{},{pathFrom:s.pathFromLine,pathTo:s.linePaths[v],stroke:b,strokeWidth:this.strokeWidth,strokeLineCap:r.config.stroke.lineCap,fill:"rangeArea"===e?y:"none"}),k=n.renderPaths(w);if(this.elSeries.add(k),k.attr("fill-rule","evenodd"),l.count>0&&"rangeArea"!==e){var A=n.renderPaths(w);A.node.setAttribute("stroke-dasharray",l.dashArray),l.strokeWidth&&A.node.setAttribute("stroke-width",l.strokeWidth),this.elSeries.add(A),A.attr("clip-path","url(#forecastMask".concat(r.globals.cuid,")")),k.attr("clip-path","url(#nonForecastMask".concat(r.globals.cuid,")"))}}}}},{key:"_iterateOverDataPoints",value:function(t){var e,i,a=this,s=t.type,r=t.series,n=t.iterations,o=t.realIndex,l=t.translationsIndex,h=t.i,c=t.x,d=t.y,u=t.pX,g=t.pY,p=t.pathsFrom,f=t.linePaths,x=t.areaPaths,b=t.seriesIndex,m=t.lineYPosition,y=t.xArrj,w=t.yArrj,k=t.y2Arrj,A=t.isRangeStart,C=t.seriesRangeEnd,S=this.w,L=new Mi(this.ctx),M=this.yRatio,P=p.prevY,I=p.linePath,T=p.areaPath,z=p.pathFromLine,X=p.pathFromArea,R=v.isNumber(S.globals.minYArr[o])?S.globals.minYArr[o]:S.globals.minY;n||(n=S.globals.dataPoints>1?S.globals.dataPoints-1:S.globals.dataPoints);var E=function(t,e){return e-t/M[l]+2*(a.isReversed?t/M[l]:0)},Y=d,H=S.config.chart.stacked&&!S.globals.comboCharts||S.config.chart.stacked&&S.globals.comboCharts&&(!this.w.config.chart.stackOnlyBar||"bar"===(null===(e=this.w.config.series[o])||void 0===e?void 0:e.type)||"column"===(null===(i=this.w.config.series[o])||void 0===i?void 0:i.type)),O=S.config.stroke.curve;Array.isArray(O)&&(O=Array.isArray(b)?O[b[h]]:O[h]);for(var F,D=0,_=0;_<n&&0!==r[h].length;_++){var N=void 0===r[h][_+1]||null===r[h][_+1];if(S.globals.isXNumeric){var W=S.globals.seriesX[o][_+1];
46395void 0===S.globals.seriesX[o][_+1]&&(W=S.globals.seriesX[o][n-1]),c=(W-S.globals.minX)/this.xRatio}else c+=this.xDivision;if(H)if(h>0&&S.globals.collapsedSeries.length<S.config.series.length-1){m=this.prevSeriesY[function(t){for(var e=t;e>0;e--){if(!(S.globals.collapsedSeriesIndices.indexOf((null==b?void 0:b[e])||e)>-1))return e;e--}return 0}(h-1)][_+1]}else m=this.zeroY;else m=this.zeroY;N?d=E(R,m):(d=E(r[h][_+1],m),"rangeArea"===s&&(Y=E(C[h][_+1],m))),y.push(null===r[h][_+1]?null:c),!N||"smooth"!==S.config.stroke.curve&&"monotoneCubic"!==S.config.stroke.curve?(w.push(d),k.push(Y)):(w.push(null),k.push(null));var B=this.lineHelpers.calculatePoints({series:r,x:c,y:d,realIndex:o,i:h,j:_,prevY:P}),G=this._createPaths({type:s,series:r,i:h,realIndex:o,j:_,x:c,y:d,y2:Y,xArrj:y,yArrj:w,y2Arrj:k,pX:u,pY:g,pathState:D,segmentStartX:F,linePath:I,areaPath:T,linePaths:f,areaPaths:x,curve:O,isRangeStart:A});x=G.areaPaths,f=G.linePaths,u=G.pX,g=G.pY,D=G.pathState,F=G.segmentStartX,T=G.areaPath,I=G.linePath,!this.appendPathFrom||S.globals.hasNullValues||"monotoneCubic"===O&&"rangeArea"===s||(z+=L.line(c,this.areaBottomY),X+=L.line(c,this.areaBottomY)),this.handleNullDataPoints(r,B,h,_,o),this._handleMarkersAndLabels({type:s,pointsPos:B,i:h,j:_,realIndex:o,isRangeStart:A})}return{yArrj:w,xArrj:y,pathFromArea:X,areaPaths:x,pathFromLine:z,linePaths:f,linePath:I,areaPath:T}}},{key:"_handleMarkersAndLabels",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,n=t.realIndex,o=this.w,l=new qi(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:n,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{o.globals.series[s].length>1&&this.elPointsMain.node.classList.add("apexcharts-element-hidden");var h=this.markers.plotChartMarkers({pointsPos:i,seriesIndex:n,j:r+1});null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:n,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:"_createPaths",value:function(t){var e=t.type,i=t.series,a=t.i;t.realIndex;var s,r=t.j,n=t.x,o=t.y,l=t.xArrj,h=t.yArrj,c=t.y2,d=t.y2Arrj,u=t.pX,g=t.pY,p=t.pathState,f=t.segmentStartX,x=t.linePath,b=t.areaPath,m=t.linePaths,v=t.areaPaths,y=t.curve,w=t.isRangeStart,k=new Mi(this.ctx),A=this.areaBottomY,C="rangeArea"===e,S="rangeArea"===e&&w;switch(y){case"monotoneCubic":var L=w?h:d;switch(p){case 0:if(null===L[r+1])break;p=1;case 1:if(!(C?l.length===i[a].length:r===i[a].length-2))break;case 2:var M=w?l:l.slice().reverse(),P=w?L:L.slice().reverse(),I=(s=P,M.map((function(t,e){return[t,s[e]]})).filter((function(t){return null!==t[1]}))),T=I.length>1?_a(I):I,z=[];C&&(S?v=I:z=v.reverse());var X=0,R=0;if(function(t,e){for(var i=function(t){var e=[],i=0;return t.forEach((function(t){null!==t?i++:i>0&&(e.push(i),i=0)})),i>0&&e.push(i),e}(t),a=[],s=0,r=0;s<i.length;r+=i[s++])a[s]=Na(e,r,r+i[s]);return a}(P,T).forEach((function(t){X++;var e=function(t){for(var e="",i=0;i<t.length;i++){var a=t[i],s=a.length;s>4?(e+="C".concat(a[0],", ").concat(a[1]),e+=", ".concat(a[2],", ").concat(a[3]),e+=", ".concat(a[4],", ").concat(a[5])):s>2&&(e+="S".concat(a[0],", ").concat(a[1]),e+=", ".concat(a[2],", ").concat(a[3]))}return e}(t),i=R,a=(R+=t.length)-1;S?x=k.move(I[i][0],I[i][1])+e:C?x=k.move(z[i][0],z[i][1])+k.line(I[i][0],I[i][1])+e+k.line(z[a][0],z[a][1]):(x=k.move(I[i][0],I[i][1])+e,b=x+k.line(I[a][0],A)+k.line(I[i][0],A)+"z",v.push(b)),m.push(x)})),C&&X>1&&!S){var E=m.slice(X).reverse();m.splice(X),E.forEach((function(t){return m.push(t)}))}p=0}break;case"smooth":var Y=.35*(n-u);if(null===i[a][r])p=0;else switch(p){case 0:if(f=u,x=S?k.move(u,d[r])+k.line(u,g):k.move(u,g),b=k.move(u,g),null===i[a][r+1]||void 0===i[a][r+1]){m.push(x),v.push(b);break}if(p=1,r<i[a].length-2){var H=k.curve(u+Y,g,n-Y,o,n,o);x+=H,b+=H;break}case 1:if(null===i[a][r+1])x+=S?k.line(u,c):k.move(u,g),b+=k.line(u,A)+k.line(f,A)+"z",m.push(x),v.push(b),p=-1;else{var O=k.curve(u+Y,g,n-Y,o,n,o);x+=O,b+=O,r>=i[a].length-2&&(S&&(x+=k.curve(n,o,n,o,n,c)+k.move(n,c)),b+=k.curve(n,o,n,o,n,A)+k.line(f,A)+"z",m.push(x),v.push(b),p=-1)}}u=n,g=o;break;
vendor: 13,261 bytes, line 46395
46395default:var F=function(t,e,i){var a=[];switch(t){case"stepline":a=k.line(e,null,"H")+k.line(null,i,"V");break;case"linestep":a=k.line(null,i,"V")+k.line(e,null,"H");break;case"straight":a=k.line(e,i)}return a};if(null===i[a][r])p=0;else switch(p){case 0:if(f=u,x=S?k.move(u,d[r])+k.line(u,g):k.move(u,g),b=k.move(u,g),null===i[a][r+1]||void 0===i[a][r+1]){m.push(x),v.push(b);break}if(p=1,r<i[a].length-2){var D=F(y,n,o);x+=D,b+=D;break}case 1:if(null===i[a][r+1])x+=S?k.line(u,c):k.move(u,g),b+=k.line(u,A)+k.line(f,A)+"z",m.push(x),v.push(b),p=-1;else{var _=F(y,n,o);x+=_,b+=_,r>=i[a].length-2&&(S&&(x+=k.line(n,c)),b+=k.line(n,A)+k.line(f,A)+"z",m.push(x),v.push(b),p=-1)}}u=n,g=o}return{linePaths:m,areaPaths:v,pX:u,pY:g,pathState:p,segmentStartX:f,linePath:x,areaPath:b}}},{key:"handleNullDataPoints",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var n=this.strokeWidth-r.config.markers.strokeWidth/2;n>0||(n=0);var o=this.markers.plotChartMarkers({pointsPos:e,seriesIndex:s,j:a+1,pSize:n,alwaysDrawMarker:!0});null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,n=r(t)/this.height,o=r(t)/this.width;if(this.width>=this.height)for(e=0;e<t.length;e++)i.push([a,s,a+n,s+t[e]/n]),s+=t[e]/n;else for(e=0;e<t.length;e++)i.push([a,s,a+t[e]/o,s+o]),a+=t[e]/o;return i},this.cutArea=function(e){var i;if(this.width>=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,n=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,n)}return i}}function e(e,a,s,n,o){n=void 0===n?0:n,o=void 0===o?0:o;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i<t.length;i++)a[i]=t[i]*s;return a}(e,a*s),[],new t(n,o,a,s),[]);return function(t){var e,i,a=[];for(e=0;e<t.length;e++)for(i=0;i<t[e].length;i++)a.push(t[e][i]);return a}(l)}function i(t,e,s,n){var o,l,h;if(0!==t.length)return o=s.shortestEdge(),function(t,e,i){var s;if(0===t.length)return!0;(s=t.slice()).push(e);var r=a(t,i),n=a(s,i);return r>=n}(e,l=t[0],o)?(e.push(l),i(t.slice(1),e,s,n)):(h=s.cutArea(r(e),n),n.push(s.getCoordinates(e)),i(t,[],h,n)),n;n.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;e<t.length;e++)i+=t[e];return i}function n(t){var e,i=0;if(s(t[0]))for(e=0;e<t.length;e++)i+=n(t[e]);else i=r(t);return i}return function t(i,a,r,o,l){o=void 0===o?0:o,l=void 0===l?0:l;var h,c,d=[],u=[];if(s(i[0])){for(c=0;c<i.length;c++)d[c]=n(i[c]);for(h=e(d,a,r,o,l),c=0;c<i.length;c++)u.push(t(i[c],h[c][2]-h[c][0],h[c][3]-h[c][1],h[c][0],h[c][1]))}else u=e(i,a,r,o,l);return u}}();var Ga=function(){function t(e,a){i(this,t),this.ctx=e,this.w=e.w,this.strokeWidth=this.w.config.stroke.width,this.helpers=new za(e),this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.labels=[]}return s(t,[{key:"draw",value:function(t){var e=this,i=this.w,a=new Mi(this.ctx),s=new ji(this.ctx),r=a.group({class:"apexcharts-treemap"});if(i.globals.noData)return r;var n=[];return t.forEach((function(t){var e=t.map((function(t){return Math.abs(t)}));n.push(e)})),this.negRange=this.helpers.checkColorRange(),i.config.series.forEach((function(t,i){t.data.forEach((function(t){Array.isArray(e.labels[i])||(e.labels[i]=[]),e.labels[i].push(t.x)}))})),window.TreemapSquared.generate(n,i.globals.gridWidth,i.globals.gridHeight).forEach((function(n,o){var l=a.group({class:"apexcharts-series apexcharts-treemap-series",seriesName:v.escapeString(i.globals.seriesNames[o]),rel:o+1,"data:realIndex":o});if(i.config.chart.dropShadow.enabled){var h=i.config.chart.dropShadow;new Li(e.ctx).dropShadow(r,h,o)}var c=a.group({class:"apexcharts-data-labels"}),d={xMin:1/0,yMin:1/0,xMax:-1/0,yMax:-1/0};n.forEach((function(r,n){var h=r[0],c=r[1],u=r[2],g=r[3];d.xMin=Math.min(d.xMin,h),d.yMin=Math.min(d.yMin,c),d.xMax=Math.max(d.xMax,u),d.yMax=Math.max(d.yMax,g);var p=e.helpers.getShadeColor(i.config.chart.type,o,n,e.negRange),f=p.color,x=s.fillPath({color:f,seriesNumber:o,dataPointIndex:n}),b=a.drawRect(h,c,u-h,g-c,i.config.plotOptions.treemap.borderRadius,"#fff",1,e.strokeWidth,i.config.plotOptions.treemap.useFillColorAsStroke?f:i.globals.stroke.colors[o]);b.attr({cx:h,cy:c,index:o,i:o,j:n,width:u-h,height:g-c,fill:x}),b.node.classList.add("apexcharts-treemap-rect"),e.helpers.addListeners(b);var m={x:h+(u-h)/2,y:c+(g-c)/2,width:0,height:0},v={x:h,y:c,width:u-h,height:g-c};if(i.config.chart.animations.enabled&&!i.globals.dataChanged){var y=1;i.globals.resized||(y=i.config.chart.animations.speed),e.animateTreemap(b,m,v,y)}if(i.globals.dataChanged){var w=1;e.dynamicAnim.enabled&&i.globals.shouldAnimate&&(w=e.dynamicAnim.speed,i.globals.previousPaths[o]&&i.globals.previousPaths[o][n]&&i.globals.previousPaths[o][n].rect&&(m=i.globals.previousPaths[o][n].rect),e.animateTreemap(b,m,v,w))}var k=e.getFontSize(r),A=i.config.dataLabels.formatter(e.labels[o][n],{value:i.globals.series[o][n],seriesIndex:o,dataPointIndex:n,w:i});"truncate"===i.config.plotOptions.treemap.dataLabels.format&&(k=parseInt(i.config.dataLabels.style.fontSize,10),A=e.truncateLabels(A,k,h,c,u,g));var C=null;i.globals.series[o][n]&&(C=e.helpers.calculateDataLabels({text:A,x:(h+u)/2,y:(c+g)/2+e.strokeWidth/2+k/3,i:o,j:n,colorProps:p,fontSize:k,series:t})),i.config.dataLabels.enabled&&C&&e.rotateToFitLabel(C,k,A,h,c,u,g),l.add(b),null!==C&&l.add(C)}));var u=i.config.plotOptions.treemap.seriesTitle;if(i.config.series.length>1&&u&&u.show){var g=i.config.series[o].name||"";if(g&&d.xMin<1/0&&d.yMin<1/0){var p=u.offsetX,f=u.offsetY,x=u.borderColor,b=u.borderWidth,m=u.borderRadius,y=u.style,w=y.color||i.config.chart.foreColor,k={left:y.padding.left,right:y.padding.right,top:y.padding.top,bottom:y.padding.bottom},A=a.getTextRects(g,y.fontSize,y.fontFamily),C=A.width+k.left+k.right,S=A.height+k.top+k.bottom,L=d.xMin+(p||0),M=d.yMin+(f||0),P=a.drawRect(L,M,C,S,m,y.background,1,b,x),I=a.drawText({x:L+k.left,y:M+k.top+.75*A.height,text:g,fontSize:y.fontSize,fontFamily:y.fontFamily,fontWeight:y.fontWeight,foreColor:w,cssClass:y.cssClass||""});l.add(P),l.add(I)}}l.add(c),r.add(l)})),r}},{key:"getFontSize",value:function(t){var e=this.w;var i=function t(e){var i,a=0;if(Array.isArray(e[0]))for(i=0;i<e.length;i++)a+=t(e[i]);else for(i=0;i<e.length;i++)a+=e[i].length;return a}(this.labels)/function t(e){var i,a=0;if(Array.isArray(e[0]))for(i=0;i<e.length;i++)a+=t(e[i]);else for(i=0;i<e.length;i++)a+=1;return a}(this.labels);return function(t,a){var s=t*a,r=Math.pow(s,.5);return Math.min(r/i,parseInt(e.config.dataLabels.style.fontSize,10))}(t[2]-t[0],t[3]-t[1])}},{key:"rotateToFitLabel",value:function(t,e,i,a,s,r,n){var o=new Mi(this.ctx),l=o.getTextRects(i,e);if(l.width+this.w.config.stroke.width+5>r-a&&l.width<=n-s){var h=o.rotateAroundCenter(t.node);t.node.setAttribute("transform","rotate(-90 ".concat(h.x," ").concat(h.y,") translate(").concat(l.height/3,")"))}}},{key:"truncateLabels",value:function(t,e,i,a,s,r){var n=new Mi(this.ctx),o=n.getTextRects(t,e).width+this.w.config.stroke.width+5>s-i&&r-a>s-i?r-a:s-i,l=n.getTextBasedOnMaxWidth({text:t,maxWidth:o,fontSize:e});return t.length!==l.length&&o/e<5?"":l}},{key:"animateTreemap",value:function(t,e,i,a){var s=new y(this.ctx);s.animateRect(t,e,i,a,(function(){s.animationCompleted(t)}))}}]),t}(),ja=86400,Va=10/ja,Ua=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return s(t,[{key:"calculateTimeScaleTicks",value:function(t,e){var i=this,a=this.w;if(a.globals.allSeriesCollapsed)return a.globals.labels=[],a.globals.timescaleLabels=[],[];var s=new zi(this.ctx),r=(e-t)/864e5;this.determineInterval(r),a.globals.disableZoomIn=!1,a.globals.disableZoomOut=!1,r<Va?a.globals.disableZoomIn=!0:r>5e4&&(a.globals.disableZoomOut=!0);var n=s.getTimeUnitsfromTimestamp(t,e,this.utc),o=a.globals.gridWidth/r,l=o/24,h=l/60,c=h/60,d=Math.floor(24*r),g=Math.floor(1440*r),p=Math.floor(r*ja),f=Math.floor(r),x=Math.floor(r/30),b=Math.floor(r/365),m={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},v={firstVal:m,currentMillisecond:m.minMillisecond,currentSecond:m.minSecond,currentMinute:m.minMinute,currentHour:m.minHour,currentMonthDate:m.minDate,currentDate:m.minDate,currentMonth:m.minMonth,currentYear:m.minYear,daysWidthOnXAxis:o,hoursWidthOnXAxis:l,minutesWidthOnXAxis:h,secondsWidthOnXAxis:c,numberOfSeconds:p,numberOfMinutes:g,numberOfHours:d,numberOfDays:f,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case"years":this.generateYearScale(v);break;case"months":case"half_year":this.generateMonthScale(v);break;case"months_days":case"months_fortnight":case"days":case"week_days":this.generateDayScale(v);break;case"hours":this.generateHourScale(v);break;case"minutes_fives":case"minutes":this.generateMinuteScale(v);break;case"seconds_tens":case"seconds_fives":case"seconds":this.generateSecondScale(v)}var y=this.timeScaleArray.map((function(t){var e={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return"month"===t.unit?u(u({},e),{},{day:1,value:t.value+1}):"day"===t.unit||"hour"===t.unit?u(u({},e),{},{value:t.value}):"minute"===t.unit?u(u({},e),{},{value:t.value,minute:t.value}):"second"===t.unit?u(u({},e),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,s=Math.ceil(a.globals.gridWidth/120),r=t.value;void 0!==a.config.xaxis.tickAmount&&(s=a.config.xaxis.tickAmount),y.length>s&&(e=Math.floor(y.length/s));var n=!1,o=!1;switch(i.tickInterval){case"years":"year"===t.unit&&(n=!0);break;case"half_year":e=7,"year"===t.unit&&(n=!0);break;case"months":e=1,"year"===t.unit&&(n=!0);break;case"months_fortnight":e=15,"year"!==t.unit&&"month"!==t.unit||(n=!0),30===r&&(o=!0);break;case"months_days":e=10,"month"===t.unit&&(n=!0),30===r&&(o=!0);break;case"week_days":e=8,"month"===t.unit&&(n=!0);break;case"days":e=1,"month"===t.unit&&(n=!0);break;case"hours":"day"===t.unit&&(n=!0);break;case"minutes_fives":case"seconds_fives":r%5!=0&&(o=!0);break;case"seconds_tens":r%10!=0&&(o=!0)}if("hours"===i.tickInterval||"minutes_fives"===i.tickInterval||"seconds_tens"===i.tickInterval||"seconds_fives"===i.tickInterval){if(!o)return!0}else if((r%e==0||n)&&!o)return!0}))}},{key:"recalcDimensionsBasedOnFormat",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new pa(this.ctx).plotCoords()}},{key:"determineInterval",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval="years";break;case t>800:this.tickInterval="half_year";break;case t>180:this.tickInterval="months";break;case t>90:this.tickInterval="months_fortnight";break;case t>60:this.tickInterval="months_days";break;case t>30:this.tickInterval="week_days";break;case t>2:this.tickInterval="days";break;case e>2.4:this.tickInterval="hours";break;case i>15:this.tickInterval="minutes_fives";break;case i>5:this.tickInterval="minutes";break;case i>1:this.tickInterval="seconds_tens";break;case 60*i>20:this.tickInterval="seconds_fives";break;default:this.tickInterval="seconds"}}},{key:"generateYearScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,n=e.minYear,o=0,l=new zi(this.ctx),h="year";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);o=(l.determineDaysOfYear(e.minYear)-c+1)*s,n=e.minYear+1,this.timeScaleArray.push({position:o,value:n,unit:h,year:n,month:v.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:o,value:n,unit:h,year:a,month:v.monthMod(i+1)});for(var d=n,u=o,g=0;g<r;g++)d++,u=l.determineDaysOfYear(d-1)*s+u,this.timeScaleArray.push({position:u,value:d,unit:h,year:d,month:1})}},{key:"generateMonthScale",value:function(t){var e=t.firstVal,i=t.currentMonthDate,a=t.currentMonth,s=t.currentYear,r=t.daysWidthOnXAxis,n=t.numberOfMonths,o=a,l=0,h=new zi(this.ctx),c="month",d=0;if(e.minDate>1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,o=v.monthMod(a+1);var u=s+d,g=v.monthMod(o),p=o;0===o&&(c="year",p=u,g=1,u+=d+=1),this.timeScaleArray.push({position:l,value:p,unit:c,year:u,month:g})}else this.timeScaleArray.push({position:l,value:o,unit:c,year:s,month:v.monthMod(a)});for(var f=o+1,x=l,b=0,m=1;b<n;b++,m++){0===(f=v.monthMod(f))?(c="year",d+=1):c="month";var y=this._getYear(s,f,d);x=h.determineDaysOfMonths(f,y)*r+x;var w=0===f?y:f;this.timeScaleArray.push({position:x,value:w,unit:c,year:y,month:0===f?1:f}),f++}}},{key:"generateDayScale",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.hoursWidthOnXAxis,r=t.numberOfDays,n=new zi(this.ctx),o="day",l=e.minDate+1,h=l,c=function(t,e,
vendor: 4,831 bytes, line 46395
46395i){return t>n.determineDaysOfMonths(e+1,i)?(h=1,o="month",u=e+=1,e):e},d=(24-e.minHour)*s,u=l,g=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,u=v.monthMod(e.minMonth),o="month",h=e.minDate):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,u=l,g=c(h=l,i,a),1!==u&&(o="day")),this.timeScaleArray.push({position:d,value:u,unit:o,year:this._getYear(a,g,0),month:v.monthMod(g),day:h});for(var p=d,f=0;f<r;f++){o="day",g=c(h+=1,g,this._getYear(a,g,0));var x=this._getYear(a,g,0);p=24*s+p;var b=1===h?v.monthMod(g):h;this.timeScaleArray.push({position:p,value:b,unit:o,year:x,month:v.monthMod(g),day:b})}}},{key:"generateHourScale",value:function(t){var e=t.firstVal,i=t.currentDate,a=t.currentMonth,s=t.currentYear,r=t.minutesWidthOnXAxis,n=t.numberOfHours,o=new zi(this.ctx),l="hour",h=function(t,e){return t>o.determineDaysOfMonths(e+1,s)&&(f=1,e+=1),{month:e,date:f}},c=function(t,e){return t>o.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),u=d*r,g=e.minHour+1,p=g;60===d&&(u=0,p=g=e.minHour);var f=i;p>=24&&(p=0,l="day",g=f+=1);var x=h(f,a).month;x=c(f,x),g>31&&(g=f=1),this.timeScaleArray.push({position:u,value:g,unit:l,day:f,hour:p,year:s,month:v.monthMod(x)}),p++;for(var b=u,m=0;m<n;m++){if(l="hour",p>=24)p=0,l="day",x=h(f+=1,x).month,x=c(f,x);var y=this._getYear(s,x,0);b=60*r+b;var w=0===p?f:p;this.timeScaleArray.push({position:b,value:w,unit:l,hour:p,day:f,year:y,month:v.monthMod(x)}),p++}}},{key:"generateMinuteScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,n=t.currentMonth,o=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,u=r,g=n,p=o,f=s,x=(60-i-e/1e3)*h,b=0;b<c;b++)d>=60&&(d=0,24===(f+=1)&&(f=0)),this.timeScaleArray.push({position:x,value:d,unit:"minute",hour:f,minute:d,day:u,year:this._getYear(p,g,0),month:v.monthMod(g)}),x+=l,d++}},{key:"generateSecondScale",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,n=t.currentMonth,o=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,u=r,g=n,p=o,f=s,x=(1e3-e)/1e3*l,b=0;b<h;b++)c>=60&&(c=0,++d>=60&&(d=0,24===++f&&(f=0))),this.timeScaleArray.push({position:x,value:c,unit:"second",hour:f,minute:d,second:c,day:u,year:this._getYear(p,g,0),month:v.monthMod(g)}),x+=l,c++}},{key:"createRawDateString",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+="-"+("0"+t.month.toString()).slice(-2),"day"===t.unit?i+="day"===t.unit?"-"+("0"+e).slice(-2):"-01":i+="-"+("0"+(t.day?t.day:"1")).slice(-2),"hour"===t.unit?i+="hour"===t.unit?"T"+("0"+e).slice(-2):"T00":i+="T"+("0"+(t.hour?t.hour:"0")).slice(-2),"minute"===t.unit?i+=":"+("0"+e).slice(-2):i+=":"+(t.minute?("0"+t.minute).slice(-2):"00"),"second"===t.unit?i+=":"+("0"+e).slice(-2):i+=":00",this.utc&&(i+=".000Z"),i}},{key:"formatDates",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new zi(e.ctx),r=e.createRawDateString(t,a),n=s.getDate(s.parseDate(r));if(e.utc||(n=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var o="dd MMM",l=i.config.xaxis.labels.datetimeFormatter;"year"===t.unit&&(o=l.year),"month"===t.unit&&(o=l.month),"day"===t.unit&&(o=l.day),"hour"===t.unit&&(o=l.hour),"minute"===t.unit&&(o=l.minute),"second"===t.unit&&(o=l.second),a=s.formatDate(n,o)}else a=s.formatDate(n,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:"removeOverlappingTS",value:function(t){var e,i=this,a=new Mi(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,n=t.map((function(n,o){if(o>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return n.position>h+l+10?(r=o,n):null}return n}));return n=n.filter((function(t){return null!==t}))}},{key:"_getYear",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),qa=function(){function t(e,a){i(this,t),this.ctx=a,this.w=a.w,this.el=e}return s(t,[{key:"setupElements",value:function(){var t=this.w,e=t.globals,i=t.config,a=i.chart.type;e.axisCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble","radar","heatmap","treemap"].includes(a),e.xyCharts=["line","area","bar","rangeBar","rangeArea","candlestick","boxPlot","scatter","bubble"].includes(a),e.isBarHorizontal=["bar","rangeBar","boxPlot"].includes(a)&&i.plotOptions.bar.horizontal,e.chartClass=".apexcharts".concat(e.chartID),e.dom.baseEl=this.el,e.dom.elWrap=document.createElement("div"),Mi.setAttrs(e.dom.elWrap,{id:e.chartClass.substring(1),class:"apexcharts-canvas ".concat(e.chartClass.substring(1))}
vendor: 6,975 bytes, line 46395
46395),this.el.appendChild(e.dom.elWrap),e.dom.Paper=window.SVG().addTo(e.dom.elWrap),e.dom.Paper.attr({class:"apexcharts-svg","xmlns:data":"ApexChartsNS",transform:"translate(".concat(i.chart.offsetX,", ").concat(i.chart.offsetY,")")}),e.dom.Paper.node.style.background="dark"!==i.theme.mode||i.chart.background?"light"!==i.theme.mode||i.chart.background?i.chart.background:"#fff":"#343A3F",this.setSVGDimensions(),e.dom.elLegendForeign=document.createElementNS(e.SVGNS,"foreignObject"),Mi.setAttrs(e.dom.elLegendForeign,{x:0,y:0,width:e.svgWidth,height:e.svgHeight}),e.dom.elLegendWrap=document.createElement("div"),e.dom.elLegendWrap.classList.add("apexcharts-legend"),e.dom.elWrap.appendChild(e.dom.elLegendWrap),e.dom.Paper.node.appendChild(e.dom.elLegendForeign),e.dom.elGraphical=e.dom.Paper.group().attr({class:"apexcharts-inner apexcharts-graphical"}),e.dom.elDefs=e.dom.Paper.defs(),e.dom.Paper.add(e.dom.elGraphical),e.dom.elGraphical.add(e.dom.elDefs)}},{key:"plotChartType",value:function(t,e){var i=this.w,a=this.ctx,s=i.config,r=i.globals,n={line:{series:[],i:[]},area:{series:[],i:[]},scatter:{series:[],i:[]},bubble:{series:[],i:[]},bar:{series:[],i:[]},candlestick:{series:[],i:[]},boxPlot:{series:[],i:[]},rangeBar:{series:[],i:[]},rangeArea:{series:[],seriesRangeEnd:[],i:[]}},o=s.chart.type||"line",l=null,h=0;r.series.forEach((function(e,a){var s="column"===t[a].type?"bar":t[a].type||("column"===o?"bar":o);n[s]?("rangeArea"===s?(n[s].series.push(r.seriesRangeStart[a]),n[s].seriesRangeEnd.push(r.seriesRangeEnd[a])):n[s].series.push(e),n[s].i.push(a),"bar"===s&&(i.globals.columnSeries=n.bar)):["heatmap","treemap","pie","donut","polarArea","radialBar","radar"].includes(s)?l=s:console.warn("You have specified an unrecognized series type (".concat(s,").")),o!==s&&"scatter"!==s&&h++})),h>0&&(l&&console.warn("Chart or series type ".concat(l," cannot appear with other chart or series types.")),n.bar.series.length>0&&s.plotOptions.bar.horizontal&&(h-=n.bar.series.length,n.bar={series:[],i:[]},i.globals.columnSeries={series:[],i:[]},console.warn("Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`"))),r.comboCharts||(r.comboCharts=h>0);var c=new Ba(a,e),d=new Ta(a,e);a.pie=new Ea(a);var u=new Ha(a);a.rangeBar=new Oa(a,e);var g=new Ya(a),p=[];if(r.comboCharts){var x,b,m=new Pi(a);if(n.area.series.length>0)(x=p).push.apply(x,f(m.drawSeriesByGroup(n.area,r.areaGroups,"area",c)));if(n.bar.series.length>0)if(s.chart.stacked){var v=new Ia(a,e);p.push(v.draw(n.bar.series,n.bar.i))}else a.bar=new Pa(a,e),p.push(a.bar.draw(n.bar.series,n.bar.i));if(n.rangeArea.series.length>0&&p.push(c.draw(n.rangeArea.series,"rangeArea",n.rangeArea.i,n.rangeArea.seriesRangeEnd)),n.line.series.length>0)(b=p).push.apply(b,f(m.drawSeriesByGroup(n.line,r.lineGroups,"line",c)));if(n.candlestick.series.length>0&&p.push(d.draw(n.candlestick.series,"candlestick",n.candlestick.i)),n.boxPlot.series.length>0&&p.push(d.draw(n.boxPlot.series,"boxPlot",n.boxPlot.i)),n.rangeBar.series.length>0&&p.push(a.rangeBar.draw(n.rangeBar.series,n.rangeBar.i)),n.scatter.series.length>0){var y=new Ba(a,e,!0);p.push(y.draw(n.scatter.series,"scatter",n.scatter.i))}if(n.bubble.series.length>0){var w=new Ba(a,e,!0);p.push(w.draw(n.bubble.series,"bubble",n.bubble.i))}}else switch(s.chart.type){case"line":p=c.draw(r.series,"line");break;case"area":p=c.draw(r.series,"area");break;case"bar":if(s.chart.stacked)p=new Ia(a,e).draw(r.series);else a.bar=new Pa(a,e),p=a.bar.draw(r.series);break;case"candlestick":p=new Ta(a,e).draw(r.series,"candlestick");break;case"boxPlot":p=new Ta(a,e).draw(r.series,s.chart.type);break;case"rangeBar":p=a.rangeBar.draw(r.series);break;case"rangeArea":p=c.draw(r.seriesRangeStart,"rangeArea",void 0,r.seriesRangeEnd);break;case"heatmap":p=new Xa(a,e).draw(r.series);break;case"treemap":p=new Ga(a,e).draw(r.series);break;case"pie":case"donut":case"polarArea":p=a.pie.draw(r.series);break;case"radialBar":p=u.draw(r.series);break;case"radar":p=g.draw(r.series);break;default:p=c.draw(r.series)}return p}},{key:"setSVGDimensions",value:function(){var t=this.w,e=t.globals,i=t.config;i.chart.width=i.chart.width||"100%",i.chart.height=i.chart.height||"auto",e.svgWidth=i.chart.width,e.svgHeight=i.chart.height;var a=v.getDimensions(this.el),s=i.chart.width.toString().split(/[0-9]+/g).pop();"%"===s?v.isNumber(a[0])&&(0===a[0].width&&(a=v.getDimensions(this.el.parentNode)),e.svgWidth=a[0]*parseInt(i.chart.width,10)/100):"px"!==s&&""!==s||(e.svgWidth=parseInt(i.chart.width,10));var r=String(i.chart.height).toString().split(/[0-9]+/g).pop();if("auto"!==e.svgHeight&&""!==e.svgHeight)if("%"===r){var n=v.getDimensions(this.el.parentNode);e.svgHeight=n[1]*parseInt(i.chart.height,10)/100}else e.svgHeight=parseInt(i.chart.height,10);else e.svgHeight=e.axisCharts?e.svgWidth/1.61:e.svgWidth/1.2;if(e.svgWidth=Math.max(e.svgWidth,0),e.svgHeight=Math.max(e.svgHeight,0),Mi.setAttrs(e.dom.Paper.node,{width:e.svgWidth,height:e.svgHeight}),"%"!==r){var o=i.chart.sparkline.enabled?0:e.axisCharts?i.chart.parentHeightOffset:0;e.dom.Paper.node.parentNode.parentNode.style.minHeight="".concat(e.svgHeight+o,"px")}e.dom.elWrap.style.width="".concat(e.svgWidth,"px"),e.dom.elWrap.style.height="".concat(e.svgHeight,"px")}},{key:"shiftGraphPosition",value:function(){var t=this.w.globals,e=t.translateY,i=t.translateX;Mi.setAttrs(t.dom.elGraphical.node,{transform:"translate(".concat(i,", ").concat(e,")")})}},{key:"resizeNonAxisCharts",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,["top","bottom"].includes(t.config.legend.position)&&t.config.legend.show&&!t.config.legend.floating&&(i=new xa(this.ctx).legendHelpers.getLegendDimensions().clwh+7);var s=t.globals.dom.baseEl.querySelector(".apexcharts-radialbar, .apexcharts-pie"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var n=v.getBoundingClientRect(s);r=n.bottom;var o=n.bottom-n.top;r=Math.max(2.05*t.globals.radialSize,o)}var l=Math.ceil(r+e.translateY+i+a);e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute("height",l),t.config.chart.height&&String(t.config.chart.height).includes("%")||(e.dom.elWrap.style.height="".concat(l,"px"),Mi.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight="".concat(l,"px"))}},{key:"coreCalculations",value:function(){new ea(this.ctx).init()}},{key:"resetGlobals",value:function(){var t=this,e=function(){return t.w.config.series.map((function(){return[]}))},i=new Bi,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:"isMultipleY",value:function(){return!!(Array.isArray(this.w.config.yaxis)&&this.w.config.yaxis.length>1)&&(this.w.globals.isMultipleYAxis=!0,!0)}},{key:"xySettings",value:function(){var t=this.w,e=null;if(t.globals.axisCharts){if("back"===t.config.xaxis.crosshairs.position&&new n
vendor: 7,432 bytes, line 46395
46395a(this.ctx).drawXCrosshairs(),"back"===t.config.yaxis[0].crosshairs.position&&new na(this.ctx).drawYCrosshairs(),"datetime"===t.config.xaxis.type&&void 0===t.config.xaxis.labels.formatter){this.ctx.timeScale=new Ua(this.ctx);var i=[];isFinite(t.globals.minX)&&isFinite(t.globals.maxX)&&!t.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minX,t.globals.maxX):t.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(t.globals.minY,t.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}e=new Pi(this.ctx).getCalculatedRatios()}return e}},{key:"updateSourceChart",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:"setupBrushHandler",value:function(){var t=this,e=this.ctx,i=this.w;if(i.config.chart.brush.enabled&&"function"!=typeof i.config.chart.events.selection){var a=Array.isArray(i.config.chart.brush.targets)?i.config.chart.brush.targets:[i.config.chart.brush.target];a.forEach((function(i){var a=e.constructor.getChartByID(i);a.w.globals.brushSource=t.ctx,"function"!=typeof a.w.config.chart.events.zoomed&&(a.w.config.chart.events.zoomed=function(){return t.updateSourceChart(a)}),"function"!=typeof a.w.config.chart.events.scrolled&&(a.w.config.chart.events.scrolled=function(){return t.updateSourceChart(a)})})),i.config.chart.events.selection=function(t,i){a.forEach((function(t){e.constructor.getChartByID(t).ctx.updateHelpers._updateOptions({xaxis:{min:i.xaxis.min,max:i.xaxis.max}},!1,!1,!1,!1)}))}}}}]),t}(),Za=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"_updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var o=[e.ctx];s&&(o=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(o=[e.ctx],e.ctx.w.globals.isExecCalled=!1),o.forEach((function(s,l){var h=s.w;if(h.globals.shouldAnimate=a,i||(h.globals.resized=!0,h.globals.dataChanged=!0,a&&s.series.getPreviousPaths()),t&&"object"===b(t)&&(s.config=new Wi(t),t=Pi.extendArrayProps(s.config,t,h),s.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,h.config=v.extend(h.config,t),r&&(h.globals.lastXAxis=t.xaxis?v.clone(t.xaxis):[],h.globals.lastYAxis=t.yaxis?v.clone(t.yaxis):[],h.globals.initialConfig=v.extend({},h.config),h.globals.initialSeries=v.clone(h.config.series),t.series))){for(var c=0;c<h.globals.collapsedSeriesIndices.length;c++){var d=h.config.series[h.globals.collapsedSeriesIndices[c]];h.globals.collapsedSeries[c].data=h.globals.axisCharts?d.data.slice():d}for(var u=0;u<h.globals.ancillaryCollapsedSeriesIndices.length;u++){var g=h.config.series[h.globals.ancillaryCollapsedSeriesIndices[u]];h.globals.ancillaryCollapsedSeries[u].data=h.globals.axisCharts?g.data.slice():g}s.series.emptyCollapsedSeries(h.config.series)}return s.update(t).then((function(){l===o.length-1&&n(s)}))}))}))}},{key:"_updateSeries",value:function(t,e){var i=this,a=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,n=i.w;return n.globals.shouldAnimate=e,n.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),n.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),n.config.series=r):n.config.series=t.slice(),a&&(n.globals.initialConfig.series=v.clone(n.config.series),n.globals.initialSeries=v.clone(n.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:"_extendSeries",value:function(t,e){var i=this.w,a=i.config.series[e];return u(u({},i.config.series[e]),{},{name:t.name?t.name:null==a?void 0:a.name,color:t.color?t.color:null==a?void 0:a.color,type:t.type?t.type:null==a?void 0:a.type,group:t.group?t.group:null==a?void 0:a.group,hidden:void 0!==t.hidden?t.hidden:null==a?void 0:a.hidden,data:t.data?t.data:null==a?void 0:a.data,zIndex:void 0!==t.zIndex?t.zIndex:e})}},{key:"toggleDataPointSelection",value:function(t,e){var i=this.w,a=null,s=".apexcharts-series[data\\:realIndex='".concat(t,"']");return i.globals.axisCharts?a=i.globals.dom.Paper.findOne("".concat(s," path[j='").concat(e,"'], ").concat(s," circle[j='").concat(e,"'], ").concat(s," rect[j='").concat(e,"']")):void 0===e&&(a=i.globals.dom.Paper.findOne("".concat(s," path[j='").concat(t,"']")),"pie"!==i.config.chart.type&&"polarArea"!==i.config.chart.type&&"donut"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new Mi(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn("toggleDataPointSelection: Element not found"),null)}},{key:"forceXAxisUpdate",value:function(t){var e=this.w;if(["min","max"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new Ni(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:"forceYAxisUpdate",value:function(t){return t.chart&&t.chart.stacked&&"100%"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:"revertDefaultAxisMinMax",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();!function(){function t(){for(var t=arguments.length>0&&arguments[0]!==h?arguments[0]:[],s=arguments.length>1?arguments[1]:h,r=arguments.length>2?arguments[2]:h,n=arguments.length>3?arguments[3]:h,o=arguments.length>4?arguments[4]:h,l=arguments.length>5?arguments[5]:h,h=arguments.length>6?arguments[6]:h,c=t.slice(s,r||h),d=n.slice(o,l||h),u=0,g={pos:[0,0],start:[0,0]},p={pos:[0,0],start:[0,0]};;){if(c[u]=e.call(g,c[u]),d[u]=e.call(p,d[u]),c[u][0]!=d[u][0]||"M"==c[u][0]||"A"==c[u][0]&&(c[u][4]!=d[u][4]||c[u][5]!=d[u][5])?(Array.prototype.splice.apply(c,[u,1].concat(a.call(g,c[u]))),Array.prototype.splice.apply(d,[u,1].concat(a.call(p,d[u])))):(c[u]=i.call(g,c[u]),d[u]=i.call(p,d[u])),++u==c.length&&u==d.length)break;u==c.length&&c.push(["C",g.pos[0],g.pos[1],g.pos[0],g.pos[1],g.pos[0],g.pos[1]]),u==d.length&&d.push(["C",p.pos[0],p.pos[1],p.pos[0],p.pos[1],p.pos[0],p.pos[1]])}return{start:c,dest:d}}function e(t){switch(t[0]){case"z":case"Z":t[0]="L",t[1]=this.start[0],t[2]=this.start[1];break;case"H":t[0]="L",t[2]=this.pos[1];break;case"V":t[0]="L",t[2]=t[1],t[1]=this.pos[0];break;case"T":t[0]="Q",t[3]=t[1],t[4]=t[2],t[1]=this.reflection[1],t[2]=this.reflection[0];break;case"S":t[0]="C",t[6]=t[4],t[5]=t[3],t[4]=t[2],t[3]=t[1],t[2]=this.reflection[1],t[1]=this.reflection[0]}return t}function i(t){var e=t.length;return this.pos=[t[e-2],t[e-1]],-1!="SCQT".indexOf(t[0])&&(this.reflection=[2*this.pos[0]-t[e-4],2*this.pos[1]-t[e-3]]),t}function a(t){var e=[t];switch(t[0]){case"M":return this.pos=this.start=[t[1],t[2]],e;
vendor: 18,941 bytes, lines 46395-46427
46395case"L":t[5]=t[3]=t[1],t[6]=t[4]=t[2],t[1]=this.pos[0],t[2]=this.pos[1];break;case"Q":t[6]=t[4],t[5]=t[3],t[4]=1*t[4]/3+2*t[2]/3,t[3]=1*t[3]/3+2*t[1]/3,t[2]=1*this.pos[1]/3+2*t[2]/3,t[1]=1*this.pos[0]/3+2*t[1]/3;break;case"A":e=function(t,e){var i,a,s,r,n,o,l,h,c,d,u,g,p,f,x,b,m,v,y,w,k,A,C,S,L,M,P=Math.abs(e[1]),I=Math.abs(e[2]),T=e[3]%360,z=e[4],X=e[5],R=e[6],E=e[7],Y=new bt(t),H=new bt(R,E),O=[];if(0===P||0===I||Y.x===H.x&&Y.y===H.y)return[["C",Y.x,Y.y,H.x,H.y,H.x,H.y]];i=new bt((Y.x-H.x)/2,(Y.y-H.y)/2).transform((new vt).rotate(T)),a=i.x*i.x/(P*P)+i.y*i.y/(I*I),a>1&&(P*=a=Math.sqrt(a),I*=a);s=(new vt).rotate(T).scale(1/P,1/I).rotate(-T),Y=Y.transform(s),H=H.transform(s),r=[H.x-Y.x,H.y-Y.y],o=r[0]*r[0]+r[1]*r[1],n=Math.sqrt(o),r[0]/=n,r[1]/=n,l=o<4?Math.sqrt(1-o/4):0,z===X&&(l*=-1);h=new bt((H.x+Y.x)/2+l*-r[1],(H.y+Y.y)/2+l*r[0]),c=new bt(Y.x-h.x,Y.y-h.y),d=new bt(H.x-h.x,H.y-h.y),u=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(u*=-1);g=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(g*=-1);X&&u>g&&(g+=2*Math.PI);!X&&u<g&&(g-=2*Math.PI);for(f=Math.ceil(2*Math.abs(u-g)/Math.PI),b=[],m=u,p=(g-u)/f,x=4*Math.tan(p/4)/3,k=0;k<=f;k++)y=Math.cos(m),v=Math.sin(m),w=new bt(h.x+y,h.y+v),b[k]=[new bt(w.x+x*v,w.y-x*y),w,new bt(w.x-x*v,w.y+x*y)],m+=p;for(b[0][0]=b[0][1].clone(),b[b.length-1][2]=b[b.length-1][1].clone(),s=(new vt).rotate(T).scale(P,I).rotate(-T),k=0,A=b.length;k<A;k++)b[k][0]=b[k][0].transform(s),b[k][1]=b[k][1].transform(s),b[k][2]=b[k][2].transform(s);for(k=1,A=b.length;k<A;k++)C=(w=b[k-1][2]).x,S=w.y,L=(w=b[k][0]).x,M=w.y,R=(w=b[k][1]).x,E=w.y,O.push(["C",C,S,L,M,R,E]);return O}(this.pos,t),t=e[0]}return t[0]="C",this.pos=[t[5],t[6]],this.reflection=[2*t[5]-t[3],2*t[6]-t[4]],e}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=arguments.length>1?arguments[1]:void 0;if(!1===e)return!1;for(var i=e,a=t.length;i<a;++i)if("M"==t[i][0])return i;return!1}Q(Ee,{morph:function(e,i,a,r,n){for(var o=this.parse(e),l=this.parse(i),h=0,c=0,d=!1,u=!1;!1!==h||!1!==c;){var g;d=s(o,!1!==h&&h+1),u=s(l,!1!==c&&c+1),!1===h&&(h=0==(g=new Ee(p.start).bbox()).height||0==g.width?o.push(o[0])-1:o.push(["M",g.x+g.width/2,g.y+g.height/2])-1),!1===c&&(c=0==(g=new Ee(p.dest).bbox()).height||0==g.width?l.push(l[0])-1:l.push(["M",g.x+g.width/2,g.y+g.height/2])-1);var p=t(o,h,d,l,c,u);o=o.slice(0,h).concat(p.start,!1===d?[]:o.slice(d)),l=l.slice(0,c).concat(p.dest,!1===u?[]:l.slice(u)),h=!1!==d&&h+p.start.length,c=!1!==u&&c+p.dest.length}this._array=o,this.destination=new Ee,this.destination._array=l;var f=this.fromArray(o.map((function(t,e){var i=l[e].map((function(i,s){return 0===s?i:r.step(t[s],l[e][s],a,n[e],n)}));return i})));return f}})}();const $a=t=>(t.changedTouches&&(t=t.changedTouches[0]),{x:t.clientX,y:t.clientY});class Ja{constructor(t){t.remember("_draggable",this),this.el=t,this.drag=this.drag.bind(this),this.startDrag=this.startDrag.bind(this),this.endDrag=this.endDrag.bind(this)}init(t){t?(this.el.on("mousedown.drag",this.startDrag),this.el.on("touchstart.drag",this.startDrag,{passive:!1})):(this.el.off("mousedown.drag"),this.el.off("touchstart.drag"))}startDrag(t){const e=!t.type.indexOf("mouse");if(e&&1!==t.which&&0!==t.buttons)return;if(this.el.dispatch("beforedrag",{event:t,handler:this}).defaultPrevented)return;t.preventDefault(),t.stopPropagation(),this.init(!1),this.box=this.el.bbox(),this.lastClick=this.el.point($a(t));const i=(e?"mouseup":"touchend")+".drag";zt(window,(e?"mousemove":"touchmove")+".drag",this.drag,this,{passive:!1}),zt(window,i,this.endDrag,this,{passive:!1}),this.el.fire("dragstart",{event:t,handler:this,box:this.box})}drag(t){const{box:e,lastClick:i}=this,a=this.el.point($a(t)),s=a.x-i.x,r=a.y-i.y;if(!s&&!r)return e;const n=e.x+s,o=e.y+r;this.box=new kt(n,o,e.w,e.h),this.lastClick=a,this.el.dispatch("dragmove",{event:t,handler:this,box:this.box}).defaultPrevented||this.move(n,o)}move(t,e){"svg"===this.el.type?gi.prototype.move.call(this.el,t,e):this.el.move(t,e)}endDrag(t){this.drag(t),this.el.fire("dragend",{event:t,handler:this,box:this.box}),Xt(window,"mousemove.drag"),Xt(window,"touchmove.drag"),Xt(window,"mouseup.drag"),Xt(window,"touchend.drag"),this.init(!0)}} 46396/*! 46397 * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse 46398 * @version 4.0.1 46399 * https://github.com/svgdotjs/svg.select.js 46400 * 46401 * @copyright Ulrich-Matthias Schäfer 46402 * @license MIT 46403 * 46404 * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time) 46405 */ 46406function Qa(t,e,i,a=null){return function(s){s.preventDefault(),s.stopPropagation();var r=s.pageX||s.touches[0].pageX,n=s.pageY||s.touches[0].pageY;e.fire(t,{x:r,y:n,event:s,index:a,points:i})}}function Ka([t,e],{a:i,b:a,c:s,d:r,e:n,f:o}){return[t*i+e*s+n,t*a+e*r+o]}Q(Gt,{draggable(t=!0){return(this.remember("_draggable")||new Ja(this)).init(t),this}});let ts=class{constructor(t){this.el=t,t.remember("_selectHandler",this),this.selection=new gi,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.createRot=t.createRot||this.createRotFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.updateRot=t.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass("svg_select_shape")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.createHandle.call(this,this.selection,t,e,i,a),this.selection.get(e+1).addClass("svg_select_handle svg_select_handle_"+a).on("mousedown.selection touchstart.selection",Qa(a,this.el,this.handlePoints,e))}))}createHandleFn(t){t.polyline()}updateHandleFn(t,e,i,a){const s=a.at(i-1),r=a[(i+1)%a.length],n=e,o=[n[0]-s[0],n[1]-s[1]],l=[n[0]-r[0],n[1]-r[1]],h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),c=Math.sqrt(l[0]*l[0]+l[1]*l[1]),d=[o[0]/h,o[1]/h],u=[l[0]/c,l[1]/c],g=[n[0]-10*d[0],n[1]-10*d[1]],p=[n[0]-10*u[0],n[1]-10*u[1]];t.plot([g,n,p])}updateResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),t,e,i,a)}))}createRotFn(t){t.line(),t.circle(5)}getPoint(t){return this.handlePoints[this.order.indexOf(t)]}getPointHandle(t){return this.selection.get(this.order.indexOf(t)+1)}updateRotFn(t,e){const i=this.getPoint("t");t.get(0).plot(i[0],i[1],e[0],e[1]),t.get(1).center(e[0],e[1])}createRotationHandle(){const t=this.selection.group().addClass("svg_select_handle_rot").on("mousedown.selection touchstart.selection",Qa("rot",this.el,this.handlePoints));this.createRot.call(this,t)}updateRotationHandle(){const t=this.selection.findOne("g.svg_select_handle_rot");this.updateRot(t,this.rotationPoint,this.handlePoints)}updatePoints(){const t=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(t).map((t=>Ka(t,e))),this.rotationPoint=Ka(this.getRotationPoint(t),e)}getHandlePoints({x:t,x2:e,y:i,y2:a,cx:s,cy:r}=this.el.bbox()){return[[t,i],[s,i],[e,i],[e,r],[e,a],[s,a],[t,a],[t,r]]}getRotationPoint({y:t,cx:e}=this.el.bbox()){return[e,t-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}};const es=t=>function(e=!0,i={}){"object"==typeof e&&(i=e,e=!0);let a=this.remember("_"+t.name);return a||(e.prototype instanceof ts?(a=new e(this),e=!0):a=new t(this),this.remember("_"+t.name,a)),a.active(e,i),this}; 46407/*! 46408 * @svgdotjs/svg.resize.js - An extension for svg.js which allows to resize elements which are selected 46409 * @version 2.0.4 46410 * https://github.com/svgdotjs/svg.resize.js 46411 * 46412 * @copyright [object Object] 46413 * @license MIT 46414 * 46415 * BUILT: Fri Sep 13 2024 12:43:14 GMT+0200 (Central European Summer Time) 46416 */ 46417/*! 46418 * @svgdotjs/svg.select.js - An extension of svg.js which allows to select elements with mouse 46419 * @version 4.0.1 46420 * https://github.com/svgdotjs/svg.select.js 46421 * 46422 * @copyright Ulrich-Matthias Schäfer 46423 * @license MIT 46424 * 46425 * BUILT: Mon Jul 01 2024 15:04:42 GMT+0200 (Central European Summer Time) 46426 */ 46427function is(t,e,i,a=null){return function(s){s.preventDefault(),s.stopPropagation();var r=s.pageX||s.touches[0].pageX,n=s.pageY||s.touches[0].pageY;e.fire(t,{x:r,y:n,event:s,index:a,points:i})}}function as([t,e],{a:i,b:a,c:s,d:r,e:n,f:o}){return[t*i+e*s+n,t*a+e*r+o]}Q(Gt,{select:es(ts)}),Q([Ge,je,xe],{pointSelect:es(class{constructor(t){this.el=t,t.remember("_pointSelectHandler",this),this.selection=new gi,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass("svg_select_shape_pointSelect")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach(((t,e,i)=>{this.createHandle.call(this,this.selection,t,e,i),this.selection.get(e+1).addClass("svg_select_handle_point").on("mousedown.selection touchstart.selection",Qa("point",this.el,this.points,e))}))}createHandleFn(t){t.circle(5)}updateHandleFn(t,e){t.center(e[0],e[1])}updatePointHandles(){this.points.forEach(((t,e,i)=>{this.updateHandle.call(this,this.selection.get(e+1),t,e,i)}))}updatePoints(){const t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map((e=>Ka(e,t)))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});class ss{constructor(t){this.el=t,t.remember("_selectHandler",this),this.selection=new gi,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.createRot=t.createRot||this.createRotFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.updateRot=t.updateRot||this.updateRotFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createResizeHandles(),this.updateResizeHandles(),this.createRotationHandle(),this.updateRotationHandle(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.handlePoints).addClass("svg_select_shape")}updateSelection(){this.selection.get(0).plot(this.handlePoints)}createResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.createHandle.call(this,this.selection,t,e,i,a),this.selection.get(e+1).addClass("svg_select_handle svg_select_handle_"+a).on("mousedown.selection touchstart.selection",is(a,this.el,this.handlePoints,e))}))}createHandleFn(t){t.polyline()}updateHandleFn(t,e,i,a){const s=a.at(i-1),r=a[(i+1)%a.length],n=e,o=[n[0]-s[0],n[1]-s[1]],l=[n[0]-r[0],n[1]-r[1]],h=Math.sqrt(o[0]*o[0]+o[1]*o[1]),c=Math.sqrt(l[0]*l[0]+l[1]*l[1]),d=[o[0]/h,o[1]/h],u=[l[0]/c,l[1]/c],g=[n[0]-10*d[0],n[1]-10*d[1]],p=[n[0]-10*u[0],n[1]-10*u[1]];t.plot([g,n,p])}updateResizeHandles(){this.handlePoints.forEach(((t,e,i)=>{const a=this.order[e];this.updateHandle.call(this,this.selection.get(e+1),t,e,i,a)}))}createRotFn(t){t.line(),t.circle(5)}getPoint(t){return this.handlePoints[this.order.indexOf(t)]}getPointHandle(t){return this.selection.get(this.order.indexOf(t)+1)}updateRotFn(t,e){const i=this.getPoint("t");t.get(0).plot(i[0],i[1],e[0],e[1]),t.get(1).center(e[0],e[1])}createRotationHandle(){const t=this.selection.group().addClass("svg_select_handle_rot").on("mousedown.selection touchstart.selection",is("rot",this.el,this.handlePoints));this.createRot.call(this,t)}updateRotationHandle(){const t=this.selection.findOne("g.svg_select_handle_rot");this.updateRot(t,this.rotationPoint,this.handlePoints)}updatePoints(){const t=this.el.bbox(),e=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.handlePoints=this.getHandlePoints(t).map((t=>as(t,e))),this.rotationPoint=as(this.getRotationPoint(t),e)}getHandlePoints({x:t,x2:e,y:i,y2:a,cx:s,cy:r}=this.el.bbox()){return[[t,i],[s,i],[e,i],[e,r],[e,a],[s,a],[t,a],[t,r]]}getRotationPoint({y:t,cx:e}=this.el.bbox()){return[e,t-20]}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updateResizeHandles(),this.updateRotationHandle()}}const rs=t=>function(e=!0,i={}){"object"==typeof e&&(i=e,e=!0);let a=this.remember("_"+t.name);return a||(e.prototype instanceof ss?(a=new e(this),e=!0):a=new t(this),this.remember("_"+t.name,a)),a.active(e,i),this};Q(Gt,{select:rs(ss)}),Q([Ge,je,xe],{pointSelect:rs(class{constructor(t){this.el=t,t.remember("_pointSelectHandler",this),this.selection=new gi,this.order=["lt","t","rt","r","rb","b","lb","l","rot"],this.mutationHandler=this.mutationHandler.bind(this);const e=F();this.observer=new e.MutationObserver(this.mutationHandler)}init(t){this.createHandle=t.createHandle||this.createHandleFn,this.updateHandle=t.updateHandle||this.updateHandleFn,this.el.root().put(this.selection),this.updatePoints(),this.createSelection(),this.createPointHandles(),this.updatePointHandles(),this.observer.observe(this.el.node,{attributes:!0})}active(t,e){if(!t)return this.selection.clear().remove(),void this.observer.disconnect();this.init(e)}createSelection(){this.selection.polygon(this.points).addClass("svg_select_shape_pointSelect")}updateSelection(){this.selection.get(0).plot(this.points)}createPointHandles(){this.points.forEach(((t,e,i)=>{this.createHandle.call(this,this.selection,t,e,i),this.selection.get(e+1).addClass("svg_select_handle_point").on("mousedown.selection touchstart.selection",is("point",this.el,this.points,e))}))}createHandleFn(t){t.circle(5)}updateHandleFn(t,e){t.center(e[0],e[1])}updatePointHandles(){this.points.forEach(((t,e,i)=>{this.updateHandle.call(this,this.selection.get(e+1),t,e,i)}))}updatePoints(){const t=this.el.parent().screenCTM().inverseO().multiplyO(this.el.screenCTM());this.points=this.el.array().map((e=>as(e,t)))}mutationHandler(){this.updatePoints(),this.updateSelection(),this.updatePointHandles()}})});const ns=t=>(t.changedTouches&&(t=t.changedTouches[0]),{x:t.clientX,y:t.clientY}),os=t=>{let e=1/0,i=1/0,a=-1/0,s=-1/0;for(let r=0;r<t.length;r++){const n=t[r];e=Math.min(e,n[0]),i=Math.min(i,n[1]),a=Math.max(a,n[0]),s=Math.max(s,n[1])}return new kt(e,i,a-e,s-i)};class ls{constructor(t){this.el=t,t.remember("_ResizeHandler",this),this.lastCoordinates=null,this.eventType="",this.lastEvent=null,this.handleResize=this.handleResize.bind(this),this.resize=this.resize.bind(this),this.endResize=this.endResize.bind(this),this.rotate=this.rotate.bind(this),this.movePoint=this.movePoint.bind(this)}active(t,e){this.preserveAspectRatio=e.preserveAspectRatio??!1,this.aroundCenter=e.aroundCenter??!1,this.grid=e.grid??0,this.degree=e.degree??0,this.el.off(".resize"),t&&(this.el.on(["lt.resize","rt.resize","rb.resize","lb.resize","t.resize","r.resize","b.resize","l.resize","rot.resize","point.resize"],this.handleResize),this.lastEvent&&("rot"===this.eventType?this.rotate(this.lastEvent):"point"===this.eventType?this.movePoint(this.lastEvent):this.resize(this.lastEvent)))}handleResize(t){this.eventType=t.type;const{event:e,index:i,points:a}=t.detail,s=!e.type.indexOf("mouse");if(s&&1!==(e.which||e.buttons))return;if(this.el.dispatch("beforeresize",{event:t,handler:this}).defaultPrevented)return;this.box=this.el.bbox(),this.startPoint=this.el.point(ns(e)),this.index=i,this.points=a.slice();const r=(s?"mousemove":"touchmove")+".resize",n=(s?"mouseup":"touchcancel.resize touchend")+".resize";"point"===t.type?zt(window,r,this.movePoint):"rot"===t.type?zt(window,r,this.rotate):zt(window,r,this.resize),zt(window,n,this.endResize)}resize(t){this.lastEvent=t;const e=this.snapToGrid(this.el.point(ns(t)));let i=e.x-this.startPoint.x,a=e.y-this.startPoint.y;this.preserveAspectRatio&&this.aroundCenter&&(i*=2,a*=2);const s=this.box.x+i,r=this.box.y+a,n=this.box.x2+i,o=this.box.y2+a;let l=new kt(this.box);if(this.eventType.includes("l")&&(l.x=Math.min(s,this.box.x2),l.x2=Math.max(s,this.box.x2)),this.eventType.includes("r")&&(l.x=Math.min(n,this.box.x),l.x2=Math.max(n,this.box.x)),this.eventType.includes("t")&&(l.y=Math.min(r,this.box.y2),l.y2=Math.max(r,this.box.y2)),this.eventType.includes("b")&&(l.y=Math.min(o,this.box.y),l.y2=Math.max(o,this.box.y)),l.width=l.x2-l.x,l.height=l.y2-l.y,this.preserveAspectRatio){const t=l.width/this.box.width,e=l.height/this.box.height,i=["lt","t","rt","r","rb","b","lb","l"],a=(i.indexOf(this.eventType)+4)%i.length,s=this.aroundCenter?[this.box.cx,this.box.cy]:this.points[a];let r=this.eventType.includes("t")||this.eventType.includes("b")?e:t;r=2===this.eventType.length?Math.max(t,e):r,l=function(t,e,i){const a=[[t.x,t.y],[t.x+t.width,t.y],[t.x+t.width,t.y+t.height],[t.x,t.y+t.height]].map((([t,a])=>{const s=t-e[0],r=(a-e[1])*i;return[s*i+e[0],r+e[1]]}));return os(a)}(this.box,s,r)}this.el.dispatch("resize",{box:new kt(l),angle:0,eventType:this.eventType,event:t,handler:this}).defaultPrevented||this.el.size(l.width,l.height).move(l.x,l.y)}movePoint(t){this.lastEvent=t;const{x:e,y:i}=this.snapToGrid(this.el.point(ns(t))),a=this.el.array().slice();a[this.index]=[e,i],this.el.dispatch("resize",{box:os(a),angle:0,eventType:this.eventType,event:t,handler:this}).defaultPrevented||this.el.plot(a)}rotate(t){this.lastEvent=t;const e=this.startPoint,i=this.el.point(ns(t)),{cx:a,cy:s}=this.box,r=e.x-a,n=e.y-s,o=i.x-a,l=i.y-s,h=Math.sqrt(r*r+n*n)*Math.sqrt(o*o+l*l);if(0===h)return;let c=Math.acos((r*o+n*l)/h)/Math.PI*180;if(!c)return;i.x<e.x&&(c=-c);const d=new vt(this.el),{x:u,y:g}=new bt(a,s).transformO(d),{rotate:p}=d.decompose(),f=this.snapToAngle(p+c)-p;this.el.dispatch("resize",{box:this.box,angle:f,eventType:this.eventType,event:t,handler:this}).defaultPrevented||this.el.transform(d.rotateO(f,u,g))}endResize(t){"rot"!==this.eventType&&"point"!==this.eventType&&this.resize(t),this.lastEvent=null,this.eventType="",Xt(window,"mousemove.resize touchmove.resize"),Xt(window,"mouseup.resize touchend.resize")}
46427snapToGrid(t){return this.grid&&(t.x=Math.round(t.x/this.grid)*this.grid,t.y=Math.round(t.y/this.grid)*this.grid),t}snapToAngle(t){return this.degree&&(t=Math.round(t/this.degree)*this.degree),t}}Q(Gt,{resize:function(t=!0,e={}){"object"==typeof t&&(e=t,t=!0);let i=this.remember("_ResizeHandler");return i||(t.prototype instanceof ls?(i=new t(this),t=!0):i=new ls(this),this.remember("_resizeHandler",i)),i.active(t,e),this}}),void 0===window.SVG&&(window.SVG=yi),void 0===window.Apex&&(window.Apex={});var hs=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"initModules",value:function(){this.ctx.publicMethods=["updateOptions","updateSeries","appendData","appendSeries","isSeriesHidden","highlightSeries","toggleSeries","showSeries","hideSeries","setLocale","resetSeries","zoomX","toggleDataPointSelection","dataURI","exportToCSV","addXaxisAnnotation","addYaxisAnnotation","addPointAnnotation","clearAnnotations","removeAnnotation","paper","destroy"],this.ctx.eventList=["click","mousedown","mousemove","mouseleave","touchstart","touchmove","touchleave","mouseup","touchend"],this.ctx.animations=new y(this.ctx),this.ctx.axes=new ra(this.ctx),this.ctx.core=new qa(this.ctx.el,this.ctx),this.ctx.config=new Wi({}),this.ctx.data=new $i(this.ctx),this.ctx.grid=new Ki(this.ctx),this.ctx.graphics=new Mi(this.ctx),this.ctx.coreUtils=new Pi(this.ctx),this.ctx.crosshairs=new na(this.ctx),this.ctx.events=new aa(this.ctx),this.ctx.exports=new Ji(this.ctx),this.ctx.fill=new ji(this.ctx),this.ctx.localization=new sa(this.ctx),this.ctx.options=new Oi,this.ctx.responsive=new oa(this.ctx),this.ctx.series=new Zi(this.ctx),this.ctx.theme=new la(this.ctx),this.ctx.formatters=new Xi(this.ctx),this.ctx.titleSubtitle=new ha(this.ctx),this.ctx.legend=new xa(this.ctx),this.ctx.toolbar=new ba(this.ctx),this.ctx.tooltip=new Sa(this.ctx),this.ctx.dimensions=new pa(this.ctx),this.ctx.updateHelpers=new Za(this.ctx),this.ctx.zoomPanSelection=new ma(this.ctx),this.ctx.w.globals.tooltip=new Sa(this.ctx)}}]),t}(),cs=function(){function t(e){i(this,t),this.ctx=e,this.w=e.w}return s(t,[{key:"clear",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:"killSVG",value:function(t){t.each((function(){this.removeClass("*"),this.off()}),!0),t.clear()}},{key:"clearDomElements",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight="unset");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elLegendWrap=null,r.elLegendForeign=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectBarMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),ds=new WeakMap;var us=function(){function t(e,a){i(this,t),this.opts=a,this.ctx=this,this.w=new Gi(a).init(),this.el=e,this.w.globals.cuid=v.randomId(),this.w.globals.chartID=this.w.config.chart.id?v.escapeString(this.w.config.chart.id):this.w.globals.cuid,new hs(this).initModules(),this.lastUpdateOptions=null,this.create=v.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return s(t,[{key:"render",value:function(){var t=this;return new Promise((function(e,i){if(v.elementExists(t.el)){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;"function"==typeof a&&a(t,t.w),t.events.fireEvent("beforeMount",[t,t.w]),window.addEventListener("resize",t.windowResizeHandler),function(t,e){var i=!1;
vendor: 9,647 bytes, line 46427
46427if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();"none"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),ds.set(e,s)}(t.el.parentNode,t.parentResizeHandler);var s=t.el.getRootNode&&t.el.getRootNode(),r=v.is("ShadowRoot",s),n=t.el.ownerDocument,o=r?s.getElementById("apexcharts-css"):n.getElementById("apexcharts-css");if(!o){var l;(o=document.createElement("style")).id="apexcharts-css",o.textContent='@keyframes opaque {\n 0% {\n opacity: 0\n }\n\n to {\n opacity: 1\n }\n}\n\n@keyframes resizeanim {\n\n 0%,\n to {\n opacity: 0\n }\n}\n\n.apexcharts-canvas {\n position: relative;\n direction: ltr !important;\n user-select: none\n}\n\n.apexcharts-canvas ::-webkit-scrollbar {\n -webkit-appearance: none;\n width: 6px\n}\n\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\n border-radius: 4px;\n background-color: rgba(0, 0, 0, .5);\n box-shadow: 0 0 1px rgba(255, 255, 255, .5);\n -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, .5)\n}\n\n.apexcharts-inner {\n position: relative\n}\n\n.apexcharts-text tspan {\n font-family: inherit\n}\n\nrect.legend-mouseover-inactive,\n.legend-mouseover-inactive rect,\n.legend-mouseover-inactive path,\n.legend-mouseover-inactive circle,\n.legend-mouseover-inactive line,\n.legend-mouseover-inactive text.apexcharts-yaxis-title-text,\n.legend-mouseover-inactive text.apexcharts-yaxis-label {\n transition: .15s ease all;\n opacity: .2\n}\n\n.apexcharts-legend-text {\n padding-left: 15px;\n margin-left: -15px;\n}\n\n.apexcharts-series-collapsed {\n opacity: 0\n}\n\n.apexcharts-tooltip {\n border-radius: 5px;\n box-shadow: 2px 2px 6px -4px #999;\n cursor: default;\n font-size: 14px;\n left: 62px;\n opacity: 0;\n pointer-events: none;\n position: absolute;\n top: 20px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n z-index: 12;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255, 255, 255, .96)\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30, 30, 30, .8)\n}\n\n.apexcharts-tooltip * {\n font-family: inherit\n}\n\n.apexcharts-tooltip-title {\n padding: 6px;\n font-size: 15px;\n margin-bottom: 4px\n}\n\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\n background: #eceff1;\n border-bottom: 1px solid #ddd\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\n background: rgba(0, 0, 0, .7);\n border-bottom: 1px solid #333\n}\n\n.apexcharts-tooltip-text-goals-value,\n.apexcharts-tooltip-text-y-value,\n.apexcharts-tooltip-text-z-value {\n display: inline-block;\n margin-left: 5px;\n font-weight: 600\n}\n\n.apexcharts-tooltip-text-goals-label:empty,\n.apexcharts-tooltip-text-goals-value:empty,\n.apexcharts-tooltip-text-y-label:empty,\n.apexcharts-tooltip-text-y-value:empty,\n.apexcharts-tooltip-text-z-value:empty,\n.apexcharts-tooltip-title:empty {\n display: none\n}\n\n.apexcharts-tooltip-text-goals-label,\n.apexcharts-tooltip-text-goals-value {\n padding: 6px 0 5px\n}\n\n.apexcharts-tooltip-goals-group,\n.apexcharts-tooltip-text-goals-label,\n.apexcharts-tooltip-text-goals-value {\n display: flex\n}\n\n.apexcharts-tooltip-text-goals-label:not(:empty),\n.apexcharts-tooltip-text-goals-value:not(:empty) {\n margin-top: -6px\n}\n\n.apexcharts-tooltip-marker {\n display: inline-block;\n position: relative;\n width: 16px;\n height: 16px;\n font-size: 16px;\n line-height: 16px;\n margin-right: 4px;\n text-align: center;\n vertical-align: middle;\n color: inherit;\n}\n\n.apexcharts-tooltip-marker::before {\n content: "";\n display: inline-block;\n width: 100%;\n text-align: center;\n color: currentcolor;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n font-size: 26px;\n font-family: Arial, Helvetica, sans-serif;\n line-height: 14px;\n font-weight: 900;\n}\n\n.apexcharts-tooltip-marker[shape="circle"]::before {\n content: "\\25CF";\n}\n\n.apexcharts-tooltip-marker[shape="square"]::before,\n.apexcharts-tooltip-marker[shape="rect"]::before {\n content: "\\25A0";\n transform: translate(-1px, -2px);\n}\n\n.apexcharts-tooltip-marker[shape="line"]::before {\n content: "\\2500";\n}\n\n.apexcharts-tooltip-marker[shape="diamond"]::before {\n content: "\\25C6";\n font-size: 28px;\n}\n\n.apexcharts-tooltip-marker[shape="triangle"]::before {\n content: "\\25B2";\n font-size: 22px;\n}\n\n.apexcharts-tooltip-marker[shape="cross"]::before {\n content: "\\2715";\n font-size: 18px;\n}\n\n.apexcharts-tooltip-marker[shape="plus"]::before {\n content: "\\2715";\n transform: rotate(45deg) translate(-1px, -1px);\n font-size: 18px;\n}\n\n.apexcharts-tooltip-marker[shape="star"]::before {\n content: "\\2605";\n font-size: 18px;\n}\n\n.apexcharts-tooltip-marker[shape="sparkle"]::before {\n content: "\\2726";\n font-size: 20px;\n}\n\n.apexcharts-tooltip-series-group {\n padding: 0 10px;\n display: none;\n text-align: left;\n justify-content: left;\n align-items: center\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\n opacity: 1\n}\n\n.apexcharts-tooltip-series-group.apexcharts-active,\n.apexcharts-tooltip-series-group:last-child {\n padding-bottom: 4px\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px\n}\n\n.apexcharts-custom-tooltip,\n.apexcharts-tooltip-box {\n padding: 4px 8px\n}\n\n.apexcharts-tooltip-boxPlot {\n display: flex;\n flex-direction: column-reverse\n}\n\n.apexcharts-tooltip-box>div {\n margin: 4px 0\n}\n\n.apexcharts-tooltip-box span.value {\n font-weight: 700\n}\n\n.apexcharts-tooltip-rangebar {\n padding: 5px 8px\n}\n\n.apexcharts-tooltip-rangebar .category {\n font-weight: 600;\n color: #777\n}\n\n.apexcharts-tooltip-rangebar .series-name {\n font-weight: 700;\n display: block;\n margin-bottom: 5px\n}\n\n.apexcharts-xaxistooltip,\n.apexcharts-yaxistooltip {\n opacity: 0;\n pointer-events: none;\n color: #373d3f;\n font-size: 13px;\n text-align: center;\n border-radius: 2px;\n position: absolute;\n z-index: 10;\n background: #eceff1;\n border: 1px solid #90a4ae\n}\n\n.apexcharts-xaxistooltip {\n padding: 9px 10px;\n transition: .15s ease all\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, .7);\n border: 1px solid rgba(0, 0, 0, .5);\n color: #fff\n}\n\n.apexcharts-xaxistooltip:after,\n.apexcharts-xaxistooltip:before {\n left: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-xaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-left: -6px\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-left: -7px\n}\n\n.apexcharts-xaxistooltip-bottom:after,\n.apexcharts-xaxistooltip-bottom:before {\n bottom: 100%\n}\n\n.apexcharts-xaxistooltip-top:after,\n.apexcharts-xaxistooltip-top:before {\n top: 100%\n}\n\n.apexcharts-xaxistooltip-bottom:after {\n border-bottom-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-bottom:before {\n border-bottom-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-xaxistooltip-top:after {\n border-top-color: #eceff1\n}\n\n.apexcharts-xaxistooltip-top:before {\n border-top-color: #90a4ae\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-yaxistooltip {\n padding: 4px 10px\n}\n\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, .7);\n border: 1px solid rgba(0, 0, 0, .5);\n color: #fff\n}\n\n.apexcharts-yaxistooltip:after,\n.apexcharts-yaxistooltip:before {\n top: 50%;\n border: solid transparent;\n content: " ";\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none\n}\n\n.apexcharts-yaxistooltip:after {\n border-color: transparent;\n border-width: 6px;\n margin-top: -6px\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: transparent;\n border-width: 7px;\n margin-top: -7px\n}\n\n.apexcharts-yaxistooltip-left:after,\n.apexcharts-yaxistooltip-left:before {\n left: 100%\n}\n\n.apexcharts-yaxistooltip-right:after,\n.apexcharts-yaxistooltip-right:before {\n right: 100%\n}\n\n.apexcharts-yaxistooltip-left:after {\n border-left-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-left:before {\n border-left-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-yaxistooltip-right:after {\n border-right-color: #eceff1\n}\n\n.apexcharts-yaxistooltip-right:before {\n border-right-color: #90a4ae\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0, 0, 0, .5)\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none\n}
46427\n\n.apexcharts-xcrosshairs,\n.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: .15s ease all\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,\n.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: .15s ease all\n}\n\n.apexcharts-ycrosshairs-hidden {\n opacity: 0\n}\n\n.apexcharts-selection-rect {\n cursor: move\n}\n\n.svg_select_shape {\n stroke-width: 1;\n stroke-dasharray: 10 10;\n stroke: black;\n stroke-opacity: 0.1;\n pointer-events: none;\n fill: none;\n}\n\n.svg_select_handle {\n stroke-width: 3;\n stroke: black;\n fill: none;\n}\n\n.svg_select_handle_r {\n cursor: e-resize;\n}\n\n.svg_select_handle_l {\n cursor: w-resize;\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\n cursor: crosshair\n}\n\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\n cursor: move\n}\n\n.apexcharts-menu-icon,\n.apexcharts-pan-icon,\n.apexcharts-reset-icon,\n.apexcharts-selection-icon,\n.apexcharts-toolbar-custom-icon,\n.apexcharts-zoom-icon,\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n cursor: pointer;\n width: 20px;\n height: 20px;\n line-height: 24px;\n color: #6e8192;\n text-align: center\n}\n\n.apexcharts-menu-icon svg,\n.apexcharts-reset-icon svg,\n.apexcharts-zoom-icon svg,\n.apexcharts-zoomin-icon svg,\n.apexcharts-zoomout-icon svg {\n fill: #6e8192\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(.76)\n}\n\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\n.apexcharts-theme-dark .apexcharts-reset-icon svg,\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoom-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomin-icon svg,\n.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\n fill: #f3f4f5\n}\n\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\n fill: #008ffb\n}\n\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,\n.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\n.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,\n.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,\n.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\n fill: #333\n}\n\n.apexcharts-menu-icon,\n.apexcharts-selection-icon {\n position: relative\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px\n}\n\n.apexcharts-menu-icon,\n.apexcharts-reset-icon,\n.apexcharts-zoom-icon {\n transform: scale(.85)\n}\n\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n transform: scale(.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px\n}\n\n.apexcharts-pan-icon {\n transform: scale(.62);\n position: relative;\n left: 1px;\n top: 0\n}\n\n.apexcharts-pan-icon svg {\n fill: #fff;\n stroke: #6e8192;\n stroke-width: 2\n}\n\n.apexcharts-pan-icon.apexcharts-selected svg {\n stroke: #008ffb\n}\n\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\n stroke: #333\n}\n\n.apexcharts-toolbar {\n position: absolute;\n z-index: 11;\n max-width: 176px;\n text-align: right;\n border-radius: 3px;\n padding: 0 6px 2px;\n display: flex;\n justify-content: space-between;\n align-items: center\n}\n\n.apexcharts-menu {\n background: #fff;\n position: absolute;\n top: 100%;\n border: 1px solid #ddd;\n border-radius: 3px;\n padding: 3px;\n right: 10px;\n opacity: 0;\n min-width: 110px;\n transition: .15s ease all;\n pointer-events: none\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: .15s ease all\n}\n\n.apexcharts-menu-item {\n padding: 6px 7px;\n font-size: 12px;\n cursor: pointer\n}\n\n.apexcharts-theme-light .apexcharts-menu-item:hover {\n background: #eee\n}\n\n.apexcharts-theme-dark .apexcharts-menu {\n background: rgba(0, 0, 0, .7);\n color: #fff\n}\n\n@media screen and (min-width:768px) {\n .apexcharts-canvas:hover .apexcharts-toolbar {\n opacity: 1\n }\n}\n\n.apexcharts-canvas .apexcharts-element-hidden,\n.apexcharts-datalabel.apexcharts-element-hidden,\n.apexcharts-hide .apexcharts-series-points {\n opacity: 0;\n}\n\n.apexcharts-hidden-element-shown {\n opacity: 1;\n transition: 0.25s ease all;\n}\n\n.apexcharts-datalabel,\n.apexcharts-datalabel-label,\n.apexcharts-datalabel-value,\n.apexcharts-datalabels,\n.apexcharts-pie-label {\n cursor: default;\n pointer-events: none\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: .3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease\n}\n\n.apexcharts-radialbar-label {\n cursor: pointer;\n}\n\n.apexcharts-annotation-rect,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-gridline,\n.apexcharts-line,\n.apexcharts-point-annotation-label,\n.apexcharts-radar-series path:not(.apexcharts-marker),\n.apexcharts-radar-series polygon,\n.apexcharts-toolbar svg,\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-xaxis-annotation-label,\n.apexcharts-yaxis-annotation-label,\n.apexcharts-zoom-rect,\n.no-pointer-events {\n pointer-events: none\n}\n\n.apexcharts-tooltip-active .apexcharts-marker {\n transition: .15s ease all\n}\n\n.apexcharts-radar-series .apexcharts-yaxis {\n pointer-events: none;\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n height: 100%;\n width: 100%;\n overflow: hidden\n}\n\n.contract-trigger:before,\n.resize-triggers,\n.resize-triggers>
46427div {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0\n}\n\n.resize-triggers>div {\n height: 100%;\n width: 100%;\n background: #eee;\n overflow: auto\n}\n\n.contract-trigger:before {\n overflow: hidden;\n width: 200%;\n height: 200%\n}\n\n.apexcharts-bar-goals-markers {\n pointer-events: none\n}\n\n.apexcharts-bar-shadows {\n pointer-events: none\n}\n\n.apexcharts-rangebar-goals-markers {\n pointer-events: none\n}\n\n.apexcharts-disable-transitions * {\n transition: none !important;\n}';var h=(null===(l=t.opts.chart)||void 0===l?void 0:l.nonce)||t.w.config.chart.nonce;h&&o.setAttribute("nonce",h),r?s.prepend(o):n.head.appendChild(o)}var c=t.create(t.w.config.series,{});if(!c)return e(t);t.mount(c).then((function(){"function"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent("mounted",[t,t.w]),e(c)})).catch((function(t){i(t)}))}else i(new Error("Element not found"))}))}},{key:"create",value:function(t,e){var i=this,a=this.w;new hs(this).initModules();var s=this.w.globals;if(s.noData=!1,s.animationEnded=!1,!v.elementExists(this.el))return s.animationEnded=!0,null;(this.responsive.checkResponsiveConfig(e),a.config.xaxis.convertedCatToNumeric)&&new Ni(a.config).convertCatToNumericXaxis(a.config,this.ctx);if(this.core.setupElements(),"treemap"===a.config.chart.type&&(a.config.grid.show=!1,a.config.yaxis[0].show=!1),0===s.svgWidth)return s.animationEnded=!0,null;var r=t;t.forEach((function(t,e){t.hidden&&(r=i.legend.legendHelpers.getSeriesAfterCollapsing({realIndex:e}))}));var n=Pi.checkComboSeries(r,a.config.chart.type);s.comboCharts=n.comboCharts,s.comboBarCount=n.comboBarCount;var o=r.every((function(t){return t.data&&0===t.data.length}));(0===r.length||o&&s.collapsedSeries.length<1)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(r),this.theme.init(),new Vi(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),s.noData&&s.collapsedSeries.length!==s.series.length&&!a.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),s.axisCharts&&(this.core.coreCalculations(),"category"!==a.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=a.globals.minX,this.ctx.toolbar.maxX=a.globals.maxX),this.formatters.heatmapLabelFormatters(),new Pi(this).getLargestMarkerSize(),this.dimensions.plotCoords();var l=this.core.xySettings();this.grid.createGridMask();var h=this.core.plotChartType(r,l),c=new qi(this);return c.bringForward(),a.config.dataLabels.background.enabled&&c.dataLabelsBackground(),this.core.shiftGraphPosition(),a.globals.dataPoints>50&&a.globals.dom.elWrap.classList.add("apexcharts-disable-transitions"),{elGraph:h,xyRatios:l,dimensions:{plot:{left:a.globals.translateX,top:a.globals.translateY,width:a.globals.gridWidth,height:a.globals.gridHeight}}}}},{key:"mount",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error("Not enough data to display or target element not found"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new Ki(i);var n,o,l=i.grid.drawGrid();(i.annotations=new Fi(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),"back"===a.config.grid.position)&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(n=l.elGridBorders)&&void 0!==n&&n.node&&a.globals.dom.elGraphical.add(l.elGridBorders));if(Array.isArray(e.elGraph))for(var h=0;h<e.elGraph.length;h++)a.globals.dom.elGraphical.add(e.elGraph[h]);else a.globals.dom.elGraphical.add(e.elGraph);"front"===a.config.grid.position&&(l&&a.globals.dom.elGraphical.add(l.el),null!=l&&null!==(o=l.elGridBorders)&&void 0!==o&&o.node&&a.globals.dom.elGraphical.add(l.elGridBorders));"front"===a.config.xaxis.crosshairs.position&&i.crosshairs.drawXCrosshairs(),"front"===a.config.yaxis[0].crosshairs.position&&i.crosshairs.drawYCrosshairs(),"treemap"!==a.config.chart.type&&i.axes.drawAxis(a.config.chart.type,l);var c=new Qi(t.ctx,l),d=new ia(t.ctx,l);if(null!==l&&(c.xAxisLabelCorrections(l.xAxisTickWidth),d.setYAxisTextAlignments(),a.config.yaxis.map((function(t,e){-1===a.globals.ignoreYAxisIndexes.indexOf(e)&&d.yAxisTitleRotate(e,t.opposite)}))),i.annotations.drawAxesAnnotations(),!a.globals.noData){if(a.config.tooltip.enabled&&!a.globals.noData&&i.w.globals.tooltip.drawTooltip(e.xyRatios),a.globals.axisCharts&&(a.globals.isXNumeric||a.config.xaxis.convertedCatToNumeric||a.globals.isRangeBar))(a.config.chart.zoom.enabled||a.config.chart.selection&&a.config.chart.selection.enabled||a.config.chart.pan&&a.config.chart.pan.enabled)&&i.zoomPanSelection.init({xyRatios:e.xyRatios});else{var u=a.config.chart.toolbar.tools;["zoom","zoomin","zoomout","selection","pan","reset"].forEach((function(t){u[t]=!1}))}a.config.chart.toolbar.show&&!a.globals.allSeriesCollapsed&&i.toolbar.createToolbar()}a.globals.memory.methodsToExec.length>
vendor: 7,726 bytes, lines 46427-46430
464270&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:"destroy",value:function(){window.removeEventListener("resize",this.windowResizeHandler),function(t,e){var i=ds.get(e);i&&(i.disconnect(),ds.delete(e))}(this.el.parentNode,this.parentResizeHandler);var t=this.w.config.chart.id;t&&Apex._chartInstances.forEach((function(e,i){e.id===v.escapeString(t)&&Apex._chartInstances.splice(i,1)})),new cs(this.ctx).clear({isUpdating:!1})}},{key:"updateOptions",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],n=this.w;return n.globals.selection=void 0,this.lastUpdateOptions&&JSON.stringify(this.lastUpdateOptions)===JSON.stringify(t)?this:(this.lastUpdateOptions=v.clone(t),t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),n.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r))}},{key:"updateSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:"appendSeries",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:"appendData",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s<a.length;s++)if(null!==t[s]&&void 0!==t[s])for(var r=0;r<t[s].data.length;r++)a[s].data.push(t[s].data[r]);return i.w.config.series=a,e&&(i.w.globals.initialSeries=v.clone(i.w.config.series)),this.update()}},{key:"update",value:function(t){var e=this;return new Promise((function(i,a){if(e.lastUpdateOptions&&JSON.stringify(e.lastUpdateOptions)===JSON.stringify(t))return i(e);e.lastUpdateOptions=v.clone(t),new cs(e.ctx).clear({isUpdating:!0});var s=e.create(e.w.config.series,t);if(!s)return i(e);e.mount(s).then((function(){"function"==typeof e.w.config.chart.events.updated&&e.w.config.chart.events.updated(e,e.w),e.events.fireEvent("updated",[e,e.w]),e.w.globals.isDirty=!0,i(e)})).catch((function(t){a(t)}))}))}},{key:"getSyncedCharts",value:function(){var t=this.getGroupedCharts(),e=[this];return t.length&&(e=[],t.forEach((function(t){e.push(t)}))),e}},{key:"getGroupedCharts",value:function(){var t=this;return Apex._chartInstances.filter((function(t){if(t.group)return!0})).map((function(e){return t.w.config.chart.group===e.group?e.chart:t}))}},{key:"toggleSeries",value:function(t){return this.series.toggleSeries(t)}},{key:"highlightSeriesOnLegendHover",value:function(t,e){return this.series.toggleSeriesOnHover(t,e)}},{key:"showSeries",value:function(t){this.series.showSeries(t)}},{key:"hideSeries",value:function(t){this.series.hideSeries(t)}},{key:"highlightSeries",value:function(t){this.series.highlightSeries(t)}},{key:"isSeriesHidden",value:function(t){this.series.isSeriesHidden(t)}},{key:"resetSeries",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:"addEventListener",value:function(t,e){this.events.addEventListener(t,e)}},{key:"removeEventListener",value:function(t,e){this.events.removeEventListener(t,e)}},{key:"addXaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:"addYaxisAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:"addPointAnnotation",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:"clearAnnotations",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:"removeAnnotation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:"getChartArea",value:function(){return this.w.globals.dom.baseEl.querySelector(".apexcharts-inner")}},{key:"getSeriesTotalXRange",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:"getHighestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new ea(this.ctx).getMinYMaxY(t).highestY}},{key:"getLowestValueInSeries",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new ea(this.ctx).getMinYMaxY(t).lowestY}},{key:"getSeriesTotal",value:function(){return this.w.globals.seriesTotals}},{key:"toggleDataPointSelection",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:"zoomX",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:"setLocale",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:"dataURI",value:function(t){return new Ji(this.ctx).dataURI(t)}},{key:"getSvgString",value:function(t){return new Ji(this.ctx).getSvgString(t)}},{key:"exportToCSV",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Ji(this.ctx).exportToCSV(t)}},{key:"paper",value:function(){return this.w.globals.dom.Paper}},{key:"_parentResizeCallback",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:"_windowResize",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:"_windowResizeHandler",value:function(){var t=this.w.config.chart.redrawOnWindowResize;"function"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:"getChartByID",value:function(t){var e=v.escapeString(t);if(Apex._chartInstances){var i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}}},{key:"initOnLoad",value:function(){for(var e=document.querySelectorAll("[data-apexcharts]"),i=0;i<e.length;i++){new t(e[i],JSON.parse(e[i].getAttribute("data-options"))).render()}}},{key:"exec",value:function(t,e){var i=this.getChartByID(t);if(i){i.w.globals.isExecCalled=!0;var a=null;if(-1!==i.publicMethods.indexOf(e)){for(var s=arguments.length,r=new Array(s>2?s-2:0),n=2;n<s;n++)r[n-2]=arguments[n];a=i[e].apply(i,r)}return a}}},{key:"merge",value:function(t,e){return v.extend(t,e)}}]),t}();return us})); 46428 46429/*! 46430 * Chart.js v4.5.0
vendor: 23,253 bytes, lines 46430-46441
46430 46431 * https://www.chartjs.org 46432 * (c) 2025 Chart.js Contributors 46433 * Released under the MIT License 46434 */ 46435!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";var t=Object.freeze({__proto__:null,get Colors(){return Jo},get Decimation(){return ta},get Filler(){return ba},get Legend(){return Ma},get SubTitle(){return Pa},get Title(){return ka},get Tooltip(){return Na}});function e(){}const i=(()=>{let t=0;return()=>t++})();function s(t){return null==t}function n(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function o(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function a(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function r(t,e){return a(t)?t:e}function l(t,e){return void 0===t?e:t}const h=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,c=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function d(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function u(t,e,i,s){let a,r,l;if(n(t))if(r=t.length,s)for(a=r-1;a>=0;a--)e.call(i,t[a],a);else for(a=0;a<r;a++)e.call(i,t[a],a);else if(o(t))for(l=Object.keys(t),r=l.length,a=0;a<r;a++)e.call(i,t[l[a]],l[a])}function f(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function g(t){if(n(t))return t.map(g);if(o(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=g(t[i[n]]);return e}return t}function p(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function m(t,e,i,s){if(!p(t))return;const n=e[t],a=i[t];o(n)&&o(a)?x(n,a,s):e[t]=g(a)}function x(t,e,i){const s=n(e)?e:[e],a=s.length;if(!o(t))return t;const r=(i=i||{}).merger||m;let l;for(let e=0;e<a;++e){if(l=s[e],!o(l))continue;const n=Object.keys(l);for(let e=0,s=n.length;e<s;++e)r(n[e],t,l,i)}return t}function b(t,e){return x(t,e,{merger:_})}function _(t,e,i){if(!p(t))return;const s=e[t],n=i[t];o(s)&&o(n)?b(s,n):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=g(n))}const y={"":t=>t,x:t=>t.x,y:t=>t.y};function v(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function M(t,e){const i=y[e]||(y[e]=function(t){const e=v(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function w(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,S=t=>"function"==typeof t,P=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function D(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const C=Math.PI,O=2*C,A=O+C,T=Number.POSITIVE_INFINITY,L=C/180,E=C/2,R=C/4,I=2*C/3,z=Math.log10,F=Math.sign;function V(t,e,i){return Math.abs(t-e)<i}function B(t){const e=Math.round(t);t=V(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(z(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function W(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}function N(t){return!function(t){return"symbol"==typeof t||"object"==typeof t&&null!==t&&!(Symbol.toPrimitive in t||"toString"in t||"valueOf"in t)}(t)&&!isNaN(parseFloat(t))&&isFinite(t)}function H(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function j(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function $(t){return t*(C/180)}function Y(t){return t*(180/C)}function U(t){if(!a(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function X(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*C&&(o+=O),{angle:o,distance:n}}function q(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function K(t,e){return(t-e+A)%O-C}function G(t){return(t%O+O)%O}function J(t,e,i,s){const n=G(t),o=G(e),a=G(i),r=G(o-n),l=G(a-n),h=G(n-o),c=G(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function Z(t,e,i){return Math.max(e,Math.min(i,t))}function Q(t){return Z(t,-32768,32767)}function tt(t,e,i,s=1e-6){return t>=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function et(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const it=(t,e,i,s)=>et(t,i,s?s=>{const n=t[s][e];return n<i||n===i&&t[s+1][e]===i}:s=>t[s][e]<i),st=(t,e,i)=>et(t,i,(s=>t[s][e]>=i));function nt(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}const ot=["push","pop","shift","splice","unshift"];function at(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),ot.forEach((e=>{const i="_onData"+w(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function rt(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(ot.forEach((e=>{delete t[e]})),delete t._chartjs)}function lt(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const ht="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function ct(t,e){let i=[],s=!1;return function(...n){i=n,s||(s=!0,ht.call(window,(()=>{s=!1,t.apply(e,i)})))}}function dt(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const ut=t=>"start"===t?"left":"end"===t?"right":"center",ft=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,gt=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function pt(t,e,i){const n=e.length;let o=0,a=n;if(t._sorted){const{iScale:r,vScale:l,_parsed:h}=t,c=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null,d=r.axis,{min:u,max:f,minDefined:g,maxDefined:p}=r.getUserBounds();if(g){if(o=Math.min(it(h,d,u).lo,i?n:it(e,d,r.getPixelForValue(u)).lo),c){const t=h.slice(0,o+1).reverse().findIndex((t=>!s(t[l.axis])));o-=Math.max(0,t)}o=Z(o,0,n-1)}if(p){let t=Math.max(it(h,r.axis,f,!0).hi+1,i?0:it(e,d,r.getPixelForValue(f),!0).hi+1);if(c){const e=h.slice(t-1).findIndex((t=>!s(t[l.axis])));t+=Math.max(0,e)}a=Z(t,o,n)-o}else a=n-o}return{start:o,count:a}}function mt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}class xt{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=ht.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var bt=new xt; 46436/*! 46437 * @kurkle/color v0.3.2 46438 * https://github.com/kurkle/color#readme 46439 * (c) 2023 Jukka Kurkela 46440 * Released under the MIT License 46441 */function _t(t){return t+.5|0}const yt=(t,e,i)=>Math.max(Math.min(t,i),e);function vt(t){return yt(_t(2.55*t),0,255)}function Mt(t){return yt(_t(255*t),0,255)}function wt(t){return yt(_t(t/2.55)/100,0,1)}function kt(t){return yt(_t(100*t),0,100)}const St={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},Pt=[..."0123456789ABCDEF"],Dt=t=>Pt[15&t],Ct=t=>Pt[(240&t)>>4]+Pt[15&t],Ot=t=>(240&t)>>4==(15&t);function At(t){var e=(t=>Ot(t.r)&&Ot(t.g)&&Ot(t.b)&&Ot(t.a))(t)?Dt:Ct;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const Tt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function Lt(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function Et(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function Rt(t,e,i){const s=Lt(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function It(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}(e,i,s,h,n),r=60*r+.5),[0|r,l||0,a]}function zt(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(Mt)}function Ft(t,e,i){return zt(Lt,t,e,i)}function Vt(t){return(t%360+360)%360}function Bt(t){const e=Tt.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?vt(+e[5]):Mt(+e[5]));const n=Vt(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return zt(Rt,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return zt(Et,t,e,i)}(n,o,a):Ft(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const Wt={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},Nt={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Ht;function jt(t){Ht||(Ht=function(){const t={},e=Object.keys(Nt),i=Object.keys(Wt);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,Wt[o]);o=parseInt(Nt[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),Ht.transparent=[0,0,0,0]);const e=Ht[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const $t=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const Yt=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Ut=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Xt(t,e,i){if(t){let s=It(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=Ft(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function qt(t,e){return t?Object.assign(e||{},t):t}function Kt(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=Mt(t[3]))):(e=qt(t,{r:0,g:0,b:0,a:1})).a=Mt(e.a),e}function Gt(t){return"r"===t.charAt(0)?function(t){const e=$t.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?vt(t):yt(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?vt(i):yt(i,0,255)),s=255&(e[4]?vt(s):yt(s,0,255)),n=255&(e[6]?vt(n):yt(n,0,255)),{r:i,g:s,b:n,a:o}}}(t):Bt(t)}class Jt{constructor(t){if(t instanceof Jt)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=Kt(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*St[s[1]],g:255&17*St[s[2]],b:255&17*St[s[3]],a:5===o?17*St[s[4]]:255}:7!==o&&9!==o||(n={r:St[s[1]]<<4|St[s[2]],g:St[s[3]]<<4|St[s[4]],b:St[s[5]]<<4|St[s[6]],a:9===o?St[s[7]]<<4|St[s[8]]:255})),i=n||jt(t)||Gt(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=qt(this._rgb);return t&&(t.a=wt(t.a)),t}set rgb(t){this._rgb=Kt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${wt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?At(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=It(t),i=e[0],s=kt(e[1]),n=kt(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${wt(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const s=Ut(wt(t.r)),n=Ut(wt(t.g)),o=Ut(wt(t.b));return{r:Mt(Yt(s+i*(Ut(wt(e.r))-s))),g:Mt(Yt(n+i*(Ut(wt(e.g))-n))),b:Mt(Yt(o+i*(Ut(wt(e.b))-o))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new Jt(this.rgb)}alpha(t){return this._rgb.a=Mt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=_t(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Xt(this._rgb,2,t),this}darken(t){return Xt(this._rgb,2,-t),this}saturate(t){return Xt(this._rgb,1,t),this}desaturate(t){return Xt(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=It(t);i[0]=Vt(i[0]+e),i=Ft(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function Zt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function Qt(t){return Zt(t)?t:new Jt(t)}function te(t){return Zt(t)?t:new Jt(t).saturate(.5).darken(.1).hexString()}const ee=["x","y","borderWidth","radius","tension"],ie=["color","borderColor","backgroundColor"];const se=new Map;function ne(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=se.get(i);return s||(s=new Intl.NumberFormat(t,e),se.set(i,s)),s}(e,i).format(t)}const oe={values:t=>n(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=z(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),ne(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(z(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?oe.numeric.call(this,t,e,i):""}};var ae={formatters:oe};const re=Object.create(null),le=Object.create(null);function he(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;e<s;++e){const s=i[e];t=t[s]||(t[s]=Object.create(null))}return t}function ce(t,e,i){return"string"==typeof e?x(he(t,e),i):x(he(t,""),e)}class de{constructor(t,e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>te(e.backgroundColor),this.hoverBorderColor=(t,e)=>te(e.borderColor),this.hoverColor=(t,e)=>te(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ce(this,t,e)}get(t){return he(this,t)}describe(t,e){return ce(le,t,e)}override(t,e){return ce(re,t,e)}route(t,e,i,s){const n=he(this,t),a=he(this,i),r="_"+e;Object.defineProperties(n,{[r]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[r],e=a[s];return o(t)?Object.assign({},e,t):l(t,e)},set(t){this[r]=t}}})}apply(t){t.forEach((t=>t(this)))}}var ue=new de({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:ie},numbers:{type:"number",properties:ee}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})},function(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:ae.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}]);function fe(){return"undefined"!=typeof window&&"undefined"!=typeof document}function ge(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function pe(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const me=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);function xe(t,e){return me(t).getPropertyValue(e)}const be=["top","right","bottom","left"];function _e(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=be[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const ye=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function ve(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=me(i),o="border-box"===n.boxSizing,a=_e(n,"padding"),r=_e(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(ye(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const Me=t=>Math.round(10*t)/10;function we(t,e,i,s){const n=me(t),o=_e(n,"margin"),a=pe(n.maxWidth,t,"clientWidth")||T,r=pe(n.maxHeight,t,"clientHeight")||T,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=t&&ge(t);if(o){const t=o.getBoundingClientRect(),a=me(o),r=_e(a,"border","width"),l=_e(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=pe(a.maxWidth,o,"clientWidth"),n=pe(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||T,maxHeight:n||T}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=_e(n,"border","width"),e=_e(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=Me(Math.min(h,a,l.maxWidth)),c=Me(Math.min(c,r,l.maxHeight)),h&&!c&&(c=Me(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=Me(Math.floor(c*s))),{width:h,height:c}}function ke(t,e,i){const s=e||1,n=M
46441ath.floor(t.height*s),o=Math.floor(t.width*s);t.height=Math.floor(t.height),t.width=Math.floor
vendor: 68,851 bytes, line 46441
46441(t.width);const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Se=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};fe()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function Pe(t,e){const i=xe(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function De(t){return!t||s(t.size)||s(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Ce(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function Oe(t,e,i,s){let o=(s=s||{}).data=s.data||{},a=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(o=s.data={},a=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let r=0;const l=i.length;let h,c,d,u,f;for(h=0;h<l;h++)if(u=i[h],null==u||n(u)){if(n(u))for(c=0,d=u.length;c<d;c++)f=u[c],null==f||n(f)||(r=Ce(t,o,a,r,f))}else r=Ce(t,o,a,r,u);t.restore();const g=a.length/2;if(g>i.length){for(h=0;h<g;h++)delete o[a[h]];a.splice(0,g)}return r}function Ae(t,e,i){const s=t.currentDevicePixelRatio,n=0!==i?Math.max(i/2,.5):0;return Math.round((e-n)*s)/s+n}function Te(t,e){(e||t)&&((e=e||t.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,t.width,t.height),e.restore())}function Le(t,e,i,s){Ee(t,e,i,s,null)}function Ee(t,e,i,s,n){let o,a,r,l,h,c,d,u;const f=e.pointStyle,g=e.rotation,p=e.radius;let m=(g||0)*L;if(f&&"object"==typeof f&&(o=f.toString(),"[object HTMLImageElement]"===o||"[object HTMLCanvasElement]"===o))return t.save(),t.translate(i,s),t.rotate(m),t.drawImage(f,-f.width/2,-f.height/2,f.width,f.height),void t.restore();if(!(isNaN(p)||p<=0)){switch(t.beginPath(),f){default:n?t.ellipse(i,s,n/2,p,0,0,O):t.arc(i,s,p,0,O),t.closePath();break;case"triangle":c=n?n/2:p,t.moveTo(i+Math.sin(m)*c,s-Math.cos(m)*p),m+=I,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*p),m+=I,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*p),t.closePath();break;case"rectRounded":h=.516*p,l=p-h,a=Math.cos(m+R)*l,d=Math.cos(m+R)*(n?n/2-h:l),r=Math.sin(m+R)*l,u=Math.sin(m+R)*(n?n/2-h:l),t.arc(i-d,s-r,h,m-C,m-E),t.arc(i+u,s-a,h,m-E,m),t.arc(i+d,s+r,h,m,m+E),t.arc(i-u,s+a,h,m+E,m+C),t.closePath();break;case"rect":if(!g){l=Math.SQRT1_2*p,c=n?n/2:l,t.rect(i-c,s-l,2*c,2*l);break}m+=R;case"rectRot":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+u,s-a),t.lineTo(i+d,s+r),t.lineTo(i-u,s+a),t.closePath();break;case"crossRot":m+=R;case"cross":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a);break;case"star":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a),m+=R,d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a);break;case"line":a=n?n/2:Math.cos(m)*p,r=Math.sin(m)*p,t.moveTo(i-a,s-r),t.lineTo(i+a,s+r);break;case"dash":t.moveTo(i,s),t.lineTo(i+Math.cos(m)*(n?n/2:p),s+Math.sin(m)*p);break;case!1:t.closePath()}t.fill(),e.borderWidth>0&&t.stroke()}}function Re(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.x<e.right+i&&t.y>e.top-i&&t.y<e.bottom+i}function Ie(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()}function ze(t){t.restore()}function Fe(t,e,i,s,n){if(!e)return t.lineTo(i.x,i.y);if("middle"===n){const s=(e.x+i.x)/2;t.lineTo(s,e.y),t.lineTo(s,i.y)}else"after"===n!=!!s?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y);t.lineTo(i.x,i.y)}function Ve(t,e,i,s){if(!e)return t.lineTo(i.x,i.y);t.bezierCurveTo(s?e.cp1x:e.cp2x,s?e.cp1y:e.cp2y,s?i.cp2x:i.cp1x,s?i.cp2y:i.cp1y,i.x,i.y)}function Be(t,e,i,s,n){if(n.strikethrough||n.underline){const o=t.measureText(s),a=e-o.actualBoundingBoxLeft,r=e+o.actualBoundingBoxRight,l=i-o.actualBoundingBoxAscent,h=i+o.actualBoundingBoxDescent,c=n.strikethrough?(l+h)/2:h;t.strokeStyle=t.fillStyle,t.beginPath(),t.lineWidth=n.decorationWidth||2,t.moveTo(a,c),t.lineTo(r,c),t.stroke()}}function We(t,e){const i=t.fillStyle;t.fillStyle=e.color,t.fillRect(e.left,e.top,e.width,e.height),t.fillStyle=i}function Ne(t,e,i,o,a,r={}){const l=n(e)?e:[e],h=r.strokeWidth>0&&""!==r.strokeColor;let c,d;for(t.save(),t.font=a.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),s(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,r),c=0;c<l.length;++c)d=l[c],r.backdrop&&We(t,r.backdrop),h&&(r.strokeColor&&(t.strokeStyle=r.strokeColor),s(r.strokeWidth)||(t.lineWidth=r.strokeWidth),t.strokeText(d,i,o,r.maxWidth)),t.fillText(d,i,o,r.maxWidth),Be(t,i,o,d,r),o+=Number(a.lineHeight);t.restore()}function He(t,e){const{x:i,y:s,w:n,h:o,radius:a}=e;t.arc(i+a.topLeft,s+a.topLeft,a.topLeft,1.5*C,C,!0),t.lineTo(i,s+o-a.bottomLeft),t.arc(i+a.bottomLeft,s+o-a.bottomLeft,a.bottomLeft,C,E,!0),t.lineTo(i+n-a.bottomRight,s+o),t.arc(i+n-a.bottomRight,s+o-a.bottomRight,a.bottomRight,E,0,!0),t.lineTo(i+n,s+a.topRight),t.arc(i+n-a.topRight,s+a.topRight,a.topRight,0,-E,!0),t.lineTo(i+a.topLeft,s)}function je(t,e=[""],i,s,n=(()=>t[0])){const o=i||t;void 0===s&&(s=ti("_fallback",t));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:s,_getTarget:n,override:i=>je([i,...t],e,o,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>qe(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=ti(Ue(o,t),i),void 0!==n)return Xe(t,n)?Ze(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>ei(t).includes(e),ownKeys:t=>ei(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function $e(t,e,i,s){const a={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Ye(t,s),setContext:e=>$e(t,e,i,s),override:n=>$e(t.override(n),e,i,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>qe(t,e,(()=>function(t,e,i){const{_proxy:s,_context:a,_subProxy:r,_descriptors:l}=t;let h=s[e];S(h)&&l.isScriptable(e)&&(h=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t);let l=e(o,a||s);r.delete(t),Xe(t,l)&&(l=Ze(n._scopes,n,t,l));return l}(e,h,t,i));n(h)&&h.length&&(h=function(t,e,i,s){const{_proxy:n,_context:a,_subProxy:r,_descriptors:l}=i;if(void 0!==a.index&&s(t))return e[a.index%e.length];if(o(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const o of i){const i=Ze(s,n,t,o);e.push($e(i,a,r&&r[t],l))}}return e}(e,h,t,l.isIndexable));Xe(e,h)&&(h=$e(h,a,r&&r[e],l));return h}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Ye(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:S(i)?i:()=>i,isIndexable:S(s)?s:()=>s}}const Ue=(t,e)=>t?t+w(e):e,Xe=(t,e)=>o(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function qe(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e)||"constructor"===e)return t[e];const s=i();return t[e]=s,s}function Ke(t,e,i){return S(t)?t(e,i):t}const Ge=(t,e)=>!0===t?e:"string"==typeof t?M(e,t):void 0;function Je(t,e,i,s,n){for(const o of e){const e=Ge(i,o);if(e){t.add(e);const o=Ke(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function Ze(t,e,i,s){const a=e._rootScopes,r=Ke(e._fallback,i,s),l=[...t,...a],h=new Set;h.add(s);let c=Qe(h,l,i,r||i,s);return null!==c&&((void 0===r||r===i||(c=Qe(h,l,r,c,s),null!==c))&&je(Array.from(h),[""],a,r,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const a=s[e];if(n(a)&&o(i))return i;return a||{}}(e,i,s))))}function Qe(t,e,i,s,n){for(;i;)i=Je(t,e,i,s,n);return i}function ti(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function ei(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function ii(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={r:n.parse(M(c,o),h)};return a}const si=Number.EPSILON||1e-14,ni=(t,e)=>e<t.length&&!t[e].skip&&t[e],oi=t=>"x"===t?"y":"x";function ai(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=q(o,n),l=q(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function ri(t,e="x"){const i=oi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=ni(t,0);for(a=0;a<s;++a)if(r=l,l=h,h=ni(t,a+1),l){if(h){const t=h[e]-l[e];n[a]=0!==t?(h[i]-l[i])/t:0}o[a]=r?h?F(n[a-1])!==F(n[a])?0:(n[a-1]+n[a])/2:n[a-1]:n[a]}!function(t,e,i){const s=t.length;let n,o,a,r,l,h=ni(t,0);for(let c=0;c<s-1;++c)l=h,h=ni(t,c+1),l&&h&&(V(e[c],0,si)?i[c]=i[c+1]=0:(n=i[c]/e[c],o=i[c+1]/e[c],r=Math.pow(n,2)+Math.pow(o,2),r<=9||(a=3/Math.sqrt(r),i[c]=n*a*e[c],i[c+1]=o*a*e[c])))}(t,n,o),function(t,e,i="x"){const s=oi(i),n=t.length;let o,a,r,l=ni(t,0);for(let h=0;h<n;++h){if(a=r,r=l,l=ni(t,h+1),!r)continue;const n=r[i],c=r[s];a&&(o=(n-a[i])/3,r[`cp1${i}`]=n-o,r[`cp1${s}`]=c-o*e[h]),l&&(o=(l[i]-n)/3,r[`cp2${i}`]=n+o,r[`cp2${s}`]=c+o*e[h])}}(t,o,e)}function li(t,e,i){return Math.max(Math.min(t,i),e)}function hi(t,e,i,s,n){let o,a,r,l;if(e.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===e.cubicInterpolationMode)ri(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o<a;++o)r=t[o],l=ai(i,r,t[Math.min(o+1,a-(s?0:1))%a],e.tension),r.cp1x=l.previous.x,r.cp1y=l.previous.y,r.cp2x=l.next.x,r.cp2y=l.next.y,i=r}e.capBezierPoints&&function(t,e){let i,s,n,o,a,r=Re(t[0],e);for(i=0,s=t.length;i<s;++i)a=o,o=r,r=i<s-1&&Re(t[i+1],e),o&&(n=t[i],a&&(n.cp1x=li(n.cp1x,e.left,e.right),n.cp1y=li(n.cp1y,e.top,e.bottom)),r&&(n.cp2x=li(n.cp2x,e.left,e.right),n.cp2y=li(n.cp2y,e.top,e.bottom)))}(t,i)}const ci=t=>0===t||1===t,di=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*O/i),ui=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*O/i)+1,fi={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*E),easeOutSine:t=>Math.sin(t*E),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ci(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ci(t)?t:di(t,.075,.3),easeOutElastic:t=>ci(t)?t:ui(t,.075,.3),easeInOutElastic(t){const e=.1125;return ci(t)?t:t<.5?.5*di(2*t,e,.45):.5+.5*ui(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-fi.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*fi.easeInBounce(2*t):.5*fi.easeOutBounce(2*t-1)+.5};function gi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function pi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function mi(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=gi(t,n,i),r=gi(n,o,i),l=gi(o,e,i),h=gi(a,r,i),c=gi(r,l,i);return gi(h,c,i)}const xi=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,bi=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function _i(t,e){const i=(""+t).match(xi);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const yi=t=>+t||0;function vi(t,e){const i={},s=o(e),n=s?Object.keys(e):e,a=o(t)?s?i=>l(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=yi(a(t));return i}function Mi(t){return vi(t,{top:"y",right:"x",bottom:"y",left:"x"})}function wi(t){return vi(t,["topLeft","topRight","bottomLeft","bottomRight"])}function ki(t){const e=Mi(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Si(t,e){t=t||{},e=e||ue.font;let i=l(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=l(t.style,e.style);s&&!(""+s).match(bi)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:l(t.family,e.family),lineHeight:_i(l(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:l(t.weight,e.weight),string:""};return n.string=De(n),n}function Pi(t,e,i,s){let o,a,r,l=!0;for(o=0,a=t.length;o<a;++o)if(r=t[o],void 0!==r&&(void 0!==e&&"function"==typeof r&&(r=r(e),l=!1),void 0!==i&&n(r)&&(r=r[i%r.length],l=!1),void 0!==r))return s&&!l&&(s.cacheable=!1),r}function Di(t,e,i){const{min:s,max:n}=t,o=c(e,(n-s)/2),a=(t,e)=>i&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function Ci(t,e){return Object.assign(Object.create(t),e)}function Oi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Ai(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Ti(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Li(t){return"angle"===t?{between:J,compare:K,normalize:G}:{between:tt,compare:(t,e)=>t-e,normalize:t=>t}}function Ei({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function Ri(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Li(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Li(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;h<c&&a(r(e[d%l][s]),n,o);++h)d--,u--;d%=l,u%=l}return u<d&&(u+=l),{start:d,end:u,loop:f,style:t.style}}(t,e,i),g=[];let p,m,x,b=!1,_=null;const y=()=>b||l(n,x,p)&&0!==r(n,x),v=()=>!b||0===r(o,p)||l(o,x,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==x&&(b=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Ei({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,x=p));return null!==_&&g.push(Ei({start:_,end:d,loop:u,count:a,style:f})),g}function Ii(t,e){const i=[],s=t.segments;for(let n=0;n<s.length;n++){const o=Ri(s[n],t.points,e);o.length&&i.push(...o)}return i}function zi(t,e){const i=t.points,s=t.options.spanGaps,n=i.length;if(!n)return[];const o=!!t._loop,{start:a,end:r}=function(t,e,i,s){let n=0,o=e-1;if(i&&!s)for(;n<e&&!t[n].skip;)n++;for(;n<e&&t[n].skip;)n++;for(n%=e,i&&(o+=n);o>n&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Fi(t,[{start:a,end:r,loop:o}],i,e);return Fi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r<a?r+n:r,!!t._fullLoop&&0===a&&r===n-1),i,e)}function Fi(t,e,i,s){return s&&s.setContext&&i?function(t,e,i,s){const n=t._chart.getContext(),o=Vi(t.options),{_datasetIndex:a,options:{spanGaps:r}}=t,l=i.length,h=[];let c=o,d=e[0].start,u=d;function f(t,e,s,n){const o=r?-1:1;if(t!==e){for(t+=l;i[t%l].skip;)t-=o;for(;i[e%l].skip;)e+=o;t%l!=e%l&&(h.push({start:t%l,end:e%l,loop:s,style:n}),c=n,d=e%l)}}for(const t of e){d=r?d:t.start;let e,o=i[d%l];for(u=d+1;u<=t.end;u++){const r=i[u%l];e=Vi(s.setContext(Ci(n,{type:"segment",p0:o,p1:r,p0DataIndex:(u-1)%l,p1DataIndex:u%l,datasetIndex:a}))),Bi(e,c)&&f(d,u-1,t.loop,c),o=r,c=e}d<u-1&&f(d,u-1,t.loop,c)}return h}(t,e,i,s):e}function Vi(t){return{backgroundColor:t.backgroundColor,borderCapStyle:t.borderCapStyle,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderJoinStyle:t.borderJoinStyle,borderWidth:t.borderWidth,borderColor:t.borderColor}}function Bi(t,e){if(!e)return!1;const i=[],s=function(t,e){return Zt(e)?(i.includes(e)||i.push(e),i.indexOf(e)):e};return JSON.stringify(t,s)!==JSON.stringify(e,s)}function Wi(t,e,i){return t.options.clip?t[i]:e[i]}function Ni(t,e){const i=e._clip;if(i.disabled)return!1;const s=function(t,e){const{xScale:i,yScale:s}=t;return i&&s?{left:Wi(i,e,"left"),right:Wi(i,e,"right"),top:Wi(s,e,"top"),bottom:Wi(s,e,"bottom")}:e}(e,t.chartArea);return{left:!1===i.left?0:s.left-(!0===i.left?0:i.left),right:!1===i.right?t.width:s.right+(!0===i.right?0:i.right),top:!1===i.top?0:s.top-(!0===i.top?0:i.top),bottom:!1===i.bottom?t.height:s.bottom+(!0===i.bottom?0:i.bottom)}}var Hi=Object.freeze({__proto__:null,HALF_PI:E,INFINITY:T,PI:C,PITAU:A,QUARTER_PI:R,RAD_PER_DEG:L,TAU:O,TWO_THIRDS_PI:I,_addGrace:Di,_alignPixel:Ae,_alignStartEnd:ft,_angleBetween:J,_angleDiff:K,_arrayUnique:lt,_attachContext:$e,_bezierCurveTo:Ve,_bezierInterpolation:mi,_boundSegment:Ri,_boundSegments:Ii,_capitalize:w,_computeSegments:zi,_createResolver:je,_decimalPlaces:U,_deprecated:function(t,e,i,s){void 0!==e&&console.warn(t+': "'+i+'" is deprecated. Please use "'+s+'" instead')},_descriptors:Ye,_elementsEqual:f,_factorize:W,_filterBetween:nt,_getParentNode:ge,_getStartAndCountOfVisiblePoints:pt,_int16Range:Q,_isBetween:tt,_isClickEvent:D,_isDomSupported:fe,_isPointInArea:Re,_limitValue:Z,_longestText:Oe,_lookup:et,_lookupByKey:it,_measureText:Ce,_merger:m,_mergerIf:_,_normalizeAngle:G,_parseObjectDataRadialScale:ii,_pointInLine:gi,_readValueToProps:vi,_rlookupByKey:st,_scaleRangesChanged:mt,_setMinAndMaxByKey:j,_splitKey:v,_steppedInterpolation:pi,_steppedLineTo:Fe,_textX:gt,_toLeftRightCenter:ut,_updateBezierControlPoints:hi,addRoundedRectPath:He,almostEquals:V,almostWhole:H,callback:d,clearCanvas:Te,clipArea:Ie,clone:g,color:Qt,createContext:Ci,debounce:dt,defined:k,distanceBetweenPoints:q,drawPoint:Le,drawPointLegend:Ee,each:u,easingEffects:fi,finiteOrDefault:r,fontString:function(t,e,i){return e+" "+t+"px "+i},formatNumber:ne,getAngleFromPoint:X,getDatasetClipArea:Ni,getHoverColor:te,getMaximumSize:we,getRelativePosition:ve,getRtlAdapter:Oi,getStyle:xe,isArray:n,isFinite:a,isFunction:S,isNullOrUndef:s,isNumber:N,isObject:o,isPatternOrGradient:Zt,listenArrayEvents:at,log10:z,merge:x,mergeIf:b,niceNum:B,noop:e,overrideTextDirection:Ai,readUsedSize:Pe,renderText:Ne,requestAnimFrame:ht,resolve:Pi,resolveObjectKey:M,restoreTextDirection:Ti,retinaScale:ke,setsEqual:P,sign:F,splineCurve:ai,splineCurveMonotone:ri,supportsEventListenerOptions:Se,throttled:ct,toDegrees:Y,toDimension:c,toFont:Si,toFontString:De,toLineHeight:_i,toPadding:ki,toPercentage:h,toRadians:$,toTRBL:Mi,toTRBLCorners:wi,uid:i,unclipArea:ze,unlistenArrayEvents:rt,valueOrDefault:l});function ji(t,e,i,n){const{controller:o,data:a,_sorted:r}=t,l=o._cachedMeta.iScale,h=t.dataset&&t.dataset.options?t.dataset.options.spanGaps:null;if(l&&e===l.axis&&"r"!==e&&r&&a.length){const r=l._reversePixels?st:it;if(!n){const n=r(a,e,i);if(h){const{vScale:e}=o._cachedMeta,{_parsed:i}=t,a=i.slice(0,n.lo+1).reverse().findIndex((t=>!s(t[e.axis])));n.lo-=Math.max(0,a);const r=i.slice(n.hi).findIndex((t=>!s(t[e.axis])));n.hi+=Math.max(0,r)}return n}if(o._sharedOptions){const t=a[0],s="function"==typeof t.getRange&&t.getRange(e);if(s){const t=r(a,e,i-s),n=r(a,e,i+s);return{lo:t.lo,hi:n.hi}}}}return{lo:0,hi:a.length-1}}function $i(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t<i;++t){const{index:i,data:r}=o[t],{lo:l,hi:h}=ji(o[t],e,a,n);for(let t=l;t<=h;++t){const e=r[t];e.skip||s(e,i,t)}}}function Yi(t,e,i,s,n){const o=[];if(!n&&!t.isPointInArea(e))return o;return $i(t,i,e,(function(i,a,r){(n||Re(i,t.chartArea,0))&&i.inRange(e.x,e.y,s)&&o.push({element:i,datasetIndex:a,index:r})}),!0),o}function Ui(t,e,i,s,n,o){let a=[];const r=function(t){const e=-1!==t.indexOf("x"),i=-1!==t.indexOf("y");return function(t,s){const n=e?Math.abs(t.x-s.x):0,o=i?Math.abs(t.y-s.y):0;return Math.sqrt(Math.pow(n,2)+Math.pow(o,2))}}(i);let l=Number.POSITIVE_INFINITY;return $i(t,i,e,(function(i,h,c){const d=i.inRange(e.x,e.y,n);if(s&&!d)return;const u=i.getCenterPoint(n);if(!(!!o||t.isPointInArea(u))&&!d)return;const f=r(e,u);f<l?(a=[{element:i,datasetIndex:h,index:c}],l=f):f===l&&a.push({element:i,datasetIndex:h,index:c})})),a}function Xi(t,e,i,s,n,o){return o||t.isPointInArea(e)?"r"!==i||s?Ui(t,e,i,s,n,o):function(t,e,i,s){let n=[];return $i(t,i,e,(function(t,i,o){const{startAngle:a,endAngle:r}=t.getProps(["startAngle","endAngle"],s),{angle:l}=X(t,{x:e.x,y:e.y});J(l,a,r)&&n.push({element:t,datasetIndex:i,index:o})})),n}(t,e,i,n):[]}function qi(t,e,i,s,n){const o=[],a="x"===i?"inXRange":"inYRange";let r=!1;return $i(t,i,e,((t,s,l)=>{t[a]&&t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Ki={evaluateInteractionItems:$i,modes:{index(t,e,i,s){const n=ve(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?Yi(t,n,o,s,a):Xi(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;t<i.length;++t)r.push({element:i[t],datasetIndex:e,index:t})}return r},point:(t,e,i,s)=>Yi(t,ve(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ve(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return Xi(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>qi(t,ve(e,t),"x",i.intersect,s),y:(t,e,i,s)=>qi(t,ve(e,t),"y",i.intersect,s)}};const Gi=["left","top","right","bottom"];function Ji(t,e){return t.filter((t=>t.pos===e))}function Zi(t,e){return t.filter((t=>-1===Gi.indexOf(t.pos)&&t.box.axis===e))}function Qi(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function ts(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!Gi.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o<a;++o){r=t[o];const{fullSize:a}=r.box,l=i[r.stack],h=l&&r.stackWeight/l.weight;r.horizontal?(r.width=h?h*s:a&&e.availableWidth,r.height=n):(r.width=s,r.height=h?h*n:a&&e.availableHeight)}return i}function es(t,e,i,s){return Math.max(t[i],e[i])+Math.max(t[s],e[s])}function is(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function ss(t,e,i,s){const{pos:n,box:a}=i,r=t.maxPadding;if(!o(n)){i.size&&(t[n]-=i.size);const e=s[i.stack]||{size:0,count:1};e.size=Math.max(e.size,i.horizontal?a.height:a.width),i.size=e.size/e.count,t[n]+=i.size}a.getPadding&&is(r,a.getPadding());const l=Math.max(0,e.outerWidth-es(r,t,"left","right")),h=Math.max(0,e.outerHeight-es(r,t,"top","bottom")),c=l!==t.w,d=h!==t.h;return t.w=l,t.h=h,i.horizontal?{same:c,other:d}:{same:d,other:c}}function ns(t,e){const i=e.maxPadding;function s(t){const s={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function os(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;o<a;++o){r=t[o],l=r.box,l.update(r.width||e.w,r.height||e.h,ns(r.horizontal,e));const{same:a,other:d}=ss(e,i,r,s);h|=a&&n.length,c=c||d,l.fullSize||n.push(r)}return h&&os(n,e,i,s)||c}function as(t,e,i,s,n){t.top=i,t.left=e,t.right=e+s,t.bottom=i+n,t.width=s,t.height=n}function rs(t,e,i,s){const n=i.padding;let{x:o,y:a}=e;for(const r of t){const t=r.box,l=s[r.stack]||{count:1,placed:0,weight:1},h=r.stackWeight/l.weight||1;if(r.horizontal){const s=e.w*h,o=l.size||t.height;k(l.start)&&(a=l.start),t.fullSize?as(t,n.left,a,i.outerWidth-n.right-n.left,o):as(t,e.left+l.placed,a,s,o),l.start=a,l.placed+=s,a=t.bottom}else{const s=e.h*h,a=l.size||t.width;k(l.start)&&(o=l.start),t.fullSize?as(t,o,n.top,a,i.outerHeight-n.bottom-n.top):as(t,o,e.top+l.placed,a,s),l.start=o,l.placed+=s,o=t.right}}e.x=o,e.y=a}var ls={addBox(t,e){t.boxes||(t.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},t.boxes.push(e)},removeBox(t,e){const i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure(t,e,i){e.fullSize=i.fullSize,e.position=i.position,e.weight=i.weight},update(t,e,i,s){if(!t)return;const n=ki(t.options.layout.padding),o=Math.max(e-n.width,0),a=Math.max(i-n.height,0),r=function(t){const e=function(t){const e=[];let i,s,n,o,a,r;for(i=0,s=(t||[]).length;i<s;++i)n=t[i],({position:o,options:{stack:a,stackWeight:r=1}}=n),e.push({index:i,box:n,pos:o,horizontal:n.isHorizontal(),weight:n.weight,stack:a&&o+a,stackWeight:r});return e}(t),i=Qi(e.filter((t=>t.box.fullSize)),!0),s=Qi(Ji(e,"left"),!0),n=Qi(Ji(e,"right")),o=Qi(Ji(e,"top"),!0),a=Qi(Ji(e,"bottom")),r=Zi(e,"x"),l=Zi(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Ji(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;u(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),f=Object.assign({},n);is(f,ki(s));const g=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=ts(l.concat(h),d);os(r.fullSize,g,d,p),os(l,g,d,p),os(h,g,d,p)&&os(l,g,d,p),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(g),rs(r.leftAndTop,g,d,p),g.x+=g.w,g.y+=g.h,rs(r.rightAndBottom,g,d,p),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},u(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class hs{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class cs extends hs{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const ds="$chartjs",us={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},fs=t=>null===t||""===t;const gs=!!Se&&{passive:!0};function ps(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,gs)}function ms(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function xs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.addedNodes,s),e=e&&!ms(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function bs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||ms(i.removedNodes,s),e=e&&!ms(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const _s=new Map;let ys=0;function vs(){const t=window.devicePixelRatio;t!==ys&&(ys=t,_s.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function Ms(t,e,i){const s=t.canvas,n=s&&ge(s);if(!n)return;const o=ct(((t,e)=>{const s=n.clientWidth;i(t,e),s<n.clientWidth&&i()}),window),a=new ResizeObserver((t=>{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){_s.size||window.addEventListener("resize",vs),_s.set(t,e)}(t,o),a}function ws(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){_s.delete(t),_s.size||window.removeEventListener("resize",vs)}(t)}function ks(t,e,i){const s=t.canvas,n=ct((e=>{null!==t.ctx&&i(function(t,e){const i=us[t.type]||t.type,{x:s,y:n}=ve(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t);return function(t,e,i){t&&t.addEventListener(e,i,gs)}(s,e,n),n}class Ss extends hs{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t[ds]={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",fs(n)){const e=Pe(t,"width");void 0!==e&&(t.width=e)}if(fs(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=Pe(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[ds])return!1;const i=e[ds].initial;["height","width"].forEach((t=>{const n=i[t];s(n)?e.removeAttribute(t):e.setAttribute(t,n)}));const n=i.style||{};return Object.keys(n).forEach((t=>{e.style[t]=n[t]})),e.width=e.width,delete e[ds],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:xs,detach:bs,resize:Ms}[e]||ks;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:ws,detach:ws,resize:ws}[e]||ps)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return we(t,e,i,s)}isAttached(t){const e=t&&ge(t);return!(!e||!e.isConnected)}}function Ps(t){return!fe()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?cs:Ss}var Ds=Object.freeze({__proto__:null,BasePlatform:hs,BasicPlatform:cs,DomPlatform:Ss,_detectPlatform:Ps});const Cs="transparent",Os={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=Qt(t||Cs),n=s.valid&&Qt(e||Cs);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class As{constructor(t,e,i,s){const n=e[i];s=Pi([t.to,s,n,t.from]);const o=Pi([t.from,n,s]);this._active=!0,this._fn=t.fn||Os[t.type||typeof o],this._easing=fi[t.easing]||fi.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=Pi([t.to,e,s,t.from]),this._from=Pi([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e<i),!this._active)return this._target[s]=a,void this._notify(!0);e<0?this._target[s]=n:(r=e/i%2,r=o&&r>1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t<i.length;t++)i[t][e]()}}class Ts{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!o(t))return;const e=Object.keys(ue.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach((s=>{const a=t[s];if(!o(a))return;const r={};for(const t of e)r[t]=a[t];(n(a.properties)&&a.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,r)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e<s.length;e++){const n=t[s[e]];n&&n.active()&&i.push(n.wait())}return Promise.all(i)}(t.options.$animations,i).then((()=>{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new As(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(bt.add(this._chart,i),!0):void 0}}function Ls(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function Es(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n<o;++n)i.push(s[n].index);return i}function Rs(t,e,i,s={}){const n=t.keys,o="single"===s.mode;let r,l,h,c;if(null===e)return;let d=!1;for(r=0,l=n.length;r<l;++r){if(h=+n[r],h===i){if(d=!0,s.all)continue;break}c=t.values[h],a(c)&&(o||0===e||F(e)===F(c))&&(e+=c)}return d||s.all?e:0}function Is(t,e){const i=t&&t.options.stacked;return i||void 0===i&&void 0!==e.stack}function zs(t,e,i){const s=t[e]||(t[e]={});return s[i]||(s[i]={})}function Fs(t,e,i,s){for(const n of e.getMatchingVisibleMetas(s).reverse()){const e=t[n.index];if(i&&e>0||!i&&e<0)return n.index}return null}function Vs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;t<d;++t){const i=e[t],{[l]:o,[h]:d}=i;u=(i._stacks||(i._stacks={}))[h]=zs(n,c,o),u[r]=d,u._top=Fs(u,a,!0,s.type),u._bottom=Fs(u,a,!1,s.type);(u._visualValues||(u._visualValues={}))[r]=d}}function Bs(t,e){const i=t.scales;return Object.keys(i).filter((t=>i[t].axis===e)).shift()}function Ws(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const Ns=t=>"reset"===t||"none"===t,Hs=(t,e)=>e?t:Object.assign({},t);class js{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Is(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Ws(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=l(i.xAxisID,Bs(t,"x")),o=e.yAxisID=l(i.yAxisID,Bs(t,"y")),a=e.rAxisID=l(i.rAxisID,Bs(t,"r")),r=e.indexAxis,h=e.iAxisID=s(r,n,o,a),c=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(h),e.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&rt(this._data,this),t._stacked&&Ws(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(o(e)){const t=this._cachedMeta;this._data=function(t,e){const{iScale:i,vScale:s}=e,n="x"===i.axis?"x":"y",o="x"===s.axis?"x":"y",a=Object.keys(t),r=new Array(a.length);let l,h,c;for(l=0,h=a.length;l<h;++l)c=a[l],r[l]={[n]:c,[o]:t[c]};return r}(e,t)}else if(i!==e){if(i){rt(i,this);const t=this._cachedMeta;Ws(t),t._parsed=[]}e&&Object.isExtensible(e)&&at(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let s=!1;this._dataCheck();const n=e._stacked;e._stacked=Is(e.vScale,e),e.stack!==i.stack&&(s=!0,Ws(e),e.stack=i.stack),this._resyncElements(t),(s||n!==e._stacked)&&(Vs(this,e._parsed),e._stacked=Is(e.vScale,e))}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:s}=this,{iScale:a,_stacked:r}=i,l=a.axis;let h,c,d,u=0===t&&e===s.length||i._sorted,f=t>0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,d=s;else{d=n(s[t])?this.parseArrayData(i,s,t,e):o(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const a=()=>null===c[l]||f&&c[l]<f[l];for(h=0;h<e;++h)i._parsed[h+t]=c=d[h],u&&(a()&&(u=!1),f=c);i._sorted=u}r&&Vs(this,d)}parsePrimitiveData(t,e,i,s){const{iScale:n,vScale:o}=t,a=n.axis,r=o.axis,l=n.getLabels(),h=n===o,c=new Array(s);let d,u,f;for(d=0,u=s;d<u;++d)f=d+i,c[d]={[a]:h||n.parse(l[f],f),[r]:o.parse(e[f],f)};return c}parseArrayData(t,e,i,s){const{xScale:n,yScale:o}=t,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={x:n.parse(c[0],h),y:o.parse(c[1],h)};return a}parseObjectData(t,e,i,s){const{xScale:n,yScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l=new Array(s);let h,c,d,u;for(h=0,c=s;h<c;++h)d=h+i,u=e[d],l[h]={x:n.parse(M(u,a),d),y:o.parse(M(u,r),d)};return l}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const s=this.chart,n=this._cachedMeta,o=e[t.axis];return Rs({keys:Es(s,!0),values:e._stacks[t.axis]._visualValues},o,n.index,{mode:i})}updateRangeFromParsed(t,e,i,s){const n=i[e.axis];let o=null===n?NaN:n;const a=s&&i._stacks[e.axis];s&&a&&(s.values=a,o=Rs(s,n,this._cachedMeta.index)),t.min=Math.min(t.min,o),t.max=Math.max(t.max,o)}getMinMax(t,e){const i=this._cachedMeta,s=i._parsed,n=i._sorted&&t===i.iScale,o=s.length,r=this._getOtherScale(t),l=((t,e,i)=>t&&!e.hidden&&e._stacked&&{keys:Es(i,!0),values:null})(e,i,this.chart),h={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:c,max:d}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(r);let u,f;function g(){f=s[u];const e=f[r.axis];return!a(f[t.axis])||c>e||d<e}for(u=0;u<o&&(g()||(this.updateRangeFromParsed(h,t,f,l),!n));++u);if(n)for(u=o-1;u>=0;--u)if(!g()){this.updateRangeFromParsed(h,t,f,l);break}return h}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s][t.axis],a(o)&&i.push(o);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,s=e.vScale,n=this.getParsed(t);return{label:i?""+i.getLabelForValue(n[i.axis]):"",value:s?""+s.getLabelForValue(n[s.axis]):""}}_update(t){const e=this._cachedMeta;this.update(t||"default"),e._clip=function(t){let e,i,s,n;return o(t)?(e=t.top,i=t.right,s=t.bottom,n=t.left):e=i=s=n=t,{top:e,right:i,bottom:s,left:n,disabled:!1===t}}(l(this.options.clip,function(t,e,i){if(!1===i)return!1;const s=Ls(t,i),n=Ls(e,i);return{top:n.end,right:s.end,bottom:n.start,left:s.start}}(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,s=i.data||[],n=e.chartArea,o=[],a=this._drawStart||0,r=this._drawCount||s.length-a,l=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(t,n,a,r),h=a;h<a+r;++h){const e=s[h];e.hidden||(e.active&&l?o.push(e):e.draw(t,n))}for(h=0;h<o.length;++h)o[h].draw(t,n)}getStyle(t,e){const i=e?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const s=this.getDataset();let n;if(t>=0&&t<this._cachedMeta.data.length){const e=this._cachedMeta.data[t];n=e.$context||(e.$context=function(t,e,i){return Ci(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:i,index:e,mode:"default",type:"data"})}(this.getContext(),t,e)),n.parsed=this.getParsed(t),n.raw=s.data[t],n.index=n.dataIndex=t}else n=this.$context||(this.$context=function(t,e){return Ci(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),n.dataset=s,n.index=n.datasetIndex=this.index;return n.active=!!e,n.mode=i,n}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const s="active"===e,n=this._cachedDataOpts,o=t+"-"+e,a=n[o],r=this.enableOptionSharing&&k(i);if(a)return Hs(a,r);const l=this.chart.config,h=l.datasetElementScopeKeys(this._type,t),c=s?[`${t}Hover`,"hover",t,""]:[t,""],d=l.getOptionScopes(this.getDataset(),h),u=Object.keys(ue.elements[t]),f=l.resolveNamedOptions(d,u,(()=>this.getContext(i,s,e)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Hs(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new Ts(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Ns(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){Ns(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!Ns(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n<s&&this._removeElements(n,s-n)}_insertElements(t,e,i=!0){const s=this._cachedMeta,n=s.data,o=t+e;let a;const r=t=>{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a<o;++a)n[a]=new this.dataElementType;this._parsing&&r(s._parsed),this.parse(t,e),i&&this.updateElements(n,t,e,"reset")}updateElements(t,e,i,s){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const s=i._parsed.splice(t,e);i._stacked&&Ws(i,s)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,s]=t;this[e](i,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}class $s{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return N(this.x)&&N(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const s={};return t.forEach((t=>{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function Ys(t,e){const i=t.options.ticks,n=function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),o=Math.min(i.maxTicksLimit||n,n),a=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;i<s;i++)t[i].major&&e.push(i);return e}(e):[],r=a.length,l=a[0],h=a[r-1],c=[];if(r>o)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;n<t.length;n++)n===a&&(e.push(t[n]),o++,a=i[o*s])}(e,c,a,r/o),c;const d=function(t,e,i){const s=function(t){const e=t.length;let i,s;if(e<2)return!1;for(s=t[0],i=1;i<e;++i)if(t[i]-t[i-1]!==s)return!1;return s}(t),n=e.length/i;if(!s)return Math.max(n,1);const o=W(s);for(let t=0,e=o.length-1;t<e;t++){const e=o[t];if(e>n)return e}return Math.max(n,1)}(a,e,o);if(r>0){let t,i;const n=r>1?Math.round((h-l)/(r-1)):null;for(Us(e,c,d,s(n)?0:l-n,l),t=0,i=r-1;t<i;t++)Us(e,c,d,a[t],a[t+1]);return Us(e,c,d,h,s(n)?e.length:h+n),c}return Us(e,c,d),c}function Us(t,e,i,s,n){const o=l(s,0),a=Math.min(l(n,t.length),t.length);let r,h,c,d=0;for(i=Math.ceil(i),n&&(r=n-s,i=r/Math.floor(r/i)),c=o;c<0;)d++,c=Math.round(o+d*i);for(h=Math.max(o,0);h<a;h++)h===c&&(e.push(t[h]),d++,c=Math.round(o+d*i))}const Xs=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i,qs=(t,e)=>Math.min(e||t,t);function Ks(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;o<n;o+=s)i.push(t[Math.floor(o)]);return i}function Gs(t,e,i){const s=t.ticks.length,n=Math.min(e,s-1),o=t._startPixel,a=t._endPixel,r=1e-6;let l,h=t.getPixelForTick(n);if(!(i&&(l=1===s?Math.max(h-o,a-h):0===e?(t.getPixelForTick(1)-h)/2:(h-t.getPixelForTick(n-1))/2,h+=n<e?l:-l,h<o-r||h>a+r)))return h}function Js(t){return t.drawTicks?t.tickLength:0}function Zs(t,e){if(!t.display)return 0;const i=Si(t.font,e),s=ki(t.padding);return(n(t.text)?t.text.length:1)*i.lineHeight+s.height}function Qs(t,e,i){let s=ut(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class tn extends $s{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=r(t,Number.POSITIVE_INFINITY),e=r(e,Number.NEGATIVE_INFINITY),i=r(i,Number.POSITIVE_INFINITY),s=r(s,Number.NEGATIVE_INFINITY),{min:r(t,i),max:r(e,s),minDefined:a(t),maxDefined:a(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;r<l;++r)e=a[r].controller.getMinMax(this,t),n||(i=Math.min(i,e.min)),o||(s=Math.max(s,e.max));return i=o&&i>s?s:i,s=n&&i>s?i:s,{min:r(i,r(s,i)),max:r(s,r(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){d(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Di(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a<this.ticks.length;this._convertTicksToLabels(r?Ks(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=Ys(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),r&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,e,i=this.options.reverse;this.isHorizontal()?(t=this.left,e=this.right):(t=this.top,e=this.bottom,i=!i),this._startPixel=t,this._endPixel=e,this._reversePixels=i,this._length=e-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){d(this.options.afterUpdate,[this])}beforeSetDimensions(){d(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){d(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),d(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){d(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,s,n;for(i=0,s=t.length;i<s;i++)n=t[i],n.label=d(e.callback,[n.value,i,t],this)}afterTickToLabelConversion(){d(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){d(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=qs(this.ticks.length,t.ticks.maxTicksLimit),s=e.minRotation||0,n=e.maxRotation;let o,a,r,l=s;if(!this._isVisible()||!e.display||s>=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=Z(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Js(t.grid)-e.padding-Zs(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=Y(Math.min(Math.asin(Z((h.highest.height+6)/o,-1,1)),Math.asin(Z(a/r,-1,1))-Math.asin(Z(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){d(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){d(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Zs(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Js(n)+o):(t.height=this.maxHeight,t.width=Js(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=$(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){d(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e<i;e++)s(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=Ks(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,e,i){const{ctx:o,_longestTextCache:a}=this,r=[],l=[],h=Math.floor(e/qs(e,i));let c,d,f,g,p,m,x,b,_,y,v,M=0,w=0;for(c=0;c<e;c+=h){if(g=t[c].label,p=this._resolveTickFontOptions(c),o.font=m=p.string,x=a[m]=a[m]||{data:{},gc:[]},b=p.lineHeight,_=y=0,s(g)||n(g)){if(n(g))for(d=0,f=g.length;d<f;++d)v=g[d],s(v)||n(v)||(_=Ce(o,x.data,x.gc,_,v),y+=b)}else _=Ce(o,x.data,x.gc,_,g),y=b;r.push(_),l.push(y),M=Math.max(_,M),w=Math.max(y,w)}!function(t,e){u(t,(t=>{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n<s;++n)delete t.data[i[n]];i.splice(0,s)}}))}(a,e);const k=r.indexOf(M),S=l.indexOf(w),P=t=>({width:r[t]||0,height:l[t]||0});return{first:P(0),last:P(e-1),widest:P(k),highest:P(S),widths:r,heights:l}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return Q(this._alignToPixels?Ae(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=function(t,e,i){return Ci(t,{tick:i,index:e,type:"tick"})}(this.getContext(),t,i))}return this.$context||(this.$context=Ci(this.chart.getContext(),{scale:this,type:"scale"}))}_tickSize(){const t=this.options.ticks,e=$(this.labelRotation),i=Math.abs(Math.cos(e)),s=Math.abs(Math.sin(e)),n=this._getLabelSizes(),o=t.autoSkipPadding||0,a=n?n.widest.width+o:0,r=n?n.highest.height+o:0;return this.isHorizontal()?r*i>a*s?a/i:r/s:r*s<a*i?r/i:a/s}_isVisible(){const t=this.options.display;return"auto"!==t?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:a,border:r}=s,h=n.offset,c=this.isHorizontal(),d=this.ticks.length+(h?1:0),u=Js(n),f=[],g=r.setContext(this.getContext()),p=g.display?g.width:0,m=p/2,x=function(t){return Ae(i,t,p)};let b,_,y,v,M,w,k,S,P,D,C,O;if("top"===a)b=x(this.bottom),w=this.bottom-u,S=b-m,D=x(t.top)+m,O=t.bottom;else if("bottom"===a)b=x(this.top),D=t.top,O=x(t.bottom)-m,w=b+m,S=this.top+u;else if("left"===a)b=x(this.right),M=this.right-u,k=b-m,P=x(t.left)+m,C=t.right;else if("right"===a)b=x(this.left),P=t.left,C=x(t.right)-m,M=b+m,k=this.left+u;else if("x"===e){if("center"===a)b=x((t.top+t.bottom)/2+.5);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}D=t.top,O=t.bottom,w=b+m,S=w+u}else if("y"===e){if("center"===a)b=x((t.left+t.right)/2);else if(o(a)){const t=Object.keys(a)[0],e=a[t];b=x(this.chart.scales[t].getPixelForValue(e))}M=b-m,k=M-u,P=t.left,C=t.right}const A=l(s.ticks.maxTicksLimit,d),T=Math.max(1,Math.ceil(d/A));for(_=0;_<d;_+=T){const t=this.getContext(_),e=n.setContext(t),s=r.setContext(t),o=e.lineWidth,a=e.color,l=s.dash||[],d=s.dashOffset,u=e.tickWidth,g=e.tickColor,p=e.tickBorderDash||[],m=e.tickBorderDashOffset;y=Gs(this,_,h),void 0!==y&&(v=Ae(i,y,o),c?M=k=P=C=v:w=S=D=O=v,f.push({tx1:M,ty1:w,tx2:k,ty2:S,x1:P,y1:D,x2:C,y2:O,width:o,color:a,borderDash:l,borderDashOffset:d,tickWidth:u,tickColor:g,tickBorderDash:p,tickBorderDashOffset:m}))}return this._ticksLength=d,this._borderValue=b,f}_computeLabelItems(t){const e=this.axis,i=this.options,{position:s,ticks:a}=i,r=this.isHorizontal(),l=this.ticks,{align:h,crossAlign:c,padding:d,mirror:u}=a,f=Js(i.grid),g=f+d,p=u?-d:g,m=-$(this.labelRotation),x=[];let b,_,y,v,M,w,k,S,P,D,C,O,A="middle";if("top"===s)w=this.bottom-p,k=this._getXAxisLabelAlignment();else if("bottom"===s)w=this.top+p,k=this._getXAxisLabelAlignment();else if("left"===s){const t=this._getYAxisLabelAlignment(f);k=t.textAlign,M=t.x}else if("right"===s){const t=this._getYAxisLabelAlignment(f);k=t.textAlign,M=t.x}else if("x"===e){if("center"===s)w=(t.top+t.bottom)/2+g;else if(o(s)){const t=Object.keys(s)[0],e=s[t];w=this.chart.scales[t].getPixelForValue(e)+g}k=this._getXAxisLabelAlignment()}else if("y"===e){if("center"===s)M=(t.left+t.right)/2-g;else if(o(s)){const t=Object.keys(s)[0],e=s[t];M=this.chart.scales[t].getPixelForValue(e)}k=this._getYAxisLabelAlignment(f).textAlign}"y"===e&&("start"===h?A="top":"end"===h&&(A="bottom"));const T=this._getLabelSizes();for(b=0,_=l.length;b<_;++b){y=l[b],v=y.label;const t=a.setContext(this.getContext(b));S=this.getPixelForTick(b)+a.labelOffset,P=this._resolveTickFontOptions(b),D=P.lineHeight,C=n(v)?v.length:1;const e=C/2,i=t.color,o=t.textStrokeColor,h=t.textStrokeWidth;let d,f=k;if(r?(M=S,"inner"===k&&(f=b===_-1?this.options.reverse?"left":"right":0===b?this.options.reverse?"right":"left":"center"),O="top"===s?"near"===c||0!==m?-C*D+D/2:"center"===c?-T.highest.height/2-e*D+D:-T.highest.height+D/2:"near"===c||0!==m?D/2:"center"===c?T.highest.height/2-e*D:T.highest.height-C*D,u&&(O*=-1),0===m||t.showLabelBackdrop||(M+=D/2*Math.sin(m))):(w=S,O=(1-C)*D/2),t.showLabelBackdrop){const e=ki(t.backdropPadding),i=T.heights[b],s=T.widths[b];let n=O-e.top,o=0-e.left;switch(A){case"middle":n-=i/2;break;case"bottom":n-=i}switch(k){case"center":o-=s/2;break;case"right":o-=s;break;case"inner":b===_-1?o-=s:b>0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}x.push({label:v,font:P,textOffset:O,options:{rotation:m,color:i,strokeColor:o,strokeWidth:h,textAlign:f,textBaseline:A,translation:[M,w],backdrop:d}})}return x}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-$(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n<o;++n){const t=s[n];e.drawOnChartArea&&a({x:t.x1,y:t.y1},{x:t.x2,y:t.y2},t),e.drawTicks&&a({x:t.tx1,y:t.ty1},{x:t.tx2,y:t.ty2},{color:t.tickColor,width:t.tickWidth,borderDash:t.tickBorderDash,borderDashOffset:t.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{border:i,grid:s}}=this,n=i.setContext(this.getContext()),o=i.display?n.width:0;if(!o)return;const a=s.setContext(this.getContext(0)).lineWidth,r=this._borderValue;let l,h,c,d;this.isHorizontal()?(l=Ae(t,this.left,o)-o/2,h=Ae(t,this.right,a)+a/2,c=d=r):(c=Ae(t,this.top,o)-o/2,d=Ae(t,this.bottom,a)+a/2,l=h=r),e.save(),e.lineWidth=n.width,e.strokeStyle=n.color,e.beginPath(),e.moveTo(l,c),e.lineTo(h,d),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const e=this.ctx,i=this._computeLabelArea();i&&Ie(e,i);const s=this.getLabelItems(t);for(const t of s){const i=t.options,s=t.font;Ne(e,t.label,0,t.textOffset,s,i)}i&&ze(e)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:s}}=this;if(!i.display)return;const a=Si(i.font),r=ki(i.padding),l=i.align;let h=a.lineHeight/2;"bottom"===e||"center"===e||o(e)?(h+=r.bottom,n(i.text)&&(h+=a.lineHeight*(i.text.length-1))):h+=r.top;const{titleX:c,titleY:d,maxWidth:u,rotation:f}=function(t,e,i,s){const{top:n,left:a,bottom:r,right:l,chart:h}=t,{chartArea:c,scales:d}=h;let u,f,g,p=0;const m=r-n,x=l-a;if(t.isHorizontal()){if(f=ft(s,a,l),o(i)){const t=Object.keys(i)[0],s=i[t];g=d[t].getPixelForValue(s)+m-e}else g="center"===i?(c.bottom+c.top)/2+m-e:Xs(t,i,e);u=l-a}else{if(o(i)){const t=Object.keys(i)[0],s=i[t];f=d[t].getPixelForValue(s)-x+e}else f="center"===i?(c.left+c.right)/2-x+e:Xs(t,i,e);g=ft(s,r,n),p="left"===i?-E:E}return{titleX:f,titleY:g,maxWidth:u,rotation:p}}(this,h,e,l);Ne(t,i.text,0,0,a,{color:i.color,maxWidth:u,rotation:f,textAlign:Qs(l,e,s),textBaseline:"middle",translation:[c,d]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=l(t.grid&&t.grid.z,-1),s=l(t.border&&t.border.z,0);return this._isVisible()&&this.draw===tn.prototype.draw?[{z:i,draw:t=>{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n<o;++n){const o=e[n];o[i]!==this.id||t&&o.type!==t||s.push(o)}return s}_resolveTickFontOptions(t){return Si(this.options.ticks.setContext(this.getContext(t)).font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class en{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;(function(t){return"id"in t&&"defaults"in t})(e)&&(i=this.register(e));const s=this.items,n=t.id,o=this.scope+"."+n;if(!n)throw new Error("class does not have id: "+t);return n in s||(s[n]=t,function(t,e,i){const s=x(Object.create(null),[i?ue.get(i):{},ue.get(e),t.defaults]);ue.set(e,s),t.defaultRoutes&&function(t,e){Object.keys(e).forEach((i=>{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");ue.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&ue.describe(e,t.descriptors)}(t,o,i),this.override&&ue.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in ue[s]&&(delete ue[s][i],this.override&&delete re[i])}}class sn{constructor(){this.controllers=new en(js,"datasets",!0),this.elements=new en($s,"elements"),this.plugins=new en(Object,"plugins"),this.scales=new en(tn,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):u(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=w(t);d(i["before"+s],[],i),e[t](i),d(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const s=e.get(t);if(void 0===s)throw new Error('"'+t+'" is not a registered '+i+".");return s}}var nn=new sn;class on{constructor(){this._init=
vendor: 3,433 bytes, line 46441
46441[]}notify(t,e,i,s){"beforeInit"===e&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const n=s?this._descriptors(t).filter(s):this._descriptors(t),o=this._notify(n,t,e,i);return"afterDestroy"===e&&(this._notify(n,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,e,i,s){s=s||{};for(const n of t){const t=n.plugin;if(!1===d(t[i],[e,s,n.options],t)&&s.cancelable)return!1}return!0}invalidate(){s(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,s=l(i.options&&i.options.plugins,{}),n=function(t){const e={},i=[],s=Object.keys(nn.plugins.items);for(let t=0;t<s.length;t++)i.push(nn.getPlugin(s[t]));const n=t.plugins||[];for(let t=0;t<n.length;t++){const s=n[t];-1===i.indexOf(s)&&(i.push(s),e[s.id]=!0)}return{plugins:i,localIds:e}}(i);return!1!==s||e?function(t,{plugins:e,localIds:i},s,n){const o=[],a=t.getContext();for(const r of e){const e=r.id,l=an(s[e],n);null!==l&&o.push({plugin:r,options:rn(t.config,{plugin:r,local:i[e]},l,a)})}return o}(t,n,s,e):[]}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,s=(t,e)=>t.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function an(t,e){return e||!1!==t?!0===t?{}:t:null}function rn(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function ln(t,e){const i=ue.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function hn(t){if("x"===t||"y"===t||"r"===t)return t}function cn(t,...e){if(hn(t))return t;for(const s of e){const e=s.axis||("top"===(i=s.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.length>1&&hn(t[0].toLowerCase());if(e)return e}var i;throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function dn(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function un(t,e){const i=re[t.type]||{scales:{}},s=e.scales||{},n=ln(t.type,e),a=Object.create(null);return Object.keys(s).forEach((e=>{const r=s[e];if(!o(r))return console.error(`Invalid scale configuration for scale: ${e}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const l=cn(e,r,function(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return dn(t,"x",i[0])||dn(t,"y",i[0])}return{}}(e,t),ue.scales[r.type]),h=function(t,e){return t===e?"_index_":"_value_"}(l,n),c=i.scales||{};a[e]=b(Object.create(null),[{axis:l},r,c[l],c[h]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,o=i.indexAxis||ln(n,e),r=(re[n]||{}).scales||{};Object.keys(r).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,o),n=i[e+"AxisID"]||e;a[n]=a[n]||Object.create(null),b(a[n],[{axis:e},s[n],r[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];b(e,[ue.scales[e.type],ue.scale])})),a}function fn(t){const e=t.options||(t.options={});e.plugins=l(e.plugins,{}),e.scales=un(t,e)}function gn(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const pn=new Map,mn=new Set;function xn(t,e){let i=pn.get(t);
vendor: 3,327 bytes, line 46441
46441return i||(i=e(),pn.set(t,i),mn.add(i)),i}const bn=(t,e,i)=>{const s=M(e,i);void 0!==s&&t.add(s)};class _n{constructor(t){this._config=function(t){return(t=t||{}).data=gn(t.data),fn(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=gn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),fn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return xn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return xn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return xn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>bn(r,t,e)))),e.forEach((t=>bn(r,s,t))),e.forEach((t=>bn(r,re[n]||{},t))),e.forEach((t=>bn(r,ue,t))),e.forEach((t=>bn(r,le,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),mn.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,re[e]||{},ue.datasets[e]||{},{type:e},ue,le]}resolveNamedOptions(t,e,i,s=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=yn(this._resolverCache,t,s);let l=a;if(function(t,e){const{isScriptable:i,isIndexable:s}=Ye(t);for(const o of e){const e=i(o),a=s(o),r=(a||e)&&t[o];if(e&&(S(r)||vn(r))||a&&n(r))return!0}return!1}(a,e)){o.$shared=!1;l=$e(a,i=S(i)?i():i,this.createResolver(t,i,r))}for(const t of e)o[t]=l[t];return o}createResolver(t,e,i=[""],s){const{resolver:n}=yn(this._resolverCache,t,i);return o(e)?$e(n,e,void 0,s):n}}function yn(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:je(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const vn=t=>o(t)&&Object.getOwnPropertyNames(t).some((e=>S(t[e])));const Mn=["top","bottom","left","right","chartArea"];function wn(t,e){return"top"===t||"bottom"===t||-1===Mn.indexOf(t)&&"x"===e}function kn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function Sn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),d(i&&i.onComplete,[t],e)}function Pn(t){const e=t.chart,i=e.options.animation;d(i&&i.onProgress,[t],e)}function Dn(t){return fe()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const Cn={},On=t=>{const e=Dn(t);return Object.values(Cn).filter((t=>t.canvas===e)).pop()};function An(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}class Tn{static defaults=ue;static instances=Cn;static overrides=re;static registry=nn;static version="4.5.0
vendor: 16,156 bytes, line 46441
46441";static getChart=On;static register(...t){nn.add(...t),Ln()}static unregister(...t){nn.remove(...t),Ln()}constructor(t,e){const s=this.config=new _n(e),n=Dn(t),o=On(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ps(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,h=l&&l.height,c=l&&l.width;this.id=i(),this.ctx=r,this.canvas=l,this.width=c,this.height=h,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new on,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=dt((t=>this.update(t)),a.resizeDelay||0),this._dataChanges=[],Cn[this.id]=this,r&&l?(bt.listen(this,"complete",Sn),bt.listen(this,"progress",Pn),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:n,_aspectRatio:o}=this;return s(t)?e&&o?o:n?i/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return nn}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ke(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Te(this.canvas,this.ctx),this}stop(){return bt.stop(this),this}resize(t,e){bt.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,ke(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),d(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){u(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=cn(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),u(n,(e=>{const n=e.options,o=n.id,a=cn(o,n),r=l(n.type,e.dtype);void 0!==n.position&&wn(n.position,a)===wn(e.dposition)||(n.position=e.dposition),s[o]=!0;let h=null;if(o in i&&i[o].type===r)h=i[o];else{h=new(nn.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[h.id]=h}h.init(n,t)})),u(s,((t,e)=>{t||delete i[e]})),u(i,(t=>{ls.configure(this,t,t.options),ls.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;t<i;++t)this._destroyDatasetMeta(t);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(kn("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i<s;i++){const s=e[i];let n=this.getDatasetMeta(i);const o=s.type||this.config.type;if(n.type&&n.type!==o&&(this._destroyDatasetMeta(i),n=this.getDatasetMeta(i)),n.type=o,n.indexAxis=s.indexAxis||ln(o,this.options),n.order=s.order||0,n.index=i,n.label=""+s.label,n.visible=this.isDatasetVisible(i),n.controller)n.controller.updateIndex(i),n.controller.linkScales();else{const e=nn.getController(o),{datasetElementType:s,dataElementType:a}=ue.datasets[o];Object.assign(e,{dataElementType:nn.getElement(a),datasetElementType:s&&nn.getElement(s)}),n.controller=new e(this,i),t.push(n.controller)}}return this._updateMetasets(),t}_resetElements(){u(this.data.datasets,((t,e)=>{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t<e;t++){const{controller:e}=this.getDatasetMeta(t),i=!s&&-1===n.indexOf(e);e.buildOrUpdateElements(i),o=Math.max(+e.getMaxOverflow(),o)}o=this._minPadding=i.layout.autoPadding?o:0,this._updateLayout(o),s||u(n,(t=>{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(kn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){u(this.scales,(t=>{ls.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);P(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){An(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;t<e;t++)if(!P(s,i(t)))return;return Array.from(s).map((t=>t.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ls.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],u(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t<e;++t)this.getDatasetMeta(t).controller.configure();for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,S(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),s={meta:i,index:t,mode:e,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",s)&&(i.controller._update(e),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(bt.has(this)?this.attached&&!bt.running(this)&&bt.start(this):(this.draw(),Sn({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:t,height:e}=this._resizeBeforeDraw;this._resizeBeforeDraw=null,this._resize(t,e)}if(this.clear(),this.width<=0||this.height<=0)return;if(!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let s,n;for(s=0,n=e.length;s<n;++s){const n=e[s];t&&!n.visible||i.push(n)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i={meta:t,index:t.index,cancelable:!0},s=Ni(this,t);!1!==this.notifyPlugins("beforeDatasetDraw",i)&&(s&&Ie(e,s),t.controller.draw(),s&&ze(e),i.cancelable=!1,this.notifyPlugins("afterDatasetDraw",i))}isPointInArea(t){return Re(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Ki.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Ci(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);k(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),bt.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),Te(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),delete Cn[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};u(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){u(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},u(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a<r;++a){o=t[a];const e=o&&this.getDatasetMeta(o.datasetIndex).controller;e&&e[s+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map((({datasetIndex:t,index:e})=>{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!f(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=D(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,d(n.onHover,[t,a,this],this),r&&d(n.onClick,[t,a,this],this));const h=!f(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function Ln(){return u(Tn.instances,(t=>t._plugins.invalidate()))}function En(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Rn{static override(t){Object.assign(Rn.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return En()}parse(){return En()}format(){return En()}add(){return En()}diff(){return En()}startOf(){return En()}endOf(){return En()}}var In={_date:Rn};function zn(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;e<n;e++)s=s.concat(i[e].controller.getAllParsedValues(t));t._cache.$bar=lt(s.sort(((t,e)=>t-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(k(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;s<n;++s)o=e.getPixelForValue(i[s]),l();for(a=void 0,s=0,n=e.ticks.length;s<n;++s)o=e.getPixelForTick(s),l();return r}function Fn(t,e,i,s){return n(t)?function(t,e,i,s){const n=i.parse(t[0],s),o=i.parse(t[1],s),a=Math.min(n,o),r=Math.max(n,o);let l=a,h=r;Math.abs(a)>Math.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function Vn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;h<c;++h)u=e[h],d={},d[n.axis]=r||n.parse(a[h],h),l.push(Fn(u,d,o,h));return l}function Bn(t){return t&&void 0!==t.barStart&&void 0!==t.barEnd}function Wn(t,e,i,s){let n=e.borderSkipped;const o={};if(!n)return void(t.borderSkipped=o);if(!0===n)return void(t.borderSkipped={top:!0,right:!0,bottom:!0,left:!0});const{start:a,end:r,reverse:l,top:h,bottom:c}=function(t){let e,i,s,n,o;return t.horizontal?(e=t.base>t.x,i="left",s="right"):(e=t.base<t.y,i="bottom",s="top"),e?(n="end",o="start"):(n="start",o="end"),{start:i,end:s,reverse:e,top:n,bottom:o}}(t);"middle"===n&&i&&(t.enableBorderRadius=!0,(i._top||0)===s?n=h:(i._bottom||0)===s?n=c:(o[Nn(c,a,r,l)]=!0,n=h)),o[Nn(n,a,r,l)]=!0,t.borderSkipped=o}function Nn(t,e,i,s){var n,o,a;return s?(a=i,t=Hn(t=(n=t)===(o=e)?a:n===a?o:n,i,e)):t=Hn(t,e,i),t}function Hn(t,e,i){return"start"===t?e:"end"===t?i:t}function jn(t,{inflateAmount:e},i){t.inflateAmount="auto"===e?1===i?.33:0:e}class $n extends js{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:t=>"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data
46441;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return
vendor: 92,861 bytes, lines 46441-46442
46441[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,a,r=t=>+i[t];if(o(i[t])){const{key:t="value"}=this._parsing;r=e=>+M(i[e],t)}for(n=t,a=t+e;n<a;++n)s._parsed[n]=r(n)}}_getRotation(){return $(this.options.rotation-90)}_getCircumference(){return $(this.options.circumference)}_getRotationExtents(){let t=O,e=-O;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){const s=this.chart.getDatasetMeta(i).controller,n=s._getRotation(),o=s._getCircumference();t=Math.min(t,n),e=Math.max(e,n+o)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,s=this._cachedMeta,n=s.data,o=this.getMaxBorderWidth()+this.getMaxOffset(n)+this.options.spacing,a=Math.max((Math.min(i.width,i.height)-o)/2,0),r=Math.min(h(this.options.cutout,a),1),l=this._getRingWeight(this.index),{circumference:d,rotation:u}=this._getRotationExtents(),{ratioX:f,ratioY:g,offsetX:p,offsetY:m}=function(t,e,i){let s=1,n=1,o=0,a=0;if(e<O){const r=t,l=r+e,h=Math.cos(r),c=Math.sin(r),d=Math.cos(l),u=Math.sin(l),f=(t,e,s)=>J(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>J(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(E,c,u),x=g(C,h,d),b=g(C+E,c,u);s=(p-x)/2,n=(m-b)/2,o=-(p+x)/2,a=-(m+b)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),x=(i.width-o)/f,b=(i.height-o)/g,_=Math.max(Math.min(x,b)/2,0),y=c(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/O)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p<e;++p)m+=this._circumference(p,n);for(p=e;p<e+i;++p){const e=this._circumference(p,n),i=t[p],o={x:l+this.offsetX,y:h+this.offsetY,startAngle:m,endAngle:m+e,circumference:e,outerRadius:u,innerRadius:d};g&&(o.options=f||this.resolveDataElementOptions(p,i.active?"active":s)),m+=e,this.updateElement(i,p,o,s)}}calculateTotal(){const t=this._cachedMeta,e=t.data;let i,s=0;for(i=0;i<e.length;i++){const n=t._parsed[i];null===n||isNaN(n)||!this.chart.getDataVisibility(i)||e[i].hidden||(s+=Math.abs(n))}return s}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?O*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s<n;++s)if(i.isDatasetVisible(s)){o=i.getDatasetMeta(s),t=o.data,a=o.controller;break}if(!t)return 0;for(s=0,n=t.length;s<n;++s)r=a.resolveDataElementOptions(s),"inner"!==r.borderAlign&&(e=Math.max(e,r.borderWidth||0,r.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,s=t.length;i<s;++i){const t=this.resolveDataElementOptions(i);e=Math.max(e,t.offset||0,t.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(l(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}class Yn extends js{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=ne(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(s<e.min&&(e.min=s),s>e.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*C;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d<e;++d)u+=this._computeAngle(d,s,f);for(d=e;d<e+i;d++){const e=t[d];let i=u,g=u+this._computeAngle(d,s,f),p=o.getDataVisibility(d)?r.getDistanceFromCenterForValue(this.getParsed(d).r):0;u=g,n&&(a.animateScale&&(p=0),a.animateRotate&&(i=g=c));const m={x:l,y:h,innerRadius:0,outerRadius:p,startAngle:i,endAngle:g,options:this.resolveDataElementOptions(d,e.active?"active":s)};this.updateElement(e,d,m,s)}}countVisibleElements(){const t=this._cachedMeta;let e=0;return t.data.forEach(((t,i)=>{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?$(this.resolveDataElementOptions(t,e).angle||i):0}}var Un=Object.freeze({__proto__:null,BarController:class extends js{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,s){return Vn(t,e,i,s)}parseArrayData(t,e,i,s){return Vn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;d<u;++d)g=e[d],f={},f[n.axis]=n.parse(M(g,l),d),c.push(Fn(M(g,h),f,o,d));return c}updateRangeFromParsed(t,e,i,s){super.updateRangeFromParsed(t,e,i,s);const n=i._custom;n&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,n.min),t.max=Math.max(t.max,n.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:s}=e,n=this.getParsed(t),o=n._custom,a=Bn(o)?"["+o.start+", "+o.end+"]":""+s.getLabelForValue(n[s.axis]);return{label:""+i.getLabelForValue(n[i.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();this._cachedMeta.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,n){const o="reset"===n,{index:a,_cachedMeta:{vScale:r}}=this,l=r.getBasePixel(),h=r.isHorizontal(),c=this._getRuler(),{sharedOptions:d,includeOptions:u}=this._getSharedOptions(e,n);for(let f=e;f<e+i;f++){const e=this.getParsed(f),i=o||s(e[r.axis])?{base:l,head:l}:this._calculateBarValuePixels(f),g=this._calculateBarIndexPixels(f,c),p=(e._stacks||{})[r.axis],m={horizontal:h,base:i.base,enableBorderRadius:!p||Bn(e._custom)||a===p._top||a===p._bottom,x:h?i.head:g.center,y:h?g.center:i.head,height:h?g.size:Math.abs(i.size),width:h?Math.abs(i.size):g.size};u&&(m.options=d||this.resolveDataElementOptions(f,t[f].active?"active":n));const x=m.options||t[f].options;Wn(m,x,p,a),jn(m,x,c.ratio),this.updateElement(t[f],f,m,n)}}_getStacks(t,e){const{iScale:i}=this._cachedMeta,n=i.getMatchingVisibleMetas(this._type).filter((t=>t.controller.options.grouped)),o=i.options.stacked,a=[],r=this._cachedMeta.controller.getParsed(e),l=r&&r[i.axis],h=t=>{const e=t._parsed.find((t=>t[i.axis]===l)),n=e&&e[t.vScale.axis];if(s(n)||isNaN(n))return!0};for(const i of n)if((void 0===e||!h(i))&&((!1===o||-1===a.indexOf(i.stack)||void 0===o&&void 0===i.stack)&&a.push(i.stack),i.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getAxisCount(){return this._getAxis().length}getFirstScaleIdForIndexAxis(){const t=this.chart.scales,e=this.chart.options.indexAxis;return Object.keys(t).filter((i=>t[i].axis===e)).shift()}_getAxis(){const t={},e=this.getFirstScaleIdForIndexAxis();for(const i of this.chart.data.datasets)t[l("x"===this.chart.options.indexAxis?i.xAxisID:i.yAxisID,e)]=!0;return Object.keys(t)}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n<o;++n)s.push(i.getPixelForValue(this.getParsed(n)[i.axis],n));const a=t.barThickness;return{min:a||zn(e),pixels:s,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i,index:n},options:{base:o,minBarLength:a}}=this,r=o||0,l=this.getParsed(t),h=l._custom,c=Bn(h);let d,u,f=l[e.axis],g=0,p=i?this.applyStack(e,l,i):f;p!==f&&(g=p-f,p=f),c&&(f=h.barStart,p=h.barEnd-h.barStart,0!==f&&F(f)!==F(h.barEnd)&&(g=0),g+=f);const m=s(o)||c?g:o;let x=e.getPixelForValue(m);if(d=this.chart.getDataVisibility(t)?e.getPixelForValue(g+p):x,u=d-x,Math.abs(u)<a){u=function(t,e,i){return 0!==t?F(t):(e.isHorizontal()?1:-1)*(e.min>=i?1:-1)}(u,e,r)*a,f===r&&(x-=u/2);const t=e.getPixelForDecimal(0),s=e.getPixelForDecimal(1),o=Math.min(t,s),h=Math.max(t,s);x=Math.max(Math.min(x,h),o),d=x+u,i&&!c&&(l._stacks[e.axis]._visualValues[n]=e.getValueForPixel(d)-e.getValueForPixel(x))}if(x===e.getPixelForValue(r)){const t=F(u)*e.getLineWidthForValue(r)/2;x+=t,u-=t}return{size:u,base:x,head:d,center:d+u/2}}_calculateBarIndexPixels(t,e){const i=e.scale,n=this.options,o=n.skipNull,a=l(n.maxBarThickness,1/0);let r,h;const c=this._getAxisCount();if(e.grouped){const i=o?this._getStackCount(t):e.stackCount,d="flex"===n.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t<n.length-1?n[t+1]:null;const l=i.categoryPercentage;null===a&&(a=o-(null===r?e.end-e.start:r-o)),null===r&&(r=o+o-a);const h=o-(o-Math.min(a,r))/2*l;return{chunk:Math.abs(r-a)/2*l/s,ratio:i.barPercentage,start:h}}(t,e,n,i*c):function(t,e,i,n){const o=i.barThickness;let a,r;return s(o)?(a=e.min*i.categoryPercentage,r=i.barPercentage):(a=o*n,r=1),{chunk:a/n,ratio:r,start:e.pixels[t]-a/2}}(t,e,n,i*c),u="x"===this.chart.options.indexAxis?this.getDataset().xAxisID:this.getDataset().yAxisID,f=this._getAxis().indexOf(l(u,this.getFirstScaleIdForIndexAxis())),g=this._getStackIndex(this.index,this._cachedMeta.stack,o?t:void 0)+f;r=d.start+d.chunk*g+d.chunk/2,h=Math.min(a,d.chunk*d.ratio)}else r=i.getPixelForValue(this.getParsed(t)[i.axis],t),h=Math.min(a,e.min*e.ratio);return{base:r-h/2,head:r+h/2,center:r,size:h}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,s=i.length;let n=0;for(;n<s;++n)null===this.getParsed(n)[e.axis]||i[n].hidden||i[n].draw(this._ctx)}},BubbleController:class extends js{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,s){const n=super.parsePrimitiveData(t,e,i,s);for(let t=0;t<n.length;t++)n[t]._custom=this.resolveDataElementOptions(t+i).radius;return n}parseArrayData(t,e,i,s){const n=super.parseArrayData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=l(s[2],this.resolveDataElementOptions(t+i).radius)}return n}parseObjectData(t,e,i,s){const n=super.parseObjectData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=l(s&&s.r&&+s.r,this.resolveDataElementOptions(t+i).radius)}return n}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d<e+i;d++){const e=t[d],i=!n&&this.getParsed(d),u={},f=u[h]=n?o.getPixelForDecimal(.5):o.getPixelForValue(i[h]),g=u[c]=n?a.getBasePixel():a.getPixelForValue(i[c]);u.skip=isNaN(f)||isNaN(g),l&&(u.options=r||this.resolveDataElementOptions(d,e.active?"active":s),n&&(u.options.radius=0)),this.updateElement(e,d,u,s)}}resolveDataElementOptions(t,e){const i=this.getParsed(t);let s=super.resolveDataElementOptions(t,e);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const n=s.radius;return"active"!==e&&(s.radius=0),s.radius+=l(i&&i._custom,n),s}},DoughnutController:$n,LineController:class extends js{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:s=[],_dataset:n}=e,o=this.chart._animationsDisabled;let{start:a,count:r}=pt(e,s,o);this._drawStart=a,this._drawCount=r,mt(e)&&(a=0,r=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=s;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:l},t),this.updateElements(s,a,r,t)}updateElements(t,e,i,n){const o="reset"===n,{iScale:a,vScale:r,_stacked:l,_dataset:h}=this._cachedMeta,{sharedOptions:c,includeOptions:d}=this._getSharedOptions(e,n),u=a.axis,f=r.axis,{spanGaps:g,segment:p}=this.options,m=N(g)?g:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||o||"none"===n,b=e+i,_=t.length;let y=e>0&&this.getParsed(e-1);for(let i=0;i<_;++i){const g=t[i],_=x?g:{};if(i<e||i>=b){_.skip=!0;continue}const v=this.getParsed(i),M=s(v[f]),w=_[u]=a.getPixelForValue(v[u],i),k=_[f]=o||M?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,v,l):v[f],i);_.skip=isNaN(w)||isNaN(k)||M,_.stop=i>0&&Math.abs(v[u]-y[u])>m,p&&(_.parsed=v,_.raw=h.data[i]),d&&(_.options=c||this.resolveDataElementOptions(i,g.active?"active":n)),x||this.updateElement(g,i,_,n),y=v}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}},PieController:class extends $n{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}},PolarAreaController:Yn,RadarController:class extends js{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return ii.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a<e+i;a++){const e=t[a],i=this.resolveDataElementOptions(a,e.active?"active":s),r=n.getPointPositionForValue(a,this.getParsed(a).r),l=o?n.xCenter:r.x,h=o?n.yCenter:r.y,c={x:l,y:h,angle:r.angle,skip:isNaN(l)||isNaN(h),options:i};this.updateElement(e,a,c,s)}}},ScatterController:class extends js{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y);return{label:i[t]||"",value:"("+a+", "+r+")"}}update(t){const e=this._cachedMeta,{data:i=[]}=e,s=this.chart._animationsDisabled;let{start:n,count:o}=pt(e,i,s);if(this._drawStart=n,this._drawCount=o,mt(e)&&(n=0,o=i.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:n,_dataset:o}=e;n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!o._decimated,n.points=i;const a=this.resolveDatasetElementOptions(t);a.segment=this.options.segment,this.updateElement(n,void 0,{animated:!s,options:a},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(i,n,o,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,i,n){const o="reset"===n,{iScale:a,vScale:r,_stacked:l,_dataset:h}=this._cachedMeta,c=this.resolveDataElementOptions(e,n),d=this.getSharedOptions(c),u=this.includeOptions(n,d),f=a.axis,g=r.axis,{spanGaps:p,segment:m}=this.options,x=N(p)?p:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||o||"none"===n;let _=e>0&&this.getParsed(e-1);for(let c=e;c<e+i;++c){const e=t[c],i=this.getParsed(c),p=b?e:{},y=s(i[g]),v=p[f]=a.getPixelForValue(i[f],c),M=p[g]=o||y?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,i,l):i[g],c);p.skip=isNaN(v)||isNaN(M)||y,p.stop=c>0&&Math.abs(i[f]-_[f])>x,m&&(p.parsed=i,p.raw=h.data[c]),u&&(p.options=d||this.resolveDataElementOptions(c,e.active?"active":n)),b||this.updateElement(e,c,p,n),_=i}this.updateSharedOptions(d,n,c)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}});function Xn(t,e,i,s){const n=vi(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return Z(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:Z(n.innerStart,0,a),innerEnd:Z(n.innerEnd,0,a)}}function qn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Kn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/C)/d)/2,m=l+p+f,x=n-p-f,{outerStart:b,outerEnd:_,innerStart:y,innerEnd:v}=Xn(e,u,d,x-m),M=d-b,w=d-_,k=m+b/M,S=x-_/w,P=u+y,D=u+v,O=m+y/P,A=x-v/D;if(t.beginPath(),o){const e=(k+S)/2;if(t.arc(a,r,d,k,e),t.arc(a,r,d,e,S),_>0){const e=qn(w,S,a,r);t.arc(e.x,e.y,_,S,x+E)}const i=qn(D,x,a,r);if(t.lineTo(i.x,i.y),v>0){const e=qn(D,A,a,r);t.arc(e.x,e.y,v,x+E,A+Math.PI)}const s=(x-v/u+(m+y/u))/2;if(t.arc(a,r,u,x-v/u,s,!0),t.arc(a,r,u,s,m+y/u,!0),y>0){const e=qn(P,O,a,r);t.arc(e.x,e.y,y,O+Math.PI,m-E)}const n=qn(M,m,a,r);if(t.lineTo(n.x,n.y),b>0){const e=qn(M,k,a,r);t.arc(e.x,e.y,b,m-E,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function Gn(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u,borderRadius:f}=l,g="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,g?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let p=e.endAngle;if(o){Kn(t,e,i,s,p,n);for(let e=0;e<o;++e)t.stroke();isNaN(r)||(p=a+(r%O||O))}g&&function(t,e,i){const{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=e;let h=n/r;t.beginPath(),t.arc(o,a,r,s-h,i+h),l>n?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+E,s-E),t.closePath(),t.clip()}(t,e,p),l.selfJoin&&p-a>=C&&0===f&&"miter"!==c&&function(t,e,i){const{startAngle:s,x:n,y:o,outerRadius:a,innerRadius:r,options:l}=e,{borderWidth:h,borderJoinStyle:c}=l,d=Math.min(h/a,G(s-i));if(t.beginPath(),t.arc(n,o,a-h/2,s+d/2,i-d/2),r>0){const e=Math.min(h/r,G(s-i));t.arc(n,o,r+h/2,i-e/2,s+e/2,!0)}else{const e=Math.min(h/2,a*G(s-i));if("round"===c)t.arc(n,o,e,i-C/2,s+C/2,!0);else if("bevel"===c){const a=2*e*e,r=-a*Math.cos(i+C/2)+n,l=-a*Math.sin(i+C/2)+o,h=a*Math.cos(s+C/2)+n,c=a*Math.sin(s+C/2)+o;t.lineTo(r,l),t.lineTo(h,c)}}t.closePath(),t.moveTo(0,0),t.rect(0,0,t.canvas.width,t.canvas.height),t.clip("evenodd")}(t,e,p),o||(Kn(t,e,i,s,p,n),t.stroke())}function Jn(t,e,i=e){t.lineCap=l(i.borderCapStyle,e.borderCapStyle),t.setLineDash(l(i.borderDash,e.borderDash)),t.lineDashOffset=l(i.borderDashOffset,e.borderDashOffset),t.lineJoin=l(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=l(i.borderWidth,e.borderWidth),t.strokeStyle=l(i.borderColor,e.borderColor)}function Zn(t,e,i){t.lineTo(i.x,i.y)}function Qn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=n<a&&o<a||n>r&&o>r;return{count:s,start:l,loop:e.loop,ilen:h<l&&!c?s+h-l:h-l}}function to(t,e,i,s){const{points:n,options:o}=e,{count:a,start:r,loop:l,ilen:h}=Qn(n,i,s),c=function(t){return t.stepped?Fe:t.tension||"monotone"===t.cubicInterpolationMode?Ve:Zn}(o);let d,u,f,{move:g=!0,reverse:p}=s||{};for(d=0;d<=h;++d)u=n[(r+(p?h-d:d))%a],u.skip||(g?(t.moveTo(u.x,u.y),g=!1):c(t,f,u,p,o.stepped),f=u);return l&&(u=n[(r+(p?h:0))%a],c(t,f,u,p,o.stepped)),!!l}function eo(t,e,i,s){const n=e.points,{count:o,start:a,ilen:r}=Qn(n,i,s),{move:l=!0,reverse:h}=s||{};let c,d,u,f,g,p,m=0,x=0;const b=t=>(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[b(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[b(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(i<f?f=i:i>g&&(g=i),m=(x*m+e)/++x):(_(),t.lineTo(e,i),u=s,x=0,f=g=i),p=i}_()}function io(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?eo:to}const so="function"==typeof Path2D;function no(t,e,i,s){so&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Jn(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=io(e);for(const r of n)Jn(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class oo extends $s{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;hi(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=zi(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Ii(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?pi:t.tension||"monotone"===t.cubicInterpolationMode?mi:gi}(i);let l,h;for(l=0,h=o.length;l<h;++l){const{start:h,end:c}=o[l],d=n[h],u=n[c];if(d===u){a.push(d);continue}const f=r(d,u,Math.abs((s-d[e])/(u[e]-d[e])),i.stepped);f[e]=t[e],a.push(f)}return 1===a.length?a[0]:a}pathSegment(t,e,i){return io(this)(t,this,e,i)}path(t,e,i){const s=this.segments,n=io(this);let o=this._loop;e=e||0,i=i||this.points.length-e;for(const a of s)o&=n(t,this,a,{start:e,end:e+i-1});return!!o}draw(t,e,i,s){const n=this.options||{};(this.points||[]).length&&n.borderWidth&&(t.save(),no(t,this,i,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function ao(t,e,i,s){const n=t.options,{[i]:o}=t.getProps([i],s);return Math.abs(e-o)<n.radius+n.hitRadius}function ro(t,e){const{x:i,y:s,base:n,width:o,height:a}=t.getProps(["x","y","base","width","height"],e);let r,l,h,c,d;return t.horizontal?(d=a/2,r=Math.min(i,n),l=Math.max(i,n),h=s-d,c=s+d):(d=o/2,r=i-d,l=i+d,h=Math.min(s,n),c=Math.max(s,n)),{left:r,top:h,right:l,bottom:c}}function lo(t,e,i,s){return t?0:Z(e,i,s)}function ho(t){const e=ro(t),i=e.right-e.left,s=e.bottom-e.top,n=function(t,e,i){const s=t.options.borderWidth,n=t.borderSkipped,o=Mi(s);return{t:lo(n.top,o.top,0,i),r:lo(n.right,o.right,0,e),b:lo(n.bottom,o.bottom,0,i),l:lo(n.left,o.left,0,e)}}(t,i/2,s/2),a=function(t,e,i){const{enableBorderRadius:s}=t.getProps(["enableBorderRadius"]),n=t.options.borderRadius,a=wi(n),r=Math.min(e,i),l=t.borderSkipped,h=s||o(n);return{topLeft:lo(!h||l.top||l.left,a.topLeft,0,r),topRight:lo(!h||l.top||l.right,a.topRight,0,r),bottomLeft:lo(!h||l.bottom||l.left,a.bottomLeft,0,r),bottomRight:lo(!h||l.bottom||l.right,a.bottomRight,0,r)}}(t,i/2,s/2);return{outer:{x:e.left,y:e.top,w:i,h:s,radius:a},inner:{x:e.left+n.l,y:e.top+n.t,w:i-n.l-n.r,h:s-n.t-n.b,radius:{topLeft:Math.max(0,a.topLeft-Math.max(n.t,n.l)),topRight:Math.max(0,a.topRight-Math.max(n.t,n.r)),bottomLeft:Math.max(0,a.bottomLeft-Math.max(n.b,n.l)),bottomRight:Math.max(0,a.bottomRight-Math.max(n.b,n.r))}}}}function co(t,e,i,s){const n=null===e,o=null===i,a=t&&!(n&&o)&&ro(t,s);return a&&(n||tt(e,a.left,a.right))&&(o||tt(i,a.top,a.bottom))}function uo(t,e){t.rect(e.x,e.y,e.w,e.h)}function fo(t,e,i={}){const s=t.x!==i.x?-e:0,n=t.y!==i.y?-e:0,o=(t.x+t.w!==i.x+i.w?e:0)-s,a=(t.y+t.h!==i.y+i.h?e:0)-n;return{x:t.x+s,y:t.y+n,w:t.w+o,h:t.h+a,radius:t.radius}}var go=Object.freeze({__proto__:null,ArcElement:class extends $s{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0,selfJoin:!1};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=X(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:h,outerRadius:c,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),u=(this.options.spacing+this.options.borderWidth)/2,f=l(d,r-a),g=J(n,a,r)&&a!==r,p=f>=O||g,m=tt(o,h+u,c+u);return p&&m}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>O?Math.floor(i/O):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const r=s*(1-Math.sin(Math.min(C,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){Kn(t,e,i,s,l,n);for(let e=0;e<o;++e)t.fill();isNaN(r)||(l=a+(r%O||O))}Kn(t,e,i,s,l,n),t.fill()}(t,this,r,n,o),Gn(t,this,r,n,o),t.restore()}},BarElement:class extends $s{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:s}}=this,{inner:n,outer:o}=ho(this),a=(r=o.radius).topLeft||r.topRight||r.bottomLeft||r.bottomRight?He:uo;var r;t.save(),o.w===n.w&&o.h===n.h||(t.beginPath(),a(t,fo(o,e,n)),t.clip(),a(t,fo(n,-e,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),a(t,fo(n,e)),t.fillStyle=s,t.fill(),t.restore()}inRange(t,e,i){return co(this,t,e,i)}inXRange(t,e){return co(this,t,null,e)}inYRange(t,e){return co(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:s,horizontal:n}=this.getProps(["x","y","base","horizontal"],t);return{x:n?(e+s)/2:e,y:n?i:(i+s)/2}}getRange(t){return"x"===t?this.width/2:this.height/2}},LineElement:oo,PointElement:class extends $s{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.options,{x:n,y:o}=this.getProps(["x","y"],i);return Math.pow(t-n,2)+Math.pow(e-o,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,e){return ao(this,t,"x",e)}inYRange(t,e){return ao(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){let e=(t=t||this.options||{}).radius||0;e=Math.max(e,e&&t.hoverRadius||0);return 2*(e+(e&&t.borderWidth||0))}draw(t,e){const i=this.options;this.skip||i.radius<.1||!Re(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,Le(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}});function po(t,e,i,s){const n=t.indexOf(e);if(-1===n)return((t,e,i,s)=>("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}function mo(t){const e=this.getLabels();return t>=0&&t<e.length?e[t]:t}function xo(t,e,{horizontal:i,minRotation:s}){const n=$(s),o=(i?Math.sin(n):Math.cos(n))||.001,a=.75*e*(""+t).length;return Math.min(e/o,a)}class bo extends tn{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return s(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:s,max:n}=this;const o=t=>s=e?s:t,a=t=>n=i?n:t;if(t){const t=F(s),e=F(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const n=function(t,e){const i=[],{bounds:n,step:o,min:a,max:r,precision:l,count:h,maxTicks:c,maxDigits:d,includeBounds:u}=t,f=o||1,g=c-1,{min:p,max:m}=e,x=!s(a),b=!s(r),_=!s(h),y=(m-p)/(d+1);let v,M,w,k,S=B((m-p)/g/f)*f;if(S<1e-14&&!x&&!b)return[{value:p},{value:m}];k=Math.ceil(m/S)-Math.floor(p/S),k>g&&(S=B(k*S/g/f)*f),s(l)||(v=Math.pow(10,l),S=Math.ceil(S*v)/v),"ticks"===n?(M=Math.floor(p/S)*S,w=Math.ceil(m/S)*S):(M=p,w=m),x&&b&&o&&H((r-a)/o,S/1e3)?(k=Math.round(Math.min((r-a)/S,c)),S=(r-a)/k,M=a,w=r):_?(M=x?a:M,w=b?r:w,k=h-1,S=(w-M)/k):(k=(w-M)/S,k=V(k,Math.round(k),S/1e3)?Math.round(k):Math.ceil(k));const P=Math.max(U(S),U(M));v=Math.pow(10,s(l)?P:l),M=Math.round(M*v)/v,w=Math.round(w*v)/v;let D=0;for(x&&(u&&M!==a?(i.push({value:a}),M<a&&D++,V(Math.round((M+D*S)*v)/v,a,xo(a,y,t))&&D++):M<a&&D++);D<k;++D){const t=Math.round((M+D*S)*v)/v;if(b&&t>r)break;i.push({value:t})}return b&&u&&w!==r?i.length&&V(i[i.length-1].value,r,xo(r,y,t))?i[i.length-1].value=r:i.push({value:r}):b&&w!==r||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&j(n,this,"value"),t.reverse?(n.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),n}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return ne(t,this.chart.options.locale,this.options.ticks.format)}}class _o extends bo{static id="linear";static defaults={ticks:{callback:ae.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?t:0,this.max=a(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=$(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const yo=t=>Math.floor(z(t)),vo=(t,e)=>Math.pow(10,yo(t)+e);function Mo(t){return 1===t/Math.pow(10,yo(t))}function wo(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function ko(t,{min:e,max:i}){e=r(t.min,e);const s=[],n=yo(e);let o=function(t,e){let i=yo(e-t);for(;wo(t,e,i)>10;)i++;for(;wo(t,e,i)<10;)i--;return Math.min(i,yo(t))}(e,i),a=o<0?Math.pow(10,Math.abs(o)):1;const l=Math.pow(10,o),h=n>o?Math.pow(10,n):0,c=Math.round((e-h)*a)/a,d=Math.floor((e-h)/l/10)*l*10;let u=Math.floor((c-d)/Math.pow(10,o)),f=r(t.min,Math.round((h+d+u*Math.pow(10,o))*a)/a);for(;f<i;)s.push({value:f,major:Mo(f),significand:u}),u>=10?u=u<15?15:20:u++,u>=20&&(o++,u=2,a=o>=0?1:a),f=Math.round((h+d+u*Math.pow(10,o))*a)/a;const g=r(t.max,f);return s.push({value:g,major:Mo(g),significand:u}),s}class So extends tn{static id="logarithmic";static defaults={ticks:{callback:ae.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=bo.prototype.parse.apply(this,[t,e]);if(0!==i)return a(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=a(t)?Math.max(0,t):null,this.max=a(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!a(this._userMin)&&(this.min=t===vo(this.min,0)?vo(this.min,-1):vo(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(vo(i,-1)),o(vo(s,1)))),i<=0&&n(vo(s,-1)),s<=0&&o(vo(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=ko({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&j(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":ne(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=z(t),this._valueRange=z(this.max)-z(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(z(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function Po(t){const e=t.ticks;if(e.display&&t.display){const t=ki(e.backdropPadding);return l(e.font&&e.font.size,ue.font.size)+t.height}return 0}function Do(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:t<s||t>n?{start:e-i,end:e}:{start:e,end:e+i}}function Co(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],o=[],a=t._pointLabels.length,r=t.options.pointLabels,l=r.centerPointLabels?C/a:0;for(let u=0;u<a;u++){const a=r.setContext(t.getPointLabelContext(u));o[u]=a.padding;const f=t.getPointPosition(u,t.drawingArea+o[u],l),g=Si(a.font),p=(h=t.ctx,c=g,d=n(d=t._pointLabels[u])?d:[d],{w:Oe(h,c.string,d),h:d.length*c.lineHeight});s[u]=p;const m=G(t.getIndexAngle(u)+l),x=Math.round(Y(m));Oo(i,e,m,Do(x,f.x,p.w,0,180),Do(x,f.y,p.h,90,270))}var h,c,d;t.setCenterPoint(e.l-i.l,i.r-e.r,e.t-i.t,i.b-e.b),t._pointLabelItems=function(t,e,i){const s=[],n=t._pointLabels.length,o=t.options,{centerPointLabels:a,display:r}=o.pointLabels,l={extra:Po(o)/2,additionalAngle:a?C/n:0};let h;for(let o=0;o<n;o++){l.padding=i[o],l.size=e[o];const n=Ao(t,o,l);s.push(n),"auto"===r&&(n.visible=To(n,h),n.visible&&(h=n))}return s}(t,s,o)}function Oo(t,e,i,s,n){const o=Math.abs(Math.sin(i)),a=Math.abs(Math.cos(i));let r=0,l=0;s.start<e.l?(r=(e.l-s.start)/o,t.l=Math.min(t.l,e.l-r)):s.end>e.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.start<e.t?(l=(e.t-n.start)/a,t.t=Math.min(t.t,e.t-l)):n.end>e.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function Ao(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=i,l=t.getPointPosition(e,s+n+a,o),h=Math.round(Y(G(l.angle+E))),c=function(t,e,i){90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e);return t}(l.y,r.h,h),d=function(t){if(0===t||180===t)return"center";if(t<180)return"left";return"right"}(h),u=function(t,e,i){"right"===i?t-=e:"center"===i&&(t-=e/2);return t}(l.x,r.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+r.w,bottom:c+r.h}}function To(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(Re({x:i,y:s},e)||Re({x:i,y:o},e)||Re({x:n,y:s},e)||Re({x:n,y:o},e))}function Lo(t,e,i){const{left:n,top:o,right:a,bottom:r}=i,{backdropColor:l}=e;if(!s(l)){const i=wi(e.borderRadius),s=ki(e.backdropPadding);t.fillStyle=l;const h=n-s.left,c=o-s.top,d=a-n+s.width,u=r-o+s.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),He(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function Eo(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,O);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;o<s;o++)i=t.getPointPosition(o,e),n.lineTo(i.x,i.y)}}class Ro extends bo{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:ae.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=ki(Po(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=a(t)&&!isNaN(t)?t:0,this.max=a(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Po(this.options))}generateTickLabels(t){bo.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=d(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?Co(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return G(t*(O/(this._pointLabels.length||1))+$(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(s(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(s(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t<e.length){const i=e[t];return function(t,e,i){return Ci(t,{label:i,index:e,type:"pointLabel"})}(this.getContext(),t,i)}}getPointPosition(t,e,i=0){const s=this.getIndexAngle(t)-E+i;return{x:Math.cos(s)*e+this.xCenter,y:Math.sin(s)*e+this.yCenter,angle:s}}getPointPositionForValue(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:e,top:i,right:s,bottom:n}=this._pointLabelItems[t];return{left:e,top:i,right:s,bottom:n}}drawBackground(){const{backgroundColor:t,grid:{circular:e}}=this.options;if(t){const i=this.ctx;i.save(),i.beginPath(),Eo(this,this.getDistanceFromCenterForValue(this._endValue),e,this._pointLabels.length),i.closePath(),i.fillStyle=t,i.fill(),i.restore()}}drawGrid(){const t=this.ctx,e=this.options,{angleLines:i,grid:s,border:n}=e,o=this._pointLabels.length;let a,r,l;if(e.pointLabels.display&&function(t,e){const{ctx:i,options:{pointLabels:s}}=t;for(let n=e-1;n>=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));Lo(i,o,e);const a=Si(o.font),{x:r,y:l,textAlign:h}=e;Ne(i,t._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:h,textBaseline:"middle"})}}(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e||0===e&&this.min<0){r=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),a=s.setContext(i),l=n.setContext(i);!function(t,e,i,s,n){const o=t.ctx,a=e.circular,{color:r,lineWidth:l}=e;!a&&!s||!r||!l||i<0||(o.save(),o.strokeStyle=r,o.lineWidth=l,o.setLineDash(n.dash||[]),o.lineDashOffset=n.dashOffset,o.beginPath(),Eo(t,i,a,s),o.closePath(),o.stroke(),o.restore())}(this,a,r,o,l)}})),i.display){for(t.save(),a=o-1;a>=0;a--){const s=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,r=this.getDistanceFromCenterForValue(e.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&this.min>=0&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=Si(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=ki(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}Ne(t,s.label,0,-n,l,{color:r.color,strokeColor:r.textStrokeColor,strokeWidth:r.textStrokeWidth})})),t.restore()}drawTitle(){}}const Io={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},zo=Object.keys(Io);function Fo(t,e){return t-e}function Vo(t,e){if(s(e))return null;const i=t._adapter,{parser:n,round:o,isoWeekday:r}=t._parseOpts;let l=e;return"function"==typeof n&&(l=n(l)),a(l)||(l="string"==typeof n?i.parse(l,n):i.parse(l)),null===l?null:(o&&(l="week"!==o||!N(r)&&!0!==r?i.startOf(l,o):i.startOf(l,"isoWeek",r)),+l)}function Bo(t,e,i,s){const n=zo.length;for(let o=zo.indexOf(t);o<n-1;++o){const t=Io[zo[o]],n=t.steps?t.steps:Number.MAX_SAFE_INTEGER;if(t.common&&Math.ceil((i-e)/(n*t.size))<=s)return zo[o]}return zo[n-1]}function Wo(t,e,i){if(i){if(i.length){const{lo:s,hi:n}=et(i,e);t[i[s]>=e?i[s]:i[n]]=!0}}else t[e]=!0}function No(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a<o;++a)r=e[a],n[r]=a,s.push({value:r,major:!1});return 0!==o&&i?function(t,e,i,s){const n=t._adapter,o=+n.startOf(e[0].value,s),a=e[e.length-1].value;let r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=i[r],l>=0&&(e[l].major=!0);return e}(t,s,n,i):s}class Ho extends tn{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),s=this._adapter=new In._date(t.adapters.date);s.init(e),b(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Vo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:r}=this.getUserBounds();function l(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),r||isNaN(t.max)||(n=Math.max(n,t.max))}o&&r||(l(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||l(this.getMinMax(!1))),s=a(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=a(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=nt(s,n,this.max);return this._unit=e.unit||(i.autoSkip?Bo(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=zo.length-1;o>=zo.indexOf(i);o--){const i=zo[o];if(Io[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return zo[i?zo.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=zo.indexOf(t)+1,i=zo.length;e<i;++e)if(Io[zo[e]].common)return zo[e]}(this._unit):void 0,this.initOffsets(s),t.reverse&&o.reverse(),No(this,o,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map((t=>+t.value)))}initOffsets(t=[]){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=Z(s,0,o),n=Z(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||Bo(n.minUnit,e,i,this._getLabelCapacity(e)),a=l(s.ticks.stepSize,1),r="week"===o&&n.isoWeekday,h=N(r)||!0===r,c={};let d,u,f=e;if(h&&(f=+t.startOf(f,"isoWeek",r)),f=+t.startOf(f,h?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(d=f,u=0;d<i;d=+t.add(d,a,o),u++)Wo(c,d,g);return d!==i&&"ticks"!==s.bounds&&1!==u||Wo(c,d,g),Object.keys(c).sort(Fo).map((t=>+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return d(o,[t,e,i],this);const a=n.time.displayFormats,r=this._unit,l=this._majorUnit,h=r&&a[r],c=l&&a[l],u=i[e],f=l&&c&&u&&u.major;return this._adapter.format(t,s||(f?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e<i;++e)s=t[e],s.label=this._tickFormatFunction(s.value,e,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const e=this.options.ticks,i=this.ctx.measureText(t).width,s=$(this.isHorizontal()?e.maxRotation:e.minRotation),n=Math.cos(s),o=Math.sin(s),a=this._resolveTickFontOptions(0).size;return{w:i*n+a*o,h:i*o+a*n}}_getLabelCapacity(t){const e=this.options.time,i=e.displayFormats,s=i[e.unit]||i.millisecond,n=this._tickFormatFunction(t,0,No(this,[t],this._majorUnit),s),o=this._getLabelSize(n),a=Math.floor(this.isHorizontal()?this.width/o.w:this.height/o.h)-1;return a>0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t<e;++t)i=i.concat(s[t].controller.getAllParsedValues(this));return this._cache.data=this.normalize(i)}getLabelTimestamps(){const t=this._cache.labels||[];let e,i;if(t.length)return t;const s=this.getLabels();for(e=0,i=s.length;e<i;++e)t.push(Vo(this,s[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return lt(t.sort(Fo))}}function jo(t,e,i){let s,n,o,a,r=0,l=t.length-1;i?(e>=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=it(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=it(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}var $o=Object.freeze({__proto__:null,CategoryScale:class extends tn{static id="category";static defaults={ticks:{callback:mo}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(s(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:Z(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:po(i,t,l(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return mo.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}},LinearScale:_o,LogarithmicScale:So,RadialLinearScale:Ro,TimeScale:Ho,TimeSeriesScale:class extends Ho{static id="timeseries";static defaults=Ho.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=jo(e,this.min),this._tableRange=jo(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o<a;++o)l=t[o],l>=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;o<a;++o)h=s[o+1],r=s[o-1],l=s[o],Math.round((h+r)/2)!==l&&n.push({time:l,pos:o/(a-1)});return n}_generate(){const t=this.min,e=this.max;let i=super.getDataTimestamps();return i.includes(t)&&i.length||i.splice(0,0,t),i.includes(e)&&1!==i.length||i.push(e),i.sort(((t,e)=>t-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(jo(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return jo(this._table,i*this._tableRange+this._minPos,!0)}}});const Yo=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],Uo=Yo.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function Xo(t){return Yo[t%Yo.length]}function qo(t){return Uo[t%Uo.length]}function Ko(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof $n?e=function(t,e){return t.backgroundColor=t.data.map((()=>Xo(e++))),e}(i,e):n instanceof Yn?e=function(t,e){return t.backgroundColor=t.data.map((()=>qo(e++))),e}(i,e):n&&(e=function(t,e){return t.borderColor=Xo(e),t.backgroundColor=qo(e),++e}(i,e))}}function Go(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}var Jo={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n,a=Go(s)||(r=n)&&(r.borderColor||r.backgroundColor)||o&&Go(o)||"rgba(0,0,0,0.1)"!==ue.borderColor||"rgba(0,0,0,0.1)"!==ue.backgroundColor;var r;if(!i.forceOverride&&a)return;const l=Ko(t);s.forEach(l)}};function Zo(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function Qo(t){t.data.datasets.forEach((t=>{Zo(t)}))}var ta={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void Qo(t);const n=t.width;t.data.datasets.forEach(((e,o)=>{const{_data:a,indexAxis:r}=e,l=t.getDatasetMeta(o),h=a||e.data;if("y"===Pi([r,t.options.indexAxis]))return;if(!l.controller.supportsDecimation)return;const c=t.scales[l.xAxisID];if("linear"!==c.type&&"time"!==c.type)return;if(t.options.parsing)return;let{start:d,count:u}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=Z(it(e,o.axis,a).lo,0,i-1)),s=h?Z(it(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(l,h);if(u<=(i.threshold||4*n))return void Zo(e);let f;switch(s(a)&&(e._data=h,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":f=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;c<o-2;c++){let s,n=0,o=0;const h=Math.floor((c+1)*r)+1+e,m=Math.min(Math.floor((c+2)*r)+1,i)+e,x=m-h;for(s=h;s<m;s++)n+=t[s].x,o+=t[s].y;n/=x,o/=x;const b=Math.floor(c*r)+1+e,_=Math.min(Math.floor((c+1)*r)+1,i)+e,{x:y,y:v}=t[p];for(u=f=-1,s=b;s<_;s++)f=.5*Math.abs((y-n)*(t[s].y-v)-(y-t[s].x)*(o-v)),f>u&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(h,d,u,n,i);break;case"min-max":f=function(t,e,i,n){let o,a,r,l,h,c,d,u,f,g,p=0,m=0;const x=[],b=e+i-1,_=t[e].x,y=t[b].x-_;for(o=e;o<e+i;++o){a=t[o],r=(a.x-_)/y*n,l=a.y;const e=0|r;if(e===h)l<f?(f=l,c=o):l>g&&(g=l,d=o),p=(m*p+a.x)/++m;else{const i=o-1;if(!s(c)&&!s(d)){const e=Math.min(c,d),s=Math.max(c,d);e!==u&&e!==i&&x.push({...t[e],x:p}),s!==u&&s!==i&&x.push({...t[s],x:p})}o>0&&i!==u&&x.push(t[i]),x.push(a),h=e,m=0,f=g=l,c=d=u=o}}return x}(h,d,u,n);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=f}))},destroy(t){Qo(t)}};function ea(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=G(n),o=G(o)),{property:t,start:n,end:o}}function ia(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function sa(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function na(t,e){let i=[],s=!1;return n(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=ia(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new oo({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function oa(t){return t&&!1!==t.fill}function aa(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!a(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function ra(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=l(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(o(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return a(n)&&Math.floor(n)===n?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function la(t,e,i){const s=[];for(let n=0;n<i.length;n++){const o=i[n],{first:a,last:r,point:l}=ha(o,e,"x");if(!(!l||a&&r))if(a)s.unshift(l);else if(t.push(l),!r)break}t.push(...s)}function ha(t,e,i){const s=t.interpolate(e,i);if(!s)return{};const n=s[i],o=t.segments,a=t.points;let r=!1,l=!1;for(let t=0;t<o.length;t++){const e=o[t],s=a[e.start][i],h=a[e.end][i];if(tt(n,s,h)){r=n===s,l=n===h;break}}return{first:r,last:l,point:s}}class ca{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:s,y:n,radius:o}=this;return e=e||{start:0,end:O},t.arc(s,n,o,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:s}=this,n=t.angle;return{x:e+Math.cos(n)*s,y:i+Math.sin(n)*s,angle:n}}}function da(t){const{chart:e,fill:i,line:s}=t;if(a(i))return function(t,e){const i=t.getDatasetMeta(e),s=i&&t.isDatasetVisible(e);return s?i.dataset:null}(e,i);if("stack"===i)return function(t){const{scale:e,index:i,line:s}=t,n=[],o=s.segments,a=s.points,r=function(t,e){const i=[],s=t.getMatchingVisibleMetas("line");for(let t=0;t<s.length;t++){const n=s[t];if(n.index===e)break;n.hidden||i.unshift(n.dataset)}return i}(e,i);r.push(na({x:null,y:e.bottom},s));for(let t=0;t<o.length;t++){const e=o[t];for(let t=e.start;t<=e.end;t++)la(n,a[t],r)}return new oo({points:n,options:{}})}(t);if("shape"===i)return!0;const n=function(t){const e=t.scale||{};if(e.getPointPositionForValue)return function(t){const{scale:e,fill:i}=t,s=e.options,n=e.getLabels().length,a=s.reverse?e.max:e.min,r=function(t,e,i){let s;return s="start"===t?i:"end"===t?e.options.reverse?e.min:e.max:o(t)?t.value:e.getBaseValue(),s}(i,e,a),l=[];if(s.grid.circular){const t=e.getPointPositionForValue(0,a);return new ca({x:t.x,y:t.y,radius:e.getDistanceFromCenterForValue(r)})}for(let t=0;t<n;++t)l.push(e.getPointPositionForValue(t,r));return l}(t);return function(t){const{scale:e={},fill:i}=t,s=function(t,e){let i=null;return"start"===t?i=e.bottom:"end"===t?i=e.top:o(t)?i=e.getPixelForValue(t.value):e.getBasePixel&&(i=e.getBasePixel()),i}(i,e);if(a(s)){const t=e.isHorizontal();return{x:t?s:null,y:t?null:s}}return null}(t)}(t);return n instanceof ca?n:na(n,s)}function ua(t,e,i){const s=da(e),{chart:n,index:o,line:a,scale:r,axis:l}=e,h=a.options,c=h.fill,d=h.backgroundColor,{above:u=d,below:f=d}=c||{},g=n.getDatasetMeta(o),p=Ni(n,g);s&&a.points.length&&(Ie(t,i),function(t,e){const{line:i,target:s,above:n,below:o,area:a,scale:r,clip:l}=e,h=i._loop?"angle":e.axis;t.save();let c=o;o!==n&&("x"===h?(fa(t,s,a.top),pa(t,{line:i,target:s,color:n,scale:r,property:h,clip:l}),t.restore(),t.save(),fa(t,s,a.bottom)):"y"===h&&(ga(t,s,a.left),pa(t,{line:i,target:s,color:o,scale:r,property:h,clip:l}),t.restore(),t.save(),ga(t,s,a.right),c=n));pa(t,{line:i,target:s,color:c,scale:r,property:h,clip:l}),t.restore()}(t,{line:a,target:s,above:u,below:f,area:i,scale:r,axis:l,clip:p}),ze(t))}function fa(t,e,i){const{segments:s,points:n}=e;let o=!0,a=!1;t.beginPath();for(const r of s){const{start:s,end:l}=r,h=n[s],c=n[ia(s,l,n)];o?(t.moveTo(h.x,h.y),o=!1):(t.lineTo(h.x,i),t.lineTo(h.x,h.y)),a=!!e.pathSegment(t,r,{move:a}),a?t.closePath():t.lineTo(c.x,i)}t.lineTo(e.first().x,i),t.closePath(),t.clip()}function ga(t,e,i){const{segments:s,points:n}=e;let o=!0,a=!1;t.beginPath();for(const r of s){const{start:s,end:l}=r,h=n[s],c=n[ia(s,l,n)];o?(t.moveTo(h.x,h.y),o=!1):(t.lineTo(i,h.y),t.lineTo(h.x,h.y)),a=!!e.pathSegment(t,r,{move:a}),a?t.closePath():t.lineTo(i,c.y)}t.lineTo(i,e.first().y),t.closePath(),t.clip()}function pa(t,e){const{line:i,target:s,property:n,color:o,scale:a,clip:r}=e,l=function(t,e,i){const s=t.segments,n=t.points,o=e.points,a=[];for(const t of s){let{start:s,end:r}=t;r=ia(s,r,n);const l=ea(i,n[s],n[r],t.loop);if(!e.segments){a.push({source:t,target:l,start:n[s],end:n[r]});continue}const h=Ii(e,l);for(const e of h){const s=ea(i,o[e.start],o[e.end],e.loop),r=Ri(t,n,s);for(const t of r)a.push({source:t,target:e,start:{[i]:sa(l,s,"start",Math.max)},end:{[i]:sa(l,s,"end",Math.min)}})}}return a}(i,s,n);for(const{source:e,target:h,start:c,end:d}of l){const{style:{backgroundColor:l=o}={}}=e,u=!0!==s;t.save(),t.fillStyle=l,ma(t,a,r,u&&ea(n,c,d)),t.beginPath();const f=!!i.pathSegment(t,e);let g;if(u){f?t.closePath():xa(t,s,d,n);const e=!!s.pathSegment(t,h,{move:f,reverse:!0});g=f&&e,g||xa(t,s,c,n)}t.closePath(),t.fill(g?"evenodd":"nonzero"),t.restore()}}function ma(t,e,i,s){const n=e.chart.chartArea,{property:o,start:a,end:r}=s||{};if("x"===o||"y"===o){let e,s,l,h;"x"===o?(e=a,s=n.top,l=r,h=n.bottom):(e=n.left,s=a,l=n.right,h=r),t.beginPath(),i&&(e=Math.max(e,i.left),l=Math.min(l,i.right),s=Math.max(s,i.top),h=Math.min(h,i.bottom)),t.rect(e,s,l-e,h-s),t.clip()}}function xa(t,e,i,s){const n=e.interpolate(i,s);n&&t.lineTo(n.x,n.y)}var ba={id:"filler",afterDatasetsUpdate(t,e,i){const s=(t.data.datasets||[]).length,n=[];let o,a,r,l;for(a=0;a<s;++a)o=t.getDatasetMeta(a),r=o.dataset,l=null,r&&r.options&&r instanceof oo&&(l={visible:t.isDatasetVisible(a),index:a,fill:ra(r,a,s),chart:t,axis:o.controller.options.indexAxis,scale:o.vScale,line:r}),o.$filler=l,n.push(l);for(a=0;a<s;++a)l=n[a],l&&!1!==l.fill&&(l.fill=aa(n,a,i.propagate))},beforeDraw(t,e,i){const s="beforeDraw"===i.drawTime,n=t.getSortedVisibleDatasetMetas(),o=t.chartArea;for(let e=n.length-1;e>=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&ua(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;oa(i)&&ua(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;oa(s)&&"beforeDatasetDraw"===i.drawTime&&ua(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const _a=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class ya extends $s{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=d(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Si(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=_a(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,s,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:p,itemHeight:m}=function(t,e,i,s,n){const o=function(t,e,i,s){let n=t.text;n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e)));return e+i.size/2+s.measureText(n).width}(s,t,e,i),a=function(t,e,i){let s=t;"string"!=typeof e.text&&(s=va(e,i));return s}(n,s,e.lineHeight);return{itemWidth:o,itemHeight:a}}(i,e,n,t,s);o>0&&u+m+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:m},d=Math.max(d,p),u+=m+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=Oi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=ft(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=ft(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=ft(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Ie(t,this),this._draw(),ze(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=ue.color,r=Oi(t.rtl,this.left,this.width),h=Si(o.font),{padding:c}=o,d=h.size,u=d/2;let f;this.drawTitle(),s.textAlign=r.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=h.string;const{boxWidth:g,boxHeight:p,itemHeight:m}=_a(o,d),x=this.isHorizontal(),b=this._computeTitleHeight();f=x?{x:ft(n,this.left+c,this.right-i[0]),y:this.top+c+b,line:0}:{x:this.left+c,y:ft(n,this.top+b+c,this.bottom-e[0].height),line:0},Ai(this.ctx,t.textDirection);const _=m+c;this.legendItems.forEach(((y,v)=>{s.strokeStyle=y.fontColor,s.fillStyle=y.fontColor;const M=s.measureText(y.text).width,w=r.textAlign(y.textAlign||(y.textAlign=o.textAlign)),k=g+u+M;let S=f.x,P=f.y;r.setWidth(this.width),x?v>0&&S+k+c>this.right&&(P=f.y+=_,f.line++,S=f.x=ft(n,this.left+c,this.right-i[f.line])):v>0&&P+_>this.bottom&&(S=f.x=S+e[f.line].width+c,f.line++,P=f.y=ft(n,this.top+b+c,this.bottom-e[f.line].height));if(function(t,e,i){if(isNaN(g)||g<=0||isNaN(p)||p<0)return;s.save();const n=l(i.lineWidth,1);if(s.fillStyle=l(i.fillStyle,a),s.lineCap=l(i.lineCap,"butt"),s.lineDashOffset=l(i.lineDashOffset,0),s.lineJoin=l(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=l(i.strokeStyle,a),s.setLineDash(l(i.lineDash,[])),o.usePointStyle){const a={radius:p*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=r.xPlus(t,g/2);Ee(s,a,l,e+u,o.pointStyleWidth&&g)}else{const o=e+Math.max((d-p)/2,0),a=r.leftForLtr(t,g),l=wi(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?He(s,{x:a,y:o,w:g,h:p,radius:l}):s.rect(a,o,g,p),s.fill(),0!==n&&s.stroke()}s.restore()}(r.x(S),P,y),S=gt(w,S+g+u,x?S+k:this.right,t.rtl),function(t,e,i){Ne(s,i.text,t,e+m/2,h,{strikethrough:i.hidden,textAlign:r.textAlign(i.textAlign)})}(r.x(S),P,y),x)f.x+=k+c;else if("string"!=typeof y.text){const t=h.lineHeight;f.y+=va(y,t)+c}else f.y+=_})),Ti(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Si(e.font),s=ki(e.padding);if(!e.display)return;const n=Oi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=ft(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+ft(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=ft(a,c,c+d);o.textAlign=n.textAlign(ut(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,Ne(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=Si(t.font),i=ki(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(tt(t,this.left,this.right)&&tt(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;i<n.length;++i)if(s=n[i],tt(t,s.left,s.left+s.width)&&tt(e,s.top,s.top+s.height))return this.legendItems[i];return null}handleEvent(t){const e=this.options;if(!function(t,e){if(("mousemove"===t||"mouseout"===t)&&(e.onHover||e.onLeave))return!0;if(e.onClick&&("click"===t||"mouseup"===t))return!0;return!1}(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if("mousemove"===t.type||"mouseout"===t.type){const o=this._hoveredItem,a=(n=i,null!==(s=o)&&null!==n&&s.datasetIndex===n.datasetIndex&&s.index===n.index);o&&!a&&d(e.onLeave,[t,o,this],this),this._hoveredItem=i,i&&!a&&d(e.onHover,[t,i,this],this)}else i&&d(e.onClick,[t,i,this],this);var s,n}}function va(t,e){return e*(t.text?t.text.length:0)}var Ma={id:"legend",_element:ya,start(t,e,i){const s=t.legend=new ya({ctx:t.ctx,options:i,chart:t});ls.configure(t,s,i),ls.addBox(t,s)},stop(t){ls.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,i){const s=t.legend;ls.configure(t,s,i),s.options=i},afterUpdate(t){const e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,i){const s=e.datasetIndex,n=i.chart;n.isDatasetVisible(s)?(n.hide(s),e.hidden=!0):(n.show(s),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=ki(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:a&&(r||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class wa extends $s{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=n(i.text)?i.text.length:1;this._padding=ki(i.padding);const o=s*Si(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=ft(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=ft(a,s,e),c=-.5*C):(l=n-t,h=ft(a,e,s),c=.5*C),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Si(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);Ne(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:ut(e.align),textBaseline:"middle",translation:[n,o]})}}var ka={id:"title",_element:wa,start(t,e,i){!function(t,e){const i=new wa({ctx:t.ctx,options:e,chart:t});ls.configure(t,i,e),ls.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;ls.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Sa=new WeakMap;var Pa={id:"subtitle",start(t,e,i){const s=new wa({ctx:t.ctx,options:i,chart:t});ls.configure(t,s,i),ls.addBox(t,s),Sa.set(t,s)},stop(t){ls.removeBox(t,Sa.get(t)),Sa.delete(t)},beforeUpdate(t,e,i){const s=Sa.get(t);ls.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Da={average(t){if(!t.length)return!1;let e,i,s=new Set,n=0,o=0;for(e=0,i=t.length;e<i;++e){const i=t[e].element;if(i&&i.hasValue()){const t=i.tooltipPosition();s.add(t.x),n+=t.y,++o}}if(0===o||0===s.size)return!1;return{x:[...s].reduce(((t,e)=>t+e))/s.size,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i<s;++i){const s=t[i].element;if(s&&s.hasValue()){const t=q(e,s.getCenterPoint());t<r&&(r=t,n=s)}}if(n){const t=n.tooltipPosition();o=t.x,a=t.y}return{x:o,y:a}}};function Ca(t,e){return e&&(n(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function Oa(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function Aa(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Ta(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=Si(e.bodyFont),h=Si(e.titleFont),c=Si(e.footerFont),d=o.length,f=n.length,g=s.length,p=ki(e.padding);let m=p.height,x=0,b=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,d&&(m+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),b){m+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(b-g)*l.lineHeight+(b-1)*e.bodySpacing}f&&(m+=e.footerMarginTop+f*c.lineHeight+(f-1)*e.footerSpacing);let _=0;const y=function(t){x=Math.max(x,i.measureText(t).width+_)};return i.save(),i.font=h.string,u(t.title,y),i.font=l.string,u(t.beforeBody.concat(t.afterBody),y),_=e.displayColors?a+2+e.boxPadding:0,u(s,(t=>{u(t.before,y),u(t.lines,y),u(t.after,y)})),_=0,i.font=c.string,u(t.footer,y),i.restore(),x+=p.width,{width:x,height:m}}function La(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Ea(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return i<s/2?"top":i>t.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||La(t,e,i,s),yAlign:s}}function Ra(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:Z(g,0,s.width-e.width),y:Z(p,0,s.height-e.height)}}function Ia(t,e,i){const s=ki(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function za(t){return Ca([],Oa(t))}function Fa(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const Va={beforeTitle:e,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex<s)return i[e.dataIndex]}return""},afterTitle:e,beforeBody:e,beforeLabel:e,label(t){if(this&&this.options&&"dataset"===this.options.mode)return t.label+": "+t.formattedValue||t.formattedValue;let e=t.dataset.label||"";e&&(e+=": ");const i=t.formattedValue;return s(i)||(e+=i),e},labelColor(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:e,afterBody:e,beforeFooter:e,footer:e,afterFooter:e};function Ba(t,e,i,s){const n=t[e].call(i,s);return void 0===n?Va[e].call(i,s):n}class Wa extends $s{static positioners=Da;constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&e.options.animation&&i.animations,n=new Ts(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=(t=this.chart.getContext(),e=this,i=this._tooltipItems,Ci(t,{tooltip:e,tooltipItems:i,type:"tooltip"})));var t,e,i}getTitle(t,e){const{callbacks:i}=e,s=Ba(i,"beforeTitle",this,t),n=Ba(i,"title",this,t),o=Ba(i,"afterTitle",this,t);let a=[];return a=Ca(a,Oa(s)),a=Ca(a,Oa(n)),a=Ca(a,Oa(o)),a}getBeforeBody(t,e){return za(Ba(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:i}=e,s=[];return u(t,(t=>{const e={before:[],lines:[],after:[]},n=Fa(i,t);Ca(e.before,Oa(Ba(n,"beforeLabel",this,t))),Ca(e.lines,Ba(n,"label",this,t)),Ca(e.after,Oa(Ba(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return za(Ba(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=Ba(i,"beforeFooter",this,t),n=Ba(i,"footer",this,t),o=Ba(i,"afterFooter",this,t);let a=[];return a=Ca(a,Oa(s)),a=Ca(a,Oa(n)),a=Ca(a,Oa(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;a<r;++a)l.push(Aa(this.chart,e[a]));return t.filter&&(l=l.filter(((e,s,n)=>t.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),u(l,(e=>{const i=Fa(t.callbacks,e);s.push(Ba(i,"labelColor",this,e)),n.push(Ba(i,"labelPointStyle",this,e)),o.push(Ba(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Da[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Ta(this,i),a=Object.assign({},t,e),r=Ea(this.chart,i,a),l=Ra(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=wi(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,x,b,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,b=_+o,y=_-o):(p=d+f,m=p+o,b=_-o,y=_+o),x=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(b=u,_=b-o,p=m-o,x=m+o):(b=u+g,_=b+o,p=m+o,x=m-o),y=b),{x1:p,x2:m,x3:x,y1:b,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Oi(i.rtl,this.x,this.width);for(t.x=Ia(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Si(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r<n;++r)e.fillText(s[r],l.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+a,r+1===n&&(t.y+=i.titleMarginBottom-a)}}_drawColorBox(t,e,i,s,n){const a=this.labelColors[i],r=this.labelPointStyles[i],{boxHeight:l,boxWidth:h}=n,c=Si(n.bodyFont),d=Ia(this,"left",n),u=s.x(d),f=l<c.lineHeight?(c.lineHeight-l)/2:0,g=e.y+f;if(n.usePointStyle){const e={radius:Math.min(h,l)/2,pointStyle:r.pointStyle,rotation:r.rotation,borderWidth:1},i=s.leftForLtr(u,h)+h/2,o=g+l/2;t.strokeStyle=n.multiKeyBackground,t.fillStyle=n.multiKeyBackground,Le(t,e,i,o),t.strokeStyle=a.borderColor,t.fillStyle=a.backgroundColor,Le(t,e,i,o)}else{t.lineWidth=o(a.borderWidth)?Math.max(...Object.values(a.borderWidth)):a.borderWidth||1,t.strokeStyle=a.borderColor,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset||0;const e=s.leftForLtr(u,h),i=s.leftForLtr(s.xPlus(u,1),h-2),r=wi(a.borderRadius);Object.values(r).some((t=>0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,He(t,{x:e,y:g,w:h,h:l,radius:r}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),He(t,{x:i,y:g+1,w:h-2,h:l-2,radius:r}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,h,l),t.strokeRect(e,g,h,l),t.fillStyle=a.backgroundColor,t.fillRect(i,g+1,h-2,l-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=Si(i.bodyFont);let d=c.lineHeight,f=0;const g=Oi(i.rtl,this.x,this.width),p=function(i){e.fillText(i,g.x(t.x+f),t.y+d/2),t.y+=d+n},m=g.textAlign(o);let x,b,_,y,v,M,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Ia(this,m,i),e.fillStyle=i.bodyColor,u(this.beforeBody,p),f=a&&"right"!==m?"center"===o?l/2+h:l+2+h:0,y=0,M=s.length;y<M;++y){for(x=s[y],b=this.labelTextColors[y],e.fillStyle=b,u(x.before,p),_=x.lines,a&&_.length&&(this._drawColorBox(e,t,y,g,i),d=Math.max(c.lineHeight,r)),v=0,w=_.length;v<w;++v)p(_[v]),d=c.lineHeight;u(x.after,p)}f=0,d=c.lineHeight,u(this.afterBody,p),t.y-=n}drawFooter(t,e,i){const s=this.footer,n=s.length;let o,a;if(n){const r=Oi(i.rtl,this.x,this.width);for(t.x=Ia(this,i.footerAlign,i),t.y+=i.footerMarginTop,e.textAlign=r.textAlign(i.footerAlign),e.textBaseline="middle",o=Si(i.footerFont),e.fillStyle=i.footerColor,e.font=o.string,a=0;a<n;++a)e.fillText(s[a],r.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+i.footerSpacing}}drawBackground(t,e,i,s){const{xAlign:n,yAlign:o}=this,{x:a,y:r}=t,{width:l,height:h}=i,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=wi(s.cornerRadius);e.fillStyle=s.backgroundColor,e.strokeStyle=s.borderColor,e.lineWidth=s.borderWidth,e.beginPath(),e.moveTo(a+c,r),"top"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+l-d,r),e.quadraticCurveTo(a+l,r,a+l,r+d),"center"===o&&"right"===n&&this.drawCaret(t,e,i,s),e.lineTo(a+l,r+h-f),e.quadraticCurveTo(a+l,r+h,a+l-f,r+h),"bottom"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+u,r+h),e.quadraticCurveTo(a,r+h,a,r+h-u),"center"===o&&"left"===n&&this.drawCaret(t,e,i,s),e.lineTo(a,r+c),e.quadraticCurveTo(a,r,a+c,r),e.closePath(),e.fill(),s.borderWidth>0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Da[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Ta(this,t),a=Object.assign({},i,this._size),r=Ea(e,t,a),l=Ra(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=ki(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Ai(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Ti(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!f(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!f(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Da[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}var Na={id:"tooltip",_element:Wa,positioners:Da,afterInit(t,e,i){i&&(t.tooltip=new Wa({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Va},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};return Tn.register(Un,$o,go,t),Tn.helpers={...Hi},Tn._adapters=In,Tn.Animation=As,Tn.Animations=Ts,Tn.animator=bt,Tn.controllers=nn.controllers.items,Tn.DatasetController=js,Tn.Element=$s,Tn.elements=go,Tn.Interaction=Ki,Tn.layouts=ls,Tn.platforms=Ds,Tn.Scale=tn,Tn.Ticks=ae,Object.assign(Tn,Un,$o,go,t,Ds),Tn.Chart=Tn,"undefined"!=typeof window&&(window.Chart=Tn),Tn})); 46442//# sourceMappingURL=chart.umd.js.map
46443 46444!function(t,i){"object"==typeof exports&&"undefined"!=typeof module?i(exports):"function"==typeof define&&define.amd?define(["exports"],i):i((t="undefined"!=typeof globalThis?globalThis:t||self).countUp={})}(this,(function(t){"use strict";var i=function(){return i=Object.assign||function(t){for(var i,n=1,s=arguments.length;n<s;n++)for(var e in i=arguments[n])Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e]);return t},i.apply(this,arguments)},n=function(){function t(t,n,s){var e=this;this.endVal=n,this.options=s,this.version="2.9.0",this.defaults={startVal:0,decimalPlaces:0,duration:2,useEasing:!0,useGrouping:!0,useIndianSeparators:!1,smartEasingThreshold:999,smartEasingAmou
vendor: 4,887 bytes, line 46444
46444nt:333,separator:",",decimal:".",prefix:"",suffix:"",enableScrollSpy:!1,scrollSpyDelay:200,scrollSpyOnce:!1},this.finalEndVal=null,this.useEasing=!0,this.countDown=!1,this.error="",this.startVal=0,this.paused=!0,this.once=!1,this.count=function(t){e.startTime||(e.startTime=t);var i=t-e.startTime;e.remaining=e.duration-i,e.useEasing?e.countDown?e.frameVal=e.startVal-e.easingFn(i,0,e.startVal-e.endVal,e.duration):e.frameVal=e.easingFn(i,e.startVal,e.endVal-e.startVal,e.duration):e.frameVal=e.startVal+(e.endVal-e.startVal)*(i/e.duration);var n=e.countDown?e.frameVal<e.endVal:e.frameVal>e.endVal;e.frameVal=n?e.endVal:e.frameVal,e.frameVal=Number(e.frameVal.toFixed(e.options.decimalPlaces)),e.printValue(e.frameVal),i<e.duration?e.rAF=requestAnimationFrame(e.count):null!==e.finalEndVal?e.update(e.finalEndVal):e.options.onCompleteCallback&&e.options.onCompleteCallback()},this.formatNumber=function(t){var i,n,s,a,o=t<0?"-":"";i=Math.abs(t).toFixed(e.options.decimalPlaces);var r=(i+="").split(".");if(n=r[0],s=r.length>1?e.options.decimal+r[1]:"",e.options.useGrouping){a="";for(var l=3,u=0,h=0,p=n.length;h<p;++h)e.options.useIndianSeparators&&4===h&&(l=2,u=1),0!==h&&u%l==0&&(a=e.options.separator+a),u++,a=n[p-h-1]+a;n=a}return e.options.numerals&&e.options.numerals.length&&(n=n.replace(/[0-9]/g,(function(t){return e.options.numerals[+t]})),s=s.replace(/[0-9]/g,(function(t){return e.options.numerals[+t]}))),o+e.options.prefix+n+s+e.options.suffix},this.easeOutExpo=function(t,i,n,s){return n*(1-Math.pow(2,-10*t/s))*1024/1023+i},this.options=i(i({},this.defaults),s),this.formattingFn=this.options.formattingFn?this.options.formattingFn:this.formatNumber,this.easingFn=this.options.easingFn?this.options.easingFn:this.easeOutExpo,this.el="string"==typeof t?document.getElementById(t):t,n=null==n?this.parse(this.el.innerHTML):n,this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.endVal=this.validateValue(n),this.options.decimalPlaces=Math.max(this.options.decimalPlaces),this.resetDuration(),this.options.separator=String(this.options.separator),this.useEasing=this.options.useEasing,""===this.options.separator&&(this.options.useGrouping=!1),this.el?this.printValue(this.startVal):this.error="[CountUp] target is null or undefined","undefined"!=typeof window&&this.options.enableScrollSpy&&(this.error?console.error(this.error,t):(window.onScrollFns=window.onScrollFns||[],window.onScrollFns.push((function(){return e.handleScroll(e)})),window.onscroll=function(){window.onScrollFns.forEach((function(t){return t()}))},this.handleScroll(this)))}return t.prototype.handleScroll=function(t){if(t&&window&&!t.once){var i=window.innerHeight+window.scrollY,n=t.el.getBoundingClientRect(),s=n.top+window.pageYOffset,e=n.top+n.height+window.pageYOffset;e<i&&e>window.scrollY&&t.paused?(t.paused=!1,setTimeout((function(){return t.start()}),t.options.scrollSpyDelay),t.options.scrollSpyOnce&&(t.once=!0)):(window.scrollY>e||s>i)&&!t.paused&&t.reset()}},t.prototype.determineDirectionAndSmartEasing=function(){var t=this.finalEndVal?this.finalEndVal:this.endVal;this.countDown=this.startVal>t;var i=t-this.startVal;if(Math.abs(i)>this.options.smartEasingThreshold&&this.options.useEasing){this.finalEndVal=t;var n=this.countDown?1:-1;this.endVal=t+n*this.options.smartEasingAmount,this.duration=this.duration/2}else this.endVal=t,this.finalEndVal=null;null!==this.finalEndVal?this.useEasing=!1:this.useEasing=this.options.useEasing},t.prototype.start=function(t){this.error||(this.options.onStartCallback&&this.options.onStartCallback(),t&&(this.options.onCompleteCallback=t),this.duration>0?(this.determineDirectionAndSmartEasing(),this.paused=!1,this.rAF=requestAnimationFrame(this.count)):this.printValue(this.endVal))},t.prototype.pauseResume=function(){this.paused?(this.startTime=null,this.duration=this.remaining,this.startVal=this.frameVal,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count)):cancelAnimationFrame(this.rAF),this.paused=!this.paused},t.prototype.reset=function(){cancelAnimationFrame(this.rAF),this.paused=!0,this.resetDuration(),this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.printValue(this.startVal)},t.prototype.update=function(t){cancelAnimationFrame(this.rAF),this.startTime=null,this.endVal=this.validateValue(t),this.endVal!==this.frameVal&&(this.startVal=this.frameVal,null==this.finalEndVal&&this.resetDuration(),this.finalEndVal=null,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count))},t.prototype.printValue=function(t){var i;if(this.el){var n=this.formattingFn(t);if(null===(i=this.options.plugin)||void 0===i?void 0:i.render)this.options.plugin.render(this.el,n);else if("INPUT"===this.el.tagName)this.el.value=n;else"text"===this.el.tagName||"tspan"===this.el.tagName?this.el.textContent=n:this.el.
46444innerHTML=n}},t.prototype.ensureNumber=function(t){return"number"==typeof t&&!isNaN(t)},t.prototype.validateValue=function(t){var i=Number(t);return this.ensureNumber(i)?i:(this.error="[CountUp] invalid start or end value: ".concat(t),null)},t.prototype.resetDuration=function(){this.startTime=null,this.duration=1e3*Number(this.options.duration),this.remaining=this.duration},t.prototype.parse=function(t){var i=function(t){return t.replace(/([.,'Â ])/g,"\\$1")},n=i(this.options.separator),s=i(this.options.decimal),e=t.replace(new RegExp(n,"g"),"").replace(new RegExp(s,"g"),".");return parseFloat(e)},t}();t.CountUp=n})); 46445 46446(function(t){function z(){for(var a=0;a<g.length;a++)g[a][0](g[a][1]);g=[];m=!1}function n(a,b){g.push([a,b]);m||(m=!0,A(z,0))}function B(a,b){function c(a){p(b,a)}function h(a){k(b,a)}try{a(c,h)}catch(d){h(d)}}function u(a){var b=a.owner,c=b.state_,b=b.data_,h=a[c];a=a.then;if("function"===typeof h){c=l;try{b=h(b)}catch(d){k(a,d)}}v(a,b)||(c===l&&p(a,b),c===q&&k(a,b))}function v(a,b){var c;try{if(a===b)throw new TypeError("A promises callback cannot return that same promise.");if(b&&("function"=== 46447typeof b||"object"===typeof b)){var h=b.then;if("function"===typeof h)return h.call(b,function(d){c||(c=!0,b!==d?p(a,d):w(a,d))},function(b){c||(c=!0,k(a,b))}),!0}}catch(d){return c||k(a,d),!0}return!1}function p(a,b){a!==b&&v(a,b)||w(a,b)}function w(a,b){a.state_===r&&(a.state_=x,a.data_=b,n(C,a))}function k(a,b){a.state_===r&&(a.state_=x,a.data_=b,n(D,a))}function y(a){var b=a.then_;a.then_=void 0;for(a=0;a<b.length;a++)u(b[a])}function C(a){a.state_=l;y(a)}function D(a){a.state_=q;y(a)}function e(a){if("function"!== 46448typeof a)throw new TypeError("Promise constructor takes a function argument");if(!1===this instanceof e)throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object c
46448onstructor cannot be called as a function.");this.then_=[];B(a,this)}var f=t.Promise,s=f&&"resolve"in f&&"reject"in f&&"all"in f&&"race"in f&&function(){var a;new f(function(b){a=b});return"function"===typeof a}();"undefined"!==typeof exports&&exports?(exports.Promise=s?f:e,exports.Polyfill=e):"function"== 46449typeof define&&define.amd?define(function(){return s?f:e}):s||(t.Promise=e);var r="pending",x="sealed",l="fulfilled",q="rejected",E=function(){},A="undefined"!==typeof setImmediate?setImmediate:setTimeout,g=[],m;e.prototype={constructor:e,state_:r,then_:null,data_:void 0,then:function(a,b){var c={owner:this,then:new this.constructor(E),fulfilled:a,rejected:b};this.state_===l||this.state_===q?n(u,c):this.then_.push(c);return c.then},"catch":function(a){return this.then(null,a)}};e.all=function(a){if("[object Array]"!== 46450Object.prototype.toString.call(a))throw new TypeError("You must pass an array to Promise.all().");return new this(function(b,c){function h(a){e++;return function(c){d[a]=c;--e||b(d)}}for(var d=[],e=0,f=0,g;f<a.length;f++)(g=a[f])&&"function"===typeof g.then?g.then(h(f),c):d[f]=g;e||b(d)})};e.race=function(a){if("[object Array]"!==Object.prototype.toString.call(a))throw new TypeError("You must pass an array to Promise.race().");return new this(function(b,c){for(var e=0,d;e<a.length;e++)(d=a[e])&&"function"=== 46451typeof d.then?d.then(b,c):b(d)})};e.resolve=function(a){return a&&"object"===typeof a&&a.constructor===this?a:new this(function(b){b(a)})};e.reject=function(a){return new this(function(b,c){c(a)})}})("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this); 46452 46453/*! 46454* sweetalert2 v11.22.4 46455* Released under the MIT License. 46456*/ 46457!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Sweetalert2=t()}(this,function(){"use strict";function e(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function t(t,n){return t.get(e(t,n))}function n(e,t,n){(function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")})(e,t),t.set(e,n)}const o={},i=e=>new Promise(t=>{if(!e)return t();const n=window.scrollX,i=window.scrollY;o.restoreFocusTimeout=setTimeout(()=>{o.previousActiveElement instanceof HTMLElement?(o.previousActiveElement.focus(),o.previousActiveElement=null):document.body&&document.body.focus(),t()},100),window.scrollTo(n,i)}),s="swal2-",r=["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","show","hide","close","title","html-container","actions","confirm","deny","cancel","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","input-label","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loader","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","timer-progress-bar-container","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error","draggable","dragging"].reduce((e,t)=>(e[t]=s+t,e),{}),a=["success","warning","info","question","error"].reduce((e,t)=>(e[t]=s+t,e),{}),l="SweetAlert2:",c=e=>e.charAt(0).toUpperCase()+e.slice(1),u=e=>{console.warn(`${l} ${"object"==typeof e?e.join(" "):e}`)},d=e=>{console.error(`${l} ${e}`)},p=[],m=(e,t=null)=>{var n;n=`"${e}" is deprecated and will be removed in the next major release.${t?` Use "${t}" instead.`:""}`,p.includes(n)||(p.push(n),u(n))},h=e=>"function"==typeof e?e():e,g=e=>e&&"function"==typeof e.toPromise,f=e=>g(e)?e.toPromise():Promise.resolve(e),b=e=>e&&Promise.resolve(e)===e,y=()=>document.body.querySelector(`.${r.container}`),v=e=>{const t=y();return t?t.querySelector(e):null},w=e=>v(`.${e}`),C=()=>w(r.popup),A=()=>w(r.icon),E=()=>w(r.title),k=()=>w(r["html-container"]),B=()=>w(r.image),$=()=>w(r["progress-steps"]),L=()=>w(r["validation-message"]),P=()=>v(`.${r.actions} .${r.confirm}`),x=()=>v(`.${r.actions} .${r.cancel}`),T=()=>v(`.${r.actions} .${r.deny}`),S=()=>v(`.${r.loader}`),O=()=>w(r.actions),M=()=>w(r.footer),j=()=>w(r["timer-progress-bar"]),H=()=>w(r.close),I=()=>{const e=C();if(!e)return[];
vendor: 6,366 bytes, line 46457
46457const t=e.querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])'),n=Array.from(t).sort((e,t)=>{const n=parseInt(e.getAttribute("tabindex")||"0"),o=parseInt(t.getAttribute("tabindex")||"0");return n>o?1:n<o?-1:0}),o=e.querySelectorAll('\n a[href],\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n [tabindex="0"],\n [contenteditable],\n audio[controls],\n video[controls],\n summary\n'),i=Array.from(o).filter(e=>"-1"!==e.getAttribute("tabindex"));return[...new Set(n.concat(i))].filter(e=>ee(e))},D=()=>N(document.body,r.shown)&&!N(document.body,r["toast-shown"])&&!N(document.body,r["no-backdrop"]),V=()=>{const e=C();return!!e&&N(e,r.toast)},q=(e,t)=>{if(e.textContent="",t){const n=(new DOMParser).parseFromString(t,"text/html"),o=n.querySelector("head");o&&Array.from(o.childNodes).forEach(t=>{e.appendChild(t)});const i=n.querySelector("body");i&&Array.from(i.childNodes).forEach(t=>{t instanceof HTMLVideoElement||t instanceof HTMLAudioElement?e.appendChild(t.cloneNode(!0)):e.appendChild(t)})}},N=(e,t)=>{if(!t)return!1;const n=t.split(/\s+/);for(let t=0;t<n.length;t++)if(!e.classList.contains(n[t]))return!1;return!0},_=(e,t,n)=>{if(((e,t)=>{Array.from(e.classList).forEach(n=>{Object.values(r).includes(n)||Object.values(a).includes(n)||Object.values(t.showClass||{}).includes(n)||e.classList.remove(n)})})(e,t),!t.customClass)return;const o=t.customClass[n];o&&("string"==typeof o||o.forEach?z(e,o):u(`Invalid type of customClass.${n}! Expected string or iterable object, got "${typeof o}"`))},F=(e,t)=>{if(!t)return null;switch(t){case"select":case"textarea":case"file":return e.querySelector(`.${r.popup} > .${r[t]}`);case"checkbox":return e.querySelector(`.${r.popup} > .${r.checkbox} input`);case"radio":return e.querySelector(`.${r.popup} > .${r.radio} input:checked`)||e.querySelector(`.${r.popup} > .${r.radio} input:first-child`);case"range":return e.querySelector(`.${r.popup} > .${r.range} input`);default:return e.querySelector(`.${r.popup} > .${r.input}`)}},R=e=>{if(e.focus(),"file"!==e.type){const t=e.value;e.value="",e.value=t}},U=(e,t,n)=>{e&&t&&("string"==typeof t&&(t=t.split(/\s+/).filter(Boolean)),t.forEach(t=>{Array.isArray(e)?e.forEach(e=>{n?e.classList.add(t):e.classList.remove(t)}):n?e.classList.add(t):e.classList.remove(t)}))},z=(e,t)=>{U(e,t,!0)},W=(e,t)=>{U(e,t,!1)},K=(e,t)=>{const n=Array.from(e.children);for(let e=0;e<n.length;e++){const o=n[e];if(o instanceof HTMLElement&&N(o,t))return o}},Y=(e,t,n)=>{n===`${parseInt(n)}`&&(n=parseInt(n)),n||0===parseInt(n)?e.style.setProperty(t,"number"==typeof n?`${n}px`:n):e.style.removeProperty(t)},X=(e,t="flex")=>{e&&(e.style.display=t)},Z=e=>{e&&(e.style.display="none")},J=(e,t="block")=>{e&&new MutationObserver(()=>{Q(e,e.innerHTML,t)}).observe(e,{childList:!0,subtree:!0})},G=(e,t,n,o)=>{const i=e.querySelector(t);i&&i.style.setProperty(n,o)},Q=(e,t,n="flex")=>{t?X(e,n):Z(e)},ee=e=>!(!e||!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)),te=e=>!!(e.scrollHeight>e.clientHeight),ne=e=>{const t=window.getComputedStyle(e),n=parseFloat(t.getPropertyValue("animation-duration")||"0"),o=parseFloat(t.getPropertyValue("transition-duration")||"0");return n>0||o>0},oe=(e,t=!1)=>{const n=j();n&&ee(n)&&(t&&(n.style.transition="none",n.style.width="100%"),setTimeout(()=>{n.style.transition=`width ${e/1e3}s linear`,n.style.width="0%"},10))},ie=`\n <div aria-labelledby="${r.title}" aria-describedby="${r["html-container"]}" class="${r.popup}" tabindex="-1">\n <button type="button" class="${r.close}"></button>\n <ul class="${r["progress-steps"]}"></ul>\n <div class="${r.icon}"></div>\n <img class="${r.image}" />\n <h2 class="${r.title}" id="${r.title}"></h2>\n <div class="${r["html-container"]}" id="${r["html-container"]}"></div>\n <input class="${r.input}" id="${r.input}" />\n <input type="file" class="${r.file}" />\n <div class="${r.range}">\n <input type="range" />\n <output></output>\n </div>\n <select class="${r.select}" id="${r.select}"></select>\n <div class="${r.radio}"></div>\n <label class="${r.checkbox}">\n <input type="checkbox" id="${r.checkbox}" />\n <span class="${r.label}"></span>\n </label>\n <textarea class="${r.textarea}" id="${r.textarea}"></textarea>\n <div class="${r["validation-message"]}" id="${r["validation-message"]}"></div>\n <div class="${r.actions}">\n <div class="${r.loader}"></div>\n <button type="button" class="${r.confirm}"></button>\n <button type="button" class="${r.deny}"></button>\n <button type="button" class="${r.cancel}"></button>\n </div>\n <div class="${r.footer}"></div>\n <div class="${r["timer-progress-bar-container"]}">\n <div class="${r["timer-progress-bar"]}"></div>\n </div>\n </div>\n`.replace(/(^|\n)\s*/g,""),se=()=>{o.currentInstance.resetValidationMessage()},re=e=>{const t=(()=>{const e=y();return!!e&&(e.remove(),W([document.documentElement,document.body],[r["no-backdrop"],r["toast-shown"],r["has-column"]]),!0)})();if("undefined"==typeof window||"undefined"==typeof document)return void d("SweetAlert2 requires document to initialize");const n=document.createElement("div");n.className=r.container,t&&z(n,r["no-transition"]),q(n,ie),n.dataset.swal2Theme=e.theme;const o="string"==typeof(i=e.target)?document.querySelector(i):i;var i;o.appendChild(n),e.topLayer&&(n.setAttribute("popover",""),n.showPopover()),(e=>{const t=C();t.setAttribute("role",e.toast?"alert":"dialog"),t.setAttribute("aria-live",e.toast?"polite":"assertive"),e.toast||t.setAttribute("aria-modal","true")})(e),(e=>{"rtl"===window.getComputedStyle(e).direction&&z(y(),r.rtl)})(o),(()=>{const e=C(),t=K(e,r.input),n=K(e,r.file),o=e.querySelector(`.${r.range} input`),i=e.querySelector(`.${r.range} output`),s=K(e,r.select),a=e.querySelector(`.${r.checkbox} input`),l=K(e,r.textarea);t.oninput=se,n.onchange=se,s.onchange=se,a.onchange=se,l.oninput=se,o.oninput=()=>{se(),i.value=o.value},o.onchange=()=>{se(),i.value=o.value}})()},ae=(e,t)=>{e instanceof HTMLElement?t.appendChild(e):"object"==typeof e?le(e,t):e&&q(t,e)},le=(e,t)=>{e.jquery?ce(t,e):q(t,e.toString())},ce=(e,t)=>{if(e.textContent="",0 in t)for(let n=0;n in t;n++)e.appendChild(t[n].cloneNode(!0));else e.appendChild(t.cloneNode(!0))},ue=(e,t)=>
vendor: 4,475 bytes, line 46457
46457{const n=O(),o=S();n&&o&&(t.showConfirmButton||t.showDenyButton||t.showCancelButton?X(n):Z(n),_(n,t,"actions"),function(e,t,n){const o=P(),i=T(),s=x();if(!o||!i||!s)return;pe(o,"confirm",n),pe(i,"deny",n),pe(s,"cancel",n),function(e,t,n,o){if(!o.buttonsStyling)return void W([e,t,n],r.styled);z([e,t,n],r.styled),o.confirmButtonColor&&e.style.setProperty("--swal2-confirm-button-background-color",o.confirmButtonColor);o.denyButtonColor&&t.style.setProperty("--swal2-deny-button-background-color",o.denyButtonColor);o.cancelButtonColor&&n.style.setProperty("--swal2-cancel-button-background-color",o.cancelButtonColor);de(e),de(t),de(n)}(o,i,s,n),n.reverseButtons&&(n.toast?(e.insertBefore(s,o),e.insertBefore(i,o)):(e.insertBefore(s,t),e.insertBefore(i,t),e.insertBefore(o,t)))}(n,o,t),q(o,t.loaderHtml||""),_(o,t,"loader"))};function de(e){const t=window.getComputedStyle(e);if(t.getPropertyValue("--swal2-action-button-focus-box-shadow"))return;const n=t.backgroundColor.replace(/rgba?\((\d+), (\d+), (\d+).*/,"rgba($1, $2, $3, 0.5)");e.style.setProperty("--swal2-action-button-focus-box-shadow",t.getPropertyValue("--swal2-outline").replace(/ rgba\(.*/,` ${n}`))}function pe(e,t,n){const o=c(t);Q(e,n[`show${o}Button`],"inline-block"),q(e,n[`${t}ButtonText`]||""),e.setAttribute("aria-label",n[`${t}ButtonAriaLabel`]||""),e.className=r[t],_(e,n,`${t}Button`)}const me=(e,t)=>{const n=y();n&&(!function(e,t){"string"==typeof t?e.style.background=t:t||z([document.documentElement,document.body],r["no-backdrop"])}(n,t.backdrop),function(e,t){if(!t)return;t in r?z(e,r[t]):(u('The "position" parameter is not valid, defaulting to "center"'),z(e,r.center))}(n,t.position),function(e,t){if(!t)return;z(e,r[`grow-${t}`])}(n,t.grow),_(n,t,"container"))};var he={innerParams:new WeakMap,domCache:new WeakMap};const ge=["input","file","range","select","radio","checkbox","textarea"],fe=e=>{if(!e.input)return;if(!Ee[e.input])return void d(`Unexpected type of input! Expected ${Object.keys(Ee).join(" | ")}, got "${e.input}"`);const t=Ce(e.input);if(!t)return;const n=Ee[e.input](t,e);X(t),e.inputAutoFocus&&setTimeout(()=>{R(n)})},be=(e,t)=>{const n=C();if(!n)return;const o=F(n,e);if(o){(e=>{for(let t=0;t<e.attributes.length;t++){const n=e.attributes[t].name;["id","type","value","style"].includes(n)||e.removeAttribute(n)}})(o);for(const e in t)o.setAttribute(e,t[e])}},ye=e=>{if(!e.input)return;const t=Ce(e.input);t&&_(t,e,"input")},ve=(e,t)=>{!e.placeholder&&t.inputPlaceholder&&(e.placeholder=t.inputPlaceholder)},we=(e,t,n)=>{if(n.inputLabel){const o=document.createElement("label"),i=r["input-label"];o.setAttribute("for",e.id),o.className=i,"object"==typeof n.customClass&&z(o,n.customClass.inputLabel),o.innerText=n.inputLabel,t.insertAdjacentElement("beforebegin",o)}},Ce=e=>{const t=C();if(t)return K(t,r[e]||r.input)},Ae=(e,t)=>{["string","number"].includes(typeof t)?e.value=`${t}`:b(t)||u(`Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof t}"`)},Ee={};Ee.text=Ee.email=Ee.password=Ee.number=Ee.tel=Ee.url=Ee.search=Ee.date=Ee["datetime-local"]=Ee.time=Ee.week=Ee.month=(e,t)=>(Ae(e,t.inputValue),we(e,e,t),ve(e,t),e.type=t.input,e),Ee.file=(e,t)=>(we(e,e,t),ve(e,t),e),Ee.range=(e,t)=>{const n=e.querySelector("input"),o=e.querySelector("output");return Ae(n,t.inputValue),n.type=t.input,Ae(o,t.inputValue),we(n,e,t),e},Ee.select=(e,t)=>{if(e.textContent="",t.inputPlaceholder){const n=document.createElement("option");q(n,t.inputPlaceholder),n.value="",n.disabled=!0,n.selected=!0,e.appendChild(n)}return we(e,e,t),e},Ee.radio=e=>(e.textContent="",e),Ee.checkbox=(e,t)=>{const n=F(C(),"checkbox");n.value="1",n.checked=Boolean(t.inputValue);const o=e.querySelector("span");return q(o,t.inputPlaceholder||t.inputLabel),n},Ee.textarea=(e,t)=>{Ae(e,t.inputValue),ve(e,t),we(e,e,t);return setTimeout(()=>{if("MutationObserver"in window){const n=parseInt(window.getComputedStyle(C()).width);new MutationObserver(()=>{if(!document.body.contains(e))return;const o=e.offsetWidth+(i=e,parseInt(window.getComputedStyle(i).marginLeft)+parseInt(window.getComputedStyle(i).marginRight));var i;o>n?C().style.width=`${o}px`:Y(C(),"width",t.width)}).observe(e,{attributes:!0,attributeFilter:["style"]})}}),e};const ke=(e,t)=>{const n=k();n&&(J(n),_(n,t,"htmlContainer"),t.html?(ae(t.html,n),X(n,"block")):t.text?(n.textContent=t.text,X(n,"block")):Z(n),((e,t)=>{const n=C();if(!n)return;const o=he.innerParams.get(e),i=!o||t.input!==o.input;
vendor: 4,859 bytes, line 46457
46457ge.forEach(e=>{const o=K(n,r[e]);o&&(be(e,t.inputAttributes),o.className=r[e],i&&Z(o))}),t.input&&(i&&fe(t),ye(t))})(e,t))},Be=(e,t)=>{for(const[n,o]of Object.entries(a))t.icon!==n&&W(e,o);z(e,t.icon&&a[t.icon]),Pe(e,t),$e(),_(e,t,"icon")},$e=()=>{const e=C();if(!e)return;const t=window.getComputedStyle(e).getPropertyValue("background-color"),n=e.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix");for(let e=0;e<n.length;e++)n[e].style.backgroundColor=t},Le=(e,t)=>{if(!t.icon&&!t.iconHtml)return;let n=e.innerHTML,o="";if(t.iconHtml)o=xe(t.iconHtml);else if("success"===t.icon)o=(e=>`\n ${e.animation?'<div class="swal2-success-circular-line-left"></div>':""}\n <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>\n <div class="swal2-success-ring"></div>\n ${e.animation?'<div class="swal2-success-fix"></div>':""}\n ${e.animation?'<div class="swal2-success-circular-line-right"></div>':""}\n`)(t),n=n.replace(/ style=".*?"/g,"");else if("error"===t.icon)o='\n <span class="swal2-x-mark">\n <span class="swal2-x-mark-line-left"></span>\n <span class="swal2-x-mark-line-right"></span>\n </span>\n';else if(t.icon){o=xe({question:"?",warning:"!",info:"i"}[t.icon])}n.trim()!==o.trim()&&q(e,o)},Pe=(e,t)=>{if(t.iconColor){e.style.color=t.iconColor,e.style.borderColor=t.iconColor;for(const n of[".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"])G(e,n,"background-color",t.iconColor);G(e,".swal2-success-ring","border-color",t.iconColor)}},xe=e=>`<div class="${r["icon-content"]}">${e}</div>`;let Te=!1,Se=0,Oe=0,Me=0,je=0;const He=e=>{const t=C();if(e.target===t||A().contains(e.target)){Te=!0;const n=Ve(e);Se=n.clientX,Oe=n.clientY,Me=parseInt(t.style.insetInlineStart)||0,je=parseInt(t.style.insetBlockStart)||0,z(t,"swal2-dragging")}},Ie=e=>{const t=C();if(Te){let{clientX:n,clientY:o}=Ve(e);t.style.insetInlineStart=`${Me+(n-Se)}px`,t.style.insetBlockStart=`${je+(o-Oe)}px`}},De=()=>{const e=C();Te=!1,W(e,"swal2-dragging")},Ve=e=>{let t=0,n=0;return e.type.startsWith("mouse")?(t=e.clientX,n=e.clientY):e.type.startsWith("touch")&&(t=e.touches[0].clientX,n=e.touches[0].clientY),{clientX:t,clientY:n}},qe=(e,t)=>{const n=y(),o=C();if(n&&o){if(t.toast){Y(n,"width",t.width),o.style.width="100%";const e=S();e&&o.insertBefore(e,A())}else Y(o,"width",t.width);Y(o,"padding",t.padding),t.color&&(o.style.color=t.color),t.background&&(o.style.background=t.background),Z(L()),Ne(o,t),t.draggable&&!t.toast?(z(o,r.draggable),(e=>{e.addEventListener("mousedown",He),document.body.addEventListener("mousemove",Ie),e.addEventListener("mouseup",De),e.addEventListener("touchstart",He),document.body.addEventListener("touchmove",Ie),e.addEventListener("touchend",De)})(o)):(W(o,r.draggable),(e=>{e.removeEventListener("mousedown",He),document.body.removeEventListener("mousemove",Ie),e.removeEventListener("mouseup",De),e.removeEventListener("touchstart",He),document.body.removeEventListener("touchmove",Ie),e.removeEventListener("touchend",De)})(o))}},Ne=(e,t)=>{const n=t.showClass||{};e.className=`${r.popup} ${ee(e)?n.popup:""}`,t.toast?(z([document.documentElement,document.body],r["toast-shown"]),z(e,r.toast)):z(e,r.modal),_(e,t,"popup"),"string"==typeof t.customClass&&z(e,t.customClass),t.icon&&z(e,r[`icon-${t.icon}`])},_e=e=>{const t=document.createElement("li");return z(t,r["progress-step"]),q(t,e),t},Fe=e=>{const t=document.createElement("li");return z(t,r["progress-step-line"]),e.progressStepsDistance&&Y(t,"width",e.progressStepsDistance),t},Re=(e,t)=>{qe(0,t),me(0,t),((e,t)=>{const n=$();if(!n)return;const{progressSteps:o,currentProgressStep:i}=t;o&&0!==o.length&&void 0!==i?(X(n),n.textContent="",i>=o.length&&u("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),o.forEach((e,s)=>{const a=_e(e);if(n.appendChild(a),s===i&&z(a,r["active-progress-step"]),s!==o.length-1){const e=Fe(t);n.appendChild(e)}})):Z(n)})(0,t),((e,t)=>{const n=he.innerParams.get(e),o=A();if(!o)return;if(n&&t.icon===n.icon)return Le(o,t),void Be(o,t);if(!t.icon&&!t.iconHtml)return void Z(o);if(t.icon&&-1===Object.keys(a).indexOf(t.icon))return d(`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${t.icon}"`),void Z(o);X(o),Le(o,t),Be(o,t),z(o,t.showClass&&t.showClass.icon),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",$e)})(e,t),((e,t)=>{const n=B();n&&(t.imageUrl?(X(n,""),n.setAttribute("src",t.imageUrl),n.setAttribute("alt",t.imageAlt||""),Y(n,"width",t.imageWidth),Y(n,"height",t.imageHeight),n.className=r.image,_(n,t,"image")):Z(n))})(0,t),((e,t)=>{const n=E();n&&(J(n),Q(n,t.title||t.titleText,"block"),t.title&&ae(t.title,n),t.titleText&&(n.innerText=t.titleText),_(n,t,"t
46457itle"))})(0,t),((e,t)=>{const n=H();n&&(q(n,t.closeButtonHtml||""),_(n,t,"closeButton"),Q(n,t.showCloseButton),n.setAttribute("aria-label",t.closeButtonAriaLabel||""))})(0,t),ke(e,t),ue(0,t),((e,t)=>{const n=M();n&&(J(n),Q(n,t.footer,"block"),t.footer&&ae(t.footer,n),_(n,t,"footer"))})(0,t);const n=C();"function"==typeof t.didRender&&n&&t.didRender(n),o.eventEmitter.emit("didRender",n)},Ue=()=>{var e;return null===(e=P())||void 0===e?void 0:e.click()},ze=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),We=e=>{e.keydownTarget&&e.keydownHandlerAdded&&(e.keydownTarget.removeEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=!1)},Ke=(e,t)=>{var n;const o=I();if(o.length)return-2===(e+=t)&&(e=o.length-1),e===o.length?e=0:-1===e&&(e=o.length-1),void o[e].focus();null===(n=C())||void 0===n||n.focus()},Ye=["ArrowRight","ArrowDown"],Xe=["ArrowLeft","ArrowUp"],Ze=(e,t,n)=>{e&&(t.isComposing||229===t.keyCode||(e.stopKeydownPropagation&&t.stopPropagation(),"Enter"===t.key?Je(t,e):"Tab"===t.key?Ge(t):[...Ye,...Xe].includes(t.key)?Qe(t.key):"Escape"===t.key&&et(t,e,n)))},Je=(e,t)=>{if(!h(t.allowEnterKey))return;const n=F(C(),t.input);if(e.target&&n&&e.target instanceof HTMLElement&&e.target.outerHTML===n.outerHTML){if(["textarea","file"].includes(t.input))return;Ue(),e.preventDefault()}},Ge=e=>{const t=e.target,n=I();let o=-1;for(let e=0;e<n.length;e++)if(t===n[e]){o=e;break}e.shiftKey?Ke(o,-1):Ke(o,1),e.stopPropagation(),e.preventDefault()},Qe=e=>{const t=O(),n=P(),o=T(),i=x();if(!(t&&n&&o&&i))return;const s=[n,o,i];if(document.activeElement instanceof HTMLElement&&!s.includes(document.activeElement))return;const r=Ye.includes(e)?"nextElementSibling":"previousElementSibling";let a=document.activeElement;if(a){for(let e=0;e<t.children.length;e++){if(a=a[r],!a)return;if(a instanceof HTMLButtonElement&&ee(a))break}a instanceof HTMLButtonElement&&a.focus()}},et=(e,t,n)=>{e.preventDefault(),h(t.allowEscapeKey)&&n(ze.esc)};var tt={swalPromiseResolve:new WeakMap,swalPromiseReject:new WeakMap};const nt=()=>{Array.from(document.body.children).forEach(e=>{e.hasAttribute("data-previous-aria-hidden")?(e.setAttribute("aria-hidden",e.getAttribute("data-previous-aria-hidden")||""),e.removeAttribute("data-previous-aria-hidden")):e.removeAttribute("aria-hidden")})},ot="undefined"!=typeof window&&!!window.GestureEvent,it=()=>{const e=y();if(!e)return;let t;e.ontouchstart=e=>{t=st(e)},e.ontouchmove=e=>{t&&(e.preventDefault(),e.stopPropagation())}},st=e=>{const t=e.target,n=y(),o=k();return!(!n||!o)&&(!rt(e)&&!at(e)&&(t===n||!(te(n)||!(t instanceof HTMLElement)||((e,t)=>{let n=e;for(;n&&n!==t;){if(te(n))return!0;n=n.parentElement}return!1})(t,o)||"INPUT"===t.tagName||"TEXTAREA"===t.tagName||te(o)&&o.contains(t))))},rt=e=>e.touches&&e.touches.length&&"stylus"===e.touches[0].touchType,at=e=>e.touches&&e.touches.length>1;let lt=null;const ct=e=>{null===lt&&(document.body.scrollHeight>window.innerHeight||"scroll"===e)&&(lt=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight=`${lt+(()=>{const e=document.createElement("div");e.className=r["scrollbar-measure"],document.body.appendChild(e);const t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t})()}px`)};function ut(e,t,n,s){V()?yt(e,s):(i(n).then(()=>yt(e,s)),We(o)),ot?(t.setAttribute("style","display:none !important"),t.removeAttribute("class"),t.innerHTML=""):t.remove(),D()&&(null!==lt&&(document.body.style.paddingRight=`${lt}px`,lt=null),(()=>{if(N(document.body,r.iosfix)){const e=parseInt(document.body.style.top,10);W(document.body,r.iosfix),document.body.style.top="",document.body.scrollTop=-1*e}})(),nt()),W([document.documentElement,document.body],[r.shown,r["height-auto"],r["no-backdrop"],r["toast-shown"]])}function dt(e){e=gt(e);const t=tt.swalPromiseResolve.get(this),n=pt(this);this.isAwaitingPromise?e.isDismissed||(ht(this),t(e)):n&&t(e)}const pt=e=>{const t=C();if(!t)return!1;const n=he.innerParams.get(e);if(!n||N(t,n.hideClass.popup))return!1;W(t,n.showClass.popup),z(t,n.hideClass.popup);const o=y();return W(o,n.showClass.backdrop),z(o,n.hideClass.backdrop),ft(e,t,n),!0};function mt(e){const t=tt.swalPromiseReject.get(this);ht(this),t&&t(e)}const ht=e=>{e.isAwaitingPromise&&(delete e.isAwaitingPromise,he.innerParams.get(e)||e._destroy())},gt=e=>void 0===e?{isConfirmed:!1,isDenied:!1,isDismissed:!0}:Object.assign({isConfirmed:!1,isDenied:!1,isDismissed:!1},e),ft=(e,t,n)=>{var i;const s=y(),r=ne(t);"function"==typeof n.willClose&&n.willClose(t),null===(i=o.eventEmitter)||void 0===i||i.emit("willClose",t),r?bt(e,t,s,n.returnFocus,n.didClose):ut(e,s,n.returnFocus,n.didClose)},bt=(e,t,n,i,s)=>{o.swalCloseEventFinishedCallback=ut.bind(null,e,n,i,s);const r=function(e){var n;e.target===t&&(null===(n=o.swalCloseEventFinishedCallback)||void 0===n||n.call(o),delete o.swalCloseEventFinishedCallback,t.removeEventListener("animationend",r),t.removeEventListener("transitionend",r))};t.addEventListener("animationend",r),t.addEventListener("transitionend",r)},yt=(e,t)=>
vendor: 1,760 bytes, line 46457
46457{setTimeout(()=>{var n;"function"==typeof t&&t.bind(e.params)(),null===(n=o.eventEmitter)||void 0===n||n.emit("didClose"),e._destroy&&e._destroy()})},vt=e=>{let t=C();if(t||new Qn,t=C(),!t)return;const n=S();V()?Z(A()):wt(t,e),X(n),t.setAttribute("data-loading","true"),t.setAttribute("aria-busy","true"),t.focus()},wt=(e,t)=>{const n=O(),o=S();n&&o&&(!t&&ee(P())&&(t=P()),X(n),t&&(Z(t),o.setAttribute("data-button-to-replace",t.className),n.insertBefore(o,t)),z([e,n],r.loading))},Ct=e=>e.checked?1:0,At=e=>e.checked?e.value:null,Et=e=>e.files&&e.files.length?null!==e.getAttribute("multiple")?e.files:e.files[0]:null,kt=(e,t)=>{const n=C();if(!n)return;const o=e=>{"select"===t.input?function(e,t,n){const o=K(e,r.select);if(!o)return;const i=(e,t,o)=>{const i=document.createElement("option");i.value=o,q(i,t),i.selected=Lt(o,n.inputValue),e.appendChild(i)};t.forEach(e=>{const t=e[0],n=e[1];if(Array.isArray(n)){const e=document.createElement("optgroup");e.label=t,e.disabled=!1,o.appendChild(e),n.forEach(t=>i(e,t[1],t[0]))}else i(o,n,t)}),o.focus()}(n,$t(e),t):"radio"===t.input&&function(e,t,n){const o=K(e,r.radio);if(!o)return;t.forEach(e=>{const t=e[0],i=e[1],s=document.createElement("input"),a=document.createElement("label");s.type="radio",s.name=r.radio,s.value=t,Lt(t,n.inputValue)&&(s.checked=!0);const l=document.createElement("span");q(l,i),l.className=r.label,a.appendChild(s),a.appendChild(l),o.appendChild(a)});const i=o.querySelectorAll("input");i.length&&i[0].focus()}(n,$t(e),t)};g(t.inputOptions)||b(t.inputOptions)?(vt(P()),f(t.inputOptions).then(t=>{e.hideLoading(),o(t)})):"object"==typeof t.inputOptions?o(t.inputOptions):d("Unexpected type of inputOptions! Expected object, Map or Promise, got "+typeof t.inputOptions)},Bt=(e,t)=>
vendor: 14,706 bytes, line 46457
46457{const n=e.getInput();n&&(Z(n),f(t.inputValue).then(o=>{n.value="number"===t.input?`${parseFloat(o)||0}`:`${o}`,X(n),n.focus(),e.hideLoading()}).catch(t=>{d(`Error in inputValue promise: ${t}`),n.value="",X(n),n.focus(),e.hideLoading()}))};const $t=e=>{const t=[];return e instanceof Map?e.forEach((e,n)=>{let o=e;"object"==typeof o&&(o=$t(o)),t.push([n,o])}):Object.keys(e).forEach(n=>{let o=e[n];"object"==typeof o&&(o=$t(o)),t.push([n,o])}),t},Lt=(e,t)=>!!t&&t.toString()===e.toString(),Pt=(e,t)=>{const n=he.innerParams.get(e);if(!n.input)return void d(`The "input" parameter is needed to be set when using returnInputValueOn${c(t)}`);const o=e.getInput(),i=((e,t)=>{const n=e.getInput();if(!n)return null;switch(t.input){case"checkbox":return Ct(n);case"radio":return At(n);case"file":return Et(n);default:return t.inputAutoTrim?n.value.trim():n.value}})(e,n);n.inputValidator?xt(e,i,t):o&&!o.checkValidity()?(e.enableButtons(),e.showValidationMessage(n.validationMessage||o.validationMessage)):"deny"===t?Tt(e,i):Mt(e,i)},xt=(e,t,n)=>{const o=he.innerParams.get(e);e.disableInput();Promise.resolve().then(()=>f(o.inputValidator(t,o.validationMessage))).then(o=>{e.enableButtons(),e.enableInput(),o?e.showValidationMessage(o):"deny"===n?Tt(e,t):Mt(e,t)})},Tt=(e,t)=>{const n=he.innerParams.get(e||void 0);if(n.showLoaderOnDeny&&vt(T()),n.preDeny){e.isAwaitingPromise=!0;Promise.resolve().then(()=>f(n.preDeny(t,n.validationMessage))).then(n=>{!1===n?(e.hideLoading(),ht(e)):e.close({isDenied:!0,value:void 0===n?t:n})}).catch(t=>Ot(e||void 0,t))}else e.close({isDenied:!0,value:t})},St=(e,t)=>{e.close({isConfirmed:!0,value:t})},Ot=(e,t)=>{e.rejectPromise(t)},Mt=(e,t)=>{const n=he.innerParams.get(e||void 0);if(n.showLoaderOnConfirm&&vt(),n.preConfirm){e.resetValidationMessage(),e.isAwaitingPromise=!0;Promise.resolve().then(()=>f(n.preConfirm(t,n.validationMessage))).then(n=>{ee(L())||!1===n?(e.hideLoading(),ht(e)):St(e,void 0===n?t:n)}).catch(t=>Ot(e||void 0,t))}else St(e,t)};function jt(){const e=he.innerParams.get(this);if(!e)return;const t=he.domCache.get(this);Z(t.loader),V()?e.icon&&X(A()):Ht(t),W([t.popup,t.actions],r.loading),t.popup.removeAttribute("aria-busy"),t.popup.removeAttribute("data-loading"),t.confirmButton.disabled=!1,t.denyButton.disabled=!1,t.cancelButton.disabled=!1}const Ht=e=>{const t=e.popup.getElementsByClassName(e.loader.getAttribute("data-button-to-replace"));t.length?X(t[0],"inline-block"):ee(P())||ee(T())||ee(x())||Z(e.actions)};function It(){const e=he.innerParams.get(this),t=he.domCache.get(this);return t?F(t.popup,e.input):null}function Dt(e,t,n){const o=he.domCache.get(e);t.forEach(e=>{o[e].disabled=n})}function Vt(e,t){const n=C();if(n&&e)if("radio"===e.type){const e=n.querySelectorAll(`[name="${r.radio}"]`);for(let n=0;n<e.length;n++)e[n].disabled=t}else e.disabled=t}function qt(){Dt(this,["confirmButton","denyButton","cancelButton"],!1)}function Nt(){Dt(this,["confirmButton","denyButton","cancelButton"],!0)}function _t(){Vt(this.getInput(),!1)}function Ft(){Vt(this.getInput(),!0)}function Rt(e){const t=he.domCache.get(this),n=he.innerParams.get(this);q(t.validationMessage,e),t.validationMessage.className=r["validation-message"],n.customClass&&n.customClass.validationMessage&&z(t.validationMessage,n.customClass.validationMessage),X(t.validationMessage);const o=this.getInput();o&&(o.setAttribute("aria-invalid","true"),o.setAttribute("aria-describedby",r["validation-message"]),R(o),z(o,r.inputerror))}function Ut(){const e=he.domCache.get(this);e.validationMessage&&Z(e.validationMessage);const t=this.getInput();t&&(t.removeAttribute("aria-invalid"),t.removeAttribute("aria-describedby"),W(t,r.inputerror))}const zt={title:"",titleText:"",text:"",html:"",footer:"",icon:void 0,iconColor:void 0,iconHtml:void 0,template:void 0,toast:!1,draggable:!1,animation:!0,theme:"light",showClass:{popup:"swal2-show",backdrop:"swal2-backdrop-show",icon:"swal2-icon-show"},hideClass:{popup:"swal2-hide",backdrop:"swal2-backdrop-hide",icon:"swal2-icon-hide"},customClass:{},target:"body",color:void 0,backdrop:!0,heightAuto:!0,allowOutsideClick:!0,allowEscapeKey:!0,allowEnterKey:!0,stopKeydownPropagation:!0,keydownListenerCapture:!1,showConfirmButton:!0,showDenyButton:!1,showCancelButton:!1,preConfirm:void 0,preDeny:void 0,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:void 0,denyButtonText:"No",denyButtonAriaLabel:"",denyButtonColor:void 0,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:void 0,buttonsStyling:!0,reverseButtons:!1,focusConfirm:!0,focusDeny:!1,focusCancel:!1,returnFocus:!0,showCloseButton:!1,closeButtonHtml:"×",closeButtonAriaLabel:"Close this dialog",loaderHtml:"",showLoaderOnConfirm:!1,showLoaderOnDeny:!1,imageUrl:void 0,imageWidth:void 0,imageHeight:void 0,imageAlt:"",timer:void 0,timerProgressBar:!1,width:void 0,padding:void 0,background:void 0,input:void 0,inputPlaceholder:"",inputLabel:"",inputValue:"",inputOptions:{},inputAutoFocus:!0,inputAutoTrim:!0,inputAttributes:{},inputValidator:void 0,returnInputValueOnDeny:!1,validationMessage:void 0,grow:!1,position:"center",progressSteps:[],currentProgressStep:void 0,progressStepsDistance:void 0,willOpen:void 0,didOpen:void 0,didRender:void 0,willClose:void 0,didClose:void 0,didDestroy:void 0,scrollbarPadding:!0,topLayer:!1},Wt=["allowEscapeKey","allowOutsideClick","background","buttonsStyling","cancelButtonAriaLabel","cancelButtonColor","cancelButtonText","closeButtonAriaLabel","closeButtonHtml","color","confirmButtonAriaLabel","confirmButtonColor","confirmButtonText","currentProgressStep","customClass","denyButtonAriaLabel","denyButtonColor","denyButtonText","didClose","didDestroy","draggable","footer","hideClass","html","icon","iconColor","iconHtml","imageAlt","imageHeight","imageUrl","imageWidth","preConfirm","preDeny","progressSteps","returnFocus","reverseButtons","showCancelButton","showCloseButton","showConfirmButton","showDenyButton","text","title","titleText","theme","willClose"],Kt={allowEnterKey:void 0},Yt=["allowOutsideClick","allowEnterKey","backdrop","draggable","focusConfirm","focusDeny","focusCancel","returnFocus","heightAuto","keydownListenerCapture"],Xt=e=>Object.prototype.hasOwnProperty.call(zt,e),Zt=e=>-1!==Wt.indexOf(e),Jt=e=>Kt[e],Gt=e=>{Xt(e)||u(`Unknown parameter "${e}"`)},Qt=e=>{Yt.includes(e)&&u(`The parameter "${e}" is incompatible with toasts`)},en=e=>{const t=Jt(e);t&&m(e,t)},tn=e=>{!1===e.backdrop&&e.allowOutsideClick&&u('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'),e.theme&&!["light","dark","auto","minimal","borderless","embed-iframe","bulma","bulma-light","bulma-dark"].includes(e.theme)&&u(`Invalid theme "${e.theme}"`);for(const t in e)Gt(t),e.toast&&Qt(t),en(t)};function nn(e){const t=y(),n=C(),o=he.innerParams.get(this);if(!n||N(n,o.hideClass.popup))return void u("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.");const i=on(e),s=Object.assign({},o,i);tn(s),t.dataset.swal2Theme=s.theme,Re(this,s),he.innerParams.set(this,s),Object.defineProperties(this,{params:{value:Object.assign({},this.params,e),writable:!1,enumerable:!0}})}const on=e=>{const t={};return Object.keys(e).forEach(n=>{Zt(n)?t[n]=e[n]:u(`Invalid parameter to update: ${n}`)}),t};function sn(){const e=he.domCache.get(this),t=he.innerParams.get(this);t?(e.popup&&o.swalCloseEventFinishedCallback&&(o.swalCloseEventFinishedCallback(),delete o.swalCloseEventFinishedCallback),"function"==typeof t.didDestroy&&t.didDestroy(),o.eventEmitter.emit("didDestroy"),rn(this)):an(this)}const rn=e=>{an(e),delete e.params,delete o.keydownHandler,delete o.keydownTarget,delete o.currentInstance},an=e=>{e.isAwaitingPromise?(ln(he,e),e.isAwaitingPromise=!0):(ln(tt,e),ln(he,e),delete e.isAwaitingPromise,delete e.disableButtons,delete e.enableButtons,delete e.getInput,delete e.disableInput,delete e.enableInput,delete e.hideLoading,delete e.disableLoading,delete e.showValidationMessage,delete e.resetValidationMessage,delete e.close,delete e.closePopup,delete e.closeModal,delete e.closeToast,delete e.rejectPromise,delete e.update,delete e._destroy)},ln=(e,t)=>{for(const n in e)e[n].delete(t)};var cn=Object.freeze({__proto__:null,_destroy:sn,close:dt,closeModal:dt,closePopup:dt,closeToast:dt,disableButtons:Nt,disableInput:Ft,disableLoading:jt,enableButtons:qt,enableInput:_t,getInput:It,handleAwaitingPromise:ht,hideLoading:jt,rejectPromise:mt,resetValidationMessage:Ut,showValidationMessage:Rt,update:nn});const un=(e,t,n)=>{t.popup.onclick=()=>{e&&(dn(e)||e.timer||e.input)||n(ze.close)}},dn=e=>!!(e.showConfirmButton||e.showDenyButton||e.showCancelButton||e.showCloseButton);let pn=!1;const mn=e=>{e.popup.onmousedown=()=>{e.container.onmouseup=function(t){e.container.onmouseup=()=>{},t.target===e.container&&(pn=!0)}}},hn=e=>{e.container.onmousedown=t=>{t.target===e.container&&t.preventDefault(),e.popup.onmouseup=function(t){e.popup.onmouseup=()=>{},(t.target===e.popup||t.target instanceof HTMLElement&&e.popup.contains(t.target))&&(pn=!0)}}},gn=(e,t,n)=>{t.container.onclick=o=>{pn?pn=!1:o.target===t.container&&h(e.allowOutsideClick)&&n(ze.backdrop)}},fn=e=>e instanceof Element||(e=>"object"==typeof e&&e.jquery)(e);const bn=()=>{if(o.timeout)return(()=>{const e=j();if(!e)return;const t=parseInt(window.getComputedStyle(e).width);e.style.removeProperty("transition"),e.style.width="100%";const n=t/parseInt(window.getComputedStyle(e).width)*100;e.style.width=`${n}%`})(),o.timeout.stop()},yn=()=>{if(o.timeout){const e=o.timeout.start();return oe(e),e}};let vn=!1;const wn={};const Cn=e=>{for(let t=e.target;t&&t!==document;t=t.parentNode)for(const e in wn){const n=t.getAttribute(e);if(n)return void wn[e].fire({template:n})}};o.eventEmitter=new class{constructor(){this.events={}}_getHandlersByEventName(e){return void 0===this.events[e]&&(this.events[e]=[]),this.events[e]}on(e,t){const n=this._getHandlersByEventName(e);n.includes(t)||n.push(t)}once(e,t){const n=(...o)=>{this.removeListener(e,n),t.apply(this,o)};this.on(e,n)}emit(e,...t){this._getHandlersByEventName(e).forEach(e=>{try{e.apply(this,t)}catch(e){console.error(e)}})}removeListener(e,t){const n=this._getHandlersByEventName(e),o=n.indexOf(t);o>-1&&n.splice(o,1)}removeAllListeners(e){void 0!==this.events[e]&&(this.events[e].length=0)}reset(){this.events={}}};var An=Object.freeze({__proto__:null,argsToParams:e=>{const t={};return"object"!=typeof e[0]||fn(e[0])?["title","html","icon"].forEach((n,o)=>{const i=e[o];"string"==typeof i||fn(i)?t[n]=i:void 0!==i&&d(`Unexpected type of ${n}! Expected "string" or "Element", got ${typeof i}`)}):Object.assign(t,e[0]),t},bindClickHandler:function(e="data-swal-template"){wn[e]=this,vn||(document.body.addEventListener("click",Cn),vn=!0)},clickCancel:()=>{var e;return null===(e=x())||void 0===e?void 0:e.click()},clickConfirm:Ue,clickDeny:()=>{var e;return null===(e=T())||void 0===e?void 0:e.click()},enableLoading:vt,fire:function(...e){return new this(...e)},getActions:O,getCancelButton:x,getCloseButton:H,getConfirmButton:P,getContainer:y,getDenyButton:T,getFocusableElements:I,getFooter:M,getHtmlContainer:k,getIcon:A,getIconContent:()=>w(r["icon-content"]),getImage:B,getInputLabel:()=>w(r["input-label"]),getLoader:S,getPopup:C,getProgressSteps:$,getTimerLeft:()=>o.timeout&&o.timeout.getTimerLeft(),getTimerProgressBar:j,getTitle:E,getValidationMessage:L,increaseTimer:e=>{if(o.timeout){const t=o.timeout.increase(e);return oe(t,!0),t}},isDeprecatedParameter:Jt,isLoading:()=>{const e=C();return!!e&&e.hasAttribute("data-loading")},isTimerRunning:()=>!(!o.timeout||!o.timeout.isRunning()),isUpdatableParameter:Zt,isValidParameter:Xt,isVisible:()=>ee(C()),mixin:function(e){return class extends(this){_main(t,n){return super._main(t,Object.assign({},e,n))}}},off:(e,t)=>{e?t?o.eventEmitter.removeListener(e,t):o.eventEmitter.removeAllListeners(e):o.eventEmitter.reset()},on:(e,t)=>{o.eventEmitter.on(e,t)},once:(e,t)=>{o.eventEmitter.once(e,t)},resumeTimer:yn,showLoading:vt,stopTimer:bn,toggleTimer:()=>{const e=o.timeout;return e&&(e.running?bn():yn())}});class En{constructor(e,t){this.callback=e,this.remaining=t,this.running=!1,this.start()}start(){return this.running||(this.running=!0,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}stop(){return this.started&&this.running&&(this.running=!1,clearTimeout(this.id),this.remaining-=(new Date).getTime()-this.started.getTime()),this.remaining}increase(e){const t=this.running;return t&&this.stop(),this.remaining+=e,t&&this.start(),this.remaining}getTimerLeft(){return this.running&&(this.stop(),this.start()),this.remaining}isRunning(){return this.running}}const kn=["swal-title","swal-html","swal-footer"],Bn=e=>{const t={};return Array.from(e.querySelectorAll("swal-param")).forEach(e=>{Mn(e,["name","value"]);const n=e.getAttribute("name"),o=e.getAttribute("value");n&&o&&(t[n]="boolean"==typeof zt[n]?"false"!==o:"object"==typeof zt[n]?JSON.parse(o):o)}),t},$n=e=>{const t={};return Array.from(e.querySelectorAll("swal-function-param")).forEach(e=>{const n=e.getAttribute("name"),o=e.getAttribute("value");n&&o&&(t[n]=new Function(`return ${o}`)())}),t},Ln=e=>{const t={};return Array.from(e.querySelectorAll("swal-button")).forEach(e=>{Mn(e,["type","color","aria-label"]);const n=e.getAttribute("type");n&&["confirm","cancel","deny"].includes(n)&&(t[`${n}ButtonText`]=e.innerHTML,t[`show${c(n)}Button`]=!0,e.hasAttribute("color")&&(t[`${n}ButtonColor`]=e.getAttribute("color")),e.hasAttribute("aria-label")&&(t[`${n}ButtonAriaLabel`]=e.getAttribute("aria-label")))}),t},Pn=e=>{const t={},n=e.querySelector("swal-image");return n&&(Mn(n,["src","width","height","alt"]),n.hasAttribute("src")&&(t.imageUrl=n.getAttribute("src")||void 0),n.hasAttribute("width")&&(t.imageWidth=n.getAttribute("width")||void 0),n.hasAttribute("height")&&(t.imageHeight=n.getAttribute("height")||void 0),n.hasAttribute("alt")&&(t.imageAlt=n.getAttribute("alt")||void 0)),t},xn=e=>{const t={},n=e.querySelector("swal-icon");return n&&(Mn(n,["type","color"]),n.hasAttribute("type")&&(t.icon=n.getAttribute("type")),n.hasAttribute("color")&&(t.iconColor=n.getAttribute("color")),t.iconHtml=n.innerHTML),t},Tn=e=>{const t={},n=e.querySelector("swal-input");n&&(Mn(n,["type","label","placeholder","value"]),t.input=n.getAttribute("type")||"text",n.hasAttribute("label")&&(t.inputLabel=n.getAttribute("label")),n.hasAttribute("placeholder")&&(t.inputPlaceholder=n.getAttribute("placeholder")),n.hasAttribute("value")&&(t.inputValue=n.getAttribute("value")));const o=Array.from(e.querySelectorAll("swal-input-option"));return o.length&&(t.inputOptions={}
vendor: 4,489 bytes, line 46457
46457,o.forEach(e=>{Mn(e,["value"]);const n=e.getAttribute("value");if(!n)return;const o=e.innerHTML;t.inputOptions[n]=o})),t},Sn=(e,t)=>{const n={};for(const o in t){const i=t[o],s=e.querySelector(i);s&&(Mn(s,[]),n[i.replace(/^swal-/,"")]=s.innerHTML.trim())}return n},On=e=>{const t=kn.concat(["swal-param","swal-function-param","swal-button","swal-image","swal-icon","swal-input","swal-input-option"]);Array.from(e.children).forEach(e=>{const n=e.tagName.toLowerCase();t.includes(n)||u(`Unrecognized element <${n}>`)})},Mn=(e,t)=>{Array.from(e.attributes).forEach(n=>{-1===t.indexOf(n.name)&&u([`Unrecognized attribute "${n.name}" on <${e.tagName.toLowerCase()}>.`,""+(t.length?`Allowed attributes are: ${t.join(", ")}`:"To set the value, use HTML within the element.")])})},jn=e=>{const t=y(),n=C();"function"==typeof e.willOpen&&e.willOpen(n),o.eventEmitter.emit("willOpen",n);const i=window.getComputedStyle(document.body).overflowY;Vn(t,n,e),setTimeout(()=>{In(t,n)},10),D()&&(Dn(t,e.scrollbarPadding,i),(()=>{const e=y();Array.from(document.body.children).forEach(t=>{t.contains(e)||(t.hasAttribute("aria-hidden")&&t.setAttribute("data-previous-aria-hidden",t.getAttribute("aria-hidden")||""),t.setAttribute("aria-hidden","true"))})})()),V()||o.previousActiveElement||(o.previousActiveElement=document.activeElement),"function"==typeof e.didOpen&&setTimeout(()=>e.didOpen(n)),o.eventEmitter.emit("didOpen",n),W(t,r["no-transition"])},Hn=e=>{const t=C();if(e.target!==t)return;const n=y();t.removeEventListener("animationend",Hn),t.removeEventListener("transitionend",Hn),n.style.overflowY="auto"},In=(e,t)=>{ne(t)?(e.style.overflowY="hidden",t.addEventListener("animationend",Hn),t.addEventListener("transitionend",Hn)):e.style.overflowY="auto"},Dn=(e,t,n)=>{(()=>{if(ot&&!N(document.body,r.iosfix)){const e=document.body.scrollTop;document.body.style.top=-1*e+"px",z(document.body,r.iosfix),it()}})(),t&&"hidden"!==n&&ct(n),setTimeout(()=>{e.scrollTop=0})},Vn=(e,t,n)=>{z(e,n.showClass.backdrop),n.animation?(t.style.setProperty("opacity","0","important"),X(t,"grid"),setTimeout(()=>{z(t,n.showClass.popup),t.style.removeProperty("opacity")},10)):X(t,"grid"),z([document.documentElement,document.body],r.shown),n.heightAuto&&n.backdrop&&!n.toast&&z([document.documentElement,document.body],r["height-auto"])};var qn=(e,t)=>/^[a-zA-Z0-9.+_'-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]+$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid email address"),Nn=(e,t)=>/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid URL");function _n(e){!function(e){e.inputValidator||("email"===e.input&&(e.inputValidator=qn),"url"===e.input&&(e.inputValidator=Nn))}(e),e.showLoaderOnConfirm&&!e.preConfirm&&u("showLoaderOnConfirm is set to true, but preConfirm is not defined.\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\nhttps://sweetalert2.github.io/#ajax-request"),function(e){(!e.target||"string"==typeof e.target&&!document.querySelector(e.target)||"string"!=typeof e.target&&!e.target.appendChild)&&(u('Target parameter is not valid, defaulting to "body"'),e.target="body")}(e),"string"==typeof e.title&&(e.title=e.title.split("\n").join("<br />")),re(e)}let Fn;var Rn=new WeakMap;class Un{constructor(...t){if(n(this,Rn,void 0),"undefined"==typeof window)return;Fn=this;const o=Object.freeze(this.constructor.argsToParams(t));var i,s,r;this.params=o,this.isAwaitingPromise=!1,i=Rn,s=this,r=this._main(Fn.params),i.set(e(i,s),r)}_main(e,t={}){if(tn(Object.assign({},t,e)),o.currentInstance){const e=tt.swalPromiseResolve.get(o.currentInstance),{isAwaitingPromise:t}=o.currentInstance;o.currentInstance._destroy(),t||e({isDismissed:!0}),D()&&nt()}o.currentInstance=Fn;const n=Wn(e,t);_n(n),Object.freeze(n),o.timeout&&(o.timeout.stop(),delete o.timeout),clearTimeout(o.restoreFocusTimeout);const i=Kn(Fn);return Re(Fn,n),he.innerParams.set(Fn,n),zn(Fn,i,n)}then(e){return t(Rn,this).then(e)}finally(e){return t(Rn,this).finally(e)}}const zn=(e,t,n)=>new Promise((i,s)=>{const r=t=>{e.close({isDismissed:!0,dismiss:t})};tt.swalPromiseResolve.set(e,i),tt.swalPromiseReject.set(e,s),t.confirmButton.onclick=()=>{(e=>{const t=he.innerParams.get(e);e.disableButtons(),t.input?Pt(e,"confirm"):Mt(e,!0)})(e)},t.denyButton.onclick=()=>{(e=>{const t=he.innerParams.get(e);e.disableButtons(),t.returnInputValueOnDeny?Pt(e,"deny"):Tt(e,!1)})(e)},t.cancelButton.onclick=()=>{((e,t)=>
vendor: 3,183 bytes, lines 46457-46475
46457{e.disableButtons(),t(ze.cancel)})(e,r)},t.closeButton.onclick=()=>{r(ze.close)},((e,t,n)=>{e.toast?un(e,t,n):(mn(t),hn(t),gn(e,t,n))})(n,t,r),((e,t,n)=>{We(e),t.toast||(e.keydownHandler=e=>Ze(t,e,n),e.keydownTarget=t.keydownListenerCapture?window:C(),e.keydownListenerCapture=t.keydownListenerCapture,e.keydownTarget.addEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=!0)})(o,n,r),((e,t)=>{"select"===t.input||"radio"===t.input?kt(e,t):["text","email","number","tel","textarea"].some(e=>e===t.input)&&(g(t.inputValue)||b(t.inputValue))&&(vt(P()),Bt(e,t))})(e,n),jn(n),Yn(o,n,r),Xn(t,n),setTimeout(()=>{t.container.scrollTop=0})}),Wn=(e,t)=>{const n=(e=>{const t="string"==typeof e.template?document.querySelector(e.template):e.template;if(!t)return{};const n=t.content;return On(n),Object.assign(Bn(n),$n(n),Ln(n),Pn(n),xn(n),Tn(n),Sn(n,kn))})(e),o=Object.assign({},zt,t,n,e);return o.showClass=Object.assign({},zt.showClass,o.showClass),o.hideClass=Object.assign({},zt.hideClass,o.hideClass),!1===o.animation&&(o.showClass={backdrop:"swal2-noanimation"},o.hideClass={}),o},Kn=e=>{const t={popup:C(),container:y(),actions:O(),confirmButton:P(),denyButton:T(),cancelButton:x(),loader:S(),closeButton:H(),validationMessage:L(),progressSteps:$()};return he.domCache.set(e,t),t},Yn=(e,t,n)=>{const o=j();Z(o),t.timer&&(e.timeout=new En(()=>{n("timer"),delete e.timeout},t.timer),t.timerProgressBar&&(X(o),_(o,t,"timerProgressBar"),setTimeout(()=>{e.timeout&&e.timeout.running&&oe(t.timer)})))},Xn=(e,t)=>{if(!t.toast)return h(t.allowEnterKey)?void(Zn(e)||Jn(e,t)||Ke(-1,1)):(m("allowEnterKey"),void Gn())},Zn=e=>{const t=Array.from(e.popup.querySelectorAll("[autofocus]"));for(const e of t)if(e instanceof HTMLElement&&ee(e))return e.focus(),!0;return!1},Jn=(e,t)=>t.focusDeny&&ee(e.denyButton)?(e.denyButton.focus(),!0):t.focusCancel&&ee(e.cancelButton)?(e.cancelButton.focus(),!0):!(!t.focusConfirm||!ee(e.confirmButton))&&(e.confirmButton.focus(),!0),Gn=()=>{document.activeElement instanceof HTMLElement&&"function"==typeof document.activeElement.blur&&document.activeElement.blur()};Un.prototype.disableButtons=Nt,Un.prototype.enableButtons=qt,Un.prototype.getInput=It,Un.prototype.disableInput=Ft,Un.prototype.enableInput=_t,Un.prototype.hideLoading=jt,Un.prototype.disableLoading=jt,Un.prototype.showValidationMessage=Rt,Un.prototype.resetValidationMessage=Ut,Un.prototype.close=dt,Un.prototype.closePopup=dt,Un.prototype.closeModal=dt,Un.prototype.closeToast=dt,Un.prototype.rejectPromise=mt,Un.prototype.update=nn,Un.prototype._destroy=sn,Object.assign(Un,An),Object.keys(cn).forEach(e=>{Un[e]=function(...t){return Fn&&Fn[e]?Fn[e](...t):null}}),Un.DismissReason=ze,Un.version="11.22.4";const Qn=Un;return Qn.default=Qn,Qn}),void 0!==this&&this.Sweetalert2&&(this.swal=this.sweetAlert=this.Swal=this.SweetAlert=this.Sweetalert2); 46458 46459"use strict"; 46460 46461// 46462// SweetAlert2 Initialization 46463// 46464 46465// Set Defaults 46466swal.mixin({ 46467 width: 400, 46468 heightAuto: false, 46469 padding: '2.5rem', 46470 buttonsStyling: false, 46471 confirmButtonClass: 'btn btn-success', 46472 confirmButtonColor: null, 46473 cancelButtonClass: 'btn btn-secondary', 46474 cancelButtonColor: null 46475});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.