![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/clinic.corals.io/public/web/plugins/global/ |
/*! * jQuery JavaScript Library v3.5.1 * https://jquery.com/ * * Includes Sizzle.js * https://sizzlejs.com/ * * Copyright JS Foundation and other contributors * Released under the MIT license * https://jquery.org/license * * Date: 2020-05-04T22:49Z */ !function (e, t) { 'use strict'; 'object' == typeof module && 'object' == typeof module.exports ? module.exports = e.document ? t(e, !0) : function (e) { if (!e.document) throw new Error( 'jQuery requires a window with a document'); return t(e); } : t(e); }('undefined' != typeof window ? window : this, (function (e, t) { 'use strict'; var n = [], i = Object.getPrototypeOf, a = n.slice, r = n.flat ? function (e) {return n.flat.call(e);} : function (e) {return n.concat.apply([], e);}, o = n.push, s = n.indexOf, l = {}, c = l.toString, u = l.hasOwnProperty, d = u.toString, h = d.call(Object), f = {}, p = function (e) { return 'function' == typeof e && 'number' != typeof e.nodeType; }, m = function (e) {return null != e && e === e.window;}, g = e.document, v = { type: !0, src: !0, nonce: !0, noModule: !0 }; function y (e, t, n) { var i, a, r = (n = n || g).createElement('script'); if (r.text = e, t) for (i in v) (a = t[i] || t.getAttribute && t.getAttribute(i)) && r.setAttribute(i, a); n.head.appendChild(r).parentNode.removeChild(r); } function b (e) { return null == e ? e + '' : 'object' == typeof e || 'function' == typeof e ? l[c.call(e)] || 'object' : typeof e; } var x = '3.5.1', _ = function (e, t) {return new _.fn.init(e, t);}; function w (e) { var t = !!e && 'length' in e && e.length, n = b(e); return !p(e) && !m(e) && ('array' === n || 0 === t || 'number' == typeof t && t > 0 && t - 1 in e); } _.fn = _.prototype = { jquery: x, constructor: _, length: 0, toArray: function () {return a.call(this);}, get: function (e) { return null == e ? a.call(this) : e < 0 ? this[e + this.length] : this[e]; }, pushStack: function (e) { var t = _.merge(this.constructor(), e); return t.prevObject = this, t; }, each: function (e) {return _.each(this, e);}, map: function (e) { return this.pushStack( _.map(this, (function (t, n) {return e.call(t, n, t);}))); }, slice: function () {return this.pushStack(a.apply(this, arguments));}, first: function () {return this.eq(0);}, last: function () {return this.eq(-1);}, even: function () { return this.pushStack( _.grep(this, (function (e, t) {return (t + 1) % 2;}))); }, odd: function () { return this.pushStack( _.grep(this, (function (e, t) {return t % 2;}))); }, eq: function (e) { var t = this.length, n = +e + (e < 0 ? t : 0); return this.pushStack(n >= 0 && n < t ? [this[n]] : []); }, end: function () {return this.prevObject || this.constructor();}, push: o, sort: n.sort, splice: n.splice, }, _.extend = _.fn.extend = function () { var e, t, n, i, a, r, o = arguments[0] || {}, s = 1, l = arguments.length, c = !1; for ('boolean' == typeof o && (c = o, o = arguments[s] || {}, s++), 'object' == typeof o || p(o) || (o = {}), s === l && (o = this, s--); s < l; s++) if (null != (e = arguments[s])) for (t in e) i = e[t], '__proto__' !== t && o !== i && (c && i && (_.isPlainObject(i) || (a = Array.isArray(i))) ? (n = o[t], r = a && !Array.isArray(n) ? [] : a || _.isPlainObject(n) ? n : {}, a = !1, o[t] = _.extend(c, r, i)) : void 0 !== i && (o[t] = i)); return o; }, _.extend({ expando: 'jQuery' + (x + Math.random()).replace(/\D/g, ''), isReady: !0, error: function (e) {throw new Error(e);}, noop: function () {}, isPlainObject: function (e) { var t, n; return !(!e || '[object Object]' !== c.call(e)) && (!(t = i(e)) || 'function' == typeof (n = u.call(t, 'constructor') && t.constructor) && d.call(n) === h); }, isEmptyObject: function (e) { var t; for (t in e) return !1; return !0; }, globalEval: function (e, t, n) {y(e, { nonce: t && t.nonce }, n);}, each: function (e, t) { var n, i = 0; if (w(e)) for (n = e.length; i < n && !1 !== t.call(e[i], i, e[i]); i++) ; else for (i in e) if (!1 === t.call(e[i], i, e[i])) break; return e; }, makeArray: function (e, t) { var n = t || []; return null != e && (w(Object(e)) ? _.merge(n, 'string' == typeof e ? [e] : e) : o.call( n, e)), n; }, inArray: function (e, t, n) {return null == t ? -1 : s.call(t, e, n);}, merge: function (e, t) { for (var n = +t.length, i = 0, a = e.length; i < n; i++) e[a++] = t[i]; return e.length = a, e; }, grep: function (e, t, n) { for (var i = [], a = 0, r = e.length, o = !n; a < r; a++) !t(e[a], a) !== o && i.push(e[a]); return i; }, map: function (e, t, n) { var i, a, o = 0, s = []; if (w(e)) for (i = e.length; o < i; o++) null != (a = t(e[o], o, n)) && s.push(a); else for (o in e) null != (a = t(e[o], o, n)) && s.push(a); return r(s); }, guid: 1, support: f, }), 'function' == typeof Symbol && (_.fn[Symbol.iterator] = n[Symbol.iterator]), _.each( 'Boolean Number String Function Array Date RegExp Object Error Symbol'.split( ' '), (function (e, t) {l['[object ' + t + ']'] = t.toLowerCase();})); var k = /*! * Sizzle CSS Selector Engine v2.3.5 * https://sizzlejs.com/ * * Copyright JS Foundation and other contributors * Released under the MIT license * https://js.foundation/ * * Date: 2020-03-14 */ function (e) { var t, n, i, a, r, o, s, l, c, u, d, h, f, p, m, g, v, y, b, x = 'sizzle' + 1 * new Date, _ = e.document, w = 0, k = 0, M = le(), L = le(), S = le(), T = le(), A = function (e, t) {return e === t && (d = !0), 0;}, D = {}.hasOwnProperty, C = [], E = C.pop, O = C.push, Y = C.push, P = C.slice, I = function (e, t) { for (var n = 0, i = e.length; n < i; n++) if (e[n] === t) return n; return -1; }, j = 'checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped', N = '[\\x20\\t\\r\\n\\f]', H = '(?:\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+', F = '\\[[\\x20\\t\\r\\n\\f]*(' + H + ')(?:' + N + '*([*^$|!~]?=)' + N + '*(?:\'((?:\\\\.|[^\\\\\'])*)\'|"((?:\\\\.|[^\\\\"])*)"|(' + H + '))|)' + N + '*\\]', R = ':(' + H + ')(?:\\(((\'((?:\\\\.|[^\\\\\'])*)\'|"((?:\\\\.|[^\\\\"])*)")|((?:\\\\.|[^\\\\()[\\]]|' + F + ')*)|.*)\\)|)', z = new RegExp(N + '+', 'g'), B = new RegExp( '^[\\x20\\t\\r\\n\\f]+|((?:^|[^\\\\])(?:\\\\.)*)[\\x20\\t\\r\\n\\f]+$', 'g'), W = new RegExp('^[\\x20\\t\\r\\n\\f]*,[\\x20\\t\\r\\n\\f]*'), V = new RegExp( '^[\\x20\\t\\r\\n\\f]*([>+~]|[\\x20\\t\\r\\n\\f])[\\x20\\t\\r\\n\\f]*'), q = new RegExp(N + '|>'), U = new RegExp(R), X = new RegExp('^' + H + '$'), $ = { ID: new RegExp('^#(' + H + ')'), CLASS: new RegExp('^\\.(' + H + ')'), TAG: new RegExp('^(' + H + '|[*])'), ATTR: new RegExp('^' + F), PSEUDO: new RegExp('^' + R), CHILD: new RegExp( '^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\([\\x20\\t\\r\\n\\f]*(even|odd|(([+-]|)(\\d*)n|)[\\x20\\t\\r\\n\\f]*(?:([+-]|)[\\x20\\t\\r\\n\\f]*(\\d+)|))[\\x20\\t\\r\\n\\f]*\\)|)', 'i'), bool: new RegExp('^(?:' + j + ')$', 'i'), needsContext: new RegExp( '^[\\x20\\t\\r\\n\\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\([\\x20\\t\\r\\n\\f]*((?:-\\d)?\\d*)[\\x20\\t\\r\\n\\f]*\\)|)(?=[^-]|$)', 'i'), }, G = /HTML$/i, Z = /^(?:input|select|textarea|button)$/i, K = /^h\d$/i, J = /^[^{]+\{\s*\[native \w/, Q = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ee = /[+~]/, te = new RegExp( '\\\\[\\da-fA-F]{1,6}[\\x20\\t\\r\\n\\f]?|\\\\([^\\r\\n\\f])', 'g'), ne = function (e, t) { var n = '0x' + e.slice(1) - 65536; return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320)); }, ie = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, ae = function (e, t) { return t ? '\0' === e ? '�' : e.slice(0, -1) + '\\' + e.charCodeAt(e.length - 1).toString(16) + ' ' : '\\' + e; }, re = function () {h();}, oe = xe((function (e) { return !0 === e.disabled && 'fieldset' === e.nodeName.toLowerCase(); }), { dir: 'parentNode', next: 'legend' }); try { Y.apply(C = P.call(_.childNodes), _.childNodes), C[_.childNodes.length].nodeType; } catch (e) { Y = { apply: C.length ? function (e, t) { O.apply(e, P.call(t)); } : function ( e, t) { for (var n = e.length, i = 0; e[n++] = t[i++];) ; e.length = n - 1; }, }; } function se (e, t, i, a) { var r, s, c, u, d, p, v, y = t && t.ownerDocument, _ = t ? t.nodeType : 9; if (i = i || [], 'string' != typeof e || !e || 1 !== _ && 9 !== _ && 11 !== _) return i; if (!a && (h(t), t = t || f, m)) { if (11 !== _ && (d = Q.exec(e))) if (r = d[1]) { if (9 === _) { if (!(c = t.getElementById(r))) return i; if (c.id === r) return i.push(c), i; } else if (y && (c = y.getElementById(r)) && b(t, c) && c.id === r) return i.push(c), i; } else { if (d[2]) return Y.apply(i, t.getElementsByTagName(e)), i; if ((r = d[3]) && n.getElementsByClassName && t.getElementsByClassName) return Y.apply(i, t.getElementsByClassName(r)), i; } if (n.qsa && !T[e + ' '] && (!g || !g.test(e)) && (1 !== _ || 'object' !== t.nodeName.toLowerCase())) { if (v = e, y = t, 1 === _ && (q.test(e) || V.test(e))) { for ((y = ee.test(e) && ve(t.parentNode) || t) === t && n.scope || ((u = t.getAttribute('id')) ? u = u.replace(ie, ae) : t.setAttribute('id', u = x)), s = (p = o( e)).length; s--;) p[s] = (u ? '#' + u : ':scope') + ' ' + be(p[s]); v = p.join(','); } try { return Y.apply(i, y.querySelectorAll(v)), i; } catch (t) {T(e, !0);} finally { u === x && t.removeAttribute('id'); } } } return l(e.replace(B, '$1'), t, i, a); } function le () { var e = []; return function t (n, a) { return e.push(n + ' ') > i.cacheLength && delete t[e.shift()], t[n + ' '] = a; }; } function ce (e) {return e[x] = !0, e;} function ue (e) { var t = f.createElement('fieldset'); try { return !!e(t); } catch (e) {return !1;} finally { t.parentNode && t.parentNode.removeChild(t), t = null; } } function de (e, t) { for (var n = e.split( '|'), a = n.length; a--;) i.attrHandle[n[a]] = t; } function he (e, t) { var n = t && e, i = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex; if (i) return i; if (n) for (; n = n.nextSibling;) if (n === t) return -1; return e ? 1 : -1; } function fe (e) { return function (t) { return 'input' === t.nodeName.toLowerCase() && t.type === e; }; } function pe (e) { return function (t) { var n = t.nodeName.toLowerCase(); return ('input' === n || 'button' === n) && t.type === e; }; } function me (e) { return function (t) { return 'form' in t ? t.parentNode && !1 === t.disabled ? 'label' in t ? 'label' in t.parentNode ? t.parentNode.disabled === e : t.disabled === e : t.isDisabled === e || t.isDisabled !== !e && oe(t) === e : t.disabled === e : 'label' in t && t.disabled === e; }; } function ge (e) { return ce((function (t) { return t = +t, ce((function (n, i) { for (var a, r = e([], n.length, t), o = r.length; o--;) n[a = r[o]] && (n[a] = !(i[a] = n[a])); })); })); } function ve (e) { return e && void 0 !== e.getElementsByTagName && e; } for (t in n = se.support = {}, r = se.isXML = function (e) { var t = e.namespaceURI, n = (e.ownerDocument || e).documentElement; return !G.test(t || n && n.nodeName || 'HTML'); }, h = se.setDocument = function (e) { var t, a, o = e ? e.ownerDocument || e : _; return o != f && 9 === o.nodeType && o.documentElement ? (p = (f = o).documentElement, m = !r(f), _ != f && (a = f.defaultView) && a.top !== a && (a.addEventListener ? a.addEventListener('unload', re, !1) : a.attachEvent && a.attachEvent('onunload', re)), n.scope = ue( (function (e) { return p.appendChild(e). appendChild(f.createElement('div')), void 0 !== e.querySelectorAll && !e.querySelectorAll(':scope fieldset div').length; })), n.attributes = ue((function (e) { return e.className = 'i', !e.getAttribute('className'); })), n.getElementsByTagName = ue((function (e) { return e.appendChild( f.createComment('')), !e.getElementsByTagName( '*').length; })), n.getElementsByClassName = J.test( f.getElementsByClassName), n.getById = ue( (function (e) { return p.appendChild( e).id = x, !f.getElementsByName || !f.getElementsByName(x).length; })), n.getById ? (i.filter.ID = function (e) { var t = e.replace(te, ne); return function (e) { return e.getAttribute('id') === t; }; }, i.find.ID = function (e, t) { if (void 0 !== t.getElementById && m) { var n = t.getElementById(e); return n ? [n] : []; } }) : (i.filter.ID = function (e) { var t = e.replace(te, ne); return function (e) { var n = void 0 !== e.getAttributeNode && e.getAttributeNode('id'); return n && n.value === t; }; }, i.find.ID = function (e, t) { if (void 0 !== t.getElementById && m) { var n, i, a, r = t.getElementById(e); if (r) { if ((n = r.getAttributeNode('id')) && n.value === e) return [r]; for (a = t.getElementsByName( e), i = 0; r = a[i++];) if ((n = r.getAttributeNode( 'id')) && n.value === e) return [r]; } return []; } }), i.find.TAG = n.getElementsByTagName ? function ( e, t) { return void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e) : n.qsa ? t.querySelectorAll(e) : void 0; } : function (e, t) { var n, i = [], a = 0, r = t.getElementsByTagName(e); if ('*' === e) { for (; n = r[a++];) 1 === n.nodeType && i.push(n); return i; } return r; }, i.find.CLASS = n.getElementsByClassName && function (e, t) { if (void 0 !== t.getElementsByClassName && m) return t.getElementsByClassName(e); }, v = [], g = [], (n.qsa = J.test( f.querySelectorAll)) && (ue((function (e) { var t; p.appendChild(e).innerHTML = '<a id=\'' + x + '\'></a><select id=\'' + x + '-\r\\\' msallowcapture=\'\'><option selected=\'\'></option></select>', e.querySelectorAll( '[msallowcapture^=\'\']').length && g.push( '[*^$]=[\\x20\\t\\r\\n\\f]*(?:\'\'|"")'), e.querySelectorAll( '[selected]').length || g.push( '\\[[\\x20\\t\\r\\n\\f]*(?:value|' + j + ')'), e.querySelectorAll( '[id~=' + x + '-]').length || g.push('~='), (t = f.createElement( 'input')).setAttribute('name', ''), e.appendChild( t), e.querySelectorAll('[name=\'\']').length || g.push( '\\[[\\x20\\t\\r\\n\\f]*name[\\x20\\t\\r\\n\\f]*=[\\x20\\t\\r\\n\\f]*(?:\'\'|"")'), e.querySelectorAll( ':checked').length || g.push(':checked'), e.querySelectorAll( 'a#' + x + '+*').length || g.push('.#.+[+~]'), e.querySelectorAll('\\\f'), g.push( '[\\r\\n\\f]'); })), ue((function (e) { e.innerHTML = '<a href=\'\' disabled=\'disabled\'></a><select disabled=\'disabled\'><option/></select>'; var t = f.createElement('input'); t.setAttribute('type', 'hidden'), e.appendChild(t). setAttribute('name', 'D'), e.querySelectorAll( '[name=d]').length && g.push('name[\\x20\\t\\r\\n\\f]*[*^$|!~]?='), 2 !== e.querySelectorAll(':enabled').length && g.push(':enabled', ':disabled'), p.appendChild( e).disabled = !0, 2 !== e.querySelectorAll(':disabled').length && g.push(':enabled', ':disabled'), e.querySelectorAll( '*,:x'), g.push(',.*:'); }))), (n.matchesSelector = J.test( y = p.matches || p.webkitMatchesSelector || p.mozMatchesSelector || p.oMatchesSelector || p.msMatchesSelector)) && ue((function (e) { n.disconnectedMatch = y.call(e, '*'), y.call(e, '[s!=\'\']:x'), v.push('!=', R); })), g = g.length && new RegExp(g.join('|')), v = v.length && new RegExp(v.join('|')), t = J.test( p.compareDocumentPosition), b = t || J.test(p.contains) ? function (e, t) { var n = 9 === e.nodeType ? e.documentElement : e, i = t && t.parentNode; return e === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(i))); } : function ( e, t) { if (t) for (; t = t.parentNode;) if (t === e) return !0; return !1; }, A = t ? function (e, t) { if (e === t) return d = !0, 0; var i = !e.compareDocumentPosition - !t.compareDocumentPosition; return i || (1 & (i = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !n.sortDetached && t.compareDocumentPosition(e) === i ? e == f || e.ownerDocument == _ && b(_, e) ? -1 : t == f || t.ownerDocument == _ && b(_, t) ? 1 : u ? I(u, e) - I(u, t) : 0 : 4 & i ? -1 : 1); } : function (e, t) { if (e === t) return d = !0, 0; var n, i = 0, a = e.parentNode, r = t.parentNode, o = [e], s = [t]; if (!a || !r) return e == f ? -1 : t == f ? 1 : a ? -1 : r ? 1 : u ? I(u, e) - I(u, t) : 0; if (a === r) return he(e, t); for (n = e; n = n.parentNode;) o.unshift(n); for (n = t; n = n.parentNode;) s.unshift(n); for (; o[i] === s[i];) i++; return i ? he(o[i], s[i]) : o[i] == _ ? -1 : s[i] == _ ? 1 : 0; }, f) : f; }, se.matches = function (e, t) { return se(e, null, null, t); }, se.matchesSelector = function (e, t) { if (h(e), n.matchesSelector && m && !T[t + ' '] && (!v || !v.test(t)) && (!g || !g.test(t))) try { var i = y.call(e, t); if (i || n.disconnectedMatch || e.document && 11 !== e.document.nodeType) return i; } catch (e) {T(t, !0);} return se(t, f, null, [e]).length > 0; }, se.contains = function (e, t) { return (e.ownerDocument || e) != f && h(e), b(e, t); }, se.attr = function (e, t) { (e.ownerDocument || e) != f && h(e); var a = i.attrHandle[t.toLowerCase()], r = a && D.call(i.attrHandle, t.toLowerCase()) ? a(e, t, !m) : void 0; return void 0 !== r ? r : n.attributes || !m ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null; }, se.escape = function (e) { return (e + '').replace(ie, ae); }, se.error = function (e) { throw new Error('Syntax error, unrecognized expression: ' + e); }, se.uniqueSort = function (e) { var t, i = [], a = 0, r = 0; if (d = !n.detectDuplicates, u = !n.sortStable && e.slice(0), e.sort(A), d) { for (; t = e[r++];) t === e[r] && (a = i.push(r)); for (; a--;) e.splice(i[a], 1); } return u = null, e; }, a = se.getText = function (e) { var t, n = '', i = 0, r = e.nodeType; if (r) { if (1 === r || 9 === r || 11 === r) { if ('string' == typeof e.textContent) return e.textContent; for (e = e.firstChild; e; e = e.nextSibling) n += a(e); } else if (3 === r || 4 === r) return e.nodeValue; } else for (; t = e[i++];) n += a(t); return n; }, (i = se.selectors = { cacheLength: 50, createPseudo: ce, match: $, attrHandle: {}, find: {}, relative: { '>': { dir: 'parentNode', first: !0 }, ' ': { dir: 'parentNode' }, '+': { dir: 'previousSibling', first: !0 }, '~': { dir: 'previousSibling' }, }, preFilter: { ATTR: function (e) { return e[1] = e[1].replace(te, ne), e[3] = (e[3] || e[4] || e[5] || '').replace(te, ne), '~=' === e[2] && (e[3] = ' ' + e[3] + ' '), e.slice(0, 4); }, CHILD: function (e) { return e[1] = e[1].toLowerCase(), 'nth' === e[1].slice(0, 3) ? (e[3] || se.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ('even' === e[3] || 'odd' === e[3])), e[5] = +(e[7] + e[8] || 'odd' === e[3])) : e[3] && se.error(e[0]), e; }, PSEUDO: function (e) { var t, n = !e[6] && e[2]; return $.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || '' : n && U.test(n) && (t = o(n, !0)) && (t = n.indexOf(')', n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)); }, }, filter: { TAG: function (e) { var t = e.replace(te, ne).toLowerCase(); return '*' === e ? function () {return !0;} : function (e) { return e.nodeName && e.nodeName.toLowerCase() === t; }; }, CLASS: function (e) { var t = M[e + ' ']; return t || (t = new RegExp( '(^|[\\x20\\t\\r\\n\\f])' + e + '(' + N + '|$)')) && M(e, (function (e) { return t.test('string' == typeof e.className && e.className || void 0 !== e.getAttribute && e.getAttribute('class') || ''); })); }, ATTR: function (e, t, n) { return function (i) { var a = se.attr(i, e); return null == a ? '!=' === t : !t || (a += '', '=' === t ? a === n : '!=' === t ? a !== n : '^=' === t ? n && 0 === a.indexOf(n) : '*=' === t ? n && a.indexOf(n) > -1 : '$=' === t ? n && a.slice(-n.length) === n : '~=' === t ? (' ' + a.replace(z, ' ') + ' ').indexOf(n) > -1 : '|=' === t && (a === n || a.slice(0, n.length + 1) === n + '-')); }; }, CHILD: function (e, t, n, i, a) { var r = 'nth' !== e.slice(0, 3), o = 'last' !== e.slice(-4), s = 'of-type' === t; return 1 === i && 0 === a ? function (e) {return !!e.parentNode;} : function (t, n, l) { var c, u, d, h, f, p, m = r !== o ? 'nextSibling' : 'previousSibling', g = t.parentNode, v = s && t.nodeName.toLowerCase(), y = !l && !s, b = !1; if (g) { if (r) { for (; m;) { for (h = t; h = h[m];) if (s ? h.nodeName.toLowerCase() === v : 1 === h.nodeType) return !1; p = m = 'only' === e && !p && 'nextSibling'; } return !0; } if (p = [ o ? g.firstChild : g.lastChild], o && y) { for (b = (f = (c = (u = (d = (h = g)[x] || (h[x] = {}))[h.uniqueID] || (d[h.uniqueID] = {}))[e] || [])[0] === w && c[1]) && c[2], h = f && g.childNodes[f]; h = ++f && h && h[m] || (b = f = 0) || p.pop();) if (1 === h.nodeType && ++b && h === t) { u[e] = [w, f, b]; break; } } else if (y && (b = f = (c = (u = (d = (h = t)[x] || (h[x] = {}))[h.uniqueID] || (d[h.uniqueID] = {}))[e] || [])[0] === w && c[1]), !1 === b) for (; (h = ++f && h && h[m] || (b = f = 0) || p.pop()) && ((s ? h.nodeName.toLowerCase() !== v : 1 !== h.nodeType) || !++b || (y && ((u = (d = h[x] || (h[x] = {}))[h.uniqueID] || (d[h.uniqueID] = {}))[e] = [ w, b]), h !== t));) ; return (b -= a) === i || b % i == 0 && b / i >= 0; } }; }, PSEUDO: function (e, t) { var n, a = i.pseudos[e] || i.setFilters[e.toLowerCase()] || se.error('unsupported pseudo: ' + e); return a[x] ? a(t) : a.length > 1 ? (n = [ e, e, '', t], i.setFilters.hasOwnProperty(e.toLowerCase()) ? ce((function (e, n) { for (var i, r = a(e, t), o = r.length; o--;) e[i = I(e, r[o])] = !(n[i] = r[o]); })) : function (e) {return a(e, 0, n);}) : a; }, }, pseudos: { not: ce((function (e) { var t = [], n = [], i = s(e.replace(B, '$1')); return i[x] ? ce((function (e, t, n, a) { for (var r, o = i(e, null, a, []), s = e.length; s--;) (r = o[s]) && (e[s] = !(t[s] = r)); })) : function (e, a, r) { return t[0] = e, i(t, null, r, n), t[0] = null, !n.pop(); }; })), has: ce((function (e) { return function (t) { return se(e, t).length > 0; }; })), contains: ce((function (e) { return e = e.replace(te, ne), function (t) { return (t.textContent || a(t)).indexOf(e) > -1; }; })), lang: ce((function (e) { return X.test(e || '') || se.error('unsupported lang: ' + e), e = e.replace(te, ne).toLowerCase(), function (t) { var n; do { if (n = m ? t.lang : t.getAttribute( 'xml:lang') || t.getAttribute( 'lang')) return (n = n.toLowerCase()) === e || 0 === n.indexOf(e + '-'); } while ((t = t.parentNode) && 1 === t.nodeType); return !1; }; })), target: function (t) { var n = e.location && e.location.hash; return n && n.slice(1) === t.id; }, root: function (e) {return e === p;}, focus: function (e) { return e === f.activeElement && (!f.hasFocus || f.hasFocus()) && !!(e.type || e.href || ~e.tabIndex); }, enabled: me(!1), disabled: me(!0), checked: function (e) { var t = e.nodeName.toLowerCase(); return 'input' === t && !!e.checked || 'option' === t && !!e.selected; }, selected: function (e) { return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected; }, empty: function (e) { for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeType < 6) return !1; return !0; }, parent: function (e) {return !i.pseudos.empty(e);}, header: function (e) {return K.test(e.nodeName);}, input: function (e) {return Z.test(e.nodeName);}, button: function (e) { var t = e.nodeName.toLowerCase(); return 'input' === t && 'button' === e.type || 'button' === t; }, text: function (e) { var t; return 'input' === e.nodeName.toLowerCase() && 'text' === e.type && (null == (t = e.getAttribute('type')) || 'text' === t.toLowerCase()); }, first: ge((function () {return [0];})), last: ge((function (e, t) {return [t - 1];})), eq: ge((function (e, t, n) {return [n < 0 ? n + t : n];})), even: ge((function (e, t) { for (var n = 0; n < t; n += 2) e.push(n); return e; })), odd: ge((function (e, t) { for (var n = 1; n < t; n += 2) e.push(n); return e; })), lt: ge((function (e, t, n) { for (var i = n < 0 ? n + t : n > t ? t : n; --i >= 0;) e.push(i); return e; })), gt: ge((function (e, t, n) { for (var i = n < 0 ? n + t : n; ++i < t;) e.push(i); return e; })), }, }).pseudos.nth = i.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0, }) i.pseudos[t] = fe(t); for (t in { submit: !0, reset: !0 }) i.pseudos[t] = pe(t); function ye () {} function be (e) { for (var t = 0, n = e.length, i = ''; t < n; t++) i += e[t].value; return i; } function xe (e, t, n) { var i = t.dir, a = t.next, r = a || i, o = n && 'parentNode' === r, s = k++; return t.first ? function (t, n, a) { for (; t = t[i];) if (1 === t.nodeType || o) return e(t, n, a); return !1; } : function (t, n, l) { var c, u, d, h = [w, s]; if (l) { for (; t = t[i];) if ((1 === t.nodeType || o) && e(t, n, l)) return !0; } else for (; t = t[i];) if (1 === t.nodeType || o) if (u = (d = t[x] || (t[x] = {}))[t.uniqueID] || (d[t.uniqueID] = {}), a && a === t.nodeName.toLowerCase()) t = t[i] || t; else { if ((c = u[r]) && c[0] === w && c[1] === s) return h[2] = c[2]; if (u[r] = h, h[2] = e(t, n, l)) return !0; } return !1; }; } function _e (e) { return e.length > 1 ? function ( t, n, i) { for (var a = e.length; a--;) if (!e[a](t, n, i)) return !1; return !0; } : e[0]; } function we ( e, t, n, i, a) { for (var r, o = [], s = 0, l = e.length, c = null != t; s < l; s++) (r = e[s]) && (n && !n(r, i, a) || (o.push(r), c && t.push(s))); return o; } function ke (e, t, n, i, a, r) { return i && !i[x] && (i = ke(i)), a && !a[x] && (a = ke(a, r)), ce((function (r, o, s, l) { var c, u, d, h = [], f = [], p = o.length, m = r || function (e, t, n) { for (var i = 0, a = t.length; i < a; i++) se(e, t[i], n); return n; }(t || '*', s.nodeType ? [s] : s, []), g = !e || !r && t ? m : we(m, h, e, s, l), v = n ? a || (r ? e : p || i) ? [] : o : g; if (n && n(g, v, s, l), i) for (c = we(v, f), i(c, [], s, l), u = c.length; u--;) (d = c[u]) && (v[f[u]] = !(g[f[u]] = d)); if (r) { if (a || e) { if (a) { for (c = [], u = v.length; u--;) (d = v[u]) && c.push(g[u] = d); a(null, v = [], c, l); } for (u = v.length; u--;) (d = v[u]) && (c = a ? I(r, d) : h[u]) > -1 && (r[c] = !(o[c] = d)); } } else v = we(v === o ? v.splice(p, v.length) : v), a ? a( null, o, v, l) : Y.apply(o, v); })); } function Me (e) { for (var t, n, a, r = e.length, o = i.relative[e[0].type], s = o || i.relative[' '], l = o ? 1 : 0, u = xe( (function (e) {return e === t;}), s, !0), d = xe( (function (e) {return I(t, e) > -1;}), s, !0), h = [ function ( e, n, i) { var a = !o && (i || n !== c) || ((t = n).nodeType ? u(e, n, i) : d(e, n, i)); return t = null, a; }]; l < r; l++) if (n = i.relative[e[l].type]) h = [ xe(_e(h), n)]; else { if ((n = i.filter[e[l].type].apply(null, e[l].matches))[x]) { for (a = ++l; a < r && !i.relative[e[a].type]; a++) ; return ke(l > 1 && _e(h), l > 1 && be(e.slice(0, l - 1). concat( { value: ' ' === e[l - 2].type ? '*' : '' })). replace(B, '$1'), n, l < a && Me(e.slice(l, a)), a < r && Me(e = e.slice(a)), a < r && be(e)); } h.push(n); } return _e(h); } return ye.prototype = i.filters = i.pseudos, i.setFilters = new ye, o = se.tokenize = function ( e, t) { var n, a, r, o, s, l, c, u = L[e + ' ']; if (u) return t ? 0 : u.slice(0); for (s = e, l = [], c = i.preFilter; s;) { for (o in n && !(a = W.exec(s)) || (a && (s = s.slice(a[0].length) || s), l.push( r = [])), n = !1, (a = V.exec(s)) && (n = a.shift(), r.push( { value: n, type: a[0].replace(B, ' ') }), s = s.slice( n.length)), i.filter) !(a = $[o].exec(s)) || c[o] && !(a = c[o](a)) || (n = a.shift(), r.push( { value: n, type: o, matches: a }), s = s.slice( n.length)); if (!n) break; } return t ? s.length : s ? se.error(e) : L(e, l).slice(0); }, s = se.compile = function (e, t) { var n, a = [], r = [], s = S[e + ' ']; if (!s) { for (t || (t = o(e)), n = t.length; n--;) (s = Me(t[n]))[x] ? a.push(s) : r.push(s); (s = S(e, function (e, t) { var n = t.length > 0, a = e.length > 0, r = function (r, o, s, l, u) { var d, p, g, v = 0, y = '0', b = r && [], x = [], _ = c, k = r || a && i.find.TAG('*', u), M = w += null == _ ? 1 : Math.random() || .1, L = k.length; for (u && (c = o == f || o || u); y !== L && null != (d = k[y]); y++) { if (a && d) { for (p = 0, o || d.ownerDocument == f || (h(d), s = !m); g = e[p++];) if (g(d, o || f, s)) { l.push(d); break; } u && (w = M); } n && ((d = !g && d) && v--, r && b.push(d)); } if (v += y, n && y !== v) { for (p = 0; g = t[p++];) g(b, x, o, s); if (r) { if (v > 0) for (; y--;) b[y] || x[y] || (x[y] = E.call(l)); x = we(x); } Y.apply(l, x), u && !r && x.length > 0 && v + t.length > 1 && se.uniqueSort(l); } return u && (w = M, c = _), b; }; return n ? ce(r) : r; }(r, a))).selector = e; } return s; }, l = se.select = function (e, t, n, a) { var r, l, c, u, d, h = 'function' == typeof e && e, f = !a && o(e = h.selector || e); if (n = n || [], 1 === f.length) { if ((l = f[0] = f[0].slice(0)).length > 2 && 'ID' === (c = l[0]).type && 9 === t.nodeType && m && i.relative[l[1].type]) { if (!(t = (i.find.ID(c.matches[0].replace(te, ne), t) || [])[0])) return n; h && (t = t.parentNode), e = e.slice( l.shift().value.length); } for (r = $.needsContext.test(e) ? 0 : l.length; r-- && (c = l[r], !i.relative[u = c.type]);) if ((d = i.find[u]) && (a = d(c.matches[0].replace(te, ne), ee.test(l[0].type) && ve(t.parentNode) || t))) { if (l.splice(r, 1), !(e = a.length && be(l))) return Y.apply(n, a), n; break; } } return (h || s(e, f))(a, t, !m, n, !t || ee.test(e) && ve(t.parentNode) || t), n; }, n.sortStable = x.split('').sort(A).join('') === x, n.detectDuplicates = !!d, h(), n.sortDetached = ue( (function (e) { return 1 & e.compareDocumentPosition(f.createElement('fieldset')); })), ue((function (e) { return e.innerHTML = '<a href=\'#\'></a>', '#' === e.firstChild.getAttribute('href'); })) || de('type|href|height|width', (function (e, t, n) { if (!n) return e.getAttribute(t, 'type' === t.toLowerCase() ? 1 : 2); })), n.attributes && ue((function (e) { return e.innerHTML = '<input/>', e.firstChild.setAttribute( 'value', ''), '' === e.firstChild.getAttribute('value'); })) || de('value', (function (e, t, n) { if (!n && 'input' === e.nodeName.toLowerCase()) return e.defaultValue; })), ue( (function (e) {return null == e.getAttribute('disabled');})) || de(j, (function (e, t, n) { var i; if (!n) return !0 === e[t] ? t.toLowerCase() : (i = e.getAttributeNode(t)) && i.specified ? i.value : null; })), se; }(e); _.find = k, _.expr = k.selectors, _.expr[':'] = _.expr.pseudos, _.uniqueSort = _.unique = k.uniqueSort, _.text = k.getText, _.isXMLDoc = k.isXML, _.contains = k.contains, _.escapeSelector = k.escape; var M = function (e, t, n) { for (var i = [], a = void 0 !== n; (e = e[t]) && 9 !== e.nodeType;) if (1 === e.nodeType) { if (a && _(e).is(n)) break; i.push(e); } return i; }, L = function (e, t) { for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e); return n; }, S = _.expr.match.needsContext; function T (e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase(); } var A = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; function D (e, t, n) { return p(t) ? _.grep(e, (function (e, i) {return !!t.call(e, i, e) !== n;})) : t.nodeType ? _.grep(e, (function (e) {return e === t !== n;})) : 'string' != typeof t ? _.grep(e, (function (e) {return s.call(t, e) > -1 !== n;})) : _.filter(t, e, n); } _.filter = function (e, t, n) { var i = t[0]; return n && (e = ':not(' + e + ')'), 1 === t.length && 1 === i.nodeType ? _.find.matchesSelector(i, e) ? [i] : [] : _.find.matches(e, _.grep(t, (function (e) {return 1 === e.nodeType;}))); }, _.fn.extend({ find: function (e) { var t, n, i = this.length, a = this; if ('string' != typeof e) return this.pushStack(_(e). filter((function () { for (t = 0; t < i; t++) if (_.contains(a[t], this)) return !0; }))); for (n = this.pushStack([]), t = 0; t < i; t++) _.find(e, a[t], n); return i > 1 ? _.uniqueSort(n) : n; }, filter: function (e) {return this.pushStack(D(this, e || [], !1));}, not: function (e) {return this.pushStack(D(this, e || [], !0));}, is: function (e) { return !!D(this, 'string' == typeof e && S.test(e) ? _(e) : e || [], !1).length; }, }); var C, E = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; (_.fn.init = function (e, t, n) { var i, a; if (!e) return this; if (n = n || C, 'string' == typeof e) { if (!(i = '<' === e[0] && '>' === e[e.length - 1] && e.length >= 3 ? [null, e, null] : E.exec(e)) || !i[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); if (i[1]) { if (t = t instanceof _ ? t[0] : t, _.merge(this, _.parseHTML(i[1], t && t.nodeType ? t.ownerDocument || t : g, !0)), A.test(i[1]) && _.isPlainObject(t)) for (i in t) p(this[i]) ? this[i](t[i]) : this.attr(i, t[i]); return this; } return (a = g.getElementById(i[2])) && (this[0] = a, this.length = 1), this; } return e.nodeType ? (this[0] = e, this.length = 1, this) : p(e) ? void 0 !== n.ready ? n.ready(e) : e(_) : _.makeArray(e, this); }).prototype = _.fn, C = _(g); var O = /^(?:parents|prev(?:Until|All))/, Y = { children: !0, contents: !0, next: !0, prev: !0 }; function P (e, t) { for (; (e = e[t]) && 1 !== e.nodeType;) ; return e; } _.fn.extend({ has: function (e) { var t = _(e, this), n = t.length; return this.filter((function () { for (var e = 0; e < n; e++) if (_.contains(this, t[e])) return !0; })); }, closest: function (e, t) { var n, i = 0, a = this.length, r = [], o = 'string' != typeof e && _(e); if (!S.test(e)) for (; i < a; i++) for (n = this[i]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (o ? o.index(n) > -1 : 1 === n.nodeType && _.find.matchesSelector(n, e))) { r.push(n); break; } return this.pushStack(r.length > 1 ? _.uniqueSort(r) : r); }, index: function (e) { return e ? 'string' == typeof e ? s.call(_(e), this[0]) : s.call( this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1; }, add: function (e, t) { return this.pushStack(_.uniqueSort(_.merge(this.get(), _(e, t)))); }, addBack: function (e) { return this.add( null == e ? this.prevObject : this.prevObject.filter(e)); }, }), _.each({ parent: function (e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null; }, parents: function (e) {return M(e, 'parentNode');}, parentsUntil: function (e, t, n) {return M(e, 'parentNode', n);}, next: function (e) {return P(e, 'nextSibling');}, prev: function (e) {return P(e, 'previousSibling');}, nextAll: function (e) {return M(e, 'nextSibling');}, prevAll: function (e) {return M(e, 'previousSibling');}, nextUntil: function (e, t, n) {return M(e, 'nextSibling', n);}, prevUntil: function (e, t, n) {return M(e, 'previousSibling', n);}, siblings: function (e) {return L((e.parentNode || {}).firstChild, e);}, children: function (e) {return L(e.firstChild);}, contents: function (e) { return null != e.contentDocument && i(e.contentDocument) ? e.contentDocument : (T(e, 'template') && (e = e.content || e), _.merge([], e.childNodes)); }, }, (function (e, t) { _.fn[e] = function (n, i) { var a = _.map(this, t, n); return 'Until' !== e.slice(-5) && (i = n), i && 'string' == typeof i && (a = _.filter(i, a)), this.length > 1 && (Y[e] || _.uniqueSort(a), O.test(e) && a.reverse()), this.pushStack( a); }; })); var I = /[^\x20\t\r\n\f]+/g; function j (e) {return e;} function N (e) {throw e;} function H (e, t, n, i) { var a; try { e && p(a = e.promise) ? a.call(e).done(t).fail(n) : e && p(a = e.then) ? a.call(e, t, n) : t.apply(void 0, [e].slice(i)); } catch (e) {n.apply(void 0, [e]);} } _.Callbacks = function (e) { e = 'string' == typeof e ? function (e) { var t = {}; return _.each(e.match(I) || [], (function (e, n) {t[n] = !0;})), t; }(e) : _.extend({}, e); var t, n, i, a, r = [], o = [], s = -1, l = function () { for (a = a || e.once, i = t = !0; o.length; s = -1) for (n = o.shift(); ++s < r.length;) !1 === r[s].apply(n[0], n[1]) && e.stopOnFalse && (s = r.length, n = !1); e.memory || (n = !1), t = !1, a && (r = n ? [] : ''); }, c = { add: function () { return r && (n && !t && (s = r.length - 1, o.push(n)), function t (n) { _.each(n, (function (n, i) { p(i) ? e.unique && c.has(i) || r.push(i) : i && i.length && 'string' !== b(i) && t(i); })); }(arguments), n && !t && l()), this; }, remove: function () { return _.each(arguments, (function (e, t) { for (var n; (n = _.inArray(t, r, n)) > -1;) r.splice(n, 1), n <= s && s--; })), this; }, has: function (e) {return e ? _.inArray(e, r) > -1 : r.length > 0;}, empty: function () {return r && (r = []), this;}, disable: function () {return a = o = [], r = n = '', this;}, disabled: function () {return !r;}, lock: function () { return a = o = [], n || t || (r = n = ''), this; }, locked: function () {return !!a;}, fireWith: function (e, n) { return a || (n = [e, (n = n || []).slice ? n.slice() : n], o.push(n), t || l()), this; }, fire: function () {return c.fireWith(this, arguments), this;}, fired: function () {return !!i;}, }; return c; }, _.extend({ Deferred: function (t) { var n = [ [ 'notify', 'progress', _.Callbacks('memory'), _.Callbacks('memory'), 2], [ 'resolve', 'done', _.Callbacks('once memory'), _.Callbacks('once memory'), 0, 'resolved'], [ 'reject', 'fail', _.Callbacks('once memory'), _.Callbacks('once memory'), 1, 'rejected']], i = 'pending', a = { state: function () {return i;}, always: function () { return r.done(arguments). fail(arguments), this; }, catch: function (e) {return a.then(null, e);}, pipe: function () { var e = arguments; return _.Deferred((function (t) { _.each(n, (function (n, i) { var a = p(e[i[4]]) && e[i[4]]; r[i[1]]((function () { var e = a && a.apply(this, arguments); e && p(e.promise) ? e.promise(). progress(t.notify). done(t.resolve). fail(t.reject) : t[i[0] + 'With'](this, a ? [e] : arguments); })); })), e = null; })).promise(); }, then: function (t, i, a) { var r = 0; function o (t, n, i, a) { return function () { var s = this, l = arguments, c = function () { var e, c; if (!(t < r)) { if ((e = i.apply(s, l)) === n.promise()) throw new TypeError( 'Thenable self-resolution'); c = e && ('object' == typeof e || 'function' == typeof e) && e.then, p(c) ? a ? c.call(e, o(r, n, j, a), o(r, n, N, a)) : (r++, c.call(e, o(r, n, j, a), o(r, n, N, a), o(r, n, j, n.notifyWith))) : (i !== j && (s = void 0, l = [e]), (a || n.resolveWith)(s, l)); } }, u = a ? c : function () { try {c();} catch (e) { _.Deferred.exceptionHook && _.Deferred.exceptionHook(e, u.stackTrace), t + 1 >= r && (i !== N && (s = void 0, l = [e]), n.rejectWith(s, l)); } }; t ? u() : (_.Deferred.getStackHook && (u.stackTrace = _.Deferred.getStackHook()), e.setTimeout( u)); }; } return _.Deferred((function (e) { n[0][3].add( o(0, e, p(a) ? a : j, e.notifyWith)), n[1][3].add( o(0, e, p(t) ? t : j)), n[2][3].add( o(0, e, p(i) ? i : N)); })).promise(); }, promise: function (e) {return null != e ? _.extend(e, a) : a;}, }, r = {}; return _.each(n, (function (e, t) { var o = t[2], s = t[5]; a[t[1]] = o.add, s && o.add((function () {i = s;}), n[3 - e][2].disable, n[3 - e][3].disable, n[0][2].lock, n[0][3].lock), o.add( t[3].fire), r[t[0]] = function () { return r[t[0] + 'With'](this === r ? void 0 : this, arguments), this; }, r[t[0] + 'With'] = o.fireWith; })), a.promise(r), t && t.call(r, r), r; }, when: function (e) { var t = arguments.length, n = t, i = Array(n), r = a.call(arguments), o = _.Deferred(), s = function (e) { return function (n) { i[e] = this, r[e] = arguments.length > 1 ? a.call(arguments) : n, --t || o.resolveWith(i, r); }; }; if (t <= 1 && (H(e, o.done(s(n)).resolve, o.reject, !t), 'pending' === o.state() || p(r[n] && r[n].then))) return o.then(); for (; n--;) H(r[n], s(n), o.reject); return o.promise(); }, }); var F = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; _.Deferred.exceptionHook = function (t, n) { e.console && e.console.warn && t && F.test(t.name) && e.console.warn('jQuery.Deferred exception: ' + t.message, t.stack, n); }, _.readyException = function (t) { e.setTimeout((function () {throw t;})); }; var R = _.Deferred(); function z () { g.removeEventListener('DOMContentLoaded', z), e.removeEventListener( 'load', z), _.ready(); } _.fn.ready = function (e) { return R.then(e). catch((function (e) {_.readyException(e);})), this; }, _.extend({ isReady: !1, readyWait: 1, ready: function (e) { (!0 === e ? --_.readyWait : _.isReady) || (_.isReady = !0, !0 !== e && --_.readyWait > 0 || R.resolveWith(g, [_])); }, }), _.ready.then = R.then, 'complete' === g.readyState || 'loading' !== g.readyState && !g.documentElement.doScroll ? e.setTimeout(_.ready) : (g.addEventListener('DOMContentLoaded', z), e.addEventListener('load', z)); var B = function (e, t, n, i, a, r, o) { var s = 0, l = e.length, c = null == n; if ('object' === b(n)) for (s in a = !0, n) B(e, t, s, n[s], !0, r, o); else if (void 0 !== i && (a = !0, p(i) || (o = !0), c && (o ? (t.call(e, i), t = null) : (c = t, t = function (e, t, n) { return c.call(_(e), n); })), t)) for (; s < l; s++) t(e[s], n, o ? i : i.call(e[s], s, t(e[s], n))); return a ? e : c ? t.call(e) : l ? t(e[0], n) : r; }, W = /^-ms-/, V = /-([a-z])/g; function q (e, t) {return t.toUpperCase();} function U (e) {return e.replace(W, 'ms-').replace(V, q);} var X = function (e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType; }; function $ () {this.expando = _.expando + $.uid++;} $.uid = 1, $.prototype = { cache: function (e) { var t = e[this.expando]; return t || (t = {}, X(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { value: t, configurable: !0 }))), t; }, set: function (e, t, n) { var i, a = this.cache(e); if ('string' == typeof t) a[U(t)] = n; else for (i in t) a[U( i)] = t[i]; return a; }, get: function (e, t) { return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][U(t)]; }, access: function (e, t, n) { return void 0 === t || t && 'string' == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t); }, remove: function (e, t) { var n, i = e[this.expando]; if (void 0 !== i) { if (void 0 !== t) { n = (t = Array.isArray(t) ? t.map(U) : (t = U(t)) in i ? [t] : t.match(I) || []).length; for (; n--;) delete i[t[n]]; } (void 0 === t || _.isEmptyObject(i)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]); } }, hasData: function (e) { var t = e[this.expando]; return void 0 !== t && !_.isEmptyObject(t); }, }; var G = new $, Z = new $, K = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, J = /[A-Z]/g; function Q (e, t, n) { var i; if (void 0 === n && 1 === e.nodeType) if (i = 'data-' + t.replace(J, '-$&').toLowerCase(), 'string' == typeof (n = e.getAttribute(i))) { try { n = function (e) { return 'true' === e || 'false' !== e && ('null' === e ? null : e === +e + '' ? +e : K.test(e) ? JSON.parse(e) : e); }(n); } catch (e) {} Z.set(e, t, n); } else n = void 0; return n; } _.extend({ hasData: function (e) {return Z.hasData(e) || G.hasData(e);}, data: function (e, t, n) {return Z.access(e, t, n);}, removeData: function (e, t) {Z.remove(e, t);}, _data: function (e, t, n) {return G.access(e, t, n);}, _removeData: function (e, t) {G.remove(e, t);}, }), _.fn.extend({ data: function (e, t) { var n, i, a, r = this[0], o = r && r.attributes; if (void 0 === e) { if (this.length && (a = Z.get(r), 1 === r.nodeType && !G.get(r, 'hasDataAttrs'))) { for (n = o.length; n--;) o[n] && 0 === (i = o[n].name).indexOf('data-') && (i = U(i.slice(5)), Q(r, i, a[i])); G.set(r, 'hasDataAttrs', !0); } return a; } return 'object' == typeof e ? this.each( (function () {Z.set(this, e);})) : B(this, (function (t) { var n; if (r && void 0 === t) return void 0 !== (n = Z.get(r, e)) || void 0 !== (n = Q(r, e)) ? n : void 0; this.each((function () {Z.set(this, e, t);})); }), null, t, arguments.length > 1, null, !0); }, removeData: function (e) { return this.each((function () {Z.remove(this, e);})); }, }), _.extend({ queue: function (e, t, n) { var i; if (e) return t = (t || 'fx') + 'queue', i = G.get(e, t), n && (!i || Array.isArray(n) ? i = G.access(e, t, _.makeArray(n)) : i.push(n)), i || []; }, dequeue: function (e, t) { t = t || 'fx'; var n = _.queue(e, t), i = n.length, a = n.shift(), r = _._queueHooks(e, t); 'inprogress' === a && (a = n.shift(), i--), a && ('fx' === t && n.unshift('inprogress'), delete r.stop, a.call(e, (function () {_.dequeue(e, t);}), r)), !i && r && r.empty.fire(); }, _queueHooks: function (e, t) { var n = t + 'queueHooks'; return G.get(e, n) || G.access(e, n, { empty: _.Callbacks('once memory'). add((function () {G.remove(e, [t + 'queue', n]);})), }); }, }), _.fn.extend({ queue: function (e, t) { var n = 2; return 'string' != typeof e && (t = e, e = 'fx', n--), arguments.length < n ? _.queue(this[0], e) : void 0 === t ? this : this.each((function () { var n = _.queue(this, e, t); _._queueHooks(this, e), 'fx' === e && 'inprogress' !== n[0] && _.dequeue(this, e); })); }, dequeue: function (e) { return this.each((function () {_.dequeue(this, e);})); }, clearQueue: function (e) {return this.queue(e || 'fx', []);}, promise: function (e, t) { var n, i = 1, a = _.Deferred(), r = this, o = this.length, s = function () {--i || a.resolveWith(r, [r]);}; for ('string' != typeof e && (t = e, e = void 0), e = e || 'fx'; o--;) (n = G.get(r[o], e + 'queueHooks')) && n.empty && (i++, n.empty.add(s)); return s(), a.promise(t); }, }); var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, te = new RegExp('^(?:([+-])=|)(' + ee + ')([a-z%]*)$', 'i'), ne = ['Top', 'Right', 'Bottom', 'Left'], ie = g.documentElement, ae = function (e) {return _.contains(e.ownerDocument, e);}, re = { composed: !0 }; ie.getRootNode && (ae = function (e) { return _.contains(e.ownerDocument, e) || e.getRootNode(re) === e.ownerDocument; }); var oe = function (e, t) { return 'none' === (e = t || e).style.display || '' === e.style.display && ae(e) && 'none' === _.css(e, 'display'); }; function se (e, t, n, i) { var a, r, o = 20, s = i ? function () {return i.cur();} : function () { return _.css(e, t, ''); }, l = s(), c = n && n[3] || (_.cssNumber[t] ? '' : 'px'), u = e.nodeType && (_.cssNumber[t] || 'px' !== c && +l) && te.exec(_.css(e, t)); if (u && u[3] !== c) { for (l /= 2, c = c || u[3], u = +l || 1; o--;) _.style(e, t, u + c), (1 - r) * (1 - (r = s() / l || .5)) <= 0 && (o = 0), u /= r; u *= 2, _.style(e, t, u + c), n = n || []; } return n && (u = +u || +l || 0, a = n[1] ? u + (n[1] + 1) * n[2] : +n[2], i && (i.unit = c, i.start = u, i.end = a)), a; } var le = {}; function ce (e) { var t, n = e.ownerDocument, i = e.nodeName, a = le[i]; return a || (t = n.body.appendChild(n.createElement(i)), a = _.css(t, 'display'), t.parentNode.removeChild(t), 'none' === a && (a = 'block'), le[i] = a, a); } function ue (e, t) { for (var n, i, a = [], r = 0, o = e.length; r < o; r++) (i = e[r]).style && (n = i.style.display, t ? ('none' === n && (a[r] = G.get(i, 'display') || null, a[r] || (i.style.display = '')), '' === i.style.display && oe(i) && (a[r] = ce(i))) : 'none' !== n && (a[r] = 'none', G.set(i, 'display', n))); for (r = 0; r < o; r++) null != a[r] && (e[r].style.display = a[r]); return e; } _.fn.extend({ show: function () {return ue(this, !0);}, hide: function () {return ue(this);}, toggle: function (e) { return 'boolean' == typeof e ? e ? this.show() : this.hide() : this.each( (function () {oe(this) ? _(this).show() : _(this).hide();})); }, }); var de, he, fe = /^(?:checkbox|radio)$/i, pe = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, me = /^$|^module$|\/(?:java|ecma)script/i; de = g.createDocumentFragment(). appendChild(g.createElement('div')), (he = g.createElement( 'input')).setAttribute('type', 'radio'), he.setAttribute('checked', 'checked'), he.setAttribute('name', 't'), de.appendChild( he), f.checkClone = de.cloneNode(!0). cloneNode( !0).lastChild.checked, de.innerHTML = '<textarea>x</textarea>', f.noCloneChecked = !!de.cloneNode( !0).lastChild.defaultValue, de.innerHTML = '<option></option>', f.option = !!de.lastChild; var ge = { thead: [1, '<table>', '</table>'], col: [2, '<table><colgroup>', '</colgroup></table>'], tr: [2, '<table><tbody>', '</tbody></table>'], td: [3, '<table><tbody><tr>', '</tr></tbody></table>'], _default: [0, '', ''], }; function ve (e, t) { var n; return n = void 0 !== e.getElementsByTagName ? e.getElementsByTagName( t || '*') : void 0 !== e.querySelectorAll ? e.querySelectorAll( t || '*') : [], void 0 === t || t && T(e, t) ? _.merge([e], n) : n; } function ye (e, t) { for (var n = 0, i = e.length; n < i; n++) G.set(e[n], 'globalEval', !t || G.get(t[n], 'globalEval')); } ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td, f.option || (ge.optgroup = ge.option = [ 1, '<select multiple=\'multiple\'>', '</select>']); var be = /<|&#?\w+;/; function xe ( e, t, n, i, a) { for (var r, o, s, l, c, u, d = t.createDocumentFragment(), h = [], f = 0, p = e.length; f < p; f++) if ((r = e[f]) || 0 === r) if ('object' === b(r)) _.merge(h, r.nodeType ? [r] : r); else if (be.test(r)) { for (o = o || d.appendChild(t.createElement('div')), s = (pe.exec( r) || ['', ''])[1].toLowerCase(), l = ge[s] || ge._default, o.innerHTML = l[1] + _.htmlPrefilter(r) + l[2], u = l[0]; u--;) o = o.lastChild; _.merge(h, o.childNodes), (o = d.firstChild).textContent = ''; } else h.push(t.createTextNode(r)); for (d.textContent = '', f = 0; r = h[f++];) if (i && _.inArray(r, i) > -1) a && a.push(r); else if (c = ae(r), o = ve(d.appendChild(r), 'script'), c && ye(o), n) for (u = 0; r = o[u++];) me.test( r.type || '') && n.push(r); return d; } var _e = /^key/, we = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, ke = /^([^.]*)(?:\.(.+)|)/; function Me () {return !0;} function Le () {return !1;} function Se (e, t) { return e === function () {try {return g.activeElement;} catch (e) {}}() == ('focus' === t); } function Te (e, t, n, i, a, r) { var o, s; if ('object' == typeof t) { for (s in 'string' != typeof n && (i = i || n, n = void 0), t) Te(e, s, n, i, t[s], r); return e; } if (null == i && null == a ? (a = n, i = n = void 0) : null == a && ('string' == typeof n ? (a = i, i = void 0) : (a = i, i = n, n = void 0)), !1 === a) a = Le; else if (!a) return e; return 1 === r && (o = a, (a = function (e) { return _().off(e), o.apply(this, arguments); }).guid = o.guid || (o.guid = _.guid++)), e.each( (function () {_.event.add(this, t, a, i, n);})); } function Ae (e, t, n) { n ? (G.set(e, t, !1), _.event.add(e, t, { namespace: !1, handler: function (e) { var i, r, o = G.get(this, t); if (1 & e.isTrigger && this[t]) { if (o.length) (_.event.special[t] || {}).delegateType && e.stopPropagation(); else if (o = a.call(arguments), G.set( this, t, o), i = n(this, t), this[t](), o !== (r = G.get(this, t)) || i ? G.set(this, t, !1) : r = {}, o !== r) return e.stopImmediatePropagation(), e.preventDefault(), r.value; } else o.length && (G.set(this, t, { value: _.event.trigger(_.extend(o[0], _.Event.prototype), o.slice(1), this), }), e.stopImmediatePropagation()); }, })) : void 0 === G.get(e, t) && _.event.add(e, t, Me); } _.event = { global: {}, add: function (e, t, n, i, a) { var r, o, s, l, c, u, d, h, f, p, m, g = G.get(e); if (X(e)) for (n.handler && (n = (r = n).handler, a = r.selector), a && _.find.matchesSelector(ie, a), n.guid || (n.guid = _.guid++), (l = g.events) || (l = g.events = Object.create(null)), (o = g.handle) || (o = g.handle = function (t) { return void 0 !== _ && _.event.triggered !== t.type ? _.event.dispatch.apply(e, arguments) : void 0; }), c = (t = (t || '').match(I) || ['']).length; c--;) f = m = (s = ke.exec(t[c]) || [])[1], p = (s[2] || '').split('.').sort(), f && (d = _.event.special[f] || {}, f = (a ? d.delegateType : d.bindType) || f, d = _.event.special[f] || {}, u = _.extend({ type: f, origType: m, data: i, handler: n, guid: n.guid, selector: a, needsContext: a && _.expr.match.needsContext.test(a), namespace: p.join('.'), }, r), (h = l[f]) || ((h = l[f] = []).delegateCount = 0, d.setup && !1 !== d.setup.call(e, i, p, o) || e.addEventListener && e.addEventListener(f, o)), d.add && (d.add.call(e, u), u.handler.guid || (u.handler.guid = n.guid)), a ? h.splice(h.delegateCount++, 0, u) : h.push(u), _.event.global[f] = !0); }, remove: function (e, t, n, i, a) { var r, o, s, l, c, u, d, h, f, p, m, g = G.hasData(e) && G.get(e); if (g && (l = g.events)) { for (c = (t = (t || '').match(I) || ['']).length; c--;) if (f = m = (s = ke.exec(t[c]) || [])[1], p = (s[2] || '').split('.'). sort(), f) { for (d = _.event.special[f] || {}, h = l[f = (i ? d.delegateType : d.bindType) || f] || [], s = s[2] && new RegExp( '(^|\\.)' + p.join('\\.(?:.*\\.|)') + '(\\.|$)'), o = r = h.length; r--;) u = h[r], !a && m !== u.origType || n && n.guid !== u.guid || s && !s.test(u.namespace) || i && i !== u.selector && ('**' !== i || !u.selector) || (h.splice(r, 1), u.selector && h.delegateCount--, d.remove && d.remove.call(e, u)); o && !h.length && (d.teardown && !1 !== d.teardown.call(e, p, g.handle) || _.removeEvent(e, f, g.handle), delete l[f]); } else for (f in l) _.event.remove(e, f + t[c], n, i, !0); _.isEmptyObject(l) && G.remove(e, 'handle events'); } }, dispatch: function (e) { var t, n, i, a, r, o, s = new Array(arguments.length), l = _.event.fix(e), c = (G.get(this, 'events') || Object.create(null))[l.type] || [], u = _.event.special[l.type] || {}; for (s[0] = l, t = 1; t < arguments.length; t++) s[t] = arguments[t]; if (l.delegateTarget = this, !u.preDispatch || !1 !== u.preDispatch.call(this, l)) { for (o = _.event.handlers.call(this, l, c), t = 0; (a = o[t++]) && !l.isPropagationStopped();) for (l.currentTarget = a.elem, n = 0; (r = a.handlers[n++]) && !l.isImmediatePropagationStopped();) l.rnamespace && !1 !== r.namespace && !l.rnamespace.test(r.namespace) || (l.handleObj = r, l.data = r.data, void 0 !== (i = ((_.event.special[r.origType] || {}).handle || r.handler).apply(a.elem, s)) && !1 === (l.result = i) && (l.preventDefault(), l.stopPropagation())); return u.postDispatch && u.postDispatch.call(this, l), l.result; } }, handlers: function (e, t) { var n, i, a, r, o, s = [], l = t.delegateCount, c = e.target; if (l && c.nodeType && !('click' === e.type && e.button >= 1)) for (; c !== this; c = c.parentNode || this) if (1 === c.nodeType && ('click' !== e.type || !0 !== c.disabled)) { for (r = [], o = {}, n = 0; n < l; n++) void 0 === o[a = (i = t[n]).selector + ' '] && (o[a] = i.needsContext ? _(a, this).index(c) > -1 : _.find(a, this, null, [c]).length), o[a] && r.push(i); r.length && s.push({ elem: c, handlers: r }); } return c = this, l < t.length && s.push({ elem: c, handlers: t.slice(l) }), s; }, addProp: function (e, t) { Object.defineProperty(_.Event.prototype, e, { enumerable: !0, configurable: !0, get: p(t) ? function () { if (this.originalEvent) return t(this.originalEvent); } : function () {if (this.originalEvent) return this.originalEvent[e];}, set: function (t) { Object.defineProperty(this, e, { enumerable: !0, configurable: !0, writable: !0, value: t, }); }, }); }, fix: function (e) {return e[_.expando] ? e : new _.Event(e);}, special: { load: { noBubble: !0 }, click: { setup: function (e) { var t = this || e; return fe.test(t.type) && t.click && T(t, 'input') && Ae(t, 'click', Me), !1; }, trigger: function (e) { var t = this || e; return fe.test(t.type) && t.click && T(t, 'input') && Ae(t, 'click'), !0; }, _default: function (e) { var t = e.target; return fe.test(t.type) && t.click && T(t, 'input') && G.get(t, 'click') || T(t, 'a'); }, }, beforeunload: { postDispatch: function (e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result); }, }, }, }, _.removeEvent = function (e, t, n) { e.removeEventListener && e.removeEventListener(t, n); }, _.Event = function (e, t) { if (!(this instanceof _.Event)) return new _.Event(e, t); e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? Me : Le, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && _.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[_.expando] = !0; }, _.Event.prototype = { constructor: _.Event, isDefaultPrevented: Le, isPropagationStopped: Le, isImmediatePropagationStopped: Le, isSimulated: !1, preventDefault: function () { var e = this.originalEvent; this.isDefaultPrevented = Me, e && !this.isSimulated && e.preventDefault(); }, stopPropagation: function () { var e = this.originalEvent; this.isPropagationStopped = Me, e && !this.isSimulated && e.stopPropagation(); }, stopImmediatePropagation: function () { var e = this.originalEvent; this.isImmediatePropagationStopped = Me, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation(); }, }, _.each({ altKey: !0, bubbles: !0, cancelable: !0, changedTouches: !0, ctrlKey: !0, detail: !0, eventPhase: !0, metaKey: !0, pageX: !0, pageY: !0, shiftKey: !0, view: !0, char: !0, code: !0, charCode: !0, key: !0, keyCode: !0, button: !0, buttons: !0, clientX: !0, clientY: !0, offsetX: !0, offsetY: !0, pointerId: !0, pointerType: !0, screenX: !0, screenY: !0, targetTouches: !0, toElement: !0, touches: !0, which: function (e) { var t = e.button; return null == e.which && _e.test(e.type) ? null != e.charCode ? e.charCode : e.keyCode : !e.which && void 0 !== t && we.test(e.type) ? 1 & t ? 1 : 2 & t ? 3 : 4 & t ? 2 : 0 : e.which; }, }, _.event.addProp), _.each({ focus: 'focusin', blur: 'focusout' }, (function (e, t) { _.event.special[e] = { setup: function () { return Ae(this, e, Se), !1; }, trigger: function () {return Ae(this, e), !0;}, delegateType: t, }; })), _.each({ mouseenter: 'mouseover', mouseleave: 'mouseout', pointerenter: 'pointerover', pointerleave: 'pointerout', }, (function (e, t) { _.event.special[e] = { delegateType: t, bindType: t, handle: function (e) { var n, i = this, a = e.relatedTarget, r = e.handleObj; return a && (a === i || _.contains(i, a)) || (e.type = r.origType, n = r.handler.apply(this, arguments), e.type = t), n; }, }; })), _.fn.extend({ on: function (e, t, n, i) {return Te(this, e, t, n, i);}, one: function (e, t, n, i) {return Te(this, e, t, n, i, 1);}, off: function (e, t, n) { var i, a; if (e && e.preventDefault && e.handleObj) return i = e.handleObj, _( e.delegateTarget). off(i.namespace ? i.origType + '.' + i.namespace : i.origType, i.selector, i.handler), this; if ('object' == typeof e) { for (a in e) this.off(a, t, e[a]); return this; } return !1 !== t && 'function' != typeof t || (n = t, t = void 0), !1 === n && (n = Le), this.each( (function () {_.event.remove(this, e, n, t);})); }, }); var De = /<script|<style|<link/i, Ce = /checked\s*(?:[^=]|=\s*.checked.)/i, Ee = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g; function Oe (e, t) { return T(e, 'table') && T(11 !== t.nodeType ? t : t.firstChild, 'tr') && _(e).children('tbody')[0] || e; } function Ye (e) { return e.type = (null !== e.getAttribute('type')) + '/' + e.type, e; } function Pe (e) { return 'true/' === (e.type || '').slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute('type'), e; } function Ie (e, t) { var n, i, a, r, o, s; if (1 === t.nodeType) { if (G.hasData(e) && (s = G.get(e).events)) for (a in G.remove(t, 'handle events'), s) for (n = 0, i = s[a].length; n < i; n++) _.event.add(t, a, s[a][n]); Z.hasData(e) && (r = Z.access(e), o = _.extend({}, r), Z.set(t, o)); } } function je (e, t) { var n = t.nodeName.toLowerCase(); 'input' === n && fe.test(e.type) ? t.checked = e.checked : 'input' !== n && 'textarea' !== n || (t.defaultValue = e.defaultValue); } function Ne (e, t, n, i) { t = r(t); var a, o, s, l, c, u, d = 0, h = e.length, m = h - 1, g = t[0], v = p(g); if (v || h > 1 && 'string' == typeof g && !f.checkClone && Ce.test(g)) return e.each((function (a) { var r = e.eq(a); v && (t[0] = g.call(this, a, r.html())), Ne(r, t, n, i); })); if (h && (o = (a = xe(t, e[0].ownerDocument, !1, e, i)).firstChild, 1 === a.childNodes.length && (a = o), o || i)) { for (l = (s = _.map(ve(a, 'script'), Ye)).length; d < h; d++) c = a, d !== m && (c = _.clone(c, !0, !0), l && _.merge(s, ve(c, 'script'))), n.call( e[d], c, d); if (l) for (u = s[s.length - 1].ownerDocument, _.map(s, Pe), d = 0; d < l; d++) c = s[d], me.test(c.type || '') && !G.access(c, 'globalEval') && _.contains(u, c) && (c.src && 'module' !== (c.type || '').toLowerCase() ? _._evalUrl && !c.noModule && _._evalUrl(c.src, { nonce: c.nonce || c.getAttribute('nonce') }, u) : y(c.textContent.replace(Ee, ''), c, u)); } return e; } function He (e, t, n) { for (var i, a = t ? _.filter(t, e) : e, r = 0; null != (i = a[r]); r++) n || 1 !== i.nodeType || _.cleanData(ve(i)), i.parentNode && (n && ae(i) && ye(ve(i, 'script')), i.parentNode.removeChild(i)); return e; } _.extend({ htmlPrefilter: function (e) {return e;}, clone: function (e, t, n) { var i, a, r, o, s = e.cloneNode(!0), l = ae(e); if (!(f.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || _.isXMLDoc(e))) for (o = ve(s), i = 0, a = (r = ve( e)).length; i < a; i++) je(r[i], o[i]); if (t) if (n) for (r = r || ve(e), o = o || ve(s), i = 0, a = r.length; i < a; i++) Ie(r[i], o[i]); else Ie( e, s); return (o = ve(s, 'script')).length > 0 && ye(o, !l && ve(e, 'script')), s; }, cleanData: function (e) { for (var t, n, i, a = _.event.special, r = 0; void 0 !== (n = e[r]); r++) if (X(n)) { if (t = n[G.expando]) { if (t.events) for (i in t.events) a[i] ? _.event.remove(n, i) : _.removeEvent(n, i, t.handle); n[G.expando] = void 0; } n[Z.expando] && (n[Z.expando] = void 0); } }, }), _.fn.extend({ detach: function (e) {return He(this, e, !0);}, remove: function (e) {return He(this, e);}, text: function (e) { return B(this, (function (e) { return void 0 === e ? _.text(this) : this.empty(). each((function () { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e); })); }), null, e, arguments.length); }, append: function () { return Ne(this, arguments, (function (e) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || Oe(this, e).appendChild(e); })); }, prepend: function () { return Ne(this, arguments, (function (e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = Oe(this, e); t.insertBefore(e, t.firstChild); } })); }, before: function () { return Ne(this, arguments, (function (e) { this.parentNode && this.parentNode.insertBefore(e, this); })); }, after: function () { return Ne(this, arguments, (function (e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling); })); }, empty: function () { for (var e, t = 0; null != (e = this[t]); t++) 1 === e.nodeType && (_.cleanData(ve(e, !1)), e.textContent = ''); return this; }, clone: function (e, t) { return e = null != e && e, t = null == t ? e : t, this.map((function () {return _.clone(this, e, t);})); }, html: function (e) { return B(this, (function (e) { var t = this[0] || {}, n = 0, i = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ('string' == typeof e && !De.test(e) && !ge[(pe.exec(e) || ['', ''])[1].toLowerCase()]) { e = _.htmlPrefilter(e); try { for (; n < i; n++) 1 === (t = this[n] || {}).nodeType && (_.cleanData(ve(t, !1)), t.innerHTML = e); t = 0; } catch (e) {} } t && this.empty().append(e); }), null, e, arguments.length); }, replaceWith: function () { var e = []; return Ne(this, arguments, (function (t) { var n = this.parentNode; _.inArray(this, e) < 0 && (_.cleanData(ve(this)), n && n.replaceChild(t, this)); }), e); }, }), _.each({ appendTo: 'append', prependTo: 'prepend', insertBefore: 'before', insertAfter: 'after', replaceAll: 'replaceWith', }, (function (e, t) { _.fn[e] = function (e) { for (var n, i = [], a = _(e), r = a.length - 1, s = 0; s <= r; s++) n = s === r ? this : this.clone(!0), _(a[s])[t](n), o.apply( i, n.get()); return this.pushStack(i); }; })); var Fe = new RegExp('^(' + ee + ')(?!px)[a-z%]+$', 'i'), Re = function (t) { var n = t.ownerDocument.defaultView; return n && n.opener || (n = e), n.getComputedStyle(t); }, ze = function (e, t, n) { var i, a, r = {}; for (a in t) r[a] = e.style[a], e.style[a] = t[a]; for (a in i = n.call(e), t) e.style[a] = r[a]; return i; }, Be = new RegExp(ne.join('|'), 'i'); function We (e, t, n) { var i, a, r, o, s = e.style; return (n = n || Re(e)) && ('' !== (o = n.getPropertyValue(t) || n[t]) || ae(e) || (o = _.style(e, t)), !f.pixelBoxStyles() && Fe.test(o) && Be.test(t) && (i = s.width, a = s.minWidth, r = s.maxWidth, s.minWidth = s.maxWidth = s.width = o, o = n.width, s.width = i, s.minWidth = a, s.maxWidth = r)), void 0 !== o ? o + '' : o; } function Ve ( e, t) { return { get: function () { if (!e()) return (this.get = t).apply(this, arguments); delete this.get; }, }; } !function () { function t () { if (u) { c.style.cssText = 'position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0', u.style.cssText = 'position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%', ie.appendChild( c).appendChild(u); var t = e.getComputedStyle(u); i = '1%' !== t.top, l = 12 === n(t.marginLeft), u.style.right = '60%', o = 36 === n(t.right), a = 36 === n(t.width), u.style.position = 'absolute', r = 12 === n(u.offsetWidth / 3), ie.removeChild(c), u = null; } } function n (e) {return Math.round(parseFloat(e));} var i, a, r, o, s, l, c = g.createElement('div'), u = g.createElement('div'); u.style && (u.style.backgroundClip = 'content-box', u.cloneNode( !0).style.backgroundClip = '', f.clearCloneStyle = 'content-box' === u.style.backgroundClip, _.extend(f, { boxSizingReliable: function () {return t(), a;}, pixelBoxStyles: function () {return t(), o;}, pixelPosition: function () {return t(), i;}, reliableMarginLeft: function () {return t(), l;}, scrollboxSize: function () {return t(), r;}, reliableTrDimensions: function () { var t, n, i, a; return null == s && (t = g.createElement('table'), n = g.createElement( 'tr'), i = g.createElement( 'div'), t.style.cssText = 'position:absolute;left:-11111px', n.style.height = '1px', i.style.height = '9px', ie.appendChild( t).appendChild(n).appendChild(i), a = e.getComputedStyle( n), s = parseInt(a.height) > 3, ie.removeChild(t)), s; }, })); }(); var qe = ['Webkit', 'Moz', 'ms'], Ue = g.createElement('div').style, Xe = {}; function $e (e) { var t = _.cssProps[e] || Xe[e]; return t || (e in Ue ? e : Xe[e] = function (e) { for (var t = e[0].toUpperCase() + e.slice(1), n = qe.length; n--;) if ((e = qe[n] + t) in Ue) return e; }(e) || e); } var Ge = /^(none|table(?!-c[ea]).+)/, Ze = /^--/, Ke = { position: 'absolute', visibility: 'hidden', display: 'block' }, Je = { letterSpacing: '0', fontWeight: '400' }; function Qe (e, t, n) { var i = te.exec(t); return i ? Math.max(0, i[2] - (n || 0)) + (i[3] || 'px') : t; } function et (e, t, n, i, a, r) { var o = 'width' === t ? 1 : 0, s = 0, l = 0; if (n === (i ? 'border' : 'content')) return 0; for (; o < 4; o += 2) 'margin' === n && (l += _.css(e, n + ne[o], !0, a)), i ? ('content' === n && (l -= _.css(e, 'padding' + ne[o], !0, a)), 'margin' !== n && (l -= _.css(e, 'border' + ne[o] + 'Width', !0, a))) : (l += _.css(e, 'padding' + ne[o], !0, a), 'padding' !== n ? l += _.css(e, 'border' + ne[o] + 'Width', !0, a) : s += _.css(e, 'border' + ne[o] + 'Width', !0, a)); return !i && r >= 0 && (l += Math.max(0, Math.ceil( e['offset' + t[0].toUpperCase() + t.slice(1)] - r - l - s - .5)) || 0), l; } function tt (e, t, n) { var i = Re(e), a = (!f.boxSizingReliable() || n) && 'border-box' === _.css(e, 'boxSizing', !1, i), r = a, o = We(e, t, i), s = 'offset' + t[0].toUpperCase() + t.slice(1); if (Fe.test(o)) { if (!n) return o; o = 'auto'; } return (!f.boxSizingReliable() && a || !f.reliableTrDimensions() && T(e, 'tr') || 'auto' === o || !parseFloat(o) && 'inline' === _.css(e, 'display', !1, i)) && e.getClientRects().length && (a = 'border-box' === _.css(e, 'boxSizing', !1, i), (r = s in e) && (o = e[s])), (o = parseFloat(o) || 0) + et(e, t, n || (a ? 'border' : 'content'), r, i, o) + 'px'; } function nt (e, t, n, i, a) {return new nt.prototype.init(e, t, n, i, a);} _.extend({ cssHooks: { opacity: { get: function (e, t) { if (t) { var n = We(e, 'opacity'); return '' === n ? '1' : n; } }, }, }, cssNumber: { animationIterationCount: !0, columnCount: !0, fillOpacity: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, gridArea: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnStart: !0, gridRow: !0, gridRowEnd: !0, gridRowStart: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0, }, cssProps: {}, style: function (e, t, n, i) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var a, r, o, s = U(t), l = Ze.test(t), c = e.style; if (l || (t = $e(s)), o = _.cssHooks[t] || _.cssHooks[s], void 0 === n) return o && 'get' in o && void 0 !== (a = o.get(e, !1, i)) ? a : c[t]; 'string' === (r = typeof n) && (a = te.exec(n)) && a[1] && (n = se(e, t, a), r = 'number'), null != n && n == n && ('number' !== r || l || (n += a && a[3] || (_.cssNumber[s] ? '' : 'px')), f.clearCloneStyle || '' !== n || 0 !== t.indexOf('background') || (c[t] = 'inherit'), o && 'set' in o && void 0 === (n = o.set(e, n, i)) || (l ? c.setProperty(t, n) : c[t] = n)); } }, css: function (e, t, n, i) { var a, r, o, s = U(t); return Ze.test(t) || (t = $e(s)), (o = _.cssHooks[t] || _.cssHooks[s]) && 'get' in o && (a = o.get(e, !0, n)), void 0 === a && (a = We(e, t, i)), 'normal' === a && t in Je && (a = Je[t]), '' === n || n ? (r = parseFloat(a), !0 === n || isFinite(r) ? r || 0 : a) : a; }, }), _.each(['height', 'width'], (function (e, t) { _.cssHooks[t] = { get: function (e, n, i) { if (n) return !Ge.test(_.css(e, 'display')) || e.getClientRects().length && e.getBoundingClientRect().width ? tt(e, t, i) : ze(e, Ke, (function () {return tt(e, t, i);})); }, set: function (e, n, i) { var a, r = Re(e), o = !f.scrollboxSize() && 'absolute' === r.position, s = (o || i) && 'border-box' === _.css(e, 'boxSizing', !1, r), l = i ? et(e, t, i, s, r) : 0; return s && o && (l -= Math.ceil( e['offset' + t[0].toUpperCase() + t.slice(1)] - parseFloat(r[t]) - et(e, t, 'border', !1, r) - .5)), l && (a = te.exec(n)) && 'px' !== (a[3] || 'px') && (e.style[t] = n, n = _.css(e, t)), Qe(0, n, l); }, }; })), _.cssHooks.marginLeft = Ve(f.reliableMarginLeft, (function (e, t) { if (t) return (parseFloat(We(e, 'marginLeft')) || e.getBoundingClientRect().left - ze(e, { marginLeft: 0 }, (function () {return e.getBoundingClientRect().left;}))) + 'px'; })), _.each({ margin: '', padding: '', border: 'Width' }, (function (e, t) { _.cssHooks[e + t] = { expand: function (n) { for (var i = 0, a = {}, r = 'string' == typeof n ? n.split(' ') : [n]; i < 4; i++) a[e + ne[i] + t] = r[i] || r[i - 2] || r[0]; return a; }, }, 'margin' !== e && (_.cssHooks[e + t].set = Qe); })), _.fn.extend({ css: function (e, t) { return B(this, (function (e, t, n) { var i, a, r = {}, o = 0; if (Array.isArray(t)) { for (i = Re(e), a = t.length; o < a; o++) r[t[o]] = _.css(e, t[o], !1, i); return r; } return void 0 !== n ? _.style(e, t, n) : _.css(e, t); }), e, t, arguments.length > 1); }, }), _.Tween = nt, nt.prototype = { constructor: nt, init: function (e, t, n, i, a, r) { this.elem = e, this.prop = n, this.easing = a || _.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = i, this.unit = r || (_.cssNumber[n] ? '' : 'px'); }, cur: function () { var e = nt.propHooks[this.prop]; return e && e.get ? e.get(this) : nt.propHooks._default.get(this); }, run: function (e) { var t, n = nt.propHooks[this.prop]; return this.options.duration ? this.pos = t = _.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : nt.propHooks._default.set(this), this; }, }, nt.prototype.init.prototype = nt.prototype, nt.propHooks = { _default: { get: function (e) { var t; return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = _.css( e.elem, e.prop, '')) && 'auto' !== t ? t : 0; }, set: function (e) { _.fx.step[e.prop] ? _.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !_.cssHooks[e.prop] && null == e.elem.style[$e(e.prop)] ? e.elem[e.prop] = e.now : _.style( e.elem, e.prop, e.now + e.unit); }, }, }, nt.propHooks.scrollTop = nt.propHooks.scrollLeft = { set: function (e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now); }, }, _.easing = { linear: function (e) {return e;}, swing: function (e) {return .5 - Math.cos(e * Math.PI) / 2;}, _default: 'swing', }, _.fx = nt.prototype.init, _.fx.step = {}; var it, at, rt = /^(?:toggle|show|hide)$/, ot = /queueHooks$/; function st () { at && (!1 === g.hidden && e.requestAnimationFrame ? e.requestAnimationFrame(st) : e.setTimeout(st, _.fx.interval), _.fx.tick()); } function lt () { return e.setTimeout((function () {it = void 0;})), it = Date.now(); } function ct (e, t) { var n, i = 0, a = { height: e }; for (t = t ? 1 : 0; i < 4; i += 2 - t) a['margin' + (n = ne[i])] = a['padding' + n] = e; return t && (a.opacity = a.width = e), a; } function ut (e, t, n) { for (var i, a = (dt.tweeners[t] || []).concat( dt.tweeners['*']), r = 0, o = a.length; r < o; r++) if (i = a[r].call(n, t, e)) return i; } function dt (e, t, n) { var i, a, r = 0, o = dt.prefilters.length, s = _.Deferred().always((function () {delete l.elem;})), l = function () { if (a) return !1; for (var t = it || lt(), n = Math.max(0, c.startTime + c.duration - t), i = 1 - (n / c.duration || 0), r = 0, o = c.tweens.length; r < o; r++) c.tweens[r].run(i); return s.notifyWith(e, [c, i, n]), i < 1 && o ? n : (o || s.notifyWith(e, [c, 1, 0]), s.resolveWith(e, [c]), !1); }, c = s.promise({ elem: e, props: _.extend({}, t), opts: _.extend(!0, { specialEasing: {}, easing: _.easing._default }, n), originalProperties: t, originalOptions: n, startTime: it || lt(), duration: n.duration, tweens: [], createTween: function (t, n) { var i = _.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing); return c.tweens.push(i), i; }, stop: function (t) { var n = 0, i = t ? c.tweens.length : 0; if (a) return this; for (a = !0; n < i; n++) c.tweens[n].run(1); return t ? (s.notifyWith(e, [c, 1, 0]), s.resolveWith(e, [c, t])) : s.rejectWith(e, [c, t]), this; }, }), u = c.props; for (!function (e, t) { var n, i, a, r, o; for (n in e) if (a = t[i = U(n)], r = e[n], Array.isArray(r) && (a = r[1], r = e[n] = r[0]), n !== i && (e[i] = r, delete e[n]), (o = _.cssHooks[i]) && 'expand' in o) for (n in r = o.expand(r), delete e[i], r) n in e || (e[n] = r[n], t[n] = a); else t[i] = a; }(u, c.opts.specialEasing); r < o; r++) if (i = dt.prefilters[r].call(c, e, u, c.opts)) return p(i.stop) && (_._queueHooks(c.elem, c.opts.queue).stop = i.stop.bind(i)), i; return _.map(u, ut, c), p(c.opts.start) && c.opts.start.call(e, c), c.progress(c.opts.progress). done(c.opts.done, c.opts.complete). fail(c.opts.fail). always(c.opts.always), _.fx.timer( _.extend(l, { elem: e, anim: c, queue: c.opts.queue })), c; } _.Animation = _.extend(dt, { tweeners: { '*': [ function (e, t) { var n = this.createTween(e, t); return se(n.elem, e, te.exec(t), n), n; }], }, tweener: function (e, t) { p(e) ? (t = e, e = ['*']) : e = e.match(I); for (var n, i = 0, a = e.length; i < a; i++) n = e[i], dt.tweeners[n] = dt.tweeners[n] || [], dt.tweeners[n].unshift(t); }, prefilters: [ function (e, t, n) { var i, a, r, o, s, l, c, u, d = 'width' in t || 'height' in t, h = this, f = {}, p = e.style, m = e.nodeType && oe(e), g = G.get(e, 'fxshow'); for (i in n.queue || (null == (o = _._queueHooks(e, 'fx')).unqueued && (o.unqueued = 0, s = o.empty.fire, o.empty.fire = function () { o.unqueued || s(); }), o.unqueued++, h.always((function () { h.always((function () { o.unqueued--, _.queue(e, 'fx').length || o.empty.fire(); })); }))), t) if (a = t[i], rt.test(a)) { if (delete t[i], r = r || 'toggle' === a, a === (m ? 'hide' : 'show')) { if ('show' !== a || !g || void 0 === g[i]) continue; m = !0; } f[i] = g && g[i] || _.style(e, i); } if ((l = !_.isEmptyObject(t)) || !_.isEmptyObject(f)) for (i in d && 1 === e.nodeType && (n.overflow = [p.overflow, p.overflowX, p.overflowY], null == (c = g && g.display) && (c = G.get(e, 'display')), 'none' === (u = _.css(e, 'display')) && (c ? u = c : (ue([e], !0), c = e.style.display || c, u = _.css( e, 'display'), ue([e]))), ('inline' === u || 'inline-block' === u && null != c) && 'none' === _.css(e, 'float') && (l || (h.done((function () {p.display = c;})), null == c && (u = p.display, c = 'none' === u ? '' : u)), p.display = 'inline-block')), n.overflow && (p.overflow = 'hidden', h.always( (function () {p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2];}))), l = !1, f) l || (g ? 'hidden' in g && (m = g.hidden) : g = G.access(e, 'fxshow', { display: c }), r && (g.hidden = !m), m && ue([e], !0), h.done((function () { for (i in m || ue([e]), G.remove(e, 'fxshow'), f) _.style(e, i, f[i]); }))), l = ut(m ? g[i] : 0, i, h), i in g || (g[i] = l.start, m && (l.end = l.start, l.start = 0)); }], prefilter: function (e, t) { t ? dt.prefilters.unshift(e) : dt.prefilters.push(e); }, }), _.speed = function (e, t, n) { var i = e && 'object' == typeof e ? _.extend({}, e) : { complete: n || !n && t || p(e) && e, duration: e, easing: n && t || t && !p(t) && t, }; return _.fx.off ? i.duration = 0 : 'number' != typeof i.duration && (i.duration in _.fx.speeds ? i.duration = _.fx.speeds[i.duration] : i.duration = _.fx.speeds._default), null != i.queue && !0 !== i.queue || (i.queue = 'fx'), i.old = i.complete, i.complete = function () { p(i.old) && i.old.call(this), i.queue && _.dequeue(this, i.queue); }, i; }, _.fn.extend({ fadeTo: function (e, t, n, i) { return this.filter(oe). css('opacity', 0). show(). end(). animate({ opacity: t }, e, n, i); }, animate: function (e, t, n, i) { var a = _.isEmptyObject(e), r = _.speed(t, n, i), o = function () { var t = dt(this, _.extend({}, e), r); (a || G.get(this, 'finish')) && t.stop(!0); }; return o.finish = o, a || !1 === r.queue ? this.each(o) : this.queue(r.queue, o); }, stop: function (e, t, n) { var i = function (e) { var t = e.stop; delete e.stop, t(n); }; return 'string' != typeof e && (n = t, t = e, e = void 0), t && this.queue(e || 'fx', []), this.each((function () { var t = !0, a = null != e && e + 'queueHooks', r = _.timers, o = G.get(this); if (a) o[a] && o[a].stop && i(o[a]); else for (a in o) o[a] && o[a].stop && ot.test(a) && i(o[a]); for (a = r.length; a--;) r[a].elem !== this || null != e && r[a].queue !== e || (r[a].anim.stop(n), t = !1, r.splice(a, 1)); !t && n || _.dequeue(this, e); })); }, finish: function (e) { return !1 !== e && (e = e || 'fx'), this.each((function () { var t, n = G.get(this), i = n[e + 'queue'], a = n[e + 'queueHooks'], r = _.timers, o = i ? i.length : 0; for (n.finish = !0, _.queue(this, e, []), a && a.stop && a.stop.call(this, !0), t = r.length; t--;) r[t].elem === this && r[t].queue === e && (r[t].anim.stop(!0), r.splice(t, 1)); for (t = 0; t < o; t++) i[t] && i[t].finish && i[t].finish.call(this); delete n.finish; })); }, }), _.each(['toggle', 'show', 'hide'], (function (e, t) { var n = _.fn[t]; _.fn[t] = function (e, i, a) { return null == e || 'boolean' == typeof e ? n.apply(this, arguments) : this.animate(ct(t, !0), e, i, a); }; })), _.each({ slideDown: ct('show'), slideUp: ct('hide'), slideToggle: ct('toggle'), fadeIn: { opacity: 'show' }, fadeOut: { opacity: 'hide' }, fadeToggle: { opacity: 'toggle' }, }, (function (e, t) { _.fn[e] = function (e, n, i) { return this.animate(t, e, n, i); }; })), _.timers = [], _.fx.tick = function () { var e, t = 0, n = _.timers; for (it = Date.now(); t < n.length; t++) (e = n[t])() || n[t] !== e || n.splice(t--, 1); n.length || _.fx.stop(), it = void 0; }, _.fx.timer = function (e) { _.timers.push(e), _.fx.start(); }, _.fx.interval = 13, _.fx.start = function () { at || (at = !0, st()); }, _.fx.stop = function () {at = null;}, _.fx.speeds = { slow: 600, fast: 200, _default: 400, }, _.fn.delay = function (t, n) { return t = _.fx && _.fx.speeds[t] || t, n = n || 'fx', this.queue(n, (function (n, i) { var a = e.setTimeout(n, t); i.stop = function () {e.clearTimeout(a);}; })); }, function () { var e = g.createElement('input'), t = g.createElement('select'). appendChild(g.createElement('option')); e.type = 'checkbox', f.checkOn = '' !== e.value, f.optSelected = t.selected, (e = g.createElement( 'input')).value = 't', e.type = 'radio', f.radioValue = 't' === e.value; }(); var ht, ft = _.expr.attrHandle; _.fn.extend({ attr: function (e, t) { return B(this, _.attr, e, t, arguments.length > 1); }, removeAttr: function (e) { return this.each((function () {_.removeAttr(this, e);})); }, }), _.extend({ attr: function (e, t, n) { var i, a, r = e.nodeType; if (3 !== r && 8 !== r && 2 !== r) return void 0 === e.getAttribute ? _.prop(e, t, n) : (1 === r && _.isXMLDoc(e) || (a = _.attrHooks[t.toLowerCase()] || (_.expr.match.bool.test(t) ? ht : void 0)), void 0 !== n ? null === n ? void _.removeAttr(e, t) : a && 'set' in a && void 0 !== (i = a.set(e, n, t)) ? i : (e.setAttribute(t, n + ''), n) : a && 'get' in a && null !== (i = a.get(e, t)) ? i : null == (i = _.find.attr(e, t)) ? void 0 : i); }, attrHooks: { type: { set: function (e, t) { if (!f.radioValue && 'radio' === t && T(e, 'input')) { var n = e.value; return e.setAttribute('type', t), n && (e.value = n), t; } }, }, }, removeAttr: function (e, t) { var n, i = 0, a = t && t.match(I); if (a && 1 === e.nodeType) for (; n = a[i++];) e.removeAttribute(n); }, }), ht = { set: function (e, t, n) { return !1 === t ? _.removeAttr(e, n) : e.setAttribute(n, n), n; }, }, _.each(_.expr.match.bool.source.match(/\w+/g), (function (e, t) { var n = ft[t] || _.find.attr; ft[t] = function (e, t, i) { var a, r, o = t.toLowerCase(); return i || (r = ft[o], ft[o] = a, a = null != n(e, t, i) ? o : null, ft[o] = r), a; }; })); var pt = /^(?:input|select|textarea|button)$/i, mt = /^(?:a|area)$/i; function gt (e) {return (e.match(I) || []).join(' ');} function vt (e) {return e.getAttribute && e.getAttribute('class') || '';} function yt (e) { return Array.isArray(e) ? e : 'string' == typeof e && e.match(I) || []; } _.fn.extend({ prop: function (e, t) { return B(this, _.prop, e, t, arguments.length > 1); }, removeProp: function (e) { return this.each((function () {delete this[_.propFix[e] || e];})); }, }), _.extend({ prop: function (e, t, n) { var i, a, r = e.nodeType; if (3 !== r && 8 !== r && 2 !== r) return 1 === r && _.isXMLDoc(e) || (t = _.propFix[t] || t, a = _.propHooks[t]), void 0 !== n ? a && 'set' in a && void 0 !== (i = a.set(e, n, t)) ? i : e[t] = n : a && 'get' in a && null !== (i = a.get(e, t)) ? i : e[t]; }, propHooks: { tabIndex: { get: function (e) { var t = _.find.attr(e, 'tabindex'); return t ? parseInt(t, 10) : pt.test(e.nodeName) || mt.test(e.nodeName) && e.href ? 0 : -1; }, }, }, propFix: { for: 'htmlFor', class: 'className' }, }), f.optSelected || (_.propHooks.selected = { get: function (e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null; }, set: function (e) { var t = e.parentNode; t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex); }, }), _.each([ 'tabIndex', 'readOnly', 'maxLength', 'cellSpacing', 'cellPadding', 'rowSpan', 'colSpan', 'useMap', 'frameBorder', 'contentEditable'], (function () {_.propFix[this.toLowerCase()] = this;})), _.fn.extend({ addClass: function (e) { var t, n, i, a, r, o, s, l = 0; if (p(e)) return this.each( (function (t) {_(this).addClass(e.call(this, t, vt(this)));})); if ((t = yt(e)).length) for (; n = this[l++];) if (a = vt( n), i = 1 === n.nodeType && ' ' + gt(a) + ' ') { for (o = 0; r = t[o++];) i.indexOf(' ' + r + ' ') < 0 && (i += r + ' '); a !== (s = gt(i)) && n.setAttribute('class', s); } return this; }, removeClass: function (e) { var t, n, i, a, r, o, s, l = 0; if (p(e)) return this.each((function (t) { _(this). removeClass(e.call(this, t, vt(this))); })); if (!arguments.length) return this.attr('class', ''); if ((t = yt(e)).length) for (; n = this[l++];) if (a = vt( n), i = 1 === n.nodeType && ' ' + gt(a) + ' ') { for (o = 0; r = t[o++];) for (; i.indexOf(" " + r + " ") > -1;) i = i.replace( ' ' + r + ' ', ' '); a !== (s = gt(i)) && n.setAttribute('class', s); } return this; }, toggleClass: function (e, t) { var n = typeof e, i = 'string' === n || Array.isArray(e); return 'boolean' == typeof t && i ? t ? this.addClass(e) : this.removeClass(e) : p(e) ? this.each((function (n) { _(this). toggleClass(e.call(this, n, vt(this), t), t); })) : this.each((function () { var t, a, r, o; if (i) for (a = 0, r = _(this), o = yt( e); t = o[a++];) r.hasClass(t) ? r.removeClass(t) : r.addClass(t); else void 0 !== e && 'boolean' !== n || ((t = vt(this)) && G.set(this, '__className__', t), this.setAttribute && this.setAttribute('class', t || !1 === e ? '' : G.get(this, '__className__') || '')); })); }, hasClass: function (e) { var t, n, i = 0; for (t = ' ' + e + ' '; n = this[i++];) if (1 === n.nodeType && (' ' + gt(vt(n)) + ' ').indexOf(t) > -1) return !0; return !1; }, }); var bt = /\r/g; _.fn.extend({ val: function (e) { var t, n, i, a = this[0]; return arguments.length ? (i = p(e), this.each((function (n) { var a; 1 === this.nodeType && (null == (a = i ? e.call(this, n, _(this).val()) : e) ? a = '' : 'number' == typeof a ? a += '' : Array.isArray(a) && (a = _.map(a, (function (e) { return null == e ? '' : e + ''; }))), (t = _.valHooks[this.type] || _.valHooks[this.nodeName.toLowerCase()]) && 'set' in t && void 0 !== t.set(this, a, 'value') || (this.value = a)); }))) : a ? (t = _.valHooks[a.type] || _.valHooks[a.nodeName.toLowerCase()]) && 'get' in t && void 0 !== (n = t.get(a, 'value')) ? n : 'string' == typeof (n = a.value) ? n.replace(bt, '') : null == n ? '' : n : void 0; }, }), _.extend({ valHooks: { option: { get: function (e) { var t = _.find.attr(e, 'value'); return null != t ? t : gt(_.text(e)); }, }, select: { get: function (e) { var t, n, i, a = e.options, r = e.selectedIndex, o = 'select-one' === e.type, s = o ? null : [], l = o ? r + 1 : a.length; for (i = r < 0 ? l : o ? r : 0; i < l; i++) if (((n = a[i]).selected || i === r) && !n.disabled && (!n.parentNode.disabled || !T(n.parentNode, 'optgroup'))) { if (t = _(n). val(), o) return t; s.push(t); } return s; }, set: function (e, t) { for (var n, i, a = e.options, r = _.makeArray( t), o = a.length; o--;) ((i = a[o]).selected = _.inArray( _.valHooks.option.get(i), r) > -1) && (n = !0); return n || (e.selectedIndex = -1), r; }, }, }, }), _.each(['radio', 'checkbox'], (function () { _.valHooks[this] = { set: function (e, t) { if (Array.isArray(t)) return e.checked = _.inArray(_(e).val(), t) > -1; }, }, f.checkOn || (_.valHooks[this].get = function (e) { return null === e.getAttribute('value') ? 'on' : e.value; }); })), f.focusin = 'onfocusin' in e; var xt = /^(?:focusinfocus|focusoutblur)$/, _t = function (e) {e.stopPropagation();}; _.extend(_.event, { trigger: function (t, n, i, a) { var r, o, s, l, c, d, h, f, v = [i || g], y = u.call(t, 'type') ? t.type : t, b = u.call(t, 'namespace') ? t.namespace.split('.') : []; if (o = f = s = i = i || g, 3 !== i.nodeType && 8 !== i.nodeType && !xt.test(y + _.event.triggered) && (y.indexOf('.') > -1 && (b = y.split('.'), y = b.shift(), b.sort()), c = y.indexOf(':') < 0 && 'on' + y, (t = t[_.expando] ? t : new _.Event(y, 'object' == typeof t && t)).isTrigger = a ? 2 : 3, t.namespace = b.join('.'), t.rnamespace = t.namespace ? new RegExp('(^|\\.)' + b.join('\\.(?:.*\\.|)') + '(\\.|$)') : null, t.result = void 0, t.target || (t.target = i), n = null == n ? [t] : _.makeArray(n, [t]), h = _.event.special[y] || {}, a || !h.trigger || !1 !== h.trigger.apply(i, n))) { if (!a && !h.noBubble && !m(i)) { for (l = h.delegateType || y, xt.test(l + y) || (o = o.parentNode); o; o = o.parentNode) v.push(o), s = o; s === (i.ownerDocument || g) && v.push(s.defaultView || s.parentWindow || e); } for (r = 0; (o = v[r++]) && !t.isPropagationStopped();) f = o, t.type = r > 1 ? l : h.bindType || y, (d = (G.get(o, 'events') || Object.create(null))[t.type] && G.get(o, 'handle')) && d.apply(o, n), (d = c && o[c]) && d.apply && X(o) && (t.result = d.apply(o, n), !1 === t.result && t.preventDefault()); return t.type = y, a || t.isDefaultPrevented() || h._default && !1 !== h._default.apply(v.pop(), n) || !X(i) || c && p(i[y]) && !m(i) && ((s = i[c]) && (i[c] = null), _.event.triggered = y, t.isPropagationStopped() && f.addEventListener(y, _t), i[y](), t.isPropagationStopped() && f.removeEventListener(y, _t), _.event.triggered = void 0, s && (i[c] = s)), t.result; } }, simulate: function (e, t, n) { var i = _.extend(new _.Event, n, { type: e, isSimulated: !0 }); _.event.trigger(i, null, t); }, }), _.fn.extend({ trigger: function (e, t) { return this.each((function () {_.event.trigger(e, t, this);})); }, triggerHandler: function (e, t) { var n = this[0]; if (n) return _.event.trigger(e, t, n, !0); }, }), f.focusin || _.each({ focus: 'focusin', blur: 'focusout' }, (function (e, t) { var n = function (e) { _.event.simulate(t, e.target, _.event.fix(e)); }; _.event.special[t] = { setup: function () { var i = this.ownerDocument || this.document || this, a = G.access(i, t); a || i.addEventListener(e, n, !0), G.access(i, t, (a || 0) + 1); }, teardown: function () { var i = this.ownerDocument || this.document || this, a = G.access(i, t) - 1; a ? G.access(i, t, a) : (i.removeEventListener(e, n, !0), G.remove(i, t)); }, }; })); var wt = e.location, kt = { guid: Date.now() }, Mt = /\?/; _.parseXML = function (t) { var n; if (!t || 'string' != typeof t) return null; try { n = (new e.DOMParser).parseFromString(t, 'text/xml'); } catch (e) {n = void 0;} return n && !n.getElementsByTagName('parsererror').length || _.error('Invalid XML: ' + t), n; }; var Lt = /\[\]$/, St = /\r?\n/g, Tt = /^(?:submit|button|image|reset|file)$/i, At = /^(?:input|select|textarea|keygen)/i; function Dt (e, t, n, i) { var a; if (Array.isArray(t)) _.each(t, (function (t, a) { n || Lt.test(e) ? i(e, a) : Dt( e + '[' + ('object' == typeof a && null != a ? t : '') + ']', a, n, i); })); else if (n || 'object' !== b(t)) i(e, t); else for (a in t) Dt( e + '[' + a + ']', t[a], n, i); } _.param = function (e, t) { var n, i = [], a = function (e, t) { var n = p(t) ? t() : t; i[i.length] = encodeURIComponent(e) + '=' + encodeURIComponent(null == n ? '' : n); }; if (null == e) return ''; if (Array.isArray(e) || e.jquery && !_.isPlainObject(e)) _.each(e, (function () {a(this.name, this.value);})); else for (n in e) Dt(n, e[n], t, a); return i.join('&'); }, _.fn.extend({ serialize: function () {return _.param(this.serializeArray());}, serializeArray: function () { return this.map((function () { var e = _.prop(this, 'elements'); return e ? _.makeArray(e) : this; })).filter((function () { var e = this.type; return this.name && !_(this).is(':disabled') && At.test(this.nodeName) && !Tt.test(e) && (this.checked || !fe.test(e)); })).map((function (e, t) { var n = _(this).val(); return null == n ? null : Array.isArray(n) ? _.map(n, (function (e) { return { name: t.name, value: e.replace(St, '\r\n'), }; })) : { name: t.name, value: n.replace(St, '\r\n') }; })).get(); }, }); var Ct = /%20/g, Et = /#.*$/, Ot = /([?&])_=[^&]*/, Yt = /^(.*?):[ \t]*([^\r\n]*)$/gm, Pt = /^(?:GET|HEAD)$/, It = /^\/\//, jt = {}, Nt = {}, Ht = '*/'.concat('*'), Ft = g.createElement('a'); function Rt (e) { return function (t, n) { 'string' != typeof t && (n = t, t = '*'); var i, a = 0, r = t.toLowerCase().match(I) || []; if (p(n)) for (; i = r[a++];) '+' === i[0] ? (i = i.slice(1) || '*', (e[i] = e[i] || []).unshift(n)) : (e[i] = e[i] || []).push( n); }; } function zt (e, t, n, i) { var a = {}, r = e === Nt; function o (s) { var l; return a[s] = !0, _.each(e[s] || [], (function (e, s) { var c = s(t, n, i); return 'string' != typeof c || r || a[c] ? r ? !(l = c) : void 0 : (t.dataTypes.unshift(c), o(c), !1); })), l; } return o(t.dataTypes[0]) || !a['*'] && o('*'); } function Bt (e, t) { var n, i, a = _.ajaxSettings.flatOptions || {}; for (n in t) void 0 !== t[n] && ((a[n] ? e : i || (i = {}))[n] = t[n]); return i && _.extend(!0, e, i), e; } Ft.href = wt.href, _.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: wt.href, type: 'GET', isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test( wt.protocol), global: !0, processData: !0, async: !0, contentType: 'application/x-www-form-urlencoded; charset=UTF-8', accepts: { '*': Ht, text: 'text/plain', html: 'text/html', xml: 'application/xml, text/xml', json: 'application/json, text/javascript', }, contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, responseFields: { xml: 'responseXML', text: 'responseText', json: 'responseJSON', }, converters: { '* text': String, 'text html': !0, 'text json': JSON.parse, 'text xml': _.parseXML, }, flatOptions: { url: !0, context: !0 }, }, ajaxSetup: function (e, t) { return t ? Bt(Bt(e, _.ajaxSettings), t) : Bt(_.ajaxSettings, e); }, ajaxPrefilter: Rt(jt), ajaxTransport: Rt(Nt), ajax: function (t, n) { 'object' == typeof t && (n = t, t = void 0), n = n || {}; var i, a, r, o, s, l, c, u, d, h, f = _.ajaxSetup({}, n), p = f.context || f, m = f.context && (p.nodeType || p.jquery) ? _(p) : _.event, v = _.Deferred(), y = _.Callbacks('once memory'), b = f.statusCode || {}, x = {}, w = {}, k = 'canceled', M = { readyState: 0, getResponseHeader: function (e) { var t; if (c) { if (!o) for (o = {}; t = Yt.exec( r);) o[t[1].toLowerCase() + ' '] = (o[t[1].toLowerCase() + ' '] || []).concat(t[2]); t = o[e.toLowerCase() + ' ']; } return null == t ? null : t.join(', '); }, getAllResponseHeaders: function () {return c ? r : null;}, setRequestHeader: function (e, t) { return null == c && (e = w[e.toLowerCase()] = w[e.toLowerCase()] || e, x[e] = t), this; }, overrideMimeType: function (e) { return null == c && (f.mimeType = e), this; }, statusCode: function (e) { var t; if (e) if (c) M.always( e[M.status]); else for (t in e) b[t] = [b[t], e[t]]; return this; }, abort: function (e) { var t = e || k; return i && i.abort(t), L(0, t), this; }, }; if (v.promise(M), f.url = ((t || f.url || wt.href) + '').replace(It, wt.protocol + '//'), f.type = n.method || n.type || f.method || f.type, f.dataTypes = (f.dataType || '*').toLowerCase(). match(I) || [''], null == f.crossDomain) { l = g.createElement('a'); try { l.href = f.url, l.href = l.href, f.crossDomain = Ft.protocol + '//' + Ft.host != l.protocol + '//' + l.host; } catch (e) {f.crossDomain = !0;} } if (f.data && f.processData && 'string' != typeof f.data && (f.data = _.param(f.data, f.traditional)), zt(jt, f, n, M), c) return M; for (d in (u = _.event && f.global) && 0 == _.active++ && _.event.trigger( 'ajaxStart'), f.type = f.type.toUpperCase(), f.hasContent = !Pt.test( f.type), a = f.url.replace(Et, ''), f.hasContent ? f.data && f.processData && 0 === (f.contentType || '').indexOf( 'application/x-www-form-urlencoded') && (f.data = f.data.replace(Ct, '+')) : (h = f.url.slice( a.length), f.data && (f.processData || 'string' == typeof f.data) && (a += (Mt.test(a) ? '&' : '?') + f.data, delete f.data), !1 === f.cache && (a = a.replace(Ot, '$1'), h = (Mt.test(a) ? '&' : '?') + '_=' + kt.guid++ + h), f.url = a + h), f.ifModified && (_.lastModified[a] && M.setRequestHeader('If-Modified-Since', _.lastModified[a]), _.etag[a] && M.setRequestHeader('If-None-Match', _.etag[a])), (f.data && f.hasContent && !1 !== f.contentType || n.contentType) && M.setRequestHeader('Content-Type', f.contentType), M.setRequestHeader('Accept', f.dataTypes[0] && f.accepts[f.dataTypes[0]] ? f.accepts[f.dataTypes[0]] + ('*' !== f.dataTypes[0] ? ', ' + Ht + '; q=0.01' : '') : f.accepts['*']), f.headers) M.setRequestHeader(d, f.headers[d]); if (f.beforeSend && (!1 === f.beforeSend.call(p, M, f) || c)) return M.abort(); if (k = 'abort', y.add(f.complete), M.done(f.success), M.fail( f.error), i = zt(Nt, f, n, M)) { if (M.readyState = 1, u && m.trigger('ajaxSend', [M, f]), c) return M; f.async && f.timeout > 0 && (s = e.setTimeout((function () {M.abort('timeout');}), f.timeout)); try {c = !1, i.send(x, L);} catch (e) { if (c) throw e; L(-1, e); } } else L(-1, 'No Transport'); function L (t, n, o, l) { var d, h, g, x, w, k = n; c || (c = !0, s && e.clearTimeout(s), i = void 0, r = l || '', M.readyState = t > 0 ? 4 : 0, d = t >= 200 && t < 300 || 304 === t, o && (x = function (e, t, n) { for (var i, a, r, o, s = e.contents, l = e.dataTypes; "*" === l[0];) l.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader('Content-Type')); if (i) for (a in s) if (s[a] && s[a].test(i)) { l.unshift(a); break; } if (l[0] in n) r = l[0]; else { for (a in n) { if (!l[0] || e.converters[a + ' ' + l[0]]) { r = a; break; } o || (o = a); } r = r || o; } if (r) return r !== l[0] && l.unshift(r), n[r]; }(f, M, o)), !d && _.inArray('script', f.dataTypes) > -1 && (f.converters['text script'] = function () {}), x = function ( e, t, n, i) { var a, r, o, s, l, c = {}, u = e.dataTypes.slice(); if (u[1]) for (o in e.converters) c[o.toLowerCase()] = e.converters[o]; for (r = u.shift(); r;) if (e.responseFields[r] && (n[e.responseFields[r]] = t), !l && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = r, r = u.shift()) if ('*' === r) r = l; else if ('*' !== l && l !== r) { if (!(o = c[l + ' ' + r] || c['* ' + r])) for (a in c) if ((s = a.split( ' '))[1] === r && (o = c[l + ' ' + s[0]] || c['* ' + s[0]])) { !0 === o ? o = c[a] : !0 !== c[a] && (r = s[0], u.unshift(s[1])); break; } if (!0 !== o) if (o && e.throws) t = o(t); else try { t = o(t); } catch (e) { return { state: 'parsererror', error: o ? e : 'No conversion from ' + l + ' to ' + r, }; } } return { state: 'success', data: t }; }(f, x, M, d), d ? (f.ifModified && ((w = M.getResponseHeader('Last-Modified')) && (_.lastModified[a] = w), (w = M.getResponseHeader( 'etag')) && (_.etag[a] = w)), 204 === t || 'HEAD' === f.type ? k = 'nocontent' : 304 === t ? k = 'notmodified' : (k = x.state, h = x.data, d = !(g = x.error))) : (g = k, !t && k || (k = 'error', t < 0 && (t = 0))), M.status = t, M.statusText = (n || k) + '', d ? v.resolveWith(p, [h, k, M]) : v.rejectWith(p, [M, k, g]), M.statusCode( b), b = void 0, u && m.trigger(d ? 'ajaxSuccess' : 'ajaxError', [M, f, d ? h : g]), y.fireWith(p, [M, k]), u && (m.trigger('ajaxComplete', [M, f]), --_.active || _.event.trigger('ajaxStop'))); } return M; }, getJSON: function (e, t, n) {return _.get(e, t, n, 'json');}, getScript: function (e, t) {return _.get(e, void 0, t, 'script');}, }), _.each(['get', 'post'], (function (e, t) { _[t] = function (e, n, i, a) { return p(n) && (a = a || i, i = n, n = void 0), _.ajax( _.extend({ url: e, type: t, dataType: a, data: n, success: i }, _.isPlainObject(e) && e)); }; })), _.ajaxPrefilter((function (e) { var t; for (t in e.headers) 'content-type' === t.toLowerCase() && (e.contentType = e.headers[t] || ''); })), _._evalUrl = function (e, t, n) { return _.ajax({ url: e, type: 'GET', dataType: 'script', cache: !0, async: !1, global: !1, converters: { 'text script': function () {} }, dataFilter: function (e) {_.globalEval(e, t, n);}, }); }, _.fn.extend({ wrapAll: function (e) { var t; return this[0] && (p(e) && (e = e.call(this[0])), t = _(e, this[0].ownerDocument). eq(0). clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map( (function () { for (var e = this; e.firstElementChild;) e = e.firstElementChild; return e; })).append(this)), this; }, wrapInner: function (e) { return p(e) ? this.each( (function (t) {_(this).wrapInner(e.call(this, t));})) : this.each((function () { var t = _(this), n = t.contents(); n.length ? n.wrapAll(e) : t.append(e); })); }, wrap: function (e) { var t = p(e); return this.each( (function (n) {_(this).wrapAll(t ? e.call(this, n) : e);})); }, unwrap: function (e) { return this.parent(e). not('body'). each((function () { _(this). replaceWith(this.childNodes); })), this; }, }), _.expr.pseudos.hidden = function (e) { return !_.expr.pseudos.visible(e); }, _.expr.pseudos.visible = function (e) { return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length); }, _.ajaxSettings.xhr = function () {try {return new e.XMLHttpRequest;} catch (e) {}}; var Wt = { 0: 200, 1223: 204 }, Vt = _.ajaxSettings.xhr(); f.cors = !!Vt && 'withCredentials' in Vt, f.ajax = Vt = !!Vt, _.ajaxTransport((function (t) { var n, i; if (f.cors || Vt && !t.crossDomain) return { send: function ( a, r) { var o, s = t.xhr(); if (s.open(t.type, t.url, t.async, t.username, t.password), t.xhrFields) for (o in t.xhrFields) s[o] = t.xhrFields[o]; for (o in t.mimeType && s.overrideMimeType && s.overrideMimeType(t.mimeType), t.crossDomain || a['X-Requested-With'] || (a['X-Requested-With'] = 'XMLHttpRequest'), a) s.setRequestHeader( o, a[o]); n = function (e) { return function () { n && (n = i = s.onload = s.onerror = s.onabort = s.ontimeout = s.onreadystatechange = null, 'abort' === e ? s.abort() : 'error' === e ? 'number' != typeof s.status ? r(0, 'error') : r(s.status, s.statusText) : r(Wt[s.status] || s.status, s.statusText, 'text' !== (s.responseType || 'text') || 'string' != typeof s.responseText ? { binary: s.response } : { text: s.responseText }, s.getAllResponseHeaders())); }; }, s.onload = n(), i = s.onerror = s.ontimeout = n( 'error'), void 0 !== s.onabort ? s.onabort = i : s.onreadystatechange = function () { 4 === s.readyState && e.setTimeout((function () {n && i();})); }, n = n('abort'); try { s.send(t.hasContent && t.data || null); } catch (e) {if (n) throw e;} }, abort: function () {n && n();}, }; })), _.ajaxPrefilter((function (e) { e.crossDomain && (e.contents.script = !1); })), _.ajaxSetup({ accepts: { script: 'text/javascript, application/javascript, application/ecmascript, application/x-ecmascript' }, contents: { script: /\b(?:java|ecma)script\b/ }, converters: { 'text script': function (e) { return _.globalEval(e), e; }, }, }), _.ajaxPrefilter('script', (function (e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = 'GET'); })), _.ajaxTransport('script', (function (e) { var t, n; if (e.crossDomain || e.scriptAttrs) return { send: function ( i, a) { t = _('<script>'). attr(e.scriptAttrs || {}). prop({ charset: e.scriptCharset, src: e.url }). on('load error', n = function (e) { t.remove(), n = null, e && a('error' === e.type ? 404 : 200, e.type); }), g.head.appendChild(t[0]); }, abort: function () {n && n();}, }; })); var qt, Ut = [], Xt = /(=)\?(?=&|$)|\?\?/; _.ajaxSetup({ jsonp: 'callback', jsonpCallback: function () { var e = Ut.pop() || _.expando + '_' + kt.guid++; return this[e] = !0, e; }, }), _.ajaxPrefilter('json jsonp', (function (t, n, i) { var a, r, o, s = !1 !== t.jsonp && (Xt.test(t.url) ? 'url' : 'string' == typeof t.data && 0 === (t.contentType || '').indexOf( 'application/x-www-form-urlencoded') && Xt.test(t.data) && 'data'); if (s || 'jsonp' === t.dataTypes[0]) return a = t.jsonpCallback = p( t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback, s ? t[s] = t[s].replace(Xt, '$1' + a) : !1 !== t.jsonp && (t.url += (Mt.test(t.url) ? '&' : '?') + t.jsonp + '=' + a), t.converters['script json'] = function () { return o || _.error(a + ' was not called'), o[0]; }, t.dataTypes[0] = 'json', r = e[a], e[a] = function () {o = arguments;}, i.always( (function () { void 0 === r ? _(e).removeProp(a) : e[a] = r, t[a] && (t.jsonpCallback = n.jsonpCallback, Ut.push(a)), o && p(r) && r(o[0]), o = r = void 0; })), 'script'; })), f.createHTMLDocument = ((qt = g.implementation.createHTMLDocument( '').body).innerHTML = '<form></form><form></form>', 2 === qt.childNodes.length), _.parseHTML = function (e, t, n) { return 'string' != typeof e ? [] : ('boolean' == typeof t && (n = t, t = !1), t || (f.createHTMLDocument ? ((i = (t = g.implementation.createHTMLDocument('')).createElement( 'base')).href = g.location.href, t.head.appendChild(i)) : t = g), r = !n && [], (a = A.exec(e)) ? [t.createElement(a[1])] : (a = xe([e], t, r), r && r.length && _(r).remove(), _.merge([], a.childNodes))); var i, a, r; }, _.fn.load = function (e, t, n) { var i, a, r, o = this, s = e.indexOf(' '); return s > -1 && (i = gt(e.slice(s)), e = e.slice(0, s)), p(t) ? (n = t, t = void 0) : t && 'object' == typeof t && (a = 'POST'), o.length > 0 && _.ajax({ url: e, type: a || 'GET', dataType: 'html', data: t }). done((function (e) { r = arguments, o.html( i ? _('<div>').append(_.parseHTML(e)).find(i) : e); })). always(n && function (e, t) { o.each( (function () { n.apply(this, r || [e.responseText, t, e]); })); }), this; }, _.expr.pseudos.animated = function (e) { return _.grep(_.timers, (function (t) {return e === t.elem;})).length; }, _.offset = { setOffset: function (e, t, n) { var i, a, r, o, s, l, c = _.css(e, 'position'), u = _(e), d = {}; 'static' === c && (e.style.position = 'relative'), s = u.offset(), r = _.css(e, 'top'), l = _.css(e, 'left'), ('absolute' === c || 'fixed' === c) && (r + l).indexOf('auto') > -1 ? (o = (i = u.position()).top, a = i.left) : (o = parseFloat(r) || 0, a = parseFloat(l) || 0), p(t) && (t = t.call(e, n, _.extend({}, s))), null != t.top && (d.top = t.top - s.top + o), null != t.left && (d.left = t.left - s.left + a), 'using' in t ? t.using.call(e, d) : ('number' == typeof d.top && (d.top += 'px'), 'number' == typeof d.left && (d.left += 'px'), u.css(d)); }, }, _.fn.extend({ offset: function (e) { if (arguments.length) return void 0 === e ? this : this.each((function (t) {_.offset.setOffset(this, e, t);})); var t, n, i = this[0]; return i ? i.getClientRects().length ? (t = i.getBoundingClientRect(), n = i.ownerDocument.defaultView, { top: t.top + n.pageYOffset, left: t.left + n.pageXOffset, }) : { top: 0, left: 0 } : void 0; }, position: function () { if (this[0]) { var e, t, n, i = this[0], a = { top: 0, left: 0 }; if ('fixed' === _.css(i, 'position')) t = i.getBoundingClientRect(); else { for (t = this.offset(), n = i.ownerDocument, e = i.offsetParent || n.documentElement; e && (e === n.body || e === n.documentElement) && "static" === _.css(e, "position");) e = e.parentNode; e && e !== i && 1 === e.nodeType && ((a = _(e).offset()).top += _.css(e, 'borderTopWidth', !0), a.left += _.css(e, 'borderLeftWidth', !0)); } return { top: t.top - a.top - _.css(i, 'marginTop', !0), left: t.left - a.left - _.css(i, 'marginLeft', !0), }; } }, offsetParent: function () { return this.map((function () { for (var e = this.offsetParent; e && "static" === _.css(e, "position");) e = e.offsetParent; return e || ie; })); }, }), _.each({ scrollLeft: 'pageXOffset', scrollTop: 'pageYOffset' }, (function (e, t) { var n = 'pageYOffset' === t; _.fn[e] = function (i) { return B(this, (function (e, i, a) { var r; if (m(e) ? r = e : 9 === e.nodeType && (r = e.defaultView), void 0 === a) return r ? r[t] : e[i]; r ? r.scrollTo(n ? r.pageXOffset : a, n ? a : r.pageYOffset) : e[i] = a; }), e, i, arguments.length); }; })), _.each(['top', 'left'], (function (e, t) { _.cssHooks[t] = Ve(f.pixelPosition, (function (e, n) { if (n) return n = We(e, t), Fe.test(n) ? _(e). position()[t] + 'px' : n; })); })), _.each({ Height: 'height', Width: 'width' }, (function (e, t) { _.each({ padding: 'inner' + e, content: t, '': 'outer' + e }, (function (n, i) { _.fn[i] = function (a, r) { var o = arguments.length && (n || 'boolean' != typeof a), s = n || (!0 === a || !0 === r ? 'margin' : 'border'); return B(this, (function (t, n, a) { var r; return m(t) ? 0 === i.indexOf('outer') ? t['inner' + e] : t.document.documentElement['client' + e] : 9 === t.nodeType ? (r = t.documentElement, Math.max( t.body['scroll' + e], r['scroll' + e], t.body['offset' + e], r['offset' + e], r['client' + e])) : void 0 === a ? _.css(t, n, s) : _.style(t, n, a, s); }), t, o ? a : void 0, o); }; })); })), _.each([ 'ajaxStart', 'ajaxStop', 'ajaxComplete', 'ajaxError', 'ajaxSuccess', 'ajaxSend'], (function (e, t) { _.fn[t] = function (e) { return this.on(t, e); }; })), _.fn.extend({ bind: function (e, t, n) {return this.on(e, null, t, n);}, unbind: function (e, t) {return this.off(e, null, t);}, delegate: function (e, t, n, i) {return this.on(t, e, n, i);}, undelegate: function (e, t, n) { return 1 === arguments.length ? this.off(e, '**') : this.off(t, e || '**', n); }, hover: function (e, t) {return this.mouseenter(e).mouseleave(t || e);}, }), _.each( 'blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu'.split( ' '), (function (e, t) { _.fn[t] = function (e, n) { return arguments.length > 0 ? this.on(t, null, e, n) : this.trigger(t); }; })); var $t = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g; _.proxy = function (e, t) { var n, i, r; if ('string' == typeof t && (n = e[t], t = e, e = n), p( e)) return i = a.call(arguments, 2), (r = function () { return e.apply(t || this, i.concat(a.call(arguments))); }).guid = e.guid = e.guid || _.guid++, r; }, _.holdReady = function (e) { e ? _.readyWait++ : _.ready(!0); }, _.isArray = Array.isArray, _.parseJSON = JSON.parse, _.nodeName = T, _.isFunction = p, _.isWindow = m, _.camelCase = U, _.type = b, _.now = Date.now, _.isNumeric = function (e) { var t = _.type(e); return ('number' === t || 'string' === t) && !isNaN(e - parseFloat(e)); }, _.trim = function (e) { return null == e ? '' : (e + '').replace($t, ''); }, 'function' == typeof define && define.amd && define('jquery', [], (function () {return _;})); var Gt = e.jQuery, Zt = e.$; return _.noConflict = function (t) { return e.$ === _ && (e.$ = Zt), t && e.jQuery === _ && (e.jQuery = Gt), _; }, void 0 === t && (e.jQuery = e.$ = _), _; })), 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).Popper = {}); }(this, (function (e) { 'use strict'; function t (e) { var t = e.getBoundingClientRect(); return { width: t.width, height: t.height, top: t.top, right: t.right, bottom: t.bottom, left: t.left, x: t.left, y: t.top, }; } function n (e) { if (null == e) return window; if ('[object Window]' !== e.toString()) { var t = e.ownerDocument; return t && t.defaultView || window; } return e; } function i (e) { var t = n(e); return { scrollLeft: t.pageXOffset, scrollTop: t.pageYOffset }; } function a (e) {return e instanceof n(e).Element || e instanceof Element;} function r (e) { return e instanceof n(e).HTMLElement || e instanceof HTMLElement; } function o (e) { return 'undefined' != typeof ShadowRoot && (e instanceof n(e).ShadowRoot || e instanceof ShadowRoot); } function s (e) {return e ? (e.nodeName || '').toLowerCase() : null;} function l (e) { return ((a(e) ? e.ownerDocument : e.document) || window.document).documentElement; } function c (e) {return t(l(e)).left + i(e).scrollLeft;} function u (e) {return n(e).getComputedStyle(e);} function d (e) { var t = u(e), n = t.overflow, i = t.overflowX, a = t.overflowY; return /auto|scroll|overlay|hidden/.test(n + a + i); } function h (e, a, o) { void 0 === o && (o = !1); var u, h, f = l(a), p = t(e), m = r(a), g = { scrollLeft: 0, scrollTop: 0 }, v = { x: 0, y: 0 }; return (m || !m && !o) && (('body' !== s(a) || d(f)) && (g = (u = a) !== n(u) && r(u) ? { scrollLeft: (h = u).scrollLeft, scrollTop: h.scrollTop, } : i(u)), r(a) ? ((v = t(a)).x += a.clientLeft, v.y += a.clientTop) : f && (v.x = c(f))), { x: p.left + g.scrollLeft - v.x, y: p.top + g.scrollTop - v.y, width: p.width, height: p.height, }; } function f (e) { var n = t(e), i = e.offsetWidth, a = e.offsetHeight; return Math.abs(n.width - i) <= 1 && (i = n.width), Math.abs( n.height - a) <= 1 && (a = n.height), { x: e.offsetLeft, y: e.offsetTop, width: i, height: a, }; } function p (e) { return 'html' === s(e) ? e : e.assignedSlot || e.parentNode || (o(e) ? e.host : null) || l(e); } function m (e) { return ['html', 'body', '#document'].indexOf(s(e)) >= 0 ? e.ownerDocument.body : r(e) && d(e) ? e : m(p(e)); } function g (e, t) { var i; void 0 === t && (t = []); var a = m(e), r = a === (null == (i = e.ownerDocument) ? void 0 : i.body), o = n(a), s = r ? [o].concat(o.visualViewport || [], d(a) ? a : []) : a, l = t.concat(s); return r ? l : l.concat(g(p(s))); } function v (e) {return ['table', 'td', 'th'].indexOf(s(e)) >= 0;} function y (e) { return r(e) && 'fixed' !== u(e).position ? e.offsetParent : null; } function b (e) { for (var t = n(e), i = y(e); i && v(i) && "static" === u(i).position;) i = y(i); return i && ('html' === s(i) || 'body' === s(i) && 'static' === u(i).position) ? t : i || function (e) { var t = -1 !== navigator.userAgent.toLowerCase().indexOf('firefox'); if (-1 !== navigator.userAgent.indexOf('Trident') && r(e) && 'fixed' === u(e).position) return null; for (var n = p(e); r(n) && ["html", "body"].indexOf(s(n)) < 0;) { var i = u(n); if ('none' !== i.transform || 'none' !== i.perspective || 'paint' === i.contain || -1 !== ['transform', 'perspective'].indexOf(i.willChange) || t && 'filter' === i.willChange || t && i.filter && 'none' !== i.filter) return n; n = n.parentNode; } return null; }(e) || t; } var x = 'top', _ = 'bottom', w = 'right', k = 'left', M = 'auto', L = [x, _, w, k], S = 'start', T = 'end', A = 'viewport', D = 'popper', C = L.reduce( (function (e, t) {return e.concat([t + '-' + S, t + '-' + T]);}), []), E = [].concat(L, [M]). reduce( (function (e, t) {return e.concat([t, t + '-' + S, t + '-' + T]);}), []), O = [ 'beforeRead', 'read', 'afterRead', 'beforeMain', 'main', 'afterMain', 'beforeWrite', 'write', 'afterWrite']; function Y (e) { var t = new Map, n = new Set, i = []; function a (e) { n.add(e.name), [].concat(e.requires || [], e.requiresIfExists || []). forEach((function (e) { if (!n.has(e)) { var i = t.get(e); i && a(i); } })), i.push(e); } return e.forEach((function (e) {t.set(e.name, e);})), e.forEach( (function (e) {n.has(e.name) || a(e);})), i; } function P (e) { for (var t = arguments.length, n = new Array( t > 1 ? t - 1 : 0), i = 1; i < t; i++) n[i - 1] = arguments[i]; return [].concat(n). reduce((function (e, t) {return e.replace(/%s/, t);}), e); } var I = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s', j = ['name', 'enabled', 'phase', 'fn', 'effect', 'requires', 'options']; function N (e) {return e.split('-')[0];} var H = Math.max, F = Math.min, R = Math.round; function z (e, t) { var n = t.getRootNode && t.getRootNode(); if (e.contains(t)) return !0; if (n && o(n)) { var i = t; do { if (i && e.isSameNode(i)) return !0; i = i.parentNode || i.host; } while (i); } return !1; } function B (e) { return Object.assign({}, e, { left: e.x, top: e.y, right: e.x + e.width, bottom: e.y + e.height, }); } function W (e, a) { return a === A ? B(function (e) { var t = n(e), i = l(e), a = t.visualViewport, r = i.clientWidth, o = i.clientHeight, s = 0, u = 0; return a && (r = a.width, o = a.height, /^((?!chrome|android).)*safari/i.test( navigator.userAgent) || (s = a.offsetLeft, u = a.offsetTop)), { width: r, height: o, x: s + c(e), y: u, }; }(e)) : r(a) ? function (e) { var n = t(e); return n.top = n.top + e.clientTop, n.left = n.left + e.clientLeft, n.bottom = n.top + e.clientHeight, n.right = n.left + e.clientWidth, n.width = e.clientWidth, n.height = e.clientHeight, n.x = n.left, n.y = n.top, n; }(a) : B(function (e) { var t, n = l(e), a = i(e), r = null == (t = e.ownerDocument) ? void 0 : t.body, o = H(n.scrollWidth, n.clientWidth, r ? r.scrollWidth : 0, r ? r.clientWidth : 0), s = H(n.scrollHeight, n.clientHeight, r ? r.scrollHeight : 0, r ? r.clientHeight : 0), d = -a.scrollLeft + c(e), h = -a.scrollTop; return 'rtl' === u(r || n).direction && (d += H(n.clientWidth, r ? r.clientWidth : 0) - o), { width: o, height: s, x: d, y: h, }; }(l(e))); } function V (e, t, n) { var i = 'clippingParents' === t ? function (e) { var t = g(p(e)), n = ['absolute', 'fixed'].indexOf(u(e).position) >= 0 && r(e) ? b(e) : e; return a(n) ? t.filter((function (e) { return a(e) && z(e, n) && 'body' !== s(e); })) : []; }(e) : [].concat(t), o = [].concat(i, [n]), l = o[0], c = o.reduce((function (t, n) { var i = W(e, n); return t.top = H(i.top, t.top), t.right = F(i.right, t.right), t.bottom = F(i.bottom, t.bottom), t.left = H( i.left, t.left), t; }), W(e, l)); return c.width = c.right - c.left, c.height = c.bottom - c.top, c.x = c.left, c.y = c.top, c; } function q (e) {return e.split('-')[1];} function U (e) {return ['top', 'bottom'].indexOf(e) >= 0 ? 'x' : 'y';} function X (e) { var t, n = e.reference, i = e.element, a = e.placement, r = a ? N(a) : null, o = a ? q(a) : null, s = n.x + n.width / 2 - i.width / 2, l = n.y + n.height / 2 - i.height / 2; switch (r) { case x: t = { x: s, y: n.y - i.height }; break; case _: t = { x: s, y: n.y + n.height }; break; case w: t = { x: n.x + n.width, y: l }; break; case k: t = { x: n.x - i.width, y: l }; break; default: t = { x: n.x, y: n.y }; } var c = r ? U(r) : null; if (null != c) { var u = 'y' === c ? 'height' : 'width'; switch (o) { case S: t[c] = t[c] - (n[u] / 2 - i[u] / 2); break; case T: t[c] = t[c] + (n[u] / 2 - i[u] / 2); } } return t; } function $ (e) { return Object.assign({}, { top: 0, right: 0, bottom: 0, left: 0 }, e); } function G (e, t) { return t.reduce((function (t, n) {return t[n] = e, t;}), {}); } function Z (e, n) { void 0 === n && (n = {}); var i = n, r = i.placement, o = void 0 === r ? e.placement : r, s = i.boundary, c = void 0 === s ? 'clippingParents' : s, u = i.rootBoundary, d = void 0 === u ? A : u, h = i.elementContext, f = void 0 === h ? D : h, p = i.altBoundary, m = void 0 !== p && p, g = i.padding, v = void 0 === g ? 0 : g, y = $('number' != typeof v ? v : G(v, L)), b = f === D ? 'reference' : D, k = e.elements.reference, M = e.rects.popper, S = e.elements[m ? b : f], T = V(a(S) ? S : S.contextElement || l(e.elements.popper), c, d), C = t(k), E = X( { reference: C, element: M, strategy: 'absolute', placement: o }), O = B(Object.assign({}, M, E)), Y = f === D ? O : C, P = { top: T.top - Y.top + y.top, bottom: Y.bottom - T.bottom + y.bottom, left: T.left - Y.left + y.left, right: Y.right - T.right + y.right, }, I = e.modifiersData.offset; if (f === D && I) { var j = I[o]; Object.keys(P). forEach((function (e) { var t = [w, _].indexOf(e) >= 0 ? 1 : -1, n = [x, _].indexOf(e) >= 0 ? 'y' : 'x'; P[e] += j[n] * t; })); } return P; } var K = 'Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element.', J = { placement: 'bottom', modifiers: [], strategy: 'absolute' }; function Q () { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]; return !t.some((function (e) { return !(e && 'function' == typeof e.getBoundingClientRect); })); } function ee (e) { void 0 === e && (e = {}); var t = e, n = t.defaultModifiers, i = void 0 === n ? [] : n, r = t.defaultOptions, o = void 0 === r ? J : r; return function (e, t, n) { void 0 === n && (n = o); var r, s, l = { placement: 'bottom', orderedModifiers: [], options: Object.assign({}, J, o), modifiersData: {}, elements: { reference: e, popper: t }, attributes: {}, styles: {}, }, c = [], d = !1, p = { state: l, setOptions: function (n) { m(), l.options = Object.assign({}, o, l.options, n), l.scrollParents = { reference: a(e) ? g(e) : e.contextElement ? g(e.contextElement) : [], popper: g(t), }; var r = function (e) { var t = Y(e); return O.reduce((function (e, n) { return e.concat( t.filter( (function (e) {return e.phase === n;}))); }), []); }(function (e) { var t = e.reduce((function (e, t) { var n = e[t.name]; return e[t.name] = n ? Object.assign({}, n, t, { options: Object.assign({}, n.options, t.options), data: Object.assign({}, n.data, t.data), }) : t, e; }), {}); return Object.keys(t). map((function (e) {return t[e];})); }([].concat(i, l.options.modifiers))); (l.orderedModifiers = r.filter( (function (e) {return e.enabled;})), function (e) { e.forEach((function (t) { Object.keys(t).forEach((function (n) { switch (n) { case'name': 'string' != typeof t.name && console.error( P(I, String(t.name), '"name"', '"string"', '"' + String(t.name) + '"')); break; case'enabled': 'boolean' != typeof t.enabled && console.error(P(I, t.name, '"enabled"', '"boolean"', '"' + String(t.enabled) + '"')); case'phase': O.indexOf(t.phase) < 0 && console.error( P(I, t.name, '"phase"', 'either ' + O.join(', '), '"' + String(t.phase) + '"')); break; case'fn': 'function' != typeof t.fn && console.error( P(I, t.name, '"fn"', '"function"', '"' + String(t.fn) + '"')); break; case'effect': 'function' != typeof t.effect && console.error(P(I, t.name, '"effect"', '"function"', '"' + String(t.fn) + '"')); break; case'requires': Array.isArray(t.requires) || console.error(P(I, t.name, '"requires"', '"array"', '"' + String(t.requires) + '"')); break; case'requiresIfExists': Array.isArray(t.requiresIfExists) || console.error( P(I, t.name, '"requiresIfExists"', '"array"', '"' + String(t.requiresIfExists) + '"')); break; case'options': case'data': break; default: console.error( 'PopperJS: an invalid property has been provided to the "' + t.name + '" modifier, valid properties are ' + j.map((function (e) { return '"' + e + '"'; })).join(', ') + '; but "' + n + '" was provided.'); } t.requires && t.requires.forEach((function (n) { null == e.find( (function (e) { return e.name === n; })) && console.error( P('Popper: modifier "%s" requires "%s", but "%s" modifier is not available', String(t.name), n, n)); })); })); })); }((s = [].concat(r, l.options.modifiers), d = function (e) {return e.name;}, h = new Set, s.filter( (function (e) { var t = d(e); if (!h.has(t)) return h.add(t), !0; })))), N(l.options.placement) === M) && (l.orderedModifiers.find( (function (e) {return 'flip' === e.name;})) || console.error([ 'Popper: "auto" placements require the "flip" modifier be', 'present and enabled to work.'].join(' '))); var s, d, h, f = u(t); return [ f.marginTop, f.marginRight, f.marginBottom, f.marginLeft].some( (function (e) {return parseFloat(e);})) && console.warn([ 'Popper: CSS "margin" styles cannot be used to apply padding', 'between the popper and its reference element or boundary.', 'To replicate margin, use the `offset` modifier, as well as', 'the `padding` option in the `preventOverflow` and `flip`', 'modifiers.'].join(' ')), l.orderedModifiers.forEach( (function (e) { var t = e.name, n = e.options, i = void 0 === n ? {} : n, a = e.effect; if ('function' == typeof a) { var r = a({ state: l, name: t, instance: p, options: i, }), o = function () {}; c.push(r || o); } })), p.update(); }, forceUpdate: function () { if (!d) { var e = l.elements, t = e.reference, n = e.popper; if (Q(t, n)) { l.rects = { reference: h(t, b(n), 'fixed' === l.options.strategy), popper: f(n), }, l.reset = !1, l.placement = l.options.placement, l.orderedModifiers.forEach( (function (e) { return l.modifiersData[e.name] = Object.assign( {}, e.data); })); for (var i = 0, a = 0; a < l.orderedModifiers.length; a++) { if ((i += 1) > 100) { console.error( 'Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash.'); break; } if (!0 !== l.reset) { var r = l.orderedModifiers[a], o = r.fn, s = r.options, c = void 0 === s ? {} : s, u = r.name; 'function' == typeof o && (l = o({ state: l, options: c, name: u, instance: p, }) || l); } else l.reset = !1, a = -1; } } else console.error(K); } }, update: (r = function () { return new Promise((function (e) {p.forceUpdate(), e(l);})); }, function () { return s || (s = new Promise((function (e) { Promise.resolve(). then((function () {s = void 0, e(r());})); }))), s; }), destroy: function () {m(), d = !0;}, }; if (!Q(e, t)) return console.error(K), p; function m () {c.forEach((function (e) {return e();})), c = [];} return p.setOptions(n). then((function (e) { !d && n.onFirstUpdate && n.onFirstUpdate(e); })), p; }; } var te = { passive: !0 }; var ne = { name: 'eventListeners', enabled: !0, phase: 'write', fn: function () {}, effect: function (e) { var t = e.state, i = e.instance, a = e.options, r = a.scroll, o = void 0 === r || r, s = a.resize, l = void 0 === s || s, c = n(t.elements.popper), u = [].concat(t.scrollParents.reference, t.scrollParents.popper); return o && u.forEach((function (e) { e.addEventListener('scroll', i.update, te); })), l && c.addEventListener('resize', i.update, te), function () { o && u.forEach((function (e) { e.removeEventListener('scroll', i.update, te); })), l && c.removeEventListener('resize', i.update, te); }; }, data: {}, }; var ie = { name: 'popperOffsets', enabled: !0, phase: 'read', fn: function (e) { var t = e.state, n = e.name; t.modifiersData[n] = X({ reference: t.rects.reference, element: t.rects.popper, strategy: 'absolute', placement: t.placement, }); }, data: {}, }, ae = { top: 'auto', right: 'auto', bottom: 'auto', left: 'auto' }; function re (e) { var t, i = e.popper, a = e.popperRect, r = e.placement, o = e.offsets, s = e.position, c = e.gpuAcceleration, d = e.adaptive, h = e.roundOffsets, f = !0 === h ? function (e) { var t = e.x, n = e.y, i = window.devicePixelRatio || 1; return { x: R(R(t * i) / i) || 0, y: R(R(n * i) / i) || 0 }; }(o) : 'function' == typeof h ? h(o) : o, p = f.x, m = void 0 === p ? 0 : p, g = f.y, v = void 0 === g ? 0 : g, y = o.hasOwnProperty('x'), M = o.hasOwnProperty('y'), L = k, S = x, T = window; if (d) { var A = b(i), D = 'clientHeight', C = 'clientWidth'; A === n(i) && 'static' !== u(A = l(i)).position && (D = 'scrollHeight', C = 'scrollWidth'), A = A, r === x && (S = _, v -= A[D] - a.height, v *= c ? 1 : -1), r === k && (L = w, m -= A[C] - a.width, m *= c ? 1 : -1); } var E, O = Object.assign({ position: s }, d && ae); return c ? Object.assign({}, O, ((E = {})[S] = M ? '0' : '', E[L] = y ? '0' : '', E.transform = (T.devicePixelRatio || 1) < 2 ? 'translate(' + m + 'px, ' + v + 'px)' : 'translate3d(' + m + 'px, ' + v + 'px, 0)', E)) : Object.assign({}, O, ((t = {})[S] = M ? v + 'px' : '', t[L] = y ? m + 'px' : '', t.transform = '', t)); } var oe = { name: 'computeStyles', enabled: !0, phase: 'beforeWrite', fn: function (e) { var t = e.state, n = e.options, i = n.gpuAcceleration, a = void 0 === i || i, r = n.adaptive, o = void 0 === r || r, s = n.roundOffsets, l = void 0 === s || s, c = u(t.elements.popper).transitionProperty || ''; o && ['transform', 'top', 'right', 'bottom', 'left'].some( (function (e) {return c.indexOf(e) >= 0;})) && console.warn([ 'Popper: Detected CSS transitions on at least one of the following', 'CSS properties: "transform", "top", "right", "bottom", "left".', '\n\n', 'Disable the "computeStyles" modifier\'s `adaptive` option to allow', 'for smooth transitions, or remove these properties from the CSS', 'transition declaration on the popper element if only transitioning', 'opacity or background-color for example.', '\n\n', 'We recommend using the popper element as a wrapper around an inner', 'element that can have any CSS property transitioned for animations.'].join( ' ')); var d = { placement: N(t.placement), popper: t.elements.popper, popperRect: t.rects.popper, gpuAcceleration: a, }; null != t.modifiersData.popperOffsets && (t.styles.popper = Object.assign({}, t.styles.popper, re(Object.assign({}, d, { offsets: t.modifiersData.popperOffsets, position: t.options.strategy, adaptive: o, roundOffsets: l, })))), null != t.modifiersData.arrow && (t.styles.arrow = Object.assign({}, t.styles.arrow, re(Object.assign({}, d, { offsets: t.modifiersData.arrow, position: 'absolute', adaptive: !1, roundOffsets: l, })))), t.attributes.popper = Object.assign({}, t.attributes.popper, { 'data-popper-placement': t.placement }); }, data: {}, }; var se = { name: 'applyStyles', enabled: !0, phase: 'write', fn: function (e) { var t = e.state; Object.keys(t.elements). forEach((function (e) { var n = t.styles[e] || {}, i = t.attributes[e] || {}, a = t.elements[e]; r(a) && s(a) && (Object.assign(a.style, n), Object.keys(i). forEach((function (e) { var t = i[e]; !1 === t ? a.removeAttribute(e) : a.setAttribute(e, !0 === t ? '' : t); }))); })); }, effect: function (e) { var t = e.state, n = { popper: { position: t.options.strategy, left: '0', top: '0', margin: '0', }, arrow: { position: 'absolute' }, reference: {}, }; return Object.assign(t.elements.popper.style, n.popper), t.styles = n, t.elements.arrow && Object.assign(t.elements.arrow.style, n.arrow), function () { Object.keys(t.elements). forEach((function (e) { var i = t.elements[e], a = t.attributes[e] || {}, o = Object.keys(t.styles.hasOwnProperty(e) ? t.styles[e] : n[e]). reduce((function (e, t) {return e[t] = '', e;}), {}); r(i) && s(i) && (Object.assign(i.style, o), Object.keys(a). forEach((function (e) {i.removeAttribute(e);}))); })); }; }, requires: ['computeStyles'], }; var le = { name: 'offset', enabled: !0, phase: 'main', requires: ['popperOffsets'], fn: function (e) { var t = e.state, n = e.options, i = e.name, a = n.offset, r = void 0 === a ? [0, 0] : a, o = E.reduce((function (e, n) { return e[n] = function (e, t, n) { var i = N(e), a = [k, x].indexOf(i) >= 0 ? -1 : 1, r = 'function' == typeof n ? n( Object.assign({}, t, { placement: e })) : n, o = r[0], s = r[1]; return o = o || 0, s = (s || 0) * a, [k, w].indexOf(i) >= 0 ? { x: s, y: o } : { x: o, y: s }; }(n, t.rects, r), e; }), {}), s = o[t.placement], l = s.x, c = s.y; null != t.modifiersData.popperOffsets && (t.modifiersData.popperOffsets.x += l, t.modifiersData.popperOffsets.y += c), t.modifiersData[i] = o; }, }, ce = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; function ue (e) { return e.replace(/left|right|bottom|top/g, (function (e) {return ce[e];})); } var de = { start: 'end', end: 'start' }; function he (e) { return e.replace(/start|end/g, (function (e) {return de[e];})); } function fe (e, t) { void 0 === t && (t = {}); var n = t, i = n.placement, a = n.boundary, r = n.rootBoundary, o = n.padding, s = n.flipVariations, l = n.allowedAutoPlacements, c = void 0 === l ? E : l, u = q(i), d = u ? s ? C : C.filter((function (e) {return q(e) === u;})) : L, h = d.filter((function (e) {return c.indexOf(e) >= 0;})); 0 === h.length && (h = d, console.error([ 'Popper: The `allowedAutoPlacements` option did not allow any', 'placements. Ensure the `placement` option matches the variation', 'of the allowed placements.', 'For example, "auto" cannot be used to allow "bottom-start".', 'Use "auto-start" instead.'].join(' '))); var f = h.reduce((function (t, n) { return t[n] = Z(e, { placement: n, boundary: a, rootBoundary: r, padding: o })[N( n)], t; }), {}); return Object.keys(f).sort((function (e, t) {return f[e] - f[t];})); } var pe = { name: 'flip', enabled: !0, phase: 'main', fn: function (e) { var t = e.state, n = e.options, i = e.name; if (!t.modifiersData[i]._skip) { for (var a = n.mainAxis, r = void 0 === a || a, o = n.altAxis, s = void 0 === o || o, l = n.fallbackPlacements, c = n.padding, u = n.boundary, d = n.rootBoundary, h = n.altBoundary, f = n.flipVariations, p = void 0 === f || f, m = n.allowedAutoPlacements, g = t.options.placement, v = N( g), y = l || (v === g || !p ? [ue(g)] : function (e) { if (N(e) === M) return []; var t = ue(e); return [he(e), t, he(t)]; }(g)), b = [g].concat(y). reduce((function (e, n) { return e.concat(N(n) === M ? fe(t, { placement: n, boundary: u, rootBoundary: d, padding: c, flipVariations: p, allowedAutoPlacements: m, }) : n); }), []), L = t.rects.reference, T = t.rects.popper, A = new Map, D = !0, C = b[0], E = 0; E < b.length; E++) { var O = b[E], Y = N(O), P = q(O) === S, I = [x, _].indexOf(Y) >= 0, j = I ? 'width' : 'height', H = Z(t, { placement: O, boundary: u, rootBoundary: d, altBoundary: h, padding: c, }), F = I ? P ? w : k : P ? _ : x; L[j] > T[j] && (F = ue(F)); var R = ue(F), z = []; if (r && z.push(H[Y] <= 0), s && z.push(H[F] <= 0, H[R] <= 0), z.every( (function (e) {return e;}))) { C = O, D = !1; break; } A.set(O, z); } if (D) for (var B = function (e) { var t = b.find((function (t) { var n = A.get(t); if (n) return n.slice(0, e). every((function (e) {return e;})); })); if (t) return C = t, 'break'; }, W = p ? 3 : 1; W > 0; W--) {if ('break' === B(W)) break;} t.placement !== C && (t.modifiersData[i]._skip = !0, t.placement = C, t.reset = !0); } }, requiresIfExists: ['offset'], data: { _skip: !1 }, }; function me (e, t, n) {return H(e, F(t, n));} var ge = { name: 'preventOverflow', enabled: !0, phase: 'main', fn: function (e) { var t = e.state, n = e.options, i = e.name, a = n.mainAxis, r = void 0 === a || a, o = n.altAxis, s = void 0 !== o && o, l = n.boundary, c = n.rootBoundary, u = n.altBoundary, d = n.padding, h = n.tether, p = void 0 === h || h, m = n.tetherOffset, g = void 0 === m ? 0 : m, v = Z(t, { boundary: l, rootBoundary: c, padding: d, altBoundary: u }), y = N(t.placement), M = q(t.placement), L = !M, T = U(y), A = 'x' === T ? 'y' : 'x', D = t.modifiersData.popperOffsets, C = t.rects.reference, E = t.rects.popper, O = 'function' == typeof g ? g( Object.assign({}, t.rects, { placement: t.placement })) : g, Y = { x: 0, y: 0 }; if (D) { if (r || s) { var P = 'y' === T ? x : k, I = 'y' === T ? _ : w, j = 'y' === T ? 'height' : 'width', R = D[T], z = D[T] + v[P], B = D[T] - v[I], W = p ? -E[j] / 2 : 0, V = M === S ? C[j] : E[j], X = M === S ? -E[j] : -C[j], $ = t.elements.arrow, G = p && $ ? f($) : { width: 0, height: 0 }, K = t.modifiersData['arrow#persistent'] ? t.modifiersData['arrow#persistent'].padding : { top: 0, right: 0, bottom: 0, left: 0 }, J = K[P], Q = K[I], ee = me(0, C[j], G[j]), te = L ? C[j] / 2 - W - ee - J - O : V - ee - J - O, ne = L ? -C[j] / 2 + W + ee + Q + O : X + ee + Q + O, ie = t.elements.arrow && b(t.elements.arrow), ae = ie ? 'y' === T ? ie.clientTop || 0 : ie.clientLeft || 0 : 0, re = t.modifiersData.offset ? t.modifiersData.offset[t.placement][T] : 0, oe = D[T] + te - re - ae, se = D[T] + ne - re; if (r) { var le = me(p ? F(z, oe) : z, R, p ? H(B, se) : B); D[T] = le, Y[T] = le - R; } if (s) { var ce = 'x' === T ? x : k, ue = 'x' === T ? _ : w, de = D[A], he = de + v[ce], fe = de - v[ue], pe = me(p ? F(he, oe) : he, de, p ? H(fe, se) : fe); D[A] = pe, Y[A] = pe - de; } } t.modifiersData[i] = Y; } }, requiresIfExists: ['offset'], }; var ve = { name: 'arrow', enabled: !0, phase: 'main', fn: function (e) { var t, n = e.state, i = e.name, a = e.options, r = n.elements.arrow, o = n.modifiersData.popperOffsets, s = N(n.placement), l = U(s), c = [k, w].indexOf(s) >= 0 ? 'height' : 'width'; if (r && o) { var u = function (e, t) { return $('number' != typeof (e = 'function' == typeof e ? e(Object.assign({}, t.rects, { placement: t.placement })) : e) ? e : G(e, L)); }(a.padding, n), d = f(r), h = 'y' === l ? x : k, p = 'y' === l ? _ : w, m = n.rects.reference[c] + n.rects.reference[l] - o[l] - n.rects.popper[c], g = o[l] - n.rects.reference[l], v = b(r), y = v ? 'y' === l ? v.clientHeight || 0 : v.clientWidth || 0 : 0, M = m / 2 - g / 2, S = u[h], T = y - d[c] - u[p], A = y / 2 - d[c] / 2 + M, D = me(S, A, T), C = l; n.modifiersData[i] = ((t = {})[C] = D, t.centerOffset = D - A, t); } }, effect: function (e) { var t = e.state, n = e.options.element, i = void 0 === n ? '[data-popper-arrow]' : n; null != i && ('string' != typeof i || (i = t.elements.popper.querySelector(i))) && (r(i) || console.error([ 'Popper: "arrow" element must be an HTMLElement (not an SVGElement).', 'To use an SVG arrow, wrap it in an HTMLElement that will be used as', 'the arrow.'].join(' ')), z(t.elements.popper, i) ? t.elements.arrow = i : console.error([ 'Popper: "arrow" modifier\'s `element` must be a child of the popper', 'element.'].join(' '))); }, requires: ['popperOffsets'], requiresIfExists: ['preventOverflow'], }; function ye (e, t, n) { return void 0 === n && (n = { x: 0, y: 0 }), { top: e.top - t.height - n.y, right: e.right - t.width + n.x, bottom: e.bottom - t.height + n.y, left: e.left - t.width - n.x, }; } function be (e) { return [x, w, _, k].some((function (t) {return e[t] >= 0;})); } var xe = { name: 'hide', enabled: !0, phase: 'main', requiresIfExists: ['preventOverflow'], fn: function (e) { var t = e.state, n = e.name, i = t.rects.reference, a = t.rects.popper, r = t.modifiersData.preventOverflow, o = Z(t, { elementContext: 'reference' }), s = Z(t, { altBoundary: !0 }), l = ye(o, i), c = ye(s, a, r), u = be(l), d = be(c); t.modifiersData[n] = { referenceClippingOffsets: l, popperEscapeOffsets: c, isReferenceHidden: u, hasPopperEscaped: d, }, t.attributes.popper = Object.assign({}, t.attributes.popper, { 'data-popper-reference-hidden': u, 'data-popper-escaped': d, }); }, }, _e = ee({ defaultModifiers: [ne, ie, oe, se] }), we = [ne, ie, oe, se, le, pe, ge, ve, xe], ke = ee({ defaultModifiers: we }); e.applyStyles = se, e.arrow = ve, e.computeStyles = oe, e.createPopper = ke, e.createPopperLite = _e, e.defaultModifiers = we, e.detectOverflow = Z, e.eventListeners = ne, e.flip = pe, e.hide = xe, e.offset = le, e.popperGenerator = ee, e.popperOffsets = ie, e.preventOverflow = ge, Object.defineProperty( e, '__esModule', { value: !0 }); })), function (e, t) { 'object' == typeof exports && 'undefined' != typeof module ? module.exports = t(require('@popperjs/core')) : 'function' == typeof define && define.amd ? define(['@popperjs/core'], t) : (e = 'undefined' != typeof globalThis ? globalThis : e || self).bootstrap = t(e.Popper); }(this, (function (e) { 'use strict'; var t = function (e) { if (e && e.__esModule) return e; var t = Object.create(null); return e && Object.keys(e). forEach((function (n) { if ('default' !== n) { var i = Object.getOwnPropertyDescriptor(e, n); Object.defineProperty(t, n, i.get ? i : { enumerable: !0, get: function () {return e[n];}, }); } })), t.default = e, Object.freeze(t); }(e); const n = { find: (e, t = document.documentElement) => [].concat( ...Element.prototype.querySelectorAll.call(t, e)), findOne: ( e, t = document.documentElement) => Element.prototype.querySelector.call( t, e), children: (e, t) => [].concat(...e.children). filter((e => e.matches(t))), parents (e, t) { const n = []; let i = e.parentNode; for (; i && i.nodeType === Node.ELEMENT_NODE && 3 !== i.nodeType;) i.matches(t) && n.push(i), i = i.parentNode; return n; }, prev (e, t) { let n = e.previousElementSibling; for (; n;) { if (n.matches(t)) return [n]; n = n.previousElementSibling; } return []; }, next (e, t) { let n = e.nextElementSibling; for (; n;) { if (n.matches(t)) return [n]; n = n.nextElementSibling; } return []; }, }, i = e => { do { e += Math.floor(1e6 * Math.random()); } while (document.getElementById(e)); return e; }, a = e => { let t = e.getAttribute('data-bs-target'); if (!t || '#' === t) { let n = e.getAttribute('href'); if (!n || !n.includes('#') && !n.startsWith('.')) return null; n.includes('#') && !n.startsWith('#') && (n = '#' + n.split('#')[1]), t = n && '#' !== n ? n.trim() : null; } return t; }, r = e => { const t = a(e); return t && document.querySelector(t) ? t : null; }, o = e => { const t = a(e); return t ? document.querySelector(t) : null; }, s = e => {e.dispatchEvent(new Event('transitionend'));}, l = e => !(!e || 'object' != typeof e) && (void 0 !== e.jquery && (e = e[0]), void 0 !== e.nodeType), c = e => l(e) ? e.jquery ? e[0] : e : 'string' == typeof e && e.length > 0 ? n.findOne(e) : null, u = (e, t, n) => { Object.keys(n). forEach((i => { const a = n[i], r = t[i], o = r && l(r) ? 'element' : null == (s = r) ? '' + s : {}.toString.call(s). match(/\s([a-z]+)/i)[1].toLowerCase(); var s; if (!new RegExp(a).test(o)) throw new TypeError( `${e.toUpperCase()}: Option "${i}" provided type "${o}" but expected type "${a}".`); })); }, d = e => !(!l(e) || 0 === e.getClientRects().length) && 'visible' === getComputedStyle(e).getPropertyValue('visibility'), h = e => !e || e.nodeType !== Node.ELEMENT_NODE || !!e.classList.contains('disabled') || (void 0 !== e.disabled ? e.disabled : e.hasAttribute('disabled') && 'false' !== e.getAttribute('disabled')), f = e => { if (!document.documentElement.attachShadow) return null; if ('function' == typeof e.getRootNode) { const t = e.getRootNode(); return t instanceof ShadowRoot ? t : null; } return e instanceof ShadowRoot ? e : e.parentNode ? f(e.parentNode) : null; }, p = () => {}, m = e => e.offsetHeight, g = () => { const { jQuery: e } = window; return e && !document.body.hasAttribute('data-bs-no-jquery') ? e : null; }, v = [], y = () => 'rtl' === document.documentElement.dir, b = e => { var t; t = () => { const t = g(); if (t) { const n = e.NAME, i = t.fn[n]; t.fn[n] = e.jQueryInterface, t.fn[n].Constructor = e, t.fn[n].noConflict = () => (t.fn[n] = i, e.jQueryInterface); } }, 'loading' === document.readyState ? (v.length || document.addEventListener('DOMContentLoaded', (() => {v.forEach((e => e()));})), v.push(t)) : t(); }, x = e => {'function' == typeof e && e();}, _ = (e, t, n = !0) => { if (!n) return void x(e); const i = (e => { if (!e) return 0; let { transitionDuration: t, transitionDelay: n, } = window.getComputedStyle(e); const i = Number.parseFloat(t), a = Number.parseFloat(n); return i || a ? (t = t.split(',')[0], n = n.split(',')[0], 1e3 * (Number.parseFloat(t) + Number.parseFloat(n))) : 0; })(t) + 5; let a = !1; const r = ({ target: n }) => { n === t && (a = !0, t.removeEventListener('transitionend', r), x(e)); }; t.addEventListener('transitionend', r), setTimeout((() => {a || s(t);}), i); }, w = (e, t, n, i) => { let a = e.indexOf(t); if (-1 === a) return e[!n && i ? e.length - 1 : 0]; const r = e.length; return a += n ? 1 : -1, i && (a = (a + r) % r), e[Math.max(0, Math.min(a, r - 1))]; }, k = /[^.]*(?=\..*)\.|.*/, M = /\..*/, L = /::\d+$/, S = {}; let T = 1; const A = { mouseenter: 'mouseover', mouseleave: 'mouseout' }, D = /^(mouseenter|mouseleave)/i, C = 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 E (e, t) {return t && `${t}::${T++}` || e.uidEvent || T++;} function O (e) { const t = E(e); return e.uidEvent = t, S[t] = S[t] || {}, S[t]; } function Y (e, t, n = null) { const i = Object.keys(e); for (let a = 0, r = i.length; a < r; a++) { const r = e[i[a]]; if (r.originalHandler === t && r.delegationSelector === n) return r; } return null; } function P (e, t, n) { const i = 'string' == typeof t, a = i ? n : t; let r = N(e); return C.has(r) || (r = e), [i, a, r]; } function I (e, t, n, i, a) { if ('string' != typeof t || !e) return; if (n || (n = i, i = null), D.test(t)) { const e = e => function (t) { if (!t.relatedTarget || t.relatedTarget !== t.delegateTarget && !t.delegateTarget.contains(t.relatedTarget)) return e.call( this, t); }; i ? i = e(i) : n = e(n); } const [r, o, s] = P(t, n, i), l = O(e), c = l[s] || (l[s] = {}), u = Y(c, o, r ? n : null); if (u) return void (u.oneOff = u.oneOff && a); const d = E(o, t.replace(k, '')), h = r ? function (e, t, n) { return function i (a) { const r = e.querySelectorAll(t); for (let { target: o } = a; o && o !== this; o = o.parentNode) for (let s = r.length; s--;) if (r[s] === o) return a.delegateTarget = o, i.oneOff && H.off(e, a.type, t, n), n.apply(o, [a]); return null; }; }(e, n, i) : function ( e, t) { return function n (i) { return i.delegateTarget = e, n.oneOff && H.off(e, i.type, t), t.apply(e, [i]); }; }(e, n); h.delegationSelector = r ? n : null, h.originalHandler = o, h.oneOff = a, h.uidEvent = d, c[d] = h, e.addEventListener( s, h, r); } function j (e, t, n, i, a) { const r = Y(t[n], i, a); r && (e.removeEventListener(n, r, Boolean(a)), delete t[n][r.uidEvent]); } function N (e) {return e = e.replace(M, ''), A[e] || e;} const H = { on (e, t, n, i) {I(e, t, n, i, !1);}, one (e, t, n, i) {I(e, t, n, i, !0);}, off (e, t, n, i) { if ('string' != typeof t || !e) return; const [a, r, o] = P(t, n, i), s = o !== t, l = O(e), c = t.startsWith('.'); if (void 0 !== r) { if (!l || !l[o]) return; return void j(e, l, o, r, a ? n : null); } c && Object.keys(l). forEach((n => { !function (e, t, n, i) { const a = t[n] || {}; Object.keys(a). forEach((r => { if (r.includes(i)) { const i = a[r]; j(e, t, n, i.originalHandler, i.delegationSelector); } })); }(e, l, n, t.slice(1)); })); const u = l[o] || {}; Object.keys(u).forEach((n => { const i = n.replace(L, ''); if (!s || t.includes(i)) { const t = u[n]; j(e, l, o, t.originalHandler, t.delegationSelector); } })); }, trigger (e, t, n) { if ('string' != typeof t || !e) return null; const i = g(), a = N(t), r = t !== a, o = C.has(a); let s, l = !0, c = !0, u = !1, d = null; return r && i && (s = i.Event(t, n), i(e). trigger( s), l = !s.isPropagationStopped(), c = !s.isImmediatePropagationStopped(), u = s.isDefaultPrevented()), o ? (d = document.createEvent('HTMLEvents'), d.initEvent(a, l, !0)) : d = new CustomEvent(t, { bubbles: l, cancelable: !0 }), void 0 !== n && Object.keys(n). forEach((e => { Object.defineProperty(d, e, { get: () => n[e] }); })), u && d.preventDefault(), c && e.dispatchEvent(d), d.defaultPrevented && void 0 !== s && s.preventDefault(), d; }, }, F = new Map; var R = { set (e, t, n) { F.has(e) || F.set(e, new Map); const i = F.get(e); i.has(t) || 0 === i.size ? i.set(t, n) : console.error( `Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from( i.keys())[0]}.`); }, get: (e, t) => F.has(e) && F.get(e).get(t) || null, remove (e, t) { if (!F.has(e)) return; const n = F.get(e); n.delete(t), 0 === n.size && F.delete(e); }, }; class z { constructor (e) { (e = c(e)) && (this._element = e, R.set(this._element, this.constructor.DATA_KEY, this)); } dispose () { R.remove(this._element, this.constructor.DATA_KEY), H.off( this._element, this.constructor.EVENT_KEY), Object.getOwnPropertyNames(this). forEach((e => {this[e] = null;})); } _queueCallback (e, t, n = !0) {_(e, t, n);} static getInstance (e) {return R.get(e, this.DATA_KEY);} static getOrCreateInstance (e, t = {}) { return this.getInstance(e) || new this(e, 'object' == typeof t ? t : null); } static get VERSION () {return '5.0.2';} static get NAME () { throw new Error( 'You have to implement the static method "NAME", for each component!'); } static get DATA_KEY () {return 'bs.' + this.NAME;} static get EVENT_KEY () {return '.' + this.DATA_KEY;} } class B extends z { static get NAME () {return 'alert';} close (e) { const t = e ? this._getRootElement(e) : this._element, n = this._triggerCloseEvent(t); null === n || n.defaultPrevented || this._removeElement(t); } _getRootElement (e) {return o(e) || e.closest('.alert');} _triggerCloseEvent (e) {return H.trigger(e, 'close.bs.alert');} _removeElement (e) { e.classList.remove('show'); const t = e.classList.contains('fade'); this._queueCallback((() => this._destroyElement(e)), e, t); } _destroyElement (e) {e.remove(), H.trigger(e, 'closed.bs.alert');} static jQueryInterface (e) { return this.each((function () { const t = B.getOrCreateInstance(this); 'close' === e && t[e](this); })); } static handleDismiss (e) { return function (t) { t && t.preventDefault(), e.close(this); }; } } H.on(document, 'click.bs.alert.data-api', '[data-bs-dismiss="alert"]', B.handleDismiss(new B)), b(B); class W extends z { static get NAME () {return 'button';} toggle () { this._element.setAttribute('aria-pressed', this._element.classList.toggle('active')); } static jQueryInterface (e) { return this.each((function () { const t = W.getOrCreateInstance(this); 'toggle' === e && t[e](); })); } } function V (e) { return 'true' === e || 'false' !== e && (e === Number(e).toString() ? Number(e) : '' === e || 'null' === e ? null : e); } function q (e) {return e.replace(/[A-Z]/g, (e => '-' + e.toLowerCase()));} H.on(document, 'click.bs.button.data-api', '[data-bs-toggle="button"]', (e => { e.preventDefault(); const t = e.target.closest('[data-bs-toggle="button"]'); W.getOrCreateInstance(t).toggle(); })), b(W); const U = { setDataAttribute (e, t, n) { e.setAttribute('data-bs-' + q(t), n); }, removeDataAttribute (e, t) {e.removeAttribute('data-bs-' + q(t));}, getDataAttributes (e) { if (!e) return {}; const t = {}; return Object.keys(e.dataset). filter((e => e.startsWith('bs'))). forEach((n => { let i = n.replace(/^bs/, ''); i = i.charAt(0).toLowerCase() + i.slice(1, i.length), t[i] = V(e.dataset[n]); })), t; }, getDataAttribute: (e, t) => V(e.getAttribute('data-bs-' + q(t))), offset (e) { const t = e.getBoundingClientRect(); return { top: t.top + document.body.scrollTop, left: t.left + document.body.scrollLeft, }; }, position: e => ({ top: e.offsetTop, left: e.offsetLeft }), }, X = { interval: 5e3, keyboard: !0, slide: !1, pause: 'hover', wrap: !0, touch: !0, }, $ = { interval: '(number|boolean)', keyboard: 'boolean', slide: '(boolean|string)', pause: '(string|boolean)', wrap: 'boolean', touch: 'boolean', }, G = 'next', Z = 'prev', K = 'left', J = 'right', Q = { ArrowLeft: J, ArrowRight: K }; class ee extends z { constructor (e, t) { super( e), this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this.touchStartX = 0, this.touchDeltaX = 0, this._config = this._getConfig( t), this._indicatorsElement = n.findOne('.carousel-indicators', this._element), this._touchSupported = 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0, this._pointerEvent = Boolean( window.PointerEvent), this._addEventListeners(); } static get Default () {return X;} static get NAME () {return 'carousel';} next () {this._slide(G);} nextWhenVisible () { !document.hidden && d(this._element) && this.next(); } prev () {this._slide(Z);} pause (e) { e || (this._isPaused = !0), n.findOne( '.carousel-item-next, .carousel-item-prev', this._element) && (s(this._element), this.cycle(!0)), clearInterval( this._interval), this._interval = null; } cycle (e) { e || (this._isPaused = !1), this._interval && (clearInterval( this._interval), this._interval = null), this._config && this._config.interval && !this._isPaused && (this._updateInterval(), this._interval = setInterval( (document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval)); } to (e) { this._activeElement = n.findOne('.active.carousel-item', this._element); const t = this._getItemIndex(this._activeElement); if (e > this._items.length - 1 || e < 0) return; if (this._isSliding) return void H.one(this._element, 'slid.bs.carousel', (() => this.to(e))); if (t === e) return this.pause(), void this.cycle(); const i = e > t ? G : Z; this._slide(i, this._items[e]); } _getConfig (e) { return e = { ...X, ...U.getDataAttributes(this._element), ...'object' == typeof e ? e : {}, }, u('carousel', e, $), e; } _handleSwipe () { const e = Math.abs(this.touchDeltaX); if (e <= 40) return; const t = e / this.touchDeltaX; this.touchDeltaX = 0, t && this._slide(t > 0 ? J : K); } _addEventListeners () { this._config.keyboard && H.on(this._element, 'keydown.bs.carousel', (e => this._keydown(e))), 'hover' === this._config.pause && (H.on(this._element, 'mouseenter.bs.carousel', (e => this.pause(e))), H.on(this._element, 'mouseleave.bs.carousel', (e => this.cycle(e)))), this._config.touch && this._touchSupported && this._addTouchEventListeners(); } _addTouchEventListeners () { const e = e => { !this._pointerEvent || 'pen' !== e.pointerType && 'touch' !== e.pointerType ? this._pointerEvent || (this.touchStartX = e.touches[0].clientX) : this.touchStartX = e.clientX; }, t = e => { this.touchDeltaX = e.touches && e.touches.length > 1 ? 0 : e.touches[0].clientX - this.touchStartX; }, i = e => { !this._pointerEvent || 'pen' !== e.pointerType && 'touch' !== e.pointerType || (this.touchDeltaX = e.clientX - this.touchStartX), this._handleSwipe(), 'hover' === this._config.pause && (this.pause(), this.touchTimeout && clearTimeout(this.touchTimeout), this.touchTimeout = setTimeout( (e => this.cycle(e)), 500 + this._config.interval)); }; n.find('.carousel-item img', this._element). forEach((e => { H.on(e, 'dragstart.bs.carousel', (e => e.preventDefault())); })), this._pointerEvent ? (H.on(this._element, 'pointerdown.bs.carousel', (t => e(t))), H.on(this._element, 'pointerup.bs.carousel', (e => i(e))), this._element.classList.add('pointer-event')) : (H.on(this._element, 'touchstart.bs.carousel', (t => e(t))), H.on(this._element, 'touchmove.bs.carousel', (e => t(e))), H.on(this._element, 'touchend.bs.carousel', (e => i(e)))); } _keydown (e) { if (/input|textarea/i.test(e.target.tagName)) return; const t = Q[e.key]; t && (e.preventDefault(), this._slide(t)); } _getItemIndex (e) { return this._items = e && e.parentNode ? n.find('.carousel-item', e.parentNode) : [], this._items.indexOf(e); } _getItemByOrder (e, t) { const n = e === G; return w(this._items, t, n, this._config.wrap); } _triggerSlideEvent (e, t) { const i = this._getItemIndex(e), a = this._getItemIndex( n.findOne('.active.carousel-item', this._element)); return H.trigger(this._element, 'slide.bs.carousel', { relatedTarget: e, direction: t, from: a, to: i }); } _setActiveIndicatorElement (e) { if (this._indicatorsElement) { const t = n.findOne('.active', this._indicatorsElement); t.classList.remove('active'), t.removeAttribute('aria-current'); const i = n.find('[data-bs-target]', this._indicatorsElement); for (let t = 0; t < i.length; t++) if (Number.parseInt( i[t].getAttribute('data-bs-slide-to'), 10) === this._getItemIndex(e)) { i[t].classList.add('active'), i[t].setAttribute( 'aria-current', 'true'); break; } } } _updateInterval () { const e = this._activeElement || n.findOne('.active.carousel-item', this._element); if (!e) return; const t = Number.parseInt(e.getAttribute('data-bs-interval'), 10); t ? (this._config.defaultInterval = this._config.defaultInterval || this._config.interval, this._config.interval = t) : this._config.interval = this._config.defaultInterval || this._config.interval; } _slide (e, t) { const i = this._directionToOrder(e), a = n.findOne('.active.carousel-item', this._element), r = this._getItemIndex(a), o = t || this._getItemByOrder(i, a), s = this._getItemIndex(o), l = Boolean(this._interval), c = i === G, u = c ? 'carousel-item-start' : 'carousel-item-end', d = c ? 'carousel-item-next' : 'carousel-item-prev', h = this._orderToDirection(i); if (o && o.classList.contains( 'active')) return void (this._isSliding = !1); if (this._isSliding) return; if (this._triggerSlideEvent(o, h).defaultPrevented) return; if (!a || !o) return; this._isSliding = !0, l && this.pause(), this._setActiveIndicatorElement( o), this._activeElement = o; const f = () => { H.trigger(this._element, 'slid.bs.carousel', { relatedTarget: o, direction: h, from: r, to: s }); }; if (this._element.classList.contains('slide')) { o.classList.add(d), m(o), a.classList.add(u), o.classList.add( u); const e = () => { o.classList.remove(u, d), o.classList.add( 'active'), a.classList.remove('active', d, u), this._isSliding = !1, setTimeout(f, 0); }; this._queueCallback(e, a, !0); } else a.classList.remove('active'), o.classList.add( 'active'), this._isSliding = !1, f(); l && this.cycle(); } _directionToOrder (e) { return [J, K].includes(e) ? y() ? e === K ? Z : G : e === K ? G : Z : e; } _orderToDirection (e) { return [G, Z].includes(e) ? y() ? e === Z ? K : J : e === Z ? J : K : e; } static carouselInterface (e, t) { const n = ee.getOrCreateInstance(e, t); let { _config: i } = n; 'object' == typeof t && (i = { ...i, ...t }); const a = 'string' == typeof t ? t : i.slide; if ('number' == typeof t) n.to(t); else if ('string' == typeof a) { if (void 0 === n[a]) throw new TypeError( `No method named "${a}"`); n[a](); } else i.interval && i.ride && (n.pause(), n.cycle()); } static jQueryInterface (e) { return this.each((function () {ee.carouselInterface(this, e);})); } static dataApiClickHandler (e) { const t = o(this); if (!t || !t.classList.contains('carousel')) return; const n = { ...U.getDataAttributes(t), ...U.getDataAttributes(this), }, i = this.getAttribute('data-bs-slide-to'); i && (n.interval = !1), ee.carouselInterface(t, n), i && ee.getInstance(t).to(i), e.preventDefault(); } } H.on(document, 'click.bs.carousel.data-api', '[data-bs-slide], [data-bs-slide-to]', ee.dataApiClickHandler), H.on( window, 'load.bs.carousel.data-api', (() => { const e = n.find('[data-bs-ride="carousel"]'); for (let t = 0, n = e.length; t < n; t++) ee.carouselInterface(e[t], ee.getInstance(e[t])); })), b(ee); const te = { toggle: !0, parent: '' }, ne = { toggle: 'boolean', parent: '(string|element)' }; class ie extends z { constructor (e, t) { super( e), this._isTransitioning = !1, this._config = this._getConfig( t), this._triggerArray = n.find( `[data-bs-toggle="collapse"][href="#${this._element.id}"],[data-bs-toggle="collapse"][data-bs-target="#${this._element.id}"]`); const i = n.find('[data-bs-toggle="collapse"]'); for (let e = 0, t = i.length; e < t; e++) { const t = i[e], a = r(t), o = n.find(a).filter((e => e === this._element)); null !== a && o.length && (this._selector = a, this._triggerArray.push(t)); } this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle(); } static get Default () {return te;} static get NAME () {return 'collapse';} toggle () { this._element.classList.contains('show') ? this.hide() : this.show(); } show () { if (this._isTransitioning || this._element.classList.contains('show')) return; let e, t; this._parent && (e = n.find('.show, .collapsing', this._parent). filter((e => 'string' == typeof this._config.parent ? e.getAttribute('data-bs-parent') === this._config.parent : e.classList.contains('collapse'))), 0 === e.length && (e = null)); const i = n.findOne(this._selector); if (e) { const n = e.find((e => i !== e)); if (t = n ? ie.getInstance(n) : null, t && t._isTransitioning) return; } if (H.trigger(this._element, 'show.bs.collapse').defaultPrevented) return; e && e.forEach((e => { i !== e && ie.collapseInterface(e, 'hide'), t || R.set(e, 'bs.collapse', null); })); const a = this._getDimension(); this._element.classList.remove( 'collapse'), this._element.classList.add( 'collapsing'), this._element.style[a] = 0, this._triggerArray.length && this._triggerArray.forEach((e => { e.classList.remove('collapsed'), e.setAttribute('aria-expanded', !0); })), this.setTransitioning(!0); const r = 'scroll' + (a[0].toUpperCase() + a.slice(1)); this._queueCallback((() => { this._element.classList.remove( 'collapsing'), this._element.classList.add('collapse', 'show'), this._element.style[a] = '', this.setTransitioning( !1), H.trigger(this._element, 'shown.bs.collapse'); }), this._element, !0), this._element.style[a] = this._element[r] + 'px'; } hide () { if (this._isTransitioning || !this._element.classList.contains('show')) return; if (H.trigger(this._element, 'hide.bs.collapse').defaultPrevented) return; const e = this._getDimension(); this._element.style[e] = this._element.getBoundingClientRect()[e] + 'px', m(this._element), this._element.classList.add( 'collapsing'), this._element.classList.remove('collapse', 'show'); const t = this._triggerArray.length; if (t > 0) for (let e = 0; e < t; e++) { const t = this._triggerArray[e], n = o(t); n && !n.classList.contains('show') && (t.classList.add('collapsed'), t.setAttribute('aria-expanded', !1)); } this.setTransitioning( !0), this._element.style[e] = '', this._queueCallback((() => { this.setTransitioning(!1), this._element.classList.remove( 'collapsing'), this._element.classList.add( 'collapse'), H.trigger(this._element, 'hidden.bs.collapse'); }), this._element, !0); } setTransitioning (e) {this._isTransitioning = e;} _getConfig (e) { return (e = { ...te, ...e }).toggle = Boolean(e.toggle), u( 'collapse', e, ne), e; } _getDimension () { return this._element.classList.contains('width') ? 'width' : 'height'; } _getParent () { let { parent: e } = this._config; e = c(e); const t = `[data-bs-toggle="collapse"][data-bs-parent="${e}"]`; return n.find(t, e).forEach((e => { const t = o(e); this._addAriaAndCollapsedClass(t, [e]); })), e; } _addAriaAndCollapsedClass (e, t) { if (!e || !t.length) return; const n = e.classList.contains('show'); t.forEach((e => { n ? e.classList.remove('collapsed') : e.classList.add( 'collapsed'), e.setAttribute('aria-expanded', n); })); } static collapseInterface (e, t) { let n = ie.getInstance(e); const i = { ...te, ...U.getDataAttributes(e), ...'object' == typeof t && t ? t : {}, }; if (!n && i.toggle && 'string' == typeof t && /show|hide/.test(t) && (i.toggle = !1), n || (n = new ie(e, i)), 'string' == typeof t) { if (void 0 === n[t]) throw new TypeError( `No method named "${t}"`); n[t](); } } static jQueryInterface (e) { return this.each((function () {ie.collapseInterface(this, e);})); } } H.on(document, 'click.bs.collapse.data-api', '[data-bs-toggle="collapse"]', (function (e) { ('A' === e.target.tagName || e.delegateTarget && 'A' === e.delegateTarget.tagName) && e.preventDefault(); const t = U.getDataAttributes(this), i = r(this); n.find(i).forEach((e => { const n = ie.getInstance(e); let i; n ? (null === n._parent && 'string' == typeof t.parent && (n._config.parent = t.parent, n._parent = n._getParent()), i = 'toggle') : i = t, ie.collapseInterface(e, i); })); })), b(ie); const ae = new RegExp('ArrowUp|ArrowDown|Escape'), re = y() ? 'top-end' : 'top-start', oe = y() ? 'top-start' : 'top-end', se = y() ? 'bottom-end' : 'bottom-start', le = y() ? 'bottom-start' : 'bottom-end', ce = y() ? 'left-start' : 'right-start', ue = y() ? 'right-start' : 'left-start', de = { offset: [0, 2], boundary: 'clippingParents', reference: 'toggle', display: 'dynamic', popperConfig: null, autoClose: !0, }, he = { offset: '(array|string|function)', boundary: '(string|element)', reference: '(string|element|object)', display: 'string', popperConfig: '(null|object|function)', autoClose: '(boolean|string)', }; class fe extends z { constructor (e, t) { super(e), this._popper = null, this._config = this._getConfig( t), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners(); } static get Default () {return de;} static get DefaultType () {return he;} static get NAME () {return 'dropdown';} toggle () { h(this._element) || (this._element.classList.contains('show') ? this.hide() : this.show()); } show () { if (h(this._element) || this._menu.classList.contains('show')) return; const e = fe.getParentFromElement(this._element), n = { relatedTarget: this._element }; if (!H.trigger(this._element, 'show.bs.dropdown', n).defaultPrevented) { if (this._inNavbar) U.setDataAttribute(this._menu, 'popper', 'none'); else { if (void 0 === t) throw new TypeError( 'Bootstrap\'s dropdowns require Popper (https://popper.js.org)'); let n = this._element; 'parent' === this._config.reference ? n = e : l( this._config.reference) ? n = c(this._config.reference) : 'object' == typeof this._config.reference && (n = this._config.reference); const i = this._getPopperConfig(), a = i.modifiers.find( (e => 'applyStyles' === e.name && !1 === e.enabled)); this._popper = t.createPopper(n, this._menu, i), a && U.setDataAttribute(this._menu, 'popper', 'static'); } 'ontouchstart' in document.documentElement && !e.closest('.navbar-nav') && [].concat(...document.body.children). forEach((e => H.on(e, 'mouseover', p))), this._element.focus(), this._element.setAttribute( 'aria-expanded', !0), this._menu.classList.toggle( 'show'), this._element.classList.toggle('show'), H.trigger( this._element, 'shown.bs.dropdown', n); } } hide () { if (h(this._element) || !this._menu.classList.contains('show')) return; const e = { relatedTarget: this._element }; this._completeHide(e); } dispose () {this._popper && this._popper.destroy(), super.dispose();} update () { this._inNavbar = this._detectNavbar(), this._popper && this._popper.update(); } _addEventListeners () { H.on(this._element, 'click.bs.dropdown', (e => {e.preventDefault(), this.toggle();})); } _completeHide (e) { H.trigger(this._element, 'hide.bs.dropdown', e).defaultPrevented || ('ontouchstart' in document.documentElement && [].concat(...document.body.children). forEach((e => H.off(e, 'mouseover', p))), this._popper && this._popper.destroy(), this._menu.classList.remove( 'show'), this._element.classList.remove( 'show'), this._element.setAttribute('aria-expanded', 'false'), U.removeDataAttribute(this._menu, 'popper'), H.trigger(this._element, 'hidden.bs.dropdown', e)); } _getConfig (e) { if (e = { ...this.constructor.Default, ...U.getDataAttributes( this._element), ...e, }, u('dropdown', e, this.constructor.DefaultType), 'object' == typeof e.reference && !l(e.reference) && 'function' != typeof e.reference.getBoundingClientRect) throw new TypeError( 'dropdown'.toUpperCase() + ': Option "reference" provided type "object" without a required "getBoundingClientRect" method.'); return e; } _getMenuElement () {return n.next(this._element, '.dropdown-menu')[0];} _getPlacement () { const e = this._element.parentNode; if (e.classList.contains('dropend')) return ce; if (e.classList.contains('dropstart')) return ue; const t = 'end' === getComputedStyle(this._menu). getPropertyValue('--bs-position'). trim(); return e.classList.contains('dropup') ? t ? oe : re : t ? le : se; } _detectNavbar () {return null !== this._element.closest('.navbar');} _getOffset () { const { offset: e } = this._config; return 'string' == typeof e ? e.split(','). map((e => Number.parseInt(e, 10))) : 'function' == typeof e ? t => e(t, this._element) : e; } _getPopperConfig () { const e = { placement: this._getPlacement(), modifiers: [ { name: 'preventOverflow', options: { boundary: this._config.boundary }, }, { name: 'offset', options: { offset: this._getOffset() } }], }; return 'static' === this._config.display && (e.modifiers = [ { name: 'applyStyles', enabled: !1, }]), { ...e, ...'function' == typeof this._config.popperConfig ? this._config.popperConfig(e) : this._config.popperConfig, }; } _selectMenuItem ({ key: e, target: t }) { const i = n.find( '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)', this._menu).filter(d); i.length && w(i, t, 'ArrowDown' === e, !i.includes(t)).focus(); } static dropdownInterface (e, t) { const n = fe.getOrCreateInstance(e, t); if ('string' == typeof t) { if (void 0 === n[t]) throw new TypeError( `No method named "${t}"`); n[t](); } } static jQueryInterface (e) { return this.each((function () {fe.dropdownInterface(this, e);})); } static clearMenus (e) { if (e && (2 === e.button || 'keyup' === e.type && 'Tab' !== e.key)) return; const t = n.find('[data-bs-toggle="dropdown"]'); for (let n = 0, i = t.length; n < i; n++) { const i = fe.getInstance(t[n]); if (!i || !1 === i._config.autoClose) continue; if (!i._element.classList.contains('show')) continue; const a = { relatedTarget: i._element }; if (e) { const t = e.composedPath(), n = t.includes(i._menu); if (t.includes(i._element) || 'inside' === i._config.autoClose && !n || 'outside' === i._config.autoClose && n) continue; if (i._menu.contains(e.target) && ('keyup' === e.type && 'Tab' === e.key || /input|select|option|textarea|form/i.test( e.target.tagName))) continue; 'click' === e.type && (a.clickEvent = e); } i._completeHide(a); } } static getParentFromElement (e) {return o(e) || e.parentNode;} static dataApiKeydownHandler (e) { if (/input|textarea/i.test(e.target.tagName) ? 'Space' === e.key || 'Escape' !== e.key && ('ArrowDown' !== e.key && 'ArrowUp' !== e.key || e.target.closest('.dropdown-menu')) : !ae.test( e.key)) return; const t = this.classList.contains('show'); if (!t && 'Escape' === e.key) return; if (e.preventDefault(), e.stopPropagation(), h(this)) return; const i = () => this.matches('[data-bs-toggle="dropdown"]') ? this : n.prev(this, '[data-bs-toggle="dropdown"]')[0]; return 'Escape' === e.key ? (i().focus(), void fe.clearMenus()) : 'ArrowUp' === e.key || 'ArrowDown' === e.key ? (t || i().click(), void fe.getInstance(i()). _selectMenuItem(e)) : void (t && 'Space' !== e.key || fe.clearMenus()); } } H.on(document, 'keydown.bs.dropdown.data-api', '[data-bs-toggle="dropdown"]', fe.dataApiKeydownHandler), H.on(document, 'keydown.bs.dropdown.data-api', '.dropdown-menu', fe.dataApiKeydownHandler), H.on(document, 'click.bs.dropdown.data-api', fe.clearMenus), H.on(document, 'keyup.bs.dropdown.data-api', fe.clearMenus), H.on(document, 'click.bs.dropdown.data-api', '[data-bs-toggle="dropdown"]', (function (e) {e.preventDefault(), fe.dropdownInterface(this);})), b( fe); class pe { constructor () {this._element = document.body;} getWidth () { const e = document.documentElement.clientWidth; return Math.abs(window.innerWidth - e); } hide () { const e = this.getWidth(); this._disableOverFlow(), this._setElementAttributes(this._element, 'paddingRight', (t => t + e)), this._setElementAttributes( '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', 'paddingRight', (t => t + e)), this._setElementAttributes( '.sticky-top', 'marginRight', (t => t - e)); } _disableOverFlow () { this._saveInitialAttribute(this._element, 'overflow'), this._element.style.overflow = 'hidden'; } _setElementAttributes (e, t, n) { const i = this.getWidth(); this._applyManipulationCallback(e, (e => { if (e !== this._element && window.innerWidth > e.clientWidth + i) return; this._saveInitialAttribute(e, t); const a = window.getComputedStyle(e)[t]; e.style[t] = n(Number.parseFloat(a)) + 'px'; })); } reset () { this._resetElementAttributes(this._element, 'overflow'), this._resetElementAttributes(this._element, 'paddingRight'), this._resetElementAttributes( '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top', 'paddingRight'), this._resetElementAttributes('.sticky-top', 'marginRight'); } _saveInitialAttribute (e, t) { const n = e.style[t]; n && U.setDataAttribute(e, t, n); } _resetElementAttributes (e, t) { this._applyManipulationCallback(e, (e => { const n = U.getDataAttribute(e, t); void 0 === n ? e.style.removeProperty(t) : (U.removeDataAttribute(e, t), e.style[t] = n); })); } _applyManipulationCallback (e, t) { l(e) ? t(e) : n.find(e, this._element).forEach(t); } isOverflowing () {return this.getWidth() > 0;} } const me = { isVisible: !0, isAnimated: !1, rootElement: 'body', clickCallback: null, }, ge = { isVisible: 'boolean', isAnimated: 'boolean', rootElement: '(element|string)', clickCallback: '(function|null)', }; class ve { constructor (e) { this._config = this._getConfig( e), this._isAppended = !1, this._element = null; } show (e) { this._config.isVisible ? (this._append(), this._config.isAnimated && m(this._getElement()), this._getElement(). classList. add('show'), this._emulateAnimation((() => {x(e);}))) : x(e); } hide (e) { this._config.isVisible ? (this._getElement(). classList. remove('show'), this._emulateAnimation( (() => {this.dispose(), x(e);}))) : x(e); } _getElement () { if (!this._element) { const e = document.createElement('div'); e.className = 'modal-backdrop', this._config.isAnimated && e.classList.add('fade'), this._element = e; } return this._element; } _getConfig (e) { return (e = { ...me, ...'object' == typeof e ? e : {}, }).rootElement = c(e.rootElement), u('backdrop', e, ge), e; } _append () { this._isAppended || (this._config.rootElement.appendChild(this._getElement()), H.on( this._getElement(), 'mousedown.bs.backdrop', (() => { x(this._config.clickCallback); })), this._isAppended = !0); } dispose () { this._isAppended && (H.off(this._element, 'mousedown.bs.backdrop'), this._element.remove(), this._isAppended = !1); } _emulateAnimation (e) { _(e, this._getElement(), this._config.isAnimated); } } const ye = { backdrop: !0, keyboard: !0, focus: !0 }, be = { backdrop: '(boolean|string)', keyboard: 'boolean', focus: 'boolean', }; class xe extends z { constructor (e, t) { super(e), this._config = this._getConfig( t), this._dialog = n.findOne('.modal-dialog', this._element), this._backdrop = this._initializeBackDrop(), this._isShown = !1, this._ignoreBackdropClick = !1, this._isTransitioning = !1, this._scrollBar = new pe; } static get Default () {return ye;} static get NAME () {return 'modal';} toggle (e) {return this._isShown ? this.hide() : this.show(e);} show (e) { this._isShown || this._isTransitioning || H.trigger(this._element, 'show.bs.modal', { relatedTarget: e }).defaultPrevented || (this._isShown = !0, this._isAnimated() && (this._isTransitioning = !0), this._scrollBar.hide(), document.body.classList.add( 'modal-open'), this._adjustDialog(), this._setEscapeEvent(), this._setResizeEvent(), H.on( this._element, 'click.dismiss.bs.modal', '[data-bs-dismiss="modal"]', (e => this.hide(e))), H.on( this._dialog, 'mousedown.dismiss.bs.modal', (() => { H.one(this._element, 'mouseup.dismiss.bs.modal', (e => { e.target === this._element && (this._ignoreBackdropClick = !0); })); })), this._showBackdrop((() => this._showElement(e)))); } hide (e) { if (e && ['A', 'AREA'].includes(e.target.tagName) && e.preventDefault(), !this._isShown || this._isTransitioning) return; if (H.trigger(this._element, 'hide.bs.modal').defaultPrevented) return; this._isShown = !1; const t = this._isAnimated(); t && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), H.off( document, 'focusin.bs.modal'), this._element.classList.remove( 'show'), H.off(this._element, 'click.dismiss.bs.modal'), H.off( this._dialog, 'mousedown.dismiss.bs.modal'), this._queueCallback( (() => this._hideModal()), this._element, t); } dispose () { [window, this._dialog].forEach((e => H.off(e, '.bs.modal'))), this._backdrop.dispose(), super.dispose(), H.off( document, 'focusin.bs.modal'); } handleUpdate () {this._adjustDialog();} _initializeBackDrop () { return new ve({ isVisible: Boolean(this._config.backdrop), isAnimated: this._isAnimated(), }); } _getConfig (e) { return e = { ...ye, ...U.getDataAttributes(this._element), ...'object' == typeof e ? e : {}, }, u('modal', e, be), e; } _showElement (e) { const t = this._isAnimated(), i = n.findOne('.modal-body', this._dialog); this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild( 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, i && (i.scrollTop = 0), t && m(this._element), this._element.classList.add( 'show'), this._config.focus && this._enforceFocus(), this._queueCallback((() => { this._config.focus && this._element.focus(), this._isTransitioning = !1, H.trigger( this._element, 'shown.bs.modal', { relatedTarget: e }); }), this._dialog, t); } _enforceFocus () { H.off(document, 'focusin.bs.modal'), H.on(document, 'focusin.bs.modal', (e => { document === e.target || this._element === e.target || this._element.contains(e.target) || this._element.focus(); })); } _setEscapeEvent () { this._isShown ? H.on(this._element, 'keydown.dismiss.bs.modal', (e => { this._config.keyboard && 'Escape' === e.key ? (e.preventDefault(), this.hide()) : this._config.keyboard || 'Escape' !== e.key || this._triggerBackdropTransition(); })) : H.off(this._element, 'keydown.dismiss.bs.modal'); } _setResizeEvent () { this._isShown ? H.on(window, 'resize.bs.modal', (() => this._adjustDialog())) : H.off(window, 'resize.bs.modal'); } _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( 'modal-open'), this._resetAdjustments(), this._scrollBar.reset(), H.trigger( this._element, 'hidden.bs.modal'); })); } _showBackdrop (e) { H.on(this._element, 'click.dismiss.bs.modal', (e => { this._ignoreBackdropClick ? this._ignoreBackdropClick = !1 : e.target === e.currentTarget && (!0 === this._config.backdrop ? this.hide() : 'static' === this._config.backdrop && this._triggerBackdropTransition()); })), this._backdrop.show(e); } _isAnimated () {return this._element.classList.contains('fade');} _triggerBackdropTransition () { if (H.trigger(this._element, 'hidePrevented.bs.modal').defaultPrevented) return; const { classList: e, scrollHeight: t, style: n } = this._element, i = t > document.documentElement.clientHeight; !i && 'hidden' === n.overflowY || e.contains('modal-static') || (i || (n.overflowY = 'hidden'), e.add( 'modal-static'), this._queueCallback((() => { e.remove('modal-static'), i || this._queueCallback((() => {n.overflowY = '';}), this._dialog); }), this._dialog), this._element.focus()); } _adjustDialog () { const e = this._element.scrollHeight > document.documentElement.clientHeight, t = this._scrollBar.getWidth(), n = t > 0; (!n && e && !y() || n && !e && y()) && (this._element.style.paddingLeft = t + 'px'), (n && !e && !y() || !n && e && y()) && (this._element.style.paddingRight = t + 'px'); } _resetAdjustments () {this._element.style.paddingLeft = '', this._element.style.paddingRight = '';} static jQueryInterface (e, t) { return this.each((function () { const n = xe.getOrCreateInstance(this, e); if ('string' == typeof e) { if (void 0 === n[e]) throw new TypeError( `No method named "${e}"`); n[e](t); } })); } } H.on(document, 'click.bs.modal.data-api', '[data-bs-toggle="modal"]', (function (e) { const t = o(this); ['A', 'AREA'].includes(this.tagName) && e.preventDefault(), H.one(t, 'show.bs.modal', (e => { e.defaultPrevented || H.one(t, 'hidden.bs.modal', (() => {d(this) && this.focus();})); })), xe.getOrCreateInstance(t).toggle(this); })), b(xe); const _e = { backdrop: !0, keyboard: !0, scroll: !1 }, we = { backdrop: 'boolean', keyboard: 'boolean', scroll: 'boolean' }; class ke extends z { constructor (e, t) { super(e), this._config = this._getConfig( t), this._isShown = !1, this._backdrop = this._initializeBackDrop(), this._addEventListeners(); } static get NAME () {return 'offcanvas';} static get Default () {return _e;} toggle (e) {return this._isShown ? this.hide() : this.show(e);} show (e) { this._isShown || H.trigger(this._element, 'show.bs.offcanvas', { relatedTarget: e }).defaultPrevented || (this._isShown = !0, this._element.style.visibility = 'visible', this._backdrop.show(), this._config.scroll || ((new pe).hide(), this._enforceFocusOnElement( this._element)), this._element.removeAttribute( 'aria-hidden'), this._element.setAttribute('aria-modal', !0), this._element.setAttribute('role', 'dialog'), this._element.classList.add( 'show'), this._queueCallback((() => { H.trigger(this._element, 'shown.bs.offcanvas', { relatedTarget: e }); }), this._element, !0)); } hide () { this._isShown && (H.trigger(this._element, 'hide.bs.offcanvas').defaultPrevented || (H.off(document, 'focusin.bs.offcanvas'), this._element.blur(), this._isShown = !1, this._element.classList.remove( 'show'), this._backdrop.hide(), this._queueCallback((() => { this._element.setAttribute('aria-hidden', !0), this._element.removeAttribute( 'aria-modal'), this._element.removeAttribute( 'role'), this._element.style.visibility = 'hidden', this._config.scroll || (new pe).reset(), H.trigger(this._element, 'hidden.bs.offcanvas'); }), this._element, !0))); } dispose () { this._backdrop.dispose(), super.dispose(), H.off(document, 'focusin.bs.offcanvas'); } _getConfig (e) { return e = { ..._e, ...U.getDataAttributes(this._element), ...'object' == typeof e ? e : {}, }, u('offcanvas', e, we), e; } _initializeBackDrop () { return new ve({ isVisible: this._config.backdrop, isAnimated: !0, rootElement: this._element.parentNode, clickCallback: () => this.hide(), }); } _enforceFocusOnElement (e) { H.off(document, 'focusin.bs.offcanvas'), H.on(document, 'focusin.bs.offcanvas', (t => { document === t.target || e === t.target || e.contains(t.target) || e.focus(); })), e.focus(); } _addEventListeners () { H.on(this._element, 'click.dismiss.bs.offcanvas', '[data-bs-dismiss="offcanvas"]', (() => this.hide())), H.on( this._element, 'keydown.dismiss.bs.offcanvas', (e => { this._config.keyboard && 'Escape' === e.key && this.hide(); })); } static jQueryInterface (e) { return this.each((function () { const t = ke.getOrCreateInstance(this, e); if ('string' == typeof e) { if (void 0 === t[e] || e.startsWith('_') || 'constructor' === e) throw new TypeError( `No method named "${e}"`); t[e](this); } })); } } H.on(document, 'click.bs.offcanvas.data-api', '[data-bs-toggle="offcanvas"]', (function (e) { const t = o(this); if (['A', 'AREA'].includes(this.tagName) && e.preventDefault(), h( this)) return; H.one(t, 'hidden.bs.offcanvas', (() => {d(this) && this.focus();})); const i = n.findOne('.offcanvas.show'); i && i !== t && ke.getInstance(i).hide(), ke.getOrCreateInstance(t). toggle(this); })), H.on(window, 'load.bs.offcanvas.data-api', (() => n.find('.offcanvas.show'). forEach((e => ke.getOrCreateInstance(e).show())))), b(ke); const Me = new Set([ 'background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href']), Le = /^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/i, Se = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i, Te = (e, t) => { const n = e.nodeName.toLowerCase(); if (t.includes(n)) return !Me.has(n) || Boolean(Le.test(e.nodeValue) || Se.test(e.nodeValue)); const i = t.filter((e => e instanceof RegExp)); for (let e = 0, t = i.length; e < t; e++) if (i[e].test( n)) return !0; return !1; }; function Ae (e, t, n) { if (!e.length) return e; if (n && 'function' == typeof n) return n(e); const i = (new window.DOMParser).parseFromString(e, 'text/html'), a = Object.keys(t), r = [].concat(...i.body.querySelectorAll('*')); for (let e = 0, n = r.length; e < n; e++) { const n = r[e], i = n.nodeName.toLowerCase(); if (!a.includes(i)) { n.remove(); continue; } const o = [].concat(...n.attributes), s = [].concat(t['*'] || [], t[i] || []); o.forEach((e => {Te(e, s) || n.removeAttribute(e.nodeName);})); } return i.body.innerHTML; } const De = new RegExp('(^|\\s)bs-tooltip\\S+', 'g'), Ce = new Set(['sanitize', 'allowList', 'sanitizeFn']), Ee = { animation: 'boolean', template: 'string', title: '(string|element|function)', trigger: 'string', delay: '(number|object)', html: 'boolean', selector: '(string|boolean)', placement: '(string|function)', offset: '(array|string|function)', container: '(string|element|boolean)', fallbackPlacements: 'array', boundary: '(string|element)', customClass: '(string|function)', sanitize: 'boolean', sanitizeFn: '(null|function)', allowList: 'object', popperConfig: '(null|object|function)', }, Oe = { AUTO: 'auto', TOP: 'top', RIGHT: y() ? 'left' : 'right', BOTTOM: 'bottom', LEFT: y() ? 'right' : 'left', }, Ye = { animation: !0, template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>', trigger: 'hover focus', title: '', delay: 0, html: !1, selector: !1, placement: 'top', offset: [0, 0], container: !1, fallbackPlacements: ['top', 'right', 'bottom', 'left'], boundary: 'clippingParents', customClass: '', sanitize: !0, sanitizeFn: null, allowList: { '*': [ 'class', 'dir', 'id', 'lang', 'role', /^aria-[\w-]*$/i], a: ['target', 'href', 'title', 'rel'], area: [], b: [], br: [], col: [], code: [], div: [], 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: [], }, popperConfig: null, }, Pe = { HIDE: 'hide.bs.tooltip', HIDDEN: 'hidden.bs.tooltip', SHOW: 'show.bs.tooltip', SHOWN: 'shown.bs.tooltip', INSERTED: 'inserted.bs.tooltip', CLICK: 'click.bs.tooltip', FOCUSIN: 'focusin.bs.tooltip', FOCUSOUT: 'focusout.bs.tooltip', MOUSEENTER: 'mouseenter.bs.tooltip', MOUSELEAVE: 'mouseleave.bs.tooltip', }; class Ie extends z { constructor (e, n) { if (void 0 === t) throw new TypeError( 'Bootstrap\'s tooltips require Popper (https://popper.js.org)'); super( e), this._isEnabled = !0, this._timeout = 0, this._hoverState = '', this._activeTrigger = {}, this._popper = null, this._config = this._getConfig( n), this.tip = null, this._setListeners(); } static get Default () {return Ye;} static get NAME () {return 'tooltip';} static get Event () {return Pe;} static get DefaultType () {return Ee;} enable () {this._isEnabled = !0;} disable () {this._isEnabled = !1;} toggleEnabled () {this._isEnabled = !this._isEnabled;} toggle (e) { if (this._isEnabled) if (e) { const t = this._initializeOnDelegatedTarget(e); t._activeTrigger.click = !t._activeTrigger.click, t._isWithActiveTrigger() ? t._enter(null, t) : t._leave(null, t); } else { if (this.getTipElement(). classList. contains('show')) return void this._leave(null, this); this._enter(null, this); } } dispose () { clearTimeout(this._timeout), H.off(this._element.closest('.modal'), 'hide.bs.modal', this._hideModalHandler), this.tip && this.tip.remove(), this._popper && this._popper.destroy(), 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 e = H.trigger(this._element, this.constructor.Event.SHOW), n = f(this._element), a = null === n ? this._element.ownerDocument.documentElement.contains( this._element) : n.contains(this._element); if (e.defaultPrevented || !a) return; const r = this.getTipElement(), o = i(this.constructor.NAME); r.setAttribute('id', o), this._element.setAttribute( 'aria-describedby', o), this.setContent(), this._config.animation && r.classList.add('fade'); const s = 'function' == typeof this._config.placement ? this._config.placement.call(this, r, this._element) : this._config.placement, l = this._getAttachment(s); this._addAttachmentClass(l); const { container: c } = this._config; R.set(r, this.constructor.DATA_KEY, this), this._element.ownerDocument.documentElement.contains( this.tip) || (c.appendChild(r), H.trigger(this._element, this.constructor.Event.INSERTED)), this._popper ? this._popper.update() : this._popper = t.createPopper(this._element, r, this._getPopperConfig(l)), r.classList.add('show'); const u = 'function' == typeof this._config.customClass ? this._config.customClass() : this._config.customClass; u && r.classList.add(...u.split(' ')), 'ontouchstart' in document.documentElement && [].concat(...document.body.children). forEach((e => {H.on(e, 'mouseover', p);})); const d = this.tip.classList.contains('fade'); this._queueCallback((() => { const e = this._hoverState; this._hoverState = null, H.trigger(this._element, this.constructor.Event.SHOWN), 'out' === e && this._leave(null, this); }), this.tip, d); } hide () { if (!this._popper) return; const e = this.getTipElement(); if (H.trigger(this._element, this.constructor.Event.HIDE).defaultPrevented) return; e.classList.remove('show'), 'ontouchstart' in document.documentElement && [].concat(...document.body.children). forEach((e => H.off(e, 'mouseover', p))), this._activeTrigger.click = !1, this._activeTrigger.focus = !1, this._activeTrigger.hover = !1; const t = this.tip.classList.contains('fade'); this._queueCallback((() => { this._isWithActiveTrigger() || ('show' !== this._hoverState && e.remove(), this._cleanTipClass(), this._element.removeAttribute( 'aria-describedby'), H.trigger(this._element, this.constructor.Event.HIDDEN), this._popper && (this._popper.destroy(), this._popper = null)); }), this.tip, t), this._hoverState = ''; } update () {null !== this._popper && this._popper.update();} isWithContent () {return Boolean(this.getTitle());} getTipElement () { if (this.tip) return this.tip; const e = document.createElement('div'); return e.innerHTML = this._config.template, this.tip = e.children[0], this.tip; } setContent () { const e = this.getTipElement(); this.setElementContent(n.findOne('.tooltip-inner', e), this.getTitle()), e.classList.remove('fade', 'show'); } setElementContent (e, t) { if (null !== e) return l(t) ? (t = c(t), void (this._config.html ? t.parentNode !== e && (e.innerHTML = '', e.appendChild(t)) : e.textContent = t.textContent)) : void (this._config.html ? (this._config.sanitize && (t = Ae(t, this._config.allowList, this._config.sanitizeFn)), e.innerHTML = t) : e.textContent = t); } getTitle () { let e = this._element.getAttribute('data-bs-original-title'); return e || (e = 'function' == typeof this._config.title ? this._config.title.call(this._element) : this._config.title), e; } updateAttachment (e) { return 'right' === e ? 'end' : 'left' === e ? 'start' : e; } _initializeOnDelegatedTarget ( e, t) { const n = this.constructor.DATA_KEY; return (t = t || R.get(e.delegateTarget, n)) || (t = new this.constructor(e.delegateTarget, this._getDelegateConfig()), R.set(e.delegateTarget, n, t)), t; } _getOffset () { const { offset: e } = this._config; return 'string' == typeof e ? e.split(','). map((e => Number.parseInt(e, 10))) : 'function' == typeof e ? t => e(t, this._element) : e; } _getPopperConfig (e) { const t = { placement: e, 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: 'onChange', enabled: !0, phase: 'afterWrite', fn: e => this._handlePopperPlacementChange(e), }], onFirstUpdate: e => { e.options.placement !== e.placement && this._handlePopperPlacementChange(e); }, }; return { ...t, ...'function' == typeof this._config.popperConfig ? this._config.popperConfig(t) : this._config.popperConfig, }; } _addAttachmentClass (e) { this.getTipElement(). classList. add('bs-tooltip-' + this.updateAttachment(e)); } _getAttachment (e) {return Oe[e.toUpperCase()];} _setListeners () { this._config.trigger.split(' '). forEach((e => { if ('click' === e) H.on(this._element, this.constructor.Event.CLICK, this._config.selector, (e => this.toggle(e))); else if ('manual' !== e) { const t = 'hover' === e ? this.constructor.Event.MOUSEENTER : this.constructor.Event.FOCUSIN, n = 'hover' === e ? this.constructor.Event.MOUSELEAVE : this.constructor.Event.FOCUSOUT; H.on(this._element, t, this._config.selector, (e => this._enter(e))), H.on(this._element, n, this._config.selector, (e => this._leave(e))); } })), this._hideModalHandler = () => { this._element && this.hide(); }, H.on(this._element.closest('.modal'), 'hide.bs.modal', this._hideModalHandler), this._config.selector ? this._config = { ...this._config, trigger: 'manual', selector: '', } : this._fixTitle(); } _fixTitle () { const e = this._element.getAttribute('title'), t = typeof this._element.getAttribute('data-bs-original-title'); (e || 'string' !== t) && (this._element.setAttribute('data-bs-original-title', e || ''), !e || this._element.getAttribute('aria-label') || this._element.textContent || this._element.setAttribute('aria-label', e), this._element.setAttribute('title', '')); } _enter (e, t) { t = this._initializeOnDelegatedTarget(e, t), e && (t._activeTrigger['focusin' === e.type ? 'focus' : 'hover'] = !0), t.getTipElement(). classList. contains('show') || 'show' === t._hoverState ? t._hoverState = 'show' : (clearTimeout( t._timeout), t._hoverState = 'show', t._config.delay && t._config.delay.show ? t._timeout = setTimeout( (() => {'show' === t._hoverState && t.show();}), t._config.delay.show) : t.show()); } _leave (e, t) { t = this._initializeOnDelegatedTarget(e, t), e && (t._activeTrigger['focusout' === e.type ? 'focus' : 'hover'] = t._element.contains( e.relatedTarget)), t._isWithActiveTrigger() || (clearTimeout(t._timeout), t._hoverState = 'out', t._config.delay && t._config.delay.hide ? t._timeout = setTimeout( (() => {'out' === t._hoverState && t.hide();}), t._config.delay.hide) : t.hide()); } _isWithActiveTrigger () { for (const e in this._activeTrigger) if (this._activeTrigger[e]) return !0; return !1; } _getConfig (e) { const t = U.getDataAttributes(this._element); return Object.keys(t). forEach((e => { Ce.has(e) && delete t[e]; })), (e = { ...this.constructor.Default, ...t, ...'object' == typeof e && e ? e : {}, }).container = !1 === e.container ? document.body : c( e.container), 'number' == typeof e.delay && (e.delay = { show: e.delay, hide: e.delay }), 'number' == typeof e.title && (e.title = e.title.toString()), 'number' == typeof e.content && (e.content = e.content.toString()), u('tooltip', e, this.constructor.DefaultType), e.sanitize && (e.template = Ae(e.template, e.allowList, e.sanitizeFn)), e; } _getDelegateConfig () { const e = {}; if (this._config) for (const t in this._config) this.constructor.Default[t] !== this._config[t] && (e[t] = this._config[t]); return e; } _cleanTipClass () { const e = this.getTipElement(), t = e.getAttribute('class').match(De); null !== t && t.length > 0 && t.map((e => e.trim())).forEach((t => e.classList.remove(t))); } _handlePopperPlacementChange (e) { const { state: t } = e; t && (this.tip = t.elements.popper, this._cleanTipClass(), this._addAttachmentClass( this._getAttachment(t.placement))); } static jQueryInterface (e) { return this.each((function () { const t = Ie.getOrCreateInstance(this, e); if ('string' == typeof e) { if (void 0 === t[e]) throw new TypeError( `No method named "${e}"`); t[e](); } })); } } b(Ie); const je = new RegExp('(^|\\s)bs-popover\\S+', 'g'), Ne = { ...Ie.Default, placement: 'right', offset: [0, 8], trigger: 'click', content: '', template: '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>', }, He = { ...Ie.DefaultType, content: '(string|element|function)' }, Fe = { HIDE: 'hide.bs.popover', HIDDEN: 'hidden.bs.popover', SHOW: 'show.bs.popover', SHOWN: 'shown.bs.popover', INSERTED: 'inserted.bs.popover', CLICK: 'click.bs.popover', FOCUSIN: 'focusin.bs.popover', FOCUSOUT: 'focusout.bs.popover', MOUSEENTER: 'mouseenter.bs.popover', MOUSELEAVE: 'mouseleave.bs.popover', }; class Re extends Ie { static get Default () {return Ne;} static get NAME () {return 'popover';} static get Event () {return Fe;} static get DefaultType () {return He;} isWithContent () {return this.getTitle() || this._getContent();} getTipElement () { return this.tip || (this.tip = super.getTipElement(), this.getTitle() || n.findOne('.popover-header', this.tip). remove(), this._getContent() || n.findOne('.popover-body', this.tip).remove()), this.tip; } setContent () { const e = this.getTipElement(); this.setElementContent(n.findOne('.popover-header', e), this.getTitle()); let t = this._getContent(); 'function' == typeof t && (t = t.call(this._element)), this.setElementContent( n.findOne('.popover-body', e), t), e.classList.remove('fade', 'show'); } _addAttachmentClass (e) { this.getTipElement(). classList. add('bs-popover-' + this.updateAttachment(e)); } _getContent () { return this._element.getAttribute('data-bs-content') || this._config.content; } _cleanTipClass () { const e = this.getTipElement(), t = e.getAttribute('class').match(je); null !== t && t.length > 0 && t.map((e => e.trim())).forEach((t => e.classList.remove(t))); } static jQueryInterface (e) { return this.each((function () { const t = Re.getOrCreateInstance(this, e); if ('string' == typeof e) { if (void 0 === t[e]) throw new TypeError( `No method named "${e}"`); t[e](); } })); } } b(Re); const ze = { offset: 10, method: 'auto', target: '' }, Be = { offset: 'number', method: 'string', target: '(string|element)' }; class We extends z { constructor (e, t) { super(e), this._scrollElement = 'BODY' === this._element.tagName ? window : this._element, this._config = this._getConfig( t), this._selector = `${this._config.target} .nav-link, ${this._config.target} .list-group-item, ${this._config.target} .dropdown-item`, this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, H.on( this._scrollElement, 'scroll.bs.scrollspy', (() => this._process())), this.refresh(), this._process(); } static get Default () {return ze;} static get NAME () {return 'scrollspy';} refresh () { const e = this._scrollElement === this._scrollElement.window ? 'offset' : 'position', t = 'auto' === this._config.method ? e : this._config.method, i = 'position' === t ? this._getScrollTop() : 0; this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight(), n.find( this._selector). map((e => { const a = r(e), o = a ? n.findOne(a) : null; if (o) { const e = o.getBoundingClientRect(); if (e.width || e.height) return [U[t](o).top + i, a]; } return null; })). filter((e => e)). sort(((e, t) => e[0] - t[0])). forEach( (e => { this._offsets.push(e[0]), this._targets.push(e[1]); })); } dispose () { H.off(this._scrollElement, '.bs.scrollspy'), super.dispose(); } _getConfig (e) { if ('string' != typeof (e = { ...ze, ...U.getDataAttributes(this._element), ...'object' == typeof e && e ? e : {}, }).target && l(e.target)) { let { id: t } = e.target; t || (t = i('scrollspy'), e.target.id = t), e.target = '#' + t; } return u('scrollspy', e, Be), e; } _getScrollTop () { return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; } _getScrollHeight () { return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); } _getOffsetHeight () { return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; } _process () { const e = this._getScrollTop() + this._config.offset, t = this._getScrollHeight(), n = this._config.offset + t - this._getOffsetHeight(); if (this._scrollHeight !== t && this.refresh(), e >= n) { const e = this._targets[this._targets.length - 1]; this._activeTarget !== e && this._activate(e); } else { if (this._activeTarget && e < this._offsets[0] && this._offsets[0] > 0) return this._activeTarget = null, void this._clear(); for (let t = this._offsets.length; t--;) this._activeTarget !== this._targets[t] && e >= this._offsets[t] && (void 0 === this._offsets[t + 1] || e < this._offsets[t + 1]) && this._activate(this._targets[t]); } } _activate (e) { this._activeTarget = e, this._clear(); const t = this._selector.split(','). map((t => `${t}[data-bs-target="${e}"],${t}[href="${e}"]`)), i = n.findOne(t.join(',')); i.classList.contains('dropdown-item') ? (n.findOne( '.dropdown-toggle', i.closest('.dropdown')). classList. add('active'), i.classList.add('active')) : (i.classList.add( 'active'), n.parents(i, '.nav, .list-group'). forEach((e => { n.prev(e, '.nav-link, .list-group-item'). forEach((e => e.classList.add('active'))), n.prev(e, '.nav-item'). forEach((e => { n.children(e, '.nav-link'). forEach((e => e.classList.add('active'))); })); }))), H.trigger(this._scrollElement, 'activate.bs.scrollspy', { relatedTarget: e }); } _clear () { n.find(this._selector). filter((e => e.classList.contains('active'))). forEach((e => e.classList.remove('active'))); } static jQueryInterface (e) { return this.each((function () { const t = We.getOrCreateInstance(this, e); if ('string' == typeof e) { if (void 0 === t[e]) throw new TypeError( `No method named "${e}"`); t[e](); } })); } } H.on(window, 'load.bs.scrollspy.data-api', (() => { n.find('[data-bs-spy="scroll"]'). forEach((e => new We(e))); })), b(We); class Ve extends z { static get NAME () {return 'tab';} show () { if (this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && this._element.classList.contains('active')) return; let e; const t = o(this._element), i = this._element.closest('.nav, .list-group'); if (i) { const t = 'UL' === i.nodeName || 'OL' === i.nodeName ? ':scope > li > .active' : '.active'; e = n.find(t, i), e = e[e.length - 1]; } const a = e ? H.trigger(e, 'hide.bs.tab', { relatedTarget: this._element }) : null; if (H.trigger(this._element, 'show.bs.tab', { relatedTarget: e }).defaultPrevented || null !== a && a.defaultPrevented) return; this._activate(this._element, i); const r = () => { H.trigger(e, 'hidden.bs.tab', { relatedTarget: this._element }), H.trigger(this._element, 'shown.bs.tab', { relatedTarget: e }); }; t ? this._activate(t, t.parentNode, r) : r(); } _activate (e, t, i) { const a = (!t || 'UL' !== t.nodeName && 'OL' !== t.nodeName ? n.children(t, '.active') : n.find(':scope > li > .active', t))[0], r = i && a && a.classList.contains('fade'), o = () => this._transitionComplete(e, a, i); a && r ? (a.classList.remove('show'), this._queueCallback(o, e, !0)) : o(); } _transitionComplete (e, t, i) { if (t) { t.classList.remove('active'); const e = n.findOne(':scope > .dropdown-menu .active', t.parentNode); e && e.classList.remove('active'), 'tab' === t.getAttribute('role') && t.setAttribute('aria-selected', !1); } e.classList.add('active'), 'tab' === e.getAttribute('role') && e.setAttribute('aria-selected', !0), m(e), e.classList.contains( 'fade') && e.classList.add('show'); let a = e.parentNode; if (a && 'LI' === a.nodeName && (a = a.parentNode), a && a.classList.contains('dropdown-menu')) { const t = e.closest('.dropdown'); t && n.find('.dropdown-toggle', t). forEach((e => e.classList.add('active'))), e.setAttribute( 'aria-expanded', !0); } i && i(); } static jQueryInterface (e) { return this.each((function () { const t = Ve.getOrCreateInstance(this); if ('string' == typeof e) { if (void 0 === t[e]) throw new TypeError( `No method named "${e}"`); t[e](); } })); } } H.on(document, 'click.bs.tab.data-api', '[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]', (function (e) { ['A', 'AREA'].includes(this.tagName) && e.preventDefault(), h( this) || Ve.getOrCreateInstance(this).show(); })), b(Ve); const qe = { animation: 'boolean', autohide: 'boolean', delay: 'number' }, Ue = { animation: !0, autohide: !0, delay: 5e3 }; class Xe extends z { constructor (e, t) { super(e), this._config = this._getConfig( t), this._timeout = null, this._hasMouseInteraction = !1, this._hasKeyboardInteraction = !1, this._setListeners(); } static get DefaultType () {return qe;} static get Default () {return Ue;} static get NAME () {return 'toast';} show () { H.trigger(this._element, 'show.bs.toast').defaultPrevented || (this._clearTimeout(), this._config.animation && this._element.classList.add('fade'), this._element.classList.remove( 'hide'), m(this._element), this._element.classList.add( 'showing'), this._queueCallback((() => { this._element.classList.remove( 'showing'), this._element.classList.add('show'), H.trigger( this._element, 'shown.bs.toast'), this._maybeScheduleHide(); }), this._element, this._config.animation)); } hide () { this._element.classList.contains('show') && (H.trigger(this._element, 'hide.bs.toast').defaultPrevented || (this._element.classList.remove('show'), this._queueCallback( (() => { this._element.classList.add('hide'), H.trigger( this._element, 'hidden.bs.toast'); }), this._element, this._config.animation))); } dispose () { this._clearTimeout(), this._element.classList.contains('show') && this._element.classList.remove('show'), super.dispose(); } _getConfig (e) { return e = { ...Ue, ...U.getDataAttributes(this._element), ...'object' == typeof e && e ? e : {}, }, u('toast', e, this.constructor.DefaultType), e; } _maybeScheduleHide () { this._config.autohide && (this._hasMouseInteraction || this._hasKeyboardInteraction || (this._timeout = setTimeout((() => {this.hide();}), this._config.delay))); } _onInteraction (e, t) { switch (e.type) { case'mouseover': case'mouseout': this._hasMouseInteraction = t; break; case'focusin': case'focusout': this._hasKeyboardInteraction = t; } if (t) return void this._clearTimeout(); const n = e.relatedTarget; this._element === n || this._element.contains(n) || this._maybeScheduleHide(); } _setListeners () { H.on(this._element, 'click.dismiss.bs.toast', '[data-bs-dismiss="toast"]', (() => this.hide())), H.on( this._element, 'mouseover.bs.toast', (e => this._onInteraction(e, !0))), H.on(this._element, 'mouseout.bs.toast', (e => this._onInteraction(e, !1))), H.on( this._element, 'focusin.bs.toast', (e => this._onInteraction(e, !0))), H.on(this._element, 'focusout.bs.toast', (e => this._onInteraction(e, !1))); } _clearTimeout () {clearTimeout(this._timeout), this._timeout = null;} static jQueryInterface (e) { return this.each((function () { const t = Xe.getOrCreateInstance(this, e); if ('string' == typeof e) { if (void 0 === t[e]) throw new TypeError( `No method named "${e}"`); t[e](this); } })); } } return b(Xe), { Alert: B, Button: W, Carousel: ee, Collapse: ie, Dropdown: fe, Modal: xe, Offcanvas: ke, Popover: Re, ScrollSpy: We, Tab: Ve, Toast: Xe, Tooltip: Ie, }; })), function (e, t) { 'object' == typeof exports && 'undefined' != typeof module ? module.exports = t() : 'function' == typeof define && define.amd ? define(t) : e.moment = t(); }(this, (function () { 'use strict'; var e, t; function n () {return e.apply(null, arguments);} function i (e) { return e instanceof Array || '[object Array]' === Object.prototype.toString.call(e); } function a (e) { return null != e && '[object Object]' === Object.prototype.toString.call(e); } function r (e, t) {return Object.prototype.hasOwnProperty.call(e, t);} function o (e) { if (Object.getOwnPropertyNames) return 0 === Object.getOwnPropertyNames(e).length; for (var t in e) if (r(e, t)) return; return 1; } function s (e) {return void 0 === e;} function l (e) { return 'number' == typeof e || '[object Number]' === Object.prototype.toString.call(e); } function c (e) { return e instanceof Date || '[object Date]' === Object.prototype.toString.call(e); } function u (e, t) { for (var n = [], i = 0; i < e.length; ++i) n.push(t(e[i], i)); return n; } function d (e, t) { for (var n in t) r(t, n) && (e[n] = t[n]); return r(t, 'toString') && (e.toString = t.toString), r(t, 'valueOf') && (e.valueOf = t.valueOf), e; } function h (e, t, n, i) {return vt(e, t, n, i, !0).utc();} function f (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 p (e) { if (null == e._isValid) { var n = f(e), i = t.call(n.parsedDateParts, (function (e) {return null != e;})), a = !isNaN(e._d.getTime()) && n.overflow < 0 && !n.empty && !n.invalidEra && !n.invalidMonth && !n.invalidWeekday && !n.weekdayMismatch && !n.nullInput && !n.invalidFormat && !n.userInvalidated && (!n.meridiem || n.meridiem && i); if (e._strict && (a = a && 0 === n.charsLeftOver && 0 === n.unusedTokens.length && void 0 === n.bigHour), null != Object.isFrozen && Object.isFrozen(e)) return a; e._isValid = a; } return e._isValid; } function m (e) { var t = h(NaN); return null != e ? d(f(t), e) : f(t).userInvalidated = !0, t; } t = Array.prototype.some ? Array.prototype.some : function (e) { for (var t = Object(this), n = t.length >>> 0, i = 0; i < n; i++) if (i in t && e.call(this, t[i], i, t)) return !0; return !1; }; var g = n.momentProperties = [], v = !1; function y (e, t) { var n, i, a; if (s(t._isAMomentObject) || (e._isAMomentObject = t._isAMomentObject), s(t._i) || (e._i = t._i), s( t._f) || (e._f = t._f), s(t._l) || (e._l = t._l), s(t._strict) || (e._strict = t._strict), s(t._tzm) || (e._tzm = t._tzm), s(t._isUTC) || (e._isUTC = t._isUTC), s(t._offset) || (e._offset = t._offset), s( t._pf) || (e._pf = f(t)), s(t._locale) || (e._locale = t._locale), 0 < g.length) for (n = 0; n < g.length; n++) s( a = t[i = g[n]]) || (e[i] = a); return e; } function b (e) { y(this, e), this._d = new Date( null != e._d ? e._d.getTime() : NaN), this.isValid() || (this._d = new Date(NaN)), !1 === v && (v = !0, n.updateOffset(this), v = !1); } function x (e) { return e instanceof b || null != e && null != e._isAMomentObject; } function _ (e) { !1 === n.suppressDeprecationWarnings && 'undefined' != typeof console && console.warn && console.warn('Deprecation warning: ' + e); } function w (e, t) { var i = !0; return d((function () { if (null != n.deprecationHandler && n.deprecationHandler(null, e), i) { for (var a, o, s = [], l = 0; l < arguments.length; l++) { if (a = '', 'object' == typeof arguments[l]) { for (o in a += '\n[' + l + '] ', arguments[0]) r( arguments[0], o) && (a += o + ': ' + arguments[0][o] + ', '); a = a.slice(0, -2); } else a = arguments[l]; s.push(a); } _(e + '\nArguments: ' + Array.prototype.slice.call(s).join('') + '\n' + (new Error).stack), i = !1; } return t.apply(this, arguments); }), t); } var k, M = {}; function L (e, t) { null != n.deprecationHandler && n.deprecationHandler(e, t), M[e] || (_(t), M[e] = !0); } function S (e) { return 'undefined' != typeof Function && e instanceof Function || '[object Function]' === Object.prototype.toString.call(e); } function T (e, t) { var n, i = d({}, e); for (n in t) r(t, n) && (a(e[n]) && a(t[n]) ? (i[n] = {}, d(i[n], e[n]), d(i[n], t[n])) : null != t[n] ? i[n] = t[n] : delete i[n]); for (n in e) r(e, n) && !r(t, n) && a(e[n]) && (i[n] = d({}, i[n])); return i; } function A (e) {null != e && this.set(e);} function D (e, t, n) { var i = '' + Math.abs(e), a = t - i.length; return (0 <= e ? n ? '+' : '' : '-') + Math.pow(10, Math.max(0, a)).toString().substr(1) + i; } n.suppressDeprecationWarnings = !1, n.deprecationHandler = null, k = Object.keys ? Object.keys : function (e) { var t, n = []; for (t in e) r(e, t) && n.push(t); return n; }; var C = /(\[[^\[]*\])|(\\)?([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, E = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, O = {}, Y = {}; function P (e, t, n, i) { var a = 'string' == typeof i ? function () {return this[i]();} : i; e && (Y[e] = a), t && (Y[t[0]] = function () { return D(a.apply(this, arguments), t[1], t[2]); }), n && (Y[n] = function () { return this.localeData(). ordinal(a.apply(this, arguments), e); }); } function I (e, t) { return e.isValid() ? (t = j(t, e.localeData()), O[t] = O[t] || function (e) { for (var t, n = e.match(C), i = 0, a = n.length; i < a; i++) Y[n[i]] ? n[i] = Y[n[i]] : n[i] = (t = n[i]).match(/\[[\s\S]/) ? t.replace(/^\[|\]$/g, '') : t.replace(/\\/g, ''); return function (t) { for (var i = '', r = 0; r < a; r++) i += S(n[r]) ? n[r].call(t, e) : n[r]; return i; }; }(t), O[t](e)) : e.localeData().invalidDate(); } function j (e, t) { var n = 5; function i (e) {return t.longDateFormat(e) || e;} for (E.lastIndex = 0; 0 <= n && E.test(e);) e = e.replace(E, i), E.lastIndex = 0, --n; return e; } var N = {}; function H (e, t) { var n = e.toLowerCase(); N[n] = N[n + 's'] = N[t] = e; } function F (e) { return 'string' == typeof e ? N[e] || N[e.toLowerCase()] : void 0; } function R (e) { var t, n, i = {}; for (n in e) r(e, n) && (t = F(n)) && (i[t] = e[n]); return i; } var z = {}; function B (e, t) {z[e] = t;} function W (e) {return e % 4 == 0 && e % 100 != 0 || e % 400 == 0;} function V (e) {return e < 0 ? Math.ceil(e) || 0 : Math.floor(e);} function q (e) { var t = +e, n = 0; return 0 != t && isFinite(t) && (n = V(t)), n; } function U (e, t) { return function (i) { return null != i ? ($(this, e, i), n.updateOffset(this, t), this) : X(this, e); }; } function X (e, t) { return e.isValid() ? e._d['get' + (e._isUTC ? 'UTC' : '') + t]() : NaN; } function $ (e, t, n) { e.isValid() && !isNaN(n) && ('FullYear' === t && W(e.year()) && 1 === e.month() && 29 === e.date() ? (n = q(n), e._d['set' + (e._isUTC ? 'UTC' : '') + t](n, e.month(), be(n, e.month()))) : e._d['set' + (e._isUTC ? 'UTC' : '') + t](n)); } var G, Z = /\d/, K = /\d\d/, J = /\d{3}/, Q = /\d{4}/, ee = /[+-]?\d{6}/, te = /\d\d?/, ne = /\d\d\d\d?/, ie = /\d\d\d\d\d\d?/, ae = /\d{1,3}/, re = /\d{1,4}/, oe = /[+-]?\d{1,6}/, se = /\d+/, le = /[+-]?\d+/, ce = /Z|[+-]\d\d:?\d\d/gi, ue = /Z|[+-]\d\d(?::?\d\d)?/gi, de = /[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; function he (e, t, n) { G[e] = S(t) ? t : function (e, i) { return e && n ? n : t; }; } function fe (e, t) { return r(G, e) ? G[e](t._strict, t._locale) : new RegExp(pe(e.replace('\\', ''). replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, (function (e, t, n, i, a) {return t || n || i || a;})))); } function pe (e) {return e.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');} G = {}; var me = {}; function ge (e, t) { var n, i = t; for ('string' == typeof e && (e = [e]), l(t) && (i = function (e, n) {n[t] = q(e);}), n = 0; n < e.length; n++) me[e[n]] = i; } function ve (e, t) { ge(e, (function (e, n, i, a) {i._w = i._w || {}, t(e, i._w, i, a);})); } var ye; function be (e, t) { if (isNaN(e) || isNaN(t)) return NaN; var n = (t % 12 + 12) % 12; return e += (t - n) / 12, 1 == n ? W(e) ? 29 : 28 : 31 - n % 7 % 2; } ye = Array.prototype.indexOf ? Array.prototype.indexOf : function (e) { for (var t = 0; t < this.length; ++t) if (this[t] === e) return t; return -1; }, P('M', ['MM', 2], 'Mo', (function () {return this.month() + 1;})), P( 'MMM', 0, 0, (function (e) {return this.localeData().monthsShort(this, e);})), P( 'MMMM', 0, 0, (function (e) {return this.localeData().months(this, e);})), H('month', 'M'), B('month', 8), he('M', te), he('MM', te, K), he('MMM', (function (e, t) {return t.monthsShortRegex(e);})), he('MMMM', (function (e, t) {return t.monthsRegex(e);})), ge(['M', 'MM'], (function (e, t) {t[1] = q(e) - 1;})), ge(['MMM', 'MMMM'], (function (e, t, n, i) { var a = n._locale.monthsParse(e, i, n._strict); null != a ? t[1] = a : f(n).invalidMonth = e; })); var xe = 'January_February_March_April_May_June_July_August_September_October_November_December'.split( '_'), _e = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), we = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/, ke = de, Me = de; function Le (e, t) { var n; if (!e.isValid()) return e; if ('string' == typeof t) if (/^\d+$/.test(t)) t = q(t); else if (!l( t = e.localeData().monthsParse(t))) return e; return n = Math.min(e.date(), be(e.year(), t)), e._d['set' + (e._isUTC ? 'UTC' : '') + 'Month'](t, n), e; } function Se (e) { return null != e ? (Le(this, e), n.updateOffset(this, !0), this) : X( this, 'Month'); } function Te () { function e (e, t) {return t.length - e.length;} for (var t, n = [], i = [], a = [], r = 0; r < 12; r++) t = h( [2e3, r]), n.push(this.monthsShort(t, '')), i.push( this.months(t, '')), a.push(this.months(t, '')), a.push( this.monthsShort(t, '')); for (n.sort(e), i.sort(e), a.sort(e), r = 0; r < 12; r++) n[r] = pe( n[r]), i[r] = pe(i[r]); for (r = 0; r < 24; r++) a[r] = pe(a[r]); this._monthsRegex = new RegExp('^(' + a.join('|') + ')', 'i'), this._monthsShortRegex = this._monthsRegex, this._monthsStrictRegex = new RegExp( '^(' + i.join('|') + ')', 'i'), this._monthsShortStrictRegex = new RegExp( '^(' + n.join('|') + ')', 'i'); } function Ae (e) {return W(e) ? 366 : 365;} P('Y', 0, 0, (function () { var e = this.year(); return e <= 9999 ? D(e, 4) : '+' + e; })), P(0, ['YY', 2], 0, (function () {return this.year() % 100;})), P(0, ['YYYY', 4], 0, 'year'), P(0, ['YYYYY', 5], 0, 'year'), P(0, ['YYYYYY', 6, !0], 0, 'year'), H('year', 'y'), B('year', 1), he('Y', le), he('YY', te, K), he('YYYY', re, Q), he('YYYYY', oe, ee), he( 'YYYYYY', oe, ee), ge(['YYYYY', 'YYYYYY'], 0), ge('YYYY', (function (e, t) { t[0] = 2 === e.length ? n.parseTwoDigitYear(e) : q(e); })), ge('YY', (function (e, t) {t[0] = n.parseTwoDigitYear(e);})), ge( 'Y', (function (e, t) { t[0] = parseInt(e, 10); })), n.parseTwoDigitYear = function (e) { return q(e) + (68 < q(e) ? 1900 : 2e3); }; var De = U('FullYear', !0); function Ce (e) { var t, n; return e < 100 && 0 <= e ? ((n = Array.prototype.slice.call( arguments))[0] = e + 400, t = new Date( Date.UTC.apply(null, n)), isFinite(t.getUTCFullYear()) && t.setUTCFullYear(e)) : t = new Date(Date.UTC.apply(null, arguments)), t; } function Ee (e, t, n) { var i = 7 + t - n; return i - (7 + Ce(e, 0, i).getUTCDay() - t) % 7 - 1; } function Oe (e, t, n, i, a) { var r, o = 1 + 7 * (t - 1) + (7 + n - i) % 7 + Ee(e, i, a), s = o <= 0 ? Ae(r = e - 1) + o : o > Ae(e) ? (r = e + 1, o - Ae(e)) : (r = e, o); return { year: r, dayOfYear: s }; } function Ye (e, t, n) { var i, a, r = Ee(e.year(), t, n), o = Math.floor((e.dayOfYear() - r - 1) / 7) + 1; return o < 1 ? i = o + Pe(a = e.year() - 1, t, n) : o > Pe(e.year(), t, n) ? (i = o - Pe(e.year(), t, n), a = e.year() + 1) : (a = e.year(), i = o), { week: i, year: a }; } function Pe (e, t, n) { var i = Ee(e, t, n), a = Ee(e + 1, t, n); return (Ae(e) - i + a) / 7; } function Ie (e, t) {return e.slice(t, 7).concat(e.slice(0, t));} P('w', ['ww', 2], 'wo', 'week'), P('W', ['WW', 2], 'Wo', 'isoWeek'), H( 'week', 'w'), H('isoWeek', 'W'), B('week', 5), B('isoWeek', 5), he('w', te), he('ww', te, K), he('W', te), he('WW', te, K), ve( ['w', 'ww', 'W', 'WW'], (function (e, t, n, i) {t[i.substr(0, 1)] = q(e);})), P('d', 0, 'do', 'day'), P('dd', 0, 0, (function (e) {return this.localeData().weekdaysMin(this, e);})), P( 'ddd', 0, 0, (function (e) {return this.localeData().weekdaysShort(this, e);})), P( 'dddd', 0, 0, (function (e) {return this.localeData().weekdays(this, e);})), P('e', 0, 0, 'weekday'), P('E', 0, 0, 'isoWeekday'), H('day', 'd'), H('weekday', 'e'), H('isoWeekday', 'E'), B('day', 11), B('weekday', 11), B( 'isoWeekday', 11), he('d', te), he('e', te), he('E', te), he('dd', (function (e, t) {return t.weekdaysMinRegex(e);})), he('ddd', (function (e, t) {return t.weekdaysShortRegex(e);})), he('dddd', (function (e, t) {return t.weekdaysRegex(e);})), ve( ['dd', 'ddd', 'dddd'], (function (e, t, n, i) { var a = n._locale.weekdaysParse(e, i, n._strict); null != a ? t.d = a : f(n).invalidWeekday = e; })), ve(['d', 'e', 'E'], (function (e, t, n, i) {t[i] = q(e);})); var je = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split( '_'), Ne = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), He = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), Fe = de, Re = de, ze = de; function Be () { function e (e, t) {return t.length - e.length;} for (var t, n, i, a, r = [], o = [], s = [], l = [], c = 0; c < 7; c++) t = h([2e3, 1]).day(c), n = pe(this.weekdaysMin(t, '')), i = pe( this.weekdaysShort(t, '')), a = pe(this.weekdays(t, '')), r.push( n), o.push(i), s.push(a), l.push(n), l.push(i), l.push(a); r.sort(e), o.sort(e), s.sort(e), l.sort( e), this._weekdaysRegex = new RegExp('^(' + l.join('|') + ')', 'i'), this._weekdaysShortRegex = this._weekdaysRegex, this._weekdaysMinRegex = this._weekdaysRegex, this._weekdaysStrictRegex = new RegExp( '^(' + s.join('|') + ')', 'i'), this._weekdaysShortStrictRegex = new RegExp( '^(' + o.join('|') + ')', 'i'), this._weekdaysMinStrictRegex = new RegExp( '^(' + r.join('|') + ')', 'i'); } function We () {return this.hours() % 12 || 12;} function Ve (e, t) { P(e, 0, 0, (function () { return this.localeData(). meridiem(this.hours(), this.minutes(), t); })); } function qe (e, t) {return t._meridiemParse;} P('H', ['HH', 2], 0, 'hour'), P('h', ['hh', 2], 0, We), P('k', ['kk', 2], 0, (function () {return this.hours() || 24;})), P('hmm', 0, 0, (function () {return '' + We.apply(this) + D(this.minutes(), 2);})), P( 'hmmss', 0, 0, (function () { return '' + We.apply(this) + D(this.minutes(), 2) + D(this.seconds(), 2); })), P('Hmm', 0, 0, (function () {return '' + this.hours() + D(this.minutes(), 2);})), P( 'Hmmss', 0, 0, (function () { return '' + this.hours() + D(this.minutes(), 2) + D(this.seconds(), 2); })), Ve('a', !0), Ve('A', !1), H('hour', 'h'), B('hour', 13), he('a', qe), he('A', qe), he('H', te), he('h', te), he('k', te), he('HH', te, K), he('hh', te, K), he('kk', te, K), he('hmm', ne), he('hmmss', ie), he('Hmm', ne), he('Hmmss', ie), ge(['H', 'HH'], 3), ge(['k', 'kk'], (function (e, t, n) { var i = q(e); t[3] = 24 === i ? 0 : i; })), ge(['a', 'A'], (function (e, t, n) { n._isPm = n._locale.isPM(e), n._meridiem = e; })), ge(['h', 'hh'], (function (e, t, n) {t[3] = q(e), f(n).bigHour = !0;})), ge('hmm', (function (e, t, n) { var i = e.length - 2; t[3] = q(e.substr(0, i)), t[4] = q(e.substr(i)), f(n).bigHour = !0; })), ge('hmmss', (function (e, t, n) { var i = e.length - 4, a = e.length - 2; t[3] = q(e.substr(0, i)), t[4] = q(e.substr(i, 2)), t[5] = q( e.substr(a)), f(n).bigHour = !0; })), ge('Hmm', (function (e, t, n) { var i = e.length - 2; t[3] = q(e.substr(0, i)), t[4] = q(e.substr(i)); })), ge('Hmmss', (function (e, t, n) { var i = e.length - 4, a = e.length - 2; t[3] = q(e.substr(0, i)), t[4] = q(e.substr(i, 2)), t[5] = q( e.substr(a)); })); var Ue, Xe = U('Hours', !0), $e = { 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: xe, monthsShort: _e, week: { dow: 0, doy: 6 }, weekdays: je, weekdaysMin: He, weekdaysShort: Ne, meridiemParse: /[ap]\.?m?\.?/i, }, Ge = {}, Ze = {}; function Ke (e) {return e ? e.toLowerCase().replace('_', '-') : e;} function Je (e) { var t; if (void 0 === Ge[e] && 'undefined' != typeof module && module && module.exports) try { t = Ue._abbr, require('./locale/' + e), Qe(t); } catch (t) {Ge[e] = null;} return Ge[e]; } function Qe (e, t) { var n; return e && ((n = s(t) ? tt(e) : et(e, t)) ? Ue = n : 'undefined' != typeof console && console.warn && console.warn('Locale ' + e + ' not found. Did you forget to load it?')), Ue._abbr; } function et (e, t) { if (null === t) return delete Ge[e], null; var n, i = $e; if (t.abbr = e, null != Ge[e]) L('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.'), i = Ge[e]._config; else if (null != t.parentLocale) if (null != Ge[t.parentLocale]) i = Ge[t.parentLocale]._config; else { if (null == (n = Je(t.parentLocale))) return Ze[t.parentLocale] || (Ze[t.parentLocale] = []), Ze[t.parentLocale].push( { name: e, config: t }), null; i = n._config; } return Ge[e] = new A(T(i, t)), Ze[e] && Ze[e].forEach((function (e) {et(e.name, e.config);})), Qe(e), Ge[e]; } function tt (e) { var t; if (e && e._locale && e._locale._abbr && (e = e._locale._abbr), !e) return Ue; if (!i(e)) { if (t = Je(e)) return t; e = [e]; } return function (e) { for (var t, n, i, a, r = 0; r < e.length;) { for (t = (a = Ke(e[r]).split('-')).length, n = (n = Ke( e[r + 1])) ? n.split('-') : null; 0 < t;) { if (i = Je(a.slice(0, t).join('-'))) return i; if (n && n.length >= t && function (e, t) { for (var n = Math.min(e.length, t.length), i = 0; i < n; i += 1) if (e[i] !== t[i]) return i; return n; }(a, n) >= t - 1) break; t--; } r++; } return Ue; }(e); } function nt (e) { var t, n = e._a; return n && -2 === f(e).overflow && (t = n[1] < 0 || 11 < n[1] ? 1 : n[2] < 1 || n[2] > be(n[0], n[1]) ? 2 : n[3] < 0 || 24 < n[3] || 24 === n[3] && (0 !== n[4] || 0 !== n[5] || 0 !== n[6]) ? 3 : n[4] < 0 || 59 < n[4] ? 4 : n[5] < 0 || 59 < n[5] ? 5 : n[6] < 0 || 999 < n[6] ? 6 : -1, f(e)._overflowDayOfYear && (t < 0 || 2 < t) && (t = 2), f(e)._overflowWeeks && -1 === t && (t = 7), f( e)._overflowWeekday && -1 === t && (t = 8), f(e).overflow = t), e; } var it = /^\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)?)?$/, at = /^\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)?)?$/, rt = /Z|[+-]\d\d(?::?\d\d)?/, ot = [ ['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]], st = [ ['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/]], lt = /^\/?Date\((-?\d+)/i, ct = /^(?:(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}))$/, ut = { UT: 0, GMT: 0, EDT: -240, EST: -300, CDT: -300, CST: -360, MDT: -360, MST: -420, PDT: -420, PST: -480, }; function dt (e) { var t, n, i, a, r, o, s = e._i, l = it.exec(s) || at.exec(s); if (l) { for (f(e).iso = !0, t = 0, n = ot.length; t < n; t++) if (ot[t][1].exec(l[1])) { a = ot[t][0], i = !1 !== ot[t][2]; break; } if (null == a) return void (e._isValid = !1); if (l[3]) { for (t = 0, n = st.length; t < n; t++) if (st[t][1].exec( l[3])) { r = (l[2] || ' ') + st[t][0]; break; } if (null == r) return void (e._isValid = !1); } if (!i && null != r) return void (e._isValid = !1); if (l[4]) { if (!rt.exec(l[4])) return void (e._isValid = !1); o = 'Z'; } e._f = a + (r || '') + (o || ''), mt(e); } else e._isValid = !1; } function ht (e) { var t, n, i, a, r = ct.exec(e._i.replace(/\([^)]*\)|[\n\t]/g, ' '). replace(/(\s\s+)/g, ' '). replace(/^\s\s*/, ''). replace(/\s\s*$/, '')); if (r) { if (i = t = function ( e, t, n, i, a, r) { var o = [ function (e) { var t = parseInt(e, 10); return t <= 49 ? 2e3 + t : t <= 999 ? 1900 + t : t; }(e), _e.indexOf(t), parseInt(n, 10), parseInt(i, 10), parseInt(a, 10)]; return r && o.push(parseInt(r, 10)), o; }(r[4], r[3], r[2], r[5], r[6], r[7]), a = e, (n = r[1]) && Ne.indexOf(n) !== new Date(i[0], i[1], i[2]).getDay() && (f(a).weekdayMismatch = !0, !void (a._isValid = !1))) return; e._a = t, e._tzm = function (e, t, n) { if (e) return ut[e]; if (t) return 0; var i = parseInt(n, 10), a = i % 100; return (i - a) / 100 * 60 + a; }(r[8], r[9], r[10]), e._d = Ce.apply(null, e._a), e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), f( e).rfc2822 = !0; } else e._isValid = !1; } function ft (e, t, n) {return null != e ? e : null != t ? t : n;} function pt (e) { var t, i, a, r, o, s, l, c = []; if (!e._d) { for (s = e, l = new Date(n.now()), a = s._useUTC ? [l.getUTCFullYear(), l.getUTCMonth(), l.getUTCDate()] : [l.getFullYear(), l.getMonth(), l.getDate()], e._w && null == e._a[2] && null == e._a[1] && function (e) { var t, n, i, a, r, o, s, l, c; null != (t = e._w).GG || null != t.W || null != t.E ? (r = 1, o = 4, n = ft(t.GG, e._a[0], Ye(yt(), 1, 4).year), i = ft(t.W, 1), ((a = ft(t.E, 1)) < 1 || 7 < a) && (l = !0)) : (r = e._locale._week.dow, o = e._locale._week.doy, c = Ye( yt(), r, o), n = ft(t.gg, e._a[0], c.year), i = ft(t.w, c.week), null != t.d ? ((a = t.d) < 0 || 6 < a) && (l = !0) : null != t.e ? (a = t.e + r, (t.e < 0 || 6 < t.e) && (l = !0)) : a = r), i < 1 || i > Pe(n, r, o) ? f( e)._overflowWeeks = !0 : null != l ? f( e)._overflowWeekday = !0 : (s = Oe(n, i, a, r, o), e._a[0] = s.year, e._dayOfYear = s.dayOfYear); }(e), null != e._dayOfYear && (o = ft(e._a[0], a[0]), (e._dayOfYear > Ae(o) || 0 === e._dayOfYear) && (f(e)._overflowDayOfYear = !0), i = Ce(o, 0, e._dayOfYear), e._a[1] = i.getUTCMonth(), e._a[2] = i.getUTCDate()), t = 0; t < 3 && null == e._a[t]; ++t) e._a[t] = c[t] = a[t]; for (; t < 7; t++) e._a[t] = c[t] = null == e._a[t] ? 2 === t ? 1 : 0 : e._a[t]; 24 === e._a[3] && 0 === e._a[4] && 0 === e._a[5] && 0 === e._a[6] && (e._nextDay = !0, e._a[3] = 0), e._d = (e._useUTC ? Ce : function (e, t, n, i, a, r, o) { var s; return e < 100 && 0 <= e ? (s = new Date(e + 400, t, n, i, a, r, o), isFinite( s.getFullYear()) && s.setFullYear(e)) : s = new Date(e, t, n, i, a, r, o), s; }).apply(null, c), r = e._useUTC ? e._d.getUTCDay() : e._d.getDay(), null != e._tzm && e._d.setUTCMinutes(e._d.getUTCMinutes() - e._tzm), e._nextDay && (e._a[3] = 24), e._w && void 0 !== e._w.d && e._w.d !== r && (f(e).weekdayMismatch = !0); } } function mt (e) { if (e._f !== n.ISO_8601) if (e._f !== n.RFC_2822) { e._a = [], f(e).empty = !0; for (var t, i, a, o, s, l, c, u = '' + e._i, d = u.length, h = 0, p = j(e._f, e._locale).match(C) || [], m = 0; m < p.length; m++) i = p[m], (t = (u.match( fe(i, e)) || [])[0]) && (0 < (a = u.substr(0, u.indexOf(t))).length && f(e).unusedInput.push(a), u = u.slice( u.indexOf(t) + t.length), h += t.length), Y[i] ? (t ? f( e).empty = !1 : f(e).unusedTokens.push(i), s = i, c = e, null != (l = t) && r(me, s) && me[s](l, c._a, c, s)) : e._strict && !t && f(e).unusedTokens.push(i); f(e).charsLeftOver = d - h, 0 < u.length && f(e).unusedInput.push(u), e._a[3] <= 12 && !0 === f(e).bigHour && 0 < e._a[3] && (f(e).bigHour = void 0), f( e).parsedDateParts = e._a.slice(0), f( e).meridiem = e._meridiem, e._a[3] = function ( e, t, n) { var i; return null == n ? t : null != e.meridiemHour ? e.meridiemHour(t, n) : (null != e.isPM && ((i = e.isPM(n)) && t < 12 && (t += 12), i || 12 !== t || (t = 0)), t); }(e._locale, e._a[3], e._meridiem), null !== (o = f(e).era) && (e._a[0] = e._locale.erasConvertYear(o, e._a[0])), pt(e), nt(e); } else ht(e); else dt(e); } function gt (e) { var t, r, o = e._i, h = e._f; return e._locale = e._locale || tt(e._l), null === o || void 0 === h && '' === o ? m({ nullInput: !0 }) : ('string' == typeof o && (e._i = o = e._locale.preparse(o)), x(o) ? new b(nt(o)) : (c(o) ? e._d = o : i(h) ? function (e) { var t, n, i, a, r, o, s = !1; if (0 === e._f.length) return f( e).invalidFormat = !0, e._d = new Date(NaN); for (a = 0; a < e._f.length; a++) r = 0, o = !1, t = y({}, e), null != e._useUTC && (t._useUTC = e._useUTC), t._f = e._f[a], mt(t), p(t) && (o = !0), r += f(t).charsLeftOver, r += 10 * f(t).unusedTokens.length, f(t).score = r, s ? r < i && (i = r, n = t) : (null == i || r < i || o) && (i = r, n = t, o && (s = !0)); d(e, n || t); }(e) : h ? mt(e) : s(r = (t = e)._i) ? t._d = new Date(n.now()) : c( r) ? t._d = new Date(r.valueOf()) : 'string' == typeof r ? function (e) { var t = lt.exec(e._i); null === t ? (dt(e), !1 === e._isValid && (delete e._isValid, ht(e), !1 === e._isValid && (delete e._isValid, e._strict ? e._isValid = !1 : n.createFromInputFallback(e)))) : e._d = new Date( +t[1]); }(t) : i(r) ? (t._a = u(r.slice(0), (function (e) {return parseInt(e, 10);})), pt(t)) : a(r) ? function (e) { var t, n; e._d || (n = void 0 === (t = R(e._i)).day ? t.date : t.day, e._a = u([ t.year, t.month, n, t.hour, t.minute, t.second, t.millisecond], (function (e) {return e && parseInt(e, 10);})), pt( e)); }(t) : l(r) ? t._d = new Date(r) : n.createFromInputFallback( t), p(e) || (e._d = null), e)); } function vt (e, t, n, r, s) { var l, c = {}; return !0 !== t && !1 !== t || (r = t, t = void 0), !0 !== n && !1 !== n || (r = n, n = void 0), (a(e) && o(e) || i(e) && 0 === e.length) && (e = void 0), c._isAMomentObject = !0, c._useUTC = c._isUTC = s, c._l = n, c._i = e, c._f = t, c._strict = r, (l = new b( nt(gt(c))))._nextDay && (l.add(1, 'd'), l._nextDay = void 0), l; } function yt (e, t, n, i) {return vt(e, t, n, i, !1);} n.createFromInputFallback = w( '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' : '')); })), n.ISO_8601 = function () {}, n.RFC_2822 = function () {}; var bt = w( 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', (function () { var e = yt.apply(null, arguments); return this.isValid() && e.isValid() ? e < this ? this : e : m(); })), xt = w( 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', (function () { var e = yt.apply(null, arguments); return this.isValid() && e.isValid() ? this < e ? this : e : m(); })); function _t (e, t) { var n, a; if (1 === t.length && i(t[0]) && (t = t[0]), !t.length) return yt(); for (n = t[0], a = 1; a < t.length; ++a) t[a].isValid() && !t[a][e](n) || (n = t[a]); return n; } var wt = [ 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; function kt (e) { var t = R(e), n = t.year || 0, i = t.quarter || 0, a = t.month || 0, o = t.week || t.isoWeek || 0, s = t.day || 0, l = t.hour || 0, c = t.minute || 0, u = t.second || 0, d = t.millisecond || 0; this._isValid = function (e) { var t, n, i = !1; for (t in e) if (r(e, t) && (-1 === ye.call(wt, t) || null != e[t] && isNaN(e[t]))) return !1; for (n = 0; n < wt.length; ++n) if (e[wt[n]]) { if (i) return !1; parseFloat(e[wt[n]]) !== q(e[wt[n]]) && (i = !0); } return !0; }(t), this._milliseconds = +d + 1e3 * u + 6e4 * c + 1e3 * l * 60 * 60, this._days = +s + 7 * o, this._months = +a + 3 * i + 12 * n, this._data = {}, this._locale = tt(), this._bubble(); } function Mt (e) {return e instanceof kt;} function Lt (e) {return e < 0 ? -1 * Math.round(-1 * e) : Math.round(e);} function St (e, t) { P(e, 0, 0, (function () { var e = this.utcOffset(), n = '+'; return e < 0 && (e = -e, n = '-'), n + D(~~(e / 60), 2) + t + D(~~e % 60, 2); })); } St('Z', ':'), St('ZZ', ''), he('Z', ue), he('ZZ', ue), ge(['Z', 'ZZ'], (function (e, t, n) {n._useUTC = !0, n._tzm = At(ue, e);})); var Tt = /([\+\-]|\d\d)/gi; function At (e, t) { var n, i, a = (t || '').match(e); return null === a ? null : 0 === (i = 60 * (n = ((a[a.length - 1] || []) + '').match(Tt) || ['-', 0, 0])[1] + q(n[2])) ? 0 : '+' === n[0] ? i : -i; } function Dt (e, t) { var i, a; return t._isUTC ? (i = t.clone(), a = (x(e) || c(e) ? e.valueOf() : yt( e).valueOf()) - i.valueOf(), i._d.setTime( i._d.valueOf() + a), n.updateOffset(i, !1), i) : yt(e).local(); } function Ct (e) {return -Math.round(e._d.getTimezoneOffset());} function Et () { return !!this.isValid() && this._isUTC && 0 === this._offset; } n.updateOffset = function () {}; var Ot = /^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/, Yt = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/; function Pt (e, t) { var n, i, a, o = e, s = null; return Mt(e) ? o = { ms: e._milliseconds, d: e._days, M: e._months } : l(e) || !isNaN(+e) ? (o = {}, t ? o[t] = +e : o.milliseconds = +e) : (s = Ot.exec(e)) ? (n = '-' === s[1] ? -1 : 1, o = { y: 0, d: q(s[2]) * n, h: q(s[3]) * n, m: q(s[4]) * n, s: q(s[5]) * n, ms: q(Lt(1e3 * s[6])) * n, }) : (s = Yt.exec(e)) ? (n = '-' === s[1] ? -1 : 1, o = { y: It(s[2], n), M: It(s[3], n), w: It(s[4], n), d: It(s[5], n), h: It(s[6], n), m: It(s[7], n), s: It(s[8], n), }) : null == o ? o = {} : 'object' == typeof o && ('from' in o || 'to' in o) && (a = function (e, t) { var n; return e.isValid() && t.isValid() ? (t = Dt(t, e), e.isBefore(t) ? n = jt(e, t) : ((n = jt(t, e)).milliseconds = -n.milliseconds, n.months = -n.months), n) : { milliseconds: 0, months: 0 }; }(yt(o.from), yt(o.to)), (o = {}).ms = a.milliseconds, o.M = a.months), i = new kt( o), Mt(e) && r(e, '_locale') && (i._locale = e._locale), Mt(e) && r(e, '_isValid') && (i._isValid = e._isValid), i; } function It (e, t) { var n = e && parseFloat(e.replace(',', '.')); return (isNaN(n) ? 0 : n) * t; } function jt (e, t) { var n = {}; return n.months = t.month() - e.month() + 12 * (t.year() - e.year()), e.clone().add(n.months, 'M').isAfter(t) && --n.months, n.milliseconds = t - e.clone().add(n.months, 'M'), n; } function Nt (e, t) { return function (n, i) { var a; return null === i || isNaN(+i) || (L(t, 'moment().' + t + '(period, number) is deprecated. Please use moment().' + t + '(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'), a = n, n = i, i = a), Ht( this, Pt(n, i), e), this; }; } function Ht (e, t, i, a) { var r = t._milliseconds, o = Lt(t._days), s = Lt(t._months); e.isValid() && (a = null == a || a, s && Le(e, X(e, 'Month') + s * i), o && $(e, 'Date', X(e, 'Date') + o * i), r && e._d.setTime(e._d.valueOf() + r * i), a && n.updateOffset(e, o || s)); } Pt.fn = kt.prototype, Pt.invalid = function () {return Pt(NaN);}; var Ft = Nt(1, 'add'), Rt = Nt(-1, 'subtract'); function zt (e) {return 'string' == typeof e || e instanceof String;} function Bt (e) { return x(e) || c(e) || zt(e) || l(e) || function (e) { var t = i(e), n = !1; return t && (n = 0 === e.filter((function (t) {return !l(t) && zt(e);})).length), t && n; }(e) || function (e) { var t, n = a(e) && !o(e), i = !1, s = [ 'years', 'year', 'y', 'months', 'month', 'M', 'days', 'day', 'd', 'dates', 'date', 'D', 'hours', 'hour', 'h', 'minutes', 'minute', 'm', 'seconds', 'second', 's', 'milliseconds', 'millisecond', 'ms']; for (t = 0; t < s.length; t += 1) i = i || r(e, s[t]); return n && i; }(e) || null == e; } function Wt (e, t) { if (e.date() < t.date()) return -Wt(t, e); var n = 12 * (t.year() - e.year()) + (t.month() - e.month()), i = e.clone().add(n, 'months'); return -(n + (t - i < 0 ? (t - i) / (i - e.clone().add(n - 1, 'months')) : (t - i) / (e.clone().add(1 + n, 'months') - i))) || 0; } function Vt (e) { var t; return void 0 === e ? this._locale._abbr : (null != (t = tt(e)) && (this._locale = t), this); } n.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ', n.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; var qt = w( '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 Ut () {return this._locale;} var Xt = 126227808e5; function $t (e, t) {return (e % t + t) % t;} function Gt (e, t, n) { return e < 100 && 0 <= e ? new Date(e + 400, t, n) - Xt : new Date(e, t, n).valueOf(); } function Zt (e, t, n) { return e < 100 && 0 <= e ? Date.UTC(e + 400, t, n) - Xt : Date.UTC(e, t, n); } function Kt (e, t) {return t.erasAbbrRegex(e);} function Jt () { for (var e = [], t = [], n = [], i = [], a = this.eras(), r = 0, o = a.length; r < o; ++r) t.push(pe(a[r].name)), e.push(pe(a[r].abbr)), n.push( pe(a[r].narrow)), i.push(pe(a[r].name)), i.push( pe(a[r].abbr)), i.push(pe(a[r].narrow)); this._erasRegex = new RegExp('^(' + i.join('|') + ')', 'i'), this._erasNameRegex = new RegExp('^(' + t.join('|') + ')', 'i'), this._erasAbbrRegex = new RegExp('^(' + e.join('|') + ')', 'i'), this._erasNarrowRegex = new RegExp('^(' + n.join('|') + ')', 'i'); } function Qt (e, t) {P(0, [e, e.length], 0, t);} function en (e, t, n, i, a) { var r; return null == e ? Ye(this, i, a).year : ((r = Pe(e, i, a)) < t && (t = r), function (e, t, n, i, a) { var r = Oe(e, t, n, i, a), o = Ce(r.year, 0, r.dayOfYear); return this.year(o.getUTCFullYear()), this.month( o.getUTCMonth()), this.date(o.getUTCDate()), this; }.call(this, e, t, n, i, a)); } P('N', 0, 0, 'eraAbbr'), P('NN', 0, 0, 'eraAbbr'), P('NNN', 0, 0, 'eraAbbr'), P('NNNN', 0, 0, 'eraName'), P('NNNNN', 0, 0, 'eraNarrow'), P('y', ['y', 1], 'yo', 'eraYear'), P('y', ['yy', 2], 0, 'eraYear'), P('y', ['yyy', 3], 0, 'eraYear'), P('y', ['yyyy', 4], 0, 'eraYear'), he('N', Kt), he('NN', Kt), he('NNN', Kt), he('NNNN', (function (e, t) {return t.erasNameRegex(e);})), he('NNNNN', (function (e, t) {return t.erasNarrowRegex(e);})), ge( ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], (function (e, t, n, i) { var a = n._locale.erasParse(e, i, n._strict); a ? f(n).era = a : f(n).invalidEra = e; })), he('y', se), he('yy', se), he('yyy', se), he('yyyy', se), he('yo', (function (e, t) {return t._eraYearOrdinalRegex || se;})), ge( ['y', 'yy', 'yyy', 'yyyy'], 0), ge(['yo'], (function (e, t, n, i) { var a; n._locale._eraYearOrdinalRegex && (a = e.match( n._locale._eraYearOrdinalRegex)), n._locale.eraYearOrdinalParse ? t[0] = n._locale.eraYearOrdinalParse(e, a) : t[0] = parseInt(e, 10); })), P(0, ['gg', 2], 0, (function () {return this.weekYear() % 100;})), P(0, ['GG', 2], 0, (function () {return this.isoWeekYear() % 100;})), Qt( 'gggg', 'weekYear'), Qt('ggggg', 'weekYear'), Qt('GGGG', 'isoWeekYear'), Qt('GGGGG', 'isoWeekYear'), H('weekYear', 'gg'), H( 'isoWeekYear', 'GG'), B('weekYear', 1), B('isoWeekYear', 1), he('G', le), he('g', le), he('GG', te, K), he('gg', te, K), he('GGGG', re, Q), he('gggg', re, Q), he('GGGGG', oe, ee), he('ggggg', oe, ee), ve( ['gggg', 'ggggg', 'GGGG', 'GGGGG'], (function (e, t, n, i) {t[i.substr(0, 2)] = q(e);})), ve(['gg', 'GG'], (function (e, t, i, a) {t[a] = n.parseTwoDigitYear(e);})), P('Q', 0, 'Qo', 'quarter'), H('quarter', 'Q'), B('quarter', 7), he('Q', Z), ge( 'Q', (function (e, t) {t[1] = 3 * (q(e) - 1);})), P('D', ['DD', 2], 'Do', 'date'), H('date', 'D'), B('date', 9), he('D', te), he('DD', te, K), he( 'Do', (function (e, t) { return e ? t._dayOfMonthOrdinalParse || t._ordinalParse : t._dayOfMonthOrdinalParseLenient; })), ge(['D', 'DD'], 2), ge('Do', (function (e, t) {t[2] = q(e.match(te)[0]);})); var tn = U('Date', !0); P('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'), H('dayOfYear', 'DDD'), B( 'dayOfYear', 4), he('DDD', ae), he('DDDD', J), ge(['DDD', 'DDDD'], (function (e, t, n) {n._dayOfYear = q(e);})), P('m', ['mm', 2], 0, 'minute'), H('minute', 'm'), B('minute', 14), he('m', te), he('mm', te, K), ge(['m', 'mm'], 4); var nn = U('Minutes', !1); P('s', ['ss', 2], 0, 'second'), H('second', 's'), B('second', 15), he('s', te), he('ss', te, K), ge(['s', 'ss'], 5); var an, rn, on = U('Seconds', !1); for (P('S', 0, 0, (function () {return ~~(this.millisecond() / 100);})), P( 0, ['SS', 2], 0, (function () {return ~~(this.millisecond() / 10);})), P(0, ['SSS', 3], 0, 'millisecond'), P(0, ['SSSS', 4], 0, (function () {return 10 * this.millisecond();})), P(0, ['SSSSS', 5], 0, (function () {return 100 * this.millisecond();})), P(0, ['SSSSSS', 6], 0, (function () {return 1e3 * this.millisecond();})), P(0, ['SSSSSSS', 7], 0, (function () {return 1e4 * this.millisecond();})), P(0, ['SSSSSSSS', 8], 0, (function () {return 1e5 * this.millisecond();})), P( 0, ['SSSSSSSSS', 9], 0, (function () {return 1e6 * this.millisecond();})), H('millisecond', 'ms'), B('millisecond', 16), he('S', ae, Z), he('SS', ae, K), he('SSS', ae, J), an = 'SSSS'; an.length <= 9; an += 'S') he(an, se); function sn (e, t) {t[6] = q(1e3 * ('0.' + e));} for (an = 'S'; an.length <= 9; an += 'S') ge(an, sn); rn = U('Milliseconds', !1), P('z', 0, 0, 'zoneAbbr'), P('zz', 0, 0, 'zoneName'); var ln = b.prototype; function cn (e) {return e;} ln.add = Ft, ln.calendar = function (e, t) { 1 === arguments.length && (arguments[0] ? Bt(arguments[0]) ? (e = arguments[0], t = void 0) : function (e) { for (var t = a(e) && !o(e), n = !1, i = [ 'sameDay', 'nextDay', 'lastDay', 'nextWeek', 'lastWeek', 'sameElse'], s = 0; s < i.length; s += 1) n = n || r(e, i[s]); return t && n; }(arguments[0]) && (t = arguments[0], e = void 0) : t = e = void 0); var i = e || yt(), s = Dt(i, this).startOf('day'), l = n.calendarFormat(this, s) || 'sameElse', c = t && (S(t[l]) ? t[l].call(this, i) : t[l]); return this.format(c || this.localeData().calendar(l, this, yt(i))); }, ln.clone = function () {return new b(this);}, ln.diff = function ( e, t, n) { var i, a, r; if (!this.isValid()) return NaN; if (!(i = Dt(e, this)).isValid()) return NaN; switch (a = 6e4 * (i.utcOffset() - this.utcOffset()), t = F(t)) { case'year': r = Wt(this, i) / 12; break; case'month': r = Wt(this, i); break; case'quarter': r = Wt(this, i) / 3; break; case'second': r = (this - i) / 1e3; break; case'minute': r = (this - i) / 6e4; break; case'hour': r = (this - i) / 36e5; break; case'day': r = (this - i - a) / 864e5; break; case'week': r = (this - i - a) / 6048e5; break; default: r = this - i; } return n ? r : V(r); }, ln.endOf = function (e) { var t, i; if (void 0 === (e = F(e)) || 'millisecond' === e || !this.isValid()) return this; switch (i = this._isUTC ? Zt : Gt, e) { case'year': t = i(this.year() + 1, 0, 1) - 1; break; case'quarter': t = i(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; break; case'month': t = i(this.year(), this.month() + 1, 1) - 1; break; case'week': t = i(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; break; case'isoWeek': t = i(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; break; case'day': case'date': t = i(this.year(), this.month(), this.date() + 1) - 1; break; case'hour': t = this._d.valueOf(), t += 36e5 - $t(t + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5) - 1; break; case'minute': t = this._d.valueOf(), t += 6e4 - $t(t, 6e4) - 1; break; case'second': t = this._d.valueOf(), t += 1e3 - $t(t, 1e3) - 1; } return this._d.setTime(t), n.updateOffset(this, !0), this; }, ln.format = function (e) { var t = I(this, e = e || (this.isUtc() ? n.defaultFormatUtc : n.defaultFormat)); return this.localeData().postformat(t); }, ln.from = function (e, t) { return this.isValid() && (x(e) && e.isValid() || yt(e).isValid()) ? Pt( { to: this, from: e }). locale(this.locale()). humanize(!t) : this.localeData().invalidDate(); }, ln.fromNow = function (e) { return this.from(yt(), e); }, ln.to = function (e, t) { return this.isValid() && (x(e) && e.isValid() || yt(e).isValid()) ? Pt( { from: this, to: e }). locale(this.locale()). humanize(!t) : this.localeData().invalidDate(); }, ln.toNow = function (e) { return this.to(yt(), e); }, ln.get = function (e) { return S(this[e = F(e)]) ? this[e]() : this; }, ln.invalidAt = function () { return f(this).overflow; }, ln.isAfter = function (e, t) { var n = x(e) ? e : yt(e); return !(!this.isValid() || !n.isValid()) && ('millisecond' === (t = F(t) || 'millisecond') ? this.valueOf() > n.valueOf() : n.valueOf() < this.clone().startOf(t).valueOf()); }, ln.isBefore = function (e, t) { var n = x(e) ? e : yt(e); return !(!this.isValid() || !n.isValid()) && ('millisecond' === (t = F(t) || 'millisecond') ? this.valueOf() < n.valueOf() : this.clone().endOf(t).valueOf() < n.valueOf()); }, ln.isBetween = function (e, t, n, i) { var a = x(e) ? e : yt(e), r = x(t) ? t : yt(t); return !!(this.isValid() && a.isValid() && r.isValid()) && ('(' === (i = i || '()')[0] ? this.isAfter(a, n) : !this.isBefore(a, n)) && (')' === i[1] ? this.isBefore(r, n) : !this.isAfter(r, n)); }, ln.isSame = function (e, t) { var n, i = x(e) ? e : yt(e); return !(!this.isValid() || !i.isValid()) && ('millisecond' === (t = F(t) || 'millisecond') ? this.valueOf() === i.valueOf() : (n = i.valueOf(), this.clone(). startOf(t). valueOf() <= n && n <= this.clone().endOf(t).valueOf())); }, ln.isSameOrAfter = function (e, t) { return this.isSame(e, t) || this.isAfter(e, t); }, ln.isSameOrBefore = function (e, t) { return this.isSame(e, t) || this.isBefore(e, t); }, ln.isValid = function () { return p(this); }, ln.lang = qt, ln.locale = Vt, ln.localeData = Ut, ln.max = xt, ln.min = bt, ln.parsingFlags = function () { return d({}, f(this)); }, ln.set = function (e, t) { if ('object' == typeof e) for (var n = function (e) { var t, n = []; for (t in e) r(e, t) && n.push({ unit: t, priority: z[t] }); return n.sort( (function (e, t) {return e.priority - t.priority;})), n; }(e = R(e)), i = 0; i < n.length; i++) this[n[i].unit]( e[n[i].unit]); else if (S(this[e = F(e)])) return this[e](t); return this; }, ln.startOf = function (e) { var t, i; if (void 0 === (e = F(e)) || 'millisecond' === e || !this.isValid()) return this; switch (i = this._isUTC ? Zt : Gt, e) { case'year': t = i(this.year(), 0, 1); break; case'quarter': t = i(this.year(), this.month() - this.month() % 3, 1); break; case'month': t = i(this.year(), this.month(), 1); break; case'week': t = i(this.year(), this.month(), this.date() - this.weekday()); break; case'isoWeek': t = i(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); break; case'day': case'date': t = i(this.year(), this.month(), this.date()); break; case'hour': t = this._d.valueOf(), t -= $t( t + (this._isUTC ? 0 : 6e4 * this.utcOffset()), 36e5); break; case'minute': t = this._d.valueOf(), t -= $t(t, 6e4); break; case'second': t = this._d.valueOf(), t -= $t(t, 1e3); } return this._d.setTime(t), n.updateOffset(this, !0), this; }, ln.subtract = Rt, ln.toArray = function () { var e = this; return [ e.year(), e.month(), e.date(), e.hour(), e.minute(), e.second(), e.millisecond()]; }, ln.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(), }; }, ln.toDate = function () { return new Date(this.valueOf()); }, ln.toISOString = function (e) { if (!this.isValid()) return null; var t = !0 !== e, n = t ? this.clone().utc() : this; return n.year() < 0 || 9999 < n.year() ? I(n, t ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ') : S(Date.prototype.toISOString) ? t ? this.toDate().toISOString() : new Date( this.valueOf() + 60 * this.utcOffset() * 1e3).toISOString(). replace('Z', I(n, 'Z')) : I(n, t ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'); }, ln.inspect = function () { if (!this.isValid()) return 'moment.invalid(/* ' + this._i + ' */)'; var e, t, n, i = 'moment', a = ''; return this.isLocal() || (i = 0 === this.utcOffset() ? 'moment.utc' : 'moment.parseZone', a = 'Z'), e = '[' + i + '("]', t = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY', n = a + '[")]', this.format(e + t + '-MM-DD[T]HH:mm:ss.SSS' + n); }, 'undefined' != typeof Symbol && null != Symbol.for && (ln[Symbol.for( 'nodejs.util.inspect.custom')] = function () { return 'Moment<' + this.format() + '>'; }), ln.toJSON = function () { return this.isValid() ? this.toISOString() : null; }, ln.toString = function () { return this.clone(). locale('en'). format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); }, ln.unix = function () { return Math.floor(this.valueOf() / 1e3); }, ln.valueOf = function () { return this._d.valueOf() - 6e4 * (this._offset || 0); }, ln.creationData = function () { return { input: this._i, format: this._f, locale: this._locale, isUTC: this._isUTC, strict: this._strict, }; }, ln.eraName = function () { for (var e, t = this.localeData(). eras(), n = 0, i = t.length; n < i; ++n) { if (e = this.clone(). startOf('day'). valueOf(), t[n].since <= e && e <= t[n].until) return t[n].name; if (t[n].until <= e && e <= t[n].since) return t[n].name; } return ''; }, ln.eraNarrow = function () { for (var e, t = this.localeData(). eras(), n = 0, i = t.length; n < i; ++n) { if (e = this.clone(). startOf('day'). valueOf(), t[n].since <= e && e <= t[n].until) return t[n].narrow; if (t[n].until <= e && e <= t[n].since) return t[n].narrow; } return ''; }, ln.eraAbbr = function () { for (var e, t = this.localeData(). eras(), n = 0, i = t.length; n < i; ++n) { if (e = this.clone(). startOf('day'). valueOf(), t[n].since <= e && e <= t[n].until) return t[n].abbr; if (t[n].until <= e && e <= t[n].since) return t[n].abbr; } return ''; }, ln.eraYear = function () { for (var e, t, i = this.localeData(). eras(), a = 0, r = i.length; a < r; ++a) if (e = i[a].since <= i[a].until ? 1 : -1, t = this.clone(). startOf('day'). valueOf(), i[a].since <= t && t <= i[a].until || i[a].until <= t && t <= i[a].since) return (this.year() - n(i[a].since).year()) * e + i[a].offset; return this.year(); }, ln.year = De, ln.isLeapYear = function () { return W(this.year()); }, ln.weekYear = function (e) { return en.call(this, e, this.week(), this.weekday(), this.localeData()._week.dow, this.localeData()._week.doy); }, ln.isoWeekYear = function (e) { return en.call(this, e, this.isoWeek(), this.isoWeekday(), 1, 4); }, ln.quarter = ln.quarters = function (e) { return null == e ? Math.ceil((this.month() + 1) / 3) : this.month( 3 * (e - 1) + this.month() % 3); }, ln.month = Se, ln.daysInMonth = function () { return be(this.year(), this.month()); }, ln.week = ln.weeks = function (e) { var t = this.localeData().week(this); return null == e ? t : this.add(7 * (e - t), 'd'); }, ln.isoWeek = ln.isoWeeks = function (e) { var t = Ye(this, 1, 4).week; return null == e ? t : this.add(7 * (e - t), 'd'); }, ln.weeksInYear = function () { var e = this.localeData()._week; return Pe(this.year(), e.dow, e.doy); }, ln.weeksInWeekYear = function () { var e = this.localeData()._week; return Pe(this.weekYear(), e.dow, e.doy); }, ln.isoWeeksInYear = function () { return Pe(this.year(), 1, 4); }, ln.isoWeeksInISOWeekYear = function () { return Pe(this.isoWeekYear(), 1, 4); }, ln.date = tn, ln.day = ln.days = function (e) { if (!this.isValid()) return null != e ? this : NaN; var t, n, i = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); return null != e ? (t = e, n = this.localeData(), e = 'string' != typeof t ? t : isNaN(t) ? 'number' == typeof (t = n.weekdaysParse(t)) ? t : null : parseInt(t, 10), this.add(e - i, 'd')) : i; }, ln.weekday = function (e) { if (!this.isValid()) return null != e ? this : NaN; var t = (this.day() + 7 - this.localeData()._week.dow) % 7; return null == e ? t : this.add(e - t, 'd'); }, ln.isoWeekday = function (e) { if (!this.isValid()) return null != e ? this : NaN; if (null == e) return this.day() || 7; var t, n, i = (t = e, n = this.localeData(), 'string' == typeof t ? n.weekdaysParse(t) % 7 || 7 : isNaN(t) ? null : t); return this.day(this.day() % 7 ? i : i - 7); }, ln.dayOfYear = function (e) { var t = Math.round( (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; return null == e ? t : this.add(e - t, 'd'); }, ln.hour = ln.hours = Xe, ln.minute = ln.minutes = nn, ln.second = ln.seconds = on, ln.millisecond = ln.milliseconds = rn, ln.utcOffset = function ( e, t, i) { var a, r = this._offset || 0; if (!this.isValid()) return null != e ? this : NaN; if (null == e) return this._isUTC ? r : Ct(this); if ('string' == typeof e) { if (null === (e = At(ue, e))) return this; } else Math.abs(e) < 16 && !i && (e *= 60); return !this._isUTC && t && (a = Ct(this)), this._offset = e, this._isUTC = !0, null != a && this.add(a, 'm'), r !== e && (!t || this._changeInProgress ? Ht(this, Pt(e - r, 'm'), 1, !1) : this._changeInProgress || (this._changeInProgress = !0, n.updateOffset(this, !0), this._changeInProgress = null)), this; }, ln.utc = function (e) { return this.utcOffset(0, e); }, ln.local = function (e) { return this._isUTC && (this.utcOffset(0, e), this._isUTC = !1, e && this.subtract(Ct(this), 'm')), this; }, ln.parseZone = function () { var e; return null != this._tzm ? this.utcOffset(this._tzm, !1, !0) : 'string' == typeof this._i && (null != (e = At(ce, this._i)) ? this.utcOffset(e) : this.utcOffset( 0, !0)), this; }, ln.hasAlignedHourOffset = function (e) { return !!this.isValid() && (e = e ? yt(e).utcOffset() : 0, (this.utcOffset() - e) % 60 == 0); }, ln.isDST = function () { return this.utcOffset() > this.clone().month(0).utcOffset() || this.utcOffset() > this.clone().month(5).utcOffset(); }, ln.isLocal = function () { return !!this.isValid() && !this._isUTC; }, ln.isUtcOffset = function () { return !!this.isValid() && this._isUTC; }, ln.isUtc = Et, ln.isUTC = Et, ln.zoneAbbr = function () { return this._isUTC ? 'UTC' : ''; }, ln.zoneName = function () { return this._isUTC ? 'Coordinated Universal Time' : ''; }, ln.dates = w('dates accessor is deprecated. Use date instead.', tn), ln.months = w('months accessor is deprecated. Use month instead', Se), ln.years = w('years accessor is deprecated. Use year instead', De), ln.zone = w( 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', (function (e, t) { return null != e ? ('string' != typeof e && (e = -e), this.utcOffset(e, t), this) : -this.utcOffset(); })), ln.isDSTShifted = w( 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', (function () { if (!s(this._isDSTShifted)) return this._isDSTShifted; var e, t = {}; return y(t, this), (t = gt(t))._a ? (e = (t._isUTC ? h : yt)( t._a), this._isDSTShifted = this.isValid() && 0 < function (e, t, n) { for (var i = Math.min(e.length, t.length), a = Math.abs( e.length - t.length), r = 0, o = 0; o < i; o++) q( e[o]) !== q(t[o]) && r++; return r + a; }(t._a, e.toArray())) : this._isDSTShifted = !1, this._isDSTShifted; })); var un = A.prototype; function dn (e, t, n, i) { var a = tt(), r = h().set(i, t); return a[n](r, e); } function hn (e, t, n) { if (l(e) && (t = e, e = void 0), e = e || '', null != t) return dn(e, t, n, 'month'); for (var i = [], a = 0; a < 12; a++) i[a] = dn(e, a, n, 'month'); return i; } function fn (e, t, n, i) { 'boolean' == typeof e ? l(t) && (n = t, t = void 0) : (t = e, e = !1, l( n = t) && (n = t, t = void 0)), t = t || ''; var a, r = tt(), o = e ? r._week.dow : 0, s = []; if (null != n) return dn(t, (n + o) % 7, i, 'day'); for (a = 0; a < 7; a++) s[a] = dn(t, (a + o) % 7, i, 'day'); return s; } un.calendar = function (e, t, n) { var i = this._calendar[e] || this._calendar.sameElse; return S(i) ? i.call(t, n) : i; }, un.longDateFormat = function (e) { var t = this._longDateFormat[e], n = this._longDateFormat[e.toUpperCase()]; return t || !n ? t : (this._longDateFormat[e] = n.match(C). map((function (e) { return 'MMMM' === e || 'MM' === e || 'DD' === e || 'dddd' === e ? e.slice(1) : e; })). join(''), this._longDateFormat[e]); }, un.invalidDate = function () {return this._invalidDate;}, un.ordinal = function (e) { return this._ordinal.replace('%d', e); }, un.preparse = cn, un.postformat = cn, un.relativeTime = function ( e, t, n, i) { var a = this._relativeTime[n]; return S(a) ? a(e, t, n, i) : a.replace(/%d/i, e); }, un.pastFuture = function (e, t) { var n = this._relativeTime[0 < e ? 'future' : 'past']; return S(n) ? n(t) : n.replace(/%s/i, t); }, un.set = function (e) { var t, n; for (n in e) r(e, n) && (S(t = e[n]) ? this[n] = t : this['_' + n] = t); this._config = e, this._dayOfMonthOrdinalParseLenient = new RegExp( (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + '|' + /\d{1,2}/.source); }, un.eras = function (e, t) { for (var i, a = this._eras || tt('en')._eras, r = 0, o = a.length; r < o; ++r) { switch (typeof a[r].since) { case'string': i = n(a[r].since).startOf('day'), a[r].since = i.valueOf(); } switch (typeof a[r].until) { case'undefined': a[r].until = 1 / 0; break; case'string': i = n(a[r].until). startOf('day'). valueOf(), a[r].until = i.valueOf(); } } return a; }, un.erasParse = function (e, t, n) { var i, a, r, o, s, l = this.eras(); for (e = e.toUpperCase(), i = 0, a = l.length; i < a; ++i) if (r = l[i].name.toUpperCase(), o = l[i].abbr.toUpperCase(), s = l[i].narrow.toUpperCase(), n) switch (t) { case'N': case'NN': case'NNN': if (o === e) return l[i]; break; case'NNNN': if (r === e) return l[i]; break; case'NNNNN': if (s === e) return l[i]; } else if (0 <= [r, o, s].indexOf(e)) return l[i]; }, un.erasConvertYear = function (e, t) { var i = e.since <= e.until ? 1 : -1; return void 0 === t ? n(e.since).year() : n(e.since).year() + (t - e.offset) * i; }, un.erasAbbrRegex = function (e) { return r(this, '_erasAbbrRegex') || Jt.call(this), e ? this._erasAbbrRegex : this._erasRegex; }, un.erasNameRegex = function (e) { return r(this, '_erasNameRegex') || Jt.call(this), e ? this._erasNameRegex : this._erasRegex; }, un.erasNarrowRegex = function (e) { return r(this, '_erasNarrowRegex') || Jt.call(this), e ? this._erasNarrowRegex : this._erasRegex; }, un.months = function (e, t) { return e ? i(this._months) ? this._months[e.month()] : this._months[(this._months.isFormat || we).test(t) ? 'format' : 'standalone'][e.month()] : i(this._months) ? this._months : this._months.standalone; }, un.monthsShort = function (e, t) { return e ? i(this._monthsShort) ? this._monthsShort[e.month()] : this._monthsShort[we.test(t) ? 'format' : 'standalone'][e.month()] : i(this._monthsShort) ? this._monthsShort : this._monthsShort.standalone; }, un.monthsParse = function (e, t, n) { var i, a, r; if (this._monthsParseExact) return function (e, t, n) { var i, a, r, o = e.toLocaleLowerCase(); if (!this._monthsParse) for (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = [], i = 0; i < 12; ++i) r = h( [2e3, i]), this._shortMonthsParse[i] = this.monthsShort(r, ''). toLocaleLowerCase(), this._longMonthsParse[i] = this.months(r, '').toLocaleLowerCase(); return n ? 'MMM' === t ? -1 !== (a = ye.call(this._shortMonthsParse, o)) ? a : null : -1 !== (a = ye.call(this._longMonthsParse, o)) ? a : null : 'MMM' === t ? -1 !== (a = ye.call(this._shortMonthsParse, o)) || -1 !== (a = ye.call(this._longMonthsParse, o)) ? a : null : -1 !== (a = ye.call(this._longMonthsParse, o)) || -1 !== (a = ye.call(this._shortMonthsParse, o)) ? a : null; }.call(this, e, t, n); for (this._monthsParse || (this._monthsParse = [], this._longMonthsParse = [], this._shortMonthsParse = []), i = 0; i < 12; i++) { if (a = h([2e3, i]), n && !this._longMonthsParse[i] && (this._longMonthsParse[i] = new RegExp( '^' + this.months(a, '').replace('.', '') + '$', 'i'), this._shortMonthsParse[i] = new RegExp( '^' + this.monthsShort(a, '').replace('.', '') + '$', 'i')), n || this._monthsParse[i] || (r = '^' + this.months(a, '') + '|^' + this.monthsShort(a, ''), this._monthsParse[i] = new RegExp( r.replace('.', ''), 'i')), n && 'MMMM' === t && this._longMonthsParse[i].test(e)) return i; if (n && 'MMM' === t && this._shortMonthsParse[i].test(e)) return i; if (!n && this._monthsParse[i].test(e)) return i; } }, un.monthsRegex = function (e) { return this._monthsParseExact ? (r(this, '_monthsRegex') || Te.call(this), e ? this._monthsStrictRegex : this._monthsRegex) : (r(this, '_monthsRegex') || (this._monthsRegex = Me), this._monthsStrictRegex && e ? this._monthsStrictRegex : this._monthsRegex); }, un.monthsShortRegex = function (e) { return this._monthsParseExact ? (r(this, '_monthsRegex') || Te.call(this), e ? this._monthsShortStrictRegex : this._monthsShortRegex) : (r(this, '_monthsShortRegex') || (this._monthsShortRegex = ke), this._monthsShortStrictRegex && e ? this._monthsShortStrictRegex : this._monthsShortRegex); }, un.week = function (e) { return Ye(e, this._week.dow, this._week.doy).week; }, un.firstDayOfYear = function () {return this._week.doy;}, un.firstDayOfWeek = function () {return this._week.dow;}, un.weekdays = function ( e, t) { var n = i(this._weekdays) ? this._weekdays : this._weekdays[e && !0 !== e && this._weekdays.isFormat.test(t) ? 'format' : 'standalone']; return !0 === e ? Ie(n, this._week.dow) : e ? n[e.day()] : n; }, un.weekdaysMin = function (e) { return !0 === e ? Ie(this._weekdaysMin, this._week.dow) : e ? this._weekdaysMin[e.day()] : this._weekdaysMin; }, un.weekdaysShort = function (e) { return !0 === e ? Ie(this._weekdaysShort, this._week.dow) : e ? this._weekdaysShort[e.day()] : this._weekdaysShort; }, un.weekdaysParse = function (e, t, n) { var i, a, r; if (this._weekdaysParseExact) return function (e, t, n) { var i, a, r, o = e.toLocaleLowerCase(); if (!this._weekdaysParse) for (this._weekdaysParse = [], this._shortWeekdaysParse = [], this._minWeekdaysParse = [], i = 0; i < 7; ++i) r = h([2e3, 1]). day(i), this._minWeekdaysParse[i] = this.weekdaysMin(r, ''). toLocaleLowerCase(), this._shortWeekdaysParse[i] = this.weekdaysShort( r, ''). toLocaleLowerCase(), this._weekdaysParse[i] = this.weekdays(r, '').toLocaleLowerCase(); return n ? 'dddd' === t ? -1 !== (a = ye.call(this._weekdaysParse, o)) ? a : null : 'ddd' === t ? -1 !== (a = ye.call(this._shortWeekdaysParse, o)) ? a : null : -1 !== (a = ye.call(this._minWeekdaysParse, o)) ? a : null : 'dddd' === t ? -1 !== (a = ye.call(this._weekdaysParse, o)) || -1 !== (a = ye.call(this._shortWeekdaysParse, o)) || -1 !== (a = ye.call(this._minWeekdaysParse, o)) ? a : null : 'ddd' === t ? -1 !== (a = ye.call(this._shortWeekdaysParse, o)) || -1 !== (a = ye.call(this._weekdaysParse, o)) || -1 !== (a = ye.call(this._minWeekdaysParse, o)) ? a : null : -1 !== (a = ye.call(this._minWeekdaysParse, o)) || -1 !== (a = ye.call(this._weekdaysParse, o)) || -1 !== (a = ye.call(this._shortWeekdaysParse, o)) ? a : null; }.call(this, e, t, n); for (this._weekdaysParse || (this._weekdaysParse = [], this._minWeekdaysParse = [], this._shortWeekdaysParse = [], this._fullWeekdaysParse = []), i = 0; i < 7; i++) { if (a = h([2e3, 1]).day(i), n && !this._fullWeekdaysParse[i] && (this._fullWeekdaysParse[i] = new RegExp( '^' + this.weekdays(a, '').replace('.', '\\.?') + '$', 'i'), this._shortWeekdaysParse[i] = new RegExp( '^' + this.weekdaysShort(a, '').replace('.', '\\.?') + '$', 'i'), this._minWeekdaysParse[i] = new RegExp( '^' + this.weekdaysMin(a, '').replace('.', '\\.?') + '$', 'i')), this._weekdaysParse[i] || (r = '^' + this.weekdays(a, '') + '|^' + this.weekdaysShort(a, '') + '|^' + this.weekdaysMin(a, ''), this._weekdaysParse[i] = new RegExp( r.replace('.', ''), 'i')), n && 'dddd' === t && this._fullWeekdaysParse[i].test(e)) return i; if (n && 'ddd' === t && this._shortWeekdaysParse[i].test(e)) return i; if (n && 'dd' === t && this._minWeekdaysParse[i].test(e)) return i; if (!n && this._weekdaysParse[i].test(e)) return i; } }, un.weekdaysRegex = function (e) { return this._weekdaysParseExact ? (r(this, '_weekdaysRegex') || Be.call(this), e ? this._weekdaysStrictRegex : this._weekdaysRegex) : (r(this, '_weekdaysRegex') || (this._weekdaysRegex = Fe), this._weekdaysStrictRegex && e ? this._weekdaysStrictRegex : this._weekdaysRegex); }, un.weekdaysShortRegex = function (e) { return this._weekdaysParseExact ? (r(this, '_weekdaysRegex') || Be.call(this), e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex) : (r(this, '_weekdaysShortRegex') || (this._weekdaysShortRegex = Re), this._weekdaysShortStrictRegex && e ? this._weekdaysShortStrictRegex : this._weekdaysShortRegex); }, un.weekdaysMinRegex = function (e) { return this._weekdaysParseExact ? (r(this, '_weekdaysRegex') || Be.call(this), e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex) : (r(this, '_weekdaysMinRegex') || (this._weekdaysMinRegex = ze), this._weekdaysMinStrictRegex && e ? this._weekdaysMinStrictRegex : this._weekdaysMinRegex); }, un.isPM = function (e) { return 'p' === (e + '').toLowerCase().charAt(0); }, un.meridiem = function (e, t, n) { return 11 < e ? n ? 'pm' : 'PM' : n ? 'am' : 'AM'; }, Qe('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 t = e % 10; return e + (1 === q(e % 100 / 10) ? 'th' : 1 == t ? 'st' : 2 == t ? 'nd' : 3 == t ? 'rd' : 'th'); }, }), n.lang = w('moment.lang is deprecated. Use moment.locale instead.', Qe), n.langData = w( 'moment.langData is deprecated. Use moment.localeData instead.', tt); var pn = Math.abs; function mn (e, t, n, i) { var a = Pt(t, n); return e._milliseconds += i * a._milliseconds, e._days += i * a._days, e._months += i * a._months, e._bubble(); } function gn (e) {return e < 0 ? Math.floor(e) : Math.ceil(e);} function vn (e) {return 4800 * e / 146097;} function yn (e) {return 146097 * e / 4800;} function bn (e) {return function () {return this.as(e);};} var xn = bn('ms'), _n = bn('s'), wn = bn('m'), kn = bn('h'), Mn = bn('d'), Ln = bn('w'), Sn = bn('M'), Tn = bn('Q'), An = bn('y'); function Dn (e) { return function () { return this.isValid() ? this._data[e] : NaN; }; } var Cn = Dn('milliseconds'), En = Dn('seconds'), On = Dn('minutes'), Yn = Dn('hours'), Pn = Dn('days'), In = Dn('months'), jn = Dn('years'), Nn = Math.round, Hn = { ss: 44, s: 45, m: 45, h: 22, d: 26, w: null, M: 11 }; var Fn = Math.abs; function Rn (e) {return (0 < e) - (e < 0) || +e;} function zn () { if (!this.isValid()) return this.localeData().invalidDate(); var e, t, n, i, a, r, o, s, l = Fn(this._milliseconds) / 1e3, c = Fn(this._days), u = Fn(this._months), d = this.asSeconds(); return d ? (e = V(l / 60), t = V(e / 60), l %= 60, e %= 60, n = V( u / 12), u %= 12, i = l ? l.toFixed(3).replace(/\.?0+$/, '') : '', a = d < 0 ? '-' : '', r = Rn(this._months) !== Rn(d) ? '-' : '', o = Rn(this._days) !== Rn(d) ? '-' : '', s = Rn( this._milliseconds) !== Rn(d) ? '-' : '', a + 'P' + (n ? r + n + 'Y' : '') + (u ? r + u + 'M' : '') + (c ? o + c + 'D' : '') + (t || e || l ? 'T' : '') + (t ? s + t + 'H' : '') + (e ? s + e + 'M' : '') + (l ? s + i + 'S' : '')) : 'P0D'; } var Bn = kt.prototype; function Wn (e) { return 0 === e ? 0 : 1 === e ? 1 : 2 === e ? 2 : 3 <= e % 100 && e % 100 <= 10 ? 3 : 11 <= e % 100 ? 4 : 5; } function Vn (e) { return function (t, n, i, a) { var r = Wn(t), o = qn[e][Wn(t)]; return 2 === r && (o = o[n ? 0 : 1]), o.replace(/%d/i, t); }; } Bn.isValid = function () {return this._isValid;}, Bn.abs = function () { var e = this._data; return this._milliseconds = pn(this._milliseconds), this._days = pn( this._days), this._months = pn(this._months), e.milliseconds = pn( e.milliseconds), e.seconds = pn(e.seconds), e.minutes = pn( e.minutes), e.hours = pn(e.hours), e.months = pn( e.months), e.years = pn(e.years), this; }, Bn.add = function (e, t) { return mn(this, e, t, 1); }, Bn.subtract = function (e, t) { return mn(this, e, t, -1); }, Bn.as = function (e) { if (!this.isValid()) return NaN; var t, n, i = this._milliseconds; if ('month' === (e = F(e)) || 'quarter' === e || 'year' === e) switch (t = this._days + i / 864e5, n = this._months + vn(t), e) { case'month': return n; case'quarter': return n / 3; case'year': return n / 12; } else switch (t = this._days + Math.round(yn(this._months)), e) { case'week': return t / 7 + i / 6048e5; case'day': return t + i / 864e5; case'hour': return 24 * t + i / 36e5; case'minute': return 1440 * t + i / 6e4; case'second': return 86400 * t + i / 1e3; case'millisecond': return Math.floor(864e5 * t) + i; default: throw new Error('Unknown unit ' + e); } }, Bn.asMilliseconds = xn, Bn.asSeconds = _n, Bn.asMinutes = wn, Bn.asHours = kn, Bn.asDays = Mn, Bn.asWeeks = Ln, Bn.asMonths = Sn, Bn.asQuarters = Tn, Bn.asYears = An, Bn.valueOf = function () { return this.isValid() ? this._milliseconds + 864e5 * this._days + this._months % 12 * 2592e6 + 31536e6 * q(this._months / 12) : NaN; }, Bn._bubble = function () { var e, t, n, i, a, r = this._milliseconds, o = this._days, s = this._months, l = this._data; return 0 <= r && 0 <= o && 0 <= s || r <= 0 && o <= 0 && s <= 0 || (r += 864e5 * gn(yn(s) + o), s = o = 0), l.milliseconds = r % 1e3, e = V(r / 1e3), l.seconds = e % 60, t = V( e / 60), l.minutes = t % 60, n = V(t / 60), l.hours = n % 24, o += V(n / 24), s += a = V(vn(o)), o -= gn(yn(a)), i = V( s / 12), s %= 12, l.days = o, l.months = s, l.years = i, this; }, Bn.clone = function () { return Pt(this); }, Bn.get = function (e) { return e = F(e), this.isValid() ? this[e + 's']() : NaN; }, Bn.milliseconds = Cn, Bn.seconds = En, Bn.minutes = On, Bn.hours = Yn, Bn.days = Pn, Bn.weeks = function () { return V(this.days() / 7); }, Bn.months = In, Bn.years = jn, Bn.humanize = function ( e, t) { if (!this.isValid()) return this.localeData(). invalidDate(); var n, i, a = !1, r = Hn; return 'object' == typeof e && (t = e, e = !1), 'boolean' == typeof e && (a = e), 'object' == typeof t && (r = Object.assign({}, Hn, t), null != t.s && null == t.ss && (r.ss = t.s - 1)), i = function (e, t, n, i) { var a = Pt(e).abs(), r = Nn(a.as('s')), o = Nn(a.as('m')), s = Nn(a.as('h')), l = Nn(a.as('d')), c = Nn(a.as('M')), u = Nn(a.as('w')), d = Nn(a.as('y')), h = (r <= n.ss ? ['s', r] : r < n.s && ['ss', r]) || o <= 1 && ['m'] || o < n.m && ['mm', o] || s <= 1 && ['h'] || s < n.h && ['hh', s] || l <= 1 && ['d'] || l < n.d && ['dd', l]; return null != n.w && (h = h || u <= 1 && ['w'] || u < n.w && ['ww', u]), (h = h || c <= 1 && ['M'] || c < n.M && ['MM', c] || d <= 1 && ['y'] || ['yy', d])[2] = t, h[3] = 0 < +e, h[4] = i, function ( e, t, n, i, a) { return a.relativeTime(t || 1, !!n, e, i); }.apply(null, h); }(this, !a, r, n = this.localeData()), a && (i = n.pastFuture(+this, i)), n.postformat(i); }, Bn.toISOString = zn, Bn.toString = zn, Bn.toJSON = zn, Bn.locale = Vt, Bn.localeData = Ut, Bn.toIsoString = w( 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', zn), Bn.lang = qt, P('X', 0, 0, 'unix'), P('x', 0, 0, 'valueOf'), he( 'x', le), he('X', /[+-]?\d+(\.\d{1,3})?/), ge('X', (function (e, t, n) {n._d = new Date(1e3 * parseFloat(e));})), ge('x', (function (e, t, n) { n._d = new Date(q(e)); })), n.version = '2.29.1', e = yt, n.fn = ln, n.min = function () { return _t('isBefore', [].slice.call(arguments, 0)); }, n.max = function () { return _t('isAfter', [].slice.call(arguments, 0)); }, n.now = function () { return Date.now ? Date.now() : +new Date; }, n.utc = h, n.unix = function (e) { return yt(1e3 * e); }, n.months = function (e, t) { return hn(e, t, 'months'); }, n.isDate = c, n.locale = Qe, n.invalid = m, n.duration = Pt, n.isMoment = x, n.weekdays = function ( e, t, n) { return fn(e, t, n, 'weekdays'); }, n.parseZone = function () { return yt.apply(null, arguments). parseZone(); }, n.localeData = tt, n.isDuration = Mt, n.monthsShort = function ( e, t) { return hn(e, t, 'monthsShort'); }, n.weekdaysMin = function (e, t, n) { return fn(e, t, n, 'weekdaysMin'); }, n.defineLocale = et, n.updateLocale = function (e, t) { var n, i, a; return null != t ? (a = $e, null != Ge[e] && null != Ge[e].parentLocale ? Ge[e].set(T(Ge[e]._config, t)) : (null != (i = Je(e)) && (a = i._config), t = T(a, t), null == i && (t.abbr = e), (n = new A(t)).parentLocale = Ge[e], Ge[e] = n), Qe( e)) : null != Ge[e] && (null != Ge[e].parentLocale ? (Ge[e] = Ge[e].parentLocale, e === Qe() && Qe(e)) : null != Ge[e] && delete Ge[e]), Ge[e]; }, n.locales = function () {return k(Ge);}, n.weekdaysShort = function ( e, t, n) { return fn(e, t, n, 'weekdaysShort'); }, n.normalizeUnits = F, n.relativeTimeRounding = function (e) { return void 0 === e ? Nn : 'function' == typeof e && (Nn = e, !0); }, n.relativeTimeThreshold = function (e, t) { return void 0 !== Hn[e] && (void 0 === t ? Hn[e] : (Hn[e] = t, 's' === e && (Hn.ss = t - 1), !0)); }, n.calendarFormat = function (e, t) { var n = e.diff(t, 'days', !0); return n < -6 ? 'sameElse' : n < -1 ? 'lastWeek' : n < 0 ? 'lastDay' : n < 1 ? 'sameDay' : n < 2 ? 'nextDay' : n < 7 ? 'nextWeek' : 'sameElse'; }, n.prototype = ln, n.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', }, n.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, t, n) { return e < 12 ? n ? 'vm' : 'VM' : n ? '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ôre 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 }, }); var qn = { s: [ 'أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], m: [ 'أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], h: [ 'أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], d: [ 'أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], M: [ 'أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], y: [ 'أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'], }, Un = [ 'جانفي', 'فيفري', 'مارس', 'أفريل', 'ماي', 'جوان', 'جويلية', 'أوت', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']; function Xn (e) { return 0 === e ? 0 : 1 === e ? 1 : 2 === e ? 2 : 3 <= e % 100 && e % 100 <= 10 ? 3 : 11 <= e % 100 ? 4 : 5; } function $n (e) { return function (t, n, i, a) { var r = Xn(t), o = Zn[e][Xn(t)]; return 2 === r && (o = o[n ? 0 : 1]), o.replace(/%d/i, t); }; } n.defineLocale('ar-dz', { months: Un, monthsShort: Un, weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_'), weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), weekdaysParseExact: !0, 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: /\u0635|\u0645/, isPM: function (e) {return 'م' === e;}, meridiem: function (e, t, n) {return e < 12 ? 'ص' : 'م';}, calendar: { sameDay: '[اليوم عند الساعة] LT', nextDay: '[غدًا عند الساعة] LT', nextWeek: 'dddd [عند الساعة] LT', lastDay: '[أمس عند الساعة] LT', lastWeek: 'dddd [عند الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'بعد %s', past: 'منذ %s', s: Vn('s'), ss: Vn('s'), m: Vn('m'), mm: Vn('m'), h: Vn('h'), hh: Vn('h'), d: Vn('d'), dd: Vn('d'), M: Vn('M'), MM: Vn('M'), y: Vn('y'), yy: Vn('y'), }, postformat: function (e) {return e.replace(/,/g, '،');}, week: { dow: 0, doy: 4 }, }), n.defineLocale('ar-kw', { months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( '_'), monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( '_'), weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_'), weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.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: '[اليوم على الساعة] LT', nextDay: '[غدا على الساعة] LT', nextWeek: 'dddd [على الساعة] LT', lastDay: '[أمس على الساعة] LT', lastWeek: 'dddd [على الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'في %s', past: 'منذ %s', s: 'ثوان', ss: '%d ثانية', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات', }, week: { dow: 0, doy: 12 }, }); var Gn = { 1: '1', 2: '2', 3: '3', 4: '4', 5: '5', 6: '6', 7: '7', 8: '8', 9: '9', 0: '0', }, Zn = { s: [ 'أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], m: [ 'أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], h: [ 'أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], d: [ 'أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], M: [ 'أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], y: [ 'أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'], }, Kn = [ 'يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']; n.defineLocale('ar-ly', { months: Kn, monthsShort: Kn, weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_'), weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), weekdaysParseExact: !0, 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: /\u0635|\u0645/, isPM: function (e) {return 'م' === e;}, meridiem: function (e, t, n) {return e < 12 ? 'ص' : 'م';}, calendar: { sameDay: '[اليوم عند الساعة] LT', nextDay: '[غدًا عند الساعة] LT', nextWeek: 'dddd [عند الساعة] LT', lastDay: '[أمس عند الساعة] LT', lastWeek: 'dddd [عند الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'بعد %s', past: 'منذ %s', s: $n('s'), ss: $n('s'), m: $n('m'), mm: $n('m'), h: $n('h'), hh: $n('h'), d: $n('d'), dd: $n('d'), M: $n('M'), MM: $n('M'), y: $n('y'), yy: $n('y'), }, preparse: function (e) {return e.replace(/\u060c/g, ',');}, postformat: function (e) { return e.replace(/\d/g, (function (e) {return Gn[e];})). replace(/,/g, '،'); }, week: { dow: 6, doy: 12 }, }), n.defineLocale('ar-ma', { months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( '_'), monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split( '_'), weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_'), weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.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: '[اليوم على الساعة] LT', nextDay: '[غدا على الساعة] LT', nextWeek: 'dddd [على الساعة] LT', lastDay: '[أمس على الساعة] LT', lastWeek: 'dddd [على الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'في %s', past: 'منذ %s', s: 'ثوان', ss: '%d ثانية', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات', }, week: { dow: 1, doy: 4 }, }); var Jn = { 1: '١', 2: '٢', 3: '٣', 4: '٤', 5: '٥', 6: '٦', 7: '٧', 8: '٨', 9: '٩', 0: '٠', }, Qn = { '١': '1', '٢': '2', '٣': '3', '٤': '4', '٥': '5', '٦': '6', '٧': '7', '٨': '8', '٩': '9', '٠': '0', }; function ei (e) { return 0 === e ? 0 : 1 === e ? 1 : 2 === e ? 2 : 3 <= e % 100 && e % 100 <= 10 ? 3 : 11 <= e % 100 ? 4 : 5; } function ti (e) { return function (t, n, i, a) { var r = ei(t), o = ai[e][ei(t)]; return 2 === r && (o = o[n ? 0 : 1]), o.replace(/%d/i, t); }; } n.defineLocale('ar-sa', { months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( '_'), monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( '_'), weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_'), weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.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 'م' === e;}, meridiem: function (e, t, n) {return e < 12 ? 'ص' : 'م';}, calendar: { sameDay: '[اليوم على الساعة] LT', nextDay: '[غدا على الساعة] LT', nextWeek: 'dddd [على الساعة] LT', lastDay: '[أمس على الساعة] LT', lastWeek: 'dddd [على الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'في %s', past: 'منذ %s', s: 'ثوان', ss: '%d ثانية', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات', }, preparse: function (e) { return e.replace( /[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g, (function (e) {return Qn[e];})).replace(/\u060c/g, ','); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return Jn[e];})). replace(/,/g, '،'); }, week: { dow: 0, doy: 6 }, }), n.defineLocale('ar-tn', { months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( '_'), monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split( '_'), weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_'), weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.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: '[اليوم على الساعة] LT', nextDay: '[غدا على الساعة] LT', nextWeek: 'dddd [على الساعة] LT', lastDay: '[أمس على الساعة] LT', lastWeek: 'dddd [على الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'في %s', past: 'منذ %s', s: 'ثوان', ss: '%d ثانية', m: 'دقيقة', mm: '%d دقائق', h: 'ساعة', hh: '%d ساعات', d: 'يوم', dd: '%d أيام', M: 'شهر', MM: '%d أشهر', y: 'سنة', yy: '%d سنوات', }, week: { dow: 1, doy: 4 }, }); var ni = { 1: '١', 2: '٢', 3: '٣', 4: '٤', 5: '٥', 6: '٦', 7: '٧', 8: '٨', 9: '٩', 0: '٠', }, ii = { '١': '1', '٢': '2', '٣': '3', '٤': '4', '٥': '5', '٦': '6', '٧': '7', '٨': '8', '٩': '9', '٠': '0', }, ai = { s: [ 'أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'], m: [ 'أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'], h: [ 'أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'], d: [ 'أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'], M: [ 'أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'], y: [ 'أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام'], }, ri = [ 'يناير', 'فبراير', 'مارس', 'أبريل', 'مايو', 'يونيو', 'يوليو', 'أغسطس', 'سبتمبر', 'أكتوبر', 'نوفمبر', 'ديسمبر']; n.defineLocale('ar', { months: ri, monthsShort: ri, weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split( '_'), weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'), weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'), weekdaysParseExact: !0, 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: /\u0635|\u0645/, isPM: function (e) {return 'م' === e;}, meridiem: function (e, t, n) {return e < 12 ? 'ص' : 'م';}, calendar: { sameDay: '[اليوم عند الساعة] LT', nextDay: '[غدًا عند الساعة] LT', nextWeek: 'dddd [عند الساعة] LT', lastDay: '[أمس عند الساعة] LT', lastWeek: 'dddd [عند الساعة] LT', sameElse: 'L', }, relativeTime: { future: 'بعد %s', past: 'منذ %s', s: ti('s'), ss: ti('s'), m: ti('m'), mm: ti('m'), h: ti('h'), hh: ti('h'), d: ti('d'), dd: ti('d'), M: ti('M'), MM: ti('M'), y: ti('y'), yy: ti('y'), }, preparse: function (e) { return e.replace( /[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g, (function (e) {return ii[e];})).replace(/\u060c/g, ','); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return ni[e];})). replace(/,/g, '،'); }, week: { dow: 6, doy: 12 }, }); var oi = { 1: '-inci', 5: '-inci', 8: '-inci', 70: '-inci', 80: '-inci', 2: '-nci', 7: '-nci', 20: '-nci', 50: '-nci', 3: '-üncü', 4: '-üncü', 100: '-üncü', 6: '-ncı', 9: '-uncu', 10: '-uncu', 30: '-uncu', 60: '-ıncı', 90: '-ıncı', }; function si (e, t, n) { var i, a; return 'm' === n ? t ? 'хвіліна' : 'хвіліну' : 'h' === n ? t ? 'гадзіна' : 'гадзіну' : e + ' ' + (i = +e, a = { ss: t ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', mm: t ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін', hh: t ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін', dd: 'дзень_дні_дзён', MM: 'месяц_месяцы_месяцаў', yy: 'год_гады_гадоў', }[n].split('_'), i % 10 == 1 && i % 100 != 11 ? a[0] : 2 <= i % 10 && i % 10 <= 4 && (i % 100 < 10 || 20 <= i % 100) ? a[1] : a[2]); } n.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əsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split( '_'), weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'), weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.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ün saat] LT', nextDay: '[sabah saat] LT', nextWeek: '[gələn həftə] dddd [saat] LT', lastDay: '[dünən] LT', lastWeek: '[keçən həftə] dddd [saat] LT', sameElse: 'L', }, relativeTime: { future: '%s sonra', past: '%s əvvəl', s: 'bir neçə saniyə', ss: '%d saniyə', m: 'bir dəqiqə', mm: '%d dəqiqə', h: 'bir saat', hh: '%d saat', d: 'bir gün', dd: '%d gün', 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, t, n) { return e < 4 ? 'gecə' : e < 12 ? 'səhər' : e < 17 ? 'gündüz' : 'axşam'; }, dayOfMonthOrdinalParse: /\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/, ordinal: function (e) { if (0 === e) return e + '-ıncı'; var t = e % 10; return e + (oi[t] || oi[e % 100 - t] || oi[100 <= e ? 100 : null]); }, week: { dow: 1, doy: 7 }, }), n.defineLocale('be', { months: { format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split( '_'), standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split( '_'), }, monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split( '_'), weekdays: { format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split( '_'), standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split( '_'), isFormat: /\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/, }, weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'), weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.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: '[Сёння ў] LT', nextDay: '[Заўтра ў] LT', lastDay: '[Учора ў] LT', nextWeek: function () {return '[У] dddd [ў] LT';}, lastWeek: function () { switch (this.day()) { case 0: case 3: case 5: case 6: return '[У мінулую] dddd [ў] LT'; case 1: case 2: case 4: return '[У мінулы] dddd [ў] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'праз %s', past: '%s таму', s: 'некалькі секунд', m: si, mm: si, h: si, hh: si, d: 'дзень', dd: si, M: 'месяц', MM: si, y: 'год', yy: si, }, 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, t, n) { return e < 4 ? 'ночы' : e < 12 ? 'раніцы' : e < 17 ? 'дня' : 'вечара'; }, dayOfMonthOrdinalParse: /\d{1,2}-(\u0456|\u044b|\u0433\u0430)/, ordinal: function (e, t) { switch (t) { case'M': case'd': case'DDD': case'w': case'W': return e % 10 != 2 && e % 10 != 3 || e % 100 == 12 || e % 100 == 13 ? e + '-ы' : e + '-і'; case'D': return e + '-га'; default: return e; } }, week: { dow: 1, doy: 7 }, }), n.defineLocale('bg', { months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split( '_'), monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split( '_'), weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split( '_'), weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'), weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.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: '[Днес в] LT', nextDay: '[Утре в] LT', nextWeek: 'dddd [в] LT', lastDay: '[Вчера в] LT', lastWeek: function () { switch (this.day()) { case 0: case 3: case 6: return '[Миналата] dddd [в] LT'; case 1: case 2: case 4: case 5: return '[Миналия] dddd [в] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'след %s', past: 'преди %s', s: 'няколко секунди', ss: '%d секунди', m: 'минута', mm: '%d минути', h: 'час', hh: '%d часа', d: 'ден', dd: '%d дена', w: 'седмица', ww: '%d седмици', M: 'месец', MM: '%d месеца', y: 'година', yy: '%d години', }, dayOfMonthOrdinalParse: /\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/, ordinal: function (e) { var t = e % 10, n = e % 100; return 0 === e ? e + '-ев' : 0 == n ? e + '-ен' : 10 < n && n < 20 ? e + '-ти' : 1 == t ? e + '-ви' : 2 == t ? e + '-ри' : 7 == t || 8 == t ? e + '-ми' : e + '-ти'; }, week: { dow: 1, doy: 7 }, }), n.defineLocale('bm', { months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split( '_'), monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split( '_'), weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), weekdaysShort: 'Kar_Ntɛ_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ɛrɛ] HH:mm', LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm', }, calendar: { sameDay: '[Bi lɛrɛ] LT', nextDay: '[Sini lɛrɛ] LT', nextWeek: 'dddd [don lɛrɛ] LT', lastDay: '[Kunu lɛrɛ] LT', lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT', sameElse: 'L', }, relativeTime: { future: '%s kɔnɔ', past: 'a bɛ %s bɔ', s: 'sanga dama dama', ss: 'sekondi %d', m: 'miniti kelen', mm: 'miniti %d', h: 'lɛrɛ kelen', hh: 'lɛrɛ %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 li = { 1: '১', 2: '২', 3: '৩', 4: '৪', 5: '৫', 6: '৬', 7: '৭', 8: '৮', 9: '৯', 0: '০', }, ci = { '১': '1', '২': '2', '৩': '3', '৪': '4', '৫': '5', '৬': '6', '৭': '7', '৮': '8', '৯': '9', '০': '0', }; n.defineLocale('bn-bd', { months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( '_'), monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( '_'), weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( '_'), weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.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: '[আজ] LT', nextDay: '[আগামীকাল] LT', nextWeek: 'dddd, LT', lastDay: '[গতকাল] LT', lastWeek: '[গত] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s পরে', past: '%s আগে', s: 'কয়েক সেকেন্ড', ss: '%d সেকেন্ড', m: 'এক মিনিট', mm: '%d মিনিট', h: 'এক ঘন্টা', hh: '%d ঘন্টা', d: 'এক দিন', dd: '%d দিন', M: 'এক মাস', MM: '%d মাস', y: 'এক বছর', yy: '%d বছর', }, preparse: function (e) { return e.replace( /[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g, (function (e) {return ci[e];})); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return li[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, t) { return 12 === e && (e = 0), 'রাত' === t ? e < 4 ? e : e + 12 : 'ভোর' === t || 'সকাল' === t ? e : 'দুপুর' === t ? 3 <= e ? e : e + 12 : 'বিকাল' === t || 'সন্ধ্যা' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { return e < 4 ? 'রাত' : e < 6 ? 'ভোর' : e < 12 ? 'সকাল' : e < 15 ? 'দুপুর' : e < 18 ? 'বিকাল' : e < 20 ? 'সন্ধ্যা' : 'রাত'; }, week: { dow: 0, doy: 6 }, }); var ui = { 1: '১', 2: '২', 3: '৩', 4: '৪', 5: '৫', 6: '৬', 7: '৭', 8: '৮', 9: '৯', 0: '০', }, di = { '১': '1', '২': '2', '৩': '3', '৪': '4', '৫': '5', '৬': '6', '৭': '7', '৮': '8', '৯': '9', '০': '0', }; n.defineLocale('bn', { months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split( '_'), monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split( '_'), weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split( '_'), weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'), weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.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: '[আজ] LT', nextDay: '[আগামীকাল] LT', nextWeek: 'dddd, LT', lastDay: '[গতকাল] LT', lastWeek: '[গত] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s পরে', past: '%s আগে', s: 'কয়েক সেকেন্ড', ss: '%d সেকেন্ড', m: 'এক মিনিট', mm: '%d মিনিট', h: 'এক ঘন্টা', hh: '%d ঘন্টা', d: 'এক দিন', dd: '%d দিন', M: 'এক মাস', MM: '%d মাস', y: 'এক বছর', yy: '%d বছর', }, preparse: function (e) { return e.replace( /[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g, (function (e) {return di[e];})); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return ui[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, t) { return 12 === e && (e = 0), 'রাত' === t && 4 <= e || 'দুপুর' === t && e < 5 || 'বিকাল' === t ? e + 12 : e; }, meridiem: function (e, t, n) { return e < 4 ? 'রাত' : e < 10 ? 'সকাল' : e < 17 ? 'দুপুর' : e < 20 ? 'বিকাল' : 'রাত'; }, week: { dow: 0, doy: 6 }, }); var hi = { 1: '༡', 2: '༢', 3: '༣', 4: '༤', 5: '༥', 6: '༦', 7: '༧', 8: '༨', 9: '༩', 0: '༠', }, fi = { '༡': '1', '༢': '2', '༣': '3', '༤': '4', '༥': '5', '༦': '6', '༧': '7', '༨': '8', '༩': '9', '༠': '0', }; function pi (e, t, n) { var i; return e + ' ' + (i = { mm: 'munutenn', MM: 'miz', dd: 'devezh' }[n], 2 !== e ? i : function (e) { var t = { m: 'v', b: 'v', d: 'z' }; return void 0 !== t[e.charAt(0)] ? t[e.charAt(0)] + e.substring(1) : e; }(i)); } n.defineLocale('bo', { months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split( '_'), monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split( '_'), monthsShortRegex: /^(\u0f5f\u0fb3\u0f0b\d{1,2})/, monthsParseExact: !0, weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split( '_'), weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split( '_'), weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.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: '[དི་རིང] LT', nextDay: '[སང་ཉིན] LT', nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT', lastDay: '[ཁ་སང] LT', lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s ལ་', past: '%s སྔན་ལ', s: 'ལམ་སང', ss: '%d སྐར་ཆ།', m: 'སྐར་མ་གཅིག', mm: '%d སྐར་མ', h: 'ཆུ་ཚོད་གཅིག', hh: '%d ཆུ་ཚོད', d: 'ཉིན་གཅིག', dd: '%d ཉིན་', M: 'ཟླ་བ་གཅིག', MM: '%d ཟླ་བ', y: 'ལོ་གཅིག', yy: '%d ལོ', }, preparse: function (e) { return e.replace( /[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g, (function (e) {return fi[e];})); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return hi[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, t) { return 12 === e && (e = 0), 'མཚན་མོ' === t && 4 <= e || 'ཉིན་གུང' === t && e < 5 || 'དགོང་དག' === t ? e + 12 : e; }, meridiem: function (e, t, n) { return e < 4 ? 'མཚན་མོ' : e < 10 ? 'ཞོགས་ཀས' : e < 17 ? 'ཉིན་གུང' : e < 20 ? 'དགོང་དག' : 'མཚན་མོ'; }, week: { dow: 0, doy: 6 }, }); var mi = [ /^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], gi = /^(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, vi = [/^Su/i, /^Lu/i, /^Me([^r]|$)/i, /^Mer/i, /^Ya/i, /^Gw/i, /^Sa/i]; function yi (e, t, n) { var i = e + ' '; switch (n) { case'ss': return i + (1 === e ? 'sekunda' : 2 === e || 3 === e || 4 === e ? 'sekunde' : 'sekundi'); case'm': return t ? 'jedna minuta' : 'jedne minute'; case'mm': return i + (1 === e || 2 !== e && 3 !== e && 4 !== e ? 'minuta' : 'minute'); case'h': return t ? 'jedan sat' : 'jednog sata'; case'hh': return i + (1 === e ? 'sat' : 2 === e || 3 === e || 4 === e ? 'sata' : 'sati'); case'dd': return i + (1 === e ? 'dan' : 'dana'); case'MM': return i + (1 === e ? 'mjesec' : 2 === e || 3 === e || 4 === e ? 'mjeseca' : 'mjeseci'); case'yy': return i + (1 === e || 2 !== e && 3 !== e && 4 !== e ? 'godina' : 'godine'); } } n.defineLocale('br', { months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split( '_'), monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split( '_'), weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'), weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), weekdaysParse: vi, 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: vi, monthsRegex: gi, monthsShortRegex: gi, 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: mi, longMonthsParse: mi, shortMonthsParse: mi, 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ʼhoazh da] LT', nextWeek: 'dddd [da] LT', lastDay: '[Decʼh da] LT', lastWeek: 'dddd [paset da] LT', sameElse: 'L', }, relativeTime: { future: 'a-benn %s', past: '%s ʼzo', s: 'un nebeud segondennoù', ss: '%d eilenn', m: 'ur vunutenn', mm: pi, h: 'un eur', hh: '%d eur', d: 'un devezh', dd: pi, M: 'ur miz', MM: pi, y: 'ur bloaz', yy: function (e) { switch (function e (t) { return 9 < t ? e(t % 10) : t; }(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ñ' : 'vet');}, week: { dow: 1, doy: 4 }, meridiemParse: /a.m.|g.m./, isPM: function (e) {return 'g.m.' === e;}, meridiem: function (e, t, n) {return e < 12 ? 'a.m.' : 'g.m.';}, }), n.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_četvrtak_petak_subota'.split( '_'), weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), weekdaysMin: 'ne_po_ut_sr_če_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čer u] LT', lastWeek: function () { switch (this.day()) { case 0: case 3: return '[prošlu] dddd [u] LT'; case 6: return '[prošle] [subote] [u] LT'; case 1: case 2: case 4: case 5: return '[prošli] dddd [u] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: 'prije %s', s: 'par sekundi', ss: yi, m: yi, mm: yi, h: yi, hh: yi, d: 'dan', dd: yi, M: 'mjesec', MM: yi, y: 'godinu', yy: yi, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }), n.defineLocale('ca', { months: { standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split( '_'), format: 'de gener_de febrer_de març_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ç_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à 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í %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, t) { return e + ('w' !== t && 'W' !== t ? 1 === e ? 'r' : 2 === e ? 'n' : 3 === e ? 'r' : 4 === e ? 't' : 'è' : 'a'); }, week: { dow: 1, doy: 4 }, }); var bi = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split( '_'), xi = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'), _i = [ /^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], wi = /^(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 ki (e) {return 1 < e && e < 5 && 1 != ~~(e / 10);} function Mi (e, t, n, i) { var a = e + ' '; switch (n) { case's': return t || i ? 'pár sekund' : 'pár sekundami'; case'ss': return t || i ? a + (ki(e) ? 'sekundy' : 'sekund') : a + 'sekundami'; case'm': return t ? 'minuta' : i ? 'minutu' : 'minutou'; case'mm': return t || i ? a + (ki(e) ? 'minuty' : 'minut') : a + 'minutami'; case'h': return t ? 'hodina' : i ? 'hodinu' : 'hodinou'; case'hh': return t || i ? a + (ki(e) ? 'hodiny' : 'hodin') : a + 'hodinami'; case'd': return t || i ? 'den' : 'dnem'; case'dd': return t || i ? a + (ki(e) ? 'dny' : 'dní') : a + 'dny'; case'M': return t || i ? 'měsíc' : 'měsícem'; case'MM': return t || i ? a + (ki(e) ? 'měsíce' : 'měsíců') : a + 'měsíci'; case'y': return t || i ? 'rok' : 'rokem'; case'yy': return t || i ? a + (ki(e) ? 'roky' : 'let') : a + 'lety'; } } function Li (e, t, n, i) { var a = { 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 t ? a[n][0] : a[n][1]; } function Si (e, t, n, i) { var a = { 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 t ? a[n][0] : a[n][1]; } function Ti (e, t, n, i) { var a = { 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 t ? a[n][0] : a[n][1]; } n.defineLocale('cs', { months: bi, monthsShort: xi, monthsRegex: wi, monthsShortRegex: wi, 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: _i, longMonthsParse: _i, shortMonthsParse: _i, weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'), weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), weekdaysMin: 'ne_po_út_st_čt_pá_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ítra v] LT', nextWeek: function () { switch (this.day()) { case 0: return '[v neděli v] LT'; case 1: case 2: return '[v] dddd [v] LT'; case 3: return '[ve středu v] LT'; case 4: return '[ve čtvrtek v] LT'; case 5: return '[v pátek v] LT'; case 6: return '[v sobotu v] LT'; } }, lastDay: '[včera v] LT', lastWeek: function () { switch (this.day()) { case 0: return '[minulou neděli v] LT'; case 1: case 2: return '[minulé] dddd [v] LT'; case 3: return '[minulou středu v] LT'; case 4: case 5: return '[minulý] dddd [v] LT'; case 6: return '[minulou sobotu v] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: 'před %s', s: Mi, ss: Mi, m: Mi, mm: Mi, h: Mi, hh: Mi, d: Mi, dd: Mi, M: Mi, MM: Mi, y: Mi, yy: Mi, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.defineLocale('cv', { months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split( '_'), monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split( '_'), weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split( '_'), weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'), weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD-MM-YYYY', LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]', LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm', }, calendar: { sameDay: '[Паян] LT [сехетре]', nextDay: '[Ыран] LT [сехетре]', lastDay: '[Ӗнер] LT [сехетре]', nextWeek: '[Ҫитес] dddd LT [сехетре]', lastWeek: '[Иртнӗ] dddd LT [сехетре]', sameElse: 'L', }, relativeTime: { future: function (e) { return e + (/\u0441\u0435\u0445\u0435\u0442$/i.exec(e) ? 'рен' : /\u04ab\u0443\u043b$/i.exec(e) ? 'тан' : 'ран'); }, past: '%s каялла', s: 'пӗр-ик ҫеккунт', ss: '%d ҫеккунт', m: 'пӗр минут', mm: '%d минут', h: 'пӗр сехет', hh: '%d сехет', d: 'пӗр кун', dd: '%d кун', M: 'пӗр уйӑх', MM: '%d уйӑх', y: 'пӗр ҫул', yy: '%d ҫул', }, dayOfMonthOrdinalParse: /\d{1,2}-\u043c\u04d7\u0448/, ordinal: '%d-мӗш', week: { dow: 1, doy: 7 }, }), n.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 ôl', 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 t = ''; return 20 < e ? t = 40 === e || 50 === e || 60 === e || 80 === e || 100 === e ? 'fed' : 'ain' : 0 < e && (t = [ '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed'][e]), e + t; }, week: { dow: 1, doy: 4 }, }), n.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øndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split( '_'), weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'), weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.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å dddd [kl.] LT', lastDay: '[i går kl.] LT', lastWeek: '[i] dddd[s kl.] LT', sameElse: 'L', }, relativeTime: { future: 'om %s', past: '%s siden', s: 'få 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åned', MM: '%d måneder', y: 'et år', yy: '%d år', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.defineLocale('de-at', { months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( '_'), monthsShort: 'Jän._Feb._März_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: Li, mm: '%d Minuten', h: Li, hh: '%d Stunden', d: Li, dd: Li, w: Li, ww: '%d Wochen', M: Li, MM: Li, y: Li, yy: Li, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.defineLocale('de-ch', { months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( '_'), monthsShort: 'Jan._Feb._März_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: Si, mm: '%d Minuten', h: Si, hh: '%d Stunden', d: Si, dd: Si, w: Si, ww: '%d Wochen', M: Si, MM: Si, y: Si, yy: Si, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.defineLocale('de', { months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split( '_'), monthsShort: 'Jan._Feb._März_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: Ti, mm: '%d Minuten', h: Ti, hh: '%d Stunden', d: Ti, dd: Ti, w: Ti, ww: '%d Wochen', M: Ti, MM: Ti, y: Ti, yy: Ti, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); var Ai = [ 'ޖެނުއަރީ', 'ފެބްރުއަރީ', 'މާރިޗު', 'އޭޕްރީލު', 'މޭ', 'ޖޫން', 'ޖުލައި', 'އޯގަސްޓު', 'ސެޕްޓެމްބަރު', 'އޮކްޓޯބަރު', 'ނޮވެމްބަރު', 'ޑިސެމްބަރު'], Di = [ 'އާދިއްތަ', 'ހޯމަ', 'އަންގާރަ', 'ބުދަ', 'ބުރާސްފަތި', 'ހުކުރު', 'ހޮނިހިރު']; n.defineLocale('dv', { months: Ai, monthsShort: Ai, weekdays: Di, weekdaysShort: Di, weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.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 'މފ' === e;}, meridiem: function (e, t, n) {return e < 12 ? 'މކ' : 'މފ';}, calendar: { sameDay: '[މިއަދު] LT', nextDay: '[މާދަމާ] LT', nextWeek: 'dddd LT', lastDay: '[އިއްޔެ] LT', lastWeek: '[ފާއިތުވި] dddd LT', sameElse: 'L', }, relativeTime: { future: 'ތެރޭގައި %s', past: 'ކުރިން %s', s: 'ސިކުންތުކޮޅެއް', ss: 'd% ސިކުންތު', m: 'މިނިޓެއް', mm: 'މިނިޓު %d', h: 'ގަޑިއިރެއް', hh: 'ގަޑިއިރު %d', d: 'ދުވަހެއް', dd: 'ދުވަސް %d', M: 'މަހެއް', MM: 'މަސް %d', y: 'އަހަރެއް', yy: 'އަހަރު %d', }, preparse: function (e) {return e.replace(/\u060c/g, ',');}, postformat: function (e) {return e.replace(/,/g, '،');}, week: { dow: 7, doy: 12 }, }), n.defineLocale('el', { monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split( '_'), monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split( '_'), months: function (e, t) { return e ? 'string' == typeof t && /D/.test(t.substring(0, t.indexOf('MMMM'))) ? this._monthsGenitiveEl[e.month()] : this._monthsNominativeEl[e.month()] : this._monthsNominativeEl; }, monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split( '_'), weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split( '_'), weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'), weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'), meridiem: function (e, t, n) { return 11 < e ? n ? 'μμ' : 'ΜΜ' : n ? 'πμ' : 'ΠΜ'; }, isPM: function (e) {return 'μ' === (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: '[Σήμερα {}] LT', nextDay: '[Αύριο {}] LT', nextWeek: 'dddd [{}] LT', lastDay: '[Χθες {}] LT', lastWeek: function () { switch (this.day()) { case 6: return '[το προηγούμενο] dddd [{}] LT'; default: return '[την προηγούμενη] dddd [{}] LT'; } }, sameElse: 'L', }, calendar: function (e, t) { var n, i = this._calendarEl[e], a = t && t.hours(); return n = i, ('undefined' != typeof Function && n instanceof Function || '[object Function]' === Object.prototype.toString.call(n)) && (i = i.apply(t)), i.replace('{}', a % 12 == 1 ? 'στη' : 'στις'); }, relativeTime: { future: 'σε %s', past: '%s πριν', s: 'λίγα δευτερόλεπτα', ss: '%d δευτερόλεπτα', m: 'ένα λεπτό', mm: '%d λεπτά', h: 'μία ώρα', hh: '%d ώρες', d: 'μία μέρα', dd: '%d μέρες', M: 'ένας μήνας', MM: '%d μήνες', y: 'ένας χρόνος', yy: '%d χρόνια', }, dayOfMonthOrdinalParse: /\d{1,2}\u03b7/, ordinal: '%dη', week: { dow: 1, doy: 4 }, }), n.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 t = e % 10; return e + (1 == ~~(e % 100 / 10) ? 'th' : 1 == t ? 'st' : 2 == t ? 'nd' : 3 == t ? 'rd' : 'th'); }, week: { dow: 0, doy: 4 }, }), n.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 t = e % 10; return e + (1 == ~~(e % 100 / 10) ? 'th' : 1 == t ? 'st' : 2 == t ? 'nd' : 3 == t ? 'rd' : 'th'); }, }), n.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 t = e % 10; return e + (1 == ~~(e % 100 / 10) ? 'th' : 1 == t ? 'st' : 2 == t ? 'nd' : 3 == t ? 'rd' : 'th'); }, week: { dow: 1, doy: 4 }, }), n.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 t = e % 10; return e + (1 == ~~(e % 100 / 10) ? 'th' : 1 == t ? 'st' : 2 == t ? 'nd' : 3 == t ? 'rd' : 'th'); }, week: { dow: 1, doy: 4 }, }), n.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 t = e % 10; return e + (1 == ~~(e % 100 / 10) ? 'th' : 1 == t ? 'st' : 2 == t ? 'nd' : 3 == t ? 'rd' : 'th'); }, }), n.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 t = e % 10; return e + (1 == ~~(e % 100 / 10) ? 'th' : 1 == t ? 'st' : 2 == t ? 'nd' : 3 == t ? 'rd' : 'th'); }, week: { dow: 0, doy: 6 }, }), n.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 t = e % 10; return e + (1 == ~~(e % 100 / 10) ? 'th' : 1 == t ? 'st' : 2 == t ? 'nd' : 3 == t ? 'rd' : 'th'); }, week: { dow: 1, doy: 4 }, }), n.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 t = e % 10; return e + (1 == ~~(e % 100 / 10) ? 'th' : 1 == t ? 'st' : 2 == t ? 'nd' : 3 == t ? 'rd' : 'th'); }, week: { dow: 1, doy: 4 }, }), n.defineLocale('eo', { months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split( '_'), monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split( '_'), weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split( '_'), weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'), weekdaysMin: 'di_lu_ma_me_ĵa_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, t, n) { return 11 < e ? n ? 'p.t.m.' : 'P.T.M.' : n ? 'a.t.m.' : 'A.T.M.'; }, calendar: { sameDay: '[Hodiaŭ je] LT', nextDay: '[Morgaŭ je] LT', nextWeek: 'dddd[n je] LT', lastDay: '[Hieraŭ je] LT', lastWeek: '[pasintan] dddd[n je] LT', sameElse: 'L', }, relativeTime: { future: 'post %s', past: 'antaŭ %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 Ci = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( '_'), Ei = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), Oi = [ /^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i], Yi = /^(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; n.defineLocale('es-do', { months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( '_'), monthsShort: function (e, t) { return e ? /-MMM-/.test(t) ? Ei[e.month()] : Ci[e.month()] : Ci; }, monthsRegex: Yi, monthsShortRegex: Yi, 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: Oi, longMonthsParse: Oi, shortMonthsParse: Oi, weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split( '_'), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.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ñana 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ía', dd: '%d días', w: 'una semana', ww: '%d semanas', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años', }, dayOfMonthOrdinalParse: /\d{1,2}\xba/, ordinal: '%dº', week: { dow: 1, doy: 4 }, }); var Pi = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( '_'), Ii = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), ji = [ /^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i], Ni = /^(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; n.defineLocale('es-mx', { months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( '_'), monthsShort: function (e, t) { return e ? /-MMM-/.test(t) ? Ii[e.month()] : Pi[e.month()] : Pi; }, monthsRegex: Ni, monthsShortRegex: Ni, 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: ji, longMonthsParse: ji, shortMonthsParse: ji, weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split( '_'), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.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ñana 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ía', dd: '%d días', w: 'una semana', ww: '%d semanas', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años', }, dayOfMonthOrdinalParse: /\d{1,2}\xba/, ordinal: '%dº', week: { dow: 0, doy: 4 }, invalidDate: 'Fecha inválida', }); var Hi = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( '_'), Fi = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), Ri = [ /^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i], zi = /^(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; n.defineLocale('es-us', { months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( '_'), monthsShort: function (e, t) { return e ? /-MMM-/.test(t) ? Fi[e.month()] : Hi[e.month()] : Hi; }, monthsRegex: zi, monthsShortRegex: zi, 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: Ri, longMonthsParse: Ri, shortMonthsParse: Ri, weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split( '_'), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.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ñana 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ía', dd: '%d días', w: 'una semana', ww: '%d semanas', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años', }, dayOfMonthOrdinalParse: /\d{1,2}\xba/, ordinal: '%dº', week: { dow: 0, doy: 6 }, }); var Bi = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split( '_'), Wi = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'), Vi = [ /^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i], qi = /^(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 Ui (e, t, n, i) { var a = { s: [ 'mõne sekundi', 'mõni sekund', 'paar sekundit'], ss: [e + 'sekundi', e + 'sekundit'], m: ['ühe minuti', 'üks minut'], mm: [e + ' minuti', e + ' minutit'], h: ['ühe tunni', 'tund aega', 'üks tund'], hh: [e + ' tunni', e + ' tundi'], d: ['ühe päeva', 'üks päev'], M: ['kuu aja', 'kuu aega', 'üks kuu'], MM: [e + ' kuu', e + ' kuud'], y: ['ühe aasta', 'aasta', 'üks aasta'], yy: [e + ' aasta', e + ' aastat'], }; return t ? a[n][2] ? a[n][2] : a[n][1] : i ? a[n][0] : a[n][1]; } n.defineLocale('es', { months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split( '_'), monthsShort: function (e, t) { return e ? /-MMM-/.test(t) ? Wi[e.month()] : Bi[e.month()] : Bi; }, monthsRegex: qi, monthsShortRegex: qi, 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: Vi, longMonthsParse: Vi, shortMonthsParse: Vi, weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split( '_'), weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.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ñana 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ía', dd: '%d días', w: 'una semana', ww: '%d semanas', M: 'un mes', MM: '%d meses', y: 'un año', yy: '%d años', }, dayOfMonthOrdinalParse: /\d{1,2}\xba/, ordinal: '%dº', week: { dow: 1, doy: 4 }, invalidDate: 'Fecha inválida', }), n.defineLocale('et', { months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split( '_'), monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split( '_'), weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.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äna,] LT', nextDay: '[Homme,] LT', nextWeek: '[Järgmine] dddd LT', lastDay: '[Eile,] LT', lastWeek: '[Eelmine] dddd LT', sameElse: 'L', }, relativeTime: { future: '%s pärast', past: '%s tagasi', s: Ui, ss: Ui, m: Ui, mm: Ui, h: Ui, hh: Ui, d: Ui, dd: '%d päeva', M: Ui, MM: Ui, y: Ui, yy: Ui, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.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 Xi = { 1: '۱', 2: '۲', 3: '۳', 4: '۴', 5: '۵', 6: '۶', 7: '۷', 8: '۸', 9: '۹', 0: '۰', }, $i = { '۱': '1', '۲': '2', '۳': '3', '۴': '4', '۵': '5', '۶': '6', '۷': '7', '۸': '8', '۹': '9', '۰': '0', }; n.defineLocale('fa', { months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( '_'), monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split( '_'), weekdays: 'یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه'.split( '_'), weekdaysShort: 'یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه'.split( '_'), weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.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, t, n) { return e < 12 ? 'قبل از ظهر' : 'بعد از ظهر'; }, calendar: { sameDay: '[امروز ساعت] LT', nextDay: '[فردا ساعت] LT', nextWeek: 'dddd [ساعت] LT', lastDay: '[دیروز ساعت] LT', lastWeek: 'dddd [پیش] [ساعت] LT', sameElse: 'L', }, relativeTime: { future: 'در %s', past: '%s پیش', s: 'چند ثانیه', ss: '%d ثانیه', m: 'یک دقیقه', mm: '%d دقیقه', h: 'یک ساعت', hh: '%d ساعت', d: 'یک روز', dd: '%d روز', M: 'یک ماه', MM: '%d ماه', y: 'یک سال', yy: '%d سال', }, preparse: function (e) { return e.replace(/[\u06f0-\u06f9]/g, (function (e) {return $i[e];})). replace(/\u060c/g, ','); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return Xi[e];})). replace(/,/g, '،'); }, dayOfMonthOrdinalParse: /\d{1,2}\u0645/, ordinal: '%dم', week: { dow: 6, doy: 12 }, }); var Gi = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split( ' '), Zi = [ 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', Gi[7], Gi[8], Gi[9]]; function Ki (e, t, n, i) { var a, r = ''; switch (n) { case's': return i ? 'muutaman sekunnin' : 'muutama sekunti'; case'ss': r = i ? 'sekunnin' : 'sekuntia'; break; case'm': return i ? 'minuutin' : 'minuutti'; case'mm': r = i ? 'minuutin' : 'minuuttia'; break; case'h': return i ? 'tunnin' : 'tunti'; case'hh': r = i ? 'tunnin' : 'tuntia'; break; case'd': return i ? 'päivän' : 'päivä'; case'dd': r = i ? 'päivän' : 'päivää'; break; case'M': return i ? 'kuukauden' : 'kuukausi'; case'MM': r = i ? 'kuukauden' : 'kuukautta'; break; case'y': return i ? 'vuoden' : 'vuosi'; case'yy': r = i ? 'vuoden' : 'vuotta'; } return ((a = e) < 10 ? i ? Zi[a] : Gi[a] : a) + ' ' + r; } n.defineLocale('fi', { months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split( '_'), monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_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änään] [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äästä', past: '%s sitten', s: Ki, ss: Ki, m: Ki, mm: Ki, h: Ki, hh: Ki, d: Ki, dd: Ki, M: Ki, MM: Ki, y: Ki, yy: Ki, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.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 }, }), n.defineLocale('fo', { months: 'januar_februar_mars_apríl_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ánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split( '_'), weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'), weekdaysMin: 'su_má_tý_mi_hó_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: '[Í dag kl.] LT', nextDay: '[Í morgin kl.] LT', nextWeek: 'dddd [kl.] LT', lastDay: '[Í gjár kl.] LT', lastWeek: '[síðstu] dddd [kl] LT', sameElse: 'L', }, relativeTime: { future: 'um %s', past: '%s síðani', s: 'fá sekund', ss: '%d sekundir', m: 'ein minuttur', mm: '%d minuttir', h: 'ein tími', hh: '%d tímar', d: 'ein dagur', dd: '%d dagar', M: 'ein mánaður', MM: '%d mánaðir', y: 'eitt ár', yy: '%d ár', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.defineLocale('fr-ca', { months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( '_'), monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.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’hui à] LT', nextDay: '[Demain à] LT', nextWeek: 'dddd [à] LT', lastDay: '[Hier à] LT', lastWeek: 'dddd [dernier à] 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, t) { switch (t) { 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'); } }, }), n.defineLocale('fr-ch', { months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( '_'), monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.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’hui à] LT', nextDay: '[Demain à] LT', nextWeek: 'dddd [à] LT', lastDay: '[Hier à] LT', lastWeek: 'dddd [dernier à] 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, t) { switch (t) { 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 Ji = /(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, Qi = [ /^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]; n.defineLocale('fr', { months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split( '_'), monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split( '_'), monthsRegex: Ji, monthsShortRegex: Ji, 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: Qi, longMonthsParse: Qi, shortMonthsParse: Qi, 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’hui à] LT', nextDay: '[Demain à] LT', nextWeek: 'dddd [à] LT', lastDay: '[Hier à] LT', lastWeek: 'dddd [dernier à] 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, t) { switch (t) { 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 }, }); var ea = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split( '_'), ta = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); function na (e, t, n, i) { var a = { s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'], ss: [e + ' सॅकंडांनी', e + ' सॅकंड'], m: ['एका मिणटान', 'एक मिनूट'], mm: [e + ' मिणटांनी', e + ' मिणटां'], h: ['एका वरान', 'एक वर'], hh: [e + ' वरांनी', e + ' वरां'], d: ['एका दिसान', 'एक दीस'], dd: [e + ' दिसांनी', e + ' दीस'], M: ['एका म्हयन्यान', 'एक म्हयनो'], MM: [e + ' म्हयन्यानी', e + ' म्हयने'], y: ['एका वर्सान', 'एक वर्स'], yy: [e + ' वर्सांनी', e + ' वर्सां'], }; return i ? a[n][0] : a[n][1]; } function ia (e, t, n, i) { var a = { 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 i ? a[n][0] : a[n][1]; } n.defineLocale('fy', { months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split( '_'), monthsShort: function (e, t) { return e ? /-MMM-/.test(t) ? ta[e.month()] : ea[e.month()] : ea; }, 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: '[ôfrûne] dddd [om] LT', sameElse: 'L', }, relativeTime: { future: 'oer %s', past: '%s lyn', s: 'in pear sekonden', ss: '%d sekonden', m: 'ien minút', 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 }, }), n.defineLocale('ga', { months: [ 'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Meitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deireadh Fómhair', 'Samhain', 'Nollaig'], monthsShort: [ 'Ean', 'Feabh', 'Márt', 'Aib', 'Beal', 'Meith', 'Iúil', 'Lún', 'M.F.', 'D.F.', 'Samh', 'Noll'], monthsParseExact: !0, weekdays: [ 'Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Sathairn'], weekdaysShort: [ 'Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'], weekdaysMin: ['Do', 'Lu', 'Má', 'Cé', 'Dé', '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árach ag] LT', nextWeek: 'dddd [ag] LT', lastDay: '[Inné ag] LT', lastWeek: 'dddd [seo caite] [ag] LT', sameElse: 'L', }, relativeTime: { future: 'i %s', past: '%s ó shin', s: 'cúpla soicind', ss: '%d soicind', m: 'nóiméad', mm: '%d nóiméad', h: 'uair an chloig', hh: '%d uair an chloig', d: 'lá', dd: '%d lá', M: 'mí', MM: '%d míonna', 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 }, }), n.defineLocale('gd', { months: [ 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'], monthsShort: [ 'Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'], monthsParseExact: !0, weekdays: [ 'Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'], weekdaysShort: ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'], weekdaysMin: ['Dò', 'Lu', 'Mà', '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àireach aig] LT', nextWeek: 'dddd [aig] LT', lastDay: '[An-dè 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ìos', MM: '%d mìosan', 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 }, }), n.defineLocale('gl', { months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split( '_'), monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split( '_'), monthsParseExact: !0, weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.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() ? 'ás' : 'á') + '] LT'; }, nextDay: function () { return '[mañá ' + (1 !== this.hours() ? 'ás' : 'á') + '] LT'; }, nextWeek: function () { return 'dddd [' + (1 !== this.hours() ? 'ás' : 'a') + '] LT'; }, lastDay: function () { return '[onte ' + (1 !== this.hours() ? 'á' : 'a') + '] LT'; }, lastWeek: function () { return '[o] dddd [pasado ' + (1 !== this.hours() ? 'ás' : '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ía', dd: '%d días', M: 'un mes', MM: '%d meses', y: 'un ano', yy: '%d anos', }, dayOfMonthOrdinalParse: /\d{1,2}\xba/, ordinal: '%dº', week: { dow: 1, doy: 4 }, }), n.defineLocale('gom-deva', { months: { standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( '_'), format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split( '_'), isFormat: /MMMM(\s)+D[oD]?/, }, monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( '_'), monthsParseExact: !0, weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split( '_'), weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'), weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'), weekdaysParseExact: !0, 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, MMMM Do, YYYY, A h:mm [वाजतां]', llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]', }, calendar: { sameDay: '[आयज] LT', nextDay: '[फाल्यां] LT', nextWeek: '[फुडलो] dddd[,] LT', lastDay: '[काल] LT', lastWeek: '[फाटलो] dddd[,] LT', sameElse: 'L', }, relativeTime: { future: '%s', past: '%s आदीं', s: na, ss: na, m: na, mm: na, h: na, hh: na, d: na, dd: na, M: na, MM: na, y: na, yy: na, }, dayOfMonthOrdinalParse: /\d{1,2}(\u0935\u0947\u0930)/, ordinal: function (e, t) { switch (t) { case'D': return e + 'वेर'; 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, t) { return 12 === e && (e = 0), 'राती' === t ? e < 4 ? e : e + 12 : 'सकाळीं' === t ? e : 'दनपारां' === t ? 12 < e ? e : e + 12 : 'सांजे' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { return e < 4 ? 'राती' : e < 12 ? 'सकाळीं' : e < 16 ? 'दनपारां' : e < 20 ? 'सांजे' : 'राती'; }, }), n.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: ia, ss: ia, m: ia, mm: ia, h: ia, hh: ia, d: ia, dd: ia, M: ia, MM: ia, y: ia, yy: ia, }, dayOfMonthOrdinalParse: /\d{1,2}(er)/, ordinal: function (e, t) { switch (t) { 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, t) { return 12 === e && (e = 0), 'rati' === t ? e < 4 ? e : e + 12 : 'sokallim' === t ? e : 'donparam' === t ? 12 < e ? e : e + 12 : 'sanje' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { return e < 4 ? 'rati' : e < 12 ? 'sokallim' : e < 16 ? 'donparam' : e < 20 ? 'sanje' : 'rati'; }, }); var aa = { 1: '૧', 2: '૨', 3: '૩', 4: '૪', 5: '૫', 6: '૬', 7: '૭', 8: '૮', 9: '૯', 0: '૦', }, ra = { '૧': '1', '૨': '2', '૩': '3', '૪': '4', '૫': '5', '૬': '6', '૭': '7', '૮': '8', '૯': '9', '૦': '0', }; n.defineLocale('gu', { months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split( '_'), monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split( '_'), monthsParseExact: !0, weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split( '_'), weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'), weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.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: '[આજ] LT', nextDay: '[કાલે] LT', nextWeek: 'dddd, LT', lastDay: '[ગઇકાલે] LT', lastWeek: '[પાછલા] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s મા', past: '%s પહેલા', s: 'અમુક પળો', ss: '%d સેકંડ', m: 'એક મિનિટ', mm: '%d મિનિટ', h: 'એક કલાક', hh: '%d કલાક', d: 'એક દિવસ', dd: '%d દિવસ', M: 'એક મહિનો', MM: '%d મહિનો', y: 'એક વર્ષ', yy: '%d વર્ષ', }, preparse: function (e) { return e.replace( /[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g, (function (e) {return ra[e];})); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return aa[e];})); }, meridiemParse: /\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/, meridiemHour: function (e, t) { return 12 === e && (e = 0), 'રાત' === t ? e < 4 ? e : e + 12 : 'સવાર' === t ? e : 'બપોર' === t ? 10 <= e ? e : e + 12 : 'સાંજ' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { return e < 4 ? 'રાત' : e < 10 ? 'સવાર' : e < 17 ? 'બપોર' : e < 20 ? 'સાંજ' : 'રાત'; }, week: { dow: 0, doy: 6 }, }), n.defineLocale('he', { months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split( '_'), monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split( '_'), weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'), weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'), weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.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', l: 'D/M/YYYY', ll: 'D MMM YYYY', lll: 'D MMM YYYY HH:mm', llll: 'ddd, D MMM YYYY HH:mm', }, calendar: { sameDay: '[היום ב־]LT', nextDay: '[מחר ב־]LT', nextWeek: 'dddd [בשעה] LT', lastDay: '[אתמול ב־]LT', lastWeek: '[ביום] dddd [האחרון בשעה] LT', sameElse: 'L', }, relativeTime: { future: 'בעוד %s', past: 'לפני %s', s: 'מספר שניות', ss: '%d שניות', m: 'דקה', mm: '%d דקות', h: 'שעה', hh: function (e) {return 2 === e ? 'שעתיים' : e + ' שעות';}, d: 'יום', dd: function (e) {return 2 === e ? 'יומיים' : e + ' ימים';}, M: 'חודש', MM: function (e) {return 2 === e ? 'חודשיים' : e + ' חודשים';}, y: 'שנה', yy: function (e) { return 2 === e ? 'שנתיים' : e % 10 == 0 && 10 !== e ? e + ' שנה' : e + ' שנים'; }, }, 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, t, n) { return e < 5 ? 'לפנות בוקר' : e < 10 ? 'בבוקר' : e < 12 ? n ? 'לפנה"צ' : 'לפני הצהריים' : e < 18 ? n ? 'אחה"צ' : 'אחרי הצהריים' : 'בערב'; }, }); var oa = { 1: '१', 2: '२', 3: '३', 4: '४', 5: '५', 6: '६', 7: '७', 8: '८', 9: '९', 0: '०', }, sa = { '१': '1', '२': '2', '३': '3', '४': '4', '५': '5', '६': '6', '७': '7', '८': '8', '९': '9', '०': '0', }, la = [ /^\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 ca (e, t, n) { var i = e + ' '; switch (n) { case'ss': return i + (1 === e ? 'sekunda' : 2 === e || 3 === e || 4 === e ? 'sekunde' : 'sekundi'); case'm': return t ? 'jedna minuta' : 'jedne minute'; case'mm': return i + (1 === e || 2 !== e && 3 !== e && 4 !== e ? 'minuta' : 'minute'); case'h': return t ? 'jedan sat' : 'jednog sata'; case'hh': return i + (1 === e ? 'sat' : 2 === e || 3 === e || 4 === e ? 'sata' : 'sati'); case'dd': return i + (1 === e ? 'dan' : 'dana'); case'MM': return i + (1 === e ? 'mjesec' : 2 === e || 3 === e || 4 === e ? 'mjeseca' : 'mjeseci'); case'yy': return i + (1 === e || 2 !== e && 3 !== e && 4 !== e ? 'godina' : 'godine'); } } n.defineLocale('hi', { months: { format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split( '_'), standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split( '_'), }, monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split( '_'), weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split( '_'), weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'), weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.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 बजे', }, monthsParse: la, longMonthsParse: la, 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: '[आज] LT', nextDay: '[कल] LT', nextWeek: 'dddd, LT', lastDay: '[कल] LT', lastWeek: '[पिछले] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s में', past: '%s पहले', s: 'कुछ ही क्षण', ss: '%d सेकंड', m: 'एक मिनट', mm: '%d मिनट', h: 'एक घंटा', hh: '%d घंटे', d: 'एक दिन', dd: '%d दिन', M: 'एक महीने', MM: '%d महीने', y: 'एक वर्ष', yy: '%d वर्ष', }, preparse: function (e) { return e.replace( /[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g, (function (e) {return sa[e];})); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return oa[e];})); }, meridiemParse: /\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/, meridiemHour: function (e, t) { return 12 === e && (e = 0), 'रात' === t ? e < 4 ? e : e + 12 : 'सुबह' === t ? e : 'दोपहर' === t ? 10 <= e ? e : e + 12 : 'शाम' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { return e < 4 ? 'रात' : e < 10 ? 'सुबह' : e < 17 ? 'दोपहर' : e < 20 ? 'शाम' : 'रात'; }, week: { dow: 0, doy: 6 }, }), n.defineLocale('hr', { months: { format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split( '_'), standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split( '_'), }, monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split( '_'), monthsParseExact: !0, weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split( '_'), weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), weekdaysMin: 'ne_po_ut_sr_če_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čer u] LT', lastWeek: function () { switch (this.day()) { case 0: return '[prošlu] [nedjelju] [u] LT'; case 3: return '[prošlu] [srijedu] [u] LT'; case 6: return '[prošle] [subote] [u] LT'; case 1: case 2: case 4: case 5: return '[prošli] dddd [u] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: 'prije %s', s: 'par sekundi', ss: ca, m: ca, mm: ca, h: ca, hh: ca, d: 'dan', dd: ca, M: 'mjesec', MM: ca, y: 'godinu', yy: ca, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }); var ua = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split( ' '); function da (e, t, n, i) { var a = e; switch (n) { case's': return i || t ? 'néhány másodperc' : 'néhány másodperce'; case'ss': return a + (i || t) ? ' másodperc' : ' másodperce'; case'm': return 'egy' + (i || t ? ' perc' : ' perce'); case'mm': return a + (i || t ? ' perc' : ' perce'); case'h': return 'egy' + (i || t ? ' óra' : ' órája'); case'hh': return a + (i || t ? ' óra' : ' órája'); case'd': return 'egy' + (i || t ? ' nap' : ' napja'); case'dd': return a + (i || t ? ' nap' : ' napja'); case'M': return 'egy' + (i || t ? ' hónap' : ' hónapja'); case'MM': return a + (i || t ? ' hónap' : ' hónapja'); case'y': return 'egy' + (i || t ? ' év' : ' éve'); case'yy': return a + (i || t ? ' év' : ' éve'); } return ''; } function ha (e) { return (e ? '' : '[múlt] ') + '[' + ua[this.day()] + '] LT[-kor]'; } function fa (e) {return e % 100 == 11 || e % 10 != 1;} function pa (e, t, n, i) { var a = e + ' '; switch (n) { case's': return t || i ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; case'ss': return fa(e) ? a + (t || i ? 'sekúndur' : 'sekúndum') : a + 'sekúnda'; case'm': return t ? 'mínúta' : 'mínútu'; case'mm': return fa(e) ? a + (t || i ? 'mínútur' : 'mínútum') : t ? a + 'mínúta' : a + 'mínútu'; case'hh': return fa(e) ? a + (t || i ? 'klukkustundir' : 'klukkustundum') : a + 'klukkustund'; case'd': return t ? 'dagur' : i ? 'dag' : 'degi'; case'dd': return fa(e) ? t ? a + 'dagar' : a + (i ? 'daga' : 'dögum') : t ? a + 'dagur' : a + (i ? 'dag' : 'degi'); case'M': return t ? 'mánuður' : i ? 'mánuð' : 'mánuði'; case'MM': return fa(e) ? t ? a + 'mánuðir' : a + (i ? 'mánuði' : 'mánuðum') : t ? a + 'mánuður' : a + (i ? 'mánuð' : 'mánuði'); case'y': return t || i ? 'ár' : 'ári'; case'yy': return fa(e) ? a + (t || i ? 'ár' : 'árum') : a + (t || i ? 'ár' : 'ári'); } } n.defineLocale('hu', { months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split( '_'), monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split( '_'), monthsParseExact: !0, weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split( '_'), weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_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, t, n) { return e < 12 ? !0 === n ? 'de' : 'DE' : !0 === n ? 'du' : 'DU'; }, calendar: { sameDay: '[ma] LT[-kor]', nextDay: '[holnap] LT[-kor]', nextWeek: function () {return ha.call(this, !0);}, lastDay: '[tegnap] LT[-kor]', lastWeek: function () {return ha.call(this, !1);}, sameElse: 'L', }, relativeTime: { future: '%s múlva', past: '%s', s: da, ss: da, m: da, mm: da, h: da, hh: da, d: da, dd: da, M: da, MM: da, y: da, yy: da, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.defineLocale('hy-am', { months: { format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split( '_'), standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split( '_'), }, monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split( '_'), weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split( '_'), weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'), weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.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: '[այսօր] LT', nextDay: '[վաղը] LT', lastDay: '[երեկ] LT', nextWeek: function () {return 'dddd [օրը ժամը] LT';}, lastWeek: function () {return '[անցած] dddd [օրը ժամը] LT';}, sameElse: 'L', }, relativeTime: { future: '%s հետո', past: '%s առաջ', s: 'մի քանի վայրկյան', ss: '%d վայրկյան', m: 'րոպե', mm: '%d րոպե', h: 'ժամ', hh: '%d ժամ', d: 'օր', dd: '%d օր', M: 'ամիս', MM: '%d ամիս', y: 'տարի', yy: '%d տարի', }, 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 ? 'գիշերվա' : e < 12 ? 'առավոտվա' : e < 17 ? 'ցերեկվա' : 'երեկոյան'; }, dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/, ordinal: function (e, t) { switch (t) { case'DDD': case'w': case'W': case'DDDo': return 1 === e ? e + '-ին' : e + '-րդ'; default: return e; } }, week: { dow: 1, doy: 7 }, }), n.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, t) { return 12 === e && (e = 0), 'pagi' === t ? e : 'siang' === t ? 11 <= e ? e : e + 12 : 'sore' === t || 'malam' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { 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 }, }), n.defineLocale('is', { months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split( '_'), monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split( '_'), weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split( '_'), weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'), weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_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: '[í dag kl.] LT', nextDay: '[á morgun kl.] LT', nextWeek: 'dddd [kl.] LT', lastDay: '[í gær kl.] LT', lastWeek: '[síðasta] dddd [kl.] LT', sameElse: 'L', }, relativeTime: { future: 'eftir %s', past: 'fyrir %s síðan', s: pa, ss: pa, m: pa, mm: pa, h: 'klukkustund', hh: pa, d: pa, dd: pa, M: pa, MM: pa, y: pa, yy: pa, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.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ì_martedì_mercoledì_giovedì_venerdì_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º', week: { dow: 1, doy: 4 }, }), n.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ì_martedì_mercoledì_giovedì_venerdì_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º', week: { dow: 1, doy: 4 }, }), n.defineLocale('ja', { eras: [ { since: '2019-05-01', offset: 1, name: '令和', narrow: '㋿', abbr: 'R', }, { since: '1989-01-08', until: '2019-04-30', offset: 1, name: '平成', narrow: '㍻', abbr: 'H', }, { since: '1926-12-25', until: '1989-01-07', offset: 1, name: '昭和', narrow: '㍼', abbr: 'S', }, { since: '1912-07-30', until: '1926-12-24', offset: 1, name: '大正', narrow: '㍽', abbr: 'T', }, { since: '1873-01-01', until: '1912-07-29', offset: 6, name: '明治', narrow: '㍾', abbr: 'M', }, { since: '0001-01-01', until: '1873-12-31', offset: 1, name: '西暦', narrow: 'AD', abbr: 'AD', }, { since: '0000-12-31', until: -1 / 0, offset: 1, name: '紀元前', narrow: 'BC', abbr: 'BC', }], eraYearOrdinalRegex: /(\u5143|\d+)\u5e74/, eraYearOrdinalParse: function (e, t) { return '元' === t[1] ? 1 : parseInt(t[1] || e, 10); }, months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'), weekdaysShort: '日_月_火_水_木_金_土'.split('_'), weekdaysMin: '日_月_火_水_木_金_土'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYY年M月D日', LLL: 'YYYY年M月D日 HH:mm', LLLL: 'YYYY年M月D日 dddd HH:mm', l: 'YYYY/MM/DD', ll: 'YYYY年M月D日', lll: 'YYYY年M月D日 HH:mm', llll: 'YYYY年M月D日(ddd) HH:mm', }, meridiemParse: /\u5348\u524d|\u5348\u5f8c/i, isPM: function (e) {return '午後' === e;}, meridiem: function (e, t, n) {return e < 12 ? '午前' : '午後';}, calendar: { sameDay: '[今日] LT', nextDay: '[明日] LT', nextWeek: function (e) { return e.week() !== this.week() ? '[来週]dddd LT' : 'dddd LT'; }, lastDay: '[昨日] LT', lastWeek: function (e) { return this.week() !== e.week() ? '[先週]dddd LT' : 'dddd LT'; }, sameElse: 'L', }, dayOfMonthOrdinalParse: /\d{1,2}\u65e5/, ordinal: function (e, t) { switch (t) { case'y': return 1 === e ? '元年' : e + '年'; case'd': case'D': case'DDD': return e + '日'; default: return e; } }, relativeTime: { future: '%s後', past: '%s前', s: '数秒', ss: '%d秒', m: '1分', mm: '%d分', h: '1時間', hh: '%d時間', d: '1日', dd: '%d日', M: '1ヶ月', MM: '%dヶ月', y: '1年', yy: '%d年', }, }), n.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, t) { return 12 === e && (e = 0), 'enjing' === t ? e : 'siyang' === t ? 11 <= e ? e : e + 12 : 'sonten' === t || 'ndalu' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { 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 }, }), n.defineLocale('ka', { months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split( '_'), monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split( '_'), weekdays: { standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split( '_'), format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split( '_'), isFormat: /(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/, }, weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'), weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.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: '[დღეს] LT[-ზე]', nextDay: '[ხვალ] LT[-ზე]', lastDay: '[გუშინ] LT[-ზე]', nextWeek: '[შემდეგ] dddd LT[-ზე]', lastWeek: '[წინა] dddd LT-ზე', 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, t, n) { return 'ი' === n ? t + 'ში' : t + n + 'ში'; })); }, 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)$/, 'ის წინ') : /\u10ec\u10d4\u10da\u10d8/.test(e) ? e.replace( /\u10ec\u10d4\u10da\u10d8$/, 'წლის წინ') : e; }, s: 'რამდენიმე წამი', ss: '%d წამი', m: 'წუთი', mm: '%d წუთი', h: 'საათი', hh: '%d საათი', d: 'დღე', dd: '%d დღე', M: 'თვე', MM: '%d თვე', y: 'წელი', yy: '%d წელი', }, dayOfMonthOrdinalParse: /0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/, ordinal: function (e) { return 0 === e ? e : 1 === e ? e + '-ლი' : e < 20 || e <= 100 && e % 20 == 0 || e % 100 == 0 ? 'მე-' + e : e + '-ე'; }, week: { dow: 1, doy: 7 }, }); var ma = { 0: '-ші', 1: '-ші', 2: '-ші', 3: '-ші', 4: '-ші', 5: '-ші', 6: '-шы', 7: '-ші', 8: '-ші', 9: '-шы', 10: '-шы', 20: '-шы', 30: '-шы', 40: '-шы', 50: '-ші', 60: '-шы', 70: '-ші', 80: '-ші', 90: '-шы', 100: '-ші', }; n.defineLocale('kk', { months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split( '_'), monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split( '_'), weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split( '_'), weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'), weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.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: '[Бүгін сағат] LT', nextDay: '[Ертең сағат] LT', nextWeek: 'dddd [сағат] LT', lastDay: '[Кеше сағат] LT', lastWeek: '[Өткен аптаның] dddd [сағат] LT', sameElse: 'L', }, relativeTime: { future: '%s ішінде', past: '%s бұрын', s: 'бірнеше секунд', ss: '%d секунд', m: 'бір минут', mm: '%d минут', h: 'бір сағат', hh: '%d сағат', d: 'бір күн', dd: '%d күн', M: 'бір ай', MM: '%d ай', y: 'бір жыл', yy: '%d жыл', }, dayOfMonthOrdinalParse: /\d{1,2}-(\u0448\u0456|\u0448\u044b)/, ordinal: function (e) { return e + (ma[e] || ma[e % 10] || ma[100 <= e ? 100 : null]); }, week: { dow: 1, doy: 7 }, }); var ga = { 1: '១', 2: '២', 3: '៣', 4: '៤', 5: '៥', 6: '៦', 7: '៧', 8: '៨', 9: '៩', 0: '០', }, va = { '១': '1', '២': '2', '៣': '3', '៤': '4', '៥': '5', '៦': '6', '៧': '7', '៨': '8', '៩': '9', '០': '0', }; n.defineLocale('km', { months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( '_'), monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split( '_'), weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'), weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'), weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.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 'ល្ងាច' === e;}, meridiem: function (e, t, n) {return e < 12 ? 'ព្រឹក' : 'ល្ងាច';}, calendar: { sameDay: '[ថ្ងៃនេះ ម៉ោង] LT', nextDay: '[ស្អែក ម៉ោង] LT', nextWeek: 'dddd [ម៉ោង] LT', lastDay: '[ម្សិលមិញ ម៉ោង] LT', lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT', sameElse: 'L', }, relativeTime: { future: '%sទៀត', past: '%sមុន', s: 'ប៉ុន្មានវិនាទី', ss: '%d វិនាទី', m: 'មួយនាទី', mm: '%d នាទី', h: 'មួយម៉ោង', hh: '%d ម៉ោង', d: 'មួយថ្ងៃ', dd: '%d ថ្ងៃ', M: 'មួយខែ', MM: '%d ខែ', y: 'មួយឆ្នាំ', yy: '%d ឆ្នាំ', }, dayOfMonthOrdinalParse: /\u1791\u17b8\d{1,2}/, ordinal: 'ទី%d', preparse: function (e) { return e.replace( /[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g, (function (e) {return va[e];})); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return ga[e];})); }, week: { dow: 1, doy: 4 }, }); var ya = { 1: '೧', 2: '೨', 3: '೩', 4: '೪', 5: '೫', 6: '೬', 7: '೭', 8: '೮', 9: '೯', 0: '೦', }, ba = { '೧': '1', '೨': '2', '೩': '3', '೪': '4', '೫': '5', '೬': '6', '೭': '7', '೮': '8', '೯': '9', '೦': '0', }; n.defineLocale('kn', { months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split( '_'), monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split( '_'), monthsParseExact: !0, weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split( '_'), weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'), weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.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: '[ಇಂದು] LT', nextDay: '[ನಾಳೆ] LT', nextWeek: 'dddd, LT', lastDay: '[ನಿನ್ನೆ] LT', lastWeek: '[ಕೊನೆಯ] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s ನಂತರ', past: '%s ಹಿಂದೆ', s: 'ಕೆಲವು ಕ್ಷಣಗಳು', ss: '%d ಸೆಕೆಂಡುಗಳು', m: 'ಒಂದು ನಿಮಿಷ', mm: '%d ನಿಮಿಷ', h: 'ಒಂದು ಗಂಟೆ', hh: '%d ಗಂಟೆ', d: 'ಒಂದು ದಿನ', dd: '%d ದಿನ', M: 'ಒಂದು ತಿಂಗಳು', MM: '%d ತಿಂಗಳು', y: 'ಒಂದು ವರ್ಷ', yy: '%d ವರ್ಷ', }, preparse: function (e) { return e.replace( /[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g, (function (e) {return ba[e];})); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return ya[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, t) { return 12 === e && (e = 0), 'ರಾತ್ರಿ' === t ? e < 4 ? e : e + 12 : 'ಬೆಳಿಗ್ಗೆ' === t ? e : 'ಮಧ್ಯಾಹ್ನ' === t ? 10 <= e ? e : e + 12 : 'ಸಂಜೆ' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { return e < 4 ? 'ರಾತ್ರಿ' : e < 10 ? 'ಬೆಳಿಗ್ಗೆ' : e < 17 ? 'ಮಧ್ಯಾಹ್ನ' : e < 20 ? 'ಸಂಜೆ' : 'ರಾತ್ರಿ'; }, dayOfMonthOrdinalParse: /\d{1,2}(\u0ca8\u0cc6\u0cd5)/, ordinal: function (e) {return e + 'ನೇ';}, week: { dow: 0, doy: 6 }, }), n.defineLocale('ko', { months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'), weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'), weekdaysShort: '일_월_화_수_목_금_토'.split('_'), weekdaysMin: '일_월_화_수_목_금_토'.split('_'), 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일 dddd A h:mm', l: 'YYYY.MM.DD.', ll: 'YYYY년 MMMM D일', lll: 'YYYY년 MMMM D일 A h:mm', llll: 'YYYY년 MMMM D일 dddd A h:mm', }, calendar: { sameDay: '오늘 LT', nextDay: '내일 LT', nextWeek: 'dddd LT', lastDay: '어제 LT', lastWeek: '지난주 dddd LT', sameElse: 'L', }, relativeTime: { future: '%s 후', past: '%s 전', s: '몇 초', ss: '%d초', m: '1분', mm: '%d분', h: '한 시간', hh: '%d시간', d: '하루', dd: '%d일', M: '한 달', MM: '%d달', y: '일 년', yy: '%d년', }, dayOfMonthOrdinalParse: /\d{1,2}(\uc77c|\uc6d4|\uc8fc)/, ordinal: function (e, t) { switch (t) { case'd': case'D': case'DDD': return e + '일'; case'M': return e + '월'; case'w': case'W': return e + '주'; default: return e; } }, meridiemParse: /\uc624\uc804|\uc624\ud6c4/, isPM: function (e) {return '오후' === e;}, meridiem: function (e, t, n) {return e < 12 ? '오전' : '오후';}, }); var xa = { 1: '١', 2: '٢', 3: '٣', 4: '٤', 5: '٥', 6: '٦', 7: '٧', 8: '٨', 9: '٩', 0: '٠', }, _a = { '١': '1', '٢': '2', '٣': '3', '٤': '4', '٥': '5', '٦': '6', '٧': '7', '٨': '8', '٩': '9', '٠': '0', }, wa = [ 'کانونی دووەم', 'شوبات', 'ئازار', 'نیسان', 'ئایار', 'حوزەیران', 'تەمموز', 'ئاب', 'ئەیلوول', 'تشرینی یەكەم', 'تشرینی دووەم', 'كانونی یەکەم']; n.defineLocale('ku', { months: wa, monthsShort: wa, weekdays: 'یهكشهممه_دووشهممه_سێشهممه_چوارشهممه_پێنجشهممه_ههینی_شهممه'.split( '_'), weekdaysShort: 'یهكشهم_دووشهم_سێشهم_چوارشهم_پێنجشهم_ههینی_شهممه'.split( '_'), weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.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, t, n) {return e < 12 ? 'بهیانی' : 'ئێواره';}, calendar: { sameDay: '[ئهمرۆ كاتژمێر] LT', nextDay: '[بهیانی كاتژمێر] LT', nextWeek: 'dddd [كاتژمێر] LT', lastDay: '[دوێنێ كاتژمێر] LT', lastWeek: 'dddd [كاتژمێر] LT', sameElse: 'L', }, relativeTime: { future: 'له %s', past: '%s', s: 'چهند چركهیهك', ss: 'چركه %d', m: 'یهك خولهك', mm: '%d خولهك', h: 'یهك كاتژمێر', hh: '%d كاتژمێر', d: 'یهك ڕۆژ', dd: '%d ڕۆژ', M: 'یهك مانگ', MM: '%d مانگ', y: 'یهك ساڵ', yy: '%d ساڵ', }, preparse: function (e) { return e.replace( /[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g, (function (e) {return _a[e];})).replace(/\u060c/g, ','); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return xa[e];})). replace(/,/g, '،'); }, week: { dow: 6, doy: 12 }, }); var ka = { 0: '-чү', 1: '-чи', 2: '-чи', 3: '-чү', 4: '-чү', 5: '-чи', 6: '-чы', 7: '-чи', 8: '-чи', 9: '-чу', 10: '-чу', 20: '-чы', 30: '-чу', 40: '-чы', 50: '-чү', 60: '-чы', 70: '-чи', 80: '-чи', 90: '-чу', 100: '-чү', }; function Ma (e, t, n, i) { var a = { 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 t ? a[n][0] : a[n][1]; } function La (e) { if (e = parseInt(e, 10), isNaN(e)) return !1; if (e < 0) return !0; if (e < 10) return 4 <= e && e <= 7; if (e < 100) { var t = e % 10; return La(0 == t ? e / 10 : t); } if (e < 1e4) { for (; 10 <= e;) e /= 10; return La(e); } return La(e /= 1e3); } n.defineLocale('ky', { months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( '_'), monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split( '_'), weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split( '_'), weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'), weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.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: '[Бүгүн саат] LT', nextDay: '[Эртең саат] LT', nextWeek: 'dddd [саат] LT', lastDay: '[Кечээ саат] LT', lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT', sameElse: 'L', }, relativeTime: { future: '%s ичинде', past: '%s мурун', s: 'бирнече секунд', ss: '%d секунд', m: 'бир мүнөт', mm: '%d мүнөт', h: 'бир саат', hh: '%d саат', d: 'бир күн', dd: '%d күн', M: 'бир ай', MM: '%d ай', y: 'бир жыл', yy: '%d жыл', }, dayOfMonthOrdinalParse: /\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/, ordinal: function (e) { return e + (ka[e] || ka[e % 10] || ka[100 <= e ? 100 : null]); }, week: { dow: 1, doy: 7 }, }), n.defineLocale('lb', { months: 'Januar_Februar_Mäerz_Abrëll_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éindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split( '_'), weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), weekdaysMin: 'So_Mé_Dë_Më_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ëschter 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 La(e.substr(0, e.indexOf(' '))) ? 'a ' + e : 'an ' + e; }, past: function (e) { return La(e.substr(0, e.indexOf(' '))) ? 'viru ' + e : 'virun ' + e; }, s: 'e puer Sekonnen', ss: '%d Sekonnen', m: Ma, mm: '%d Minutten', h: Ma, hh: '%d Stonnen', d: Ma, dd: '%d Deeg', M: Ma, MM: '%d Méint', y: Ma, yy: '%d Joer', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.defineLocale('lo', { months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( '_'), monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split( '_'), weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'), weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.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: /\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/, isPM: function (e) {return 'ຕອນແລງ' === e;}, meridiem: function (e, t, n) {return e < 12 ? 'ຕອນເຊົ້າ' : 'ຕອນແລງ';}, calendar: { sameDay: '[ມື້ນີ້ເວລາ] LT', nextDay: '[ມື້ອື່ນເວລາ] LT', nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT', lastDay: '[ມື້ວານນີ້ເວລາ] LT', lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT', sameElse: 'L', }, relativeTime: { future: 'ອີກ %s', past: '%sຜ່ານມາ', s: 'ບໍ່ເທົ່າໃດວິນາທີ', ss: '%d ວິນາທີ', m: '1 ນາທີ', mm: '%d ນາທີ', h: '1 ຊົ່ວໂມງ', hh: '%d ຊົ່ວໂມງ', d: '1 ມື້', dd: '%d ມື້', M: '1 ເດືອນ', MM: '%d ເດືອນ', y: '1 ປີ', yy: '%d ປີ', }, dayOfMonthOrdinalParse: /(\u0e97\u0eb5\u0ec8)\d{1,2}/, ordinal: function (e) {return 'ທີ່' + e;}, }); var Sa = { ss: 'sekundė_sekundžių_sekundes', m: 'minutė_minutės_minutę', mm: 'minutės_minučių_minutes', h: 'valanda_valandos_valandą', hh: 'valandos_valandų_valandas', d: 'diena_dienos_dieną', dd: 'dienos_dienų_dienas', M: 'mėnuo_mėnesio_mėnesį', MM: 'mėnesiai_mėnesių_mėnesius', y: 'metai_metų_metus', yy: 'metai_metų_metus', }; function Ta (e, t, n, i) {return t ? Da(n)[0] : i ? Da(n)[1] : Da(n)[2];} function Aa (e) {return e % 10 == 0 || 10 < e && e < 20;} function Da (e) {return Sa[e].split('_');} function Ca (e, t, n, i) { var a = e + ' '; return 1 === e ? a + Ta(0, t, n[0], i) : t ? a + (Aa(e) ? Da(n)[1] : Da(n)[0]) : i ? a + Da(n)[1] : a + (Aa(e) ? Da(n)[1] : Da(n)[2]); } n.defineLocale('lt', { months: { format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split( '_'), standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_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į_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split( '_'), standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split( '_'), isFormat: /dddd HH:mm/, }, weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'), weekdaysMin: 'S_P_A_T_K_Pn_Š'.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: '[Šiandien] LT', nextDay: '[Rytoj] LT', nextWeek: 'dddd LT', lastDay: '[Vakar] LT', lastWeek: '[Praėjusį] dddd LT', sameElse: 'L', }, relativeTime: { future: 'po %s', past: 'prieš %s', s: function (e, t, n, i) { return t ? 'kelios sekundės' : i ? 'kelių sekundžių' : 'kelias sekundes'; }, ss: Ca, m: Ta, mm: Ca, h: Ta, hh: Ca, d: Ta, dd: Ca, M: Ta, MM: Ca, y: Ta, yy: Ca, }, dayOfMonthOrdinalParse: /\d{1,2}-oji/, ordinal: function (e) {return e + '-oji';}, week: { dow: 1, doy: 4 }, }); var Ea = { ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'), m: 'minūtes_minūtēm_minūte_minūtes'.split('_'), mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'), h: 'stundas_stundām_stunda_stundas'.split('_'), hh: 'stundas_stundām_stunda_stundas'.split('_'), d: 'dienas_dienām_diena_dienas'.split('_'), dd: 'dienas_dienām_diena_dienas'.split('_'), M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'), y: 'gada_gadiem_gads_gadi'.split('_'), yy: 'gada_gadiem_gads_gadi'.split('_'), }; function Oa (e, t, n) { return n ? t % 10 == 1 && t % 100 != 11 ? e[2] : e[3] : t % 10 == 1 && t % 100 != 11 ? e[0] : e[1]; } function Ya (e, t, n) {return e + ' ' + Oa(Ea[n], e, t);} function Pa (e, t, n) {return Oa(Ea[n], e, t);} n.defineLocale('lv', { months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split( '_'), monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split( '_'), weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_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: '[Šodien pulksten] LT', nextDay: '[Rīt pulksten] LT', nextWeek: 'dddd [pulksten] LT', lastDay: '[Vakar pulksten] LT', lastWeek: '[Pagājušā] dddd [pulksten] LT', sameElse: 'L', }, relativeTime: { future: 'pēc %s', past: 'pirms %s', s: function (e, t) { return t ? 'dažas sekundes' : 'dažām sekundēm'; }, ss: Ya, m: Pa, mm: Ya, h: Pa, hh: Ya, d: Pa, dd: Ya, M: Pa, MM: Ya, y: Pa, yy: Ya, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); var Ia = { 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, t) { return 1 === e ? t[0] : 2 <= e && e <= 4 ? t[1] : t[2]; }, translate: function (e, t, n) { var i = Ia.words[n]; return 1 === n.length ? t ? i[0] : i[1] : e + ' ' + Ia.correctGrammaticalCase(e, i); }, }; function ja (e, t, n, i) { switch (n) { case's': return t ? 'хэдхэн секунд' : 'хэдхэн секундын'; case'ss': return e + (t ? ' секунд' : ' секундын'); case'm': case'mm': return e + (t ? ' минут' : ' минутын'); case'h': case'hh': return e + (t ? ' цаг' : ' цагийн'); case'd': case'dd': return e + (t ? ' өдөр' : ' өдрийн'); case'M': case'MM': return e + (t ? ' сар' : ' сарын'); case'y': case'yy': return e + (t ? ' жил' : ' жилийн'); default: return e; } } n.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_četvrtak_petak_subota'.split( '_'), weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'), weekdaysMin: 'ne_po_ut_sr_če_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če u] LT', lastWeek: function () { return [ '[prošle] [nedjelje] [u] LT', '[prošlog] [ponedjeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srijede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT'][this.day()]; }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: 'prije %s', s: 'nekoliko sekundi', ss: Ia.translate, m: Ia.translate, mm: Ia.translate, h: Ia.translate, hh: Ia.translate, d: 'dan', dd: Ia.translate, M: 'mjesec', MM: Ia.translate, y: 'godinu', yy: Ia.translate, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }), n.defineLocale('mi', { months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split( '_'), monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_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ātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'), weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'), weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.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ēkona ruarua', ss: '%d hēkona', 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º', week: { dow: 1, doy: 4 }, }), n.defineLocale('mk', { months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split( '_'), monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split( '_'), weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split( '_'), weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'), weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.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: '[Денес во] LT', nextDay: '[Утре во] LT', nextWeek: '[Во] dddd [во] LT', lastDay: '[Вчера во] LT', lastWeek: function () { switch (this.day()) { case 0: case 3: case 6: return '[Изминатата] dddd [во] LT'; case 1: case 2: case 4: case 5: return '[Изминатиот] dddd [во] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'за %s', past: 'пред %s', s: 'неколку секунди', ss: '%d секунди', m: 'една минута', mm: '%d минути', h: 'еден час', hh: '%d часа', d: 'еден ден', dd: '%d дена', M: 'еден месец', MM: '%d месеци', y: 'една година', yy: '%d години', }, dayOfMonthOrdinalParse: /\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/, ordinal: function (e) { var t = e % 10, n = e % 100; return 0 === e ? e + '-ев' : 0 == n ? e + '-ен' : 10 < n && n < 20 ? e + '-ти' : 1 == t ? e + '-ви' : 2 == t ? e + '-ри' : 7 == t || 8 == t ? e + '-ми' : e + '-ти'; }, week: { dow: 1, doy: 7 }, }), n.defineLocale('ml', { months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split( '_'), monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split( '_'), monthsParseExact: !0, weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split( '_'), weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'), weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.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: '[ഇന്ന്] LT', nextDay: '[നാളെ] LT', nextWeek: 'dddd, LT', lastDay: '[ഇന്നലെ] LT', lastWeek: '[കഴിഞ്ഞ] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s കഴിഞ്ഞ്', past: '%s മുൻപ്', s: 'അൽപ നിമിഷങ്ങൾ', ss: '%d സെക്കൻഡ്', m: 'ഒരു മിനിറ്റ്', mm: '%d മിനിറ്റ്', h: 'ഒരു മണിക്കൂർ', hh: '%d മണിക്കൂർ', d: 'ഒരു ദിവസം', dd: '%d ദിവസം', M: 'ഒരു മാസം', MM: '%d മാസം', y: 'ഒരു വർഷം', yy: '%d വർഷം', }, 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, t) { return 12 === e && (e = 0), 'രാത്രി' === t && 4 <= e || 'ഉച്ച കഴിഞ്ഞ്' === t || 'വൈകുന്നേരം' === t ? e + 12 : e; }, meridiem: function (e, t, n) { return e < 4 ? 'രാത്രി' : e < 12 ? 'രാവിലെ' : e < 17 ? 'ഉച്ച കഴിഞ്ഞ്' : e < 20 ? 'വൈകുന്നേരം' : 'രാത്രി'; }, }), n.defineLocale('mn', { months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split( '_'), monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split( '_'), monthsParseExact: !0, weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'), weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'), weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'), weekdaysParseExact: !0, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'YYYY оны MMMMын D', LLL: 'YYYY оны MMMMын D HH:mm', LLLL: 'dddd, YYYY оны MMMMын D HH:mm', }, meridiemParse: /\u04ae\u04e8|\u04ae\u0425/i, isPM: function (e) {return 'ҮХ' === e;}, meridiem: function (e, t, n) {return e < 12 ? 'ҮӨ' : 'ҮХ';}, calendar: { sameDay: '[Өнөөдөр] LT', nextDay: '[Маргааш] LT', nextWeek: '[Ирэх] dddd LT', lastDay: '[Өчигдөр] LT', lastWeek: '[Өнгөрсөн] dddd LT', sameElse: 'L', }, relativeTime: { future: '%s дараа', past: '%s өмнө', s: ja, ss: ja, m: ja, mm: ja, h: ja, hh: ja, d: ja, dd: ja, M: ja, MM: ja, y: ja, yy: ja, }, dayOfMonthOrdinalParse: /\d{1,2} \u04e9\u0434\u04e9\u0440/, ordinal: function (e, t) { switch (t) { case'd': case'D': case'DDD': return e + ' өдөр'; default: return e; } }, }); var Na = { 1: '१', 2: '२', 3: '३', 4: '४', 5: '५', 6: '६', 7: '७', 8: '८', 9: '९', 0: '०', }, Ha = { '१': '1', '२': '2', '३': '3', '४': '4', '५': '5', '६': '6', '७': '7', '८': '8', '९': '9', '०': '0', }; function Fa (e, t, n, i) { var a = ''; if (t) switch (n) { case's': a = 'काही सेकंद'; break; case'ss': a = '%d सेकंद'; break; case'm': a = 'एक मिनिट'; break; case'mm': a = '%d मिनिटे'; break; case'h': a = 'एक तास'; break; case'hh': a = '%d तास'; break; case'd': a = 'एक दिवस'; break; case'dd': a = '%d दिवस'; break; case'M': a = 'एक महिना'; break; case'MM': a = '%d महिने'; break; case'y': a = 'एक वर्ष'; break; case'yy': a = '%d वर्षे'; } else switch (n) { case's': a = 'काही सेकंदां'; break; case'ss': a = '%d सेकंदां'; break; case'm': a = 'एका मिनिटा'; break; case'mm': a = '%d मिनिटां'; break; case'h': a = 'एका तासा'; break; case'hh': a = '%d तासां'; break; case'd': a = 'एका दिवसा'; break; case'dd': a = '%d दिवसां'; break; case'M': a = 'एका महिन्या'; break; case'MM': a = '%d महिन्यां'; break; case'y': a = 'एका वर्षा'; break; case'yy': a = '%d वर्षां'; } return a.replace(/%d/i, e); } n.defineLocale('mr', { months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split( '_'), monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split( '_'), monthsParseExact: !0, weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split( '_'), weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'), weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.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: '[आज] LT', nextDay: '[उद्या] LT', nextWeek: 'dddd, LT', lastDay: '[काल] LT', lastWeek: '[मागील] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%sमध्ये', past: '%sपूर्वी', s: Fa, ss: Fa, m: Fa, mm: Fa, h: Fa, hh: Fa, d: Fa, dd: Fa, M: Fa, MM: Fa, y: Fa, yy: Fa, }, preparse: function (e) { return e.replace( /[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g, (function (e) {return Ha[e];})); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return Na[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, t) { return 12 === e && (e = 0), 'पहाटे' === t || 'सकाळी' === t ? e : 'दुपारी' === t || 'सायंकाळी' === t || 'रात्री' === t ? 12 <= e ? e : e + 12 : void 0; }, meridiem: function (e, t, n) { return 0 <= e && e < 6 ? 'पहाटे' : e < 12 ? 'सकाळी' : e < 17 ? 'दुपारी' : e < 20 ? 'सायंकाळी' : 'रात्री'; }, week: { dow: 0, doy: 6 }, }), n.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, t) { return 12 === e && (e = 0), 'pagi' === t ? e : 'tengahari' === t ? 11 <= e ? e : e + 12 : 'petang' === t || 'malam' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { 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 }, }), n.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, t) { return 12 === e && (e = 0), 'pagi' === t ? e : 'tengahari' === t ? 11 <= e ? e : e + 12 : 'petang' === t || 'malam' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { 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 }, }), n.defineLocale('mt', { months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split( '_'), monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split( '_'), weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split( '_'), weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'), weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_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ħada fil-]LT', nextWeek: 'dddd [fil-]LT', lastDay: '[Il-bieraħ fil-]LT', lastWeek: 'dddd [li għadda] [fil-]LT', sameElse: 'L', }, relativeTime: { future: 'f’ %s', past: '%s ilu', s: 'ftit sekondi', ss: '%d sekondi', m: 'minuta', mm: '%d minuti', h: 'siegħa', hh: '%d siegħat', d: 'ġurnata', dd: '%d ġranet', M: 'xahar', MM: '%d xhur', y: 'sena', yy: '%d sni', }, dayOfMonthOrdinalParse: /\d{1,2}\xba/, ordinal: '%dº', week: { dow: 1, doy: 4 }, }); var Ra = { 1: '၁', 2: '၂', 3: '၃', 4: '၄', 5: '၅', 6: '၆', 7: '၇', 8: '၈', 9: '၉', 0: '၀', }, za = { '၁': '1', '၂': '2', '၃': '3', '၄': '4', '၅': '5', '၆': '6', '၇': '7', '၈': '8', '၉': '9', '၀': '0', }; n.defineLocale('my', { months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split( '_'), monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split( '_'), weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split( '_'), weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'), weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.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: '[ယနေ.] LT [မှာ]', nextDay: '[မနက်ဖြန်] LT [မှာ]', nextWeek: 'dddd LT [မှာ]', lastDay: '[မနေ.က] LT [မှာ]', lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]', sameElse: 'L', }, relativeTime: { future: 'လာမည့် %s မှာ', past: 'လွန်ခဲ့သော %s က', s: 'စက္ကန်.အနည်းငယ်', ss: '%d စက္ကန့်', m: 'တစ်မိနစ်', mm: '%d မိနစ်', h: 'တစ်နာရီ', hh: '%d နာရီ', d: 'တစ်ရက်', dd: '%d ရက်', M: 'တစ်လ', MM: '%d လ', y: 'တစ်နှစ်', yy: '%d နှစ်', }, preparse: function (e) { return e.replace( /[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g, (function (e) {return za[e];})); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return Ra[e];})); }, week: { dow: 1, doy: 4 }, }), n.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øndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split( '_'), weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'), weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.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år 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: 'en time', hh: '%d timer', d: 'en dag', dd: '%d dager', w: 'en uke', ww: '%d uker', M: 'en måned', MM: '%d måneder', y: 'ett år', yy: '%d år', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); var Ba = { 1: '१', 2: '२', 3: '३', 4: '४', 5: '५', 6: '६', 7: '७', 8: '८', 9: '९', 0: '०', }, Wa = { '१': '1', '२': '2', '३': '3', '४': '4', '५': '5', '६': '6', '७': '7', '८': '8', '९': '9', '०': '0', }; n.defineLocale('ne', { months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split( '_'), monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split( '_'), monthsParseExact: !0, weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split( '_'), weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'), weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'), weekdaysParseExact: !0, 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 बजे', }, preparse: function (e) { return e.replace( /[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g, (function (e) {return Wa[e];})); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return Ba[e];})); }, meridiemParse: /\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/, meridiemHour: function (e, t) { return 12 === e && (e = 0), 'राति' === t ? e < 4 ? e : e + 12 : 'बिहान' === t ? e : 'दिउँसो' === t ? 10 <= e ? e : e + 12 : 'साँझ' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { return e < 3 ? 'राति' : e < 12 ? 'बिहान' : e < 16 ? 'दिउँसो' : e < 20 ? 'साँझ' : 'राति'; }, calendar: { sameDay: '[आज] LT', nextDay: '[भोलि] LT', nextWeek: '[आउँदो] dddd[,] LT', lastDay: '[हिजो] LT', lastWeek: '[गएको] dddd[,] LT', sameElse: 'L', }, relativeTime: { future: '%sमा', past: '%s अगाडि', s: 'केही क्षण', ss: '%d सेकेण्ड', m: 'एक मिनेट', mm: '%d मिनेट', h: 'एक घण्टा', hh: '%d घण्टा', d: 'एक दिन', dd: '%d दिन', M: 'एक महिना', MM: '%d महिना', y: 'एक बर्ष', yy: '%d बर्ष', }, week: { dow: 0, doy: 6 }, }); var Va = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( '_'), qa = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'), Ua = [ /^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], Xa = /^(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; n.defineLocale('nl-be', { months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( '_'), monthsShort: function (e, t) { return e ? /-MMM-/.test(t) ? qa[e.month()] : Va[e.month()] : Va; }, monthsRegex: Xa, monthsShortRegex: Xa, 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: Ua, longMonthsParse: Ua, shortMonthsParse: Ua, 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: 'één minuut', mm: '%d minuten', h: 'één uur', hh: '%d uur', d: 'één dag', dd: '%d dagen', M: 'één maand', MM: '%d maanden', 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 }, }); var $a = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split( '_'), Ga = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'), Za = [ /^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], Ka = /^(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; n.defineLocale('nl', { months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split( '_'), monthsShort: function (e, t) { return e ? /-MMM-/.test(t) ? Ga[e.month()] : $a[e.month()] : $a; }, monthsRegex: Ka, monthsShortRegex: Ka, 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: Za, longMonthsParse: Za, shortMonthsParse: Za, 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: 'één minuut', mm: '%d minuten', h: 'één uur', hh: '%d uur', d: 'één dag', dd: '%d dagen', w: 'één week', ww: '%d weken', M: 'één maand', MM: '%d maanden', 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 }, }), n.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åndag_tysdag_onsdag_torsdag_fredag_laurdag'.split( '_'), weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'), weekdaysMin: 'su_må_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år klokka] LT', lastWeek: '[Føregåande] 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ånad', MM: '%d månader', y: 'eit år', yy: '%d år', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.defineLocale('oc-lnc', { months: { standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split( '_'), format: 'de genièr_de febrièr_de març_d\'abril_de mai_de junh_de julhet_d\'agost_de setembre_d\'octòbre_de novembre_de decembre'.split( '_'), isFormat: /D[oD]?(\s)+MMMM/, }, monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split( '_'), monthsParseExact: !0, weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_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èi a] LT', nextDay: '[deman a] LT', nextWeek: 'dddd [a] LT', lastDay: '[ièr a] LT', lastWeek: 'dddd [passat a] LT', sameElse: 'L', }, relativeTime: { future: 'd\'aquí %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, t) { return e + ('w' !== t && 'W' !== t ? 1 === e ? 'r' : 2 === e ? 'n' : 3 === e ? 'r' : 4 === e ? 't' : 'è' : 'a'); }, week: { dow: 1, doy: 4 }, }); var Ja = { 1: '੧', 2: '੨', 3: '੩', 4: '੪', 5: '੫', 6: '੬', 7: '੭', 8: '੮', 9: '੯', 0: '੦', }, Qa = { '੧': '1', '੨': '2', '੩': '3', '੪': '4', '੫': '5', '੬': '6', '੭': '7', '੮': '8', '੯': '9', '੦': '0', }; n.defineLocale('pa-in', { months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( '_'), monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split( '_'), weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split( '_'), weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'), weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.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: '[ਅਜ] LT', nextDay: '[ਕਲ] LT', nextWeek: '[ਅਗਲਾ] dddd, LT', lastDay: '[ਕਲ] LT', lastWeek: '[ਪਿਛਲੇ] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s ਵਿੱਚ', past: '%s ਪਿਛਲੇ', s: 'ਕੁਝ ਸਕਿੰਟ', ss: '%d ਸਕਿੰਟ', m: 'ਇਕ ਮਿੰਟ', mm: '%d ਮਿੰਟ', h: 'ਇੱਕ ਘੰਟਾ', hh: '%d ਘੰਟੇ', d: 'ਇੱਕ ਦਿਨ', dd: '%d ਦਿਨ', M: 'ਇੱਕ ਮਹੀਨਾ', MM: '%d ਮਹੀਨੇ', y: 'ਇੱਕ ਸਾਲ', yy: '%d ਸਾਲ', }, preparse: function (e) { return e.replace( /[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g, (function (e) {return Qa[e];})); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return Ja[e];})); }, meridiemParse: /\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/, meridiemHour: function (e, t) { return 12 === e && (e = 0), 'ਰਾਤ' === t ? e < 4 ? e : e + 12 : 'ਸਵੇਰ' === t ? e : 'ਦੁਪਹਿਰ' === t ? 10 <= e ? e : e + 12 : 'ਸ਼ਾਮ' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { return e < 4 ? 'ਰਾਤ' : e < 10 ? 'ਸਵੇਰ' : e < 17 ? 'ਦੁਪਹਿਰ' : e < 20 ? 'ਸ਼ਾਮ' : 'ਰਾਤ'; }, week: { dow: 0, doy: 6 }, }); var er = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split( '_'), tr = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split( '_'), nr = [ /^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 ir (e) {return e % 10 < 5 && 1 < e % 10 && ~~(e / 10) % 10 != 1;} function ar (e, t, n) { var i = e + ' '; switch (n) { case'ss': return i + (ir(e) ? 'sekundy' : 'sekund'); case'm': return t ? 'minuta' : 'minutę'; case'mm': return i + (ir(e) ? 'minuty' : 'minut'); case'h': return t ? 'godzina' : 'godzinę'; case'hh': return i + (ir(e) ? 'godziny' : 'godzin'); case'ww': return i + (ir(e) ? 'tygodnie' : 'tygodni'); case'MM': return i + (ir(e) ? 'miesiące' : 'miesięcy'); case'yy': return i + (ir(e) ? 'lata' : 'lat'); } } function rr (e, t, n) { return e + (20 <= e % 100 || 100 <= e && e % 100 == 0 ? ' de ' : ' ') + { ss: 'secunde', mm: 'minute', hh: 'ore', dd: 'zile', ww: 'săptămâni', MM: 'luni', yy: 'ani', }[n]; } function or (e, t, n) { var i, a; return 'm' === n ? t ? 'минута' : 'минуту' : e + ' ' + (i = +e, a = { ss: t ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд', mm: t ? 'минута_минуты_минут' : 'минуту_минуты_минут', hh: 'час_часа_часов', dd: 'день_дня_дней', ww: 'неделя_недели_недель', MM: 'месяц_месяца_месяцев', yy: 'год_года_лет', }[n].split('_'), i % 10 == 1 && i % 100 != 11 ? a[0] : 2 <= i % 10 && i % 10 <= 4 && (i % 100 < 10 || 20 <= i % 100) ? a[1] : a[2]); } n.defineLocale('pl', { months: function (e, t) { return e ? /D MMMM/.test(t) ? tr[e.month()] : er[e.month()] : er; }, monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split( '_'), monthsParse: nr, longMonthsParse: nr, shortMonthsParse: nr, weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split( '_'), weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'), weekdaysMin: 'Nd_Pn_Wt_Śr_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ś o] LT', nextDay: '[Jutro o] LT', nextWeek: function () { switch (this.day()) { case 0: return '[W niedzielę o] LT'; case 2: return '[We wtorek o] LT'; case 3: return '[W środę o] LT'; case 6: return '[W sobotę o] LT'; default: return '[W] dddd [o] LT'; } }, lastDay: '[Wczoraj o] LT', lastWeek: function () { switch (this.day()) { case 0: return '[W zeszłą niedzielę o] LT'; case 3: return '[W zeszłą środę o] LT'; case 6: return '[W zeszłą sobotę o] LT'; default: return '[W zeszły] dddd [o] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: '%s temu', s: 'kilka sekund', ss: ar, m: ar, mm: ar, h: ar, hh: ar, d: '1 dzień', dd: '%d dni', w: 'tydzień', ww: ar, M: 'miesiąc', MM: ar, y: 'rok', yy: ar, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.defineLocale('pt-br', { months: 'janeiro_fevereiro_março_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ça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split( '_'), weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'), weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.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 [às] HH:mm', LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm', }, calendar: { sameDay: '[Hoje às] LT', nextDay: '[Amanhã às] LT', nextWeek: 'dddd [às] LT', lastDay: '[Ontem às] LT', lastWeek: function () { return 0 === this.day() || 6 === this.day() ? '[Último] dddd [às] LT' : '[Última] dddd [às] LT'; }, sameElse: 'L', }, relativeTime: { future: 'em %s', past: 'há %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ês', MM: '%d meses', y: 'um ano', yy: '%d anos', }, dayOfMonthOrdinalParse: /\d{1,2}\xba/, ordinal: '%dº', invalidDate: 'Data inválida', }), n.defineLocale('pt', { months: 'janeiro_fevereiro_março_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ça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split( '_'), weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.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 às] LT', nextDay: '[Amanhã às] LT', nextWeek: 'dddd [às] LT', lastDay: '[Ontem às] LT', lastWeek: function () { return 0 === this.day() || 6 === this.day() ? '[Último] dddd [às] LT' : '[Última] dddd [às] LT'; }, sameElse: 'L', }, relativeTime: { future: 'em %s', past: 'há %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ês', MM: '%d meses', y: 'um ano', yy: '%d anos', }, dayOfMonthOrdinalParse: /\d{1,2}\xba/, ordinal: '%dº', week: { dow: 1, doy: 4 }, }), n.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ă_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'), weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.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âine la] LT', nextWeek: 'dddd [la] LT', lastDay: '[ieri la] LT', lastWeek: '[fosta] dddd [la] LT', sameElse: 'L', }, relativeTime: { future: 'peste %s', past: '%s în urmă', s: 'câteva secunde', ss: rr, m: 'un minut', mm: rr, h: 'o oră', hh: rr, d: 'o zi', dd: rr, w: 'o săptămână', ww: rr, M: 'o lună', MM: rr, y: 'un an', yy: rr, }, week: { dow: 1, doy: 7 }, }); var sr = [ /^\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]; n.defineLocale('ru', { months: { format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split( '_'), standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split( '_'), }, monthsShort: { format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split( '_'), standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split( '_'), }, weekdays: { standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split( '_'), format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.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: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'), monthsParse: sr, longMonthsParse: sr, shortMonthsParse: sr, 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 г.', LLL: 'D MMMM YYYY г., H:mm', LLLL: 'dddd, D MMMM YYYY г., H:mm', }, calendar: { sameDay: '[Сегодня, в] LT', nextDay: '[Завтра, в] LT', lastDay: '[Вчера, в] LT', nextWeek: function (e) { if (e.week() === this.week()) return 2 === this.day() ? '[Во] dddd, [в] LT' : '[В] dddd, [в] LT'; switch (this.day()) { case 0: return '[В следующее] dddd, [в] LT'; case 1: case 2: case 4: return '[В следующий] dddd, [в] LT'; case 3: case 5: case 6: return '[В следующую] dddd, [в] LT'; } }, lastWeek: function (e) { if (e.week() === this.week()) return 2 === this.day() ? '[Во] dddd, [в] LT' : '[В] dddd, [в] LT'; switch (this.day()) { case 0: return '[В прошлое] dddd, [в] LT'; case 1: case 2: case 4: return '[В прошлый] dddd, [в] LT'; case 3: case 5: case 6: return '[В прошлую] dddd, [в] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'через %s', past: '%s назад', s: 'несколько секунд', ss: or, m: or, mm: or, h: 'час', hh: or, d: 'день', dd: or, w: 'неделя', ww: or, M: 'месяц', MM: or, y: 'год', yy: or, }, 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, t, n) { return e < 4 ? 'ночи' : e < 12 ? 'утра' : e < 17 ? 'дня' : 'вечера'; }, dayOfMonthOrdinalParse: /\d{1,2}-(\u0439|\u0433\u043e|\u044f)/, ordinal: function (e, t) { switch (t) { case'M': case'd': case'DDD': return e + '-й'; case'D': return e + '-го'; case'w': case'W': return e + '-я'; default: return e; } }, week: { dow: 1, doy: 4 }, }); var lr = [ 'جنوري', 'فيبروري', 'مارچ', 'اپريل', 'مئي', 'جون', 'جولاءِ', 'آگسٽ', 'سيپٽمبر', 'آڪٽوبر', 'نومبر', 'ڊسمبر'], cr = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر']; n.defineLocale('sd', { months: lr, monthsShort: lr, weekdays: cr, weekdaysShort: cr, weekdaysMin: cr, 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\u0628\u062d|\u0634\u0627\u0645/, isPM: function (e) {return 'شام' === e;}, meridiem: function (e, t, n) {return e < 12 ? 'صبح' : 'شام';}, calendar: { sameDay: '[اڄ] LT', nextDay: '[سڀاڻي] LT', nextWeek: 'dddd [اڳين هفتي تي] LT', lastDay: '[ڪالهه] LT', lastWeek: '[گزريل هفتي] dddd [تي] LT', sameElse: 'L', }, relativeTime: { future: '%s پوء', past: '%s اڳ', s: 'چند سيڪنڊ', ss: '%d سيڪنڊ', m: 'هڪ منٽ', mm: '%d منٽ', h: 'هڪ ڪلاڪ', hh: '%d ڪلاڪ', d: 'هڪ ڏينهن', dd: '%d ڏينهن', M: 'هڪ مهينو', MM: '%d مهينا', y: 'هڪ سال', yy: '%d سال', }, preparse: function (e) {return e.replace(/\u060c/g, ',');}, postformat: function (e) {return e.replace(/,/g, '،');}, week: { dow: 1, doy: 4 }, }), n.defineLocale('se', { months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split( '_'), monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split( '_'), weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split( '_'), weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.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žes', past: 'maŋit %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ánnu', MM: '%d mánut', y: 'okta jahki', yy: '%d jagit', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.defineLocale('si', { months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split( '_'), monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split( '_'), weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split( '_'), weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන'.split('_'), weekdaysMin: 'ඉ_ස_අ_බ_බ්ර_සි_සෙ'.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 [වැනි] dddd, a h:mm:ss', }, calendar: { sameDay: '[අද] LT[ට]', nextDay: '[හෙට] LT[ට]', nextWeek: 'dddd LT[ට]', lastDay: '[ඊයේ] LT[ට]', lastWeek: '[පසුගිය] dddd LT[ට]', sameElse: 'L', }, relativeTime: { future: '%sකින්', past: '%sකට පෙර', s: 'තත්පර කිහිපය', ss: 'තත්පර %d', m: 'මිනිත්තුව', mm: 'මිනිත්තු %d', h: 'පැය', hh: 'පැය %d', d: 'දිනය', dd: 'දින %d', M: 'මාසය', MM: 'මාස %d', y: 'වසර', yy: 'වසර %d', }, dayOfMonthOrdinalParse: /\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/, ordinal: function (e) {return e + ' වැනි';}, meridiemParse: /\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./, isPM: function (e) {return 'ප.ව.' === e || 'පස් වරු' === e;}, meridiem: function (e, t, n) { return 11 < e ? n ? 'ප.ව.' : 'පස් වරු' : n ? 'පෙ.ව.' : 'පෙර වරු'; }, }); var ur = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split( '_'), dr = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); function hr (e) {return 1 < e && e < 5;} function fr (e, t, n, i) { var a = e + ' '; switch (n) { case's': return t || i ? 'pár sekúnd' : 'pár sekundami'; case'ss': return t || i ? a + (hr(e) ? 'sekundy' : 'sekúnd') : a + 'sekundami'; case'm': return t ? 'minúta' : i ? 'minútu' : 'minútou'; case'mm': return t || i ? a + (hr(e) ? 'minúty' : 'minút') : a + 'minútami'; case'h': return t ? 'hodina' : i ? 'hodinu' : 'hodinou'; case'hh': return t || i ? a + (hr(e) ? 'hodiny' : 'hodín') : a + 'hodinami'; case'd': return t || i ? 'deň' : 'dňom'; case'dd': return t || i ? a + (hr(e) ? 'dni' : 'dní') : a + 'dňami'; case'M': return t || i ? 'mesiac' : 'mesiacom'; case'MM': return t || i ? a + (hr(e) ? 'mesiace' : 'mesiacov') : a + 'mesiacmi'; case'y': return t || i ? 'rok' : 'rokom'; case'yy': return t || i ? a + (hr(e) ? 'roky' : 'rokov') : a + 'rokmi'; } } function pr (e, t, n, i) { var a = e + ' '; switch (n) { case's': return t || i ? 'nekaj sekund' : 'nekaj sekundami'; case'ss': return a + (1 === e ? t ? 'sekundo' : 'sekundi' : 2 === e ? t || i ? 'sekundi' : 'sekundah' : e < 5 ? t || i ? 'sekunde' : 'sekundah' : 'sekund'); case'm': return t ? 'ena minuta' : 'eno minuto'; case'mm': return a + (1 === e ? t ? 'minuta' : 'minuto' : 2 === e ? t || i ? 'minuti' : 'minutama' : e < 5 ? t || i ? 'minute' : 'minutami' : t || i ? 'minut' : 'minutami'); case'h': return t ? 'ena ura' : 'eno uro'; case'hh': return a + (1 === e ? t ? 'ura' : 'uro' : 2 === e ? t || i ? 'uri' : 'urama' : e < 5 ? t || i ? 'ure' : 'urami' : t || i ? 'ur' : 'urami'); case'd': return t || i ? 'en dan' : 'enim dnem'; case'dd': return a + (1 === e ? t || i ? 'dan' : 'dnem' : 2 === e ? t || i ? 'dni' : 'dnevoma' : t || i ? 'dni' : 'dnevi'); case'M': return t || i ? 'en mesec' : 'enim mesecem'; case'MM': return a + (1 === e ? t || i ? 'mesec' : 'mesecem' : 2 === e ? t || i ? 'meseca' : 'mesecema' : e < 5 ? t || i ? 'mesece' : 'meseci' : t || i ? 'mesecev' : 'meseci'); case'y': return t || i ? 'eno leto' : 'enim letom'; case'yy': return a + (1 === e ? t || i ? 'leto' : 'letom' : 2 === e ? t || i ? 'leti' : 'letoma' : e < 5 ? t || i ? 'leta' : 'leti' : t || i ? 'let' : 'leti'); } } n.defineLocale('sk', { months: ur, monthsShort: dr, weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split( '_'), weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'), weekdaysMin: 'ne_po_ut_st_št_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ľu o] LT'; case 1: case 2: return '[v] dddd [o] LT'; case 3: return '[v stredu o] LT'; case 4: return '[vo štvrtok o] LT'; case 5: return '[v piatok o] LT'; case 6: return '[v sobotu o] LT'; } }, lastDay: '[včera o] LT', lastWeek: function () { switch (this.day()) { case 0: return '[minulú nedeľu o] LT'; case 1: case 2: return '[minulý] dddd [o] LT'; case 3: return '[minulú stredu o] LT'; case 4: case 5: return '[minulý] dddd [o] LT'; case 6: return '[minulú sobotu o] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: 'pred %s', s: fr, ss: fr, m: fr, mm: fr, h: fr, hh: fr, d: fr, dd: fr, M: fr, MM: fr, y: fr, yy: fr, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.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_četrtek_petek_sobota'.split( '_'), weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'), weekdaysMin: 'ne_po_to_sr_če_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čeraj ob] LT', lastWeek: function () { switch (this.day()) { case 0: return '[prejšnjo] [nedeljo] [ob] LT'; case 3: return '[prejšnjo] [sredo] [ob] LT'; case 6: return '[prejšnjo] [soboto] [ob] LT'; case 1: case 2: case 4: case 5: return '[prejšnji] dddd [ob] LT'; } }, sameElse: 'L', }, relativeTime: { future: 'čez %s', past: 'pred %s', s: pr, ss: pr, m: pr, mm: pr, h: pr, hh: pr, d: pr, dd: pr, M: pr, MM: pr, y: pr, yy: pr, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }), n.defineLocale('sq', { months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split( '_'), monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split( '_'), weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split( '_'), weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'), weekdaysParseExact: !0, meridiemParse: /PD|MD/, isPM: function (e) {return 'M' === e.charAt(0);}, meridiem: function (e, t, n) {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ë] LT', nextDay: '[Nesër në] LT', nextWeek: 'dddd [në] LT', lastDay: '[Dje në] LT', lastWeek: 'dddd [e kaluar në] LT', sameElse: 'L', }, relativeTime: { future: 'në %s', past: '%s më parë', s: 'disa sekonda', ss: '%d sekonda', m: 'një minutë', mm: '%d minuta', h: 'një orë', hh: '%d orë', d: 'një ditë', dd: '%d ditë', M: 'një muaj', MM: '%d muaj', y: 'një vit', yy: '%d vite', }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); var mr = { words: { ss: ['секунда', 'секунде', 'секунди'], m: ['један минут', 'једне минуте'], mm: ['минут', 'минуте', 'минута'], h: ['један сат', 'једног сата'], hh: ['сат', 'сата', 'сати'], dd: ['дан', 'дана', 'дана'], MM: ['месец', 'месеца', 'месеци'], yy: ['година', 'године', 'година'], }, correctGrammaticalCase: function (e, t) { return 1 === e ? t[0] : 2 <= e && e <= 4 ? t[1] : t[2]; }, translate: function (e, t, n) { var i = mr.words[n]; return 1 === n.length ? t ? i[0] : i[1] : e + ' ' + mr.correctGrammaticalCase(e, i); }, }; n.defineLocale('sr-cyrl', { months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split( '_'), monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split( '_'), monthsParseExact: !0, weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split( '_'), weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'), weekdaysMin: 'не_по_ут_ср_че_пе_су'.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: '[данас у] LT', nextDay: '[сутра у] LT', nextWeek: function () { switch (this.day()) { case 0: return '[у] [недељу] [у] LT'; case 3: return '[у] [среду] [у] LT'; case 6: return '[у] [суботу] [у] LT'; case 1: case 2: case 4: case 5: return '[у] dddd [у] LT'; } }, lastDay: '[јуче у] LT', lastWeek: function () { return [ '[прошле] [недеље] [у] LT', '[прошлог] [понедељка] [у] LT', '[прошлог] [уторка] [у] LT', '[прошле] [среде] [у] LT', '[прошлог] [четвртка] [у] LT', '[прошлог] [петка] [у] LT', '[прошле] [суботе] [у] LT'][this.day()]; }, sameElse: 'L', }, relativeTime: { future: 'за %s', past: 'пре %s', s: 'неколико секунди', ss: mr.translate, m: mr.translate, mm: mr.translate, h: mr.translate, hh: mr.translate, d: 'дан', dd: mr.translate, M: 'месец', MM: mr.translate, y: 'годину', yy: mr.translate, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }); var gr = { words: { ss: ['sekunda', 'sekunde', 'sekundi'], m: ['jedan minut', 'jedne minute'], mm: ['minut', 'minute', 'minuta'], h: ['jedan sat', 'jednog sata'], hh: ['sat', 'sata', 'sati'], dd: ['dan', 'dana', 'dana'], MM: ['mesec', 'meseca', 'meseci'], yy: ['godina', 'godine', 'godina'], }, correctGrammaticalCase: function (e, t) { return 1 === e ? t[0] : 2 <= e && e <= 4 ? t[1] : t[2]; }, translate: function (e, t, n) { var i = gr.words[n]; return 1 === n.length ? t ? i[0] : i[1] : e + ' ' + gr.correctGrammaticalCase(e, i); }, }; n.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_četvrtak_petak_subota'.split( '_'), weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'), weekdaysMin: 'ne_po_ut_sr_če_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če u] LT', lastWeek: function () { return [ '[prošle] [nedelje] [u] LT', '[prošlog] [ponedeljka] [u] LT', '[prošlog] [utorka] [u] LT', '[prošle] [srede] [u] LT', '[prošlog] [četvrtka] [u] LT', '[prošlog] [petka] [u] LT', '[prošle] [subote] [u] LT'][this.day()]; }, sameElse: 'L', }, relativeTime: { future: 'za %s', past: 'pre %s', s: 'nekoliko sekundi', ss: gr.translate, m: gr.translate, mm: gr.translate, h: gr.translate, hh: gr.translate, d: 'dan', dd: gr.translate, M: 'mesec', MM: gr.translate, y: 'godinu', yy: gr.translate, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 7 }, }), n.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, t, n) { return e < 11 ? 'ekuseni' : e < 15 ? 'emini' : e < 19 ? 'entsambama' : 'ebusuku'; }, meridiemHour: function (e, t) { return 12 === e && (e = 0), 'ekuseni' === t ? e : 'emini' === t ? 11 <= e ? e : e + 12 : 'entsambama' === t || 'ebusuku' === t ? 0 === e ? 0 : e + 12 : void 0; }, dayOfMonthOrdinalParse: /\d{1,2}/, ordinal: '%d', week: { dow: 1, doy: 4 }, }), n.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öndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split( '_'), weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'), weekdaysMin: 'sö_må_ti_on_to_fr_lö'.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år] LT', nextWeek: '[På] dddd LT', lastWeek: '[I] dddd[s] LT', sameElse: 'L', }, relativeTime: { future: 'om %s', past: 'för %s sedan', s: 'några 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ånad', MM: '%d månader', y: 'ett år', yy: '%d år', }, dayOfMonthOrdinalParse: /\d{1,2}(\:e|\:a)/, ordinal: function (e) { var t = e % 10; return e + (1 == ~~(e % 100 / 10) || 1 != t && 2 != t ? ':e' : ':a'); }, week: { dow: 1, doy: 4 }, }), n.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 }, }); var vr = { 1: '௧', 2: '௨', 3: '௩', 4: '௪', 5: '௫', 6: '௬', 7: '௭', 8: '௮', 9: '௯', 0: '௦', }, yr = { '௧': '1', '௨': '2', '௩': '3', '௪': '4', '௫': '5', '௬': '6', '௭': '7', '௮': '8', '௯': '9', '௦': '0', }; n.defineLocale('ta', { months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( '_'), monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split( '_'), weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split( '_'), weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split( '_'), weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.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: '[இன்று] LT', nextDay: '[நாளை] LT', nextWeek: 'dddd, LT', lastDay: '[நேற்று] LT', lastWeek: '[கடந்த வாரம்] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s இல்', past: '%s முன்', s: 'ஒரு சில விநாடிகள்', ss: '%d விநாடிகள்', m: 'ஒரு நிமிடம்', mm: '%d நிமிடங்கள்', h: 'ஒரு மணி நேரம்', hh: '%d மணி நேரம்', d: 'ஒரு நாள்', dd: '%d நாட்கள்', M: 'ஒரு மாதம்', MM: '%d மாதங்கள்', y: 'ஒரு வருடம்', yy: '%d ஆண்டுகள்', }, dayOfMonthOrdinalParse: /\d{1,2}\u0bb5\u0ba4\u0bc1/, ordinal: function (e) {return e + 'வது';}, preparse: function (e) { return e.replace( /[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g, (function (e) {return yr[e];})); }, postformat: function (e) { return e.replace(/\d/g, (function (e) {return vr[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, t, n) { return e < 2 ? ' யாமம்' : e < 6 ? ' வைகறை' : e < 10 ? ' காலை' : e < 14 ? ' நண்பகல்' : e < 18 ? ' எற்பாடு' : e < 22 ? ' மாலை' : ' யாமம்'; }, meridiemHour: function (e, t) { return 12 === e && (e = 0), 'யாமம்' === t ? e < 2 ? e : e + 12 : 'வைகறை' === t || 'காலை' === t || 'நண்பகல்' === t && 10 <= e ? e : e + 12; }, week: { dow: 0, doy: 6 }, }), n.defineLocale('te', { months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split( '_'), monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split( '_'), monthsParseExact: !0, weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split( '_'), weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'), weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.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: '[నేడు] LT', nextDay: '[రేపు] LT', nextWeek: 'dddd, LT', lastDay: '[నిన్న] LT', lastWeek: '[గత] dddd, LT', sameElse: 'L', }, relativeTime: { future: '%s లో', past: '%s క్రితం', s: 'కొన్ని క్షణాలు', ss: '%d సెకన్లు', m: 'ఒక నిమిషం', mm: '%d నిమిషాలు', h: 'ఒక గంట', hh: '%d గంటలు', d: 'ఒక రోజు', dd: '%d రోజులు', M: 'ఒక నెల', MM: '%d నెలలు', y: 'ఒక సంవత్సరం', yy: '%d సంవత్సరాలు', }, dayOfMonthOrdinalParse: /\d{1,2}\u0c35/, ordinal: '%dవ', 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, t) { return 12 === e && (e = 0), 'రాత్రి' === t ? e < 4 ? e : e + 12 : 'ఉదయం' === t ? e : 'మధ్యాహ్నం' === t ? 10 <= e ? e : e + 12 : 'సాయంత్రం' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { return e < 4 ? 'రాత్రి' : e < 10 ? 'ఉదయం' : e < 17 ? 'మధ్యాహ్నం' : e < 20 ? 'సాయంత్రం' : 'రాత్రి'; }, week: { dow: 0, doy: 6 }, }), n.defineLocale('tet', { months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_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 t = e % 10; return e + (1 == ~~(e % 100 / 10) ? 'th' : 1 == t ? 'st' : 2 == t ? 'nd' : 3 == t ? 'rd' : 'th'); }, week: { dow: 1, doy: 4 }, }); var br = { 0: '-ум', 1: '-ум', 2: '-юм', 3: '-юм', 4: '-ум', 5: '-ум', 6: '-ум', 7: '-ум', 8: '-ум', 9: '-ум', 10: '-ум', 12: '-ум', 13: '-ум', 20: '-ум', 30: '-юм', 40: '-ум', 50: '-ум', 60: '-ум', 70: '-ум', 80: '-ум', 90: '-ум', 100: '-ум', }; n.defineLocale('tg', { months: { format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split( '_'), standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( '_'), }, monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split( '_'), weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split( '_'), weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'), weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.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: '[Имрӯз соати] LT', nextDay: '[Фардо соати] LT', lastDay: '[Дирӯз соати] LT', nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT', lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT', sameElse: 'L', }, relativeTime: { future: 'баъди %s', past: '%s пеш', s: 'якчанд сония', m: 'як дақиқа', mm: '%d дақиқа', h: 'як соат', hh: '%d соат', d: 'як рӯз', dd: '%d рӯз', M: 'як моҳ', MM: '%d моҳ', y: 'як сол', yy: '%d сол', }, meridiemParse: /\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/, meridiemHour: function (e, t) { return 12 === e && (e = 0), 'шаб' === t ? e < 4 ? e : e + 12 : 'субҳ' === t ? e : 'рӯз' === t ? 11 <= e ? e : e + 12 : 'бегоҳ' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { return e < 4 ? 'шаб' : e < 11 ? 'субҳ' : e < 16 ? 'рӯз' : e < 19 ? 'бегоҳ' : 'шаб'; }, dayOfMonthOrdinalParse: /\d{1,2}-(\u0443\u043c|\u044e\u043c)/, ordinal: function (e) { return e + (br[e] || br[e % 10] || br[100 <= e ? 100 : null]); }, week: { dow: 1, doy: 7 }, }), n.defineLocale('th', { months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split( '_'), monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split( '_'), monthsParseExact: !0, weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'), weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.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', }, 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 'หลังเที่ยง' === e;}, meridiem: function (e, t, n) { return e < 12 ? 'ก่อนเที่ยง' : 'หลังเที่ยง'; }, calendar: { sameDay: '[วันนี้ เวลา] LT', nextDay: '[พรุ่งนี้ เวลา] LT', nextWeek: 'dddd[หน้า เวลา] LT', lastDay: '[เมื่อวานนี้ เวลา] LT', lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT', sameElse: 'L', }, relativeTime: { future: 'อีก %s', past: '%sที่แล้ว', s: 'ไม่กี่วินาที', ss: '%d วินาที', m: '1 นาที', mm: '%d นาที', h: '1 ชั่วโมง', hh: '%d ชั่วโมง', d: '1 วัน', dd: '%d วัน', w: '1 สัปดาห์', ww: '%d สัปดาห์', M: '1 เดือน', MM: '%d เดือน', y: '1 ปี', yy: '%d ปี', }, }); var xr = { 1: '\'inji', 5: '\'inji', 8: '\'inji', 70: '\'inji', 80: '\'inji', 2: '\'nji', 7: '\'nji', 20: '\'nji', 50: '\'nji', 3: '\'ünji', 4: '\'ünji', 100: '\'ünji', 6: '\'njy', 9: '\'unjy', 10: '\'unjy', 30: '\'unjy', 60: '\'ynjy', 90: '\'ynjy', }; n.defineLocale('tk', { months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split( '_'), monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split( '_'), weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split( '_'), weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'), weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.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ün sagat] LT', nextDay: '[ertir sagat] LT', nextWeek: '[indiki] dddd [sagat] LT', lastDay: '[düýn] LT', lastWeek: '[geçen] dddd [sagat] LT', sameElse: 'L', }, relativeTime: { future: '%s soň', past: '%s öň', s: 'birnäçe sekunt', m: 'bir minut', mm: '%d minut', h: 'bir sagat', hh: '%d sagat', d: 'bir gün', dd: '%d gün', M: 'bir aý', MM: '%d aý', y: 'bir ýyl', yy: '%d ýyl', }, ordinal: function (e, t) { switch (t) { case'd': case'D': case'Do': case'DD': return e; default: if (0 === e) return e + '\'unjy'; var n = e % 10; return e + (xr[n] || xr[e % 100 - n] || xr[100 <= e ? 100 : null]); } }, week: { dow: 1, doy: 7 }, }), n.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 }, }); var _r = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); function wr (e, t, n, i) { var a = function (e) { var t = Math.floor(e % 1e3 / 100), n = Math.floor(e % 100 / 10), i = e % 10, a = ''; return 0 < t && (a += _r[t] + 'vatlh'), 0 < n && (a += ('' !== a ? ' ' : '') + _r[n] + 'maH'), 0 < i && (a += ('' !== a ? ' ' : '') + _r[i]), '' === a ? 'pagh' : a; }(e); switch (n) { case'ss': return a + ' lup'; case'mm': return a + ' tup'; case'hh': return a + ' rep'; case'dd': return a + ' jaj'; case'MM': return a + ' jar'; case'yy': return a + ' DIS'; } } n.defineLocale('tlh', { months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split( '_'), monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.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’leS] LT', nextWeek: 'LLL', lastDay: '[wa’Hu’] LT', lastWeek: 'LLL', sameElse: 'L', }, relativeTime: { future: function (e) { var t = e; return -1 !== e.indexOf('jaj') ? t.slice(0, -3) + 'leS' : -1 !== e.indexOf('jar') ? t.slice(0, -3) + 'waQ' : -1 !== e.indexOf('DIS') ? t.slice(0, -3) + 'nem' : t + ' pIq'; }, past: function (e) { var t = e; return -1 !== e.indexOf('jaj') ? t.slice(0, -3) + 'Hu’' : -1 !== e.indexOf('jar') ? t.slice(0, -3) + 'wen' : -1 !== e.indexOf('DIS') ? t.slice(0, -3) + 'ben' : t + ' ret'; }, s: 'puS lup', ss: wr, m: 'wa’ tup', mm: wr, h: 'wa’ rep', hh: wr, d: 'wa’ jaj', dd: wr, M: 'wa’ jar', MM: wr, y: 'wa’ DIS', yy: wr, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }); var kr = { 1: '\'inci', 5: '\'inci', 8: '\'inci', 70: '\'inci', 80: '\'inci', 2: '\'nci', 7: '\'nci', 20: '\'nci', 50: '\'nci', 3: '\'üncü', 4: '\'üncü', 100: '\'üncü', 6: '\'ncı', 9: '\'uncu', 10: '\'uncu', 30: '\'uncu', 60: '\'ıncı', 90: '\'ıncı', }; function Mr (e, t, n, i) { var a = { s: [ 'viensas secunds', '\'iensas secunds'], ss: [e + ' secunds', e + ' secunds'], m: ['\'n míut', '\'iens míut'], mm: [e + ' míuts', e + ' míuts'], h: ['\'n þora', '\'iensa þora'], hh: [e + ' þoras', e + ' þoras'], 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 i || t ? a[n][0] : a[n][1]; } function Lr (e, t, n) { var i, a; return 'm' === n ? t ? 'хвилина' : 'хвилину' : 'h' === n ? t ? 'година' : 'годину' : e + ' ' + (i = +e, a = { ss: t ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд', mm: t ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', hh: t ? 'година_години_годин' : 'годину_години_годин', dd: 'день_дні_днів', MM: 'місяць_місяці_місяців', yy: 'рік_роки_років', }[n].split('_'), i % 10 == 1 && i % 100 != 11 ? a[0] : 2 <= i % 10 && i % 10 <= 4 && (i % 100 < 10 || 20 <= i % 100) ? a[1] : a[2]); } function Sr (e) { return function () { return e + 'о' + (11 === this.hours() ? 'б' : '') + '] LT'; }; } n.defineLocale('tr', { months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split( '_'), monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split( '_'), weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split( '_'), weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'), weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'), meridiem: function (e, t, n) { return e < 12 ? n ? 'öö' : 'ÖÖ' : n ? 'ös' : 'ÖS'; }, meridiemParse: /\xf6\xf6|\xd6\xd6|\xf6s|\xd6S/, isPM: function (e) {return 'ös' === e || 'ÖS' === 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ün saat] LT', nextDay: '[yarın saat] LT', nextWeek: '[gelecek] dddd [saat] LT', lastDay: '[dün] LT', lastWeek: '[geçen] dddd [saat] LT', sameElse: 'L', }, relativeTime: { future: '%s sonra', past: '%s önce', s: 'birkaç saniye', ss: '%d saniye', m: 'bir dakika', mm: '%d dakika', h: 'bir saat', hh: '%d saat', d: 'bir gün', dd: '%d gün', w: 'bir hafta', ww: '%d hafta', M: 'bir ay', MM: '%d ay', y: 'bir yıl', yy: '%d yıl', }, ordinal: function (e, t) { switch (t) { case'd': case'D': case'Do': case'DD': return e; default: if (0 === e) return e + '\'ıncı'; var n = e % 10; return e + (kr[n] || kr[e % 100 - n] || kr[100 <= e ? 100 : null]); } }, week: { dow: 1, doy: 7 }, }), n.defineLocale('tzl', { months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split( '_'), monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split( '_'), weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split( '_'), weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.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, t, n) { return 11 < e ? n ? 'd\'o' : 'D\'O' : n ? 'd\'a' : 'D\'A'; }, calendar: { sameDay: '[oxhi à] LT', nextDay: '[demà à] LT', nextWeek: 'dddd [à] LT', lastDay: '[ieiri à] LT', lastWeek: '[sür el] dddd [lasteu à] LT', sameElse: 'L', }, relativeTime: { future: 'osprei %s', past: 'ja%s', s: Mr, ss: Mr, m: Mr, mm: Mr, h: Mr, hh: Mr, d: Mr, dd: Mr, M: Mr, MM: Mr, y: Mr, yy: Mr, }, dayOfMonthOrdinalParse: /\d{1,2}\./, ordinal: '%d.', week: { dow: 1, doy: 4 }, }), n.defineLocale('tzm-latn', { months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( '_'), monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split( '_'), weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'), weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split( '_'), weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.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ḍ', mm: '%d minuḍ', h: 'saɛa', hh: '%d tassaɛin', d: 'ass', dd: '%d ossan', M: 'ayowr', MM: '%d iyyirn', y: 'asgas', yy: '%d isgasn', }, week: { dow: 6, doy: 12 }, }), n.defineLocale('tzm', { months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( '_'), monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split( '_'), weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'), weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split( '_'), weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.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: '[ⴰⵙⴷⵅ ⴴ] LT', nextDay: '[ⴰⵙⴽⴰ ⴴ] LT', nextWeek: 'dddd [ⴴ] LT', lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT', lastWeek: 'dddd [ⴴ] LT', sameElse: 'L', }, relativeTime: { future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s', past: 'ⵢⴰⵏ %s', s: 'ⵉⵎⵉⴽ', ss: '%d ⵉⵎⵉⴽ', m: 'ⵎⵉⵏⵓⴺ', mm: '%d ⵎⵉⵏⵓⴺ', h: 'ⵙⴰⵄⴰ', hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ', d: 'ⴰⵙⵙ', dd: '%d oⵙⵙⴰⵏ', M: 'ⴰⵢoⵓⵔ', MM: '%d ⵉⵢⵢⵉⵔⵏ', y: 'ⴰⵙⴳⴰⵙ', yy: '%d ⵉⵙⴳⴰⵙⵏ', }, week: { dow: 6, doy: 12 }, }), n.defineLocale('ug-cn', { months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( '_'), monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split( '_'), weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split( '_'), weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY-MM-DD', LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى', LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm', LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، 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, t) { return 12 === e && (e = 0), 'يېرىم كېچە' === t || 'سەھەر' === t || 'چۈشتىن بۇرۇن' === t || 'چۈشتىن كېيىن' !== t && 'كەچ' !== t && 11 <= e ? e : e + 12; }, meridiem: function (e, t, n) { var i = 100 * e + t; return i < 600 ? 'يېرىم كېچە' : i < 900 ? 'سەھەر' : i < 1130 ? 'چۈشتىن بۇرۇن' : i < 1230 ? 'چۈش' : i < 1800 ? 'چۈشتىن كېيىن' : 'كەچ'; }, calendar: { sameDay: '[بۈگۈن سائەت] LT', nextDay: '[ئەتە سائەت] LT', nextWeek: '[كېلەركى] dddd [سائەت] LT', lastDay: '[تۆنۈگۈن] LT', lastWeek: '[ئالدىنقى] dddd [سائەت] LT', sameElse: 'L', }, relativeTime: { future: '%s كېيىن', past: '%s بۇرۇن', s: 'نەچچە سېكونت', ss: '%d سېكونت', m: 'بىر مىنۇت', mm: '%d مىنۇت', h: 'بىر سائەت', hh: '%d سائەت', d: 'بىر كۈن', dd: '%d كۈن', M: 'بىر ئاي', MM: '%d ئاي', y: 'بىر يىل', yy: '%d يىل', }, dayOfMonthOrdinalParse: /\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/, ordinal: function (e, t) { switch (t) { case'd': case'D': case'DDD': return e + '-كۈنى'; case'w': case'W': return e + '-ھەپتە'; default: return e; } }, preparse: function (e) {return e.replace(/\u060c/g, ',');}, postformat: function (e) {return e.replace(/,/g, '،');}, week: { dow: 1, doy: 7 }, }), n.defineLocale('uk', { months: { format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split( '_'), standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split( '_'), }, monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split( '_'), weekdays: function (e, t) { var n = { nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split( '_'), accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split( '_'), genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split( '_'), }; return !0 === e ? n.nominative.slice(1, 7). concat(n.nominative.slice(0, 1)) : e ? n[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(t) ? 'accusative' : /\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test( t) ? 'genitive' : 'nominative'][e.day()] : n.nominative; }, weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'), weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.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: Sr('[Сьогодні '), nextDay: Sr('[Завтра '), lastDay: Sr('[Вчора '), nextWeek: Sr('[У] dddd ['), lastWeek: function () { switch (this.day()) { case 0: case 3: case 5: case 6: return Sr('[Минулої] dddd [').call(this); case 1: case 2: case 4: return Sr('[Минулого] dddd [').call(this); } }, sameElse: 'L', }, relativeTime: { future: 'за %s', past: '%s тому', s: 'декілька секунд', ss: Lr, m: Lr, mm: Lr, h: 'годину', hh: Lr, d: 'день', dd: Lr, M: 'місяць', MM: Lr, y: 'рік', yy: Lr, }, 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, t, n) { return e < 4 ? 'ночі' : e < 12 ? 'ранку' : e < 17 ? 'дня' : 'вечора'; }, dayOfMonthOrdinalParse: /\d{1,2}-(\u0439|\u0433\u043e)/, ordinal: function (e, t) { switch (t) { case'M': case'd': case'DDD': case'w': case'W': return e + '-й'; case'D': return e + '-го'; default: return e; } }, week: { dow: 1, doy: 7 }, }); var Tr = [ 'جنوری', 'فروری', 'مارچ', 'اپریل', 'مئی', 'جون', 'جولائی', 'اگست', 'ستمبر', 'اکتوبر', 'نومبر', 'دسمبر'], Ar = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ']; return n.defineLocale('ur', { months: Tr, monthsShort: Tr, weekdays: Ar, weekdaysShort: Ar, weekdaysMin: Ar, 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\u0628\u062d|\u0634\u0627\u0645/, isPM: function (e) {return 'شام' === e;}, meridiem: function (e, t, n) {return e < 12 ? 'صبح' : 'شام';}, calendar: { sameDay: '[آج بوقت] LT', nextDay: '[کل بوقت] LT', nextWeek: 'dddd [بوقت] LT', lastDay: '[گذشتہ روز بوقت] LT', lastWeek: '[گذشتہ] dddd [بوقت] LT', sameElse: 'L', }, relativeTime: { future: '%s بعد', past: '%s قبل', s: 'چند سیکنڈ', ss: '%d سیکنڈ', m: 'ایک منٹ', mm: '%d منٹ', h: 'ایک گھنٹہ', hh: '%d گھنٹے', d: 'ایک دن', dd: '%d دن', M: 'ایک ماہ', MM: '%d ماہ', y: 'ایک سال', yy: '%d سال', }, preparse: function (e) {return e.replace(/\u060c/g, ',');}, postformat: function (e) {return e.replace(/,/g, '،');}, week: { dow: 1, doy: 4 }, }), n.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 }, }), n.defineLocale('uz', { months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split( '_'), monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split( '_'), weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split( '_'), weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'), weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.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: '[Бугун соат] LT [да]', nextDay: '[Эртага] LT [да]', nextWeek: 'dddd [куни соат] LT [да]', lastDay: '[Кеча соат] LT [да]', lastWeek: '[Утган] dddd [куни соат] LT [да]', sameElse: 'L', }, relativeTime: { future: 'Якин %s ичида', past: 'Бир неча %s олдин', s: 'фурсат', ss: '%d фурсат', m: 'бир дакика', mm: '%d дакика', h: 'бир соат', hh: '%d соат', d: 'бир кун', dd: '%d кун', M: 'бир ой', MM: '%d ой', y: 'бир йил', yy: '%d йил', }, week: { dow: 1, doy: 7 }, }), n.defineLocale('vi', { months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 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ủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.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, t, n) { return e < 12 ? n ? 'sa' : 'SA' : n ? 'ch' : 'CH'; }, longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'D MMMM [năm] YYYY', LLL: 'D MMMM [năm] YYYY HH:mm', LLLL: 'dddd, D MMMM [năm] 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ôm nay lúc] LT', nextDay: '[Ngày mai lúc] LT', nextWeek: 'dddd [tuần tới lúc] LT', lastDay: '[Hôm qua lúc] LT', lastWeek: 'dddd [tuần trước lúc] LT', sameElse: 'L', }, relativeTime: { future: '%s tới', past: '%s trước', s: 'vài giây', ss: '%d giây', m: 'một phút', mm: '%d phút', h: 'một giờ', hh: '%d giờ', d: 'một ngày', dd: '%d ngày', w: 'một tuần', ww: '%d tuần', M: 'một tháng', MM: '%d tháng', y: 'một năm', yy: '%d năm', }, dayOfMonthOrdinalParse: /\d{1,2}/, ordinal: function (e) {return e;}, week: { dow: 1, doy: 4 }, }), n.defineLocale('x-pseudo', { months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split( '_'), monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split( '_'), monthsParseExact: !0, weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split( '_'), weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'), weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.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~ódá~ý át] LT', nextDay: '[T~ómó~rró~w át] LT', nextWeek: 'dddd [át] LT', lastDay: '[Ý~ést~érdá~ý át] LT', lastWeek: '[L~ást] dddd [át] LT', sameElse: 'L', }, relativeTime: { future: 'í~ñ %s', past: '%s á~gó', s: 'á ~féw ~sécó~ñds', ss: '%d s~écóñ~ds', m: 'á ~míñ~úté', mm: '%d m~íñú~tés', h: 'á~ñ hó~úr', hh: '%d h~óúrs', d: 'á ~dáý', dd: '%d d~áýs', M: 'á ~móñ~th', MM: '%d m~óñt~hs', y: 'á ~ýéár', yy: '%d ý~éárs', }, dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, ordinal: function (e) { var t = e % 10; return e + (1 == ~~(e % 100 / 10) ? 'th' : 1 == t ? 'st' : 2 == t ? 'nd' : 3 == t ? 'rd' : 'th'); }, week: { dow: 1, doy: 4 }, }), n.defineLocale('yo', { months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split( '_'), monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split( '_'), weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split( '_'), weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'), weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.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: '[Ònì ni] LT', nextDay: '[Ọ̀la ni] LT', nextWeek: 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT', lastDay: '[Àna ni] LT', lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT', sameElse: 'L', }, relativeTime: { future: 'ní %s', past: '%s kọjá', s: 'ìsẹjú aayá die', ss: 'aayá %d', m: 'ìsẹjú kan', mm: 'ìsẹjú %d', h: 'wákati kan', hh: 'wákati %d', d: 'ọjọ́ kan', dd: 'ọjọ́ %d', M: 'osù kan', MM: 'osù %d', y: 'ọdún kan', yy: 'ọdún %d', }, dayOfMonthOrdinalParse: /\u1ecdj\u1ecd\u0301\s\d{1,2}/, ordinal: 'ọjọ́ %d', week: { dow: 1, doy: 4 }, }), n.defineLocale('zh-cn', { months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'), weekdaysMin: '日_一_二_三_四_五_六'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYY年M月D日', LLL: 'YYYY年M月D日Ah点mm分', LLLL: 'YYYY年M月D日ddddAh点mm分', l: 'YYYY/M/D', ll: 'YYYY年M月D日', lll: 'YYYY年M月D日 HH:mm', llll: 'YYYY年M月D日dddd HH:mm', }, meridiemParse: /\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/, meridiemHour: function (e, t) { return 12 === e && (e = 0), '凌晨' === t || '早上' === t || '上午' === t || '下午' !== t && '晚上' !== t && 11 <= e ? e : e + 12; }, meridiem: function (e, t, n) { var i = 100 * e + t; return i < 600 ? '凌晨' : i < 900 ? '早上' : i < 1130 ? '上午' : i < 1230 ? '中午' : i < 1800 ? '下午' : '晚上'; }, calendar: { sameDay: '[今天]LT', nextDay: '[明天]LT', nextWeek: function (e) { return e.week() !== this.week() ? '[下]dddLT' : '[本]dddLT'; }, lastDay: '[昨天]LT', lastWeek: function (e) { return this.week() !== e.week() ? '[上]dddLT' : '[本]dddLT'; }, sameElse: 'L', }, dayOfMonthOrdinalParse: /\d{1,2}(\u65e5|\u6708|\u5468)/, ordinal: function (e, t) { switch (t) { case'd': case'D': case'DDD': return e + '日'; case'M': return e + '月'; case'w': case'W': return e + '周'; default: return e; } }, relativeTime: { future: '%s后', past: '%s前', s: '几秒', ss: '%d 秒', m: '1 分钟', mm: '%d 分钟', h: '1 小时', hh: '%d 小时', d: '1 天', dd: '%d 天', w: '1 周', ww: '%d 周', M: '1 个月', MM: '%d 个月', y: '1 年', yy: '%d 年', }, week: { dow: 1, doy: 4 }, }), n.defineLocale('zh-hk', { months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), weekdaysMin: '日_一_二_三_四_五_六'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYY年M月D日', LLL: 'YYYY年M月D日 HH:mm', LLLL: 'YYYY年M月D日dddd HH:mm', l: 'YYYY/M/D', ll: 'YYYY年M月D日', lll: 'YYYY年M月D日 HH:mm', llll: 'YYYY年M月D日dddd HH:mm', }, meridiemParse: /\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/, meridiemHour: function (e, t) { return 12 === e && (e = 0), '凌晨' === t || '早上' === t || '上午' === t ? e : '中午' === t ? 11 <= e ? e : e + 12 : '下午' === t || '晚上' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { var i = 100 * e + t; return i < 600 ? '凌晨' : i < 900 ? '早上' : i < 1200 ? '上午' : 1200 === i ? '中午' : i < 1800 ? '下午' : '晚上'; }, calendar: { sameDay: '[今天]LT', nextDay: '[明天]LT', nextWeek: '[下]ddddLT', lastDay: '[昨天]LT', lastWeek: '[上]ddddLT', sameElse: 'L', }, dayOfMonthOrdinalParse: /\d{1,2}(\u65e5|\u6708|\u9031)/, ordinal: function (e, t) { switch (t) { case'd': case'D': case'DDD': return e + '日'; case'M': return e + '月'; case'w': case'W': return e + '週'; default: return e; } }, relativeTime: { future: '%s後', past: '%s前', s: '幾秒', ss: '%d 秒', m: '1 分鐘', mm: '%d 分鐘', h: '1 小時', hh: '%d 小時', d: '1 天', dd: '%d 天', M: '1 個月', MM: '%d 個月', y: '1 年', yy: '%d 年', }, }), n.defineLocale('zh-mo', { months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), weekdaysMin: '日_一_二_三_四_五_六'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'DD/MM/YYYY', LL: 'YYYY年M月D日', LLL: 'YYYY年M月D日 HH:mm', LLLL: 'YYYY年M月D日dddd HH:mm', l: 'D/M/YYYY', ll: 'YYYY年M月D日', lll: 'YYYY年M月D日 HH:mm', llll: 'YYYY年M月D日dddd HH:mm', }, meridiemParse: /\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/, meridiemHour: function (e, t) { return 12 === e && (e = 0), '凌晨' === t || '早上' === t || '上午' === t ? e : '中午' === t ? 11 <= e ? e : e + 12 : '下午' === t || '晚上' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { var i = 100 * e + t; return i < 600 ? '凌晨' : i < 900 ? '早上' : i < 1130 ? '上午' : i < 1230 ? '中午' : i < 1800 ? '下午' : '晚上'; }, calendar: { sameDay: '[今天] LT', nextDay: '[明天] LT', nextWeek: '[下]dddd LT', lastDay: '[昨天] LT', lastWeek: '[上]dddd LT', sameElse: 'L', }, dayOfMonthOrdinalParse: /\d{1,2}(\u65e5|\u6708|\u9031)/, ordinal: function (e, t) { switch (t) { case'd': case'D': case'DDD': return e + '日'; case'M': return e + '月'; case'w': case'W': return e + '週'; default: return e; } }, relativeTime: { future: '%s內', past: '%s前', s: '幾秒', ss: '%d 秒', m: '1 分鐘', mm: '%d 分鐘', h: '1 小時', hh: '%d 小時', d: '1 天', dd: '%d 天', M: '1 個月', MM: '%d 個月', y: '1 年', yy: '%d 年', }, }), n.defineLocale('zh-tw', { months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'), monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'), weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'), weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'), weekdaysMin: '日_一_二_三_四_五_六'.split('_'), longDateFormat: { LT: 'HH:mm', LTS: 'HH:mm:ss', L: 'YYYY/MM/DD', LL: 'YYYY年M月D日', LLL: 'YYYY年M月D日 HH:mm', LLLL: 'YYYY年M月D日dddd HH:mm', l: 'YYYY/M/D', ll: 'YYYY年M月D日', lll: 'YYYY年M月D日 HH:mm', llll: 'YYYY年M月D日dddd HH:mm', }, meridiemParse: /\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/, meridiemHour: function (e, t) { return 12 === e && (e = 0), '凌晨' === t || '早上' === t || '上午' === t ? e : '中午' === t ? 11 <= e ? e : e + 12 : '下午' === t || '晚上' === t ? e + 12 : void 0; }, meridiem: function (e, t, n) { var i = 100 * e + t; return i < 600 ? '凌晨' : i < 900 ? '早上' : i < 1130 ? '上午' : i < 1230 ? '中午' : i < 1800 ? '下午' : '晚上'; }, calendar: { sameDay: '[今天] LT', nextDay: '[明天] LT', nextWeek: '[下]dddd LT', lastDay: '[昨天] LT', lastWeek: '[上]dddd LT', sameElse: 'L', }, dayOfMonthOrdinalParse: /\d{1,2}(\u65e5|\u6708|\u9031)/, ordinal: function (e, t) { switch (t) { case'd': case'D': case'DDD': return e + '日'; case'M': return e + '月'; case'w': case'W': return e + '週'; default: return e; } }, relativeTime: { future: '%s後', past: '%s前', s: '幾秒', ss: '%d 秒', m: '1 分鐘', mm: '%d 分鐘', h: '1 小時', hh: '%d 小時', d: '1 天', dd: '%d 天', M: '1 個月', MM: '%d 個月', y: '1 年', yy: '%d 年', }, }), n.locale('en'), n; })), function (e) { 'function' == typeof define && define.amd ? define([], e) : 'object' == typeof exports ? module.exports = e() : window.wNumb = e(); }((function () { 'use strict'; var e = [ 'decimals', 'thousand', 'mark', 'prefix', 'suffix', 'encoder', 'decoder', 'negativeBefore', 'negative', 'edit', 'undo']; function t (e) {return e.split('').reverse().join('');} function n (e, t) {return e.substring(0, t.length) === t;} function i (e, t, n) { if ((e[t] || e[n]) && e[t] === e[n]) throw new Error(t); } function a (e) {return 'number' == typeof e && isFinite(e);} function r (e, n, i, r, o, s, l, c, u, d, h, f) { var p, m, g, v, y, b = f, x = '', _ = ''; return s && (f = s(f)), !!a(f) && (!1 !== e && 0 === parseFloat(f.toFixed(e)) && (f = 0), f < 0 && (p = !0, f = Math.abs(f)), !1 !== e && (y = e, v = (v = f).toString().split('e'), f = (+((v = (v = Math.round( +(v[0] + 'e' + (v[1] ? +v[1] + y : y)))).toString().split('e'))[0] + 'e' + (v[1] ? +v[1] - y : -y))).toFixed(y)), -1 !== (f = f.toString()).indexOf('.') ? (g = (m = f.split('.'))[0], i && (x = i + m[1])) : g = f, n && (g = t(g).match(/.{1,3}/g), g = t(g.join(t(n)))), p && c && (_ += c), r && (_ += r), p && u && (_ += u), _ += g, _ += x, o && (_ += o), d && (_ = d(_, b)), _); } function o (e, t, i, r, o, s, l, c, u, d, h, f) { var p, m = ''; return h && (f = h(f)), !(!f || 'string' != typeof f) && (c && n(f, c) && (f = f.replace(c, ''), p = !0), r && n(f, r) && (f = f.replace(r, '')), u && n(f, u) && (f = f.replace(u, ''), p = !0), o && function (e, t) {return e.slice(-1 * t.length) === t;}(f, o) && (f = f.slice(0, -1 * o.length)), t && (f = f.split(t).join('')), i && (f = f.replace(i, '.')), p && (m += '-'), '' !== (m = (m += f).replace(/[^0-9\.\-.]/g, '')) && (m = Number(m), l && (m = l(m)), !!a(m) && m)); } function s (t, n, i) { var a, r = []; for (a = 0; a < e.length; a += 1) r.push(t[e[a]]); return r.push(i), n.apply('', r); } return function t (n) { if (!(this instanceof t)) return new t(n); 'object' == typeof n && (n = function (t) { var n, a, r, o = {}; for (void 0 === t.suffix && (t.suffix = t.postfix), n = 0; n < e.length; n += 1) if (void 0 === (r = t[a = e[n]])) 'negative' !== a || o.negativeBefore ? 'mark' === a && '.' !== o.thousand ? o[a] = '.' : o[a] = !1 : o[a] = '-'; else if ('decimals' === a) { if (!(r >= 0 && r < 8)) throw new Error(a); o[a] = r; } else if ('encoder' === a || 'decoder' === a || 'edit' === a || 'undo' === a) { if ('function' != typeof r) throw new Error(a); o[a] = r; } else { if ('string' != typeof r) throw new Error(a); o[a] = r; } return i(o, 'mark', 'thousand'), i(o, 'prefix', 'negative'), i(o, 'prefix', 'negativeBefore'), o; }(n), this.to = function (e) { return s(n, r, e); }, this.from = function (e) {return s(n, o, e);}); }; })), function (e) { 'function' == typeof define && define.amd ? define(['jquery'], e) : 'object' == typeof module && module.exports ? module.exports = function (t, n) { return void 0 === n && (n = 'undefined' != typeof window ? require('jquery') : require( 'jquery')(t)), e(n), n; } : e(jQuery); }((function (e) { var t = function () { if (e && e.fn && e.fn.select2 && e.fn.select2.amd) var t = e.fn.select2.amd; var n; return function () { /** * @license almond 0.3.3 Copyright jQuery Foundation and other contributors. * Released under MIT license, http://github.com/requirejs/almond/LICENSE */ var e, n, i; t && t.requirejs || (t ? n = t : t = {}, function (t) { var a, r, o, s, l = {}, c = {}, u = {}, d = {}, h = Object.prototype.hasOwnProperty, f = [].slice, p = /\.js$/; function m (e, t) {return h.call(e, t);} function g (e, t) { var n, i, a, r, o, s, l, c, d, h, f, m = t && t.split('/'), g = u.map, v = g && g['*'] || {}; if (e) { for (o = (e = e.split('/')).length - 1, u.nodeIdCompat && p.test(e[o]) && (e[o] = e[o].replace(p, '')), '.' === e[0].charAt(0) && m && (e = m.slice(0, m.length - 1).concat(e)), d = 0; d < e.length; d++) if ('.' === (f = e[d])) e.splice(d, 1), d -= 1; else if ('..' === f) { if (0 === d || 1 === d && '..' === e[2] || '..' === e[d - 1]) continue; d > 0 && (e.splice(d - 1, 2), d -= 2); } e = e.join('/'); } if ((m || v) && g) { for (d = (n = e.split('/')).length; d > 0; d -= 1) { if (i = n.slice(0, d). join('/'), m) for (h = m.length; h > 0; h -= 1) if ((a = g[m.slice(0, h).join('/')]) && (a = a[i])) { r = a, s = d; break; } if (r) break; !l && v && v[i] && (l = v[i], c = d); } !r && l && (r = l, s = c), r && (n.splice(0, s, r), e = n.join('/')); } return e; } function v (e, n) { return function () { var i = f.call(arguments, 0); return 'string' != typeof i[0] && 1 === i.length && i.push(null), r.apply(t, i.concat([e, n])); }; } function y (e) {return function (t) {l[e] = t;};} function b (e) { if (m(c, e)) { var n = c[e]; delete c[e], d[e] = !0, a.apply(t, n); } if (!m(l, e) && !m(d, e)) throw new Error('No ' + e); return l[e]; } function x (e) { var t, n = e ? e.indexOf('!') : -1; return n > -1 && (t = e.substring(0, n), e = e.substring(n + 1, e.length)), [t, e]; } function _ (e) {return e ? x(e) : [];} function w (e) { return function () { return u && u.config && u.config[e] || {}; }; } o = function (e, t) { var n, i, a = x(e), r = a[0], o = t[1]; return e = a[1], r && (n = b(r = g(r, o))), r ? e = n && n.normalize ? n.normalize(e, (i = o, function (e) {return g(e, i);})) : g(e, o) : (r = (a = x(e = g(e, o)))[0], e = a[1], r && (n = b(r))), { f: r ? r + '!' + e : e, n: e, pr: r, p: n, }; }, s = { require: function (e) {return v(e);}, exports: function (e) { var t = l[e]; return void 0 !== t ? t : l[e] = {}; }, module: function (e) { return { id: e, uri: '', exports: l[e], config: w(e), }; }, }, a = function (e, n, i, a) { var r, u, h, f, p, g, x, w = [], k = typeof i; if (g = _(a = a || e), 'undefined' === k || 'function' === k) { for (n = !n.length && i.length ? [ 'require', 'exports', 'module'] : n, p = 0; p < n.length; p += 1) if ('require' === (u = (f = o(n[p], g)).f)) w[p] = s.require( e); else if ('exports' === u) w[p] = s.exports( e), x = !0; else if ('module' === u) r = w[p] = s.module(e); else if (m(l, u) || m(c, u) || m(d, u)) w[p] = b(u); else { if (!f.p) throw new Error(e + ' missing ' + u); f.p.load(f.n, v(a, !0), y(u), {}), w[p] = l[u]; } h = i ? i.apply(l[e], w) : void 0, e && (r && r.exports !== t && r.exports !== l[e] ? l[e] = r.exports : h === t && x || (l[e] = h)); } else e && (l[e] = i); }, e = n = r = function (e, n, i, l, c) { if ('string' == typeof e) return s[e] ? s[e](n) : b( o(e, _(n)).f); if (!e.splice) { if ((u = e).deps && r(u.deps, u.callback), !n) return; n.splice ? (e = n, n = i, i = null) : e = t; } return n = n || function () {}, 'function' == typeof i && (i = l, l = c), l ? a(t, e, n, i) : setTimeout( (function () {a(t, e, n, i);}), 4), r; }, r.config = function (e) { return r(e); }, e._defined = l, (i = function (e, t, n) { if ('string' != typeof e) throw new Error( 'See almond README: incorrect module build, no module name'); t.splice || (n = t, t = []), m(l, e) || m(c, e) || (c[e] = [e, t, n]); }).amd = { jQuery: !0 }; }(), t.requirejs = e, t.require = n, t.define = i); }(), t.define('almond', (function () {})), t.define('jquery', [], (function () { var t = e || $; return null == t && console && console.error && console.error( 'Select2: An instance of jQuery or a jQuery-compatible library was not found. Make sure that you are including jQuery before Select2 on your web page.'), t; })), t.define('select2/utils', ['jquery'], (function (e) { var t = {}; function n (e) { var t = e.prototype, n = []; for (var i in t) { 'function' == typeof t[i] && ('constructor' !== i && n.push(i)); } return n; } t.Extend = function (e, t) { var n = {}.hasOwnProperty; function i () {this.constructor = e;} for (var a in t) n.call(t, a) && (e[a] = t[a]); return i.prototype = t.prototype, e.prototype = new i, e.__super__ = t.prototype, e; }, t.Decorate = function (e, t) { var i = n(t), a = n(e); function r () { var n = Array.prototype.unshift, i = t.prototype.constructor.length, a = e.prototype.constructor; i > 0 && (n.call(arguments, e.prototype.constructor), a = t.prototype.constructor), a.apply( this, arguments); } t.displayName = e.displayName, r.prototype = new function () {this.constructor = r;}; for (var o = 0; o < a.length; o++) { var s = a[o]; r.prototype[s] = e.prototype[s]; } for (var l = function (e) { var n = function () {}; e in r.prototype && (n = r.prototype[e]); var i = t.prototype[e]; return function () { var e = Array.prototype.unshift; return e.call(arguments, n), i.apply(this, arguments); }; }, c = 0; c < i.length; c++) { var u = i[c]; r.prototype[u] = l(u); } return r; }; var i = function () {this.listeners = {};}; i.prototype.on = function (e, t) { this.listeners = this.listeners || {}, e in this.listeners ? this.listeners[e].push(t) : this.listeners[e] = [t]; }, i.prototype.trigger = function (e) { var t = Array.prototype.slice, n = t.call(arguments, 1); this.listeners = this.listeners || {}, null == n && (n = []), 0 === n.length && n.push({}), n[0]._type = e, e in this.listeners && this.invoke(this.listeners[e], t.call(arguments, 1)), '*' in this.listeners && this.invoke(this.listeners['*'], arguments); }, i.prototype.invoke = function ( e, t) { for (var n = 0, i = e.length; n < i; n++) e[n].apply(this, t); }, t.Observable = i, t.generateChars = function (e) { for (var t = '', n = 0; n < e; n++) { t += Math.floor(36 * Math.random()).toString(36); } return t; }, t.bind = function (e, t) { return function () { e.apply(t, arguments); }; }, t._convertData = function (e) { for (var t in e) { var n = t.split('-'), i = e; if (1 !== n.length) { for (var a = 0; a < n.length; a++) { var r = n[a]; (r = r.substring(0, 1).toLowerCase() + r.substring(1)) in i || (i[r] = {}), a == n.length - 1 && (i[r] = e[t]), i = i[r]; } delete e[t]; } } return e; }, t.hasScroll = function (t, n) { var i = e(n), a = n.style.overflowX, r = n.style.overflowY; return (a !== r || 'hidden' !== r && 'visible' !== r) && ('scroll' === a || 'scroll' === r || (i.innerHeight() < n.scrollHeight || i.innerWidth() < n.scrollWidth)); }, t.escapeMarkup = function (e) { var t = { '\\': '\', '&': '&', '<': '<', '>': '>', '"': '"', '\'': ''', '/': '/', }; return 'string' != typeof e ? e : String(e). replace(/[&<>"'\/\\]/g, (function (e) {return t[e];})); }, t.__cache = {}; var a = 0; return t.GetUniqueElementId = function (e) { var n = e.getAttribute('data-select2-id'); return null != n || (n = e.id ? 'select2-data-' + e.id : 'select2-data-' + (++a).toString() + '-' + t.generateChars(4), e.setAttribute( 'data-select2-id', n)), n; }, t.StoreData = function (e, n, i) { var a = t.GetUniqueElementId(e); t.__cache[a] || (t.__cache[a] = {}), t.__cache[a][n] = i; }, t.GetData = function (n, i) { var a = t.GetUniqueElementId(n); return i ? t.__cache[a] && null != t.__cache[a][i] ? t.__cache[a][i] : e(n).data(i) : t.__cache[a]; }, t.RemoveData = function (e) { var n = t.GetUniqueElementId(e); null != t.__cache[n] && delete t.__cache[n], e.removeAttribute( 'data-select2-id'); }, t.copyNonInternalCssClasses = function ( e, t) { var n = e.getAttribute('class').trim().split(/\s+/); n = n.filter( (function (e) {return 0 === e.indexOf('select2-');})); var i = t.getAttribute('class').trim().split(/\s+/); i = i.filter( (function (e) {return 0 !== e.indexOf('select2-');})); var a = n.concat(i); e.setAttribute('class', a.join(' ')); }, t; })), t.define('select2/results', ['jquery', './utils'], (function (e, t) { function n ( e, t, i) { this.$element = e, this.data = i, this.options = t, n.__super__.constructor.call( this); } return t.Extend(n, t.Observable), n.prototype.render = function () { var t = e( '<ul class="select2-results__options" role="listbox"></ul>'); return this.options.get('multiple') && t.attr('aria-multiselectable', 'true'), this.$results = t, t; }, n.prototype.clear = function () {this.$results.empty();}, n.prototype.displayMessage = function (t) { var n = this.options.get('escapeMarkup'); this.clear(), this.hideLoading(); var i = e( '<li role="alert" aria-live="assertive" class="select2-results__option"></li>'), a = this.options.get('translations').get(t.message); i.append( n(a(t.args))), i[0].className += ' select2-results__message', this.$results.append( i); }, n.prototype.hideMessages = function () { this.$results.find('.select2-results__message').remove(); }, n.prototype.append = function (e) { this.hideLoading(); var t = []; if (null != e.results && 0 !== e.results.length) { e.results = this.sort(e.results); for (var n = 0; n < e.results.length; n++) { var i = e.results[n], a = this.option(i); t.push(a); } this.$results.append(t); } else 0 === this.$results.children().length && this.trigger('results:message', { message: 'noResults' }); }, n.prototype.position = function (e, t) { t.find('.select2-results').append(e); }, n.prototype.sort = function (e) { return this.options.get('sorter')(e); }, n.prototype.highlightFirstItem = function () { var e = this.$results.find( '.select2-results__option--selectable'), t = e.filter('.select2-results__option--selected'); t.length > 0 ? t.first().trigger('mouseenter') : e.first(). trigger('mouseenter'), this.ensureHighlightVisible(); }, n.prototype.setClasses = function () { var n = this; this.data.current((function (i) { var a = i.map((function (e) {return e.id.toString();})); n.$results.find('.select2-results__option--selectable'). each((function () { var n = e(this), i = t.GetData(this, 'data'), r = '' + i.id; null != i.element && i.element.selected || null == i.element && a.indexOf(r) > -1 ? (this.classList.add( 'select2-results__option--selected'), n.attr( 'aria-selected', 'true')) : (this.classList.remove( 'select2-results__option--selected'), n.attr( 'aria-selected', 'false')); })); })); }, n.prototype.showLoading = function (e) { this.hideLoading(); var t = { disabled: !0, loading: !0, text: this.options.get('translations'). get('searching')(e), }, n = this.option(t); n.className += ' loading-results', this.$results.prepend(n); }, n.prototype.hideLoading = function () { this.$results.find('.loading-results').remove(); }, n.prototype.option = function (n) { var i = document.createElement('li'); i.classList.add('select2-results__option'), i.classList.add( 'select2-results__option--selectable'); var a = { role: 'option' }, r = window.Element.prototype.matches || window.Element.prototype.msMatchesSelector || window.Element.prototype.webkitMatchesSelector; for (var o in (null != n.element && r.call(n.element, ':disabled') || null == n.element && n.disabled) && (a['aria-disabled'] = 'true', i.classList.remove( 'select2-results__option--selectable'), i.classList.add( 'select2-results__option--disabled')), null == n.id && i.classList.remove( 'select2-results__option--selectable'), null != n._resultId && (i.id = n._resultId), n.title && (i.title = n.title), n.children && (a.role = 'group', a['aria-label'] = n.text, i.classList.remove( 'select2-results__option--selectable'), i.classList.add( 'select2-results__option--group')), a) { var s = a[o]; i.setAttribute(o, s); } if (n.children) { var l = e(i), c = document.createElement('strong'); c.className = 'select2-results__group', this.template(n, c); for (var u = [], d = 0; d < n.children.length; d++) { var h = n.children[d], f = this.option(h); u.push(f); } var p = e('<ul></ul>', { class: 'select2-results__options select2-results__options--nested', role: 'none', }); p.append(u), l.append(c), l.append(p); } else this.template(n, i); return t.StoreData(i, 'data', n), i; }, n.prototype.bind = function (n, i) { var a = this, r = n.id + '-results'; this.$results.attr('id', r), n.on('results:all', (function (e) { a.clear(), a.append(e.data), n.isOpen() && (a.setClasses(), a.highlightFirstItem()); })), n.on('results:append', (function (e) { a.append(e.data), n.isOpen() && a.setClasses(); })), n.on('query', (function (e) { a.hideMessages(), a.showLoading(e); })), n.on('select', (function () { n.isOpen() && (a.setClasses(), a.options.get('scrollAfterSelect') && a.highlightFirstItem()); })), n.on('unselect', (function () { n.isOpen() && (a.setClasses(), a.options.get('scrollAfterSelect') && a.highlightFirstItem()); })), n.on('open', (function () { a.$results.attr('aria-expanded', 'true'), a.$results.attr('aria-hidden', 'false'), a.setClasses(), a.ensureHighlightVisible(); })), n.on('close', (function () { a.$results.attr('aria-expanded', 'false'), a.$results.attr('aria-hidden', 'true'), a.$results.removeAttr( 'aria-activedescendant'); })), n.on('results:toggle', (function () { var e = a.getHighlightedResults(); 0 !== e.length && e.trigger('mouseup'); })), n.on('results:select', (function () { var e = a.getHighlightedResults(); if (0 !== e.length) { var n = t.GetData(e[0], 'data'); e.hasClass('select2-results__option--selected') ? a.trigger('close', {}) : a.trigger('select', { data: n }); } })), n.on('results:previous', (function () { var e = a.getHighlightedResults(), t = a.$results.find( '.select2-results__option--selectable'), n = t.index(e); if (!(n <= 0)) { var i = n - 1; 0 === e.length && (i = 0); var r = t.eq(i); r.trigger('mouseenter'); var o = a.$results.offset().top, s = r.offset().top, l = a.$results.scrollTop() + (s - o); 0 === i ? a.$results.scrollTop(0) : s - o < 0 && a.$results.scrollTop(l); } })), n.on('results:next', (function () { var e = a.getHighlightedResults(), t = a.$results.find( '.select2-results__option--selectable'), n = t.index(e) + 1; if (!(n >= t.length)) { var i = t.eq(n); i.trigger('mouseenter'); var r = a.$results.offset().top + a.$results.outerHeight(!1), o = i.offset().top + i.outerHeight(!1), s = a.$results.scrollTop() + o - r; 0 === n ? a.$results.scrollTop(0) : o > r && a.$results.scrollTop(s); } })), n.on('results:focus', (function (e) { e.element[0].classList.add( 'select2-results__option--highlighted'), e.element[0].setAttribute( 'aria-selected', 'true'); })), n.on('results:message', (function (e) { a.displayMessage(e); })), e.fn.mousewheel && this.$results.on('mousewheel', (function (e) { var t = a.$results.scrollTop(), n = a.$results.get(0).scrollHeight - t + e.deltaY, i = e.deltaY > 0 && t - e.deltaY <= 0, r = e.deltaY < 0 && n <= a.$results.height(); i ? (a.$results.scrollTop( 0), e.preventDefault(), e.stopPropagation()) : r && (a.$results.scrollTop( a.$results.get(0).scrollHeight - a.$results.height()), e.preventDefault(), e.stopPropagation()); })), this.$results.on('mouseup', '.select2-results__option--selectable', (function (n) { var i = e(this), r = t.GetData(this, 'data'); i.hasClass('select2-results__option--selected') ? a.options.get('multiple') ? a.trigger('unselect', { originalEvent: n, data: r }) : a.trigger('close', {}) : a.trigger('select', { originalEvent: n, data: r }); })), this.$results.on('mouseenter', '.select2-results__option--selectable', (function (n) { var i = t.GetData(this, 'data'); a.getHighlightedResults(). removeClass( 'select2-results__option--highlighted'). attr('aria-selected', 'false'), a.trigger( 'results:focus', { data: i, element: e(this) }); })); }, n.prototype.getHighlightedResults = function () { return this.$results.find( '.select2-results__option--highlighted'); }, n.prototype.destroy = function () {this.$results.remove();}, n.prototype.ensureHighlightVisible = function () { var e = this.getHighlightedResults(); if (0 !== e.length) { var t = this.$results.find( '.select2-results__option--selectable').index(e), n = this.$results.offset().top, i = e.offset().top, a = this.$results.scrollTop() + (i - n), r = i - n; a -= 2 * e.outerHeight(!1), t <= 2 ? this.$results.scrollTop(0) : (r > this.$results.outerHeight() || r < 0) && this.$results.scrollTop(a); } }, n.prototype.template = function ( t, n) { var i = this.options.get('templateResult'), a = this.options.get('escapeMarkup'), r = i(t, n); null == r ? n.style.display = 'none' : 'string' == typeof r ? n.innerHTML = a(r) : e(n).append(r); }, n; })), t.define('select2/keys', [], (function () { return { BACKSPACE: 8, TAB: 9, ENTER: 13, SHIFT: 16, CTRL: 17, ALT: 18, ESC: 27, SPACE: 32, PAGE_UP: 33, PAGE_DOWN: 34, END: 35, HOME: 36, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46, }; })), t.define('select2/selection/base', ['jquery', '../utils', '../keys'], (function (e, t, n) { function i ( e, t) { this.$element = e, this.options = t, i.__super__.constructor.call( this); } return t.Extend(i, t.Observable), i.prototype.render = function () { var n = e( '<span class="select2-selection" role="combobox" aria-haspopup="true" aria-expanded="false"></span>'); return this._tabindex = 0, null != t.GetData(this.$element[0], 'old-tabindex') ? this._tabindex = t.GetData(this.$element[0], 'old-tabindex') : null != this.$element.attr('tabindex') && (this._tabindex = this.$element.attr( 'tabindex')), n.attr('title', this.$element.attr('title')), n.attr('tabindex', this._tabindex), n.attr('aria-disabled', 'false'), this.$selection = n, n; }, i.prototype.bind = function (e, t) { var i = this, a = e.id + '-results'; this.container = e, this.$selection.on('focus', (function (e) { i.trigger('focus', e); })), this.$selection.on('blur', (function (e) {i._handleBlur(e);})), this.$selection.on( 'keydown', (function (e) { i.trigger('keypress', e), e.which === n.SPACE && e.preventDefault(); })), e.on('results:focus', (function (e) { i.$selection.attr('aria-activedescendant', e.data._resultId); })), e.on('selection:update', (function (e) {i.update(e.data);})), e.on('open', (function () { i.$selection.attr('aria-expanded', 'true'), i.$selection.attr('aria-owns', a), i._attachCloseHandler(e); })), e.on('close', (function () { i.$selection.attr('aria-expanded', 'false'), i.$selection.removeAttr( 'aria-activedescendant'), i.$selection.removeAttr( 'aria-owns'), i.$selection.trigger( 'focus'), i._detachCloseHandler(e); })), e.on('enable', (function () { i.$selection.attr('tabindex', i._tabindex), i.$selection.attr('aria-disabled', 'false'); })), e.on('disable', (function () { i.$selection.attr('tabindex', '-1'), i.$selection.attr( 'aria-disabled', 'true'); })); }, i.prototype._handleBlur = function (t) { var n = this; window.setTimeout((function () { document.activeElement == n.$selection[0] || e.contains(n.$selection[0], document.activeElement) || n.trigger('blur', t); }), 1); }, i.prototype._attachCloseHandler = function (n) { e(document.body). on('mousedown.select2.' + n.id, (function (n) { var i = e(n.target).closest('.select2'); e('.select2.select2-container--open'). each((function () { this != i[0] && t.GetData(this, 'element').select2('close'); })); })); }, i.prototype._detachCloseHandler = function (t) { e(document.body).off('mousedown.select2.' + t.id); }, i.prototype.position = function (e, t) { t.find('.selection'). append(e); }, i.prototype.destroy = function () { this._detachCloseHandler(this.container); }, i.prototype.update = function (e) { throw new Error( 'The `update` method must be defined in child classes.'); }, i.prototype.isEnabled = function () {return !this.isDisabled();}, i.prototype.isDisabled = function () { return this.options.get('disabled'); }, i; })), t.define('select2/selection/single', ['jquery', './base', '../utils', '../keys'], (function (e, t, n, i) { function a () {a.__super__.constructor.apply(this, arguments);} return n.Extend(a, t), a.prototype.render = function () { var e = a.__super__.render.call(this); return e[0].classList.add( 'select2-selection--single'), e.html( '<span class="select2-selection__rendered"></span><span class="select2-selection__arrow" role="presentation"><b role="presentation"></b></span>'), e; }, a.prototype.bind = function (e, t) { var n = this; a.__super__.bind.apply(this, arguments); var i = e.id + '-container'; this.$selection.find('.select2-selection__rendered'). attr('id', i). attr('role', 'textbox'). attr('aria-readonly', 'true'), this.$selection.attr( 'aria-labelledby', i), this.$selection.attr( 'aria-controls', i), this.$selection.on('mousedown', (function (e) { 1 === e.which && n.trigger('toggle', { originalEvent: e }); })), this.$selection.on('focus', (function (e) {})), this.$selection.on('blur', (function (e) {})), e.on('focus', (function (t) { e.isOpen() || n.$selection.trigger('focus'); })); }, a.prototype.clear = function () { var e = this.$selection.find( '.select2-selection__rendered'); e.empty(), e.removeAttr('title'); }, a.prototype.display = function ( e, t) { var n = this.options.get('templateSelection'); return this.options.get('escapeMarkup')(n(e, t)); }, a.prototype.selectionContainer = function () { return e('<span></span>'); }, a.prototype.update = function (e) { if (0 !== e.length) { var t = e[0], n = this.$selection.find( '.select2-selection__rendered'), i = this.display(t, n); n.empty().append(i); var a = t.title || t.text; a ? n.attr('title', a) : n.removeAttr('title'); } else this.clear(); }, a; })), t.define('select2/selection/multiple', ['jquery', './base', '../utils'], (function (e, t, n) { function i (e, t) { i.__super__.constructor.apply(this, arguments); } return n.Extend(i, t), i.prototype.render = function () { var e = i.__super__.render.call(this); return e[0].classList.add( 'select2-selection--multiple'), e.html( '<ul class="select2-selection__rendered"></ul>'), e; }, i.prototype.bind = function (t, a) { var r = this; i.__super__.bind.apply(this, arguments); var o = t.id + '-container'; this.$selection.find('.select2-selection__rendered'). attr('id', o), this.$selection.on('click', (function (e) { r.trigger('toggle', { originalEvent: e }); })), this.$selection.on('click', '.select2-selection__choice__remove', (function (t) { if (!r.isDisabled()) { var i = e(this). parent(), a = n.GetData(i[0], 'data'); r.trigger('unselect', { originalEvent: t, data: a }); } })), this.$selection.on('keydown', '.select2-selection__choice__remove', (function (e) { r.isDisabled() || e.stopPropagation(); })); }, i.prototype.clear = function () { var e = this.$selection.find( '.select2-selection__rendered'); e.empty(), e.removeAttr('title'); }, i.prototype.display = function ( e, t) { var n = this.options.get('templateSelection'); return this.options.get('escapeMarkup')(n(e, t)); }, i.prototype.selectionContainer = function () { return e( '<li class="select2-selection__choice"><button type="button" class="select2-selection__choice__remove" tabindex="-1"><span aria-hidden="true">×</span></button><span class="select2-selection__choice__display"></span></li>'); }, i.prototype.update = function (e) { if (this.clear(), 0 !== e.length) { for (var t = [], i = this.$selection.find( '.select2-selection__rendered').attr('id') + '-choice-', a = 0; a < e.length; a++) { var r = e[a], o = this.selectionContainer(), s = this.display(r, o), l = i + n.generateChars(4) + '-'; r.id ? l += r.id : l += n.generateChars(4), o.find( '.select2-selection__choice__display'). append(s). attr('id', l); var c = r.title || r.text; c && o.attr('title', c); var u = this.options.get('translations'). get('removeItem'), d = o.find( '.select2-selection__choice__remove'); d.attr('title', u()), d.attr('aria-label', u()), d.attr('aria-describedby', l), n.StoreData(o[0], 'data', r), t.push(o); } this.$selection.find('.select2-selection__rendered'). append(t); } }, i; })), t.define('select2/selection/placeholder', [], (function () { function e (e, t, n) { this.placeholder = this.normalizePlaceholder( n.get('placeholder')), e.call(this, t, n); } return e.prototype.normalizePlaceholder = function ( e, t) { return 'string' == typeof t && (t = { id: '', text: t }), t; }, e.prototype.createPlaceholder = function ( e, t) { var n = this.selectionContainer(); n.html(this.display(t)), n[0].classList.add( 'select2-selection__placeholder'), n[0].classList.remove( 'select2-selection__choice'); var i = t.title || t.text || n.text(); return this.$selection.find('.select2-selection__rendered'). attr('title', i), n; }, e.prototype.update = function (e, t) { var n = 1 == t.length && t[0].id != this.placeholder.id; if (t.length > 1 || n) return e.call(this, t); this.clear(); var i = this.createPlaceholder(this.placeholder); this.$selection.find('.select2-selection__rendered').append(i); }, e; })), t.define('select2/selection/allowClear', ['jquery', '../keys', '../utils'], (function (e, t, n) { function i () {} return i.prototype.bind = function (e, t, n) { var i = this; e.call(this, t, n), null == this.placeholder && this.options.get('debug') && window.console && console.error && console.error( 'Select2: The `allowClear` option should be used in combination with the `placeholder` option.'), this.$selection.on( 'mousedown', '.select2-selection__clear', (function (e) {i._handleClear(e);})), t.on('keypress', (function (e) {i._handleKeyboardClear(e, t);})); }, i.prototype._handleClear = function ( e, t) { if (!this.isDisabled()) { var i = this.$selection.find( '.select2-selection__clear'); if (0 !== i.length) { t.stopPropagation(); var a = n.GetData(i[0], 'data'), r = this.$element.val(); this.$element.val(this.placeholder.id); var o = { data: a }; if (this.trigger('clear', o), o.prevented) this.$element.val(r); else { for (var s = 0; s < a.length; s++) if (o = { data: a[s] }, this.trigger( 'unselect', o), o.prevented) return void this.$element.val( r); this.$element.trigger('input'). trigger('change'), this.trigger('toggle', {}); } } } }, i.prototype._handleKeyboardClear = function ( e, n, i) { i.isOpen() || n.which != t.DELETE && n.which != t.BACKSPACE || this._handleClear(n); }, i.prototype.update = function (t, i) { if (t.call(this, i), this.$selection.find( '.select2-selection__clear'). remove(), this.$selection[0].classList.remove( 'select2-selection--clearable'), !(this.$selection.find( '.select2-selection__placeholder').length > 0 || 0 === i.length)) { var a = this.$selection.find( '.select2-selection__rendered').attr('id'), r = this.options.get('translations'). get('removeAllItems'), o = e( '<button type="button" class="select2-selection__clear" tabindex="-1"><span aria-hidden="true">×</span></button>'); o.attr('title', r()), o.attr('aria-label', r()), o.attr( 'aria-describedby', a), n.StoreData(o[0], 'data', i), this.$selection.prepend( o), this.$selection[0].classList.add( 'select2-selection--clearable'); } }, i; })), t.define('select2/selection/search', ['jquery', '../utils', '../keys'], (function (e, t, n) { function i (e, t, n) {e.call(this, t, n);} return i.prototype.render = function (t) { var n = this.options.get('translations').get('search'), i = e( '<span class="select2-search select2-search--inline"><textarea class="select2-search__field" type="search" tabindex="-1" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" ></textarea></span>'); this.$searchContainer = i, this.$search = i.find( 'textarea'), this.$search.prop('autocomplete', this.options.get('autocomplete')), this.$search.attr( 'aria-label', n()); var a = t.call(this); return this._transferTabIndex(), a.append( this.$searchContainer), a; }, i.prototype.bind = function (e, i, a) { var r = this, o = i.id + '-results', s = i.id + '-container'; e.call(this, i, a), r.$search.attr('aria-describedby', s), i.on('open', (function () { r.$search.attr('aria-controls', o), r.$search.trigger( 'focus'); })), i.on('close', (function () { r.$search.val( ''), r.resizeSearch(), r.$search.removeAttr( 'aria-controls'), r.$search.removeAttr( 'aria-activedescendant'), r.$search.trigger( 'focus'); })), i.on('enable', (function () { r.$search.prop('disabled', !1), r._transferTabIndex(); })), i.on('disable', (function () {r.$search.prop('disabled', !0);})), i.on( 'focus', (function (e) {r.$search.trigger('focus');})), i.on( 'results:focus', (function (e) { e.data._resultId ? r.$search.attr('aria-activedescendant', e.data._resultId) : r.$search.removeAttr('aria-activedescendant'); })), this.$selection.on('focusin', '.select2-search--inline', (function (e) { r.trigger('focus', e); })), this.$selection.on('focusout', '.select2-search--inline', (function (e) {r._handleBlur(e);})), this.$selection.on( 'keydown', '.select2-search--inline', (function (e) { if (e.stopPropagation(), r.trigger('keypress', e), r._keyUpPrevented = e.isDefaultPrevented(), e.which === n.BACKSPACE && '' === r.$search.val()) { var i = r.$selection.find( '.select2-selection__choice').last(); if (i.length > 0) { var a = t.GetData(i[0], 'data'); r.searchRemoveChoice(a), e.preventDefault(); } } })), this.$selection.on('click', '.select2-search--inline', (function (e) { r.$search.val() && e.stopPropagation(); })); var l = document.documentMode, c = l && l <= 11; this.$selection.on('input.searchcheck', '.select2-search--inline', (function (e) { c ? r.$selection.off( 'input.search input.searchcheck') : r.$selection.off('keyup.search'); })), this.$selection.on('keyup.search input.search', '.select2-search--inline', (function (e) { if (c && 'input' === e.type) r.$selection.off( 'input.search input.searchcheck'); else { var t = e.which; t != n.SHIFT && t != n.CTRL && t != n.ALT && t != n.TAB && r.handleSearch(e); } })); }, i.prototype._transferTabIndex = function (e) { this.$search.attr('tabindex', this.$selection.attr('tabindex')), this.$selection.attr( 'tabindex', '-1'); }, i.prototype.createPlaceholder = function ( e, t) { this.$search.attr('placeholder', t.text); }, i.prototype.update = function ( e, t) { var n = this.$search[0] == document.activeElement; this.$search.attr('placeholder', ''), e.call(this, t), this.resizeSearch(), n && this.$search.trigger('focus'); }, i.prototype.handleSearch = function () { if (this.resizeSearch(), !this._keyUpPrevented) { var e = this.$search.val(); this.trigger('query', { term: e }); } this._keyUpPrevented = !1; }, i.prototype.searchRemoveChoice = function ( e, t) { this.trigger('unselect', { data: t }), this.$search.val( t.text), this.handleSearch(); }, i.prototype.resizeSearch = function () { this.$search.css('width', '25px'); var e = '100%'; '' === this.$search.attr('placeholder') && (e = .75 * (this.$search.val().length + 1) + 'em'); this.$search.css('width', e); }, i; })), t.define('select2/selection/selectionCss', ['../utils'], (function (e) { function t () {} return t.prototype.render = function (t) { var n = t.call(this), i = this.options.get('selectionCssClass') || ''; return -1 !== i.indexOf(':all:') && (i = i.replace(':all:', ''), e.copyNonInternalCssClasses( n[0], this.$element[0])), n.addClass(i), n; }, t; })), t.define('select2/selection/eventRelay', ['jquery'], (function (e) { function t () {} return t.prototype.bind = function (t, n, i) { var a = this, r = [ 'open', 'opening', 'close', 'closing', 'select', 'selecting', 'unselect', 'unselecting', 'clear', 'clearing'], o = [ 'opening', 'closing', 'selecting', 'unselecting', 'clearing']; t.call(this, n, i), n.on('*', (function (t, n) { if (-1 !== r.indexOf(t)) { n = n || {}; var i = e.Event('select2:' + t, { params: n }); a.$element.trigger(i), -1 !== o.indexOf(t) && (n.prevented = i.isDefaultPrevented()); } })); }, t; })), t.define('select2/translation', ['jquery', 'require'], (function (e, t) { function n (e) {this.dict = e || {};} return n.prototype.all = function () {return this.dict;}, n.prototype.get = function (e) {return this.dict[e];}, n.prototype.extend = function (t) { this.dict = e.extend({}, t.all(), this.dict); }, n._cache = {}, n.loadPath = function (e) { if (!(e in n._cache)) { var i = t(e); n._cache[e] = i; } return new n(n._cache[e]); }, n; })), t.define('select2/diacritics', [], (function () { return { 'Ⓐ': 'A', 'A': 'A', 'À': 'A', 'Á': 'A', 'Â': 'A', 'Ầ': 'A', 'Ấ': 'A', 'Ẫ': 'A', 'Ẩ': 'A', 'Ã': 'A', 'Ā': 'A', 'Ă': 'A', 'Ằ': 'A', 'Ắ': 'A', 'Ẵ': 'A', 'Ẳ': 'A', 'Ȧ': 'A', 'Ǡ': 'A', 'Ä': 'A', 'Ǟ': 'A', 'Ả': 'A', 'Å': 'A', 'Ǻ': 'A', 'Ǎ': 'A', 'Ȁ': 'A', 'Ȃ': 'A', 'Ạ': 'A', 'Ậ': 'A', 'Ặ': 'A', 'Ḁ': 'A', 'Ą': 'A', 'Ⱥ': 'A', 'Ɐ': 'A', 'Ꜳ': 'AA', 'Æ': 'AE', 'Ǽ': 'AE', 'Ǣ': 'AE', 'Ꜵ': 'AO', 'Ꜷ': 'AU', 'Ꜹ': 'AV', 'Ꜻ': 'AV', 'Ꜽ': 'AY', 'Ⓑ': 'B', 'B': 'B', 'Ḃ': 'B', 'Ḅ': 'B', 'Ḇ': 'B', 'Ƀ': 'B', 'Ƃ': 'B', 'Ɓ': 'B', 'Ⓒ': 'C', 'C': 'C', 'Ć': 'C', 'Ĉ': 'C', 'Ċ': 'C', 'Č': 'C', 'Ç': 'C', 'Ḉ': 'C', 'Ƈ': 'C', 'Ȼ': 'C', 'Ꜿ': 'C', 'Ⓓ': 'D', 'D': 'D', 'Ḋ': 'D', 'Ď': 'D', 'Ḍ': 'D', 'Ḑ': 'D', 'Ḓ': 'D', 'Ḏ': 'D', 'Đ': 'D', 'Ƌ': 'D', 'Ɗ': 'D', 'Ɖ': 'D', 'Ꝺ': 'D', 'DZ': 'DZ', 'DŽ': 'DZ', 'Dz': 'Dz', 'Dž': 'Dz', 'Ⓔ': 'E', 'E': 'E', 'È': 'E', 'É': 'E', 'Ê': 'E', 'Ề': 'E', 'Ế': 'E', 'Ễ': 'E', 'Ể': 'E', 'Ẽ': 'E', 'Ē': 'E', 'Ḕ': 'E', 'Ḗ': 'E', 'Ĕ': 'E', 'Ė': 'E', 'Ë': 'E', 'Ẻ': 'E', 'Ě': 'E', 'Ȅ': 'E', 'Ȇ': 'E', 'Ẹ': 'E', 'Ệ': 'E', 'Ȩ': 'E', 'Ḝ': 'E', 'Ę': 'E', 'Ḙ': 'E', 'Ḛ': 'E', 'Ɛ': 'E', 'Ǝ': 'E', 'Ⓕ': 'F', 'F': 'F', 'Ḟ': 'F', 'Ƒ': 'F', 'Ꝼ': 'F', 'Ⓖ': 'G', 'G': 'G', 'Ǵ': 'G', 'Ĝ': 'G', 'Ḡ': 'G', 'Ğ': 'G', 'Ġ': 'G', 'Ǧ': 'G', 'Ģ': 'G', 'Ǥ': 'G', 'Ɠ': 'G', 'Ꞡ': 'G', 'Ᵹ': 'G', 'Ꝿ': 'G', 'Ⓗ': 'H', 'H': 'H', 'Ĥ': 'H', 'Ḣ': 'H', 'Ḧ': 'H', 'Ȟ': 'H', 'Ḥ': 'H', 'Ḩ': 'H', 'Ḫ': 'H', 'Ħ': 'H', 'Ⱨ': 'H', 'Ⱶ': 'H', 'Ɥ': 'H', 'Ⓘ': 'I', 'I': 'I', 'Ì': 'I', 'Í': 'I', 'Î': 'I', 'Ĩ': 'I', 'Ī': 'I', 'Ĭ': 'I', 'İ': 'I', 'Ï': 'I', 'Ḯ': 'I', 'Ỉ': 'I', 'Ǐ': 'I', 'Ȉ': 'I', 'Ȋ': 'I', 'Ị': 'I', 'Į': 'I', 'Ḭ': 'I', 'Ɨ': 'I', 'Ⓙ': 'J', 'J': 'J', 'Ĵ': 'J', 'Ɉ': 'J', 'Ⓚ': 'K', 'K': 'K', 'Ḱ': 'K', 'Ǩ': 'K', 'Ḳ': 'K', 'Ķ': 'K', 'Ḵ': 'K', 'Ƙ': 'K', 'Ⱪ': 'K', 'Ꝁ': 'K', 'Ꝃ': 'K', 'Ꝅ': 'K', 'Ꞣ': 'K', 'Ⓛ': 'L', 'L': 'L', 'Ŀ': 'L', 'Ĺ': 'L', 'Ľ': 'L', 'Ḷ': 'L', 'Ḹ': 'L', 'Ļ': 'L', 'Ḽ': 'L', 'Ḻ': 'L', 'Ł': 'L', 'Ƚ': 'L', 'Ɫ': 'L', 'Ⱡ': 'L', 'Ꝉ': 'L', 'Ꝇ': 'L', 'Ꞁ': 'L', 'LJ': 'LJ', 'Lj': 'Lj', 'Ⓜ': 'M', 'M': 'M', 'Ḿ': 'M', 'Ṁ': 'M', 'Ṃ': 'M', 'Ɱ': 'M', 'Ɯ': 'M', 'Ⓝ': 'N', 'N': 'N', 'Ǹ': 'N', 'Ń': 'N', 'Ñ': 'N', 'Ṅ': 'N', 'Ň': 'N', 'Ṇ': 'N', 'Ņ': 'N', 'Ṋ': 'N', 'Ṉ': 'N', 'Ƞ': 'N', 'Ɲ': 'N', 'Ꞑ': 'N', 'Ꞥ': 'N', 'NJ': 'NJ', 'Nj': 'Nj', 'Ⓞ': 'O', 'O': 'O', 'Ò': 'O', 'Ó': 'O', 'Ô': 'O', 'Ồ': 'O', 'Ố': 'O', 'Ỗ': 'O', 'Ổ': 'O', 'Õ': 'O', 'Ṍ': 'O', 'Ȭ': 'O', 'Ṏ': 'O', 'Ō': 'O', 'Ṑ': 'O', 'Ṓ': 'O', 'Ŏ': 'O', 'Ȯ': 'O', 'Ȱ': 'O', 'Ö': 'O', 'Ȫ': 'O', 'Ỏ': 'O', 'Ő': 'O', 'Ǒ': 'O', 'Ȍ': 'O', 'Ȏ': 'O', 'Ơ': 'O', 'Ờ': 'O', 'Ớ': 'O', 'Ỡ': 'O', 'Ở': 'O', 'Ợ': 'O', 'Ọ': 'O', 'Ộ': 'O', 'Ǫ': 'O', 'Ǭ': 'O', 'Ø': 'O', 'Ǿ': 'O', 'Ɔ': 'O', 'Ɵ': 'O', 'Ꝋ': 'O', 'Ꝍ': 'O', 'Œ': 'OE', 'Ƣ': 'OI', 'Ꝏ': 'OO', 'Ȣ': 'OU', 'Ⓟ': 'P', 'P': 'P', 'Ṕ': 'P', 'Ṗ': 'P', 'Ƥ': 'P', 'Ᵽ': 'P', 'Ꝑ': 'P', 'Ꝓ': 'P', 'Ꝕ': 'P', 'Ⓠ': 'Q', 'Q': 'Q', 'Ꝗ': 'Q', 'Ꝙ': 'Q', 'Ɋ': 'Q', 'Ⓡ': 'R', 'R': 'R', 'Ŕ': 'R', 'Ṙ': 'R', 'Ř': 'R', 'Ȑ': 'R', 'Ȓ': 'R', 'Ṛ': 'R', 'Ṝ': 'R', 'Ŗ': 'R', 'Ṟ': 'R', 'Ɍ': 'R', 'Ɽ': 'R', 'Ꝛ': 'R', 'Ꞧ': 'R', 'Ꞃ': 'R', 'Ⓢ': 'S', 'S': 'S', 'ẞ': 'S', 'Ś': 'S', 'Ṥ': 'S', 'Ŝ': 'S', 'Ṡ': 'S', 'Š': 'S', 'Ṧ': 'S', 'Ṣ': 'S', 'Ṩ': 'S', 'Ș': 'S', 'Ş': 'S', 'Ȿ': 'S', 'Ꞩ': 'S', 'Ꞅ': 'S', 'Ⓣ': 'T', 'T': 'T', 'Ṫ': 'T', 'Ť': 'T', 'Ṭ': 'T', 'Ț': 'T', 'Ţ': 'T', 'Ṱ': 'T', 'Ṯ': 'T', 'Ŧ': 'T', 'Ƭ': 'T', 'Ʈ': 'T', 'Ⱦ': 'T', 'Ꞇ': 'T', 'Ꜩ': 'TZ', 'Ⓤ': 'U', 'U': 'U', 'Ù': 'U', 'Ú': 'U', 'Û': 'U', 'Ũ': 'U', 'Ṹ': 'U', 'Ū': 'U', 'Ṻ': 'U', 'Ŭ': 'U', 'Ü': 'U', 'Ǜ': 'U', 'Ǘ': 'U', 'Ǖ': 'U', 'Ǚ': 'U', 'Ủ': 'U', 'Ů': 'U', 'Ű': 'U', 'Ǔ': 'U', 'Ȕ': 'U', 'Ȗ': 'U', 'Ư': 'U', 'Ừ': 'U', 'Ứ': 'U', 'Ữ': 'U', 'Ử': 'U', 'Ự': 'U', 'Ụ': 'U', 'Ṳ': 'U', 'Ų': 'U', 'Ṷ': 'U', 'Ṵ': 'U', 'Ʉ': 'U', 'Ⓥ': 'V', 'V': 'V', 'Ṽ': 'V', 'Ṿ': 'V', 'Ʋ': 'V', 'Ꝟ': 'V', 'Ʌ': 'V', 'Ꝡ': 'VY', 'Ⓦ': 'W', 'W': 'W', 'Ẁ': 'W', 'Ẃ': 'W', 'Ŵ': 'W', 'Ẇ': 'W', 'Ẅ': 'W', 'Ẉ': 'W', 'Ⱳ': 'W', 'Ⓧ': 'X', 'X': 'X', 'Ẋ': 'X', 'Ẍ': 'X', 'Ⓨ': 'Y', 'Y': 'Y', 'Ỳ': 'Y', 'Ý': 'Y', 'Ŷ': 'Y', 'Ỹ': 'Y', 'Ȳ': 'Y', 'Ẏ': 'Y', 'Ÿ': 'Y', 'Ỷ': 'Y', 'Ỵ': 'Y', 'Ƴ': 'Y', 'Ɏ': 'Y', 'Ỿ': 'Y', 'Ⓩ': 'Z', 'Z': 'Z', 'Ź': 'Z', 'Ẑ': 'Z', 'Ż': 'Z', 'Ž': 'Z', 'Ẓ': 'Z', 'Ẕ': 'Z', 'Ƶ': 'Z', 'Ȥ': 'Z', 'Ɀ': 'Z', 'Ⱬ': 'Z', 'Ꝣ': 'Z', 'ⓐ': 'a', 'a': 'a', 'ẚ': 'a', 'à': 'a', 'á': 'a', 'â': 'a', 'ầ': 'a', 'ấ': 'a', 'ẫ': 'a', 'ẩ': 'a', 'ã': 'a', 'ā': 'a', 'ă': 'a', 'ằ': 'a', 'ắ': 'a', 'ẵ': 'a', 'ẳ': 'a', 'ȧ': 'a', 'ǡ': 'a', 'ä': 'a', 'ǟ': 'a', 'ả': 'a', 'å': 'a', 'ǻ': 'a', 'ǎ': 'a', 'ȁ': 'a', 'ȃ': 'a', 'ạ': 'a', 'ậ': 'a', 'ặ': 'a', 'ḁ': 'a', 'ą': 'a', 'ⱥ': 'a', 'ɐ': 'a', 'ꜳ': 'aa', 'æ': 'ae', 'ǽ': 'ae', 'ǣ': 'ae', 'ꜵ': 'ao', 'ꜷ': 'au', 'ꜹ': 'av', 'ꜻ': 'av', 'ꜽ': 'ay', 'ⓑ': 'b', 'b': 'b', 'ḃ': 'b', 'ḅ': 'b', 'ḇ': 'b', 'ƀ': 'b', 'ƃ': 'b', 'ɓ': 'b', 'ⓒ': 'c', 'c': 'c', 'ć': 'c', 'ĉ': 'c', 'ċ': 'c', 'č': 'c', 'ç': 'c', 'ḉ': 'c', 'ƈ': 'c', 'ȼ': 'c', 'ꜿ': 'c', 'ↄ': 'c', 'ⓓ': 'd', 'd': 'd', 'ḋ': 'd', 'ď': 'd', 'ḍ': 'd', 'ḑ': 'd', 'ḓ': 'd', 'ḏ': 'd', 'đ': 'd', 'ƌ': 'd', 'ɖ': 'd', 'ɗ': 'd', 'ꝺ': 'd', 'dz': 'dz', 'dž': 'dz', 'ⓔ': 'e', 'e': 'e', 'è': 'e', 'é': 'e', 'ê': 'e', 'ề': 'e', 'ế': 'e', 'ễ': 'e', 'ể': 'e', 'ẽ': 'e', 'ē': 'e', 'ḕ': 'e', 'ḗ': 'e', 'ĕ': 'e', 'ė': 'e', 'ë': 'e', 'ẻ': 'e', 'ě': 'e', 'ȅ': 'e', 'ȇ': 'e', 'ẹ': 'e', 'ệ': 'e', 'ȩ': 'e', 'ḝ': 'e', 'ę': 'e', 'ḙ': 'e', 'ḛ': 'e', 'ɇ': 'e', 'ɛ': 'e', 'ǝ': 'e', 'ⓕ': 'f', 'f': 'f', 'ḟ': 'f', 'ƒ': 'f', 'ꝼ': 'f', 'ⓖ': 'g', 'g': 'g', 'ǵ': 'g', 'ĝ': 'g', 'ḡ': 'g', 'ğ': 'g', 'ġ': 'g', 'ǧ': 'g', 'ģ': 'g', 'ǥ': 'g', 'ɠ': 'g', 'ꞡ': 'g', 'ᵹ': 'g', 'ꝿ': 'g', 'ⓗ': 'h', 'h': 'h', 'ĥ': 'h', 'ḣ': 'h', 'ḧ': 'h', 'ȟ': 'h', 'ḥ': 'h', 'ḩ': 'h', 'ḫ': 'h', 'ẖ': 'h', 'ħ': 'h', 'ⱨ': 'h', 'ⱶ': 'h', 'ɥ': 'h', 'ƕ': 'hv', 'ⓘ': 'i', 'i': 'i', 'ì': 'i', 'í': 'i', 'î': 'i', 'ĩ': 'i', 'ī': 'i', 'ĭ': 'i', 'ï': 'i', 'ḯ': 'i', 'ỉ': 'i', 'ǐ': 'i', 'ȉ': 'i', 'ȋ': 'i', 'ị': 'i', 'į': 'i', 'ḭ': 'i', 'ɨ': 'i', 'ı': 'i', 'ⓙ': 'j', 'j': 'j', 'ĵ': 'j', 'ǰ': 'j', 'ɉ': 'j', 'ⓚ': 'k', 'k': 'k', 'ḱ': 'k', 'ǩ': 'k', 'ḳ': 'k', 'ķ': 'k', 'ḵ': 'k', 'ƙ': 'k', 'ⱪ': 'k', 'ꝁ': 'k', 'ꝃ': 'k', 'ꝅ': 'k', 'ꞣ': 'k', 'ⓛ': 'l', 'l': 'l', 'ŀ': 'l', 'ĺ': 'l', 'ľ': 'l', 'ḷ': 'l', 'ḹ': 'l', 'ļ': 'l', 'ḽ': 'l', 'ḻ': 'l', 'ſ': 'l', 'ł': 'l', 'ƚ': 'l', 'ɫ': 'l', 'ⱡ': 'l', 'ꝉ': 'l', 'ꞁ': 'l', 'ꝇ': 'l', 'lj': 'lj', 'ⓜ': 'm', 'm': 'm', 'ḿ': 'm', 'ṁ': 'm', 'ṃ': 'm', 'ɱ': 'm', 'ɯ': 'm', 'ⓝ': 'n', 'n': 'n', 'ǹ': 'n', 'ń': 'n', 'ñ': 'n', 'ṅ': 'n', 'ň': 'n', 'ṇ': 'n', 'ņ': 'n', 'ṋ': 'n', 'ṉ': 'n', 'ƞ': 'n', 'ɲ': 'n', 'ʼn': 'n', 'ꞑ': 'n', 'ꞥ': 'n', 'nj': 'nj', 'ⓞ': 'o', 'o': 'o', 'ò': 'o', 'ó': 'o', 'ô': 'o', 'ồ': 'o', 'ố': 'o', 'ỗ': 'o', 'ổ': 'o', 'õ': 'o', 'ṍ': 'o', 'ȭ': 'o', 'ṏ': 'o', 'ō': 'o', 'ṑ': 'o', 'ṓ': 'o', 'ŏ': 'o', 'ȯ': 'o', 'ȱ': 'o', 'ö': 'o', 'ȫ': 'o', 'ỏ': 'o', 'ő': 'o', 'ǒ': 'o', 'ȍ': 'o', 'ȏ': 'o', 'ơ': 'o', 'ờ': 'o', 'ớ': 'o', 'ỡ': 'o', 'ở': 'o', 'ợ': 'o', 'ọ': 'o', 'ộ': 'o', 'ǫ': 'o', 'ǭ': 'o', 'ø': 'o', 'ǿ': 'o', 'ɔ': 'o', 'ꝋ': 'o', 'ꝍ': 'o', 'ɵ': 'o', 'œ': 'oe', 'ƣ': 'oi', 'ȣ': 'ou', 'ꝏ': 'oo', 'ⓟ': 'p', 'p': 'p', 'ṕ': 'p', 'ṗ': 'p', 'ƥ': 'p', 'ᵽ': 'p', 'ꝑ': 'p', 'ꝓ': 'p', 'ꝕ': 'p', 'ⓠ': 'q', 'q': 'q', 'ɋ': 'q', 'ꝗ': 'q', 'ꝙ': 'q', 'ⓡ': 'r', 'r': 'r', 'ŕ': 'r', 'ṙ': 'r', 'ř': 'r', 'ȑ': 'r', 'ȓ': 'r', 'ṛ': 'r', 'ṝ': 'r', 'ŗ': 'r', 'ṟ': 'r', 'ɍ': 'r', 'ɽ': 'r', 'ꝛ': 'r', 'ꞧ': 'r', 'ꞃ': 'r', 'ⓢ': 's', 's': 's', 'ß': 's', 'ś': 's', 'ṥ': 's', 'ŝ': 's', 'ṡ': 's', 'š': 's', 'ṧ': 's', 'ṣ': 's', 'ṩ': 's', 'ș': 's', 'ş': 's', 'ȿ': 's', 'ꞩ': 's', 'ꞅ': 's', 'ẛ': 's', 'ⓣ': 't', 't': 't', 'ṫ': 't', 'ẗ': 't', 'ť': 't', 'ṭ': 't', 'ț': 't', 'ţ': 't', 'ṱ': 't', 'ṯ': 't', 'ŧ': 't', 'ƭ': 't', 'ʈ': 't', 'ⱦ': 't', 'ꞇ': 't', 'ꜩ': 'tz', 'ⓤ': 'u', 'u': 'u', 'ù': 'u', 'ú': 'u', 'û': 'u', 'ũ': 'u', 'ṹ': 'u', 'ū': 'u', 'ṻ': 'u', 'ŭ': 'u', 'ü': 'u', 'ǜ': 'u', 'ǘ': 'u', 'ǖ': 'u', 'ǚ': 'u', 'ủ': 'u', 'ů': 'u', 'ű': 'u', 'ǔ': 'u', 'ȕ': 'u', 'ȗ': 'u', 'ư': 'u', 'ừ': 'u', 'ứ': 'u', 'ữ': 'u', 'ử': 'u', 'ự': 'u', 'ụ': 'u', 'ṳ': 'u', 'ų': 'u', 'ṷ': 'u', 'ṵ': 'u', 'ʉ': 'u', 'ⓥ': 'v', 'v': 'v', 'ṽ': 'v', 'ṿ': 'v', 'ʋ': 'v', 'ꝟ': 'v', 'ʌ': 'v', 'ꝡ': 'vy', 'ⓦ': 'w', 'w': 'w', 'ẁ': 'w', 'ẃ': 'w', 'ŵ': 'w', 'ẇ': 'w', 'ẅ': 'w', 'ẘ': 'w', 'ẉ': 'w', 'ⱳ': 'w', 'ⓧ': 'x', 'x': 'x', 'ẋ': 'x', 'ẍ': 'x', 'ⓨ': 'y', 'y': 'y', 'ỳ': 'y', 'ý': 'y', 'ŷ': 'y', 'ỹ': 'y', 'ȳ': 'y', 'ẏ': 'y', 'ÿ': 'y', 'ỷ': 'y', 'ẙ': 'y', 'ỵ': 'y', 'ƴ': 'y', 'ɏ': 'y', 'ỿ': 'y', 'ⓩ': 'z', 'z': 'z', 'ź': 'z', 'ẑ': 'z', 'ż': 'z', 'ž': 'z', 'ẓ': 'z', 'ẕ': 'z', 'ƶ': 'z', 'ȥ': 'z', 'ɀ': 'z', 'ⱬ': 'z', 'ꝣ': 'z', 'Ά': 'Α', 'Έ': 'Ε', 'Ή': 'Η', 'Ί': 'Ι', 'Ϊ': 'Ι', 'Ό': 'Ο', 'Ύ': 'Υ', 'Ϋ': 'Υ', 'Ώ': 'Ω', 'ά': 'α', 'έ': 'ε', 'ή': 'η', 'ί': 'ι', 'ϊ': 'ι', 'ΐ': 'ι', 'ό': 'ο', 'ύ': 'υ', 'ϋ': 'υ', 'ΰ': 'υ', 'ώ': 'ω', 'ς': 'σ', '’': '\'', }; })), t.define('select2/data/base', ['../utils'], (function (e) { function t (e, n) { t.__super__.constructor.call(this); } return e.Extend(t, e.Observable), t.prototype.current = function (e) { throw new Error( 'The `current` method must be defined in child classes.'); }, t.prototype.query = function (e, t) { throw new Error( 'The `query` method must be defined in child classes.'); }, t.prototype.bind = function ( e, t) {}, t.prototype.destroy = function () {}, t.prototype.generateResultId = function ( t, n) { var i = t.id + '-result-'; return i += e.generateChars(4), null != n.id ? i += '-' + n.id.toString() : i += '-' + e.generateChars(4), i; }, t; })), t.define('select2/data/select', ['./base', '../utils', 'jquery'], (function (e, t, n) { function i ( e, t) { this.$element = e, this.options = t, i.__super__.constructor.call( this); } return t.Extend(i, e), i.prototype.current = function (e) { var t = this; e(Array.prototype.map.call( this.$element[0].querySelectorAll(':checked'), (function (e) {return t.item(n(e));}))); }, i.prototype.select = function (e) { var t = this; if (e.selected = !0, null != e.element && 'option' === e.element.tagName.toLowerCase()) return e.element.selected = !0, void this.$element.trigger( 'input').trigger('change'); if (this.$element.prop('multiple')) this.current( (function (n) { var i = []; (e = [e]).push.apply(e, n); for (var a = 0; a < e.length; a++) { var r = e[a].id; -1 === i.indexOf(r) && i.push(r); } t.$element.val(i), t.$element.trigger('input'). trigger('change'); })); else { var n = e.id; this.$element.val(n), this.$element.trigger('input'). trigger('change'); } }, i.prototype.unselect = function (e) { var t = this; if (this.$element.prop('multiple')) { if (e.selected = !1, null != e.element && 'option' === e.element.tagName.toLowerCase()) return e.element.selected = !1, void this.$element.trigger( 'input').trigger('change'); this.current((function (n) { for (var i = [], a = 0; a < n.length; a++) { var r = n[a].id; r !== e.id && -1 === i.indexOf(r) && i.push(r); } t.$element.val(i), t.$element.trigger('input'). trigger('change'); })); } }, i.prototype.bind = function (e, t) { var n = this; this.container = e, e.on('select', (function (e) {n.select(e.data);})), e.on('unselect', (function (e) {n.unselect(e.data);})); }, i.prototype.destroy = function () { this.$element.find('*'). each((function () {t.RemoveData(this);})); }, i.prototype.query = function (e, t) { var i = [], a = this; this.$element.children(). each((function () { if ('option' === this.tagName.toLowerCase() || 'optgroup' === this.tagName.toLowerCase()) { var t = n(this), r = a.item(t), o = a.matches(e, r); null !== o && i.push(o); } })), t({ results: i }); }, i.prototype.addOptions = function (e) { this.$element.append(e); }, i.prototype.option = function (e) { var i; e.children ? (i = document.createElement( 'optgroup')).label = e.text : void 0 !== (i = document.createElement('option')).textContent ? i.textContent = e.text : i.innerText = e.text, void 0 !== e.id && (i.value = e.id), e.disabled && (i.disabled = !0), e.selected && (i.selected = !0), e.title && (i.title = e.title); var a = this._normalizeItem(e); return a.element = i, t.StoreData(i, 'data', a), n(i); }, i.prototype.item = function (e) { var i = {}; if (null != (i = t.GetData(e[0], 'data'))) return i; var a = e[0]; if ('option' === a.tagName.toLowerCase()) i = { id: e.val(), text: e.text(), disabled: e.prop('disabled'), selected: e.prop('selected'), title: e.prop('title'), }; else if ('optgroup' === a.tagName.toLowerCase()) { i = { text: e.prop('label'), children: [], title: e.prop('title'), }; for (var r = e.children('option'), o = [], s = 0; s < r.length; s++) { var l = n(r[s]), c = this.item(l); o.push(c); } i.children = o; } return (i = this._normalizeItem( i)).element = e[0], t.StoreData(e[0], 'data', i), i; }, i.prototype._normalizeItem = function (e) { e !== Object(e) && (e = { id: e, text: e }); return null != (e = n.extend({}, { text: '' }, e)).id && (e.id = e.id.toString()), null != e.text && (e.text = e.text.toString()), null == e._resultId && e.id && null != this.container && (e._resultId = this.generateResultId(this.container, e)), n.extend({}, { selected: !1, disabled: !1 }, e); }, i.prototype.matches = function ( e, t) { return this.options.get('matcher')(e, t); }, i; })), t.define('select2/data/array', ['./select', '../utils', 'jquery'], (function (e, t, n) { function i (e, t) { this._dataToConvert = t.get('data') || [], i.__super__.constructor.call(this, e, t); } return t.Extend(i, e), i.prototype.bind = function ( e, t) { i.__super__.bind.call(this, e, t), this.addOptions( this.convertToOptions(this._dataToConvert)); }, i.prototype.select = function (e) { var t = this.$element.find('option'). filter((function (t, n) { return n.value == e.id.toString(); })); 0 === t.length && (t = this.option(e), this.addOptions( t)), i.__super__.select.call(this, e); }, i.prototype.convertToOptions = function (e) { var t = this, i = this.$element.find('option'), a = i.map((function () {return t.item(n(this)).id;})). get(), r = []; function o (e) { return function () { return n(this).val() == e.id; }; } for (var s = 0; s < e.length; s++) { var l = this._normalizeItem(e[s]); if (a.indexOf(l.id) >= 0) { var c = i.filter(o(l)), u = this.item(c), d = n.extend(!0, {}, l, u), h = this.option(d); c.replaceWith(h); } else { var f = this.option(l); if (l.children) { var p = this.convertToOptions(l.children); f.append(p); } r.push(f); } } return r; }, i; })), t.define('select2/data/ajax', ['./array', '../utils', 'jquery'], (function (e, t, n) { function i (e, t) { this.ajaxOptions = this._applyDefaults( t.get('ajax')), null != this.ajaxOptions.processResults && (this.processResults = this.ajaxOptions.processResults), i.__super__.constructor.call( this, e, t); } return t.Extend(i, e), i.prototype._applyDefaults = function (e) { var t = { data: function (e) { return n.extend({}, e, { q: e.term }); }, transport: function (e, t, i) { var a = n.ajax(e); return a.then(t), a.fail(i), a; }, }; return n.extend({}, t, e, !0); }, i.prototype.processResults = function (e) {return e;}, i.prototype.query = function ( e, t) { var i = this; null != this._request && ('function' == typeof this._request.abort && this._request.abort(), this._request = null); var a = n.extend({ type: 'GET' }, this.ajaxOptions); function r () { var n = a.transport(a, (function (n) { var a = i.processResults(n, e); i.options.get('debug') && window.console && console.error && (a && a.results && Array.isArray(a.results) || console.error( 'Select2: The AJAX results did not return an array in the `results` key of the response.')), t( a); }), (function () { (!('status' in n) || 0 !== n.status && '0' !== n.status) && i.trigger('results:message', { message: 'errorLoading' }); })); i._request = n; } 'function' == typeof a.url && (a.url = a.url.call(this.$element, e)), 'function' == typeof a.data && (a.data = a.data.call(this.$element, e)), this.ajaxOptions.delay && null != e.term ? (this._queryTimeout && window.clearTimeout( this._queryTimeout), this._queryTimeout = window.setTimeout( r, this.ajaxOptions.delay)) : r(); }, i; })), t.define('select2/data/tags', ['jquery'], (function (e) { function t (e, t, n) { var i = n.get('tags'), a = n.get('createTag'); void 0 !== a && (this.createTag = a); var r = n.get('insertTag'); if (void 0 !== r && (this.insertTag = r), e.call(this, t, n), Array.isArray(i)) for (var o = 0; o < i.length; o++) { var s = i[o], l = this._normalizeItem(s), c = this.option(l); this.$element.append(c); } } return t.prototype.query = function (e, t, n) { var i = this; this._removeOldTags(), null != t.term && null == t.page ? e.call(this, t, (function e (a, r) { for (var o = a.results, s = 0; s < o.length; s++) { var l = o[s], c = null != l.children && !e({ results: l.children }, !0); if ((l.text || '').toUpperCase() === (t.term || '').toUpperCase() || c) return !r && (a.data = o, void n(a)); } if (r) return !0; var u = i.createTag(t); if (null != u) { var d = i.option(u); d.attr('data-select2-tag', 'true'), i.addOptions( [d]), i.insertTag(o, u); } a.results = o, n(a); })) : e.call(this, t, n); }, t.prototype.createTag = function (e, t) { if (null == t.term) return null; var n = t.term.trim(); return '' === n ? null : { id: n, text: n }; }, t.prototype.insertTag = function (e, t, n) { t.unshift(n); }, t.prototype._removeOldTags = function (t) { this.$element.find('option[data-select2-tag]'). each((function () {this.selected || e(this).remove();})); }, t; })), t.define('select2/data/tokenizer', ['jquery'], (function (e) { function t (e, t, n) { var i = n.get('tokenizer'); void 0 !== i && (this.tokenizer = i), e.call(this, t, n); } return t.prototype.bind = function (e, t, n) { e.call(this, t, n), this.$search = t.dropdown.$search || t.selection.$search || n.find('.select2-search__field'); }, t.prototype.query = function (t, n, i) { var a = this; n.term = n.term || ''; var r = this.tokenizer(n, this.options, (function (t) { var n = a._normalizeItem(t); if (!a.$element.find('option'). filter((function () { return e(this).val() === n.id; })).length) { var i = a.option(n); i.attr('data-select2-tag', !0), a._removeOldTags(), a.addOptions([i]); } !function (e) {a.trigger('select', { data: e });}(n); })); r.term !== n.term && (this.$search.length && (this.$search.val(r.term), this.$search.trigger( 'focus')), n.term = r.term), t.call(this, n, i); }, t.prototype.tokenizer = function ( t, n, i, a) { for (var r = i.get('tokenSeparators') || [], o = n.term, s = 0, l = this.createTag || function (e) {return { id: e.term, text: e.term };}; s < o.length;) { var c = o[s]; if (-1 !== r.indexOf(c)) { var u = o.substr(0, s), d = l(e.extend({}, n, { term: u })); null != d ? (a(d), o = o.substr(s + 1) || '', s = 0) : s++; } else s++; } return { term: o }; }, t; })), t.define('select2/data/minimumInputLength', [], (function () { function e (e, t, n) { this.minimumInputLength = n.get('minimumInputLength'), e.call( this, t, n); } return e.prototype.query = function (e, t, n) { t.term = t.term || '', t.term.length < this.minimumInputLength ? this.trigger('results:message', { message: 'inputTooShort', args: { minimum: this.minimumInputLength, input: t.term, params: t, }, }) : e.call(this, t, n); }, e; })), t.define('select2/data/maximumInputLength', [], (function () { function e (e, t, n) { this.maximumInputLength = n.get('maximumInputLength'), e.call( this, t, n); } return e.prototype.query = function (e, t, n) { t.term = t.term || '', this.maximumInputLength > 0 && t.term.length > this.maximumInputLength ? this.trigger( 'results:message', { message: 'inputTooLong', args: { maximum: this.maximumInputLength, input: t.term, params: t, }, }) : e.call(this, t, n); }, e; })), t.define('select2/data/maximumSelectionLength', [], (function () { function e (e, t, n) { this.maximumSelectionLength = n.get( 'maximumSelectionLength'), e.call(this, t, n); } return e.prototype.bind = function (e, t, n) { var i = this; e.call(this, t, n), t.on('select', (function () {i._checkIfMaximumSelected();})); }, e.prototype.query = function (e, t, n) { var i = this; this._checkIfMaximumSelected((function () {e.call(i, t, n);})); }, e.prototype._checkIfMaximumSelected = function ( e, t) { var n = this; this.current((function (e) { var i = null != e ? e.length : 0; n.maximumSelectionLength > 0 && i >= n.maximumSelectionLength ? n.trigger('results:message', { message: 'maximumSelected', args: { maximum: n.maximumSelectionLength }, }) : t && t(); })); }, e; })), t.define('select2/dropdown', ['jquery', './utils'], (function (e, t) { function n (e, t) { this.$element = e, this.options = t, n.__super__.constructor.call( this); } return t.Extend(n, t.Observable), n.prototype.render = function () { var t = e( '<span class="select2-dropdown"><span class="select2-results"></span></span>'); return t.attr('dir', this.options.get('dir')), this.$dropdown = t, t; }, n.prototype.bind = function () {}, n.prototype.position = function ( e, t) {}, n.prototype.destroy = function () {this.$dropdown.remove();}, n; })), t.define('select2/dropdown/search', ['jquery'], (function (e) { function t () {} return t.prototype.render = function (t) { var n = t.call(this), i = this.options.get('translations').get('search'), a = e( '<span class="select2-search select2-search--dropdown"><input class="select2-search__field" type="search" tabindex="-1" autocorrect="off" autocapitalize="none" spellcheck="false" role="searchbox" aria-autocomplete="list" /></span>'); return this.$searchContainer = a, this.$search = a.find( 'input'), this.$search.prop('autocomplete', this.options.get('autocomplete')), this.$search.attr( 'aria-label', i()), n.prepend(a), n; }, t.prototype.bind = function (t, n, i) { var a = this, r = n.id + '-results'; t.call(this, n, i), this.$search.on('keydown', (function (e) { a.trigger('keypress', e), a._keyUpPrevented = e.isDefaultPrevented(); })), this.$search.on('input', (function (t) {e(this).off('keyup');})), this.$search.on( 'keyup input', (function (e) {a.handleSearch(e);})), n.on( 'open', (function () { a.$search.attr('tabindex', 0), a.$search.attr( 'aria-controls', r), a.$search.trigger( 'focus'), window.setTimeout( (function () {a.$search.trigger('focus');}), 0); })), n.on('close', (function () { a.$search.attr('tabindex', -1), a.$search.removeAttr( 'aria-controls'), a.$search.removeAttr( 'aria-activedescendant'), a.$search.val( ''), a.$search.trigger('blur'); })), n.on('focus', (function () { n.isOpen() || a.$search.trigger('focus'); })), n.on('results:all', (function (e) { null != e.query.term && '' !== e.query.term || (a.showSearch(e) ? a.$searchContainer[0].classList.remove( 'select2-search--hide') : a.$searchContainer[0].classList.add( 'select2-search--hide')); })), n.on('results:focus', (function (e) { e.data._resultId ? a.$search.attr('aria-activedescendant', e.data._resultId) : a.$search.removeAttr( 'aria-activedescendant'); })); }, t.prototype.handleSearch = function (e) { if (!this._keyUpPrevented) { var t = this.$search.val(); this.trigger('query', { term: t }); } this._keyUpPrevented = !1; }, t.prototype.showSearch = function (e, t) {return !0;}, t; })), t.define('select2/dropdown/hidePlaceholder', [], (function () { function e (e, t, n, i) { this.placeholder = this.normalizePlaceholder( n.get('placeholder')), e.call(this, t, n, i); } return e.prototype.append = function ( e, t) { t.results = this.removePlaceholder(t.results), e.call(this, t); }, e.prototype.normalizePlaceholder = function ( e, t) { return 'string' == typeof t && (t = { id: '', text: t }), t; }, e.prototype.removePlaceholder = function ( e, t) { for (var n = t.slice(0), i = t.length - 1; i >= 0; i--) { var a = t[i]; this.placeholder.id === a.id && n.splice(i, 1); } return n; }, e; })), t.define('select2/dropdown/infiniteScroll', ['jquery'], (function (e) { function t (e, t, n, i) { this.lastParams = {}, e.call(this, t, n, i), this.$loadingMore = this.createLoadingMore(), this.loading = !1; } return t.prototype.append = function ( e, t) { this.$loadingMore.remove(), this.loading = !1, e.call(this, t), this.showLoadingMore(t) && (this.$results.append( this.$loadingMore), this.loadMoreIfNeeded()); }, t.prototype.bind = function (e, t, n) { var i = this; e.call(this, t, n), t.on('query', (function (e) {i.lastParams = e, i.loading = !0;})), t.on( 'query:append', (function (e) {i.lastParams = e, i.loading = !0;})), this.$results.on( 'scroll', this.loadMoreIfNeeded.bind(this)); }, t.prototype.loadMoreIfNeeded = function () { var t = e.contains(document.documentElement, this.$loadingMore[0]); !this.loading && t && (this.$results.offset().top + this.$results.outerHeight(!1) + 50 >= this.$loadingMore.offset().top + this.$loadingMore.outerHeight(!1) && this.loadMore()); }, t.prototype.loadMore = function () { this.loading = !0; var t = e.extend({}, { page: 1 }, this.lastParams); t.page++, this.trigger('query:append', t); }, t.prototype.showLoadingMore = function ( e, t) { return t.pagination && t.pagination.more; }, t.prototype.createLoadingMore = function () { var t = e( '<li class="select2-results__option select2-results__option--load-more"role="option" aria-disabled="true"></li>'), n = this.options.get('translations').get('loadingMore'); return t.html(n(this.lastParams)), t; }, t; })), t.define('select2/dropdown/attachBody', ['jquery', '../utils'], (function (e, t) { function n (t, n, i) { this.$dropdownParent = e( i.get('dropdownParent') || document.body), t.call(this, n, i); } return n.prototype.bind = function (e, t, n) { var i = this; e.call(this, t, n), t.on('open', (function () { i._showDropdown(), i._attachPositioningHandler( t), i._bindContainerResultHandlers(t); })), t.on('close', (function () { i._hideDropdown(), i._detachPositioningHandler(t); })), this.$dropdownContainer.on('mousedown', (function (e) {e.stopPropagation();})); }, n.prototype.destroy = function (e) { e.call(this), this.$dropdownContainer.remove(); }, n.prototype.position = function (e, t, n) { t.attr('class', n.attr('class')), t[0].classList.remove( 'select2'), t[0].classList.add( 'select2-container--open'), t.css({ position: 'absolute', top: -999999, }), this.$container = n; }, n.prototype.render = function (t) { var n = e('<span></span>'), i = t.call(this); return n.append(i), this.$dropdownContainer = n, n; }, n.prototype._hideDropdown = function (e) {this.$dropdownContainer.detach();}, n.prototype._bindContainerResultHandlers = function ( e, t) { if (!this._containerResultsHandlersBound) { var n = this; t.on('results:all', (function () {n._positionDropdown(), n._resizeDropdown();})), t.on( 'results:append', (function () {n._positionDropdown(), n._resizeDropdown();})), t.on( 'results:message', (function () {n._positionDropdown(), n._resizeDropdown();})), t.on( 'select', (function () {n._positionDropdown(), n._resizeDropdown();})), t.on( 'unselect', (function () {n._positionDropdown(), n._resizeDropdown();})), this._containerResultsHandlersBound = !0; } }, n.prototype._attachPositioningHandler = function ( n, i) { var a = this, r = 'scroll.select2.' + i.id, o = 'resize.select2.' + i.id, s = 'orientationchange.select2.' + i.id, l = this.$container.parents().filter(t.hasScroll); l.each((function () { t.StoreData(this, 'select2-scroll-position', { x: e(this).scrollLeft(), y: e(this).scrollTop(), }); })), l.on(r, (function (n) { var i = t.GetData(this, 'select2-scroll-position'); e(this).scrollTop(i.y); })), e(window). on(r + ' ' + o + ' ' + s, (function (e) {a._positionDropdown(), a._resizeDropdown();})); }, n.prototype._detachPositioningHandler = function ( n, i) { var a = 'scroll.select2.' + i.id, r = 'resize.select2.' + i.id, o = 'orientationchange.select2.' + i.id; this.$container.parents().filter(t.hasScroll).off(a), e( window).off(a + ' ' + r + ' ' + o); }, n.prototype._positionDropdown = function () { var t = e(window), n = this.$dropdown[0].classList.contains( 'select2-dropdown--above'), i = this.$dropdown[0].classList.contains( 'select2-dropdown--below'), a = null, r = this.$container.offset(); r.bottom = r.top + this.$container.outerHeight(!1); var o = { height: this.$container.outerHeight(!1) }; o.top = r.top, o.bottom = r.top + o.height; var s = this.$dropdown.outerHeight(!1), l = t.scrollTop(), c = t.scrollTop() + t.height(), u = l < r.top - s, d = c > r.bottom + s, h = { left: r.left, top: o.bottom }, f = this.$dropdownParent; 'static' === f.css('position') && (f = f.offsetParent()); var p = { top: 0, left: 0 }; (e.contains(document.body, f[0]) || f[0].isConnected) && (p = f.offset()), h.top -= p.top, h.left -= p.left, n || i || (a = 'below'), d || !u || n ? !u && d && n && (a = 'below') : a = 'above', ('above' == a || n && 'below' !== a) && (h.top = o.top - p.top - s), null != a && (this.$dropdown[0].classList.remove( 'select2-dropdown--below'), this.$dropdown[0].classList.remove( 'select2-dropdown--above'), this.$dropdown[0].classList.add( 'select2-dropdown--' + a), this.$container[0].classList.remove( 'select2-container--below'), this.$container[0].classList.remove( 'select2-container--above'), this.$container[0].classList.add( 'select2-container--' + a)), this.$dropdownContainer.css(h); }, n.prototype._resizeDropdown = function () { var e = { width: this.$container.outerWidth(!1) + 'px', }; this.options.get('dropdownAutoWidth') && (e.minWidth = e.width, e.position = 'relative', e.width = 'auto'), this.$dropdown.css( e); }, n.prototype._showDropdown = function (e) { this.$dropdownContainer.appendTo( this.$dropdownParent), this._positionDropdown(), this._resizeDropdown(); }, n; })), t.define('select2/dropdown/minimumResultsForSearch', [], (function () { function e (t) { for (var n = 0, i = 0; i < t.length; i++) { var a = t[i]; a.children ? n += e(a.children) : n++; } return n; } function t (e, t, n, i) { this.minimumResultsForSearch = n.get( 'minimumResultsForSearch'), this.minimumResultsForSearch < 0 && (this.minimumResultsForSearch = 1 / 0), e.call(this, t, n, i); } return t.prototype.showSearch = function (t, n) { return !(e(n.data.results) < this.minimumResultsForSearch) && t.call(this, n); }, t; })), t.define('select2/dropdown/selectOnClose', ['../utils'], (function (e) { function t () {} return t.prototype.bind = function (e, t, n) { var i = this; e.call(this, t, n), t.on('close', (function (e) {i._handleSelectOnClose(e);})); }, t.prototype._handleSelectOnClose = function (t, n) { if (n && null != n.originalSelect2Event) { var i = n.originalSelect2Event; if ('select' === i._type || 'unselect' === i._type) return; } var a = this.getHighlightedResults(); if (!(a.length < 1)) { var r = e.GetData(a[0], 'data'); null != r.element && r.element.selected || null == r.element && r.selected || this.trigger('select', { data: r }); } }, t; })), t.define('select2/dropdown/closeOnSelect', [], (function () { function e () {} return e.prototype.bind = function (e, t, n) { var i = this; e.call(this, t, n), t.on('select', (function (e) {i._selectTriggered(e);})), t.on('unselect', (function (e) {i._selectTriggered(e);})); }, e.prototype._selectTriggered = function ( e, t) { var n = t.originalEvent; n && (n.ctrlKey || n.metaKey) || this.trigger('close', { originalEvent: n, originalSelect2Event: t }); }, e; })), t.define('select2/dropdown/dropdownCss', ['../utils'], (function (e) { function t () {} return t.prototype.render = function (t) { var n = t.call(this), i = this.options.get('dropdownCssClass') || ''; return -1 !== i.indexOf(':all:') && (i = i.replace(':all:', ''), e.copyNonInternalCssClasses( n[0], this.$element[0])), n.addClass(i), n; }, t; })), t.define('select2/dropdown/tagsSearchHighlight', ['../utils'], (function (e) { function t () {} return t.prototype.highlightFirstItem = function (t) { var n = this.$results.find( '.select2-results__option--selectable:not(.select2-results__option--selected)'); if (n.length > 0) { var i = n.first(), a = e.GetData(i[0], 'data').element; if (a && a.getAttribute && 'true' === a.getAttribute( 'data-select2-tag')) return void i.trigger( 'mouseenter'); } t.call(this); }, t; })), t.define('select2/i18n/en', [], (function () { return { errorLoading: function () {return 'The results could not be loaded.';}, inputTooLong: function (e) { var t = e.input.length - e.maximum, n = 'Please delete ' + t + ' character'; return 1 != t && (n += 's'), n; }, inputTooShort: function (e) { return 'Please enter ' + (e.minimum - e.input.length) + ' or more characters'; }, loadingMore: function () {return 'Loading more results…';}, maximumSelected: function (e) { var t = 'You can only select ' + e.maximum + ' item'; return 1 != e.maximum && (t += 's'), t; }, noResults: function () {return 'No results found';}, searching: function () {return 'Searching…';}, removeAllItems: function () {return 'Remove all items';}, removeItem: function () {return 'Remove item';}, search: function () {return 'Search';}, }; })), t.define('select2/defaults', [ 'jquery', './results', './selection/single', './selection/multiple', './selection/placeholder', './selection/allowClear', './selection/search', './selection/selectionCss', './selection/eventRelay', './utils', './translation', './diacritics', './data/select', './data/array', './data/ajax', './data/tags', './data/tokenizer', './data/minimumInputLength', './data/maximumInputLength', './data/maximumSelectionLength', './dropdown', './dropdown/search', './dropdown/hidePlaceholder', './dropdown/infiniteScroll', './dropdown/attachBody', './dropdown/minimumResultsForSearch', './dropdown/selectOnClose', './dropdown/closeOnSelect', './dropdown/dropdownCss', './dropdown/tagsSearchHighlight', './i18n/en'], (function (e, t, n, i, a, r, o, s, l, c, u, d, h, f, p, m, g, v, y, b, x, _, w, k, M, L, S, T, A, D, C) { function E () {this.reset();} return E.prototype.apply = function (u) { if (null == (u = e.extend(!0, {}, this.defaults, u)).dataAdapter && (null != u.ajax ? u.dataAdapter = p : null != u.data ? u.dataAdapter = f : u.dataAdapter = h, u.minimumInputLength > 0 && (u.dataAdapter = c.Decorate(u.dataAdapter, v)), u.maximumInputLength > 0 && (u.dataAdapter = c.Decorate(u.dataAdapter, y)), u.maximumSelectionLength > 0 && (u.dataAdapter = c.Decorate(u.dataAdapter, b)), u.tags && (u.dataAdapter = c.Decorate(u.dataAdapter, m)), null == u.tokenSeparators && null == u.tokenizer || (u.dataAdapter = c.Decorate(u.dataAdapter, g))), null == u.resultsAdapter && (u.resultsAdapter = t, null != u.ajax && (u.resultsAdapter = c.Decorate(u.resultsAdapter, k)), null != u.placeholder && (u.resultsAdapter = c.Decorate(u.resultsAdapter, w)), u.selectOnClose && (u.resultsAdapter = c.Decorate(u.resultsAdapter, S)), u.tags && (u.resultsAdapter = c.Decorate(u.resultsAdapter, D))), null == u.dropdownAdapter) { if (u.multiple) u.dropdownAdapter = x; else { var d = c.Decorate(x, _); u.dropdownAdapter = d; } 0 !== u.minimumResultsForSearch && (u.dropdownAdapter = c.Decorate(u.dropdownAdapter, L)), u.closeOnSelect && (u.dropdownAdapter = c.Decorate(u.dropdownAdapter, T)), null != u.dropdownCssClass && (u.dropdownAdapter = c.Decorate(u.dropdownAdapter, A)), u.dropdownAdapter = c.Decorate( u.dropdownAdapter, M); } null == u.selectionAdapter && (u.multiple ? u.selectionAdapter = i : u.selectionAdapter = n, null != u.placeholder && (u.selectionAdapter = c.Decorate(u.selectionAdapter, a)), u.allowClear && (u.selectionAdapter = c.Decorate(u.selectionAdapter, r)), u.multiple && (u.selectionAdapter = c.Decorate(u.selectionAdapter, o)), null != u.selectionCssClass && (u.selectionAdapter = c.Decorate(u.selectionAdapter, s)), u.selectionAdapter = c.Decorate(u.selectionAdapter, l)), u.language = this._resolveLanguage( u.language), u.language.push('en'); for (var C = [], E = 0; E < u.language.length; E++) { var O = u.language[E]; -1 === C.indexOf(O) && C.push(O); } return u.language = C, u.translations = this._processTranslations( u.language, u.debug), u; }, E.prototype.reset = function () { function t (e) { return e.replace(/[^\u0000-\u007E]/g, (function (e) {return d[e] || e;})); } this.defaults = { amdLanguageBase: './i18n/', autocomplete: 'off', closeOnSelect: !0, debug: !1, dropdownAutoWidth: !1, escapeMarkup: c.escapeMarkup, language: {}, matcher: function n (i, a) { if (null == i.term || '' === i.term.trim()) return a; if (a.children && a.children.length > 0) { for (var r = e.extend(!0, {}, a), o = a.children.length - 1; o >= 0; o--) { null == n(i, a.children[o]) && r.children.splice(o, 1); } return r.children.length > 0 ? r : n(i, r); } var s = t(a.text).toUpperCase(), l = t(i.term).toUpperCase(); return s.indexOf(l) > -1 ? a : null; }, minimumInputLength: 0, maximumInputLength: 0, maximumSelectionLength: 0, minimumResultsForSearch: 0, selectOnClose: !1, scrollAfterSelect: !1, sorter: function (e) {return e;}, templateResult: function (e) {return e.text;}, templateSelection: function (e) {return e.text;}, theme: 'default', width: 'resolve', }; }, E.prototype.applyFromElement = function ( e, t) { var n = e.language, i = this.defaults.language, a = t.prop('lang'), r = t.closest('[lang]').prop('lang'), o = Array.prototype.concat.call( this._resolveLanguage(a), this._resolveLanguage(n), this._resolveLanguage(i), this._resolveLanguage(r)); return e.language = o, e; }, E.prototype._resolveLanguage = function (t) { if (!t) return []; if (e.isEmptyObject(t)) return []; if (e.isPlainObject(t)) return [t]; var n; n = Array.isArray(t) ? t : [t]; for (var i = [], a = 0; a < n.length; a++) if (i.push( n[a]), 'string' == typeof n[a] && n[a].indexOf('-') > 0) { var r = n[a].split('-')[0]; i.push(r); } return i; }, E.prototype._processTranslations = function ( t, n) { for (var i = new u, a = 0; a < t.length; a++) { var r = new u, o = t[a]; if ('string' == typeof o) try { r = u.loadPath(o); } catch (e) { try { o = this.defaults.amdLanguageBase + o, r = u.loadPath(o); } catch (e) { n && window.console && console.warn && console.warn( 'Select2: The language file for "' + o + '" could not be automatically loaded. A fallback will be used instead.'); } } else r = e.isPlainObject(o) ? new u(o) : o; i.extend(r); } return i; }, E.prototype.set = function (t, n) { var i = {}; i[e.camelCase(t)] = n; var a = c._convertData(i); e.extend(!0, this.defaults, a); }, new E; })), t.define('select2/options', ['jquery', './defaults', './utils'], (function (e, t, n) { function i (e, n) { this.options = e, null != n && this.fromElement(n), null != n && (this.options = t.applyFromElement(this.options, n)), this.options = t.apply(this.options); } return i.prototype.fromElement = function (t) { var i = ['select2']; null == this.options.multiple && (this.options.multiple = t.prop('multiple')), null == this.options.disabled && (this.options.disabled = t.prop('disabled')), null == this.options.autocomplete && t.prop('autocomplete') && (this.options.autocomplete = t.prop( 'autocomplete')), null == this.options.dir && (t.prop('dir') ? this.options.dir = t.prop('dir') : t.closest('[dir]').prop('dir') ? this.options.dir = t.closest('[dir]').prop('dir') : this.options.dir = 'ltr'), t.prop('disabled', this.options.disabled), t.prop('multiple', this.options.multiple), n.GetData(t[0], 'select2Tags') && (this.options.debug && window.console && console.warn && console.warn( 'Select2: The `data-select2-tags` attribute has been changed to use the `data-data` and `data-tags="true"` attributes and will be removed in future versions of Select2.'), n.StoreData( t[0], 'data', n.GetData(t[0], 'select2Tags')), n.StoreData(t[0], 'tags', !0)), n.GetData(t[0], 'ajaxUrl') && (this.options.debug && window.console && console.warn && console.warn( 'Select2: The `data-ajax-url` attribute has been changed to `data-ajax--url` and support for the old attribute will be removed in future versions of Select2.'), t.attr( 'ajax--url', n.GetData(t[0], 'ajaxUrl')), n.StoreData( t[0], 'ajax-Url', n.GetData(t[0], 'ajaxUrl'))); var a = {}; function r (e, t) {return t.toUpperCase();} for (var o = 0; o < t[0].attributes.length; o++) { var s = t[0].attributes[o].name, l = 'data-'; if (s.substr(0, l.length) == l) { var c = s.substring(l.length), u = n.GetData(t[0], c); a[c.replace(/-([a-z])/g, r)] = u; } } e.fn.jquery && '1.' == e.fn.jquery.substr(0, 2) && t[0].dataset && (a = e.extend(!0, {}, t[0].dataset, a)); var d = e.extend(!0, {}, n.GetData(t[0]), a); for (var h in d = n._convertData(d)) i.indexOf(h) > -1 || (e.isPlainObject(this.options[h]) ? e.extend( this.options[h], d[h]) : this.options[h] = d[h]); return this; }, i.prototype.get = function (e) {return this.options[e];}, i.prototype.set = function ( e, t) {this.options[e] = t;}, i; })), t.define('select2/core', ['jquery', './options', './utils', './keys'], (function (e, t, n, i) { var a = function (e, i) { null != n.GetData(e[0], 'select2') && n.GetData(e[0], 'select2'). destroy(), this.$element = e, this.id = this._generateId( e), i = i || {}, this.options = new t(i, e), a.__super__.constructor.call(this); var r = e.attr('tabindex') || 0; n.StoreData(e[0], 'old-tabindex', r), e.attr('tabindex', '-1'); var o = this.options.get('dataAdapter'); this.dataAdapter = new o(e, this.options); var s = this.render(); this._placeContainer(s); var l = this.options.get('selectionAdapter'); this.selection = new l(e, this.options), this.$selection = this.selection.render(), this.selection.position( this.$selection, s); var c = this.options.get('dropdownAdapter'); this.dropdown = new c(e, this.options), this.$dropdown = this.dropdown.render(), this.dropdown.position( this.$dropdown, s); var u = this.options.get('resultsAdapter'); this.results = new u(e, this.options, this.dataAdapter), this.$results = this.results.render(), this.results.position( this.$results, this.$dropdown); var d = this; this._bindAdapters(), this._registerDomEvents(), this._registerDataEvents(), this._registerSelectionEvents(), this._registerDropdownEvents(), this._registerResultsEvents(), this._registerEvents(), this.dataAdapter.current( (function (e) { d.trigger('selection:update', { data: e }); })), e[0].classList.add( 'select2-hidden-accessible'), e.attr('aria-hidden', 'true'), this._syncAttributes(), n.StoreData(e[0], 'select2', this), e.data('select2', this); }; return n.Extend(a, n.Observable), a.prototype._generateId = function (e) { return 'select2-' + (null != e.attr('id') ? e.attr('id') : null != e.attr('name') ? e.attr('name') + '-' + n.generateChars(2) : n.generateChars(4)).replace(/(:|\.|\[|\]|,)/g, ''); }, a.prototype._placeContainer = function (e) { e.insertAfter(this.$element); var t = this._resolveWidth(this.$element, this.options.get('width')); null != t && e.css('width', t); }, a.prototype._resolveWidth = function ( e, t) { var n = /^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i; if ('resolve' == t) { var i = this._resolveWidth(e, 'style'); return null != i ? i : this._resolveWidth(e, 'element'); } if ('element' == t) { var a = e.outerWidth(!1); return a <= 0 ? 'auto' : a + 'px'; } if ('style' == t) { var r = e.attr('style'); if ('string' != typeof r) return null; for (var o = r.split(';'), s = 0, l = o.length; s < l; s += 1) { var c = o[s].replace(/\s/g, '').match(n); if (null !== c && c.length >= 1) return c[1]; } return null; } return 'computedstyle' == t ? window.getComputedStyle( e[0]).width : t; }, a.prototype._bindAdapters = function () { this.dataAdapter.bind(this, this.$container), this.selection.bind(this, this.$container), this.dropdown.bind(this, this.$container), this.results.bind(this, this.$container); }, a.prototype._registerDomEvents = function () { var e = this; this.$element.on('change.select2', (function () { e.dataAdapter.current((function (t) { e.trigger('selection:update', { data: t }); })); })), this.$element.on('focus.select2', (function (t) { e.trigger('focus', t); })), this._syncA = n.bind(this._syncAttributes, this), this._syncS = n.bind(this._syncSubtree, this), this._observer = new window.MutationObserver( (function (t) { e._syncA(), e._syncS(t); })), this._observer.observe(this.$element[0], { attributes: !0, childList: !0, subtree: !1 }); }, a.prototype._registerDataEvents = function () { var e = this; this.dataAdapter.on('*', (function (t, n) {e.trigger(t, n);})); }, a.prototype._registerSelectionEvents = function () { var e = this, t = ['toggle', 'focus']; this.selection.on('toggle', (function () {e.toggleDropdown();})), this.selection.on( 'focus', (function (t) {e.focus(t);})), this.selection.on('*', (function (n, i) { -1 === t.indexOf(n) && e.trigger(n, i); })); }, a.prototype._registerDropdownEvents = function () { var e = this; this.dropdown.on('*', (function (t, n) {e.trigger(t, n);})); }, a.prototype._registerResultsEvents = function () { var e = this; this.results.on('*', (function (t, n) {e.trigger(t, n);})); }, a.prototype._registerEvents = function () { var e = this; this.on('open', (function () { e.$container[0].classList.add( 'select2-container--open'); })), this.on('close', (function () { e.$container[0].classList.remove( 'select2-container--open'); })), this.on('enable', (function () { e.$container[0].classList.remove( 'select2-container--disabled'); })), this.on('disable', (function () { e.$container[0].classList.add( 'select2-container--disabled'); })), this.on('blur', (function () { e.$container[0].classList.remove( 'select2-container--focus'); })), this.on('query', (function (t) { e.isOpen() || e.trigger('open', {}), this.dataAdapter.query(t, (function (n) { e.trigger('results:all', { data: n, query: t }); })); })), this.on('query:append', (function (t) { this.dataAdapter.query(t, (function (n) { e.trigger('results:append', { data: n, query: t }); })); })), this.on('keypress', (function (t) { var n = t.which; e.isOpen() ? n === i.ESC || n === i.UP && t.altKey ? (e.close(t), t.preventDefault()) : n === i.ENTER || n === i.TAB ? (e.trigger('results:select', {}), t.preventDefault()) : n === i.SPACE && t.ctrlKey ? (e.trigger('results:toggle', {}), t.preventDefault()) : n === i.UP ? (e.trigger( 'results:previous', {}), t.preventDefault()) : n === i.DOWN && (e.trigger('results:next', {}), t.preventDefault()) : (n === i.ENTER || n === i.SPACE || n === i.DOWN && t.altKey) && (e.open(), t.preventDefault()); })); }, a.prototype._syncAttributes = function () { this.options.set('disabled', this.$element.prop('disabled')), this.isDisabled() ? (this.isOpen() && this.close(), this.trigger( 'disable', {})) : this.trigger('enable', {}); }, a.prototype._isChangeMutation = function (e) { var t = this; if (e.addedNodes && e.addedNodes.length > 0) for (var n = 0; n < e.addedNodes.length; n++) {if (e.addedNodes[n].selected) return !0;} else { if (e.removedNodes && e.removedNodes.length > 0) return !0; if (Array.isArray(e)) return e.some( (function (e) {return t._isChangeMutation(e);})); } return !1; }, a.prototype._syncSubtree = function (e) { var t = this._isChangeMutation(e), n = this; t && this.dataAdapter.current((function (e) { n.trigger('selection:update', { data: e }); })); }, a.prototype.trigger = function ( e, t) { var n = a.__super__.trigger, i = { open: 'opening', close: 'closing', select: 'selecting', unselect: 'unselecting', clear: 'clearing', }; if (void 0 === t && (t = {}), e in i) { var r = i[e], o = { prevented: !1, name: e, args: t }; if (n.call(this, r, o), o.prevented) return void (t.prevented = !0); } n.call(this, e, t); }, a.prototype.toggleDropdown = function () { this.isDisabled() || (this.isOpen() ? this.close() : this.open()); }, a.prototype.open = function () { this.isOpen() || this.isDisabled() || this.trigger('query', {}); }, a.prototype.close = function (e) { this.isOpen() && this.trigger('close', { originalEvent: e }); }, a.prototype.isEnabled = function () {return !this.isDisabled();}, a.prototype.isDisabled = function () { return this.options.get('disabled'); }, a.prototype.isOpen = function () { return this.$container[0].classList.contains( 'select2-container--open'); }, a.prototype.hasFocus = function () { return this.$container[0].classList.contains( 'select2-container--focus'); }, a.prototype.focus = function (e) { this.hasFocus() || (this.$container[0].classList.add( 'select2-container--focus'), this.trigger('focus', {})); }, a.prototype.enable = function (e) { this.options.get('debug') && window.console && console.warn && console.warn( 'Select2: The `select2("enable")` method has been deprecated and will be removed in later Select2 versions. Use $element.prop("disabled") instead.'), null != e && 0 !== e.length || (e = [!0]); var t = !e[0]; this.$element.prop('disabled', t); }, a.prototype.data = function () { this.options.get('debug') && arguments.length > 0 && window.console && console.warn && console.warn( 'Select2: Data can no longer be set using `select2("data")`. You should consider setting the value instead using `$element.val()`.'); var e = []; return this.dataAdapter.current((function (t) {e = t;})), e; }, a.prototype.val = function (e) { if (this.options.get('debug') && window.console && console.warn && console.warn( 'Select2: The `select2("val")` method has been deprecated and will be removed in later Select2 versions. Use $element.val() instead.'), null == e || 0 === e.length) return this.$element.val(); var t = e[0]; Array.isArray(t) && (t = t.map( (function (e) {return e.toString();}))), this.$element.val( t).trigger('input').trigger('change'); }, a.prototype.destroy = function () { n.RemoveData( this.$container[0]), this.$container.remove(), this._observer.disconnect(), this._observer = null, this._syncA = null, this._syncS = null, this.$element.off( '.select2'), this.$element.attr('tabindex', n.GetData(this.$element[0], 'old-tabindex')), this.$element[0].classList.remove( 'select2-hidden-accessible'), this.$element.attr( 'aria-hidden', 'false'), n.RemoveData( this.$element[0]), this.$element.removeData( 'select2'), this.dataAdapter.destroy(), this.selection.destroy(), this.dropdown.destroy(), this.results.destroy(), this.dataAdapter = null, this.selection = null, this.dropdown = null, this.results = null; }, a.prototype.render = function () { var t = e( '<span class="select2 select2-container"><span class="selection"></span><span class="dropdown-wrapper" aria-hidden="true"></span></span>'); return t.attr('dir', this.options.get( 'dir')), this.$container = t, this.$container[0].classList.add( 'select2-container--' + this.options.get('theme')), n.StoreData(t[0], 'element', this.$element), t; }, a; })), t.define('select2/dropdown/attachContainer', [], (function () { function e (e, t, n) {e.call(this, t, n);} return e.prototype.position = function (e, t, n) { n.find('.dropdown-wrapper').append(t), t[0].classList.add( 'select2-dropdown--below'), n[0].classList.add( 'select2-container--below'); }, e; })), t.define('select2/dropdown/stopPropagation', [], (function () { function e () {} return e.prototype.bind = function (e, t, n) { e.call(this, t, n); this.$dropdown.on([ 'blur', 'change', 'click', 'dblclick', 'focus', 'focusin', 'focusout', 'input', 'keydown', 'keyup', 'keypress', 'mousedown', 'mouseenter', 'mouseleave', 'mousemove', 'mouseover', 'mouseup', 'search', 'touchend', 'touchstart'].join(' '), (function (e) {e.stopPropagation();})); }, e; })), t.define('select2/selection/stopPropagation', [], (function () { function e () {} return e.prototype.bind = function (e, t, n) { e.call(this, t, n); this.$selection.on([ 'blur', 'change', 'click', 'dblclick', 'focus', 'focusin', 'focusout', 'input', 'keydown', 'keyup', 'keypress', 'mousedown', 'mouseenter', 'mouseleave', 'mousemove', 'mouseover', 'mouseup', 'search', 'touchend', 'touchstart'].join(' '), (function (e) {e.stopPropagation();})); }, e; })), /*! * jQuery Mousewheel 3.1.13 * * Copyright jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license */ n = function (e) { var t, n, i = [ 'wheel', 'mousewheel', 'DOMMouseScroll', 'MozMousePixelScroll'], a = 'onwheel' in document || document.documentMode >= 9 ? ['wheel'] : [ 'mousewheel', 'DomMouseScroll', 'MozMousePixelScroll'], r = Array.prototype.slice; if (e.event.fixHooks) for (var o = i.length; o;) e.event.fixHooks[i[--o]] = e.event.mouseHooks; var s = e.event.special.mousewheel = { version: '3.1.12', setup: function () { if (this.addEventListener) for (var t = a.length; t;) this.addEventListener( a[--t], l, !1); else this.onmousewheel = l; e.data(this, 'mousewheel-line-height', s.getLineHeight(this)), e.data(this, 'mousewheel-page-height', s.getPageHeight(this)); }, teardown: function () { if (this.removeEventListener) for (var t = a.length; t;) this.removeEventListener( a[--t], l, !1); else this.onmousewheel = null; e.removeData(this, 'mousewheel-line-height'), e.removeData(this, 'mousewheel-page-height'); }, getLineHeight: function (t) { var n = e(t), i = n['offsetParent' in e.fn ? 'offsetParent' : 'parent'](); return i.length || (i = e('body')), parseInt( i.css('fontSize'), 10) || parseInt(n.css('fontSize'), 10) || 16; }, getPageHeight: function (t) {return e(t).height();}, settings: { adjustOldDeltas: !0, normalizeOffset: !0 }, }; function l (i) { var a = i || window.event, o = r.call(arguments, 1), l = 0, d = 0, h = 0, f = 0, p = 0, m = 0; if ((i = e.event.fix(a)).type = 'mousewheel', 'detail' in a && (h = -1 * a.detail), 'wheelDelta' in a && (h = a.wheelDelta), 'wheelDeltaY' in a && (h = a.wheelDeltaY), 'wheelDeltaX' in a && (d = -1 * a.wheelDeltaX), 'axis' in a && a.axis === a.HORIZONTAL_AXIS && (d = -1 * h, h = 0), l = 0 === h ? d : h, 'deltaY' in a && (l = h = -1 * a.deltaY), 'deltaX' in a && (d = a.deltaX, 0 === h && (l = -1 * d)), 0 !== h || 0 !== d) { if (1 === a.deltaMode) { var g = e.data(this, 'mousewheel-line-height'); l *= g, h *= g, d *= g; } else if (2 === a.deltaMode) { var v = e.data(this, 'mousewheel-page-height'); l *= v, h *= v, d *= v; } if (f = Math.max(Math.abs(h), Math.abs(d)), (!n || f < n) && (n = f, u(a, f) && (n /= 40)), u(a, f) && (l /= 40, d /= 40, h /= 40), l = Math[l >= 1 ? 'floor' : 'ceil'](l / n), d = Math[d >= 1 ? 'floor' : 'ceil'](d / n), h = Math[h >= 1 ? 'floor' : 'ceil'](h / n), s.settings.normalizeOffset && this.getBoundingClientRect) { var y = this.getBoundingClientRect(); p = i.clientX - y.left, m = i.clientY - y.top; } return i.deltaX = d, i.deltaY = h, i.deltaFactor = n, i.offsetX = p, i.offsetY = m, i.deltaMode = 0, o.unshift( i, l, d, h), t && clearTimeout(t), t = setTimeout(c, 200), (e.event.dispatch || e.event.handle).apply( this, o); } } function c () {n = null;} function u (e, t) { return s.settings.adjustOldDeltas && 'mousewheel' === e.type && t % 120 == 0; } e.fn.extend({ mousewheel: function (e) { return e ? this.bind('mousewheel', e) : this.trigger( 'mousewheel'); }, unmousewheel: function (e) { return this.unbind('mousewheel', e); }, }); }, 'function' == typeof t.define && t.define.amd ? t.define( 'jquery-mousewheel', ['jquery'], n) : 'object' == typeof exports ? module.exports = n : n(e), t.define('jquery.select2', [ 'jquery', 'jquery-mousewheel', './select2/core', './select2/defaults', './select2/utils'], (function (e, t, n, i, a) { if (null == e.fn.select2) { var r = ['open', 'close', 'destroy']; e.fn.select2 = function (t) { if ('object' == typeof (t = t || {})) return this.each( (function () { var i = e.extend(!0, {}, t); new n(e(this), i); })), this; if ('string' == typeof t) { var i, o = Array.prototype.slice.call(arguments, 1); return this.each((function () { var e = a.GetData(this, 'select2'); null == e && window.console && console.error && console.error('The select2(\'' + t + '\') method was called on an element that is not using Select2.'), i = e[t].apply( e, o); })), r.indexOf(t) > -1 ? this : i; } throw new Error('Invalid arguments for Select2: ' + t); }; } return null == e.fn.select2.defaults && (e.fn.select2.defaults = i), n; })), { define: t.define, require: t.require }; }(), n = t.require('jquery.select2'); return e.fn.select2.amd = t, n; })), $.fn.select2.defaults.set('theme', 'bootstrap5'), $.fn.select2.defaults.set('width', '100%'), $.fn.select2.defaults.set('selectionCssClass', ':all:'), /* flatpickr v4.6.9, @license MIT */ 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).flatpickr = t(); }(this, (function () { 'use strict'; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ var e = function () { return (e = Object.assign || function (e) { for (var t, n = 1, i = arguments.length; n < i; n++) for (var a in t = arguments[n]) Object.prototype.hasOwnProperty.call( t, a) && (e[a] = t[a]); return e; }).apply(this, arguments); }; function t () { for (var e = 0, t = 0, n = arguments.length; t < n; t++) e += arguments[t].length; var i = Array(e), a = 0; for (t = 0; t < n; t++) for (var r = arguments[t], o = 0, s = r.length; o < s; o++, a++) i[a] = r[o]; return i; } var n = [ 'onChange', 'onClose', 'onDayCreate', 'onDestroy', 'onKeyDown', 'onMonthChange', 'onOpen', 'onParseConfig', 'onReady', 'onValueUpdate', 'onYearChange', 'onPreCalendarPosition'], i = { _disable: [], allowInput: !1, allowInvalidPreload: !1, altFormat: 'F j, Y', altInput: !1, altInputClass: 'form-control input', animate: 'object' == typeof window && -1 === window.navigator.userAgent.indexOf('MSIE'), ariaDateFormat: 'F j, Y', autoFillDefaultTime: !0, clickOpens: !0, closeOnSelect: !0, conjunction: ', ', dateFormat: 'Y-m-d', defaultHour: 12, defaultMinute: 0, defaultSeconds: 0, disable: [], disableMobile: !1, enableSeconds: !1, enableTime: !1, errorHandler: function (e) { return 'undefined' != typeof console && console.warn(e); }, getWeek: function (e) { var t = new Date(e.getTime()); t.setHours(0, 0, 0, 0), t.setDate( t.getDate() + 3 - (t.getDay() + 6) % 7); var n = new Date(t.getFullYear(), 0, 4); return 1 + Math.round(((t.getTime() - n.getTime()) / 864e5 - 3 + (n.getDay() + 6) % 7) / 7); }, hourIncrement: 1, ignoredFocusElements: [], inline: !1, locale: 'default', minuteIncrement: 5, mode: 'single', monthSelectorType: 'dropdown', 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>', noCalendar: !1, now: new Date, onChange: [], onClose: [], onDayCreate: [], onDestroy: [], onKeyDown: [], onMonthChange: [], onOpen: [], onParseConfig: [], onReady: [], onValueUpdate: [], onYearChange: [], onPreCalendarPosition: [], plugins: [], position: 'auto', positionElement: void 0, 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>', shorthandCurrentMonth: !1, showMonths: 1, static: !1, time_24hr: !1, weekNumbers: !1, wrap: !1, }, a = { weekdays: { shorthand: [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], longhand: [ 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], }, months: { shorthand: [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'], longhand: [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], }, daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], firstDayOfWeek: 0, ordinal: function (e) { var t = e % 100; if (t > 3 && t < 21) return 'th'; switch (t % 10) { case 1: return 'st'; case 2: return 'nd'; case 3: return 'rd'; default: return 'th'; } }, rangeSeparator: ' to ', weekAbbreviation: 'Wk', scrollTitle: 'Scroll to increment', toggleTitle: 'Click to toggle', amPM: ['AM', 'PM'], yearAriaLabel: 'Year', monthAriaLabel: 'Month', hourAriaLabel: 'Hour', minuteAriaLabel: 'Minute', time_24hr: !1, }, r = function (e, t) { return void 0 === t && (t = 2), ('000' + e).slice(-1 * t); }, o = function (e) {return !0 === e ? 1 : 0;}; function s (e, t) { var n; return function () { var i = this; clearTimeout(n), n = setTimeout( (function () {return e.apply(i, arguments);}), t); }; } var l = function (e) {return e instanceof Array ? e : [e];}; function c (e, t, n) { if (!0 === n) return e.classList.add(t); e.classList.remove(t); } function u (e, t, n) { var i = window.document.createElement(e); return t = t || '', n = n || '', i.className = t, void 0 !== n && (i.textContent = n), i; } function d (e) {for (; e.firstChild;) e.removeChild(e.firstChild);} function h (e, t) { return t(e) ? e : e.parentNode ? h(e.parentNode, t) : void 0; } function f (e, t) { var n = u('div', 'numInputWrapper'), i = u('input', 'numInput ' + e), a = u('span', 'arrowUp'), r = u('span', 'arrowDown'); if (-1 === navigator.userAgent.indexOf('MSIE 9.0') ? i.type = 'number' : (i.type = 'text', i.pattern = '\\d*'), void 0 !== t) for (var o in t) i.setAttribute(o, t[o]); return n.appendChild(i), n.appendChild(a), n.appendChild(r), n; } function p (e) { try { return 'function' == typeof e.composedPath ? e.composedPath()[0] : e.target; } catch (t) {return e.target;} } var m = function () {}, g = function (e, t, n) { return n.months[t ? 'shorthand' : 'longhand'][e]; }, v = { D: m, F: function (e, t, n) {e.setMonth(n.months.longhand.indexOf(t));}, G: function (e, t) {e.setHours(parseFloat(t));}, H: function (e, t) {e.setHours(parseFloat(t));}, J: function (e, t) {e.setDate(parseFloat(t));}, K: function (e, t, n) { e.setHours(e.getHours() % 12 + 12 * o(new RegExp(n.amPM[1], 'i').test(t))); }, M: function (e, t, n) {e.setMonth(n.months.shorthand.indexOf(t));}, S: function (e, t) {e.setSeconds(parseFloat(t));}, U: function (e, t) {return new Date(1e3 * parseFloat(t));}, W: function (e, t, n) { var i = parseInt(t), a = new Date(e.getFullYear(), 0, 2 + 7 * (i - 1), 0, 0, 0, 0); return a.setDate( a.getDate() - a.getDay() + n.firstDayOfWeek), a; }, Y: function (e, t) {e.setFullYear(parseFloat(t));}, Z: function (e, t) {return new Date(t);}, d: function (e, t) {e.setDate(parseFloat(t));}, h: function (e, t) {e.setHours(parseFloat(t));}, i: function (e, t) {e.setMinutes(parseFloat(t));}, j: function (e, t) {e.setDate(parseFloat(t));}, l: m, m: function (e, t) {e.setMonth(parseFloat(t) - 1);}, n: function (e, t) {e.setMonth(parseFloat(t) - 1);}, s: function (e, t) {e.setSeconds(parseFloat(t));}, u: function (e, t) {return new Date(parseFloat(t));}, w: m, y: function (e, t) {e.setFullYear(2e3 + parseFloat(t));}, }, y = { D: '(\\w+)', F: '(\\w+)', G: '(\\d\\d|\\d)', H: '(\\d\\d|\\d)', J: '(\\d\\d|\\d)\\w+', K: '', M: '(\\w+)', S: '(\\d\\d|\\d)', U: '(.+)', W: '(\\d\\d|\\d)', Y: '(\\d{4})', Z: '(.+)', d: '(\\d\\d|\\d)', h: '(\\d\\d|\\d)', i: '(\\d\\d|\\d)', j: '(\\d\\d|\\d)', l: '(\\w+)', m: '(\\d\\d|\\d)', n: '(\\d\\d|\\d)', s: '(\\d\\d|\\d)', u: '(.+)', w: '(\\d\\d|\\d)', y: '(\\d{2})', }, b = { Z: function (e) {return e.toISOString();}, D: function (e, t, n) {return t.weekdays.shorthand[b.w(e, t, n)];}, F: function (e, t, n) {return g(b.n(e, t, n) - 1, !1, t);}, G: function (e, t, n) {return r(b.h(e, t, n));}, H: function (e) {return r(e.getHours());}, J: function (e, t) { return void 0 !== t.ordinal ? e.getDate() + t.ordinal(e.getDate()) : e.getDate(); }, K: function (e, t) {return t.amPM[o(e.getHours() > 11)];}, M: function (e, t) {return g(e.getMonth(), !0, t);}, S: function (e) {return r(e.getSeconds());}, U: function (e) {return e.getTime() / 1e3;}, W: function (e, t, n) {return n.getWeek(e);}, Y: function (e) {return r(e.getFullYear(), 4);}, d: function (e) {return r(e.getDate());}, h: function (e) { return e.getHours() % 12 ? e.getHours() % 12 : 12; }, i: function (e) {return r(e.getMinutes());}, j: function (e) {return e.getDate();}, l: function (e, t) {return t.weekdays.longhand[e.getDay()];}, m: function (e) {return r(e.getMonth() + 1);}, n: function (e) {return e.getMonth() + 1;}, s: function (e) {return e.getSeconds();}, u: function (e) {return e.getTime();}, w: function (e) {return e.getDay();}, y: function (e) {return String(e.getFullYear()).substring(2);}, }, x = function (e) { var t = e.config, n = void 0 === t ? i : t, r = e.l10n, o = void 0 === r ? a : r, s = e.isMobile, l = void 0 !== s && s; return function (e, t, i) { var a = i || o; return void 0 === n.formatDate || l ? t.split(''). map((function (t, i, r) { return b[t] && '\\' !== r[i - 1] ? b[t](e, a, n) : '\\' !== t ? t : ''; })). join('') : n.formatDate(e, t, a); }; }, _ = function (e) { var t = e.config, n = void 0 === t ? i : t, r = e.l10n, o = void 0 === r ? a : r; return function (e, t, a, r) { if (0 === e || e) { var s, l = r || o, c = e; if (e instanceof Date) s = new Date( e.getTime()); else if ('string' != typeof e && void 0 !== e.toFixed) s = new Date( e); else if ('string' == typeof e) { var u = t || (n || i).dateFormat, d = String(e).trim(); if ('today' === d) s = new Date, a = !0; else if (/Z$/.test(d) || /GMT$/.test(d)) s = new Date(e); else if (n && n.parseDate) s = n.parseDate(e, u); else { s = n && n.noCalendar ? new Date((new Date).setHours(0, 0, 0, 0)) : new Date((new Date).getFullYear(), 0, 1, 0, 0, 0, 0); for (var h = void 0, f = [], p = 0, m = 0, g = ''; p < u.length; p++) { var b = u[p], x = '\\' === b, _ = '\\' === u[p - 1] || x; if (y[b] && !_) { g += y[b]; var w = new RegExp(g).exec(e); w && (h = !0) && f['Y' !== b ? 'push' : 'unshift']( { fn: v[b], val: w[++m] }); } else x || (g += '.'); f.forEach((function (e) { var t = e.fn, n = e.val; return s = t(s, n, l) || s; })); } s = h ? s : void 0; } } if (s instanceof Date && !isNaN(s.getTime())) return !0 === a && s.setHours(0, 0, 0, 0), s; n.errorHandler(new Error('Invalid date provided: ' + c)); } }; }; function w (e, t, n) { return void 0 === n && (n = !0), !1 !== n ? new Date(e.getTime()).setHours(0, 0, 0, 0) - new Date(t.getTime()).setHours(0, 0, 0, 0) : e.getTime() - t.getTime(); } var k = 864e5; function M (e) { var t = e.defaultHour, n = e.defaultMinute, i = e.defaultSeconds; if (void 0 !== e.minDate) { var a = e.minDate.getHours(), r = e.minDate.getMinutes(), o = e.minDate.getSeconds(); t < a && (t = a), t === a && n < r && (n = r), t === a && n === r && i < o && (i = e.minDate.getSeconds()); } if (void 0 !== e.maxDate) { var s = e.maxDate.getHours(), l = e.maxDate.getMinutes(); (t = Math.min(t, s)) === s && (n = Math.min(l, n)), t === s && n === l && (i = e.maxDate.getSeconds()); } return { hours: t, minutes: n, seconds: i }; } 'function' != typeof Object.assign && (Object.assign = function (e) { for (var t = [], n = 1; n < arguments.length; n++) t[n - 1] = arguments[n]; if (!e) throw TypeError( 'Cannot convert undefined or null to object'); for (var i = function (t) { t && Object.keys(t).forEach((function (n) {return e[n] = t[n];})); }, a = 0, r = t; a < r.length; a++) { var o = r[a]; i(o); } return e; }); function L (m, v) { var b = { config: e(e({}, i), T.defaultConfig), l10n: a }; function L (e) {return e.bind(b);} function S () { var e = b.config; !1 === e.weekNumbers && 1 === e.showMonths || !0 !== e.noCalendar && window.requestAnimationFrame((function () { if (void 0 !== b.calendarContainer && (b.calendarContainer.style.visibility = 'hidden', b.calendarContainer.style.display = 'block'), void 0 !== b.daysContainer) { var t = (b.days.offsetWidth + 1) * e.showMonths; b.daysContainer.style.width = t + 'px', b.calendarContainer.style.width = t + (void 0 !== b.weekWrapper ? b.weekWrapper.offsetWidth : 0) + 'px', b.calendarContainer.style.removeProperty( 'visibility'), b.calendarContainer.style.removeProperty( 'display'); } })); } function A (e) { if (0 === b.selectedDates.length) { var t = void 0 === b.config.minDate || w(new Date, b.config.minDate) >= 0 ? new Date : new Date(b.config.minDate.getTime()), n = M(b.config); t.setHours(n.hours, n.minutes, n.seconds, t.getMilliseconds()), b.selectedDates = [t], b.latestSelectedDateObj = t; } void 0 !== e && 'blur' !== e.type && function (e) { e.preventDefault(); var t = 'keydown' === e.type, n = p(e), i = n; void 0 !== b.amPM && n === b.amPM && (b.amPM.textContent = b.l10n.amPM[o( b.amPM.textContent === b.l10n.amPM[0])]); var a = parseFloat(i.getAttribute('min')), s = parseFloat(i.getAttribute('max')), l = parseFloat(i.getAttribute('step')), c = parseInt(i.value, 10), u = e.delta || (t ? 38 === e.which ? 1 : -1 : 0), d = c + l * u; if (void 0 !== i.value && 2 === i.value.length) { var h = i === b.hourElement, f = i === b.minuteElement; d < a ? (d = s + d + o(!h) + (o(h) && o(!b.amPM)), f && N(void 0, -1, b.hourElement)) : d > s && (d = i === b.hourElement ? d - s - o(!b.amPM) : a, f && N(void 0, 1, b.hourElement)), b.amPM && h && (1 === l ? d + c === 23 : Math.abs(d - c) > l) && (b.amPM.textContent = b.l10n.amPM[o( b.amPM.textContent === b.l10n.amPM[0])]), i.value = r(d); } }(e); var i = b._input.value; D(), xe(), b._input.value !== i && b._debouncedChange(); } function D () { if (void 0 !== b.hourElement && void 0 !== b.minuteElement) { var e, t, n = (parseInt(b.hourElement.value.slice(-2), 10) || 0) % 24, i = (parseInt(b.minuteElement.value, 10) || 0) % 60, a = void 0 !== b.secondElement ? (parseInt( b.secondElement.value, 10) || 0) % 60 : 0; void 0 !== b.amPM && (e = n, t = b.amPM.textContent, n = e % 12 + 12 * o(t === b.l10n.amPM[1])); var r = void 0 !== b.config.minTime || b.config.minDate && b.minDateHasTime && b.latestSelectedDateObj && 0 === w(b.latestSelectedDateObj, b.config.minDate, !0); if (void 0 !== b.config.maxTime || b.config.maxDate && b.maxDateHasTime && b.latestSelectedDateObj && 0 === w(b.latestSelectedDateObj, b.config.maxDate, !0)) { var s = void 0 !== b.config.maxTime ? b.config.maxTime : b.config.maxDate; (n = Math.min(n, s.getHours())) === s.getHours() && (i = Math.min(i, s.getMinutes())), i === s.getMinutes() && (a = Math.min(a, s.getSeconds())); } if (r) { var l = void 0 !== b.config.minTime ? b.config.minTime : b.config.minDate; (n = Math.max(n, l.getHours())) === l.getHours() && i < l.getMinutes() && (i = l.getMinutes()), i === l.getMinutes() && (a = Math.max(a, l.getSeconds())); } E(n, i, a); } } function C (e) { var t = e || b.latestSelectedDateObj; t && E(t.getHours(), t.getMinutes(), t.getSeconds()); } function E (e, t, n) { void 0 !== b.latestSelectedDateObj && b.latestSelectedDateObj.setHours(e % 24, t, n || 0, 0), b.hourElement && b.minuteElement && !b.isMobile && (b.hourElement.value = r( b.config.time_24hr ? e : (12 + e) % 12 + 12 * o(e % 12 == 0)), b.minuteElement.value = r( t), void 0 !== b.amPM && (b.amPM.textContent = b.l10n.amPM[o(e >= 12)]), void 0 !== b.secondElement && (b.secondElement.value = r(n))); } function O (e) { var t = p(e), n = parseInt(t.value) + (e.delta || 0); (n / 1e3 > 1 || 'Enter' === e.key && !/[^\d]/.test(n.toString())) && J(n); } function Y (e, t, n, i) { return t instanceof Array ? t.forEach( (function (t) {return Y(e, t, n, i);})) : e instanceof Array ? e.forEach((function (e) {return Y(e, t, n, i);})) : (e.addEventListener(t, n, i), void b._handlers.push({ remove: function () { return e.removeEventListener(t, n); }, })); } function P () {me('onChange');} function I (e, t) { var n = void 0 !== e ? b.parseDate(e) : b.latestSelectedDateObj || (b.config.minDate && b.config.minDate > b.now ? b.config.minDate : b.config.maxDate && b.config.maxDate < b.now ? b.config.maxDate : b.now), i = b.currentYear, a = b.currentMonth; try { void 0 !== n && (b.currentYear = n.getFullYear(), b.currentMonth = n.getMonth()); } catch (e) { e.message = 'Invalid date supplied: ' + n, b.config.errorHandler(e); } t && b.currentYear !== i && (me('onYearChange'), V()), !t || b.currentYear === i && b.currentMonth === a || me('onMonthChange'), b.redraw(); } function j (e) { var t = p(e); ~t.className.indexOf('arrow') && N(e, t.classList.contains('arrowUp') ? 1 : -1); } function N (e, t, n) { var i = e && p(e), a = n || i && i.parentNode && i.parentNode.firstChild, r = ge('increment'); r.delta = t, a && a.dispatchEvent(r); } function H (e, t, n, i) { var a = Q(t, !0), r = u('span', 'flatpickr-day ' + e, t.getDate().toString()); return r.dateObj = t, r.$i = i, r.setAttribute('aria-label', b.formatDate(t, b.config.ariaDateFormat)), -1 === e.indexOf('hidden') && 0 === w(t, b.now) && (b.todayDateElem = r, r.classList.add('today'), r.setAttribute( 'aria-current', 'date')), a ? (r.tabIndex = -1, ve(t) && (r.classList.add( 'selected'), b.selectedDateElem = r, 'range' === b.config.mode && (c(r, 'startRange', b.selectedDates[0] && 0 === w(t, b.selectedDates[0], !0)), c(r, 'endRange', b.selectedDates[1] && 0 === w(t, b.selectedDates[1], !0)), 'nextMonthDay' === e && r.classList.add('inRange')))) : r.classList.add( 'flatpickr-disabled'), 'range' === b.config.mode && function (e) { return !('range' !== b.config.mode || b.selectedDates.length < 2) && (w(e, b.selectedDates[0]) >= 0 && w(e, b.selectedDates[1]) <= 0); }(t) && !ve(t) && r.classList.add('inRange'), b.weekNumbers && 1 === b.config.showMonths && 'prevMonthDay' !== e && n % 7 == 1 && b.weekNumbers.insertAdjacentHTML('beforeend', '<span class=\'flatpickr-day\'>' + b.config.getWeek(t) + '</span>'), me('onDayCreate', r), r; } function F (e) {e.focus(), 'range' === b.config.mode && ie(e);} function R (e) { for (var t = e > 0 ? 0 : b.config.showMonths - 1, n = e > 0 ? b.config.showMonths : -1, i = t; i != n; i += e) for (var a = b.daysContainer.children[i], r = e > 0 ? 0 : a.children.length - 1, o = e > 0 ? a.children.length : -1, s = r; s != o; s += e) { var l = a.children[s]; if (-1 === l.className.indexOf('hidden') && Q(l.dateObj)) return l; } } function z (e, t) { var n = ee(document.activeElement || document.body), i = void 0 !== e ? e : n ? document.activeElement : void 0 !== b.selectedDateElem && ee(b.selectedDateElem) ? b.selectedDateElem : void 0 !== b.todayDateElem && ee(b.todayDateElem) ? b.todayDateElem : R(t > 0 ? 1 : -1); void 0 === i ? b._input.focus() : n ? function ( e, t) { for (var n = -1 === e.className.indexOf('Month') ? e.dateObj.getMonth() : b.currentMonth, i = t > 0 ? b.config.showMonths : -1, a = t > 0 ? 1 : -1, r = n - b.currentMonth; r != i; r += a) for (var o = b.daysContainer.children[r], s = n - b.currentMonth === r ? e.$i + t : t < 0 ? o.children.length - 1 : 0, l = o.children.length, c = s; c >= 0 && c < l && c != (t > 0 ? l : -1); c += a) { var u = o.children[c]; if (-1 === u.className.indexOf('hidden') && Q(u.dateObj) && Math.abs(e.$i - c) >= Math.abs(t)) return F(u); } b.changeMonth(a), z(R(a), 0); }(i, t) : F(i); } function B (e, t) { for (var n = (new Date(e, t, 1).getDay() - b.l10n.firstDayOfWeek + 7) % 7, i = b.utils.getDaysInMonth( (t - 1 + 12) % 12, e), a = b.utils.getDaysInMonth(t, e), r = window.document.createDocumentFragment(), o = b.config.showMonths > 1, s = o ? 'prevMonthDay hidden' : 'prevMonthDay', l = o ? 'nextMonthDay hidden' : 'nextMonthDay', c = i + 1 - n, d = 0; c <= i; c++, d++) r.appendChild( H(s, new Date(e, t - 1, c), c, d)); for (c = 1; c <= a; c++, d++) r.appendChild( H('', new Date(e, t, c), c, d)); for (var h = a + 1; h <= 42 - n && (1 === b.config.showMonths || d % 7 != 0); h++, d++) r.appendChild( H(l, new Date(e, t + 1, h % a), h, d)); var f = u('div', 'dayContainer'); return f.appendChild(r), f; } function W () { if (void 0 !== b.daysContainer) { d(b.daysContainer), b.weekNumbers && d(b.weekNumbers); for (var e = document.createDocumentFragment(), t = 0; t < b.config.showMonths; t++) { var n = new Date(b.currentYear, b.currentMonth, 1); n.setMonth(b.currentMonth + t), e.appendChild( B(n.getFullYear(), n.getMonth())); } b.daysContainer.appendChild( e), b.days = b.daysContainer.firstChild, 'range' === b.config.mode && 1 === b.selectedDates.length && ie(); } } function V () { if (!(b.config.showMonths > 1 || 'dropdown' !== b.config.monthSelectorType)) { var e = function (e) { return !(void 0 !== b.config.minDate && b.currentYear === b.config.minDate.getFullYear() && e < b.config.minDate.getMonth()) && !(void 0 !== b.config.maxDate && b.currentYear === b.config.maxDate.getFullYear() && e > b.config.maxDate.getMonth()); }; b.monthsDropdownContainer.tabIndex = -1, b.monthsDropdownContainer.innerHTML = ''; for (var t = 0; t < 12; t++) if (e(t)) { var n = u('option', 'flatpickr-monthDropdown-month'); n.value = new Date(b.currentYear, t).getMonth(). toString(), n.textContent = g(t, b.config.shorthandCurrentMonth, b.l10n), n.tabIndex = -1, b.currentMonth === t && (n.selected = !0), b.monthsDropdownContainer.appendChild( n); } } } function q () { var e, t = u('div', 'flatpickr-month'), n = window.document.createDocumentFragment(); b.config.showMonths > 1 || 'static' === b.config.monthSelectorType ? e = u('span', 'cur-month') : (b.monthsDropdownContainer = u('select', 'flatpickr-monthDropdown-months'), b.monthsDropdownContainer.setAttribute( 'aria-label', b.l10n.monthAriaLabel), Y( b.monthsDropdownContainer, 'change', (function (e) { var t = p(e), n = parseInt(t.value, 10); b.changeMonth(n - b.currentMonth), me('onMonthChange'); })), V(), e = b.monthsDropdownContainer); var i = f('cur-year', { tabindex: '-1' }), a = i.getElementsByTagName('input')[0]; a.setAttribute('aria-label', b.l10n.yearAriaLabel), b.config.minDate && a.setAttribute('min', b.config.minDate.getFullYear(). toString()), b.config.maxDate && (a.setAttribute('max', b.config.maxDate.getFullYear(). toString()), a.disabled = !!b.config.minDate && b.config.minDate.getFullYear() === b.config.maxDate.getFullYear()); var r = u('div', 'flatpickr-current-month'); return r.appendChild(e), r.appendChild(i), n.appendChild( r), t.appendChild(n), { container: t, yearElement: a, monthElement: e, }; } function U () { d(b.monthNav), b.monthNav.appendChild( b.prevMonthNav), b.config.showMonths && (b.yearElements = [], b.monthElements = []); for (var e = b.config.showMonths; e--;) { var t = q(); b.yearElements.push(t.yearElement), b.monthElements.push( t.monthElement), b.monthNav.appendChild(t.container); } b.monthNav.appendChild(b.nextMonthNav); } function X () { b.weekdayContainer ? d(b.weekdayContainer) : b.weekdayContainer = u('div', 'flatpickr-weekdays'); for (var e = b.config.showMonths; e--;) { var t = u('div', 'flatpickr-weekdaycontainer'); b.weekdayContainer.appendChild(t); } return $(), b.weekdayContainer; } function $ () { if (b.weekdayContainer) { var e = b.l10n.firstDayOfWeek, n = t(b.l10n.weekdays.shorthand); e > 0 && e < n.length && (n = t(n.splice(e, n.length), n.splice(0, e))); for (var i = b.config.showMonths; i--;) b.weekdayContainer.children[i].innerHTML = '\n <span class=\'flatpickr-weekday\'>\n ' + n.join('</span><span class=\'flatpickr-weekday\'>') + '\n </span>\n '; } } function G (e, t) { void 0 === t && (t = !0); var n = t ? e : e - b.currentMonth; n < 0 && !0 === b._hidePrevMonthArrow || n > 0 && !0 === b._hideNextMonthArrow || (b.currentMonth += n, (b.currentMonth < 0 || b.currentMonth > 11) && (b.currentYear += b.currentMonth > 11 ? 1 : -1, b.currentMonth = (b.currentMonth + 12) % 12, me( 'onYearChange'), V()), W(), me('onMonthChange'), ye()); } function Z (e) { return !(!b.config.appendTo || !b.config.appendTo.contains(e)) || b.calendarContainer.contains(e); } function K (e) { if (b.isOpen && !b.config.inline) { var t = p(e), n = Z(t), i = t === b.input || t === b.altInput || b.element.contains(t) || e.path && e.path.indexOf && (~e.path.indexOf(b.input) || ~e.path.indexOf(b.altInput)), a = 'blur' === e.type ? i && e.relatedTarget && !Z(e.relatedTarget) : !i && !n && !Z(e.relatedTarget), r = !b.config.ignoredFocusElements.some( (function (e) {return e.contains(t);})); a && r && (void 0 !== b.timeContainer && void 0 !== b.minuteElement && void 0 !== b.hourElement && '' !== b.input.value && void 0 !== b.input.value && A(), b.close(), b.config && 'range' === b.config.mode && 1 === b.selectedDates.length && (b.clear(!1), b.redraw())); } } function J (e) { if (!(!e || b.config.minDate && e < b.config.minDate.getFullYear() || b.config.maxDate && e > b.config.maxDate.getFullYear())) { var t = e, n = b.currentYear !== t; b.currentYear = t || b.currentYear, b.config.maxDate && b.currentYear === b.config.maxDate.getFullYear() ? b.currentMonth = Math.min(b.config.maxDate.getMonth(), b.currentMonth) : b.config.minDate && b.currentYear === b.config.minDate.getFullYear() && (b.currentMonth = Math.max(b.config.minDate.getMonth(), b.currentMonth)), n && (b.redraw(), me('onYearChange'), V()); } } function Q (e, t) { var n; void 0 === t && (t = !0); var i = b.parseDate(e, void 0, t); if (b.config.minDate && i && w(i, b.config.minDate, void 0 !== t ? t : !b.minDateHasTime) < 0 || b.config.maxDate && i && w(i, b.config.maxDate, void 0 !== t ? t : !b.maxDateHasTime) > 0) return !1; if (!b.config.enable && 0 === b.config.disable.length) return !0; if (void 0 === i) return !1; for (var a = !!b.config.enable, r = null !== (n = b.config.enable) && void 0 !== n ? n : b.config.disable, o = 0, s = void 0; o < r.length; o++) { if ('function' == typeof (s = r[o]) && s(i)) return a; if (s instanceof Date && void 0 !== i && s.getTime() === i.getTime()) return a; if ('string' == typeof s) { var l = b.parseDate(s, void 0, !0); return l && l.getTime() === i.getTime() ? a : !a; } if ('object' == typeof s && void 0 !== i && s.from && s.to && i.getTime() >= s.from.getTime() && i.getTime() <= s.to.getTime()) return a; } return !a; } function ee (e) { return void 0 !== b.daysContainer && (-1 === e.className.indexOf('hidden') && -1 === e.className.indexOf('flatpickr-disabled') && b.daysContainer.contains(e)); } function te (e) { !(e.target === b._input) || !(b.selectedDates.length > 0 || b._input.value.length > 0) || e.relatedTarget && Z(e.relatedTarget) || b.setDate(b._input.value, !0, e.target === b.altInput ? b.config.altFormat : b.config.dateFormat); } function ne (e) { var t = p(e), n = b.config.wrap ? m.contains(t) : t === b._input, i = b.config.allowInput, a = b.isOpen && (!i || !n), r = b.config.inline && n && !i; if (13 === e.keyCode && n) { if (i) return b.setDate(b._input.value, !0, t === b.altInput ? b.config.altFormat : b.config.dateFormat), t.blur(); b.open(); } else if (Z(t) || a || r) { var o = !!b.timeContainer && b.timeContainer.contains(t); switch (e.keyCode) { case 13: o ? (e.preventDefault(), A(), ue()) : de(e); break; case 27: e.preventDefault(), ue(); break; case 8: case 46: n && !b.config.allowInput && (e.preventDefault(), b.clear()); break; case 37: case 39: if (o || n) b.hourElement && b.hourElement.focus(); else if (e.preventDefault(), void 0 !== b.daysContainer && (!1 === i || document.activeElement && ee(document.activeElement))) { var s = 39 === e.keyCode ? 1 : -1; e.ctrlKey ? (e.stopPropagation(), G(s), z(R(1), 0)) : z(void 0, s); } break; case 38: case 40: e.preventDefault(); var l = 40 === e.keyCode ? 1 : -1; b.daysContainer && void 0 !== t.$i || t === b.input || t === b.altInput ? e.ctrlKey ? (e.stopPropagation(), J(b.currentYear - l), z( R(1), 0)) : o || z(void 0, 7 * l) : t === b.currentYearElement ? J(b.currentYear - l) : b.config.enableTime && (!o && b.hourElement && b.hourElement.focus(), A(e), b._debouncedChange()); break; case 9: if (o) { var c = [ b.hourElement, b.minuteElement, b.secondElement, b.amPM].concat(b.pluginElements). filter((function (e) {return e;})), u = c.indexOf(t); if (-1 !== u) { var d = c[u + (e.shiftKey ? -1 : 1)]; e.preventDefault(), (d || b._input).focus(); } } else !b.config.noCalendar && b.daysContainer && b.daysContainer.contains(t) && e.shiftKey && (e.preventDefault(), b._input.focus()); } } if (void 0 !== b.amPM && t === b.amPM) switch (e.key) { case b.l10n.amPM[0].charAt(0): case b.l10n.amPM[0].charAt(0).toLowerCase(): b.amPM.textContent = b.l10n.amPM[0], D(), xe(); break; case b.l10n.amPM[1].charAt(0): case b.l10n.amPM[1].charAt(0).toLowerCase(): b.amPM.textContent = b.l10n.amPM[1], D(), xe(); } (n || Z(t)) && me('onKeyDown', e); } function ie (e) { if (1 === b.selectedDates.length && (!e || e.classList.contains('flatpickr-day') && !e.classList.contains('flatpickr-disabled'))) { for (var t = e ? e.dateObj.getTime() : b.days.firstElementChild.dateObj.getTime(), n = b.parseDate( b.selectedDates[0], void 0, !0).getTime(), i = Math.min( t, b.selectedDates[0].getTime()), a = Math.max(t, b.selectedDates[0].getTime()), r = !1, o = 0, s = 0, l = i; l < a; l += k) Q(new Date(l), !0) || (r = r || l > i && l < a, l < n && (!o || l > o) ? o = l : l > n && (!s || l < s) && (s = l)); for (var c = 0; c < b.config.showMonths; c++) for (var u = b.daysContainer.children[c], d = function ( i, a) { var l, c, d, h = u.children[i], f = h.dateObj.getTime(), p = o > 0 && f < o || s > 0 && f > s; return p ? (h.classList.add('notAllowed'), [ 'inRange', 'startRange', 'endRange'].forEach((function (e) { h.classList.remove(e); })), 'continue') : r && !p ? 'continue' : ([ 'startRange', 'inRange', 'endRange', 'notAllowed'].forEach((function (e) { h.classList.remove(e); })), void (void 0 !== e && (e.classList.add( t <= b.selectedDates[0].getTime() ? 'startRange' : 'endRange'), n < t && f === n ? h.classList.add('startRange') : n > t && f === n && h.classList.add('endRange'), f >= o && (0 === s || f <= s) && (c = n, d = t, (l = f) > Math.min(c, d) && l < Math.max(c, d)) && h.classList.add('inRange')))); }, h = 0, f = u.children.length; h < f; h++) d(h); } } function ae () { !b.isOpen || b.config.static || b.config.inline || le(); } function re (e) { return function (t) { var n = b.config['_' + e + 'Date'] = b.parseDate(t, b.config.dateFormat), i = b.config['_' + ('min' === e ? 'max' : 'min') + 'Date']; void 0 !== n && (b['min' === e ? 'minDateHasTime' : 'maxDateHasTime'] = n.getHours() > 0 || n.getMinutes() > 0 || n.getSeconds() > 0), b.selectedDates && (b.selectedDates = b.selectedDates.filter( (function (e) { return Q(e); })), b.selectedDates.length || 'min' !== e || C(n), xe()), b.daysContainer && (ce(), void 0 !== n ? b.currentYearElement[e] = n.getFullYear(). toString() : b.currentYearElement.removeAttribute( e), b.currentYearElement.disabled = !!i && void 0 !== n && i.getFullYear() === n.getFullYear()); }; } function oe () { return b.config.wrap ? m.querySelector('[data-input]') : m; } function se () { 'object' != typeof b.config.locale && void 0 === T.l10ns[b.config.locale] && b.config.errorHandler(new Error( 'flatpickr: invalid locale ' + b.config.locale)), b.l10n = e(e({}, T.l10ns.default), 'object' == typeof b.config.locale ? b.config.locale : 'default' !== b.config.locale ? T.l10ns[b.config.locale] : void 0), y.K = '(' + b.l10n.amPM[0] + '|' + b.l10n.amPM[1] + '|' + b.l10n.amPM[0].toLowerCase() + '|' + b.l10n.amPM[1].toLowerCase() + ')', void 0 === e(e({}, v), JSON.parse(JSON.stringify(m.dataset || {}))).time_24hr && void 0 === T.defaultConfig.time_24hr && (b.config.time_24hr = b.l10n.time_24hr), b.formatDate = x( b), b.parseDate = _({ config: b.config, l10n: b.l10n }); } function le (e) { if ('function' != typeof b.config.position) { if (void 0 !== b.calendarContainer) { me('onPreCalendarPosition'); var t = e || b._positionElement, n = Array.prototype.reduce.call( b.calendarContainer.children, (function (e, t) {return e + t.offsetHeight;}), 0), i = b.calendarContainer.offsetWidth, a = b.config.position.split(' '), r = a[0], o = a.length > 1 ? a[1] : null, s = t.getBoundingClientRect(), l = window.innerHeight - s.bottom, u = 'above' === r || 'below' !== r && l < n && s.top > n, d = window.pageYOffset + s.top + (u ? -n - 2 : t.offsetHeight + 2); if (c(b.calendarContainer, 'arrowTop', !u), c( b.calendarContainer, 'arrowBottom', u), !b.config.inline) { var h = window.pageXOffset + s.left, f = !1, p = !1; 'center' === o ? (h -= (i - s.width) / 2, f = !0) : 'right' === o && (h -= i - s.width, p = !0), c( b.calendarContainer, 'arrowLeft', !f && !p), c( b.calendarContainer, 'arrowCenter', f), c( b.calendarContainer, 'arrowRight', p); var m = window.document.body.offsetWidth - (window.pageXOffset + s.right), g = h + i > window.document.body.offsetWidth, v = m + i > window.document.body.offsetWidth; if (c(b.calendarContainer, 'rightMost', g), !b.config.static) if (b.calendarContainer.style.top = d + 'px', g) if (v) { var y = function () { for (var e = null, t = 0; t < document.styleSheets.length; t++) { var n = document.styleSheets[t]; try {n.cssRules;} catch (e) {continue;} e = n; break; } return null != e ? e : (i = document.createElement( 'style'), document.head.appendChild( i), i.sheet); var i; }(); if (void 0 === y) return; var x = window.document.body.offsetWidth, _ = Math.max(0, x / 2 - i / 2), w = y.cssRules.length, k = '{left:' + s.left + 'px;right:auto;}'; c(b.calendarContainer, 'rightMost', !1), c( b.calendarContainer, 'centerMost', !0), y.insertRule( '.flatpickr-calendar.centerMost:before,.flatpickr-calendar.centerMost:after' + k, w), b.calendarContainer.style.left = _ + 'px', b.calendarContainer.style.right = 'auto'; } else b.calendarContainer.style.left = 'auto', b.calendarContainer.style.right = m + 'px'; else b.calendarContainer.style.left = h + 'px', b.calendarContainer.style.right = 'auto'; } } } else b.config.position(b, e); } function ce () { b.config.noCalendar || b.isMobile || (V(), ye(), W()); } function ue () { b._input.focus(), -1 !== window.navigator.userAgent.indexOf('MSIE') || void 0 !== navigator.msMaxTouchPoints ? setTimeout(b.close, 0) : b.close(); } function de (e) { e.preventDefault(), e.stopPropagation(); var t = h(p(e), (function (e) { return e.classList && e.classList.contains('flatpickr-day') && !e.classList.contains('flatpickr-disabled') && !e.classList.contains('notAllowed'); })); if (void 0 !== t) { var n = t, i = b.latestSelectedDateObj = new Date( n.dateObj.getTime()), a = (i.getMonth() < b.currentMonth || i.getMonth() > b.currentMonth + b.config.showMonths - 1) && 'range' !== b.config.mode; if (b.selectedDateElem = n, 'single' === b.config.mode) b.selectedDates = [i]; else if ('multiple' === b.config.mode) { var r = ve(i); r ? b.selectedDates.splice(parseInt(r), 1) : b.selectedDates.push(i); } else 'range' === b.config.mode && (2 === b.selectedDates.length && b.clear(!1, !1), b.latestSelectedDateObj = i, b.selectedDates.push( i), 0 !== w(i, b.selectedDates[0], !0) && b.selectedDates.sort( (function (e, t) {return e.getTime() - t.getTime();}))); if (D(), a) { var o = b.currentYear !== i.getFullYear(); b.currentYear = i.getFullYear(), b.currentMonth = i.getMonth(), o && (me('onYearChange'), V()), me('onMonthChange'); } if (ye(), W(), xe(), a || 'range' === b.config.mode || 1 !== b.config.showMonths ? void 0 !== b.selectedDateElem && void 0 === b.hourElement && b.selectedDateElem && b.selectedDateElem.focus() : F(n), void 0 !== b.hourElement && void 0 !== b.hourElement && b.hourElement.focus(), b.config.closeOnSelect) { var s = 'single' === b.config.mode && !b.config.enableTime, l = 'range' === b.config.mode && 2 === b.selectedDates.length && !b.config.enableTime; (s || l) && ue(); } P(); } } b.parseDate = _({ config: b.config, l10n: b.l10n, }), b._handlers = [], b.pluginElements = [], b.loadedPlugins = [], b._bind = Y, b._setHoursFromDate = C, b._positionCalendar = le, b.changeMonth = G, b.changeYear = J, b.clear = function ( e, t) { void 0 === e && (e = !0); void 0 === t && (t = !0); b.input.value = '', void 0 !== b.altInput && (b.altInput.value = ''); void 0 !== b.mobileInput && (b.mobileInput.value = ''); b.selectedDates = [], b.latestSelectedDateObj = void 0, !0 === t && (b.currentYear = b._initialDate.getFullYear(), b.currentMonth = b._initialDate.getMonth()); if (!0 === b.config.enableTime) { var n = M(b.config), i = n.hours, a = n.minutes, r = n.seconds; E(i, a, r); } b.redraw(), e && me('onChange'); }, b.close = function () { b.isOpen = !1, b.isMobile || (void 0 !== b.calendarContainer && b.calendarContainer.classList.remove('open'), void 0 !== b._input && b._input.classList.remove('active')); me('onClose'); }, b._createElement = u, b.destroy = function () { void 0 !== b.config && me('onDestroy'); for (var e = b._handlers.length; e--;) b._handlers[e].remove(); if (b._handlers = [], b.mobileInput) b.mobileInput.parentNode && b.mobileInput.parentNode.removeChild( b.mobileInput), b.mobileInput = void 0; else if (b.calendarContainer && b.calendarContainer.parentNode) if (b.config.static && b.calendarContainer.parentNode) { var t = b.calendarContainer.parentNode; if (t.lastChild && t.removeChild( t.lastChild), t.parentNode) { for (; t.firstChild;) t.parentNode.insertBefore( t.firstChild, t); t.parentNode.removeChild(t); } } else b.calendarContainer.parentNode.removeChild( b.calendarContainer); b.altInput && (b.input.type = 'text', b.altInput.parentNode && b.altInput.parentNode.removeChild( b.altInput), delete b.altInput); b.input && (b.input.type = b.input._type, b.input.classList.remove( 'flatpickr-input'), b.input.removeAttribute('readonly')); [ '_showTimeInput', 'latestSelectedDateObj', '_hideNextMonthArrow', '_hidePrevMonthArrow', '__hideNextMonthArrow', '__hidePrevMonthArrow', 'isMobile', 'isOpen', 'selectedDateElem', 'minDateHasTime', 'maxDateHasTime', 'days', 'daysContainer', '_input', '_positionElement', 'innerContainer', 'rContainer', 'monthNav', 'todayDateElem', 'calendarContainer', 'weekdayContainer', 'prevMonthNav', 'nextMonthNav', 'monthsDropdownContainer', 'currentMonthElement', 'currentYearElement', 'navigationCurrentMonth', 'selectedDateElem', 'config'].forEach( (function (e) {try {delete b[e];} catch (e) {}})); }, b.isEnabled = Q, b.jumpToDate = I, b.open = function ( e, t) { void 0 === t && (t = b._positionElement); if (!0 === b.isMobile) { if (e) { e.preventDefault(); var n = p(e); n && n.blur(); } return void 0 !== b.mobileInput && (b.mobileInput.focus(), b.mobileInput.click()), void me( 'onOpen'); } if (b._input.disabled || b.config.inline) return; var i = b.isOpen; b.isOpen = !0, i || (b.calendarContainer.classList.add( 'open'), b._input.classList.add('active'), me('onOpen'), le( t)); !0 === b.config.enableTime && !0 === b.config.noCalendar && (!1 !== b.config.allowInput || void 0 !== e && b.timeContainer.contains(e.relatedTarget) || setTimeout((function () {return b.hourElement.select();}), 50)); }, b.redraw = ce, b.set = function (e, t) { if (null !== e && 'object' == typeof e) for (var i in Object.assign(b.config, e), e) void 0 !== he[i] && he[i].forEach( (function (e) {return e();})); else b.config[e] = t, void 0 !== he[e] ? he[e].forEach((function (e) {return e();})) : n.indexOf( e) > -1 && (b.config[e] = l(t)); b.redraw(), xe(!0); }, b.setDate = function (e, t, n) { void 0 === t && (t = !1); void 0 === n && (n = b.config.dateFormat); if (0 !== e && !e || e instanceof Array && 0 === e.length) return b.clear(t); fe(e, n), b.latestSelectedDateObj = b.selectedDates[b.selectedDates.length - 1], b.redraw(), I(void 0, t), C(), 0 === b.selectedDates.length && b.clear(!1); xe(t), t && me('onChange'); }, b.toggle = function (e) { if (!0 === b.isOpen) return b.close(); b.open(e); }; var he = { locale: [se, $], showMonths: [U, S, X], minDate: [I], maxDate: [I], clickOpens: [ function () { !0 === b.config.clickOpens ? (Y(b._input, 'focus', b.open), Y(b._input, 'click', b.open)) : (b._input.removeEventListener('focus', b.open), b._input.removeEventListener('click', b.open)); }], }; function fe (e, t) { var n = []; if (e instanceof Array) n = e.map((function (e) { return b.parseDate(e, t); })); else if (e instanceof Date || 'number' == typeof e) n = [b.parseDate(e, t)]; else if ('string' == typeof e) switch (b.config.mode) { case'single': case'time': n = [b.parseDate(e, t)]; break; case'multiple': n = e.split(b.config.conjunction). map((function (e) {return b.parseDate(e, t);})); break; case'range': n = e.split(b.l10n.rangeSeparator). map((function (e) {return b.parseDate(e, t);})); } else b.config.errorHandler( new Error('Invalid date supplied: ' + JSON.stringify(e))); b.selectedDates = b.config.allowInvalidPreload ? n : n.filter( (function (e) { return e instanceof Date && Q(e, !1); })), 'range' === b.config.mode && b.selectedDates.sort( (function (e, t) {return e.getTime() - t.getTime();})); } function pe (e) { return e.slice(). map((function (e) { return 'string' == typeof e || 'number' == typeof e || e instanceof Date ? b.parseDate(e, void 0, !0) : e && 'object' == typeof e && e.from && e.to ? { from: b.parseDate(e.from, void 0), to: b.parseDate(e.to, void 0), } : e; })). filter((function (e) {return e;})); } function me (e, t) { if (void 0 !== b.config) { var n = b.config[e]; if (void 0 !== n && n.length > 0) for (var i = 0; n[i] && i < n.length; i++) n[i](b.selectedDates, b.input.value, b, t); 'onChange' === e && (b.input.dispatchEvent(ge('change')), b.input.dispatchEvent( ge('input'))); } } function ge (e) { var t = document.createEvent('Event'); return t.initEvent(e, !0, !0), t; } function ve (e) { for (var t = 0; t < b.selectedDates.length; t++) if (0 === w(b.selectedDates[t], e)) return '' + t; return !1; } function ye () { b.config.noCalendar || b.isMobile || !b.monthNav || (b.yearElements.forEach((function (e, t) { var n = new Date(b.currentYear, b.currentMonth, 1); n.setMonth(b.currentMonth + t), b.config.showMonths > 1 || 'static' === b.config.monthSelectorType ? b.monthElements[t].textContent = g(n.getMonth(), b.config.shorthandCurrentMonth, b.l10n) + ' ' : b.monthsDropdownContainer.value = n.getMonth(). toString(), e.value = n.getFullYear().toString(); })), b._hidePrevMonthArrow = void 0 !== b.config.minDate && (b.currentYear === b.config.minDate.getFullYear() ? b.currentMonth <= b.config.minDate.getMonth() : b.currentYear < b.config.minDate.getFullYear()), b._hideNextMonthArrow = void 0 !== b.config.maxDate && (b.currentYear === b.config.maxDate.getFullYear() ? b.currentMonth + 1 > b.config.maxDate.getMonth() : b.currentYear > b.config.maxDate.getFullYear())); } function be (e) { return b.selectedDates.map( (function (t) {return b.formatDate(t, e);})). filter((function (e, t, n) { return 'range' !== b.config.mode || b.config.enableTime || n.indexOf(e) === t; })). join('range' !== b.config.mode ? b.config.conjunction : b.l10n.rangeSeparator); } function xe (e) { void 0 === e && (e = !0), void 0 !== b.mobileInput && b.mobileFormatStr && (b.mobileInput.value = void 0 !== b.latestSelectedDateObj ? b.formatDate(b.latestSelectedDateObj, b.mobileFormatStr) : ''), b.input.value = be(b.config.dateFormat), void 0 !== b.altInput && (b.altInput.value = be(b.config.altFormat)), !1 !== e && me('onValueUpdate'); } function _e (e) { var t = p(e), n = b.prevMonthNav.contains(t), i = b.nextMonthNav.contains(t); n || i ? G(n ? -1 : 1) : b.yearElements.indexOf(t) >= 0 ? t.select() : t.classList.contains('arrowUp') ? b.changeYear( b.currentYear + 1) : t.classList.contains( 'arrowDown') && b.changeYear(b.currentYear - 1); } return function () { b.element = b.input = m, b.isOpen = !1, function () { var t = [ 'wrap', 'weekNumbers', 'allowInput', 'allowInvalidPreload', 'clickOpens', 'time_24hr', 'enableTime', 'noCalendar', 'altInput', 'shorthandCurrentMonth', 'inline', 'static', 'enableSeconds', 'disableMobile'], a = e( e({}, JSON.parse(JSON.stringify(m.dataset || {}))), v), r = {}; b.config.parseDate = a.parseDate, b.config.formatDate = a.formatDate, Object.defineProperty( b.config, 'enable', { get: function () {return b.config._enable;}, set: function (e) {b.config._enable = pe(e);}, }), Object.defineProperty(b.config, 'disable', { get: function () {return b.config._disable;}, set: function (e) {b.config._disable = pe(e);}, }); var o = 'time' === a.mode; if (!a.dateFormat && (a.enableTime || o)) { var s = T.defaultConfig.dateFormat || i.dateFormat; r.dateFormat = a.noCalendar || o ? 'H:i' + (a.enableSeconds ? ':S' : '') : s + ' H:i' + (a.enableSeconds ? ':S' : ''); } if (a.altInput && (a.enableTime || o) && !a.altFormat) { var c = T.defaultConfig.altFormat || i.altFormat; r.altFormat = a.noCalendar || o ? 'h:i' + (a.enableSeconds ? ':S K' : ' K') : c + ' h:i' + (a.enableSeconds ? ':S' : '') + ' K'; } Object.defineProperty(b.config, 'minDate', { get: function () {return b.config._minDate;}, set: re('min'), }), Object.defineProperty(b.config, 'maxDate', { get: function () {return b.config._maxDate;}, set: re('max'), }); var u = function (e) { return function (t) { b.config['min' === e ? '_minTime' : '_maxTime'] = b.parseDate(t, 'H:i:S'); }; }; Object.defineProperty(b.config, 'minTime', { get: function () {return b.config._minTime;}, set: u('min'), }), Object.defineProperty(b.config, 'maxTime', { get: function () {return b.config._maxTime;}, set: u('max'), }), 'time' === a.mode && (b.config.noCalendar = !0, b.config.enableTime = !0); Object.assign(b.config, r, a); for (var d = 0; d < t.length; d++) b.config[t[d]] = !0 === b.config[t[d]] || 'true' === b.config[t[d]]; n.filter((function (e) {return void 0 !== b.config[e];})). forEach((function (e) { b.config[e] = l(b.config[e] || []). map(L); })), b.isMobile = !b.config.disableMobile && !b.config.inline && 'single' === b.config.mode && !b.config.disable.length && !b.config.enable && !b.config.weekNumbers && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test( navigator.userAgent); for (d = 0; d < b.config.plugins.length; d++) { var h = b.config.plugins[d](b) || {}; for (var f in h) n.indexOf(f) > -1 ? b.config[f] = l( h[f]).map(L).concat(b.config[f]) : void 0 === a[f] && (b.config[f] = h[f]); } a.altInputClass || (b.config.altInputClass = oe().className + ' ' + b.config.altInputClass); me('onParseConfig'); }(), se(), function () { if (b.input = oe(), !b.input) return void b.config.errorHandler( new Error('Invalid input element specified')); b.input._type = b.input.type, b.input.type = 'text', b.input.classList.add( 'flatpickr-input'), b._input = b.input, b.config.altInput && (b.altInput = u(b.input.nodeName, b.config.altInputClass), b._input = b.altInput, b.altInput.placeholder = b.input.placeholder, b.altInput.disabled = b.input.disabled, b.altInput.required = b.input.required, b.altInput.tabIndex = b.input.tabIndex, b.altInput.type = 'text', b.input.setAttribute( 'type', 'hidden'), !b.config.static && b.input.parentNode && b.input.parentNode.insertBefore(b.altInput, b.input.nextSibling)); b.config.allowInput || b._input.setAttribute('readonly', 'readonly'); b._positionElement = b.config.positionElement || b._input; }(), function () { b.selectedDates = [], b.now = b.parseDate(b.config.now) || new Date; var e = b.config.defaultDate || ('INPUT' !== b.input.nodeName && 'TEXTAREA' !== b.input.nodeName || !b.input.placeholder || b.input.value !== b.input.placeholder ? b.input.value : null); e && fe(e, b.config.dateFormat); b._initialDate = b.selectedDates.length > 0 ? b.selectedDates[0] : b.config.minDate && b.config.minDate.getTime() > b.now.getTime() ? b.config.minDate : b.config.maxDate && b.config.maxDate.getTime() < b.now.getTime() ? b.config.maxDate : b.now, b.currentYear = b._initialDate.getFullYear(), b.currentMonth = b._initialDate.getMonth(), b.selectedDates.length > 0 && (b.latestSelectedDateObj = b.selectedDates[0]); void 0 !== b.config.minTime && (b.config.minTime = b.parseDate(b.config.minTime, 'H:i')); void 0 !== b.config.maxTime && (b.config.maxTime = b.parseDate(b.config.maxTime, 'H:i')); b.minDateHasTime = !!b.config.minDate && (b.config.minDate.getHours() > 0 || b.config.minDate.getMinutes() > 0 || b.config.minDate.getSeconds() > 0), b.maxDateHasTime = !!b.config.maxDate && (b.config.maxDate.getHours() > 0 || b.config.maxDate.getMinutes() > 0 || b.config.maxDate.getSeconds() > 0); }(), b.utils = { getDaysInMonth: function ( e, t) { return void 0 === e && (e = b.currentMonth), void 0 === t && (t = b.currentYear), 1 === e && (t % 4 == 0 && t % 100 != 0 || t % 400 == 0) ? 29 : b.l10n.daysInMonth[e]; }, }, b.isMobile || function () { var e = window.document.createDocumentFragment(); if (b.calendarContainer = u('div', 'flatpickr-calendar'), b.calendarContainer.tabIndex = -1, !b.config.noCalendar) { if (e.appendChild((b.monthNav = u('div', 'flatpickr-months'), b.yearElements = [], b.monthElements = [], b.prevMonthNav = u( 'span', 'flatpickr-prev-month'), b.prevMonthNav.innerHTML = b.config.prevArrow, b.nextMonthNav = u( 'span', 'flatpickr-next-month'), b.nextMonthNav.innerHTML = b.config.nextArrow, U(), Object.defineProperty( b, '_hidePrevMonthArrow', { get: function () {return b.__hidePrevMonthArrow;}, set: function (e) { b.__hidePrevMonthArrow !== e && (c(b.prevMonthNav, 'flatpickr-disabled', e), b.__hidePrevMonthArrow = e); }, }), Object.defineProperty(b, '_hideNextMonthArrow', { get: function () {return b.__hideNextMonthArrow;}, set: function (e) { b.__hideNextMonthArrow !== e && (c(b.nextMonthNav, 'flatpickr-disabled', e), b.__hideNextMonthArrow = e); }, }), b.currentYearElement = b.yearElements[0], ye(), b.monthNav)), b.innerContainer = u( 'div', 'flatpickr-innerContainer'), b.config.weekNumbers) { var t = function () { b.calendarContainer.classList.add('hasWeeks'); var e = u('div', 'flatpickr-weekwrapper'); e.appendChild(u('span', 'flatpickr-weekday', b.l10n.weekAbbreviation)); var t = u('div', 'flatpickr-weeks'); return e.appendChild(t), { weekWrapper: e, weekNumbers: t, }; }(), n = t.weekWrapper, i = t.weekNumbers; b.innerContainer.appendChild( n), b.weekNumbers = i, b.weekWrapper = n; } b.rContainer = u('div', 'flatpickr-rContainer'), b.rContainer.appendChild( X()), b.daysContainer || (b.daysContainer = u('div', 'flatpickr-days'), b.daysContainer.tabIndex = -1), W(), b.rContainer.appendChild( b.daysContainer), b.innerContainer.appendChild( b.rContainer), e.appendChild(b.innerContainer); } b.config.enableTime && e.appendChild(function () { b.calendarContainer.classList.add( 'hasTime'), b.config.noCalendar && b.calendarContainer.classList.add('noCalendar'); var e = M(b.config); b.timeContainer = u('div', 'flatpickr-time'), b.timeContainer.tabIndex = -1; var t = u('span', 'flatpickr-time-separator', ':'), n = f('flatpickr-hour', { 'aria-label': b.l10n.hourAriaLabel }); b.hourElement = n.getElementsByTagName('input')[0]; var i = f('flatpickr-minute', { 'aria-label': b.l10n.minuteAriaLabel }); b.minuteElement = i.getElementsByTagName( 'input')[0], b.hourElement.tabIndex = b.minuteElement.tabIndex = -1, b.hourElement.value = r( b.latestSelectedDateObj ? b.latestSelectedDateObj.getHours() : b.config.time_24hr ? e.hours : function (e) { switch (e % 24) { case 0: case 12: return 12; default: return e % 12; } }(e.hours)), b.minuteElement.value = r( b.latestSelectedDateObj ? b.latestSelectedDateObj.getMinutes() : e.minutes), b.hourElement.setAttribute('step', b.config.hourIncrement.toString()), b.minuteElement.setAttribute( 'step', b.config.minuteIncrement.toString()), b.hourElement.setAttribute( 'min', b.config.time_24hr ? '0' : '1'), b.hourElement.setAttribute('max', b.config.time_24hr ? '23' : '12'), b.hourElement.setAttribute('maxlength', '2'), b.minuteElement.setAttribute('min', '0'), b.minuteElement.setAttribute('max', '59'), b.minuteElement.setAttribute('maxlength', '2'), b.timeContainer.appendChild( n), b.timeContainer.appendChild( t), b.timeContainer.appendChild( i), b.config.time_24hr && b.timeContainer.classList.add('time24hr'); if (b.config.enableSeconds) { b.timeContainer.classList.add('hasSeconds'); var a = f('flatpickr-second'); b.secondElement = a.getElementsByTagName( 'input')[0], b.secondElement.value = r( b.latestSelectedDateObj ? b.latestSelectedDateObj.getSeconds() : e.seconds), b.secondElement.setAttribute( 'step', b.minuteElement.getAttribute( 'step')), b.secondElement.setAttribute( 'min', '0'), b.secondElement.setAttribute('max', '59'), b.secondElement.setAttribute('maxlength', '2'), b.timeContainer.appendChild( u('span', 'flatpickr-time-separator', ':')), b.timeContainer.appendChild(a); } b.config.time_24hr || (b.amPM = u('span', 'flatpickr-am-pm', b.l10n.amPM[o( (b.latestSelectedDateObj ? b.hourElement.value : b.config.defaultHour) > 11)]), b.amPM.title = b.l10n.toggleTitle, b.amPM.tabIndex = -1, b.timeContainer.appendChild( b.amPM)); return b.timeContainer; }()); c(b.calendarContainer, 'rangeMode', 'range' === b.config.mode), c(b.calendarContainer, 'animate', !0 === b.config.animate), c( b.calendarContainer, 'multiMonth', b.config.showMonths > 1), b.calendarContainer.appendChild(e); var a = void 0 !== b.config.appendTo && void 0 !== b.config.appendTo.nodeType; if ((b.config.inline || b.config.static) && (b.calendarContainer.classList.add(b.config.inline ? 'inline' : 'static'), b.config.inline && (!a && b.element.parentNode ? b.element.parentNode.insertBefore( b.calendarContainer, b._input.nextSibling) : void 0 !== b.config.appendTo && b.config.appendTo.appendChild( b.calendarContainer)), b.config.static)) { var s = u('div', 'flatpickr-wrapper'); b.element.parentNode && b.element.parentNode.insertBefore(s, b.element), s.appendChild(b.element), b.altInput && s.appendChild(b.altInput), s.appendChild( b.calendarContainer); } b.config.static || b.config.inline || (void 0 !== b.config.appendTo ? b.config.appendTo : window.document.body).appendChild( b.calendarContainer); }(), function () { b.config.wrap && ['open', 'close', 'toggle', 'clear'].forEach((function (e) { Array.prototype.forEach.call( b.element.querySelectorAll('[data-' + e + ']'), (function (t) {return Y(t, 'click', b[e]);})); })); if (b.isMobile) return void function () { var e = b.config.enableTime ? b.config.noCalendar ? 'time' : 'datetime-local' : 'date'; b.mobileInput = u('input', b.input.className + ' flatpickr-mobile'), b.mobileInput.tabIndex = 1, b.mobileInput.type = e, b.mobileInput.disabled = b.input.disabled, b.mobileInput.required = b.input.required, b.mobileInput.placeholder = b.input.placeholder, b.mobileFormatStr = 'datetime-local' === e ? 'Y-m-d\\TH:i:S' : 'date' === e ? 'Y-m-d' : 'H:i:S', b.selectedDates.length > 0 && (b.mobileInput.defaultValue = b.mobileInput.value = b.formatDate( b.selectedDates[0], b.mobileFormatStr)); b.config.minDate && (b.mobileInput.min = b.formatDate(b.config.minDate, 'Y-m-d')); b.config.maxDate && (b.mobileInput.max = b.formatDate(b.config.maxDate, 'Y-m-d')); b.input.getAttribute('step') && (b.mobileInput.step = String( b.input.getAttribute('step'))); b.input.type = 'hidden', void 0 !== b.altInput && (b.altInput.type = 'hidden'); try { b.input.parentNode && b.input.parentNode.insertBefore(b.mobileInput, b.input.nextSibling); } catch (e) {} Y(b.mobileInput, 'change', (function (e) { b.setDate(p(e).value, !1, b.mobileFormatStr), me( 'onChange'), me('onClose'); })); }(); var e = s(ae, 50); b._debouncedChange = s(P, 300), b.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent) && Y(b.daysContainer, 'mouseover', (function (e) { 'range' === b.config.mode && ie(p(e)); })); Y(window.document.body, 'keydown', ne), b.config.inline || b.config.static || Y(window, 'resize', e); void 0 !== window.ontouchstart ? Y(window.document, 'touchstart', K) : Y(window.document, 'mousedown', K); Y(window.document, 'focus', K, { capture: !0 }), !0 === b.config.clickOpens && (Y(b._input, 'focus', b.open), Y(b._input, 'click', b.open)); void 0 !== b.daysContainer && (Y(b.monthNav, 'click', _e), Y(b.monthNav, ['keyup', 'increment'], O), Y(b.daysContainer, 'click', de)); if (void 0 !== b.timeContainer && void 0 !== b.minuteElement && void 0 !== b.hourElement) { var t = function (e) { return p(e). select(); }; Y(b.timeContainer, ['increment'], A), Y(b.timeContainer, 'blur', A, { capture: !0 }), Y(b.timeContainer, 'click', j), Y([b.hourElement, b.minuteElement], ['focus', 'click'], t), void 0 !== b.secondElement && Y(b.secondElement, 'focus', (function () { return b.secondElement && b.secondElement.select(); })), void 0 !== b.amPM && Y(b.amPM, 'click', (function (e) {A(e), P();})); } b.config.allowInput && Y(b._input, 'blur', te); }(), (b.selectedDates.length || b.config.noCalendar) && (b.config.enableTime && C(b.config.noCalendar ? b.latestSelectedDateObj : void 0), xe( !1)), S(); var t = /^((?!chrome|android).)*safari/i.test( navigator.userAgent); !b.isMobile && t && le(), me('onReady'); }(), b; } function S (e, t) { for (var n = Array.prototype.slice.call(e). filter((function (e) { return e instanceof HTMLElement; })), i = [], a = 0; a < n.length; a++) { var r = n[a]; try { if (null !== r.getAttribute('data-fp-omit')) continue; void 0 !== r._flatpickr && (r._flatpickr.destroy(), r._flatpickr = void 0), r._flatpickr = L( r, t || {}), i.push(r._flatpickr); } catch (e) {console.error(e);} } return 1 === i.length ? i[0] : i; } 'undefined' != typeof HTMLElement && 'undefined' != typeof HTMLCollection && 'undefined' != typeof NodeList && (HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (e) { return S(this, e); }, HTMLElement.prototype.flatpickr = function (e) { return S([this], e); }); var T = function (e, t) { return 'string' == typeof e ? S(window.document.querySelectorAll(e), t) : e instanceof Node ? S([e], t) : S(e, t); }; return T.defaultConfig = {}, T.l10ns = { en: e({}, a), default: e({}, a), }, T.localize = function (t) { T.l10ns.default = e(e({}, T.l10ns.default), t); }, T.setDefaults = function (t) { T.defaultConfig = e(e({}, T.defaultConfig), t); }, T.parseDate = _({}), T.formatDate = x( {}), T.compareDates = w, 'undefined' != typeof jQuery && void 0 !== jQuery.fn && (jQuery.fn.flatpickr = function (e) { return S(this, e); }), Date.prototype.fp_incr = function (e) { return new Date(this.getFullYear(), this.getMonth(), this.getDate() + ('string' == typeof e ? parseInt(e, 10) : e)); }, 'undefined' != typeof window && (window.flatpickr = T), T; })), /*! * https://github.com/paulmillr/es6-shim * @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com) * and contributors, MIT License * es6-shim: v0.35.4 * see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE * Details and documentation: * https://github.com/paulmillr/es6-shim/ */ function (e, t) { 'function' == typeof define && define.amd ? define(t) : 'object' == typeof exports ? module.exports = t() : e.returnExports = t(); }(this, (function () { 'use strict'; var e, t = Function.call.bind(Function.apply), n = Function.call.bind(Function.call), i = Array.isArray, a = Object.keys, r = function (e) { return function () { return !t(e, this, arguments); }; }, o = function (e) {try {return e(), !1;} catch (e) {return !0;}}, s = function (e) {try {return e();} catch (e) {return !1;}}, l = r(o), c = function () { return !o((function () { return Object.defineProperty({}, 'x', { get: function () {} }); })); }, u = !!Object.defineProperty && c(), d = 'foo' === function () {}.name, h = Function.call.bind(Array.prototype.forEach), f = Function.call.bind(Array.prototype.reduce), p = Function.call.bind(Array.prototype.filter), m = Function.call.bind(Array.prototype.some), g = function (e, t, n, i) { !i && t in e || (u ? Object.defineProperty(e, t, { configurable: !0, enumerable: !1, writable: !0, value: n, }) : e[t] = n); }, v = function (e, t, n) { h(a(t), (function (i) { var a = t[i]; g(e, i, a, !!n); })); }, y = Function.call.bind(Object.prototype.toString), b = 'function' == typeof /abc/ ? function (e) { return 'function' == typeof e && '[object Function]' === y(e); } : function (e) {return 'function' == typeof e;}, x = { getter: function (e, t, n) { if (!u) throw new TypeError('getters require true ES5 support'); Object.defineProperty(e, t, { configurable: !0, enumerable: !1, get: n }); }, proxy: function (e, t, n) { if (!u) throw new TypeError('getters require true ES5 support'); var i = Object.getOwnPropertyDescriptor(e, t); Object.defineProperty(n, t, { configurable: i.configurable, enumerable: i.enumerable, get: function () {return e[t];}, set: function (n) {e[t] = n;}, }); }, redefine: function (e, t, n) { if (u) { var i = Object.getOwnPropertyDescriptor(e, t); i.value = n, Object.defineProperty(e, t, i); } else e[t] = n; }, defineByDescriptor: function (e, t, n) { u ? Object.defineProperty(e, t, n) : 'value' in n && (e[t] = n.value); }, preserveToString: function (e, t) { t && b(t.toString) && g(e, 'toString', t.toString.bind(t), !0); }, }, _ = Object.create || function (e, t) { var n = function () {}; n.prototype = e; var i = new n; return void 0 !== t && a(t).forEach((function (e) {x.defineByDescriptor(i, e, t[e]);})), i; }, w = function (e, t) { return !!Object.setPrototypeOf && s((function () { var n = function t (n) { var i = new e(n); return Object.setPrototypeOf(i, t.prototype), i; }; return Object.setPrototypeOf(n, e), n.prototype = _(e.prototype, { constructor: { value: n } }), t(n); })); }, k = 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'); }, M = k(), L = M.isFinite, S = Function.call.bind(String.prototype.indexOf), T = Function.apply.bind(Array.prototype.indexOf), A = Function.call.bind(Array.prototype.concat), D = Function.call.bind(String.prototype.slice), C = Function.call.bind(Array.prototype.push), E = Function.apply.bind(Array.prototype.push), O = Function.call.bind(Array.prototype.join), Y = Function.call.bind(Array.prototype.shift), P = Math.max, I = Math.min, j = Math.floor, N = Math.abs, H = Math.exp, F = Math.log, R = Math.sqrt, z = Function.call.bind(Object.prototype.hasOwnProperty), B = function () {}, W = M.Map, V = W && W.prototype.delete, q = W && W.prototype.get, U = W && W.prototype.has, X = W && W.prototype.set, $ = M.Symbol || {}, G = $.species || '@@species', Z = Number.isNaN || function (e) {return e != e;}, K = Number.isFinite || function (e) {return 'number' == typeof e && L(e);}, J = b(Math.sign) ? Math.sign : function (e) { var t = Number(e); return 0 === t || Z(t) ? t : t < 0 ? -1 : 1; }, Q = function (e) { var t = Number(e); return t < -1 || Z(t) ? NaN : 0 === t || t === 1 / 0 ? t : -1 === t ? -1 / 0 : 1 + t - 1 == 0 ? t : t * (F(1 + t) / (1 + t - 1)); }, ee = function (e) {return '[object Arguments]' === y(e);}, te = function (e) { return null !== e && 'object' == typeof e && 'number' == typeof e.length && e.length >= 0 && '[object Array]' !== y(e) && '[object Function]' === y(e.callee); }, ne = ee(arguments) ? ee : te, ie = { primitive: function (e) { return null === e || 'function' != typeof e && 'object' != typeof e; }, string: function (e) {return '[object String]' === y(e);}, regex: function (e) {return '[object RegExp]' === y(e);}, symbol: function (e) { return 'function' == typeof M.Symbol && 'symbol' == typeof e; }, }, ae = function (e, t, n) { var i = e[t]; g(e, t, n, !0), x.preserveToString(e[t], i); }, re = 'function' == typeof $ && 'function' == typeof $.for && ie.symbol($()), oe = ie.symbol($.iterator) ? $.iterator : '_es6-shim iterator_'; M.Set && 'function' == typeof (new M.Set)['@@iterator'] && (oe = '@@iterator'), M.Reflect || g(M, 'Reflect', {}, !0); var se, le = M.Reflect, ce = String, ue = 'undefined' != typeof document && document ? document.all : null, de = null == ue ? function (e) {return null == e;} : function (e) {return null == e && e !== ue;}, he = { Call: function (e, n) { var i = arguments.length > 2 ? arguments[2] : []; if (!he.IsCallable(e)) throw new TypeError( e + ' is not a function'); return t(e, n, i); }, RequireObjectCoercible: function (e, t) { if (de(e)) throw new TypeError( t || 'Cannot call method on ' + e); return e; }, TypeIsObject: function (e) { return null != e && !0 !== e && !1 !== e && ('function' == typeof e || 'object' == typeof e || e === ue); }, ToObject: function (e, t) { return Object(he.RequireObjectCoercible(e, t)); }, IsCallable: b, IsConstructor: function (e) {return he.IsCallable(e);}, ToInt32: function (e) {return he.ToNumber(e) >> 0;}, ToUint32: function (e) {return he.ToNumber(e) >>> 0;}, ToNumber: function (e) { if (re && '[object Symbol]' === y(e)) throw new TypeError( 'Cannot convert a Symbol value to a number'); return +e; }, ToInteger: function (e) { var t = he.ToNumber(e); return Z(t) ? 0 : 0 !== t && K(t) ? (t > 0 ? 1 : -1) * j(N(t)) : t; }, ToLength: function (e) { var t = he.ToInteger(e); return t <= 0 ? 0 : t > Number.MAX_SAFE_INTEGER ? Number.MAX_SAFE_INTEGER : t; }, SameValue: function (e, t) { return e === t ? 0 !== e || 1 / e == 1 / t : Z(e) && Z(t); }, SameValueZero: function (e, t) {return e === t || Z(e) && Z(t);}, IsIterable: function (e) { return he.TypeIsObject(e) && (void 0 !== e[oe] || ne(e)); }, GetIterator: function (t) { if (ne(t)) return new e(t, 'value'); var n = he.GetMethod(t, oe); if (!he.IsCallable(n)) throw new TypeError( 'value is not an iterable'); var i = he.Call(n, t); if (!he.TypeIsObject(i)) throw new TypeError('bad iterator'); return i; }, GetMethod: function (e, t) { var n = he.ToObject(e)[t]; if (!de(n)) { if (!he.IsCallable(n)) throw new TypeError( 'Method not callable: ' + t); return n; } }, IteratorComplete: function (e) {return !!e.done;}, IteratorClose: function (e, t) { var n = he.GetMethod(e, 'return'); if (void 0 !== n) { var i, a; try {i = he.Call(n, e);} catch (e) {a = e;} if (!t) { if (a) throw a; if (!he.TypeIsObject(i)) throw new TypeError( 'Iterator\'s return method returned a non-object.'); } } }, IteratorNext: function (e) { var t = arguments.length > 1 ? e.next(arguments[1]) : e.next(); if (!he.TypeIsObject(t)) throw new TypeError('bad iterator'); return t; }, IteratorStep: function (e) { var t = he.IteratorNext(e); return !he.IteratorComplete(t) && t; }, Construct: function (e, t, n, i) { var a = void 0 === n ? e : n; if (!i && le.construct) return le.construct(e, t, a); var r = a.prototype; he.TypeIsObject(r) || (r = Object.prototype); var o = _(r), s = he.Call(e, o, t); return he.TypeIsObject(s) ? s : o; }, SpeciesConstructor: function (e, t) { var n = e.constructor; if (void 0 === n) return t; if (!he.TypeIsObject(n)) throw new TypeError('Bad constructor'); var i = n[G]; if (de(i)) return t; if (!he.IsConstructor(i)) throw new TypeError('Bad @@species'); return i; }, CreateHTML: function (e, t, n, i) { var a = he.ToString(e), r = '<' + t; '' !== n && (r += ' ' + n + '="' + he.ToString(i).replace(/"/g, '"') + '"'); return r + '>' + a + '</' + t + '>'; }, IsRegExp: function (e) { if (!he.TypeIsObject(e)) return !1; var t = e[$.match]; return void 0 !== t ? !!t : ie.regex(e); }, ToString: function (e) { if (re && '[object Symbol]' === y(e)) throw new TypeError( 'Cannot convert a Symbol value to a number'); return ce(e); }, }; if (u && re) { var fe = function (e) { if (ie.symbol($[e])) return $[e]; var t = $.for('Symbol.' + e); return Object.defineProperty($, e, { configurable: !1, enumerable: !1, writable: !1, value: t, }), t; }; if (!ie.symbol($.search)) { var pe = fe('search'), me = String.prototype.search; g(RegExp.prototype, pe, (function (e) {return he.Call(me, e, [this]);})); var ge = function (e) { var t = he.RequireObjectCoercible(this); if (!de(e)) { var n = he.GetMethod(e, pe); if (void 0 !== n) return he.Call(n, e, [t]); } return he.Call(me, t, [he.ToString(e)]); }; ae(String.prototype, 'search', ge); } if (!ie.symbol($.replace)) { var ve = fe('replace'), ye = String.prototype.replace; g(RegExp.prototype, ve, (function (e, t) {return he.Call(ye, e, [this, t]);})); var be = function (e, t) { var n = he.RequireObjectCoercible(this); if (!de(e)) { var i = he.GetMethod(e, ve); if (void 0 !== i) return he.Call(i, e, [n, t]); } return he.Call(ye, n, [he.ToString(e), t]); }; ae(String.prototype, 'replace', be); } if (!ie.symbol($.split)) { var xe = fe('split'), _e = String.prototype.split; g(RegExp.prototype, xe, (function (e, t) {return he.Call(_e, e, [this, t]);})); var we = function (e, t) { var n = he.RequireObjectCoercible(this); if (!de(e)) { var i = he.GetMethod(e, xe); if (void 0 !== i) return he.Call(i, e, [n, t]); } return he.Call(_e, n, [he.ToString(e), t]); }; ae(String.prototype, 'split', we); } var ke = ie.symbol($.match), Me = ke && ((se = {})[$.match] = function () {return 42;}, 42 !== 'a'.match(se)); if (!ke || Me) { var Le = fe('match'), Se = String.prototype.match; g(RegExp.prototype, Le, (function (e) {return he.Call(Se, e, [this]);})); var Te = function (e) { var t = he.RequireObjectCoercible(this); if (!de(e)) { var n = he.GetMethod(e, Le); if (void 0 !== n) return he.Call(n, e, [t]); } return he.Call(Se, t, [he.ToString(e)]); }; ae(String.prototype, 'match', Te); } } var Ae = function (e, t, n) { x.preserveToString(t, e), Object.setPrototypeOf && Object.setPrototypeOf(e, t), u ? h(Object.getOwnPropertyNames(e), (function (i) {i in B || n[i] || x.proxy(e, i, t);})) : h( Object.keys(e), (function (i) { i in B || n[i] || (t[i] = e[i]); })), t.prototype = e.prototype, x.redefine(e.prototype, 'constructor', t); }, De = function () {return this;}, Ce = function (e) {u && !z(e, G) && x.getter(e, G, De);}, Ee = function (e, t) { var n = t || function () {return this;}; g(e, oe, n), !e[oe] && ie.symbol(oe) && (e[oe] = n); }, Oe = function (e, t, n) { u ? Object.defineProperty(e, t, { configurable: !0, enumerable: !0, writable: !0, value: n }) : e[t] = n; }, Ye = function (e, t, n) { if (Oe(e, t, n), !he.SameValue(e[t], n)) throw new TypeError( 'property is nonconfigurable'); }, Pe = function (e, t, n, i) { if (!he.TypeIsObject(e)) throw new TypeError( 'Constructor requires `new`: ' + t.name); var a = t.prototype; he.TypeIsObject(a) || (a = n); var r = _(a); for (var o in i) if (z(i, o)) { var s = i[o]; g(r, o, s, !0); } return r; }; if (String.fromCodePoint && 1 !== String.fromCodePoint.length) { var Ie = String.fromCodePoint; ae(String, 'fromCodePoint', (function (e) {return he.Call(Ie, this, arguments);})); } var je = { fromCodePoint: function (e) { for (var t, n = [], i = 0, a = arguments.length; i < a; i++) { if (t = Number(arguments[i]), !he.SameValue(t, he.ToInteger(t)) || t < 0 || t > 1114111) throw new RangeError('Invalid code point ' + t); t < 65536 ? C(n, String.fromCharCode(t)) : (t -= 65536, C(n, String.fromCharCode(55296 + (t >> 10))), C(n, String.fromCharCode(t % 1024 + 56320))); } return O(n, ''); }, raw: function (e) { var t = he.ToObject(e, 'bad template'), n = he.ToObject(t.raw, 'bad raw value'), i = n.length, a = he.ToLength(i); if (a <= 0) return ''; for (var r, o, s, l, c = [], u = 0; u < a && (r = he.ToString(u), s = he.ToString(n[r]), C(c, s), !(u + 1 >= a));) o = u + 1 < arguments.length ? arguments[u + 1] : '', l = he.ToString(o), C(c, l), u += 1; return O(c, ''); }, }; String.raw && 'xy' !== String.raw({ raw: { 0: 'x', 1: 'y', length: 2 } }) && ae(String, 'raw', je.raw), v(String, je); var Ne = function e (t, n) { if (n < 1) return ''; if (n % 2) return e(t, n - 1) + t; var i = e(t, n / 2); return i + i; }, He = 1 / 0, Fe = { repeat: function (e) { var t = he.ToString(he.RequireObjectCoercible(this)), n = he.ToInteger(e); if (n < 0 || n >= He) throw new RangeError( 'repeat count must be less than infinity and not overflow maximum string size'); return Ne(t, n); }, startsWith: function (e) { var t = he.ToString(he.RequireObjectCoercible(this)); if (he.IsRegExp(e)) throw new TypeError( 'Cannot call method "startsWith" with a regex'); var n, i = he.ToString(e); arguments.length > 1 && (n = arguments[1]); var a = P(he.ToInteger(n), 0); return D(t, a, a + i.length) === i; }, endsWith: function (e) { var t = he.ToString(he.RequireObjectCoercible(this)); if (he.IsRegExp(e)) throw new TypeError( 'Cannot call method "endsWith" with a regex'); var n, i = he.ToString(e), a = t.length; arguments.length > 1 && (n = arguments[1]); var r = void 0 === n ? a : he.ToInteger(n), o = I(P(r, 0), a); return D(t, o - i.length, o) === i; }, includes: function (e) { if (he.IsRegExp(e)) throw new TypeError( '"includes" does not accept a RegExp'); var t, n = he.ToString(e); return arguments.length > 1 && (t = arguments[1]), -1 !== S(this, n, t); }, codePointAt: function (e) { var t = he.ToString(he.RequireObjectCoercible(this)), n = he.ToInteger(e), i = t.length; if (n >= 0 && n < i) { var a = t.charCodeAt(n); if (a < 55296 || a > 56319 || n + 1 === i) return a; var r = t.charCodeAt(n + 1); return r < 56320 || r > 57343 ? a : 1024 * (a - 55296) + (r - 56320) + 65536; } }, }; if (String.prototype.includes && !1 !== 'a'.includes('a', 1 / 0) && ae(String.prototype, 'includes', Fe.includes), String.prototype.startsWith && String.prototype.endsWith) { var Re = o((function () {return '/a/'.startsWith(/a/);})), ze = s( (function () {return !1 === 'abc'.startsWith('a', 1 / 0);})); Re && ze || (ae(String.prototype, 'startsWith', Fe.startsWith), ae( String.prototype, 'endsWith', Fe.endsWith)); } if (re) { var Be = s((function () { var e = /a/; return e[$.match] = !1, '/a/'.startsWith(e); })); Be || ae(String.prototype, 'startsWith', Fe.startsWith); var We = s((function () { var e = /a/; return e[$.match] = !1, '/a/'.endsWith(e); })); We || ae(String.prototype, 'endsWith', Fe.endsWith); var Ve = s((function () { var e = /a/; return e[$.match] = !1, '/a/'.includes(e); })); Ve || ae(String.prototype, 'includes', Fe.includes); } v(String.prototype, Fe); var qe = [ '\t\n\v\f\r ', ' \u2028', '\u2029\ufeff'].join(''), Ue = new RegExp('(^[' + qe + ']+)|([' + qe + ']+$)', 'g'), Xe = function () { return he.ToString(he.RequireObjectCoercible(this)). replace(Ue, ''); }, $e = [' ', '', ''].join(''), Ge = new RegExp('[' + $e + ']', 'g'), Ze = /^[-+]0x[0-9a-f]+$/i, Ke = $e.trim().length !== $e.length; g(String.prototype, 'trim', Xe, Ke); var Je = function (e) { return { value: e, done: 0 === arguments.length, }; }, Qe = function (e) { he.RequireObjectCoercible(e), this._s = he.ToString(e), this._i = 0; }; Qe.prototype.next = function () { var e = this._s, t = this._i; if (void 0 === e || t >= e.length) return this._s = void 0, Je(); var n, i, a = e.charCodeAt(t); return i = a < 55296 || a > 56319 || t + 1 === e.length || (n = e.charCodeAt(t + 1)) < 56320 || n > 57343 ? 1 : 2, this._i = t + i, Je(e.substr(t, i)); }, Ee(Qe.prototype), Ee(String.prototype, (function () {return new Qe(this);})); var et = { from: function (e) { var t, i, a, r = this; if (arguments.length > 1 && (t = arguments[1]), void 0 === t) i = !1; else { if (!he.IsCallable(t)) throw new TypeError( 'Array.from: when provided, the second argument must be a function'); arguments.length > 2 && (a = arguments[2]), i = !0; } var o, s, l, c = void 0 !== (ne(e) || he.GetMethod(e, oe)); if (c) { s = he.IsConstructor(r) ? Object(new r) : []; var u, d, h = he.GetIterator(e); for (l = 0; !1 !== (u = he.IteratorStep(h));) { d = u.value; try { i && (d = void 0 === a ? t(d, l) : n(t, a, d, l)), s[l] = d; } catch (e) {throw he.IteratorClose(h, !0), e;} l += 1; } o = l; } else { var f, p = he.ToObject(e); for (o = he.ToLength(p.length), s = he.IsConstructor(r) ? Object(new r(o)) : new Array(o), l = 0; l < o; ++l) f = p[l], i && (f = void 0 === a ? t(f, l) : n(t, a, f, l)), Ye(s, l, f); } return s.length = o, s; }, of: function () { for (var e = arguments.length, t = this, n = i(t) || !he.IsCallable(t) ? new Array(e) : he.Construct(t, [e]), a = 0; a < e; ++a) Ye(n, a, arguments[a]); return n.length = e, n; }, }; v(Array, et), Ce(Array), v((e = function ( e, t) {this.i = 0, this.array = e, this.kind = t;}).prototype, { next: function () { var t = this.i, n = this.array; if (!(this instanceof e)) throw new TypeError( 'Not an ArrayIterator'); if (void 0 !== n && t < he.ToLength(n.length)) { var i, a = this.kind; return 'key' === a ? i = t : 'value' === a ? i = n[t] : 'entry' === a && (i = [t, n[t]]), this.i = t + 1, Je(i); } return this.array = void 0, Je(); }, }), Ee(e.prototype); var tt = Array.of === et.of || function () { var e = function (e) {this.length = e;}; e.prototype = []; var t = Array.of.apply(e, [1, 2]); return t instanceof e && 2 === t.length; }(); tt || ae(Array, 'of', et.of); var nt = { copyWithin: function (e, t) { var n, i = he.ToObject(this), a = he.ToLength(i.length), r = he.ToInteger(e), o = he.ToInteger(t), s = r < 0 ? P(a + r, 0) : I(r, a), l = o < 0 ? P(a + o, 0) : I(o, a); arguments.length > 2 && (n = arguments[2]); var c = void 0 === n ? a : he.ToInteger(n), u = c < 0 ? P(a + c, 0) : I(c, a), d = I(u - l, a - s), h = 1; for (l < s && s < l + d && (h = -1, l += d - 1, s += d - 1); d > 0;) l in i ? i[s] = i[l] : delete i[s], l += h, s += h, d -= 1; return i; }, fill: function (e) { var t, n; arguments.length > 1 && (t = arguments[1]), arguments.length > 2 && (n = arguments[2]); var i = he.ToObject(this), a = he.ToLength(i.length); t = he.ToInteger(void 0 === t ? 0 : t), n = he.ToInteger( void 0 === n ? a : n); for (var r = t < 0 ? P(a + t, 0) : I(t, a), o = n < 0 ? a + n : n, s = r; s < a && s < o; ++s) i[s] = e; return i; }, find: function (e) { var t = he.ToObject(this), i = he.ToLength(t.length); if (!he.IsCallable(e)) throw new TypeError( 'Array#find: predicate must be a function'); for (var a, r = arguments.length > 1 ? arguments[1] : null, o = 0; o < i; o++) if (a = t[o], r) { if (n(e, r, a, o, t)) return a; } else if (e(a, o, t)) return a; }, findIndex: function (e) { var t = he.ToObject(this), i = he.ToLength(t.length); if (!he.IsCallable(e)) throw new TypeError( 'Array#findIndex: predicate must be a function'); for (var a = arguments.length > 1 ? arguments[1] : null, r = 0; r < i; r++) if (a) { if (n(e, a, t[r], r, t)) return r; } else if (e(t[r], r, t)) return r; return -1; }, keys: function () {return new e(this, 'key');}, values: function () {return new e(this, 'value');}, entries: function () {return new e(this, 'entry');}, }; if (Array.prototype.keys && !he.IsCallable([1].keys().next) && delete Array.prototype.keys, Array.prototype.entries && !he.IsCallable([1].entries().next) && delete Array.prototype.entries, Array.prototype.keys && Array.prototype.entries && !Array.prototype.values && Array.prototype[oe] && (v(Array.prototype, { values: Array.prototype[oe] }), ie.symbol( $.unscopables) && (Array.prototype[$.unscopables].values = !0)), d && Array.prototype.values && 'values' !== Array.prototype.values.name) { var it = Array.prototype.values; ae(Array.prototype, 'values', (function () {return he.Call(it, this, arguments);})), g( Array.prototype, oe, Array.prototype.values, !0); } v(Array.prototype, nt), 1 / [!0].indexOf(!0, -0) < 0 && g(Array.prototype, 'indexOf', (function (e) { var t = T(this, arguments); return 0 === t && 1 / t < 0 ? 0 : t; }), !0), Ee(Array.prototype, (function () {return this.values();})), Object.getPrototypeOf && Ee(Object.getPrototypeOf([].values())); var at, rt = s( (function () {return 0 === Array.from({ length: -1 }).length;})), ot = 1 === (at = Array.from([0].entries())).length && i(at[0]) && 0 === at[0][0] && 0 === at[0][1]; rt && ot || ae(Array, 'from', et.from); var st = s((function () {return Array.from([0], void 0);})); if (!st) { var lt = Array.from; ae(Array, 'from', (function (e) { return arguments.length > 1 && void 0 !== arguments[1] ? he.Call(lt, this, arguments) : n(lt, this, e); })); } var ct = -(Math.pow(2, 32) - 1), ut = function (e, t) { var i = { length: ct }; return i[t ? (i.length >>> 0) - 1 : 0] = !0, s((function () { return n(e, i, (function () { throw new RangeError('should not reach here'); }), []), !0; })); }; if (!ut(Array.prototype.forEach)) { var dt = Array.prototype.forEach; ae(Array.prototype, 'forEach', (function (e) { return he.Call(dt, this.length >= 0 ? this : [], arguments); })); } if (!ut(Array.prototype.map)) { var ht = Array.prototype.map; ae(Array.prototype, 'map', (function (e) { return he.Call(ht, this.length >= 0 ? this : [], arguments); })); } if (!ut(Array.prototype.filter)) { var ft = Array.prototype.filter; ae(Array.prototype, 'filter', (function (e) { return he.Call(ft, this.length >= 0 ? this : [], arguments); })); } if (!ut(Array.prototype.some)) { var pt = Array.prototype.some; ae(Array.prototype, 'some', (function (e) { return he.Call(pt, this.length >= 0 ? this : [], arguments); })); } if (!ut(Array.prototype.every)) { var mt = Array.prototype.every; ae(Array.prototype, 'every', (function (e) { return he.Call(mt, this.length >= 0 ? this : [], arguments); })); } if (!ut(Array.prototype.reduce)) { var gt = Array.prototype.reduce; ae(Array.prototype, 'reduce', (function (e) { return he.Call(gt, this.length >= 0 ? this : [], arguments); })); } if (!ut(Array.prototype.reduceRight, !0)) { var vt = Array.prototype.reduceRight; ae(Array.prototype, 'reduceRight', (function (e) { return he.Call(vt, this.length >= 0 ? this : [], arguments); })); } var yt = 8 !== Number('0o10'), bt = 2 !== Number('0b10'), xt = m($e, (function (e) {return 0 === Number(e + 0 + e);})); if (yt || bt || xt) { var _t = Number, wt = /^0b[01]+$/i, kt = /^0o[0-7]+$/i, Mt = wt.test.bind(wt), Lt = kt.test.bind(kt), St = function (e, t) { var n; if ('function' == typeof e.valueOf && (n = e.valueOf(), ie.primitive(n))) return n; if ('function' == typeof e.toString && (n = e.toString(), ie.primitive(n))) return n; throw new TypeError('No default value'); }, Tt = Ge.test.bind(Ge), At = Ze.test.bind(Ze), Dt = function () { var e = function (t) { var n; 'string' == typeof (n = arguments.length > 0 ? ie.primitive(t) ? t : St(t, 'number') : 0) && (n = he.Call(Xe, n), Mt(n) ? n = parseInt(D(n, 2), 2) : Lt(n) ? n = parseInt(D(n, 2), 8) : (Tt(n) || At(n)) && (n = NaN)); var i = this, a = s((function () { return _t.prototype.valueOf.call(i), !0; })); return i instanceof e && !a ? new _t(n) : _t(n); }; return e; }(); Ae(_t, Dt, {}), v(Dt, { NaN: _t.NaN, MAX_VALUE: _t.MAX_VALUE, MIN_VALUE: _t.MIN_VALUE, NEGATIVE_INFINITY: _t.NEGATIVE_INFINITY, POSITIVE_INFINITY: _t.POSITIVE_INFINITY, }), Number = Dt, x.redefine(M, 'Number', Dt); } var Ct = Math.pow(2, 53) - 1; v(Number, { MAX_SAFE_INTEGER: Ct, MIN_SAFE_INTEGER: -Ct, EPSILON: 2220446049250313e-31, parseInt: M.parseInt, parseFloat: M.parseFloat, isFinite: K, isInteger: function (e) {return K(e) && he.ToInteger(e) === e;}, isSafeInteger: function (e) { return Number.isInteger(e) && N(e) <= Number.MAX_SAFE_INTEGER; }, isNaN: Z, }), g(Number, 'parseInt', M.parseInt, Number.parseInt !== M.parseInt), 1 === [, 1].find((function () {return !0;})) && ae(Array.prototype, 'find', nt.find), 0 !== [, 1].findIndex((function () {return !0;})) && ae(Array.prototype, 'findIndex', nt.findIndex); var Et, Ot, Yt, Pt = Function.bind.call(Function.bind, Object.prototype.propertyIsEnumerable), It = function (e, t) { u && Pt(e, t) && Object.defineProperty(e, t, { enumerable: !1 }); }, jt = function () { for (var e = Number(this), t = arguments.length, n = t - e, i = new Array(n < 0 ? 0 : n), a = e; a < t; ++a) i[a - e] = arguments[a]; return i; }, Nt = function (e) {return function (t, n) {return t[n] = e[n], t;};}, Ht = function (e, t) { var n, i = a(Object(t)); return he.IsCallable(Object.getOwnPropertySymbols) && (n = p(Object.getOwnPropertySymbols(Object(t)), Pt(t))), f( A(i, n || []), Nt(t), e); }, Ft = { assign: function (e, t) { var n = he.ToObject(e, 'Cannot convert undefined or null to object'); return f(he.Call(jt, 1, arguments), Ht, n); }, is: function (e, t) {return he.SameValue(e, t);}, }, Rt = Object.assign && Object.preventExtensions && function () { var e = Object.preventExtensions({ 1: 2 }); try {Object.assign(e, 'xy');} catch (t) {return 'y' === e[1];} }(); if (Rt && ae(Object, 'assign', Ft.assign), v(Object, Ft), u) { var zt = { setPrototypeOf: function (e, t) { var i, a = function (e, t) { return function (e, t) { if (!he.TypeIsObject(e)) throw new TypeError( 'cannot set prototype on a non-object'); if (null !== t && !he.TypeIsObject(t)) throw new TypeError( 'can only set prototype to an object or null' + t); }(e, t), n(i, e, t), e; }; try { i = e.getOwnPropertyDescriptor(e.prototype, t).set, n(i, {}, null); } catch (n) { if (e.prototype !== {}[t]) return; i = function (e) {this[t] = e;}, a.polyfill = a( a({}, null), e.prototype) instanceof e; } return a; }(Object, '__proto__'), }; v(Object, zt); } Object.setPrototypeOf && Object.getPrototypeOf && null !== Object.getPrototypeOf(Object.setPrototypeOf({}, null)) && null === Object.getPrototypeOf(Object.create(null)) && (Et = Object.create( null), Ot = Object.getPrototypeOf, Yt = Object.setPrototypeOf, Object.getPrototypeOf = function (e) { var t = Ot(e); return t === Et ? null : t; }, Object.setPrototypeOf = function (e, t) { return Yt(e, null === t ? Et : t); }, Object.setPrototypeOf.polyfill = !1); var Bt = !o((function () {return Object.keys('foo');})); if (!Bt) { var Wt = Object.keys; ae(Object, 'keys', (function (e) {return Wt(he.ToObject(e));})), a = Object.keys; } var Vt = o((function () {return Object.keys(/a/g);})); if (Vt) { var qt = Object.keys; ae(Object, 'keys', (function (e) { if (ie.regex(e)) { var t = []; for (var n in e) z(e, n) && C(t, n); return t; } return qt(e); })), a = Object.keys; } if (Object.getOwnPropertyNames) { var Ut = !o( (function () {return Object.getOwnPropertyNames('foo');})); if (!Ut) { var Xt = 'object' == typeof window ? Object.getOwnPropertyNames(window) : [], $t = Object.getOwnPropertyNames; ae(Object, 'getOwnPropertyNames', (function (e) { var t = he.ToObject(e); if ('[object Window]' === y(t)) try { return $t(t); } catch (e) {return A([], Xt);} return $t(t); })); } } if (Object.getOwnPropertyDescriptor) { var Gt = !o((function () { return Object.getOwnPropertyDescriptor('foo', 'bar'); })); if (!Gt) { var Zt = Object.getOwnPropertyDescriptor; ae(Object, 'getOwnPropertyDescriptor', (function (e, t) {return Zt(he.ToObject(e), t);})); } } if (Object.seal) { var Kt = !o((function () {return Object.seal('foo');})); if (!Kt) { var Jt = Object.seal; ae(Object, 'seal', (function (e) {return he.TypeIsObject(e) ? Jt(e) : e;})); } } if (Object.isSealed) { var Qt = !o((function () {return Object.isSealed('foo');})); if (!Qt) { var en = Object.isSealed; ae(Object, 'isSealed', (function (e) {return !he.TypeIsObject(e) || en(e);})); } } if (Object.freeze) { var tn = !o((function () {return Object.freeze('foo');})); if (!tn) { var nn = Object.freeze; ae(Object, 'freeze', (function (e) {return he.TypeIsObject(e) ? nn(e) : e;})); } } if (Object.isFrozen) { var an = !o((function () {return Object.isFrozen('foo');})); if (!an) { var rn = Object.isFrozen; ae(Object, 'isFrozen', (function (e) {return !he.TypeIsObject(e) || rn(e);})); } } if (Object.preventExtensions) { var on = !o( (function () {return Object.preventExtensions('foo');})); if (!on) { var sn = Object.preventExtensions; ae(Object, 'preventExtensions', (function (e) {return he.TypeIsObject(e) ? sn(e) : e;})); } } if (Object.isExtensible) { var ln = !o((function () {return Object.isExtensible('foo');})); if (!ln) { var cn = Object.isExtensible; ae(Object, 'isExtensible', (function (e) {return !!he.TypeIsObject(e) && cn(e);})); } } if (Object.getPrototypeOf) { var un = !o((function () {return Object.getPrototypeOf('foo');})); if (!un) { var dn = Object.getPrototypeOf; ae(Object, 'getPrototypeOf', (function (e) {return dn(he.ToObject(e));})); } } var hn, fn = u && ((hn = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags')) && he.IsCallable(hn.get)); if (u && !fn) { var pn = function () { if (!he.TypeIsObject(this)) throw new TypeError( 'Method called on incompatible type: must be an object.'); var e = ''; return this.global && (e += 'g'), this.ignoreCase && (e += 'i'), this.multiline && (e += 'm'), this.unicode && (e += 'u'), this.sticky && (e += 'y'), e; }; x.getter(RegExp.prototype, 'flags', pn); } var mn, gn = u && s((function () {return '/a/i' === String(new RegExp(/a/g, 'i'));})), vn = re && u && ((mn = /./)[$.match] = !1, RegExp(mn) === mn), yn = s((function () { return '/abc/' === RegExp.prototype.toString.call({ source: 'abc' }); })), bn = yn && s((function () { return '/a/b' === RegExp.prototype.toString.call({ source: 'a', flags: 'b' }); })); if (!yn || !bn) { var xn = RegExp.prototype.toString; g(RegExp.prototype, 'toString', (function () { var e = he.RequireObjectCoercible(this); return ie.regex(e) ? n(xn, e) : '/' + ce(e.source) + '/' + ce(e.flags); }), !0), x.preserveToString(RegExp.prototype.toString, xn); } if (u && (!gn || vn)) { var _n = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get, wn = Object.getOwnPropertyDescriptor(RegExp.prototype, 'source') || {}, kn = function () {return this.source;}, Mn = he.IsCallable(wn.get) ? wn.get : kn, Ln = RegExp, Sn = function e (t, n) { var i = he.IsRegExp(t); return this instanceof e || !i || void 0 !== n || t.constructor !== e ? ie.regex(t) ? new e(he.Call(Mn, t), void 0 === n ? he.Call(_n, t) : n) : (i && (t.source, void 0 === n && t.flags), new Ln(t, n)) : t; }; Ae(Ln, Sn, { $input: !0 }), RegExp = Sn, x.redefine(M, 'RegExp', Sn); } if (u) { var Tn = { input: '$_', lastMatch: '$&', lastParen: '$+', leftContext: '$`', rightContext: '$\'', }; h(a(Tn), (function (e) { e in RegExp && !(Tn[e] in RegExp) && x.getter(RegExp, Tn[e], (function () {return RegExp[e];})); })); } Ce(RegExp); var An = 1 / Number.EPSILON, Dn = function (e) {return e + An - An;}, Cn = Math.pow(2, -23), En = Math.pow(2, 127) * (2 - Cn), On = Math.pow(2, -126), Yn = Math.E, Pn = Math.LOG2E, In = Math.LOG10E, jn = Number.prototype.clz; delete Number.prototype.clz; var Nn = { acosh: function (e) { var t = Number(e); if (Z(t) || e < 1) return NaN; if (1 === t) return 0; if (t === 1 / 0) return t; var n = 1 / (t * t); if (t < 2) return Q(t - 1 + R(1 - n) * t); var i = t / 2; return Q(i + R(1 - n) * i - 1) + 1 / Pn; }, asinh: function (e) { var t = Number(e); if (0 === t || !L(t)) return t; var n = N(t), i = n * n, a = J(t); return n < 1 ? a * Q(n + i / (R(i + 1) + 1)) : a * (Q(n / 2 + R(1 + 1 / i) * n / 2 - 1) + 1 / Pn); }, atanh: function (e) { var t = Number(e); if (0 === t) return t; if (-1 === t) return -1 / 0; if (1 === t) return 1 / 0; if (Z(t) || t < -1 || t > 1) return NaN; var n = N(t); return J(t) * Q(2 * n / (1 - n)) / 2; }, cbrt: function (e) { var t = Number(e); if (0 === t) return t; var n, i = t < 0; return i && (t = -t), n = t === 1 / 0 ? 1 / 0 : (t / ((n = H(F(t) / 3)) * n) + 2 * n) / 3, i ? -n : n; }, clz32: function (e) { var t = Number(e), n = he.ToUint32(t); return 0 === n ? 32 : jn ? he.Call(jn, n) : 31 - j(F(n + .5) * Pn); }, cosh: function (e) { var t = Number(e); if (0 === t) return 1; if (Z(t)) return NaN; if (!L(t)) return 1 / 0; var n = H(N(t) - 1); return (n + 1 / (n * Yn * Yn)) * (Yn / 2); }, expm1: function (e) { var t = Number(e); if (t === -1 / 0) return -1; if (!L(t) || 0 === t) return t; if (N(t) > .5) return H(t) - 1; for (var n = t, i = 0, a = 1; i + n !== i;) i += n, n *= t / (a += 1); return i; }, hypot: function (e, t) { for (var n = 0, i = 0, a = 0; a < arguments.length; ++a) { var r = N(Number(arguments[a])); i < r ? (n *= i / r * (i / r), n += 1, i = r) : n += r > 0 ? r / i * (r / i) : r; } return i === 1 / 0 ? 1 / 0 : i * R(n); }, log2: function (e) {return F(e) * Pn;}, log10: function (e) {return F(e) * In;}, log1p: Q, sign: J, sinh: function (e) { var t = Number(e); if (!L(t) || 0 === t) return t; var n = N(t); if (n < 1) { var i = Math.expm1(n); return J(t) * i * (1 + 1 / (i + 1)) / 2; } var a = H(n - 1); return J(t) * (a - 1 / (a * Yn * Yn)) * (Yn / 2); }, tanh: function (e) { var t = Number(e); return Z(t) || 0 === t ? t : t >= 20 ? 1 : t <= -20 ? -1 : (Math.expm1(t) - Math.expm1(-t)) / (H(t) + H(-t)); }, trunc: function (e) { var t = Number(e); return t < 0 ? -j(-t) : j(t); }, imul: function (e, t) { var n = he.ToUint32(e), i = he.ToUint32(t), a = 65535 & n, r = 65535 & i; return a * r + ((n >>> 16 & 65535) * r + a * (i >>> 16 & 65535) << 16 >>> 0) | 0; }, fround: function (e) { var t = Number(e); if (0 === t || t === 1 / 0 || t === -1 / 0 || Z(t)) return t; var n = J(t), i = N(t); if (i < On) return n * Dn(i / On / Cn) * On * Cn; var a = (1 + Cn / Number.EPSILON) * i, r = a - (a - i); return r > En || Z(r) ? n * (1 / 0) : n * r; }, }, Hn = function (e, t, n) { return N(1 - e / t) / Number.EPSILON < (n || 8); }; v(Math, Nn), g(Math, 'sinh', Nn.sinh, Math.sinh(710) === 1 / 0), g(Math, 'cosh', Nn.cosh, Math.cosh(710) === 1 / 0), g(Math, 'log1p', Nn.log1p, -1e-17 !== Math.log1p(-1e-17)), g(Math, 'asinh', Nn.asinh, Math.asinh(-1e7) !== -Math.asinh(1e7)), g(Math, 'asinh', Nn.asinh, Math.asinh(1e300) === 1 / 0), g(Math, 'atanh', Nn.atanh, 0 === Math.atanh(1e-300)), g(Math, 'tanh', Nn.tanh, -2e-17 !== Math.tanh(-2e-17)), g(Math, 'acosh', Nn.acosh, Math.acosh(Number.MAX_VALUE) === 1 / 0), g(Math, 'acosh', Nn.acosh, !Hn(Math.acosh(1 + Number.EPSILON), Math.sqrt(2 * Number.EPSILON))), g(Math, 'cbrt', Nn.cbrt, !Hn(Math.cbrt(1e-300), 1e-100)), g(Math, 'sinh', Nn.sinh, -2e-17 !== Math.sinh(-2e-17)); var Fn = Math.expm1(10); g(Math, 'expm1', Nn.expm1, Fn > 22025.465794806718 || Fn < 22025.465794806718), g(Math, 'hypot', Nn.hypot, Math.hypot(1 / 0, NaN) !== 1 / 0); var Rn = Math.round, zn = 0 === Math.round(.5 - Number.EPSILON / 4) && 1 === Math.round(Number.EPSILON / 3.99 - .5), Bn = An + 1, Wn = 2 * An - 1, Vn = [Bn, Wn].every((function (e) {return Math.round(e) === e;})); g(Math, 'round', (function (e) { var t = j(e); return e - t < .5 ? t : -1 === t ? -0 : t + 1; }), !zn || !Vn), x.preserveToString(Math.round, Rn); var qn = Math.imul; -5 !== Math.imul(4294967295, 5) && (Math.imul = Nn.imul, x.preserveToString(Math.imul, qn)), 2 !== Math.imul.length && ae(Math, 'imul', (function (e, t) {return he.Call(qn, Math, arguments);})); var Un, Xn, $n = function () { var e = M.setTimeout; if ('function' == typeof e || 'object' == typeof e) { he.IsPromise = function (e) { return !!he.TypeIsObject(e) && void 0 !== e._promise; }; var t, i = function (e) { if (!he.IsConstructor(e)) throw new TypeError( 'Bad promise constructor'); var t = this; if (t.resolve = void 0, t.reject = void 0, t.promise = new e( (function (e, n) { if (void 0 !== t.resolve || void 0 !== t.reject) throw new TypeError( 'Bad Promise implementation!'); t.resolve = e, t.reject = n; })), !he.IsCallable(t.resolve) || !he.IsCallable(t.reject)) throw new TypeError( 'Bad promise constructor'); }; 'undefined' != typeof window && he.IsCallable(window.postMessage) && (t = function () { var e = [], t = 'zero-timeout-message'; return window.addEventListener('message', (function (n) { if (n.source === window && n.data === t) { if (n.stopPropagation(), 0 === e.length) return; Y(e)(); } }), !0), function (n) { C(e, n), window.postMessage(t, '*'); }; }); var a, r, o, s, l = he.IsCallable(M.setImmediate) ? M.setImmediate : 'object' == typeof process && process.nextTick ? process.nextTick : (a = M.Promise, (r = a && a.resolve && a.resolve()) && function (e) {return r.then(e);} || (he.IsCallable(t) ? t() : function (t) {e(t, 0);})), c = function (e) {return e;}, u = function (e) {throw e;}, d = {}, h = function (e, t, n) {l((function () {f(e, t, n);}));}, f = function (e, t, n) { var i, a; if (t === d) return e(n); try { i = e(n), a = t.resolve; } catch (e) {i = e, a = t.reject;} a(i); }, p = function (e, t) { var n = e._promise, i = n.reactionLength; if (i > 0 && (h(n.fulfillReactionHandler0, n.reactionCapability0, t), n.fulfillReactionHandler0 = void 0, n.rejectReactions0 = void 0, n.reactionCapability0 = void 0, i > 1)) for (var a = 1, r = 0; a < i; a++, r += 3) h( n[r + 0], n[r + 2], t), e[r + 0] = void 0, e[r + 1] = void 0, e[r + 2] = void 0; n.result = t, n.state = 1, n.reactionLength = 0; }, m = function (e, t) { var n = e._promise, i = n.reactionLength; if (i > 0 && (h(n.rejectReactionHandler0, n.reactionCapability0, t), n.fulfillReactionHandler0 = void 0, n.rejectReactions0 = void 0, n.reactionCapability0 = void 0, i > 1)) for (var a = 1, r = 0; a < i; a++, r += 3) h( n[r + 1], n[r + 2], t), e[r + 0] = void 0, e[r + 1] = void 0, e[r + 2] = void 0; n.result = t, n.state = 2, n.reactionLength = 0; }, g = function (e) { var t = !1; return { resolve: function (n) { var i; if (!t) { if (t = !0, n === e) return m(e, new TypeError('Self resolution')); if (!he.TypeIsObject(n)) return p(e, n); try {i = n.then;} catch (t) {return m(e, t);} if (!he.IsCallable(i)) return p(e, n); l((function () {b(e, n, i);})); } }, reject: function (n) {if (!t) return t = !0, m(e, n);}, }; }, y = function (e, t, i, a) { e === s ? n(e, t, i, a, d) : n(e, t, i, a); }, b = function (e, t, n) { var i = g(e), a = i.resolve, r = i.reject; try {y(n, t, a, r);} catch (e) {r(e);} }, x = function () { var e = function (t) { if (!(this instanceof e)) throw new TypeError( 'Constructor Promise requires "new"'); if (this && this._promise) throw new TypeError( 'Bad construction'); if (!he.IsCallable(t)) throw new TypeError( 'not a valid resolver'); var n = Pe(this, e, o, { _promise: { result: void 0, state: 0, reactionLength: 0, fulfillReactionHandler0: void 0, rejectReactionHandler0: void 0, reactionCapability0: void 0, }, }), i = g(n), a = i.reject; try {t(i.resolve, a);} catch (e) {a(e);} return n; }; return e; }(); o = x.prototype; var _ = function (e, t, n, i) { var a = !1; return function (r) { a || (a = !0, t[e] = r, 0 == --i.count && (0, n.resolve)(t)); }; }; return v(x, { all: function (e) { var t = this; if (!he.TypeIsObject(t)) throw new TypeError( 'Promise is not object'); var n, a, r = new i(t); try { return function ( e, t, n) { for (var i, a, r = e.iterator, o = [], s = { count: 1 }, l = 0; ;) { try { if (!1 === (i = he.IteratorStep(r))) { e.done = !0; break; } a = i.value; } catch (t) {throw e.done = !0, t;} o[l] = void 0; var c = t.resolve(a), u = _(l, o, n, s); s.count += 1, y(c.then, c, u, n.reject), l += 1; } return 0 == --s.count && (0, n.resolve)(o), n.promise; }(a = { iterator: n = he.GetIterator(e), done: !1 }, t, r); } catch (e) { var o = e; if (a && !a.done) try { he.IteratorClose(n, !0); } catch (e) {o = e;} return (0, r.reject)(o), r.promise; } }, race: function (e) { var t = this; if (!he.TypeIsObject(t)) throw new TypeError( 'Promise is not object'); var n, a, r = new i(t); try { return function ( e, t, n) { for (var i, a, r, o = e.iterator; ;) { try { if (!1 === (i = he.IteratorStep(o))) { e.done = !0; break; } a = i.value; } catch (t) {throw e.done = !0, t;} r = t.resolve(a), y(r.then, r, n.resolve, n.reject); } return n.promise; }(a = { iterator: n = he.GetIterator(e), done: !1 }, t, r); } catch (e) { var o = e; if (a && !a.done) try { he.IteratorClose(n, !0); } catch (e) {o = e;} return (0, r.reject)(o), r.promise; } }, reject: function (e) { if (!he.TypeIsObject(this)) throw new TypeError( 'Bad promise constructor'); var t = new i(this); return (0, t.reject)(e), t.promise; }, resolve: function (e) { var t = this; if (!he.TypeIsObject(t)) throw new TypeError( 'Bad promise constructor'); if (he.IsPromise(e) && e.constructor === t) return e; var n = new i(t); return (0, n.resolve)(e), n.promise; }, }), v(o, { catch: function (e) {return this.then(null, e);}, then: function (e, t) { var n = this; if (!he.IsPromise(n)) throw new TypeError( 'not a promise'); var a, r = he.SpeciesConstructor(n, x), o = arguments.length > 2 && arguments[2] === d; a = o && r === x ? d : new i(r); var s, l = he.IsCallable(e) ? e : c, f = he.IsCallable(t) ? t : u, p = n._promise; if (0 === p.state) { if (0 === p.reactionLength) p.fulfillReactionHandler0 = l, p.rejectReactionHandler0 = f, p.reactionCapability0 = a; else { var m = 3 * (p.reactionLength - 1); p[m + 0] = l, p[m + 1] = f, p[m + 2] = a; } p.reactionLength += 1; } else if (1 === p.state) s = p.result, h(l, a, s); else { if (2 !== p.state) throw new TypeError( 'unexpected Promise state'); s = p.result, h(f, a, s); } return a.promise; }, }), d = new i(x), s = o.then, x; } }(); if (M.Promise && (delete M.Promise.accept, delete M.Promise.defer, delete M.Promise.prototype.chain), 'function' == typeof $n) { v(M, { Promise: $n }); var Gn = w(M.Promise, (function (e) { return e.resolve(42). then((function () {})) instanceof e; })), Zn = !o((function () { return M.Promise.reject(42). then(null, 5). then(null, B); })), Kn = o((function () {return M.Promise.call(3, B);})), Jn = function (e) { var t = e.resolve(5); t.constructor = {}; var n = e.resolve(t); try {n.then(null, B).then(null, B);} catch (e) {return !0;} return t === n; }(M.Promise), Qn = u && (Un = 0, Xn = Object.defineProperty({}, 'then', { get: function () {Un += 1;} }), Promise.resolve(Xn), 1 === Un), ei = function e (t) { var n = new Promise(t); t(3, (function () {})), this.then = n.then, this.constructor = e; }; ei.prototype = Promise.prototype, ei.all = Promise.all; var ti = s((function () {return !!ei.all([1, 2]);})); if (Gn && Zn && Kn && !Jn && Qn && !ti || (Promise = $n, ae(M, 'Promise', $n)), 1 !== Promise.all.length) { var ni = Promise.all; ae(Promise, 'all', (function (e) {return he.Call(ni, this, arguments);})); } if (1 !== Promise.race.length) { var ii = Promise.race; ae(Promise, 'race', (function (e) {return he.Call(ii, this, arguments);})); } if (1 !== Promise.resolve.length) { var ai = Promise.resolve; ae(Promise, 'resolve', (function (e) {return he.Call(ai, this, arguments);})); } if (1 !== Promise.reject.length) { var ri = Promise.reject; ae(Promise, 'reject', (function (e) {return he.Call(ri, this, arguments);})); } It(Promise, 'all'), It(Promise, 'race'), It(Promise, 'resolve'), It( Promise, 'reject'), Ce(Promise); } var oi, si, li = function (e) { var t = a(f(e, (function (e, t) {return e[t] = !0, e;}), {})); return e.join(':') === t.join(':'); }, ci = li(['z', 'a', 'bb']), ui = li(['z', 1, 'a', '3', 2]); if (u) { var di = function (e, t) { return t || ci ? de(e) ? '^' + he.ToString(e) : 'string' == typeof e ? '$' + e : 'number' == typeof e ? ui ? e : 'n' + e : 'boolean' == typeof e ? 'b' + e : null : null; }, hi = function () { return Object.create ? Object.create(null) : {}; }, fi = function (e, t, a) { if (i(a) || ie.string(a)) h(a, (function (e) { if (!he.TypeIsObject(e)) throw new TypeError( 'Iterator value ' + e + ' is not an entry object'); t.set(e[0], e[1]); })); else if (a instanceof e) n(e.prototype.forEach, a, (function (e, n) {t.set(n, e);})); else { var r, o; if (!de(a)) { if (o = t.set, !he.IsCallable(o)) throw new TypeError( 'bad map'); r = he.GetIterator(a); } if (void 0 !== r) for (; ;) { var s = he.IteratorStep(r); if (!1 === s) break; var l = s.value; try { if (!he.TypeIsObject(l)) throw new TypeError( 'Iterator value ' + l + ' is not an entry object'); n(o, t, l[0], l[1]); } catch (e) {throw he.IteratorClose(r, !0), e;} } } }, pi = function (e, t, a) { if (i(a) || ie.string(a)) h(a, (function (e) {t.add(e);})); else if (a instanceof e) n( e.prototype.forEach, a, (function (e) {t.add(e);})); else { var r, o; if (!de(a)) { if (o = t.add, !he.IsCallable(o)) throw new TypeError( 'bad set'); r = he.GetIterator(a); } if (void 0 !== r) for (; ;) { var s = he.IteratorStep(r); if (!1 === s) break; var l = s.value; try {n(o, t, l);} catch (e) { throw he.IteratorClose(r, !0), e; } } } }, mi = { Map: function () { var e = {}, t = function ( e, t) {this.key = e, this.value = t, this.next = null, this.prev = null;}; t.prototype.isRemoved = function () { return this.key === e; }; var i, a = function (e, t) { if (!he.TypeIsObject(e) || !function (e) {return !!e._es6map;}( e)) throw new TypeError( 'Method Map.prototype.' + t + ' called on incompatible receiver ' + he.ToString(e)); }, r = function (e, t) { a(e, '[[MapIterator]]'), this.head = e._head, this.i = this.head, this.kind = t; }; Ee(r.prototype = { isMapIterator: !0, next: function () { if (!this.isMapIterator) throw new TypeError( 'Not a MapIterator'); var e, t = this.i, n = this.kind, i = this.head; if (void 0 === this.i) return Je(); for (; t.isRemoved() && t !== i;) t = t.prev; for (; t.next !== i;) if (!(t = t.next).isRemoved()) return e = 'key' === n ? t.key : 'value' === n ? t.value : [ t.key, t.value], this.i = t, Je(e); return this.i = void 0, Je(); }, }); var o = function e () { if (!(this instanceof e)) throw new TypeError( 'Constructor Map requires "new"'); if (this && this._es6map) throw new TypeError( 'Bad construction'); var n = Pe(this, e, i, { _es6map: !0, _head: null, _map: W ? new W : null, _size: 0, _storage: hi(), }), a = new t(null, null); return a.next = a.prev = a, n._head = a, arguments.length > 0 && fi(e, n, arguments[0]), n; }; return i = o.prototype, x.getter(i, 'size', (function () { if (void 0 === this._size) throw new TypeError( 'size method called on incompatible Map'); return this._size; })), v(i, { get: function (e) { var t; a(this, 'get'); var n = di(e, !0); if (null !== n) return (t = this._storage[n]) ? t.value : void 0; if (this._map) return (t = q.call(this._map, e)) ? t.value : void 0; for (var i = this._head, r = i; (r = r.next) !== i;) if (he.SameValueZero(r.key, e)) return r.value; }, has: function (e) { a(this, 'has'); var t = di(e, !0); if (null !== t) return void 0 !== this._storage[t]; if (this._map) return U.call(this._map, e); for (var n = this._head, i = n; (i = i.next) !== n;) if (he.SameValueZero(i.key, e)) return !0; return !1; }, set: function (e, n) { a(this, 'set'); var i, r = this._head, o = r, s = di(e, !0); if (null !== s) { if (void 0 !== this._storage[s]) return this._storage[s].value = n, this; i = this._storage[s] = new t(e, n), o = r.prev; } else this._map && (U.call(this._map, e) ? q.call(this._map, e).value = n : (i = new t(e, n), X.call( this._map, e, i), o = r.prev)); for (; (o = o.next) !== r;) if (he.SameValueZero( o.key, e)) return o.value = n, this; return i = i || new t(e, n), he.SameValue(-0, e) && (i.key = 0), i.next = this._head, i.prev = this._head.prev, i.prev.next = i, i.next.prev = i, this._size += 1, this; }, delete: function (t) { a(this, 'delete'); var n = this._head, i = n, r = di(t, !0); if (null !== r) { if (void 0 === this._storage[r]) return !1; i = this._storage[r].prev, delete this._storage[r]; } else if (this._map) { if (!U.call(this._map, t)) return !1; i = q.call(this._map, t).prev, V.call(this._map, t); } for (; (i = i.next) !== n;) if (he.SameValueZero( i.key, t)) return i.key = e, i.value = e, i.prev.next = i.next, i.next.prev = i.prev, this._size -= 1, !0; return !1; }, clear: function () { a(this, 'clear'), this._map = W ? new W : null, this._size = 0, this._storage = hi(); for (var t = this._head, n = t, i = n.next; (n = i) !== t;) n.key = e, n.value = e, i = n.next, n.next = n.prev = t; t.next = t.prev = t; }, keys: function () { return a(this, 'keys'), new r(this, 'key'); }, values: function () { return a(this, 'values'), new r(this, 'value'); }, entries: function () { return a(this, 'entries'), new r(this, 'key+value'); }, forEach: function (e) { a(this, 'forEach'); for (var t = arguments.length > 1 ? arguments[1] : null, i = this.entries(), r = i.next(); !r.done; r = i.next()) t ? n(e, t, r.value[1], r.value[0], this) : e(r.value[1], r.value[0], this); }, }), Ee(i, i.entries), o; }(), Set: function () { var e, t = function (e, t) { if (!he.TypeIsObject(e) || !function (e) { return e._es6set && void 0 !== e._storage; }(e)) throw new TypeError('Set.prototype.' + t + ' called on incompatible receiver ' + he.ToString(e)); }, i = function t () { if (!(this instanceof t)) throw new TypeError( 'Constructor Set requires "new"'); if (this && this._es6set) throw new TypeError( 'Bad construction'); var n = Pe(this, t, e, { _es6set: !0, '[[SetData]]': null, _storage: hi(), }); if (!n._es6set) throw new TypeError('bad set'); return arguments.length > 0 && pi(t, n, arguments[0]), n; }; e = i.prototype; var r = function (e) { if (!e['[[SetData]]']) { var t = new mi.Map; e['[[SetData]]'] = t, h(a(e._storage), (function (e) { var n = function (e) { var t = e; if ('^null' === t) return null; if ('^undefined' !== t) { var n = t.charAt(0); return '$' === n ? D(t, 1) : 'n' === n ? +D(t, 1) : 'b' === n ? 'btrue' === t : +t; } }(e); t.set(n, n); })), e['[[SetData]]'] = t; } e._storage = null; }; x.getter(i.prototype, 'size', (function () { return t(this, 'size'), this._storage ? a( this._storage).length : (r( this), this['[[SetData]]'].size); })), v(i.prototype, { has: function (e) { var n; return t(this, 'has'), this._storage && null !== (n = di(e)) ? !!this._storage[n] : (r( this), this['[[SetData]]'].has(e)); }, add: function (e) { var n; return t(this, 'add'), this._storage && null !== (n = di(e)) ? (this._storage[n] = !0, this) : (r( this), this['[[SetData]]'].set(e, e), this); }, delete: function (e) { var n; if (t(this, 'delete'), this._storage && null !== (n = di(e))) { var i = z(this._storage, n); return delete this._storage[n] && i; } return r(this), this['[[SetData]]'].delete(e); }, clear: function () { t(this, 'clear'), this._storage && (this._storage = hi()), this['[[SetData]]'] && this['[[SetData]]'].clear(); }, values: function () { return t(this, 'values'), r(this), new o( this['[[SetData]]'].values()); }, entries: function () { return t(this, 'entries'), r(this), new o( this['[[SetData]]'].entries()); }, forEach: function (e) { t(this, 'forEach'); var i = arguments.length > 1 ? arguments[1] : null, a = this; r(a), this['[[SetData]]'].forEach((function (t, r) { i ? n(e, i, r, r, a) : e(r, r, a); })); }, }), g(i.prototype, 'keys', i.prototype.values, !0), Ee( i.prototype, i.prototype.values); var o = function (e) {this.it = e;}; return o.prototype = { isSetIterator: !0, next: function () { if (!this.isSetIterator) throw new TypeError( 'Not a SetIterator'); return this.it.next(); }, }, Ee(o.prototype), i; }(), }, gi = M.Set && !Set.prototype.delete && Set.prototype.remove && Set.prototype.items && Set.prototype.map && Array.isArray((new Set).keys); if (gi && (M.Set = mi.Set), M.Map || M.Set) { var vi = s( (function () {return 2 === new Map([[1, 2]]).get(1);})); vi || (M.Map = function e () { if (!(this instanceof e)) throw new TypeError( 'Constructor Map requires "new"'); var t = new W; return arguments.length > 0 && fi(e, t, arguments[0]), delete t.constructor, Object.setPrototypeOf( t, M.Map.prototype), t; }, M.Map.prototype = _(W.prototype), g(M.Map.prototype, 'constructor', M.Map, !0), x.preserveToString(M.Map, W)); var yi = new Map, bi = ((si = new Map([[1, 0], [2, 0], [3, 0], [4, 0]])).set( -0, si), si.get(0) === si && si.get(-0) === si && si.has(0) && si.has(-0)), xi = yi.set(1, 2) === yi; bi && xi || ae(Map.prototype, 'set', (function (e, t) { return n(X, this, 0 === e ? 0 : e, t), this; })), bi || (v(Map.prototype, { get: function (e) {return n(q, this, 0 === e ? 0 : e);}, has: function (e) {return n(U, this, 0 === e ? 0 : e);}, }, !0), x.preserveToString(Map.prototype.get, q), x.preserveToString(Map.prototype.has, U)); var _i = new Set, wi = Set.prototype.delete && Set.prototype.add && Set.prototype.has && ((oi = _i).delete(0), oi.add(-0), !oi.has(0)), ki = _i.add(1) === _i; if (!wi || !ki) { var Mi = Set.prototype.add; Set.prototype.add = function (e) { return n(Mi, this, 0 === e ? 0 : e), this; }, x.preserveToString(Set.prototype.add, Mi); } if (!wi) { var Li = Set.prototype.has; Set.prototype.has = function (e) { return n(Li, this, 0 === e ? 0 : e); }, x.preserveToString(Set.prototype.has, Li); var Si = Set.prototype.delete; Set.prototype.delete = function (e) { return n(Si, this, 0 === e ? 0 : e); }, x.preserveToString(Set.prototype.delete, Si); } var Ti = w(M.Map, (function (e) { var t = new e([]); return t.set(42, 42), t instanceof e; })), Ai = Object.setPrototypeOf && !Ti, Di = function () { try { return !(M.Map() instanceof M.Map); } catch (e) {return e instanceof TypeError;} }(); 0 === M.Map.length && !Ai && Di || (M.Map = function e () { if (!(this instanceof e)) throw new TypeError( 'Constructor Map requires "new"'); var t = new W; return arguments.length > 0 && fi(e, t, arguments[0]), delete t.constructor, Object.setPrototypeOf( t, e.prototype), t; }, M.Map.prototype = W.prototype, g(M.Map.prototype, 'constructor', M.Map, !0), x.preserveToString(M.Map, W)); var Ci = w(M.Set, (function (e) { var t = new e([]); return t.add(42, 42), t instanceof e; })), Ei = Object.setPrototypeOf && !Ci, Oi = function () { try { return !(M.Set() instanceof M.Set); } catch (e) {return e instanceof TypeError;} }(); if (0 !== M.Set.length || Ei || !Oi) { var Yi = M.Set; M.Set = function e () { if (!(this instanceof e)) throw new TypeError( 'Constructor Set requires "new"'); var t = new Yi; return arguments.length > 0 && pi(e, t, arguments[0]), delete t.constructor, Object.setPrototypeOf( t, e.prototype), t; }, M.Set.prototype = Yi.prototype, g(M.Set.prototype, 'constructor', M.Set, !0), x.preserveToString(M.Set, Yi); } var Pi = new M.Map, Ii = !s((function () {return Pi.keys().next().done;})); if (('function' != typeof M.Map.prototype.clear || 0 !== (new M.Set).size || 0 !== Pi.size || 'function' != typeof M.Map.prototype.keys || 'function' != typeof M.Set.prototype.keys || 'function' != typeof M.Map.prototype.forEach || 'function' != typeof M.Set.prototype.forEach || l(M.Map) || l(M.Set) || 'function' != typeof Pi.keys().next || Ii || !Ti) && v(M, { Map: mi.Map, Set: mi.Set }, !0), M.Set.prototype.keys !== M.Set.prototype.values && g(M.Set.prototype, 'keys', M.Set.prototype.values, !0), Ee( Object.getPrototypeOf((new M.Map).keys())), Ee( Object.getPrototypeOf((new M.Set).keys())), d && 'has' !== M.Set.prototype.has.name) { var ji = M.Set.prototype.has; ae(M.Set.prototype, 'has', (function (e) {return n(ji, this, e);})); } } v(M, mi), Ce(M.Map), Ce(M.Set); } var Ni = function (e) { if (!he.TypeIsObject(e)) throw new TypeError( 'target must be an object'); }, Hi = { apply: function () { return he.Call(he.Call, null, arguments); }, construct: function (e, t) { if (!he.IsConstructor(e)) throw new TypeError( 'First argument must be a constructor.'); var n = arguments.length > 2 ? arguments[2] : e; if (!he.IsConstructor(n)) throw new TypeError( 'new.target must be a constructor.'); return he.Construct(e, t, n, 'internal'); }, deleteProperty: function (e, t) { if (Ni(e), u) { var n = Object.getOwnPropertyDescriptor(e, t); if (n && !n.configurable) return !1; } return delete e[t]; }, has: function (e, t) {return Ni(e), t in e;}, }; Object.getOwnPropertyNames && Object.assign(Hi, { ownKeys: function (e) { Ni(e); var t = Object.getOwnPropertyNames(e); return he.IsCallable(Object.getOwnPropertySymbols) && E(t, Object.getOwnPropertySymbols(e)), t; }, }); var Fi = function (e) {return !o(e);}; if (Object.preventExtensions && Object.assign(Hi, { isExtensible: function (e) {return Ni(e), Object.isExtensible(e);}, preventExtensions: function (e) { return Ni(e), Fi( (function () {return Object.preventExtensions(e);})); }, }), u) { var Ri = function ( e, t, n) { var i = Object.getOwnPropertyDescriptor(e, t); if (!i) { var a = Object.getPrototypeOf(e); if (null === a) return; return Ri(a, t, n); } return 'value' in i ? i.value : i.get ? he.Call(i.get, n) : void 0; }, zi = function (e, t, i, a) { var r = Object.getOwnPropertyDescriptor(e, t); if (!r) { var o = Object.getPrototypeOf(e); if (null !== o) return zi(o, t, i, a); r = { value: void 0, writable: !0, enumerable: !0, configurable: !0, }; } return 'value' in r ? !!r.writable && (!!he.TypeIsObject(a) && (Object.getOwnPropertyDescriptor(a, t) ? le.defineProperty( a, t, { value: i }) : le.defineProperty(a, t, { value: i, writable: !0, enumerable: !0, configurable: !0, }))) : !!r.set && (n(r.set, a, i), !0); }; Object.assign(Hi, { defineProperty: function (e, t, n) { return Ni(e), Fi( (function () {return Object.defineProperty(e, t, n);})); }, getOwnPropertyDescriptor: function (e, t) { return Ni(e), Object.getOwnPropertyDescriptor(e, t); }, get: function (e, t) { Ni(e); var n = arguments.length > 2 ? arguments[2] : e; return Ri(e, t, n); }, set: function (e, t, n) { Ni(e); var i = arguments.length > 3 ? arguments[3] : e; return zi(e, t, n, i); }, }); } if (Object.getPrototypeOf) { var Bi = Object.getPrototypeOf; Hi.getPrototypeOf = function (e) {return Ni(e), Bi(e);}; } if (Object.setPrototypeOf && Hi.getPrototypeOf) { var Wi = function ( e, t) { for (var n = t; n;) { if (e === n) return !0; n = Hi.getPrototypeOf(n); } return !1; }; Object.assign(Hi, { setPrototypeOf: function (e, t) { if (Ni(e), null !== t && !he.TypeIsObject(t)) throw new TypeError( 'proto must be an object or null'); return t === le.getPrototypeOf(e) || !(le.isExtensible && !le.isExtensible(e)) && (!Wi(e, t) && (Object.setPrototypeOf(e, t), !0)); }, }); } var Vi = function (e, t) { he.IsCallable(M.Reflect[e]) ? s((function () { return M.Reflect[e](1), M.Reflect[e](NaN), M.Reflect[e](!0), !0; })) && ae(M.Reflect, e, t) : g(M.Reflect, e, t); }; Object.keys(Hi).forEach((function (e) {Vi(e, Hi[e]);})); var qi = M.Reflect.getPrototypeOf; if (d && qi && 'getPrototypeOf' !== qi.name && ae(M.Reflect, 'getPrototypeOf', (function (e) { return n(qi, M.Reflect, e); })), M.Reflect.setPrototypeOf && s((function () {return M.Reflect.setPrototypeOf(1, {}), !0;})) && ae(M.Reflect, 'setPrototypeOf', Hi.setPrototypeOf), M.Reflect.defineProperty && (s((function () { var e = !M.Reflect.defineProperty(1, 'test', { value: 1 }), t = 'function' != typeof Object.preventExtensions || !M.Reflect.defineProperty(Object.preventExtensions({}), 'test', {}); return e && t; })) || ae(M.Reflect, 'defineProperty', Hi.defineProperty)), M.Reflect.construct && (s((function () { var e = function () {}; return M.Reflect.construct((function () {}), [], e) instanceof e; })) || ae(M.Reflect, 'construct', Hi.construct)), 'Invalid Date' !== String(new Date(NaN))) { var Ui = Date.prototype.toString, Xi = function () { var e = +this; return e != e ? 'Invalid Date' : he.Call(Ui, this); }; ae(Date.prototype, 'toString', Xi); } var $i = { anchor: function (e) { return he.CreateHTML(this, 'a', 'name', e); }, big: function () {return he.CreateHTML(this, 'big', '', '');}, blink: function () {return he.CreateHTML(this, 'blink', '', '');}, bold: function () {return he.CreateHTML(this, 'b', '', '');}, fixed: function () {return he.CreateHTML(this, 'tt', '', '');}, fontcolor: function (e) { return he.CreateHTML(this, 'font', 'color', e); }, fontsize: function (e) { return he.CreateHTML(this, 'font', 'size', e); }, italics: function () {return he.CreateHTML(this, 'i', '', '');}, link: function (e) {return he.CreateHTML(this, 'a', 'href', e);}, small: function () {return he.CreateHTML(this, 'small', '', '');}, strike: function () {return he.CreateHTML(this, 'strike', '', '');}, sub: function () {return he.CreateHTML(this, 'sub', '', '');}, sup: function () {return he.CreateHTML(this, 'sup', '', '');}, }; h(Object.keys($i), (function (e) { var t = String.prototype[e], i = !1; if (he.IsCallable(t)) { var a = n(t, '', ' " '), r = A([], a.match(/"/g)).length; i = a !== a.toLowerCase() || r > 2; } else i = !0; i && ae(String.prototype, e, $i[e]); })); var Gi = function () { if (!re) return !1; var e = 'object' == typeof JSON && 'function' == typeof JSON.stringify ? JSON.stringify : null; if (!e) return !1; if (void 0 !== e($())) return !0; if ('[null]' !== e([$()])) return !0; var t = { a: $() }; return t[$()] = !0, '{}' !== e(t); }(), Zi = s((function () { return !re || '{}' === JSON.stringify(Object($())) && '[{}]' === JSON.stringify([Object($())]); })); if (Gi || !Zi) { var Ki = JSON.stringify; ae(JSON, 'stringify', (function (e) { if ('symbol' != typeof e) { var t; arguments.length > 1 && (t = arguments[1]); var a = [e]; if (i(t)) a.push(t); else { var r = he.IsCallable(t) ? t : null, o = function (e, t) { var i = r ? n(r, this, e, t) : t; if ('symbol' != typeof i) return ie.symbol(i) ? Nt( {})(i) : i; }; a.push(o); } return arguments.length > 2 && a.push(arguments[2]), Ki.apply(this, a); } })); } return M; })), function (e, t) { 'object' == typeof exports && 'undefined' != typeof module ? t(exports) : 'function' == typeof define && define.amd ? define(['exports'], t) : t((e = e || self).FormValidation = {}); }(this, (function (e) { 'use strict'; function t (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, a = 0; t--;) a += n[i][parseInt(e.charAt(t), 10)], i = 1 - i; return a % 10 == 0 && a > 0; } function n (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; } function i (e) { for (var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ', n = e.length, i = t.length, a = Math.floor( i / 2), r = 0; r < n; r++) a = (2 * (a || i) % (i + 1) + t.indexOf(e.charAt(r))) % i; return 1 === a; } function a (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(), a = 0, r = 0; r < i.length; r++) a = t[a][n[r % 8][i[r]]]; return 0 === a; } var r = { luhn: t, mod11And10: n, mod37And36: i, verhoeff: a }; function o (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function s (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } function l (e, t, n) {return t && s(e.prototype, t), n && s(e, n), e;} function c (e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e; } function u (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function'); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && h(e, t); } function d (e) { return (d = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {return e.__proto__ || Object.getPrototypeOf(e);})( e); } function h (e, t) { return (h = Object.setPrototypeOf || function (e, t) {return e.__proto__ = t, e;})(e, t); } function f (e) { if (void 0 === e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return e; } function p (e, t) { return !t || 'object' != typeof t && 'function' != typeof t ? f(e) : t; } function m (e) { var t = 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 (e) {return !1;} }(); return function () { var n, i = d(e); if (t) { var a = d(this).constructor; n = Reflect.construct(i, arguments, a); } else n = i.apply(this, arguments); return p(this, n); }; } function g (e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; return i; } function v (e, t) { var n; if ('undefined' == typeof Symbol || null == e[Symbol.iterator]) { if (Array.isArray(e) || (n = function (e, t) { if (e) { if ('string' == typeof e) return g(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return 'Object' === n && e.constructor && (n = e.constructor.name), 'Map' === n || 'Set' === n ? Array.from(e) : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? g(e, t) : void 0; } }(e)) || t && e && 'number' == typeof e.length) { n && (e = n); var i = 0, a = function () {}; return { s: a, n: function () { return i >= e.length ? { done: !0 } : { done: !1, value: e[i++] }; }, e: function (e) {throw e;}, f: a, }; } 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, o = !0, s = !1; return { s: function () {n = e[Symbol.iterator]();}, n: function () { var e = n.next(); return o = e.done, e; }, e: function (e) {s = !0, r = e;}, f: function () { try { o || null == n.return || n.return(); } finally {if (s) throw r;} }, }; } function y (e, t, n, i) { var a = (n.getAttribute('type') || '').toLowerCase(), r = n.tagName.toLowerCase(); if ('textarea' === r) return n.value; if ('select' === r) { var o = n, s = o.selectedIndex; return s >= 0 ? o.options.item(s).value : ''; } if ('input' === r) { if ('radio' === a || 'checkbox' === a) { var l = i.filter((function (e) {return e.checked;})).length; return 0 === l ? '' : l + ''; } return n.value; } return ''; } function b (e, t) { var n = Array.isArray(t) ? t : [t], i = e; return n.forEach((function (e) {i = i.replace('%s', e);})), i; } function x (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)); var i, a = n.split('.'), r = a.pop(), o = window, s = v(a); try {for (s.s(); !(i = s.n()).done;) {o = o[i.value];}} catch (e) { s.e(e); } finally {s.f();} return void 0 === o[r] ? null : o[r].apply(this, t); } } var _ = { 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'], }, }; function w (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 a = new Date, r = a.getFullYear(), o = a.getMonth(), s = a.getDate(); return e < r || e === r && t - 1 < o || e === r && t - 1 === o && n < s; } return !0; } function k (e, t) { return new Promise((function (n, i) { var a = Object.assign({}, { crossDomain: !1, headers: {}, method: 'GET', params: {} }, t), r = Object.keys(a.params). map((function (e) { return ''.concat(encodeURIComponent(e), '='). concat(encodeURIComponent(a.params[e])); })). join('&'), o = e.indexOf('?'), s = 'GET' === a.method ? ''.concat(e). concat(o ? '?' : '&'). concat(r) : e; if (a.crossDomain) { var l = document.createElement('script'), c = '___fetch'.concat(Date.now(), '___'); window[c] = function (e) { delete window[c], n(e); }, l.src = ''.concat(s). concat(o ? '&' : '?', 'callback='). concat(c), l.async = !0, l.addEventListener('load', (function () { l.parentNode.removeChild(l); })), l.addEventListener('error', (function () {return i;})), document.head.appendChild(l); } else { var u = new XMLHttpRequest; u.open(a.method, s), u.setRequestHeader('X-Requested-With', 'XMLHttpRequest'), 'POST' === a.method && u.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'), Object.keys( a.headers). forEach((function (e) { return u.setRequestHeader(e, a.headers[e]); })), u.addEventListener('load', (function () { n(JSON.parse(this.responseText)); })), u.addEventListener('error', (function () {return i;})), u.send(function (e) { return Object.keys(e). map((function (t) { return ''.concat(encodeURIComponent(t), '='). concat(encodeURIComponent(e[t])); })). join('&'); }(a.params)); } })); } function M (e, t) { if (!/^\d{13}$/.test(e)) return !1; var n = parseInt(e.substr(0, 2), 10), i = parseInt(e.substr(2, 2), 10), a = parseInt(e.substr(7, 2), 10), r = parseInt(e.substr(12, 1), 10); if (n > 31 || i > 12) return !1; for (var o = 0, s = 0; s < 6; s++) o += (7 - s) * (parseInt(e.charAt(s), 10) + parseInt(e.charAt(s + 6), 10)); if (10 !== (o = 11 - o % 11) && 11 !== o || (o = 0), o !== r) return !1; switch (t.toUpperCase()) { case'BA': return 10 <= a && a <= 19; case'MK': return 41 <= a && a <= 49; case'ME': return 20 <= a && a <= 29; case'RS': return 70 <= a && a <= 99; case'SI': return 50 <= a && a <= 59; default: return !0; } } function L (e) { if (!/^\d{9,10}$/.test(e)) return { meta: {}, valid: !1 }; var t = 1900 + parseInt(e.substr(0, 2), 10), n = parseInt(e.substr(2, 2), 10) % 50 % 20, i = 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 (!w(t, n, i)) return { meta: {}, valid: !1 }; if (10 === e.length) { var a = parseInt(e.substr(0, 9), 10) % 11; return t < 1985 && (a %= 10), { meta: {}, valid: ''.concat(a) === e.substr(9, 1), }; } return { meta: {}, valid: !0 }; } function S (e) { if (!/^[0-9]{11}$/.test(e)) return { meta: {}, valid: !1 }; var t = parseInt(e.charAt(0), 10), n = parseInt(e.substr(1, 2), 10); if (!w(n = 100 * (t % 2 == 0 ? 17 + t / 2 : 17 + (t + 1) / 2) + n, parseInt(e.substr(3, 2), 10), parseInt(e.substr(5, 2), 10), !0)) return { meta: {}, valid: !1 }; var i, a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1], r = 0; for (i = 0; i < 10; i++) r += parseInt(e.charAt(i), 10) * a[i]; if (10 !== (r %= 11)) return { meta: {}, valid: ''.concat(r) === e.charAt(10), }; for (r = 0, a = [3, 4, 5, 6, 7, 8, 9, 1, 2, 3], i = 0; i < 10; i++) r += parseInt(e.charAt(i), 10) * a[i]; return 10 === (r %= 11) && (r = 0), { meta: {}, valid: ''.concat(r) === e.charAt(10), }; } function T (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 n = 0, i = t.length, a = 0; a < i - 1; a++) n += (9 - a) * parseInt(t.charAt(a), 10); return 10 === (n %= 11) && (n = 0), { meta: {}, valid: ''.concat(n) === t.charAt(i - 1), }; } function A (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 n = [256, 128, 64, 32, 16, 8, 4, 2], i = 0, a = 0; a < 8; a++) i += parseInt(t.charAt(a), 10) * n[a]; return { meta: {}, valid: ''.concat(i = i % 11 % 10) === t.substr(8, 1), }; } function D (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, a = 0; a < i - 1; ++a) n = 10 * (n + t[a]) % 97; return (n += t[i - 1]) % 97 == 1; } var C = { between: function () { var e = function (e) { return parseFloat(''.concat(e).replace(',', '.')); }; return { validate: function (t) { var n = t.value; if ('' === n) return { valid: !0 }; var i = Object.assign({}, { inclusive: !0, message: '' }, t.options), a = e(i.min), r = e(i.max); return i.inclusive ? { message: b(t.l10n ? i.message || t.l10n.between.default : i.message, [''.concat(a), ''.concat(r)]), valid: parseFloat(n) >= a && parseFloat(n) <= r, } : { message: b(t.l10n ? i.message || t.l10n.between.notInclusive : i.message, [''.concat(a), ''.concat(r)]), valid: parseFloat(n) > a && parseFloat(n) < r, }; }, }; }, blank: function () {return { validate: function (e) {return { valid: !0 };} };}, callback: function () { return { validate: function (e) { var t = x(e.options.callback, [e]); return 'boolean' == typeof t ? { valid: t } : t; }, }; }, choice: function () { return { validate: function (e) { var t = 'select' === e.element.tagName.toLowerCase() ? e.element.querySelectorAll('option:checked').length : e.elements.filter( (function (e) {return e.checked;})).length, n = e.options.min ? ''.concat(e.options.min) : '', i = e.options.max ? ''.concat(e.options.max) : '', a = e.l10n ? e.options.message || e.l10n.choice.default : e.options.message, r = !(n && t < parseInt(n, 10) || i && t > parseInt(i, 10)); switch (!0) { case!!n && !!i: a = b(e.l10n ? e.l10n.choice.between : e.options.message, [n, i]); break; case!!n: a = b( e.l10n ? e.l10n.choice.more : e.options.message, n); break; case!!i: a = b( e.l10n ? e.l10n.choice.less : e.options.message, i); } return { message: a, valid: r }; }, }; }, creditCard: function () { return { validate: function (e) { if ('' === e.value) return { meta: { type: null }, valid: !0, }; if (/[^0-9-\s]+/.test( e.value)) return { meta: { type: null }, valid: !1 }; var n = e.value.replace(/\D/g, ''); if (!t(n)) return { meta: { type: null }, valid: !1 }; for (var i = 0, a = Object.keys(_); i < a.length; i++) { var r = a[i]; for (var o in _[r].prefix) if (e.value.substr(0, _[r].prefix[o].length) === _[r].prefix[o] && -1 !== _[r].length.indexOf(n.length)) return { meta: { type: r }, valid: !0, }; } return { meta: { type: null }, valid: !1 }; }, }; }, date: function () { var e = function (e, t, n) { var i = t.indexOf('YYYY'), a = t.indexOf('MM'), r = t.indexOf('DD'); if (-1 === i || -1 === a || -1 === r) return null; var o = e.split(' '), s = o[0].split(n); if (s.length < 3) return null; var l = new Date(parseInt(s[i], 10), parseInt(s[a], 10) - 1, parseInt(s[r], 10)); if (o.length > 1) { var c = o[1].split(':'); l.setHours( c.length > 0 ? parseInt(c[0], 10) : 0), l.setMinutes( c.length > 1 ? parseInt(c[1], 10) : 0), l.setSeconds( c.length > 2 ? parseInt(c[2], 10) : 0); } return l; }, t = 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(), a = i < 10 ? '0'.concat(i) : i, r = e.getMonth() + 1, o = r < 10 ? '0'.concat(r) : r, s = ''.concat(e.getFullYear()).substr(2), l = e.getFullYear(), c = e.getHours() % 12 || 12, u = c < 10 ? '0'.concat(c) : c, d = e.getHours(), h = d < 10 ? '0'.concat(d) : d, f = e.getMinutes(), p = f < 10 ? '0'.concat(f) : f, m = e.getSeconds(), g = m < 10 ? '0'.concat(m) : m, v = { H: ''.concat(d), HH: ''.concat(h), M: ''.concat(f), MM: ''.concat(p), d: ''.concat(i), dd: ''.concat(a), h: ''.concat(c), hh: ''.concat(u), m: ''.concat(r), mm: ''.concat(o), s: ''.concat(m), ss: ''.concat(g), yy: ''.concat(s), yyyy: ''.concat(l), }; return n.replace( /d{1,4}|m{1,4}|yy(?:yy)?|([HhMs])\1?|"[^"]*"|'[^']*'/g, (function (e) { return v[e] ? v[e] : e.slice(1, e.length - 1); })); }; return { validate: function (n) { if ('' === n.value) return { meta: { date: null }, valid: !0, }; var i = Object.assign({}, { format: n.element && 'date' === n.element.getAttribute('type') ? 'YYYY-MM-DD' : 'MM/DD/YYYY', message: '', }, n.options), a = n.l10n ? n.l10n.date.default : i.message, r = { message: ''.concat(a), meta: { date: null }, valid: !1, }, o = i.format.split(' '), s = o.length > 1 ? o[1] : null, l = o.length > 2 ? o[2] : null, c = n.value.split(' '), u = c[0], d = c.length > 1 ? c[1] : null; if (o.length !== c.length) return r; var h = i.separator || (-1 !== u.indexOf('/') ? '/' : -1 !== u.indexOf('-') ? '-' : -1 !== u.indexOf('.') ? '.' : '/'); if (null === h || -1 === u.indexOf(h)) return r; var f = u.split(h), p = o[0].split(h); if (f.length !== p.length) return r; var m = f[p.indexOf('YYYY')], g = f[p.indexOf('MM')], v = f[p.indexOf('DD')]; if (!/^\d+$/.test(m) || !/^\d+$/.test(g) || !/^\d+$/.test(v) || m.length > 4 || g.length > 2 || v.length > 2) return r; var y = parseInt(m, 10), x = parseInt(g, 10), _ = parseInt(v, 10); if (!w(y, x, _)) return r; var k = new Date(y, x - 1, _); if (s) { var M = d.split(':'); if (s.split(':').length !== M.length) return r; var L = M.length > 0 ? M[0].length <= 2 && /^\d+$/.test(M[0]) ? parseInt(M[0], 10) : -1 : 0, S = M.length > 1 ? M[1].length <= 2 && /^\d+$/.test(M[1]) ? parseInt(M[1], 10) : -1 : 0, T = M.length > 2 ? M[2].length <= 2 && /^\d+$/.test(M[2]) ? parseInt(M[2], 10) : -1 : 0; if (-1 === L || -1 === S || -1 === T) return r; if (T < 0 || T > 60) return r; if (L < 0 || L >= 24 || l && L > 12) return r; if (S < 0 || S > 59) return r; k.setHours(L), k.setMinutes(S), k.setSeconds(T); } var A = 'function' == typeof i.min ? i.min() : i.min, D = A instanceof Date ? A : A ? e(A, p, h) : k, C = 'function' == typeof i.max ? i.max() : i.max, E = C instanceof Date ? C : C ? e(C, p, h) : k, O = A instanceof Date ? t(D, i.format) : A, Y = C instanceof Date ? t(E, i.format) : C; switch (!0) { case!!O && !Y: return { message: b(n.l10n ? n.l10n.date.min : a, O), meta: { date: k }, valid: k.getTime() >= D.getTime(), }; case!!Y && !O: return { message: b(n.l10n ? n.l10n.date.max : a, Y), meta: { date: k }, valid: k.getTime() <= E.getTime(), }; case!!Y && !!O: return { message: b(n.l10n ? n.l10n.date.range : a, [O, Y]), meta: { date: k }, valid: k.getTime() <= E.getTime() && k.getTime() >= D.getTime(), }; default: return { message: ''.concat(a), meta: { date: k }, valid: !0, }; } }, }; }, 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 }; }, }; }, digits: function () { return { validate: function (e) { return { valid: '' === e.value || /^\d+$/.test(e.value), }; }, }; }, emailAddress: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; var t = Object.assign({}, { multiple: !1, separator: /[,;]/ }, e.options), 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])?)*$/; if (!0 === t.multiple || 'true' === ''.concat(t.multiple)) { for (var i = t.separator || /[,;]/, a = function ( e, t) { for (var n = e.split( /"/), i = n.length, a = [], r = '', o = 0; o < i; o++) if (o % 2 == 0) { var s = n[o].split(t), l = s.length; if (1 === l) r += s[0]; else { a.push(r + s[0]); for (var c = 1; c < l - 1; c++) a.push( s[c]); r = s[l - 1]; } } else r += '"' + n[o], o < i - 1 && (r += '"'); return a.push(r), a; }(e.value, i), r = a.length, o = 0; o < r; o++) if (!n.test(a[o])) return { valid: !1 }; return { valid: !0 }; } return { valid: n.test(e.value) }; }, }; }, file: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; var t, n = e.options.extension ? e.options.extension.toLowerCase().split(',') : null, i = e.options.type ? e.options.type.toLowerCase(). split(',') : null; if (window.File && window.FileList && window.FileReader) { var a = e.element.files, r = a.length, o = 0; if (e.options.maxFiles && r > parseInt(''.concat(e.options.maxFiles), 10)) return { meta: { error: 'INVALID_MAX_FILES' }, valid: !1, }; if (e.options.minFiles && r < parseInt(''.concat(e.options.minFiles), 10)) return { meta: { error: 'INVALID_MIN_FILES' }, valid: !1, }; for (var s = {}, l = 0; l < r; l++) { if (o += a[l].size, s = { ext: t = a[l].name.substr( a[l].name.lastIndexOf('.') + 1), file: a[l], size: a[l].size, type: a[l].type, }, e.options.minSize && a[l].size < parseInt(''.concat(e.options.minSize), 10)) return { meta: Object.assign({}, { error: 'INVALID_MIN_SIZE' }, s), valid: !1, }; if (e.options.maxSize && a[l].size > parseInt(''.concat(e.options.maxSize), 10)) return { meta: Object.assign({}, { error: 'INVALID_MAX_SIZE' }, s), valid: !1, }; if (n && -1 === n.indexOf(t.toLowerCase())) return { meta: Object.assign({}, { error: 'INVALID_EXTENSION' }, s), valid: !1, }; if (a[l].type && i && -1 === i.indexOf( a[l].type.toLowerCase())) return { meta: Object.assign({}, { error: 'INVALID_TYPE' }, s), valid: !1, }; } if (e.options.maxTotalSize && o > parseInt(''.concat(e.options.maxTotalSize), 10)) return { meta: Object.assign({}, { error: 'INVALID_MAX_TOTAL_SIZE', totalSize: o, }, s), valid: !1, }; if (e.options.minTotalSize && o < parseInt(''.concat(e.options.minTotalSize), 10)) return { meta: Object.assign({}, { error: 'INVALID_MIN_TOTAL_SIZE', totalSize: o, }, s), valid: !1, }; } else if (t = e.value.substr( e.value.lastIndexOf('.') + 1), n && -1 === n.indexOf( t.toLowerCase())) return { meta: { error: 'INVALID_EXTENSION', ext: t, }, valid: !1, }; return { valid: !0 }; }, }; }, greaterThan: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; var t = Object.assign({}, { inclusive: !0, message: '' }, e.options), n = parseFloat(''.concat(t.min).replace(',', '.')); return t.inclusive ? { message: b(e.l10n ? t.message || e.l10n.greaterThan.default : t.message, ''.concat(n)), valid: parseFloat(e.value) >= n, } : { message: b(e.l10n ? t.message || e.l10n.greaterThan.notInclusive : t.message, ''.concat(n)), valid: parseFloat(e.value) > n, }; }, }; }, 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 }; }, }; }, integer: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; var t = Object.assign({}, { decimalSeparator: '.', thousandsSeparator: '' }, e.options), n = '.' === t.decimalSeparator ? '\\.' : t.decimalSeparator, i = '.' === t.thousandsSeparator ? '\\.' : t.thousandsSeparator, a = new RegExp( '^-?[0-9]{1,3}('.concat(i, '[0-9]{3})*('). concat(n, '[0-9]+)?$')), r = new RegExp(i, 'g'), o = ''.concat(e.value); if (!a.test(o)) return { valid: !1 }; i && (o = o.replace(r, '')), n && (o = o.replace(n, '.')); var s = parseFloat(o); return { valid: !isNaN(s) && isFinite(s) && Math.floor(s) === s, }; }, }; }, ip: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; var t = Object.assign({}, { ipv4: !0, ipv6: !0 }, e.options), n = /^(?:(?: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]))?$/, i = /^\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 t.ipv4 && !t.ipv6: return { message: e.l10n ? t.message || e.l10n.ip.ipv4 : t.message, valid: n.test(e.value), }; case!t.ipv4 && t.ipv6: return { message: e.l10n ? t.message || e.l10n.ip.ipv6 : t.message, valid: i.test(e.value), }; case t.ipv4 && t.ipv6: default: return { message: e.l10n ? t.message || e.l10n.ip.default : t.message, valid: n.test(e.value) || i.test(e.value), }; } }, }; }, lessThan: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; var t = Object.assign({}, { inclusive: !0, message: '' }, e.options), n = parseFloat(''.concat(t.max).replace(',', '.')); return t.inclusive ? { message: b(e.l10n ? t.message || e.l10n.lessThan.default : t.message, ''.concat(n)), valid: parseFloat(e.value) <= n, } : { message: b(e.l10n ? t.message || e.l10n.lessThan.notInclusive : t.message, ''.concat(n)), valid: parseFloat(e.value) < n, }; }, }; }, notEmpty: function () { return { validate: function (e) { var t = !!e.options && !!e.options.trim, n = e.value; return { valid: !t && '' !== n || t && '' !== n && '' !== n.trim(), }; }, }; }, numeric: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; var t = Object.assign({}, { decimalSeparator: '.', thousandsSeparator: '' }, e.options), n = ''.concat(e.value); n.substr(0, 1) === t.decimalSeparator ? n = '0'.concat( t.decimalSeparator).concat(n.substr(1)) : n.substr(0, 2) === '-'.concat(t.decimalSeparator) && (n = '-0'.concat(t.decimalSeparator). concat(n.substr(2))); var i = '.' === t.decimalSeparator ? '\\.' : t.decimalSeparator, a = '.' === t.thousandsSeparator ? '\\.' : t.thousandsSeparator, r = new RegExp( '^-?[0-9]{1,3}('.concat(a, '[0-9]{3})*('). concat(i, '[0-9]+)?$')), o = new RegExp(a, 'g'); if (!r.test(n)) return { valid: !1 }; a && (n = n.replace(o, '')), i && (n = n.replace(i, '.')); var s = parseFloat(n); return { valid: !isNaN(s) && isFinite(s) }; }, }; }, promise: function () { return { validate: function (e) { return x(e.options.promise, [e]); }, }; }, 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), }; }, }; }, remote: function () { var e = { crossDomain: !1, data: {}, headers: {}, method: 'GET', validKey: 'valid', }; return { validate: function (t) { if ('' === t.value) return Promise.resolve({ valid: !0 }); var n = Object.assign({}, e, t.options), i = n.data; return 'function' == typeof n.data && (i = n.data.call(this, t)), 'string' == typeof i && (i = JSON.parse(i)), i[n.name || t.field] = t.value, k( 'function' == typeof n.url ? n.url.call(this, t) : n.url, { 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 }); })); }, }; }, stringCase: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; var t = Object.assign({}, { case: 'lower' }, e.options), n = (t.case || 'lower').toLowerCase(); return { message: t.message || (e.l10n ? 'upper' === n ? e.l10n.stringCase.upper : e.l10n.stringCase.default : t.message), valid: 'upper' === n ? e.value === e.value.toUpperCase() : e.value === e.value.toLowerCase(), }; }, }; }, stringLength: function () { return { validate: function (e) { var t = Object.assign({}, { message: '', trim: !1, utf8Bytes: !1 }, e.options), n = !0 === t.trim || 'true' === ''.concat(t.trim) ? e.value.trim() : e.value; if ('' === n) return { valid: !0 }; var i = t.min ? ''.concat(t.min) : '', a = t.max ? ''.concat(t.max) : '', r = t.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 ''.concat(t); }(n) : n.length, o = !0, s = e.l10n ? t.message || e.l10n.stringLength.default : t.message; switch ((i && r < parseInt(i, 10) || a && r > parseInt(a, 10)) && (o = !1), !0) { case!!i && !!a: s = b(e.l10n ? t.message || e.l10n.stringLength.between : t.message, [i, a]); break; case!!i: s = b(e.l10n ? t.message || e.l10n.stringLength.more : t.message, ''.concat(parseInt(i, 10))); break; case!!a: s = b(e.l10n ? t.message || e.l10n.stringLength.less : t.message, ''.concat(parseInt(a, 10))); } return { message: s, valid: o }; }, }; }, uri: function () { var e = { allowEmptyProtocol: !1, allowLocal: !1, protocol: 'http, https, ftp', }; return { validate: function (t) { if ('' === t.value) return { valid: !0 }; var n = Object.assign({}, e, t.options), i = !0 === n.allowLocal || 'true' === ''.concat(n.allowLocal), a = !0 === n.allowEmptyProtocol || 'true' === ''.concat(n.allowEmptyProtocol), r = n.protocol.split(',').join('|').replace(/\s/g, ''); return { valid: new RegExp( '^(?:(?:' + r + ')://)' + (a ? '?' : '') + '(?:\\S+(?::\\S*)?@)?(?:' + (i ? '' : '(?!(?: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,}))' + (i ? '?' : '') + ')(?::\\d{2,5})?(?:/[^\\s]*)?$', 'i').test(t.value), }; }, }; }, base64: function () { return { validate: function (e) { return { valid: '' === e.value || /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$/.test( e.value), }; }, }; }, 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), }; }, }; }, 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'], n = function (e) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(e); }, i = 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); }, r = function (e) {return t.indexOf(e) >= 0;}, o = 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 }; var l, c = v('string' == typeof t.options.type ? t.options.type.toString().replace(/s/g, '').split(',') : t.options.type || e); try { for (c.s(); !(l = c.n()).done;) { var u = l.value.toLowerCase(); if (-1 !== e.indexOf(u)) { var d = !0; switch (u) { case'hex': d = n(t.value); break; case'hsl': d = i(t.value); break; case'hsla': d = a(t.value); break; case'keyword': d = r(t.value); break; case'rgb': d = o(t.value); break; case'rgba': d = s(t.value); } if (d) return { valid: !0 }; } } } catch (e) {c.e(e);} finally {c.f();} return { valid: !1 }; }, }; }, 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 n = t.split(''), i = n.pop(), a = n.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 n = t % 2 == 0 ? e : 2 * e; return Math.floor(n / 10) + n % 10; })). reduce((function (e, t) {return e + t;}), 0); return { valid: i === ''.concat((10 - a % 10) % 10) }; }, }; }, 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, n = 0, i = 8 === t ? [3, 1] : [1, 3], a = 0; a < t - 1; a++) n += parseInt( e.value.charAt(a), 10) * i[a % 2]; return { valid: ''.concat(n = (10 - n % 10) % 10) === e.value.charAt(t - 1), }; }, }; }, 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', '55', '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 n = ''.concat(t.value.substr(0, 2)); for (var i in e) if (-1 !== e[i].indexOf(n)) return { meta: { campus: i }, valid: !0, }; return { meta: null, valid: !1 }; }, }; }, grid: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; var t = e.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( t) ? ('GRID:' === (t = t.replace(/\s/g, '').replace(/-/g, '')).substr(0, 5) && (t = t.substr(5)), { valid: i(t) }) : { valid: !1 }; }, }; }, hex: function () { return { validate: function (e) { return { valid: '' === e.value || /^[0-9a-fA-F]+$/.test(e.value), }; }, }; }, 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}', 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}', }, t = [ '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: '' }, n.options), a = n.value.replace(/[^a-zA-Z0-9]/g, '').toUpperCase(), r = i.country || a.substr(0, 2); if (!e[r]) return { message: i.message, valid: !1 }; if (void 0 !== i.sepa) { var o = -1 !== t.indexOf(r); if (('true' === i.sepa || !0 === i.sepa) && !o || ('false' === i.sepa || !1 === i.sepa) && o) return { message: i.message, valid: !1 }; } var s = b( n.l10n ? i.message || n.l10n.iban.country : i.message, n.l10n ? n.l10n.iban.countries[r] : r); if (!new RegExp('^'.concat(e[r], '$')).test( n.value)) return { message: s, valid: !1 }; a = (a = ''.concat(a.substr(4)). concat(a.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 l = parseInt(a.substr(0, 1), 10), c = a.length, u = 1; u < c; ++u) l = (10 * l + parseInt(a.substr(u, 1), 10)) % 97; return { message: s, valid: 1 === l }; }, }; }, 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 (i) { if ('' === i.value) return { valid: !0 }; var r = Object.assign({}, { message: '' }, i.options), o = i.value.substr(0, 2); if (o = 'function' == typeof r.country ? r.country.call( this) : r.country, -1 === e.indexOf(o)) return { valid: !0 }; var s = { meta: {}, valid: !0 }; switch (o.toLowerCase()) { case'ar': s = function (e) { var t = e.replace(/\./g, ''); return { meta: {}, valid: /^\d{7,8}$/.test(t) }; }(i.value); break; case'ba': s = function (e) { return { meta: {}, valid: M(e, 'BA'), }; }(i.value); break; case'bg': s = 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, ''), n = parseInt(t.substr(0, 2), 10) + 1900, i = parseInt(t.substr(2, 2), 10); if (i > 40 ? (n += 100, i -= 40) : i > 20 && (n -= 100, i -= 20), !w(n, i, parseInt(t.substr(4, 2), 10))) return { meta: {}, valid: !1 }; for (var a = 0, r = [ 2, 4, 8, 5, 10, 9, 7, 3, 6], o = 0; o < 9; o++) a += parseInt( t.charAt(o), 10) * r[o]; return { meta: {}, valid: ''.concat(a = a % 11 % 10) === t.substr(9, 1), }; }(i.value); break; case'br': s = 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 n, i = 0; for (n = 0; n < 9; n++) i += (10 - n) * parseInt(t.charAt(n), 10); if (10 != (i = 11 - i % 11) && 11 !== i || (i = 0), ''.concat(i) !== t.charAt(9)) return { meta: {}, valid: !1 }; var a = 0; for (n = 0; n < 10; n++) a += (11 - n) * parseInt(t.charAt(n), 10); return 10 != (a = 11 - a % 11) && 11 !== a || (a = 0), { meta: {}, valid: ''.concat(a) === t.charAt(10), }; }(i.value); break; case'ch': s = 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), n = t.length, i = 8 === n ? [ 3, 1] : [1, 3], a = 0, r = 0; r < n - 1; r++) a += parseInt(t.charAt(r), 10) * i[r % 2]; return { meta: {}, valid: ''.concat(a = 10 - a % 10) === t.charAt(n - 1), }; }(i.value); break; case'cl': s = 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 n = [ 3, 2, 7, 6, 5, 4, 3, 2], i = 0, a = 0; a < 8; a++) i += parseInt( t.charAt(a), 10) * n[a]; var r = ''.concat(i = 11 - i % 11); return 11 === i ? r = '0' : 10 === i && (r = 'K'), { meta: {}, valid: r === t.charAt(8).toUpperCase(), }; }(i.value); break; case'cn': s = function (e) { var t = e.trim(); if (!/^\d{15}$/.test(t) && !/^\d{17}[\dXx]{1}$/.test( t)) return { meta: {}, valid: !1 }; var n = { 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, [81, 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] }, }, i = parseInt(t.substr(0, 2), 10), a = parseInt(t.substr(2, 2), 10), r = parseInt(t.substr(4, 2), 10); if (!n[i] || !n[i][a]) return { meta: {}, valid: !1, }; var o, s, l = !1, c = n[i][a]; for (o = 0; o < c.length; o++) if (Array.isArray(c[o]) && c[o][0] <= r && r <= c[o][1] || !Array.isArray(c[o]) && r === c[o]) { l = !0; break; } if (!l) return { meta: {}, valid: !1 }; if (s = 18 === t.length ? t.substr(6, 8) : '19'.concat(t.substr(6, 6)), !w( parseInt(s.substr(0, 4), 10), parseInt(s.substr(4, 2), 10), parseInt(s.substr(6, 2), 10))) return { meta: {}, valid: !1 }; if (18 === t.length) { var u = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2], d = 0; for (o = 0; o < 17; o++) d += parseInt( t.charAt(o), 10) * u[o]; return d = (12 - d % 11) % 11, { meta: {}, valid: ('X' !== t.charAt(17).toUpperCase() ? parseInt( t.charAt(17), 10) : 10) === d, }; } return { meta: {}, valid: !0 }; }(i.value); break; case'co': s = function (e) { var t = e.replace(/\./g, ''). replace('-', ''); if (!/^\d{8,16}$/.test(t)) return { meta: {}, valid: !1, }; for (var n = t.length, i = [ 3, 7, 13, 17, 19, 23, 29, 37, 41, 43, 47, 53, 59, 67, 71], a = 0, r = n - 2; r >= 0; r--) a += parseInt(t.charAt(r), 10) * i[r]; return (a %= 11) >= 2 && (a = 11 - a), { meta: {}, valid: ''.concat(a) === t.substr(n - 1), }; }(i.value); break; case'cz': s = L(i.value); break; case'dk': s = function (e) { if (!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test( e)) return { meta: {}, valid: !1 }; var t = e.replace(/-/g, ''), n = parseInt(t.substr(0, 2), 10), i = parseInt(t.substr(2, 2), 10), a = parseInt(t.substr(4, 2), 10); switch (!0) { case-1 !== '5678'.indexOf(t.charAt(6)) && a >= 58: a += 1800; break; case-1 !== '0123'.indexOf(t.charAt(6)): case-1 !== '49'.indexOf(t.charAt(6)) && a >= 37: a += 1900; break; default: a += 2e3; } return { meta: {}, valid: w(a, i, n) }; }(i.value); break; case'ee': s = S(i.value); break; case'es': s = function (e) { var t = /^[0-9]{8}[-]{0,1}[A-HJ-NP-TV-Z]$/.test( e), n = /^[XYZ][-]{0,1}[0-9]{7}[-]{0,1}[A-HJ-NP-TV-Z]$/.test( e), i = /^[A-HNPQS][-]{0,1}[0-9]{7}[-]{0,1}[0-9A-J]$/.test( e); if (!t && !n && !i) return { meta: {}, valid: !1, }; var a, r, o = e.replace(/-/g, ''); if (t || n) { r = 'DNI'; var s = 'XYZ'.indexOf(o.charAt(0)); return -1 !== s && (o = s + o.substr(1) + '', r = 'NIE'), { meta: { type: r }, valid: (a = 'TRWAGMYFPDXBNJZSQVHLCKE'[(a = parseInt( o.substr(0, 8), 10)) % 23]) === o.substr(8, 1), }; } a = o.substr(1, 7), r = 'CIF'; for (var l = o[0], c = o.substr( -1), u = 0, d = 0; d < a.length; d++) if (d % 2 != 0) u += parseInt(a[d], 10); else { var h = '' + 2 * parseInt(a[d], 10); u += parseInt(h[0], 10), 2 === h.length && (u += parseInt(h[1], 10)); } var f = u - 10 * Math.floor(u / 10); return 0 !== f && (f = 10 - f), { meta: { type: r }, valid: -1 !== 'KQS'.indexOf(l) ? c === 'JABCDEFGHI'[f] : -1 !== 'ABEH'.indexOf(l) ? c === '' + f : c === '' + f || c === 'JABCDEFGHI'[f], }; }(i.value); break; case'fi': s = 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), n = parseInt(e.substr(2, 2), 10), i = parseInt(e.substr(4, 2), 10); if (!w(i = { '+': 1800, '-': 1900, A: 2e3, }[e.charAt(6)] + i, n, t)) return { meta: {}, valid: !1, }; if (parseInt(e.substr(7, 3), 10) < 2) return { meta: {}, valid: !1 }; var a = parseInt( e.substr(0, 6) + e.substr(7, 3) + '', 10); return { meta: {}, valid: '0123456789ABCDEFHJKLMNPRSTUVWXY'.charAt( a % 31) === e.charAt(10), }; }(i.value); break; case'fr': s = 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 n = t.substr(5, 2); switch (!0) { case/^\d{2}$/.test(n): t = e; break; case'2A' === n: t = ''.concat(e.substr(0, 5), '19'). concat(e.substr(7)); break; case'2B' === n: t = ''.concat(e.substr(0, 5), '18'). concat(e.substr(7)); break; default: return { meta: {}, valid: !1 }; } var i = 97 - parseInt(t.substr(0, 13), 10) % 97; return { meta: {}, valid: (i < 10 ? '0'.concat(i) : ''.concat( i)) === t.substr(13), }; }(i.value); break; case'hk': s = function (e) { var t = e.toUpperCase(); if (!/^[A-MP-Z]{1,2}[0-9]{6}[0-9A]$/.test( t)) return { meta: {}, valid: !1 }; var n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', i = t.charAt(0), a = t.charAt(1), r = 0, o = t; /^[A-Z]$/.test(a) ? (r += 9 * (10 + n.indexOf(i)), r += 8 * (10 + n.indexOf(a)), o = t.substr(2)) : (r += 324, r += 8 * (10 + n.indexOf(i)), o = t.substr(1)); for (var s = o.length, l = 0; l < s - 1; l++) r += (7 - l) * parseInt(o.charAt(l), 10); var c = r % 11; return { meta: {}, valid: (0 === c ? '0' : 11 - c == 10 ? 'A' : ''.concat(11 - c)) === o.charAt(s - 1), }; }(i.value); break; case'hr': s = function (e) { return { meta: {}, valid: /^[0-9]{11}$/.test(e) && n(e), }; }(i.value); break; case'id': s = function (e) { return /^[2-9]\d{11}$/.test(e) ? { meta: {}, valid: a(e.split(''). map((function (e) { return parseInt(e, 10); }))), } : { meta: {}, valid: !1 }; }(i.value); break; case'ie': s = 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;) t = '0'.concat(t); for (var n = 'WABCDEFGHIJKLMNOPQRSTUV', i = 0, a = 0; a < 7; a++) i += parseInt(t.charAt(a), 10) * (8 - a); return i += 9 * n.indexOf(t.substr(7)), n[i % 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) + ''), }; }(i.value); break; case'il': s = function (e) { return /^\d{1,9}$/.test(e) ? { meta: {}, valid: t(e) } : { meta: {}, valid: !1 }; }(i.value); break; case'is': s = function (e) { if (!/^[0-9]{6}[-]{0,1}[0-9]{4}$/.test( e)) return { meta: {}, valid: !1 }; var t = e.replace(/-/g, ''), n = parseInt(t.substr(0, 2), 10), i = parseInt(t.substr(2, 2), 10), a = parseInt(t.substr(4, 2), 10), r = parseInt(t.charAt(9), 10); if (!w( a = 9 === r ? 1900 + a : 100 * (20 + r) + a, i, n, !0)) return { meta: {}, valid: !1 }; for (var o = [ 3, 2, 7, 6, 5, 4, 3, 2], s = 0, l = 0; l < 8; l++) s += parseInt( t.charAt(l), 10) * o[l]; return { meta: {}, valid: ''.concat(s = 11 - s % 11) === t.charAt(8), }; }(i.value); break; case'kr': s = function (e) { var t = e.replace('-', ''); if (!/^\d{13}$/.test(t)) return { meta: {}, valid: !1, }; var n = t.charAt(6), i = parseInt(t.substr(0, 2), 10), a = parseInt(t.substr(2, 2), 10), r = parseInt(t.substr(4, 2), 10); switch (n) { case'1': case'2': case'5': case'6': i += 1900; break; case'3': case'4': case'7': case'8': i += 2e3; break; default: i += 1800; } if (!w(i, a, r)) return { meta: {}, valid: !1 }; for (var o = [ 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5], s = t.length, l = 0, c = 0; c < s - 1; c++) l += o[c] * parseInt(t.charAt(c), 10); return { meta: {}, valid: ''.concat((11 - l % 11) % 10) === t.charAt(s - 1), }; }(i.value); break; case'lt': s = S(i.value); break; case'lv': s = function (e) { if (!/^[0-9]{6}[-]{0,1}[0-9]{5}$/.test( e)) return { meta: {}, valid: !1 }; var t = e.replace(/\D/g, ''), n = parseInt(t.substr(0, 2), 10), i = parseInt(t.substr(2, 2), 10), a = parseInt(t.substr(4, 2), 10); if (!w(a = a + 1800 + 100 * parseInt(t.charAt(6), 10), i, n, !0)) return { meta: {}, valid: !1 }; for (var r = 0, o = [ 10, 5, 8, 4, 2, 1, 6, 3, 7, 9], s = 0; s < 10; s++) r += parseInt( t.charAt(s), 10) * o[s]; return { meta: {}, valid: ''.concat(r = (r + 1) % 11 % 10) === t.charAt(10), }; }(i.value); break; case'me': s = function (e) { return { meta: {}, valid: M(e, 'ME'), }; }(i.value); break; case'mk': s = function (e) { return { meta: {}, valid: M(e, 'MK'), }; }(i.value); break; case'mx': s = 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 n = 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(n) >= 0) return { meta: {}, valid: !1, }; var i = parseInt(t.substr(4, 2), 10), a = parseInt(t.substr(6, 2), 10), r = parseInt(t.substr(6, 2), 10); if (/^[0-9]$/.test(t.charAt(16)) ? i += 1900 : i += 2e3, !w(i, a, r)) return { meta: {}, valid: !1, }; var o = t.charAt(10); if ('H' !== o && 'M' !== o) return { meta: {}, valid: !1, }; var s = 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(s)) return { meta: {}, valid: !1, }; for (var l = 0, c = t.length, u = 0; u < c - 1; u++) l += (18 - u) * '0123456789ABCDEFGHIJKLMN&OPQRSTUVWXYZ'.indexOf( t.charAt(u)); return { meta: {}, valid: ''.concat(l = (10 - l % 10) % 10) === t.charAt(c - 1), }; }(i.value); break; case'my': s = function (e) { if (!/^\d{12}$/.test(e)) return { meta: {}, valid: !1, }; var t = parseInt(e.substr(0, 2), 10), n = parseInt(e.substr(2, 2), 10), i = parseInt(e.substr(4, 2), 10); if (!w(t + 1900, n, i) && !w(t + 2e3, n, i)) return { meta: {}, valid: !1, }; var a = e.substr(6, 2); return { meta: {}, valid: -1 === [ '17', '18', '19', '20', '69', '70', '73', '80', '81', '94', '95', '96', '97'].indexOf(a), }; }(i.value); break; case'nl': s = T(i.value); break; case'no': s = function (e) { return /^\d{11}$/.test(e) ? { meta: {}, valid: ''.concat(function (e) { for (var t = [ 3, 7, 6, 1, 8, 9, 4, 5, 2], n = 0, i = 0; i < 9; i++) n += t[i] * parseInt(e.charAt(i), 10); return 11 - n % 11; }(e)) === e.substr(-2, 1) && ''.concat( function (e) { for (var t = [ 5, 4, 3, 2, 7, 6, 5, 4, 3, 2], n = 0, i = 0; i < 10; i++) n += t[i] * parseInt(e.charAt(i), 10); return 11 - n % 11; }(e)) === e.substr(-1), } : { meta: {}, valid: !1 }; }(i.value); break; case'pe': s = 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], n = 0, i = 0; i < 8; i++) n += t[i] * parseInt(e.charAt(i), 10); var a = n % 11, r = [6, 5, 4, 3, 2, 1, 1, 0, 9, 8, 7][a], o = 'KJIHGFEDCBA'.charAt(a); return { meta: {}, valid: e.charAt(8) === ''.concat(r) || e.charAt(8) === o, }; }(i.value); break; case'pl': s = function (e) { if (!/^[0-9]{11}$/.test(e)) return { meta: {}, valid: !1, }; for (var t = 0, n = e.length, i = [ 1, 3, 7, 9, 1, 3, 7, 9, 1, 3, 7], a = 0; a < n - 1; a++) t += i[a] * parseInt(e.charAt(a), 10); return 0 == (t %= 10) && (t = 10), { meta: {}, valid: ''.concat(t = 10 - t) === e.charAt(n - 1), }; }(i.value); break; case'ro': s = 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 n = parseInt(e.substr(1, 2), 10), i = parseInt(e.substr(3, 2), 10), a = parseInt(e.substr(5, 2), 10); if (a > 31 && i > 12) return { meta: {}, valid: !1, }; if (9 !== t && !w(n = { 1: 1900, 2: 1900, 3: 1800, 4: 1800, 5: 2e3, 6: 2e3, }[t + ''] + n, i, a)) return { meta: {}, valid: !1, }; for (var r = 0, o = [ 2, 7, 9, 1, 4, 6, 3, 5, 8, 2, 7, 9], s = e.length, l = 0; l < s - 1; l++) r += parseInt(e.charAt(l), 10) * o[l]; return 10 == (r %= 11) && (r = 1), { meta: {}, valid: ''.concat(r) === e.charAt(s - 1), }; }(i.value); break; case'rs': s = function (e) { return { meta: {}, valid: M(e, 'RS'), }; }(i.value); break; case'se': s = function (e) { if (!/^[0-9]{10}$/.test(e) && !/^[0-9]{6}[-|+][0-9]{4}$/.test( e)) return { meta: {}, valid: !1 }; var n = e.replace(/[^0-9]/g, ''); return w(parseInt(n.substr(0, 2), 10) + 1900, parseInt(n.substr(2, 2), 10), parseInt(n.substr(4, 2), 10)) ? { meta: {}, valid: t(n), } : { meta: {}, valid: !1 }; }(i.value); break; case'si': s = function (e) { return { meta: {}, valid: M(e, 'SI'), }; }(i.value); break; case'sk': s = L(i.value); break; case'sm': s = function (e) { return { meta: {}, valid: /^\d{5}$/.test(e), }; }(i.value); break; case'th': s = function (e) { if (13 !== e.length) return { meta: {}, valid: !1, }; for (var t = 0, n = 0; n < 12; n++) t += parseInt(e.charAt(n), 10) * (13 - n); return { meta: {}, valid: (11 - t % 11) % 10 === parseInt(e.charAt(12), 10), }; }(i.value); break; case'tr': s = function (e) { if (11 !== e.length) return { meta: {}, valid: !1, }; for (var t = 0, n = 0; n < 10; n++) t += parseInt(e.charAt(n), 10); return { meta: {}, valid: t % 10 === parseInt(e.charAt(10), 10), }; }(i.value); break; case'tw': s = function (e) { var t = e.toUpperCase(); if (!/^[A-Z][12][0-9]{8}$/.test( t)) return { meta: {}, valid: !1 }; for (var n = t.length, i = 'ABCDEFGHJKLMNPQRSTUVXYWZIO'.indexOf( t.charAt(0)) + 10, a = Math.floor(i / 10) + i % 10 * (n - 1), r = 0, o = 1; o < n - 1; o++) r += parseInt(t.charAt(o), 10) * (n - 1 - o); return { meta: {}, valid: (a + r + parseInt(t.charAt(n - 1), 10)) % 10 == 0, }; }(i.value); break; case'uy': s = function (e) { if (!/^\d{8}$/.test(e)) return { meta: {}, valid: !1, }; for (var t = [ 2, 9, 8, 7, 6, 3, 4], n = 0, i = 0; i < 7; i++) n += parseInt( e.charAt(i), 10) * t[i]; return (n %= 10) > 0 && (n = 10 - n), { meta: {}, valid: ''.concat(n) === e.charAt(7), }; }(i.value); break; case'za': s = function (e) { if (!/^[0-9]{10}[0|1][8|9][0-9]$/.test( e)) return { meta: {}, valid: !1 }; var n = parseInt(e.substr(0, 2), 10); return w(n = n >= (new Date).getFullYear() % 100 ? n + 1900 : n + 2e3, parseInt(e.substr(2, 2), 10), parseInt(e.substr(4, 2), 10)) ? { meta: {}, valid: t(e), } : { meta: {}, valid: !1 }; }(i.value); } var l = b( i.l10n ? r.message || i.l10n.id.country : r.message, i.l10n ? i.l10n.id.countries[o.toUpperCase()] : o.toUpperCase()); return Object.assign({}, { message: l }, s); }, }; }, imei: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; switch (!0) { case/^\d{15}$/.test(e.value): case/^\d{2}-\d{6}-\d{6}-\d{1}$/.test(e.value): case/^\d{2}\s\d{6}\s\d{6}\s\d{1}$/.test(e.value): return { valid: t(e.value.replace(/[^0-9]/g, '')) }; case/^\d{14}$/.test(e.value): case/^\d{16}$/.test(e.value): case/^\d{2}-\d{6}-\d{6}(|-\d{2})$/.test(e.value): case/^\d{2}\s\d{6}\s\d{6}(|\s\d{2})$/.test(e.value): return { valid: !0 }; default: return { valid: !1 }; } }, }; }, 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'), n = 0, i = 6; i >= 1; i--) n += parseInt( t.slice(6 - i, -i), 10) * (i + 1); return { valid: n % 10 === parseInt(t.charAt(6), 10) }; }, }; }, 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 n, i, a = e.value.replace(/[^0-9X]/gi, '').split(''), r = a.length, o = 0; switch (t) { case'ISBN10': for (o = 0, n = 0; n < r - 1; n++) o += parseInt( a[n], 10) * (10 - n); return 11 === (i = 11 - o % 11) ? i = 0 : 10 === i && (i = 'X'), { meta: { type: t }, valid: ''.concat(i) === a[r - 1], }; case'ISBN13': for (o = 0, n = 0; n < r - 1; n++) o += n % 2 == 0 ? parseInt(a[n], 10) : 3 * parseInt(a[n], 10); return 10 === (i = 10 - o % 10) && (i = '0'), { meta: { type: t }, valid: ''.concat(i) === a[r - 1], }; } }, }; }, 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 n, i = t.length, a = ''; for (n = 0; n < i - 1; n++) { var r = t.charCodeAt(n); a += r > 57 ? (r - 55).toString() : t.charAt(n); } var o = '', s = a.length, l = s % 2 != 0 ? 0 : 1; for (n = 0; n < s; n++) o += parseInt(a[n], 10) * (n % 2 === l ? 2 : 1) + ''; var c = 0; for (n = 0; n < o.length; n++) c += parseInt(o.charAt(n), 10); return { valid: ''.concat(c = (10 - c % 10) % 10) === t.charAt(i - 1), }; }, }; }, 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 n = e.value; 'ISMN10' === t && (n = '9790'.concat(n.substr(1))); for (var i = 0, a = (n = n.replace(/[^0-9]/gi, '')).length, r = [1, 3], o = 0; o < a - 1; o++) i += parseInt(n.charAt(o), 10) * r[o % 2]; return { meta: { type: t }, valid: ''.concat(i = (10 - i % 10) % 10) === n.charAt(a - 1), }; }, }; }, 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(''), n = t.length, i = 0; 'X' === t[7] && (t[7] = '10'); for (var a = 0; a < n; a++) i += parseInt(t[a], 10) * (8 - a); return { valid: i % 11 == 0 }; }, }; }, 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), }; }, }; }, meid: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; var n = e.value; if (/^[0-9A-F]{15}$/i.test(n) || /^[0-9A-F]{2}[- ][0-9A-F]{6}[- ][0-9A-F]{6}[- ][0-9A-F]$/i.test( n) || /^\d{19}$/.test(n) || /^\d{5}[- ]\d{5}[- ]\d{4}[- ]\d{4}[- ]\d$/.test(n)) { var i = n.charAt(n.length - 1).toUpperCase(); if ((n = n.replace(/[- ]/g, '')).match( /^\d*$/i)) return { valid: t(n) }; n = n.slice(0, -1); var a, r = ''; for (a = 1; a <= 13; a += 2) r += (2 * parseInt(n.charAt(a), 16)).toString(16); var o = 0; for (a = 0; a < r.length; a++) o += parseInt( r.charAt(a), 16); return { valid: o % 10 == 0 ? '0' === i : i === (2 * (10 * Math.floor((o + 10) / 10) - o)).toString( 16).toUpperCase(), }; } return /^[0-9A-F]{14}$/i.test(n) || /^[0-9A-F]{2}[- ][0-9A-F]{6}[- ][0-9A-F]{6}$/i.test(n) || /^\d{18}$/.test(n) || /^\d{5}[- ]\d{5}[- ]\d{4}[- ]\d{4}$/.test(n) ? { valid: !0 } : { valid: !1 }; }, }; }, phone: function () { var e = [ 'AE', 'BG', 'BR', 'CN', 'CZ', 'DE', 'DK', 'ES', 'FR', 'GB', 'IN', 'MA', 'NL', 'PK', 'RO', 'RU', 'SK', 'TH', 'US', 'VE']; return { validate: function (t) { if ('' === t.value) return { valid: !0 }; var n = Object.assign({}, { message: '' }, t.options), i = t.value.trim(), a = i.substr(0, 2); if (!(a = 'function' == typeof n.country ? n.country.call( this) : n.country) || -1 === e.indexOf(a.toUpperCase())) return { valid: !0 }; var r = !0; switch (a.toUpperCase()) { case'AE': r = /^(((\+|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': r = /^(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': r = /^(([\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': r = /^((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': r = /^(((00)([- ]?)|\+)(420)([- ]?))?((\d{3})([- ]?)){2}(\d{3})$/.test( i); break; case'DE': r = /^(((((((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': r = /^(\+45|0045|\(45\))?\s?[2-9](\s?\d){7}$/.test( i); break; case'ES': r = /^(?:(?:(?:\+|00)34\D?))?(?:5|6|7|8|9)(?:\d\D?){8}$/.test( i); break; case'FR': r = /^(?:(?:(?:\+|00)33[ ]?(?:\(0\)[ ]?)?)|0){1}[1-9]{1}([ .-]?)(?:\d{2}\1?){3}\d{2}$/.test( i); break; case'GB': r = /^\(?(?:(?: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': r = /((\+?)((0[ -]+)*|(91 )*)(\d{12}|\d{10}))|\d{5}([- ]*)\d{6}/.test( i); break; case'MA': r = /^(?:(?:(?:\+|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': r = /^((\+|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': r = /^0?3[0-9]{2}[0-9]{7}$/.test(i); break; case'RO': r = /^(\+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': r = /^((8|\+7|007)[-./ ]?)?([(/.]?\d{3}[)/.]?[-./ ]?)?[\d\-./ ]{7,10}$/g.test( i); break; case'SK': r = /^(((00)([- ]?)|\+)(421)([- ]?))?((\d{3})([- ]?)){2}(\d{3})$/.test( i); break; case'TH': r = /^0\(?([6|8-9]{2})*-([0-9]{3})*-([0-9]{4})$/.test( i); break; case'VE': r = /^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; case'US': default: r = /^(?:(1-?)|(\+1 ?))?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}$/.test( i); } return { message: b(t.l10n ? n.message || t.l10n.phone.country : n.message, t.l10n ? t.l10n.phone.countries[a] : a), valid: r, }; }, }; }, 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, n = 0; n < e.value.length; n += 3) t += 3 * parseInt(e.value.charAt(n), 10) + 7 * parseInt(e.value.charAt(n + 1), 10) + parseInt(e.value.charAt(n + 2), 10); return { valid: 0 !== t && t % 10 == 0 }; }, }; }, 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 n = [ 1, 3, 1, 7, 3, 9, 1], i = t.length, a = 0, r = 0; r < i - 1; r++) a += n[r] * parseInt(t.charAt(r), 36); return { valid: ''.concat(a = (10 - a % 10) % 10) === t.charAt(i - 1), }; }, }; }, siren: function () { return { validate: function (e) { return { valid: '' === e.value || /^\d{9}$/.test(e.value) && t(e.value), }; }, }; }, siret: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; for (var t, n = e.value.length, i = 0, a = 0; a < n; a++) t = parseInt(e.value.charAt(a), 10), a % 2 == 0 && (t *= 2) > 9 && (t -= 9), i += t; return { valid: i % 10 == 0 }; }, }; }, step: function () { var e = function (e, t) { if (0 === t) return 1; var n = ''.concat(e).split('.'), i = ''.concat(t).split('.'), a = (1 === n.length ? 0 : n[1].length) + (1 === i.length ? 0 : i[1].length); return function (e, t) { var n, i = Math.pow(10, t), a = e * i; switch (!0) { case 0 === a: n = 0; break; case a > 0: n = 1; break; case a < 0: n = -1; } return a % 1 == .5 * n ? (Math.floor(a) + (n > 0 ? 1 : 0)) / i : Math.round(a) / i; }(e - t * Math.floor(e / t), a); }; return { validate: function (t) { if ('' === t.value) return { valid: !0 }; var n = parseFloat(t.value); if (isNaN(n) || !isFinite(n)) return { valid: !1 }; var i = Object.assign({}, { baseValue: 0, message: '', step: 1 }, t.options), a = e(n - i.baseValue, i.step); return { message: b(t.l10n ? i.message || t.l10n.step.default : i.message, ''.concat(i.step)), valid: 0 === a || a === i.step, }; }, }; }, uuid: function () { return { validate: function (e) { if ('' === e.value) return { valid: !0 }; var t = Object.assign({}, { message: '' }, 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 = t.version ? ''.concat(t.version) : 'all'; return { message: t.version ? b(e.l10n ? t.message || e.l10n.uuid.version : t.message, t.version) : e.l10n ? e.l10n.uuid.default : t.message, valid: null === n[i] || n[i].test(e.value), }; }, }; }, 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 a = i.value; if ('' === a) return { valid: !0 }; var r = Object.assign({}, { message: '' }, i.options), o = a.substr(0, 2); if (o = 'function' == typeof r.country ? r.country.call( this) : r.country, -1 === e.indexOf(o)) return { valid: !0 }; var s = { meta: {}, valid: !0 }; switch (o.toLowerCase()) { case'ar': s = 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 n = [ 5, 4, 3, 2, 7, 6, 5, 4, 3, 2], i = 0, a = 0; a < 10; a++) i += parseInt(t.charAt(a), 10) * n[a]; return 11 == (i = 11 - i % 11) && (i = 0), { meta: {}, valid: ''.concat(i) === t.substr(10), }; }(a); break; case'at': s = 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 n = [ 1, 2, 1, 2, 1, 2, 1], i = 0, a = 0, r = 0; r < 7; r++) (a = parseInt(t.charAt(r), 10) * n[r]) > 9 && (a = Math.floor(a / 10) + a % 10), i += a; return 10 == (i = 10 - (i + 4) % 10) && (i = 0), { meta: {}, valid: ''.concat(i) === t.substr(7, 1), }; }(a); break; case'be': s = 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 }; }(a); break; case'bg': s = function (e) { var t = e; if (/^BG[0-9]{9,10}$/.test(t) && (t = t.substr(2)), !/^[0-9]{9,10}$/.test( t)) return { meta: {}, valid: !1 }; var n = 0, i = 0; if (9 === t.length) { for (i = 0; i < 8; i++) n += parseInt( t.charAt(i), 10) * (i + 1); if (10 == (n %= 11)) { for (n = 0, i = 0; i < 8; i++) n += parseInt(t.charAt(i), 10) * (i + 3); n %= 11; } return { meta: {}, valid: ''.concat(n %= 10) === t.substr(8), }; } return { meta: {}, valid: function (e) { var t = parseInt(e.substr(0, 2), 10) + 1900, n = parseInt(e.substr(2, 2), 10); if (n > 40 ? (t += 100, n -= 40) : n > 20 && (t -= 100, n -= 20), !w(t, n, parseInt(e.substr(4, 2), 10))) return !1; for (var i = [ 2, 4, 8, 5, 10, 9, 7, 3, 6], a = 0, r = 0; r < 9; r++) a += parseInt(e.charAt(r), 10) * i[r]; return ''.concat(a = a % 11 % 10) === e.substr(9, 1); }(t) || function (e) { for (var t = [ 21, 19, 17, 13, 11, 9, 7, 3, 1], n = 0, i = 0; i < 9; i++) n += parseInt(e.charAt(i), 10) * t[i]; return ''.concat(n %= 10) === e.substr(9, 1); }(t) || function (e) { for (var t = [ 4, 3, 2, 7, 6, 5, 4, 3, 2], n = 0, i = 0; i < 9; i++) n += parseInt(e.charAt(i), 10) * t[i]; return 10 != (n = 11 - n % 11) && (11 === n && (n = 0), ''.concat( n) === e.substr(9, 1)); }(t), }; }(a); break; case'br': s = 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 n, i = t.length - 2, a = t.substring(0, i), r = t.substring(i), o = 0, s = i - 7; for (n = i; n >= 1; n--) o += parseInt( a.charAt(i - n), 10) * s--, s < 2 && (s = 9); var l = o % 11 < 2 ? 0 : 11 - o % 11; if (l !== parseInt(r.charAt(0), 10)) return { meta: {}, valid: !1 }; for (i += 1, a = t.substring(0, i), o = 0, s = i - 7, n = i; n >= 1; n--) o += parseInt(a.charAt(i - n), 10) * s--, s < 2 && (s = 9); return { meta: {}, valid: (l = o % 11 < 2 ? 0 : 11 - o % 11) === parseInt(r.charAt(1), 10), }; }(a); break; case'ch': s = 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 n = [ 5, 4, 3, 2, 7, 6, 5, 4], i = 0, a = 0; a < 8; a++) i += parseInt( t.charAt(a), 10) * n[a]; return 10 == (i = 11 - i % 11) ? { meta: {}, valid: !1, } : (11 === i && (i = 0), { meta: {}, valid: ''.concat(i) === t.substr(8, 1), }); }(a); break; case'cy': s = function (e) { var t = e; if (/^CY[0-5|9][0-9]{7}[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 n = 0, i = { 0: 1, 1: 0, 2: 5, 3: 7, 4: 9, 5: 13, 6: 15, 7: 17, 8: 19, 9: 21, }, a = 0; a < 8; a++) { var r = parseInt(t.charAt(a), 10); a % 2 == 0 && (r = i[''.concat(r)]), n += r; } return { meta: {}, valid: ''.concat( 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'[n % 26]) === t.substr(8, 1), }; }(a); break; case'cz': s = 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 n = 0, i = 0; if (8 === t.length) { if ('9' === ''.concat(t.charAt(0))) return { meta: {}, valid: !1, }; for (n = 0, i = 0; i < 7; i++) n += parseInt(t.charAt(i), 10) * (8 - i); return 10 == (n = 11 - n % 11) && (n = 0), 11 === n && (n = 1), { meta: {}, valid: ''.concat(n) === t.substr(7, 1), }; } if (9 === t.length && '6' === ''.concat( t.charAt(0))) { for (n = 0, i = 0; i < 7; i++) n += parseInt(t.charAt(i + 1), 10) * (8 - i); return 10 == (n = 11 - n % 11) && (n = 0), 11 === n && (n = 1), { meta: {}, valid: ''.concat(n = [ 8, 7, 6, 5, 4, 3, 2, 1, 0, 9, 10][n - 1]) === t.substr(8, 1), }; } if (9 === t.length || 10 === t.length) { var a = 1900 + parseInt(t.substr(0, 2), 10), r = parseInt(t.substr(2, 2), 10) % 50 % 20, o = parseInt(t.substr(4, 2), 10); if (9 === t.length) { if (a >= 1980 && (a -= 100), a > 1953) return { meta: {}, valid: !1, }; } else a < 1954 && (a += 100); if (!w(a, r, o)) return { meta: {}, valid: !1, }; if (10 === t.length) { var s = parseInt(t.substr(0, 9), 10) % 11; return a < 1985 && (s %= 10), { meta: {}, valid: ''.concat(s) === t.substr(9, 1), }; } return { meta: {}, valid: !0 }; } return { meta: {}, valid: !1 }; }(a); break; case'de': s = function (e) { var t = e; return /^DE[0-9]{9}$/.test(t) && (t = t.substr(2)), /^[0-9]{9}$/.test(t) ? { meta: {}, valid: n(t) } : { meta: {}, valid: !1 }; }(a); break; case'dk': s = 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 n = 0, i = [ 2, 7, 6, 5, 4, 3, 2, 1], a = 0; a < 8; a++) n += parseInt( t.charAt(a), 10) * i[a]; return { meta: {}, valid: n % 11 == 0 }; }(a); break; case'ee': s = 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 n = 0, i = [ 3, 7, 1, 3, 7, 1, 3, 7, 1], a = 0; a < 9; a++) n += parseInt( t.charAt(a), 10) * i[a]; return { meta: {}, valid: n % 10 == 0 }; }(a); break; case'el': s = A(a); break; case'es': s = 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 n = t.charAt(0); return /^[0-9]$/.test(n) ? { meta: { type: 'DNI' }, valid: function (e) { var t = parseInt(e.substr(0, 8), 10); return ''.concat( 'TRWAGMYFPDXBNJZSQVHLCKE'[t % 23]) === e.substr(8, 1); }(t), } : /^[XYZ]$/.test(n) ? { meta: { type: 'NIE' }, valid: function (e) { var t = [ 'XYZ'.indexOf(e.charAt(0)), e.substr(1)].join(''), n = 'TRWAGMYFPDXBNJZSQVHLCKE'[parseInt( t, 10) % 23]; return ''.concat(n) === e.substr(8, 1); }(t), } : { meta: { type: 'CIF' }, valid: function (e) { var t, n = e.charAt(0); if (-1 !== 'KLM'.indexOf( n)) return t = parseInt( e.substr(1, 8), 10), ''.concat( t = 'TRWAGMYFPDXBNJZSQVHLCKE'[t % 23]) === e.substr(8, 1); if (-1 !== 'ABCDEFGHJNPQRSUVW'.indexOf( n)) { for (var i = [ 2, 1, 2, 1, 2, 1, 2], a = 0, r = 0, o = 0; o < 7; o++) (r = parseInt( e.charAt(o + 1), 10) * i[o]) > 9 && (r = Math.floor(r / 10) + r % 10), a += r; return 10 == (a = 10 - a % 10) && (a = 0), ''.concat(a) === e.substr(8, 1) || 'JABCDEFGHI'[a] === e.substr(8, 1); } return !1; }(t), }; }(a); break; case'fi': s = 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 n = [ 7, 9, 10, 5, 8, 4, 2, 1], i = 0, a = 0; a < 8; a++) i += parseInt( t.charAt(a), 10) * n[a]; return { meta: {}, valid: i % 11 == 0 }; }(a); break; case'fr': s = function (e) { var n = e; if (/^FR[0-9A-Z]{2}[0-9]{9}$/.test(n) && (n = n.substr( 2)), !/^[0-9A-Z]{2}[0-9]{9}$/.test( n)) return { meta: {}, valid: !1 }; if ('000' !== n.substr(2, 4)) return { meta: {}, valid: t(n.substr(2)), }; if (/^[0-9]{2}$/.test(n.substr(0, 2))) return { meta: {}, valid: n.substr(0, 2) === ''.concat( parseInt(n.substr(2) + '12', 10) % 97), }; var i, a = '0123456789ABCDEFGHJKLMNPQRSTUVWXYZ'; return i = /^[0-9]$/.test(n.charAt(0)) ? 24 * a.indexOf(n.charAt(0)) + a.indexOf(n.charAt(1)) - 10 : 34 * a.indexOf(n.charAt(0)) + a.indexOf(n.charAt(1)) - 100, { meta: {}, valid: (parseInt(n.substr(2), 10) + 1 + Math.floor(i / 11)) % 11 == i % 11, }; }(a); break; case'gb': s = 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 n = t.length; if (5 === n) { var i = t.substr(0, 2), a = parseInt(t.substr(2), 10); return { meta: {}, valid: 'GD' === i && a < 500 || 'HA' === i && a >= 500, }; } if (11 === n && ('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 === n || 12 === n) { for (var r = [ 8, 7, 6, 5, 4, 3, 2, 10, 1], o = 0, s = 0; s < 9; s++) o += parseInt(t.charAt(s), 10) * r[s]; return o %= 97, { meta: {}, valid: parseInt(t.substr(0, 3), 10) >= 100 ? 0 === o || 42 === o || 55 === o : 0 === o, }; } return { meta: {}, valid: !0 }; }(a); break; case'gr': s = A(a); break; case'hr': s = function (e) { var t = e; return /^HR[0-9]{11}$/.test(t) && (t = t.substr(2)), /^[0-9]{11}$/.test(t) ? { meta: {}, valid: n(t) } : { meta: {}, valid: !1 }; }(a); break; case'hu': s = 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 n = [ 9, 7, 3, 1, 9, 7, 3, 1], i = 0, a = 0; a < 8; a++) i += parseInt( t.charAt(a), 10) * n[a]; return { meta: {}, valid: i % 10 == 0 }; }(a); break; case'ie': s = 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 n = function (e) { for (var t = e; t.length < 7;) t = '0'.concat(t); for (var n = 'WABCDEFGHIJKLMNOPQRSTUV', i = 0, a = 0; a < 7; a++) i += parseInt(t.charAt(a), 10) * (8 - a); return i += 9 * n.indexOf(t.substr(7)), n[i % 23]; }; return /^[0-9]+$/.test(t.substr(0, 7)) ? { meta: {}, valid: t.charAt(7) === n(''.concat(t.substr(0, 7)). concat(t.substr(8))), } : -1 !== 'ABCDEFGHIJKLMNOPQRSTUVWXYZ+*'.indexOf( t.charAt(1)) ? { meta: {}, valid: t.charAt(7) === n(''.concat(t.substr(2, 5)). concat(t.substr(0, 1))), } : { meta: {}, valid: !0 }; }(a); break; case'is': s = 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), }; }(a); break; case'it': s = function (e) { var n = e; if (/^IT[0-9]{11}$/.test(n) && (n = n.substr(2)), !/^[0-9]{11}$/.test( n)) return { meta: {}, valid: !1 }; if (0 === parseInt(n.substr(0, 7), 10)) return { meta: {}, valid: !1 }; var i = parseInt(n.substr(7, 3), 10); return i < 1 || i > 201 && 999 !== i && 888 !== i ? { meta: {}, valid: !1 } : { meta: {}, valid: t(n), }; }(a); break; case'lt': s = 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 n, i = t.length, a = 0; for (n = 0; n < i - 1; n++) a += parseInt( t.charAt(n), 10) * (1 + n % 9); var r = a % 11; if (10 === r) for (a = 0, n = 0; n < i - 1; n++) a += parseInt(t.charAt(n), 10) * (1 + (n + 2) % 9); return { meta: {}, valid: ''.concat(r = r % 11 % 10) === t.charAt(i - 1), }; }(a); break; case'lu': s = function (e) { var t = e; return /^LU[0-9]{8}$/.test(t) && (t = t.substr(2)), /^[0-9]{8}$/.test(t) ? { meta: {}, valid: ''.concat( parseInt(t.substr(0, 6), 10) % 89) === t.substr(6, 2), } : { meta: {}, valid: !1 }; }(a); break; case'lv': s = 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 n, i = parseInt(t.charAt(0), 10), a = t.length, r = 0, o = []; if (i > 3) { for (r = 0, o = [ 9, 1, 4, 8, 3, 10, 2, 5, 7, 6, 1], n = 0; n < a; n++) r += parseInt( t.charAt(n), 10) * o[n]; return { meta: {}, valid: 3 == (r %= 11) }; } var s = parseInt(t.substr(0, 2), 10), l = parseInt(t.substr(2, 2), 10), c = parseInt(t.substr(4, 2), 10); if (!w(c = c + 1800 + 100 * parseInt(t.charAt(6), 10), l, s)) return { meta: {}, valid: !1 }; for (r = 0, o = [ 10, 5, 8, 4, 2, 1, 6, 3, 7, 9], n = 0; n < a - 1; n++) r += parseInt( t.charAt(n), 10) * o[n]; return { meta: {}, valid: ''.concat(r = (r + 1) % 11 % 10) === t.charAt(a - 1), }; }(a); break; case'mt': s = 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 n = [ 3, 4, 6, 7, 8, 9, 10, 1], i = 0, a = 0; a < 8; a++) i += parseInt( t.charAt(a), 10) * n[a]; return { meta: {}, valid: i % 37 == 0 }; }(a); break; case'nl': s = 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: T(t.substr(0, 9)).valid || D('NL'.concat(t)), } : { meta: {}, valid: !1 }; }(a); break; case'no': s = 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 n = [ 3, 2, 7, 6, 5, 4, 3, 2], i = 0, a = 0; a < 8; a++) i += parseInt( t.charAt(a), 10) * n[a]; return 11 == (i = 11 - i % 11) && (i = 0), { meta: {}, valid: ''.concat(i) === t.substr(8, 1), }; }(a); break; case'pl': s = 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 n = [ 6, 5, 7, 2, 3, 4, 5, 6, 7, -1], i = 0, a = 0; a < 10; a++) i += parseInt(t.charAt(a), 10) * n[a]; return { meta: {}, valid: i % 11 == 0 }; }(a); break; case'pt': s = 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 n = [ 9, 8, 7, 6, 5, 4, 3, 2], i = 0, a = 0; a < 8; a++) i += parseInt( t.charAt(a), 10) * n[a]; return (i = 11 - i % 11) > 9 && (i = 0), { meta: {}, valid: ''.concat(i) === t.substr(8, 1), }; }(a); break; case'ro': s = 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 n = t.length, i = [ 7, 5, 3, 2, 1, 7, 5, 3, 2].slice(10 - n), a = 0, r = 0; r < n - 1; r++) a += parseInt(t.charAt(r), 10) * i[r]; return { meta: {}, valid: ''.concat(a = 10 * a % 11 % 10) === t.substr(n - 1, 1), }; }(a); break; case'rs': s = function (e) { var t = e; if (/^RS[0-9]{9}$/.test(t) && (t = t.substr(2)), !/^[0-9]{9}$/.test( t)) return { meta: {}, valid: !1 }; for (var n = 10, i = 0, a = 0; a < 8; a++) 0 == (i = (parseInt(t.charAt(a), 10) + n) % 10) && (i = 10), n = 2 * i % 11; return { meta: {}, valid: (n + parseInt(t.substr(8, 1), 10)) % 10 == 1, }; }(a); break; case'ru': s = 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 n = 0; if (10 === t.length) { var i = [ 2, 4, 10, 3, 5, 9, 4, 6, 8, 0], a = 0; for (n = 0; n < 10; n++) a += parseInt( t.charAt(n), 10) * i[n]; return (a %= 11) > 9 && (a %= 10), { meta: {}, valid: ''.concat(a) === t.substr(9, 1), }; } if (12 === t.length) { var r = [ 7, 2, 4, 10, 3, 5, 9, 4, 6, 8, 0], o = [ 3, 7, 2, 4, 10, 3, 5, 9, 4, 6, 8, 0], s = 0, l = 0; for (n = 0; n < 11; n++) s += parseInt( t.charAt(n), 10) * r[n], l += parseInt( t.charAt(n), 10) * o[n]; return (s %= 11) > 9 && (s %= 10), (l %= 11) > 9 && (l %= 10), { meta: {}, valid: ''.concat(s) === t.substr(10, 1) && ''.concat(l) === t.substr(11, 1), }; } return { meta: {}, valid: !0 }; }(a); break; case'se': s = function (e) { var n = e; return /^SE[0-9]{10}01$/.test(n) && (n = n.substr(2)), /^[0-9]{10}01$/.test(n) ? { meta: {}, valid: t(n = n.substr(0, 10)), } : { meta: {}, valid: !1 }; }(a); break; case'si': s = function (e) { var t = e.match(/^(SI)?([1-9][0-9]{7})$/); if (!t) return { meta: {}, valid: !1 }; for (var n = t[1] ? e.substr(2) : e, i = [ 8, 7, 6, 5, 4, 3, 2], a = 0, r = 0; r < 7; r++) a += parseInt( n.charAt(r), 10) * i[r]; return 10 == (a = 11 - a % 11) && (a = 0), { meta: {}, valid: ''.concat(a) === n.substr(7, 1), }; }(a); break; case'sk': s = 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 }; }(a); break; case've': s = 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 n = [ 3, 2, 7, 6, 5, 4, 3, 2], i = { E: 8, G: 20, J: 12, P: 16, V: 4, }[t.charAt(0)], a = 0; a < 8; a++) i += parseInt(t.charAt(a + 1), 10) * n[a]; return 11 != (i = 11 - i % 11) && 10 !== i || (i = 0), { meta: {}, valid: ''.concat(i) === t.substr(9, 1), }; }(a); break; case'za': s = function (e) { var t = e; return /^ZA4[0-9]{9}$/.test(t) && (t = t.substr(2)), { meta: {}, valid: /^4[0-9]{9}$/.test(t), }; }(a); } var l = b( i.l10n ? r.message || i.l10n.vat.country : r.message, i.l10n ? i.l10n.vat.countries[o.toUpperCase()] : o.toUpperCase()); return Object.assign({}, { message: l }, s); }, }; }, 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(), n = { 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, S: 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, }, i = [ 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2], a = t.length, r = 0, o = 0; o < a; o++) r += n[''.concat(t.charAt(o))] * i[o]; var s = ''.concat(r % 11); return '10' === s && (s = 'X'), { valid: s === t.charAt(8), }; }, }; }, 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 (t) { var n = Object.assign({}, t.options); if ('' === t.value || !n.country) return { valid: !0 }; var i = t.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 a = !1; switch (i = i.toUpperCase()) { case'AT': a = /^([1-9]{1})(\d{3})$/.test(t.value); break; case'BG': a = /^([1-9]{1}[0-9]{3})$/.test(t.value); break; case'BR': a = /^(\d{2})([.]?)(\d{3})([-]?)(\d{3})$/.test( t.value); break; case'CA': a = /^(?: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( t.value); break; case'CH': a = /^([1-9]{1})(\d{3})$/.test(t.value); break; case'CZ': a = /^(\d{3})([ ]?)(\d{2})$/.test(t.value); break; case'DE': a = /^(?!01000|99999)(0[1-9]\d{3}|[1-9]\d{4})$/.test( t.value); break; case'DK': a = /^(DK(-|\s)?)?\d{4}$/i.test(t.value); break; case'ES': a = /^(?:0[1-9]|[1-4][0-9]|5[0-2])\d{3}$/.test( t.value); break; case'FR': a = /^[0-9]{5}$/i.test(t.value); break; case'GB': a = function (e) { for (var t = '[ABCDEFGHIJKLMNOPRSTUWYZ]', n = '[ABCDEFGHKLMNOPQRSTUVWXY]', i = '[ABDEFGHJLNPQRSTUWXYZ]', a = 0, r = [ new RegExp('^('.concat(t, '{1}'). concat(n, '?[0-9]{1,2})(\\s*)([0-9]{1}'). concat(i, '{2})$'), 'i'), new RegExp('^('.concat(t, '{1}[0-9]{1}'). concat('[ABCDEFGHJKPMNRSTUVWXY]', '{1})(\\s*)([0-9]{1}'). concat(i, '{2})$'), 'i'), new RegExp('^('.concat(t, '{1}'). concat(n, '{1}?[0-9]{1}'). concat('[ABEHMNPRVWXY]', '{1})(\\s*)([0-9]{1}'). concat(i, '{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})(\s*)(1ZZ)$/i, /^(AI-2640)$/i]; a < r.length; a++) if (r[a].test(e)) return !0; return !1; }(t.value); break; case'IN': a = /^\d{3}\s?\d{3}$/.test(t.value); break; case'IE': a = /^(D6W|[ACDEFHKNPRTVWXY]\d{2})\s[0-9ACDEFHKNPRTVWXY]{4}$/.test( t.value); break; case'IT': a = /^(I-|IT-)?\d{5}$/i.test(t.value); break; case'MA': a = /^[1-9][0-9]{4}$/i.test(t.value); break; case'NL': a = /^[1-9][0-9]{3} ?(?!sa|sd|ss)[a-z]{2}$/i.test( t.value); break; case'PL': a = /^[0-9]{2}-[0-9]{3}$/.test(t.value); break; case'PT': a = /^[1-9]\d{3}-\d{3}$/.test(t.value); break; case'RO': a = /^(0[1-8]{1}|[1-9]{1}[0-5]{1})?[0-9]{4}$/i.test( t.value); break; case'RU': a = /^[0-9]{6}$/i.test(t.value); break; case'SE': a = /^(S-)?\d{3}\s?\d{2}$/i.test(t.value); break; case'SG': a = /^([0][1-9]|[1-6][0-9]|[7]([0-3]|[5-9])|[8][0-2])(\d{4})$/i.test( t.value); break; case'SK': a = /^(\d{3})([ ]?)(\d{2})$/.test(t.value); break; case'US': default: a = /^\d{4,5}([-]?\d{4})?$/.test(t.value); } return { message: b(t.l10n ? n.message || t.l10n.zipCode.country : n.message, t.l10n ? t.l10n.zipCode.countries[i] : i), valid: a, }; }, }; }, }, E = function () { function e (t, n) { o(this, e), this.elements = {}, this.ee = { fns: {}, clear: function () {this.fns = {};}, emit: function (e) { for (var t = arguments.length, n = new Array( t > 1 ? t - 1 : 0), i = 1; i < t; i++) n[i - 1] = arguments[i]; (this.fns[e] || []).map( (function (e) {return e.apply(e, n);})); }, 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, a = this.filters[e], r = a.length, o = 0; o < r; o++) i = a[o].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 = t, this.fields = n; } return l(e, [ { key: 'on', value: function (e, t) {return this.ee.on(e, t), this;}, }, { key: 'off', value: function (e, t) {return this.ee.off(e, t), this;}, }, { key: 'emit', value: function (e) { for (var t, n = arguments.length, i = new Array( n > 1 ? n - 1 : 0), a = 1; a < n; a++) i[a - 1] = arguments[a]; return (t = this.ee).emit.apply(t, [e].concat(i)), this; }, }, { key: 'registerPlugin', value: 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; }, }, { key: 'deregisterPlugin', value: function (e) { var t = this.plugins[e]; return t && t.uninstall(), delete this.plugins[e], this; }, }, { key: 'registerValidator', value: function (e, t) { if (this.validators[e]) throw new Error( 'The validator '.concat(e, ' is registered')); return this.validators[e] = t, this; }, }, { key: 'registerFilter', value: function (e, t) {return this.filter.add(e, t), this;}, }, { key: 'deregisterFilter', value: function (e, t) {return this.filter.remove(e, t), this;}, }, { key: 'executeFilter', value: function (e, t, n) { return this.filter.execute(e, t, n); }, }, { key: 'addField', value: 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), } : n, this.elements[e] = this.queryElements( e), this.emit('core.field.added', { elements: this.elements[e], field: e, options: this.fields[e], }), this; }, }, { key: 'removeField', value: 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; }, }, { key: 'validate', value: function () { var e = this; return this.emit( 'core.form.validating'), 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'), Promise.resolve( 'Invalid'); case-1 !== t.indexOf('NotValidated'): return e.emit( 'core.form.notvalidated'), Promise.resolve( 'NotValidated'); default: return e.emit( 'core.form.valid'), Promise.resolve( 'Valid'); } })); })); }, }, { key: 'validateField', value: 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 a = i[0].getAttribute('type'); return 'radio' === a || 'checkbox' === a || 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'); } })); }, }, { key: 'validateElement', value: 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 a = this.fields[e].validators; this.emit('core.element.validating', { element: t, elements: i, field: e }); var r = Object.keys(a). map((function (i) { return function () { return n.executeValidator(e, t, i, a[i]); }; })); return this.waterfall(r). then((function (a) { var r = -1 === a.indexOf('Invalid'); n.emit('core.element.validated', { element: t, elements: i, field: e, valid: r, }); var o = t.getAttribute('type'); return 'radio' !== o && 'checkbox' !== o && 1 !== i.length || n.emit( r ? 'core.field.valid' : 'core.field.invalid', e), Promise.resolve(r ? 'Valid' : 'Invalid'); })). catch((function (a) { return n.emit('core.element.notvalidated', { element: t, elements: i, field: e, }), Promise.resolve(a); })); }, }, { key: 'executeValidator', value: function (e, t, n, i) { var a = this, r = this.elements[e], o = this.filter.execute('validator-name', n, [n, e]); if (i.message = this.filter.execute('validator-message', i.message, [this.locale, e, o]), !this.validators[o] || !1 === i.enabled) return this.emit( 'core.validator.validated', { element: t, elements: r, field: e, result: this.normalizeResult(e, o, { valid: !0 }), validator: o, }), Promise.resolve('Valid'); var s = this.validators[o], l = this.getElementValue(e, t, o); if (!this.filter.execute('field-should-validate', !0, [e, t, l, n])) return this.emit( 'core.validator.notvalidated', { element: t, elements: r, field: e, validator: n, }), Promise.resolve('NotValidated'); this.emit('core.validator.validating', { element: t, elements: r, field: e, validator: n }); var c = s(). validate({ element: t, elements: r, field: e, l10n: this.localization, options: i, value: l, }); if ('function' == typeof c.then) return c.then( (function (i) { var o = a.normalizeResult(e, n, i); return a.emit('core.validator.validated', { element: t, elements: r, field: e, result: o, validator: n, }), o.valid ? 'Valid' : 'Invalid'; })); var u = this.normalizeResult(e, n, c); return this.emit('core.validator.validated', { element: t, elements: r, field: e, result: u, validator: n, }), Promise.resolve(u.valid ? 'Valid' : 'Invalid'); }, }, { key: 'getElementValue', value: function (e, t, n) { var i = y(this.form, 0, t, this.elements[e]); return this.filter.execute('field-value', i, [i, e, t, n]); }, }, { key: 'getElements', value: function (e) {return this.elements[e];}, }, { key: 'getFields', value: function () {return this.fields;} }, { key: 'getFormElement', value: function () {return this.form;} }, { key: 'getLocale', value: function () {return this.locale;} }, { key: 'getPlugin', value: function (e) {return this.plugins[e];} }, { key: 'updateFieldStatus', value: function (e, t, n) { var i = this, a = this.elements[e], r = a[0].getAttribute('type'); if (('radio' === r || 'checkbox' === r ? [a[0]] : a).forEach((function (a) { return i.updateElementStatus(e, a, t, n); })), !n) 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; }, }, { key: 'updateElementStatus', value: function (e, t, n, i) { var a = this, r = this.elements[e], o = this.fields[e].validators, s = i ? [i] : Object.keys(o); switch (n) { case'NotValidated': s.forEach((function (n) { return a.emit('core.validator.notvalidated', { element: t, elements: r, field: e, validator: n, }); })), this.emit('core.element.notvalidated', { element: t, elements: r, field: e }); break; case'Validating': s.forEach((function (n) { return a.emit('core.validator.validating', { element: t, elements: r, field: e, validator: n, }); })), this.emit('core.element.validating', { element: t, elements: r, field: e }); break; case'Valid': s.forEach((function (n) { return a.emit('core.validator.validated', { element: t, field: e, result: { message: o[n].message, valid: !0, }, validator: n, }); })), this.emit('core.element.validated', { element: t, elements: r, field: e, valid: !0, }); break; case'Invalid': s.forEach((function (n) { return a.emit('core.validator.validated', { element: t, field: e, result: { message: o[n].message, valid: !1, }, validator: n, }); })), this.emit('core.element.validated', { element: t, elements: r, field: e, valid: !1, }); } return this; }, }, { key: 'resetForm', value: function (e) { var t = this; return Object.keys(this.fields). forEach((function (n) { return t.resetField(n, e); })), this.emit('core.form.reset', { reset: e }), this; }, }, { key: 'resetField', value: 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; }, }, { key: 'revalidateField', value: function (e) { return this.updateFieldStatus(e, 'NotValidated'), this.validateField(e); }, }, { key: 'disableValidator', value: function (e, t) {return this.toggleValidator(!1, e, t);}, }, { key: 'enableValidator', value: function (e, t) {return this.toggleValidator(!0, e, t);}, }, { key: 'updateValidatorOption', value: 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; }, }, { key: 'setFieldOptions', value: function (e, t) {return this.fields[e] = t, this;}, }, { key: 'destroy', value: 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; }, }, { key: 'setLocale', value: function ( e, t) {return this.locale = e, this.localization = t, this;}, }, { key: 'waterfall', value: 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([])); }, }, { key: 'queryElements', value: 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, '"]'); return [].slice.call(this.form.querySelectorAll(t)); }, }, { key: 'normalizeResult', value: 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'), }); }, }, { key: 'toggleValidator', value: function (e, t, n) { var i = this, a = this.fields[t].validators; return n && a && a[n] ? this.fields[t].validators[n].enabled = e : n || Object.keys(a). forEach( (function (n) {return i.fields[t].validators[n].enabled = e;})), this.updateFieldStatus( t, 'NotValidated', n); }, }]), e; }(); var O = function () { function e (t) {o(this, e), this.opts = t;} return l(e, [ { key: 'setCore', value: function (e) {return this.core = e, this;}, }, { key: 'install', value: function () {} }, { key: 'uninstall', value: function () {} }]), e; }(), Y = { getFieldValue: y }, P = function (e) { u(n, e); var t = m(n); function n (e) { var i; return o(this, n), (i = t.call(this, e)).opts = e || {}, i.validatorNameFilter = i.getValidatorName.bind(f(i)), i; } return l(n, [ { key: 'install', value: function () { this.core.registerFilter('validator-name', this.validatorNameFilter); }, }, { key: 'uninstall', value: function () { this.core.deregisterFilter('validator-name', this.validatorNameFilter); }, }, { key: 'getValidatorName', value: function (e, t) {return this.opts[e] || e;}, }]), n; }(O), I = function (e) { u(n, e); var t = m(n); function n () { var e; return o(this, n), (e = t.call(this, {})).elementValidatedHandler = e.onElementValidated.bind( f(e)), e.fieldValidHandler = e.onFieldValid.bind( f(e)), e.fieldInvalidHandler = e.onFieldInvalid.bind( f(e)), e.messageDisplayedHandler = e.onMessageDisplayed.bind( f(e)), e; } return l(n, [ { key: 'install', value: 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); }, }, { key: 'uninstall', value: 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); }, }, { key: 'onElementValidated', value: function (e) { e.valid && (e.element.setAttribute('aria-invalid', 'false'), e.element.removeAttribute( 'aria-describedby')); }, }, { key: 'onFieldValid', value: function (e) { var t = this.core.getElements(e); t && t.forEach((function (e) { e.setAttribute('aria-invalid', 'false'), e.removeAttribute('aria-describedby'); })); }, }, { key: 'onFieldInvalid', value: function (e) { var t = this.core.getElements(e); t && t.forEach((function (e) { return e.setAttribute('aria-invalid', 'true'); })); }, }, { key: 'onMessageDisplayed', value: 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 a = e.element.getAttribute('type'); 'radio' !== a && 'checkbox' !== a || t.forEach( (function (e) { return e.setAttribute('aria-describedby', i); })); }, }]), n; }(O), j = function (e) { u(n, e); var t = m(n); function n (e) { var i; return o(this, n), (i = t.call(this, e)).addedFields = new Map, i.opts = Object.assign({}, { html5Input: !1, pluginPrefix: 'data-fvp-', prefix: 'data-fv-', }, e), i.fieldAddedHandler = i.onFieldAdded.bind( f(i)), i.fieldRemovedHandler = i.onFieldRemoved.bind(f(i)), i; } return l(n, [ { key: 'install', value: 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); }, }, { key: 'uninstall', value: function () { this.addedFields.clear(), this.core.off('core.field.added', this.fieldAddedHandler). off('core.field.removed', this.fieldRemovedHandler); }, }, { key: 'onFieldAdded', value: function (e) { var t = this, n = e.elements; n && 0 !== n.length && !this.addedFields.has(e.field) && (this.addedFields.set(e.field, !0), n.forEach( (function (n) { var i = t.parseElement(n); if (!t.isEmptyOption(i)) { var a = { selector: e.options.selector, validators: Object.assign({}, e.options.validators || {}, i.validators), }; t.core.setFieldOptions(e.field, a); } }))); }, }, { key: 'onFieldRemoved', value: function (e) { e.field && this.addedFields.has(e.field) && this.addedFields.delete(e.field); }, }, { key: 'parseOptions', value: function () { var e = this, t = this.opts.prefix, n = {}, i = this.core.getFields(), a = this.core.getFormElement(); return [].slice.call( a.querySelectorAll('[name], ['.concat(t, 'field]'))). forEach((function (i) { var a = e.parseElement(i); if (!e.isEmptyOption(a)) { var r = i.getAttribute('name') || i.getAttribute(''.concat(t, 'field')); n[r] = Object.assign({}, n[r], a); } })), 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); }, }, { key: 'createPluginInstance', value: function (e, t) { for (var n = e.split('.'), i = window || this, a = 0, r = n.length; a < r; a++) i = i[n[a]]; if ('function' != typeof i) throw new Error( 'the plugin '.concat(e, ' doesn\'t exist')); return new i(t); }, }, { key: 'parsePlugins', value: function () { for (var e = this, t = this.core.getFormElement(), n = new RegExp( '^'.concat(this.opts.pluginPrefix, '([a-z0-9-]+)(___)*([a-z0-9-]+)*$')), i = t.attributes.length, a = {}, r = 0; r < i; r++) { var o = t.attributes[r].name, s = t.attributes[r].value, l = n.exec(o); if (l && 4 === l.length) { var u = this.toCamelCase(l[1]); a[u] = Object.assign({}, l[3] ? c({}, this.toCamelCase(l[3]), s) : { enabled: '' === s || 'true' === s }, a[u]); } } Object.keys(a). forEach((function (t) { var n = a[t], i = n.enabled, r = n.class; if (i && r) { delete n.enabled, delete n.clazz; var o = e.createPluginInstance(r, n); e.core.registerPlugin(t, o); } })); }, }, { key: 'isEmptyOption', value: function (e) { var t = e.validators; return 0 === Object.keys(t).length && t.constructor === Object; }, }, { key: 'parseElement', value: function (e) { for (var t = new RegExp('^'.concat(this.opts.prefix, '([a-z0-9-]+)(___)*([a-z0-9-]+)*$')), n = e.attributes.length, i = {}, a = e.getAttribute( 'type'), r = 0; r < n; r++) { var o = e.attributes[r].name, s = e.attributes[r].value; if (this.opts.html5Input) switch (!0) { case'minlength' === o: i.stringLength = Object.assign({}, { enabled: !0, min: parseInt(s, 10) }, i.stringLength); break; case'maxlength' === o: i.stringLength = Object.assign({}, { enabled: !0, max: parseInt(s, 10) }, i.stringLength); break; case'pattern' === o: i.regexp = Object.assign({}, { enabled: !0, regexp: s }, i.regexp); break; case'required' === o: i.notEmpty = Object.assign({}, { enabled: !0 }, i.notEmpty); break; case'type' === o && 'color' === s: i.color = Object.assign({}, { enabled: !0, type: 'hex' }, i.color); break; case'type' === o && 'email' === s: i.emailAddress = Object.assign({}, { enabled: !0 }, i.emailAddress); break; case'type' === o && 'url' === s: i.uri = Object.assign({}, { enabled: !0 }, i.uri); break; case'type' === o && 'range' === s: i.between = Object.assign({}, { enabled: !0, max: parseFloat(e.getAttribute('max')), min: parseFloat(e.getAttribute('min')), }, i.between); break; case'min' === o && 'date' !== a && 'range' !== a: i.greaterThan = Object.assign({}, { enabled: !0, min: parseFloat(s) }, i.greaterThan); break; case'max' === o && 'date' !== a && 'range' !== a: i.lessThan = Object.assign({}, { enabled: !0, max: parseFloat(s) }, i.lessThan); } var l = t.exec(o); if (l && 4 === l.length) { var u = this.toCamelCase(l[1]); i[u] = Object.assign({}, l[3] ? c({}, this.toCamelCase(l[3]), this.normalizeValue(s)) : { enabled: '' === s || 'true' === s, }, i[u]); } } return { validators: i }; }, }, { key: 'normalizeValue', value: function (e) { return 'true' === e || 'false' !== e && e; }, }, { key: 'toUpperCase', value: function (e) {return e.charAt(1).toUpperCase();}, }, { key: 'toCamelCase', value: function (e) { return e.replace(/-./g, this.toUpperCase); }, }]), n; }(O), N = function (e) { u(n, e); var t = m(n); function n () { var e; return o(this, n), (e = t.call(this, {})).onValidHandler = e.onFormValid.bind(f(e)), e; } return l(n, [ { key: 'install', value: 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); }, }, { key: 'uninstall', value: function () { this.core.off('core.form.valid', this.onValidHandler); }, }, { key: 'onFormValid', value: function () { var e = this.core.getFormElement(); e instanceof HTMLFormElement && e.submit(); }, }]), n; }(O), H = function (e) { u(n, e); var t = m(n); function n (e) { var i; return o(this, n), (i = t.call(this, e)).opts = e || {}, i.triggerExecutedHandler = i.onTriggerExecuted.bind( f(i)), i; } return l(n, [ { key: 'install', value: function () { this.core.on('plugins.trigger.executed', this.triggerExecutedHandler); }, }, { key: 'uninstall', value: function () { this.core.off('plugins.trigger.executed', this.triggerExecutedHandler); }, }, { key: 'onTriggerExecuted', value: function (e) { if (this.opts[e.field]) { var t, n = v(this.opts[e.field].split(' ')); try { for (n.s(); !(t = n.n()).done;) { var i = t.value.trim(); this.opts[i] && this.core.revalidateField(i); } } catch (e) {n.e(e);} finally {n.f();} } }, }]), n; }(O), F = function (e) { u(n, e); var t = m(n); function n (e) { var i; return o(this, n), (i = t.call(this, e)).opts = Object.assign({}, { excluded: n.defaultIgnore }, e), i.ignoreValidationFilter = i.ignoreValidation.bind(f(i)), i; } return l(n, [ { key: 'install', value: function () { this.core.registerFilter('element-ignored', this.ignoreValidationFilter); }, }, { key: 'uninstall', value: function () { this.core.deregisterFilter('element-ignored', this.ignoreValidationFilter); }, }, { key: 'ignoreValidation', value: function (e, t, n) { return this.opts.excluded.apply(this, [e, t, n]); }, }], [ { key: 'defaultIgnore', value: function (e, t, n) { var i = !!(t.offsetWidth || t.offsetHeight || t.getClientRects().length), a = t.getAttribute('disabled'); return '' === a || 'disabled' === a || 'hidden' === t.getAttribute('type') || !i; }, }]), n; }(O), R = function (e) { u(n, e); var t = m(n); function n (e) { var i; return o(this, n), (i = t.call(this, e)).statuses = new Map, i.opts = Object.assign({}, { onStatusChanged: function () {} }, e), i.elementValidatingHandler = i.onElementValidating.bind( f(i)), i.elementValidatedHandler = i.onElementValidated.bind( f(i)), i.elementNotValidatedHandler = i.onElementNotValidated.bind( f(i)), i.elementIgnoredHandler = i.onElementIgnored.bind( f(i)), i.fieldAddedHandler = i.onFieldAdded.bind( f(i)), i.fieldRemovedHandler = i.onFieldRemoved.bind(f(i)), i; } return l(n, [ { key: 'install', value: 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); }, }, { key: 'uninstall', value: 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); }, }, { key: 'areFieldsValid', value: function () { return Array.from(this.statuses.values()). every((function (e) { return 'Valid' === e || 'NotValidated' === e || 'Ignored' === e; })); }, }, { key: 'getStatuses', value: function () {return this.statuses;} }, { key: 'onFieldAdded', value: function (e) { this.statuses.set(e.field, 'NotValidated'); }, }, { key: 'onFieldRemoved', value: function (e) { this.statuses.has(e.field) && this.statuses.delete(e.field), this.opts.onStatusChanged( this.areFieldsValid()); }, }, { key: 'onElementValidating', value: function (e) { this.statuses.set(e.field, 'Validating'), this.opts.onStatusChanged(!1); }, }, { key: 'onElementValidated', value: function (e) { this.statuses.set(e.field, e.valid ? 'Valid' : 'Invalid'), e.valid ? this.opts.onStatusChanged(this.areFieldsValid()) : this.opts.onStatusChanged(!1); }, }, { key: 'onElementNotValidated', value: function (e) { this.statuses.set(e.field, 'NotValidated'), this.opts.onStatusChanged(!1); }, }, { key: 'onElementIgnored', value: function (e) { this.statuses.set(e.field, 'Ignored'), this.opts.onStatusChanged( this.areFieldsValid()); }, }]), n; }(O); function z (e, t) { var n = [], i = []; Object.keys(t). forEach((function (e) { e && (t[e] ? n.push(e) : i.push(e)); })), 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); })); } function B (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; } function W (e, t) { for (var n = e; n && !B(n, t);) n = n.parentElement; return n; } var V = function (e) { u(n, e); var t = m(n); function n (e) { var i; return o(this, n), (i = t.call(this, e)).messages = new Map, i.defaultContainer = document.createElement( 'div'), i.opts = Object.assign({}, { container: function (e, t) {return i.defaultContainer;} }, e), i.elementIgnoredHandler = i.onElementIgnored.bind( f(i)), i.fieldAddedHandler = i.onFieldAdded.bind( f(i)), i.fieldRemovedHandler = i.onFieldRemoved.bind( f(i)), i.validatorValidatedHandler = i.onValidatorValidated.bind( f(i)), i.validatorNotValidatedHandler = i.onValidatorNotValidated.bind( f(i)), i; } return l(n, [ { key: 'install', value: function () { 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); }, }, { key: 'uninstall', value: function () { 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); }, }, { key: 'onFieldAdded', value: 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)); }, }, { key: 'onFieldRemoved', value: 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); } })); } }, }, { key: 'prepareFieldContainer', value: 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); })); } }, }, { key: 'prepareElementContainer', value: function (e, t, n) { var i; if ('string' == typeof this.opts.container) { var a = '#' === this.opts.container.charAt(0) ? '[id="'.concat(this.opts.container.substring(1), '"]') : this.opts.container; i = this.core.getFormElement().querySelector(a); } else i = this.opts.container(e, t); var r = document.createElement('div'); i.appendChild(r), z(r, { 'fv-plugins-message-container': !0 }), this.core.emit( 'plugins.message.placed', { element: t, elements: n, field: e, messageElement: r, }), this.messages.set(t, r); }, }, { key: 'getMessage', value: function (e) { return 'string' == typeof e.message ? e.message : e.message[this.core.getLocale()]; }, }, { key: 'onValidatorValidated', value: 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 a = this.messages.get(i), r = a.querySelector( '[data-field="'.concat(e.field, '"][data-validator="'). concat(e.validator, '"]')); if (r || e.result.valid) r && !e.result.valid ? (r.innerHTML = this.getMessage( e.result), this.core.emit( 'plugins.message.displayed', { element: e.element, field: e.field, message: e.result.message, messageElement: r, meta: e.result.meta, validator: e.validator, })) : r && e.result.valid && a.removeChild(r); else { var o = document.createElement('div'); o.innerHTML = this.getMessage( e.result), o.setAttribute('data-field', e.field), o.setAttribute('data-validator', e.validator), this.opts.clazz && z(o, c({}, this.opts.clazz, !0)), a.appendChild( o), 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, }); } } }, }, { key: 'onValidatorNotValidated', value: 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 a = this.messages.get(i), r = a.querySelector( '[data-field="'.concat(e.field, '"][data-validator="'). concat(e.validator, '"]')); r && a.removeChild(r); } }, }, { key: 'onElementIgnored', value: 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 a = this.messages.get(i); [].slice.call(a.querySelectorAll( '[data-field="'.concat(e.field, '"]'))). forEach((function (e) {a.removeChild(e);})); } }, }], [ { key: 'getClosestContainer', value: function (e, t, n) { for (var i = e; i && i !== t && (i = i.parentElement, !n.test(i.className));) ; return i; }, }]), n; }(O), q = function (e) { u(n, e); var t = m(n); function n (e) { var i; return o(this, n), (i = t.call(this, e)).results = new Map, i.containers = new Map, i.opts = Object.assign( {}, { defaultMessageContainer: !0, eleInvalidClass: '', eleValidClass: '', rowClasses: '', rowValidatingClass: '', }, e), i.elementIgnoredHandler = i.onElementIgnored.bind( f(i)), i.elementValidatingHandler = i.onElementValidating.bind( f(i)), i.elementValidatedHandler = i.onElementValidated.bind( f(i)), i.elementNotValidatedHandler = i.onElementNotValidated.bind( f(i)), i.iconPlacedHandler = i.onIconPlaced.bind( f(i)), i.fieldAddedHandler = i.onFieldAdded.bind( f(i)), i.fieldRemovedHandler = i.onFieldRemoved.bind( f(i)), i.messagePlacedHandler = i.onMessagePlaced.bind(f(i)), i; } return l(n, [ { key: 'install', value: function () { var e, t = this; z(this.core.getFormElement(), (c(e = {}, this.opts.formClass, !0), c(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('___frameworkMessage', new V({ clazz: this.opts.messageClass, container: function (e, n) { var i = W(n, 'string' == typeof t.opts.rowSelector ? t.opts.rowSelector : t.opts.rowSelector(e, n)); return V.getClosestContainer(n, i, t.opts.rowPattern); }, })), this.core.on('plugins.message.placed', this.messagePlacedHandler)); }, }, { key: 'uninstall', value: function () { var e; this.results.clear(), this.containers.clear(), z( this.core.getFormElement(), (c(e = {}, this.opts.formClass, !1), c(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.off('plugins.message.placed', this.messagePlacedHandler); }, }, { key: 'onIconPlaced', value: function (e) {} }, { key: 'onMessagePlaced', value: function (e) {} }, { key: 'onFieldAdded', value: function (e) { var t = this, n = e.elements; n && (n.forEach((function (e) { var n, i = t.containers.get(e); i && (z(i, (c(n = {}, t.opts.rowInvalidClass, !1), c(n, t.opts.rowValidatingClass, !1), c(n, t.opts.rowValidClass, !1), c(n, 'fv-plugins-icon-container', !1), n)), t.containers.delete(e)); })), this.prepareFieldContainer(e.field, n)); }, }, { key: 'onFieldRemoved', value: function (e) { var t = this; e.elements.forEach((function (e) { var n, i = t.containers.get(e); i && z(i, (c(n = {}, t.opts.rowInvalidClass, !1), c(n, t.opts.rowValidatingClass, !1), c(n, t.opts.rowValidClass, !1), n)); })); }, }, { key: 'prepareFieldContainer', value: 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); })); } }, }, { key: 'prepareElementContainer', value: function (e, t) { var n, i = W(t, 'string' == typeof this.opts.rowSelector ? this.opts.rowSelector : this.opts.rowSelector(e, t)); i !== t && (z(i, (c(n = {}, this.opts.rowClasses, !0), c(n, 'fv-plugins-icon-container', !0), n)), this.containers.set(t, i)); }, }, { key: 'onElementValidating', value: function (e) { var t, n = e.elements, i = e.element.getAttribute('type'), a = 'radio' === i || 'checkbox' === i ? n[0] : e.element, r = this.containers.get(a); r && z(r, (c(t = {}, this.opts.rowInvalidClass, !1), c(t, this.opts.rowValidatingClass, !0), c(t, this.opts.rowValidClass, !1), t)); }, }, { key: 'onElementNotValidated', value: function (e) { this.removeClasses(e.element, e.elements); }, }, { key: 'onElementIgnored', value: function (e) { this.removeClasses(e.element, e.elements); }, }, { key: 'removeClasses', value: function (e, t) { var n, i = e.getAttribute('type'), a = 'radio' === i || 'checkbox' === i ? t[0] : e; z(a, (c(n = {}, this.opts.eleValidClass, !1), c(n, this.opts.eleInvalidClass, !1), n)); var r, o = this.containers.get(a); o && z(o, (c(r = {}, this.opts.rowInvalidClass, !1), c(r, this.opts.rowValidatingClass, !1), c(r, this.opts.rowValidClass, !1), r)); }, }, { key: 'onElementValidated', value: function (e) { var t = this, n = e.elements, i = e.element.getAttribute('type'), a = 'radio' === i || 'checkbox' === i ? n[0] : e.element; n.forEach((function (n) { var i; z(n, (c(i = {}, t.opts.eleValidClass, e.valid), c(i, t.opts.eleInvalidClass, !e.valid), i)); })); var r = this.containers.get(a); if (r) if (e.valid) { this.results.delete(a); var o, s = !0; if (this.containers.forEach((function (e, n) { e === r && !1 === t.results.get(n) && (s = !1); })), s) z(r, (c(o = {}, this.opts.rowInvalidClass, !1), c(o, this.opts.rowValidatingClass, !1), c(o, this.opts.rowValidClass, !0), o)); } else { var l; this.results.set(a, !1), z(r, (c(l = {}, this.opts.rowInvalidClass, !0), c(l, this.opts.rowValidatingClass, !1), c(l, this.opts.rowValidClass, !1), l)); } }, }]), n; }(O), U = function (e) { u(n, e); var t = m(n); function n (e) { var i; return o(this, n), (i = t.call(this, e)).icons = new Map, i.opts = Object.assign({}, { invalid: 'fv-plugins-icon--invalid', onPlaced: function () {}, onSet: function () {}, valid: 'fv-plugins-icon--valid', validating: 'fv-plugins-icon--validating', }, e), i.elementValidatingHandler = i.onElementValidating.bind( f(i)), i.elementValidatedHandler = i.onElementValidated.bind( f(i)), i.elementNotValidatedHandler = i.onElementNotValidated.bind( f(i)), i.elementIgnoredHandler = i.onElementIgnored.bind( f(i)), i.fieldAddedHandler = i.onFieldAdded.bind(f(i)), i; } return l(n, [ { key: 'install', value: 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); }, }, { key: 'uninstall', value: 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); }, }, { key: 'onFieldAdded', value: 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)); }, }, { key: 'prepareFieldIcon', value: 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); })); } }, }, { key: 'prepareElementIcon', value: function (e, t) { var n = document.createElement('i'); n.setAttribute('data-field', e), t.parentNode.insertBefore( n, t.nextSibling), z(n, { 'fv-plugins-icon': !0 }); var i = { classes: { invalid: this.opts.invalid, valid: this.opts.valid, validating: this.opts.validating, }, element: t, field: e, iconElement: n, }; this.core.emit('plugins.icon.placed', i), this.opts.onPlaced(i), this.icons.set(t, n); }, }, { key: 'onElementValidating', value: function (e) { var t, n = this.setClasses(e.field, e.element, e.elements, (c(t = {}, this.opts.invalid, !1), c(t, this.opts.valid, !1), c(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); }, }, { key: 'onElementValidated', value: function (e) { var t, n = this.setClasses(e.field, e.element, e.elements, (c(t = {}, this.opts.invalid, !e.valid), c(t, this.opts.valid, e.valid), c(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); }, }, { key: 'onElementNotValidated', value: function (e) { var t, n = this.setClasses(e.field, e.element, e.elements, (c(t = {}, this.opts.invalid, !1), c(t, this.opts.valid, !1), c(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); }, }, { key: 'onElementIgnored', value: function (e) { var t, n = this.setClasses(e.field, e.element, e.elements, (c(t = {}, this.opts.invalid, !1), c(t, this.opts.valid, !1), c(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); }, }, { key: 'setClasses', value: function (e, t, n, i) { var a = t.getAttribute('type'), r = 'radio' === a || 'checkbox' === a ? n[0] : t; if (this.icons.has(r)) { var o = this.icons.get(r); return z(o, i), o; } return null; }, }]), n; }(O), X = function (e) { u(n, e); var t = m(n); function n (e) { var i; return o(this, n), (i = t.call(this, e)).invalidFields = new Map, i.opts = Object.assign({}, { enabled: !0 }, e), i.validatorHandler = i.onValidatorValidated.bind( f(i)), i.shouldValidateFilter = i.shouldValidate.bind( f(i)), i.fieldAddedHandler = i.onFieldAdded.bind( f(i)), i.elementNotValidatedHandler = i.onElementNotValidated.bind( f(i)), i.elementValidatingHandler = i.onElementValidating.bind( f(i)), i; } return l(n, [ { key: 'install', value: 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); }, }, { key: 'uninstall', value: 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); }, }, { key: 'shouldValidate', value: function (e, t, n, i) { return !((!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)); }, }, { key: 'onValidatorValidated', value: 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); }, }, { key: 'onFieldAdded', value: function (e) { e.elements && this.clearInvalidFields(e.elements); }, }, { key: 'onElementNotValidated', value: function (e) {this.clearInvalidFields(e.elements);}, }, { key: 'onElementValidating', value: function (e) {this.clearInvalidFields(e.elements);}, }, { key: 'clearInvalidFields', value: function (e) { var t = this; e.forEach( (function (e) {return t.invalidFields.delete(e);})); }, }]), n; }(O), $ = function (e) { u(n, e); var t = m(n); function n (e) { var i; return o(this, n), (i = t.call(this, e)).isFormValid = !1, i.opts = Object.assign({}, { aspNetButton: !1, buttons: function (e) { return [].slice.call(e.querySelectorAll( '[type="submit"]:not([formnovalidate])')); }, }, e), i.submitHandler = i.handleSubmitEvent.bind( f(i)), i.buttonClickHandler = i.handleClickEvent.bind(f(i)), i; } return l(n, [ { key: 'install', value: 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); })); } }, }, { key: 'uninstall', value: 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); }, }, { key: 'handleSubmitEvent', value: function (e) {this.validateForm(e);}, }, { key: 'handleClickEvent', value: function (e) { if (e.currentTarget instanceof HTMLElement) if (this.opts.aspNetButton && !0 === this.isFormValid) ; else { this.core.getFormElement(). removeEventListener('submit', this.submitHandler), this.clickedButton = e.target; var t = this.clickedButton.getAttribute('name'), n = this.clickedButton.getAttribute('value'); t && n && (this.hiddenClickedEle.setAttribute('name', t), this.hiddenClickedEle.setAttribute('value', n)), this.validateForm(e); } }, }, { key: 'validateForm', value: function (e) { var t = this; 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; }(O), G = function (e) { u(n, e); var t = m(n); function n (e) { var i; return o(this, n), (i = t.call(this, e)).messages = new Map, i.opts = Object.assign({}, { placement: 'top', trigger: 'click' }, e), i.iconPlacedHandler = i.onIconPlaced.bind( f(i)), i.validatorValidatedHandler = i.onValidatorValidated.bind( f(i)), i.elementValidatedHandler = i.onElementValidated.bind( f(i)), i.documentClickHandler = i.onDocumentClicked.bind( f(i)), i; } return l(n, [ { key: 'install', value: function () { this.tip = document.createElement('div'), z(this.tip, c({ 'fv-plugins-tooltip': !0 }, 'fv-plugins-tooltip--'.concat(this.opts.placement), !0)), 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); }, }, { key: 'uninstall', value: 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); }, }, { key: 'onIconPlaced', value: function (e) { var t = this; switch (z(e.iconElement, { 'fv-plugins-tooltip-icon': !0 }), this.opts.trigger) { case'hover': e.iconElement.addEventListener('mouseenter', (function (n) { return t.show(e.element, n); })), e.iconElement.addEventListener( 'mouseleave', (function (e) {return t.hide();})); break; case'click': default: e.iconElement.addEventListener('click', (function (n) {return t.show(e.element, n);})); } }, }, { key: 'onValidatorValidated', value: function (e) { if (!e.result.valid) { var t = e.elements, n = e.element.getAttribute('type'), i = 'radio' === n || 'checkbox' === n ? t[0] : e.element, a = 'string' == typeof e.result.message ? e.result.message : e.result.message[this.core.getLocale()]; this.messages.set(i, a); } }, }, { key: 'onElementValidated', value: 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); } }, }, { key: 'onDocumentClicked', value: function (e) {this.hide();} }, { key: 'show', value: function (e, t) { if (t.preventDefault(), t.stopPropagation(), this.messages.has( e)) { z(this.tip, { 'fv-plugins-tooltip--hide': !1 }), this.tip.innerHTML = '<div class="fv-plugins-tooltip__content">'.concat( this.messages.get(e), '</div>'); var n = t.target.getBoundingClientRect(), i = this.tip.getBoundingClientRect(), a = i.height, r = i.width, o = 0, s = 0; switch (this.opts.placement) { case'bottom': o = n.top + n.height, s = n.left + n.width / 2 - r / 2; break; case'bottom-left': o = n.top + n.height, s = n.left; break; case'bottom-right': o = n.top + n.height, s = n.left + n.width - r; break; case'left': o = n.top + n.height / 2 - a / 2, s = n.left - r; break; case'right': o = n.top + n.height / 2 - a / 2, s = n.left + n.width; break; case'top-left': o = n.top - a, s = n.left; break; case'top-right': o = n.top - a, s = n.left + n.width - r; break; case'top': default: o = n.top - a, s = n.left + n.width / 2 - r / 2; } o += window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0, s += window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0, this.tip.setAttribute('style', 'top: '.concat(o, 'px; left: ').concat(s, 'px')); } }, }, { key: 'hide', value: function () { z(this.tip, { 'fv-plugins-tooltip--hide': !0 }); }, }]), n; }(O), Z = function (e) { u(n, e); var t = m(n); function n (e) { var i; o(this, n), (i = t.call(this, e)).handlers = [], i.timers = new Map; var a = document.createElement('div'); return i.defaultEvent = 'oninput' in a ? 'input' : 'keyup', i.opts = Object.assign({}, { delay: 0, event: i.defaultEvent, threshold: 0 }, e), i.fieldAddedHandler = i.onFieldAdded.bind( f(i)), i.fieldRemovedHandler = i.onFieldRemoved.bind(f(i)), i; } return l(n, [ { key: 'install', value: function () { this.core.on('core.field.added', this.fieldAddedHandler). on('core.field.removed', this.fieldRemovedHandler); }, }, { key: 'uninstall', value: 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); }, }, { key: 'prepareHandler', value: 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]) 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 a = t.getAttribute('type'), r = t.tagName.toLowerCase(); i = [ 'radio' === a || 'checkbox' === a || 'file' === a || 'select' === r ? 'change' : n.ieVersion >= 10 && t.getAttribute('placeholder') ? 'keyup' : n.defaultEvent]; } i.forEach((function (i) { var a = function (i) { return n.handleEvent(i, e, t); }; n.handlers.push({ element: t, event: i, field: e, handler: a, }), t.addEventListener(i, a); })); })); }, }, { key: 'handleEvent', value: function (e, t, n) { var i = this; if (this.exceedThreshold(t, n) && this.core.executeFilter( 'plugins-trigger-should-validate', !0, [ t, n])) { var a = function () { return i.core.validateElement(t, n). then((function (a) { i.core.emit('plugins.trigger.executed', { element: n, event: e, field: t }); })); }, r = this.opts.delay[t] || this.opts.delay; if (0 === r) a(); else { var o = this.timers.get(n); o && window.clearTimeout(o), this.timers.set(n, window.setTimeout(a, 1e3 * r)); } } }, }, { key: 'onFieldAdded', value: 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); }, }, { key: 'onFieldRemoved', value: 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); })); }, }, { key: 'exceedThreshold', value: 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), K = { Alias: P, Aria: I, Declarative: j, DefaultSubmit: N, Dependency: H, Excluded: F, FieldStatus: R, Framework: q, Icon: U, Message: V, Sequence: X, SubmitButton: $, Tooltip: G, Trigger: Z, }; var J = { call: x, classSet: z, closest: W, fetch: k, format: b, hasClass: function (e, t) { return e.classList ? e.classList.contains(t) : new RegExp('(^| )'.concat(t, '( |$)'), 'gi').test( e.className); }, isValidDate: w, }; e.Plugin = O, e.algorithms = r, e.filters = Y, e.formValidation = function ( e, t) { var n = Object.assign({}, { fields: {}, locale: 'en_US', plugins: {} }, t), i = new E(e, n.fields); return i.setLocale(n.locale, n.localization), Object.keys(n.plugins). forEach((function (e) { return i.registerPlugin(e, n.plugins[e]); })), Object.keys(C). forEach((function (e) { return i.registerValidator(e, C[e]); })), Object.keys(n.fields). forEach((function (e) {return i.addField(e, n.fields[e]);})), i; }, e.locales = {}, e.plugins = K, e.utils = J, e.validators = C, Object.defineProperty( e, '__esModule', { value: !0 }); })), function (e, t) { 'object' == typeof exports && 'undefined' != typeof module ? module.exports = t() : 'function' == typeof define && define.amd ? define(t) : ((e = e || self).FormValidation = e.FormValidation || {}, e.FormValidation.plugins = e.FormValidation.plugins || {}, e.FormValidation.plugins.Bootstrap5 = t()); }(this, (function () { 'use strict'; function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } function t (e) { return (t = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {return e.__proto__ || Object.getPrototypeOf(e);})( e); } function n (e, t) { return (n = Object.setPrototypeOf || function (e, t) {return e.__proto__ = t, e;})(e, t); } function i (e) { if (void 0 === e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return e; } function a (e, t) { return !t || 'object' != typeof t && 'function' != typeof t ? i(e) : t; } function r (e) { var n = 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 (e) {return !1;} }(); return function () { var i, r = t(e); if (n) { var o = t(this).constructor; i = Reflect.construct(r, arguments, o); } else i = r.apply(this, arguments); return a(this, i); }; } function o (e, n, i) { return (o = 'undefined' != typeof Reflect && Reflect.get ? Reflect.get : function (e, n, i) { var a = function ( e, n) { for (; !Object.prototype.hasOwnProperty.call(e, n) && null !== (e = t(e));) ; return e; }(e, n); if (a) { var r = Object.getOwnPropertyDescriptor(a, n); return r.get ? r.get.call(i) : r.value; } })(e, n, i || e); } var s = FormValidation.utils.classSet, l = FormValidation.utils.hasClass; return function (a) { !function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function'); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0, }, }), t && n(e, t); }(f, a); var c, u, d, h = r(f); function f (e) { var t; return function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, f), (t = h.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', }, e))).eleValidatedHandler = t.handleElementValidated.bind( i(t)), t; } return c = f, (u = [ { key: 'install', value: function () { o(t(f.prototype), 'install', this). call(this), this.core.on('core.element.validated', this.eleValidatedHandler); }, }, { key: 'uninstall', value: function () { o(t(f.prototype), 'install', this). call(this), this.core.off('core.element.validated', this.eleValidatedHandler); }, }, { key: 'handleElementValidated', value: function (e) { var t = e.element.getAttribute('type'); if (('checkbox' === t || 'radio' === t) && e.elements.length > 1 && l(e.element, 'form-check-input')) { var n = e.element.parentElement; l(n, 'form-check') && s(n, { 'is-invalid': !e.valid, 'is-valid': e.valid }); } }, }, { key: 'onIconPlaced', value: function (e) { s(e.element, { 'fv-plugins-icon-input': !0 }); var t = e.element.parentElement; l(t, 'input-group') && (t.parentElement.insertBefore(e.iconElement, t.nextSibling), e.element.nextElementSibling && l(e.element.nextElementSibling, 'input-group-text') && s(e.iconElement, { 'fv-plugins-icon-input-group': !0 })); var n = e.element.getAttribute('type'); if ('checkbox' === n || 'radio' === n) { var i = t.parentElement; l(t, 'form-check') ? (s(e.iconElement, { 'fv-plugins-icon-check': !0 }), t.parentElement.insertBefore( e.iconElement, t.nextSibling)) : l(t.parentElement, 'form-check') && (s(e.iconElement, { 'fv-plugins-icon-check': !0 }), i.parentElement.insertBefore( e.iconElement, i.nextSibling)); } }, }, { key: 'onMessagePlaced', value: function (e) { e.messageElement.classList.add('invalid-feedback'); var t = e.element.parentElement; if (l(t, 'input-group')) return t.appendChild( e.messageElement), void s(t, { 'has-validation': !0 }); var n = e.element.getAttribute('type'); 'checkbox' !== n && 'radio' !== n || !l(e.element, 'form-check-input') || l(t, 'form-check') || e.elements[e.elements.length - 1].parentElement.appendChild( e.messageElement); }, }]) && e(c.prototype, u), d && e(c, d), f; }(FormValidation.plugins.Framework); })), /** * @version: 3.1 * @author: Dan Grossman http://www.dangrossman.info/ * @copyright: Copyright (c) 2012-2019 Dan Grossman. All rights reserved. * @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php * @website: http://www.daterangepicker.com/ */ function (e, t) { if ('function' == typeof define && define.amd) define( ['moment', 'jquery'], (function (e, n) { return n.fn || (n.fn = {}), 'function' != typeof e && e.hasOwnProperty('default') && (e = e.default), t(e, n); })); else if ('object' == typeof module && module.exports) { var n = 'undefined' != typeof window ? window.jQuery : void 0; n || (n = require('jquery')).fn || (n.fn = {}); var i = 'undefined' != typeof window && void 0 !== window.moment ? window.moment : require('moment'); module.exports = t(i, n); } else e.daterangepicker = t(e.moment, e.jQuery); }(this, (function (e, t) { var n = function (n, i, a) { if (this.parentEl = 'body', this.element = t( n), this.startDate = e().startOf('day'), this.endDate = e(). endOf( 'day'), this.minDate = !1, this.maxDate = !1, this.maxSpan = !1, this.autoApply = !1, this.singleDatePicker = !1, this.showDropdowns = !1, this.minYear = e(). subtract(100, 'year'). format('YYYY'), this.maxYear = e(). add(100, 'year'). format( 'YYYY'), this.showWeekNumbers = !1, this.showISOWeekNumbers = !1, this.showCustomRangeLabel = !0, this.timePicker = !1, this.timePicker24Hour = !1, this.timePickerIncrement = 1, this.timePickerSeconds = !1, this.linkedCalendars = !0, this.autoUpdateInput = !0, this.alwaysShowCalendars = !1, this.ranges = {}, this.opens = 'right', this.element.hasClass( 'pull-right') && (this.opens = 'left'), this.drops = 'down', this.element.hasClass( 'dropup') && (this.drops = 'up'), this.buttonClasses = 'btn btn-sm', this.applyButtonClasses = 'btn-primary', this.cancelButtonClasses = 'btn-default', this.locale = { direction: 'ltr', format: e.localeData().longDateFormat('L'), separator: ' - ', applyLabel: 'Apply', cancelLabel: 'Cancel', weekLabel: 'W', customRangeLabel: 'Custom Range', daysOfWeek: e.weekdaysMin(), monthNames: e.monthsShort(), firstDay: e.localeData().firstDayOfWeek(), }, this.callback = function () {}, this.isShowing = !1, this.leftCalendar = {}, this.rightCalendar = {}, 'object' == typeof i && null !== i || (i = {}), 'string' == typeof (i = t.extend(this.element.data(), i)).template || i.template instanceof t || (i.template = '<div class="daterangepicker"><div class="ranges"></div><div class="drp-calendar left"><div class="calendar-table"></div><div class="calendar-time"></div></div><div class="drp-calendar right"><div class="calendar-table"></div><div class="calendar-time"></div></div><div class="drp-buttons"><span class="drp-selected"></span><button class="cancelBtn" type="button"></button><button class="applyBtn" disabled="disabled" type="button"></button> </div></div>'), this.parentEl = i.parentEl && t(i.parentEl).length ? t(i.parentEl) : t( this.parentEl), this.container = t(i.template). appendTo(this.parentEl), 'object' == typeof i.locale && ('string' == typeof i.locale.direction && (this.locale.direction = i.locale.direction), 'string' == typeof i.locale.format && (this.locale.format = i.locale.format), 'string' == typeof i.locale.separator && (this.locale.separator = i.locale.separator), 'object' == typeof i.locale.daysOfWeek && (this.locale.daysOfWeek = i.locale.daysOfWeek.slice()), 'object' == typeof i.locale.monthNames && (this.locale.monthNames = i.locale.monthNames.slice()), 'number' == typeof i.locale.firstDay && (this.locale.firstDay = i.locale.firstDay), 'string' == typeof i.locale.applyLabel && (this.locale.applyLabel = i.locale.applyLabel), 'string' == typeof i.locale.cancelLabel && (this.locale.cancelLabel = i.locale.cancelLabel), 'string' == typeof i.locale.weekLabel && (this.locale.weekLabel = i.locale.weekLabel), 'string' == typeof i.locale.customRangeLabel)) { (f = document.createElement( 'textarea')).innerHTML = i.locale.customRangeLabel; var r = f.value; this.locale.customRangeLabel = r; } if (this.container.addClass(this.locale.direction), 'string' == typeof i.startDate && (this.startDate = e(i.startDate, this.locale.format)), 'string' == typeof i.endDate && (this.endDate = e(i.endDate, this.locale.format)), 'string' == typeof i.minDate && (this.minDate = e(i.minDate, this.locale.format)), 'string' == typeof i.maxDate && (this.maxDate = e(i.maxDate, this.locale.format)), 'object' == typeof i.startDate && (this.startDate = e(i.startDate)), 'object' == typeof i.endDate && (this.endDate = e(i.endDate)), 'object' == typeof i.minDate && (this.minDate = e(i.minDate)), 'object' == typeof i.maxDate && (this.maxDate = e(i.maxDate)), this.minDate && this.startDate.isBefore(this.minDate) && (this.startDate = this.minDate.clone()), this.maxDate && this.endDate.isAfter(this.maxDate) && (this.endDate = this.maxDate.clone()), 'string' == typeof i.applyButtonClasses && (this.applyButtonClasses = i.applyButtonClasses), 'string' == typeof i.applyClass && (this.applyButtonClasses = i.applyClass), 'string' == typeof i.cancelButtonClasses && (this.cancelButtonClasses = i.cancelButtonClasses), 'string' == typeof i.cancelClass && (this.cancelButtonClasses = i.cancelClass), 'object' == typeof i.maxSpan && (this.maxSpan = i.maxSpan), 'object' == typeof i.dateLimit && (this.maxSpan = i.dateLimit), 'string' == typeof i.opens && (this.opens = i.opens), 'string' == typeof i.drops && (this.drops = i.drops), 'boolean' == typeof i.showWeekNumbers && (this.showWeekNumbers = i.showWeekNumbers), 'boolean' == typeof i.showISOWeekNumbers && (this.showISOWeekNumbers = i.showISOWeekNumbers), 'string' == typeof i.buttonClasses && (this.buttonClasses = i.buttonClasses), 'object' == typeof i.buttonClasses && (this.buttonClasses = i.buttonClasses.join(' ')), 'boolean' == typeof i.showDropdowns && (this.showDropdowns = i.showDropdowns), 'number' == typeof i.minYear && (this.minYear = i.minYear), 'number' == typeof i.maxYear && (this.maxYear = i.maxYear), 'boolean' == typeof i.showCustomRangeLabel && (this.showCustomRangeLabel = i.showCustomRangeLabel), 'boolean' == typeof i.singleDatePicker && (this.singleDatePicker = i.singleDatePicker, this.singleDatePicker && (this.endDate = this.startDate.clone())), 'boolean' == typeof i.timePicker && (this.timePicker = i.timePicker), 'boolean' == typeof i.timePickerSeconds && (this.timePickerSeconds = i.timePickerSeconds), 'number' == typeof i.timePickerIncrement && (this.timePickerIncrement = i.timePickerIncrement), 'boolean' == typeof i.timePicker24Hour && (this.timePicker24Hour = i.timePicker24Hour), 'boolean' == typeof i.autoApply && (this.autoApply = i.autoApply), 'boolean' == typeof i.autoUpdateInput && (this.autoUpdateInput = i.autoUpdateInput), 'boolean' == typeof i.linkedCalendars && (this.linkedCalendars = i.linkedCalendars), 'function' == typeof i.isInvalidDate && (this.isInvalidDate = i.isInvalidDate), 'function' == typeof i.isCustomDate && (this.isCustomDate = i.isCustomDate), 'boolean' == typeof i.alwaysShowCalendars && (this.alwaysShowCalendars = i.alwaysShowCalendars), 0 != this.locale.firstDay) for (var o = this.locale.firstDay; o > 0;) this.locale.daysOfWeek.push( this.locale.daysOfWeek.shift()), o--; var s, l, c; if (void 0 === i.startDate && void 0 === i.endDate && t(this.element).is(':text')) { var u = t(this.element).val(), d = u.split(this.locale.separator); s = l = null, 2 == d.length ? (s = e(d[0], this.locale.format), l = e(d[1], this.locale.format)) : this.singleDatePicker && '' !== u && (s = e(u, this.locale.format), l = e(u, this.locale.format)), null !== s && null !== l && (this.setStartDate(s), this.setEndDate(l)); } if ('object' == typeof i.ranges) { for (c in i.ranges) { s = 'string' == typeof i.ranges[c][0] ? e(i.ranges[c][0], this.locale.format) : e(i.ranges[c][0]), l = 'string' == typeof i.ranges[c][1] ? e(i.ranges[c][1], this.locale.format) : e(i.ranges[c][1]), this.minDate && s.isBefore(this.minDate) && (s = this.minDate.clone()); var h = this.maxDate; if (this.maxSpan && h && s.clone().add(this.maxSpan).isAfter(h) && (h = s.clone().add(this.maxSpan)), h && l.isAfter(h) && (l = h.clone()), !(this.minDate && l.isBefore(this.minDate, this.timepicker ? 'minute' : 'day') || h && s.isAfter(h, this.timepicker ? 'minute' : 'day'))) { var f; (f = document.createElement('textarea')).innerHTML = c; r = f.value; this.ranges[r] = [s, l]; } } var p = '<ul>'; for (c in this.ranges) p += '<li data-range-key="' + c + '">' + c + '</li>'; this.showCustomRangeLabel && (p += '<li data-range-key="' + this.locale.customRangeLabel + '">' + this.locale.customRangeLabel + '</li>'), p += '</ul>', this.container.find('.ranges'). prepend(p); } 'function' == typeof a && (this.callback = a), this.timePicker || (this.startDate = this.startDate.startOf( 'day'), this.endDate = this.endDate.endOf( 'day'), this.container.find('.calendar-time'). hide()), this.timePicker && this.autoApply && (this.autoApply = !1), this.autoApply && this.container.addClass('auto-apply'), 'object' == typeof i.ranges && this.container.addClass('show-ranges'), this.singleDatePicker && (this.container.addClass('single'), this.container.find( '.drp-calendar.left').addClass('single'), this.container.find( '.drp-calendar.left').show(), this.container.find( '.drp-calendar.right').hide(), !this.timePicker && this.autoApply && this.container.addClass('auto-apply')), (void 0 === i.ranges && !this.singleDatePicker || this.alwaysShowCalendars) && this.container.addClass('show-calendar'), this.container.addClass( 'opens' + this.opens), this.container.find( '.applyBtn, .cancelBtn'). addClass(this.buttonClasses), this.applyButtonClasses.length && this.container.find('.applyBtn'). addClass( this.applyButtonClasses), this.cancelButtonClasses.length && this.container.find('.cancelBtn'). addClass(this.cancelButtonClasses), this.container.find( '.applyBtn').html(this.locale.applyLabel), this.container.find( '.cancelBtn'). html(this.locale.cancelLabel), this.container.find( '.drp-calendar'). on('click.daterangepicker', '.prev', t.proxy(this.clickPrev, this)). on('click.daterangepicker', '.next', t.proxy(this.clickNext, this)). on('mousedown.daterangepicker', 'td.available', t.proxy(this.clickDate, this)). on('mouseenter.daterangepicker', 'td.available', t.proxy(this.hoverDate, this)). on('change.daterangepicker', 'select.yearselect', t.proxy(this.monthOrYearChanged, this)). on('change.daterangepicker', 'select.monthselect', t.proxy(this.monthOrYearChanged, this)). on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', t.proxy(this.timeChanged, this)), this.container.find( '.ranges'). on('click.daterangepicker', 'li', t.proxy(this.clickRange, this)), this.container.find( '.drp-buttons'). on('click.daterangepicker', 'button.applyBtn', t.proxy(this.clickApply, this)). on('click.daterangepicker', 'button.cancelBtn', t.proxy(this.clickCancel, this)), this.element.is( 'input') || this.element.is('button') ? this.element.on({ 'click.daterangepicker': t.proxy(this.show, this), 'focus.daterangepicker': t.proxy(this.show, this), 'keyup.daterangepicker': t.proxy(this.elementChanged, this), 'keydown.daterangepicker': t.proxy(this.keydown, this), }) : (this.element.on('click.daterangepicker', t.proxy(this.toggle, this)), this.element.on( 'keydown.daterangepicker', t.proxy(this.toggle, this))), this.updateElement(); }; return n.prototype = { constructor: n, setStartDate: function (t) { 'string' == typeof t && (this.startDate = e(t, this.locale.format)), 'object' == typeof t && (this.startDate = e(t)), this.timePicker || (this.startDate = this.startDate.startOf( 'day')), this.timePicker && this.timePickerIncrement && this.startDate.minute(Math.round( this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement), this.minDate && this.startDate.isBefore(this.minDate) && (this.startDate = this.minDate.clone(), this.timePicker && this.timePickerIncrement && this.startDate.minute(Math.round( this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement)), this.maxDate && this.startDate.isAfter(this.maxDate) && (this.startDate = this.maxDate.clone(), this.timePicker && this.timePickerIncrement && this.startDate.minute(Math.floor( this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement)), this.isShowing || this.updateElement(), this.updateMonthsInView(); }, setEndDate: function (t) { 'string' == typeof t && (this.endDate = e(t, this.locale.format)), 'object' == typeof t && (this.endDate = e(t)), this.timePicker || (this.endDate = this.endDate.endOf('day')), this.timePicker && this.timePickerIncrement && this.endDate.minute(Math.round( this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement), this.endDate.isBefore( this.startDate) && (this.endDate = this.startDate.clone()), this.maxDate && this.endDate.isAfter(this.maxDate) && (this.endDate = this.maxDate.clone()), this.maxSpan && this.startDate.clone(). add(this.maxSpan). isBefore(this.endDate) && (this.endDate = this.startDate.clone(). add(this.maxSpan)), this.previousRightTime = this.endDate.clone(), this.container.find( '.drp-selected'). html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format( this.locale.format)), this.isShowing || this.updateElement(), this.updateMonthsInView(); }, isInvalidDate: function () {return !1;}, isCustomDate: function () {return !1;}, updateView: function () { this.timePicker && (this.renderTimePicker('left'), this.renderTimePicker( 'right'), this.endDate ? this.container.find( '.right .calendar-time select'). prop('disabled', !1). removeClass('disabled') : this.container.find( '.right .calendar-time select'). prop('disabled', !0). addClass('disabled')), this.endDate && this.container.find('.drp-selected'). html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format( this.locale.format)), this.updateMonthsInView(), this.updateCalendars(), this.updateFormInputs(); }, updateMonthsInView: function () { if (this.endDate) { if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month && (this.startDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.startDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM')) && (this.endDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.endDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM'))) return; this.leftCalendar.month = this.startDate.clone(). date(2), this.linkedCalendars || this.endDate.month() == this.startDate.month() && this.endDate.year() == this.startDate.year() ? this.rightCalendar.month = this.startDate.clone(). date(2). add(1, 'month') : this.rightCalendar.month = this.endDate.clone(). date(2); } else this.leftCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && this.rightCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && (this.leftCalendar.month = this.startDate.clone(). date(2), this.rightCalendar.month = this.startDate.clone(). date(2). add(1, 'month')); this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate && (this.rightCalendar.month = this.maxDate.clone(). date(2), this.leftCalendar.month = this.maxDate.clone(). date(2). subtract(1, 'month')); }, updateCalendars: function () { if (this.timePicker) { var e, t, n, i; if (this.endDate) { if (e = parseInt( this.container.find('.left .hourselect').val(), 10), t = parseInt( this.container.find('.left .minuteselect').val(), 10), isNaN(t) && (t = parseInt(this.container.find( '.left .minuteselect option:last'). val(), 10)), n = this.timePickerSeconds ? parseInt( this.container.find('.left .secondselect'). val(), 10) : 0, !this.timePicker24Hour) 'PM' === (i = this.container.find('.left .ampmselect').val()) && e < 12 && (e += 12), 'AM' === i && 12 === e && (e = 0); } else if (e = parseInt( this.container.find('.right .hourselect').val(), 10), t = parseInt( this.container.find('.right .minuteselect').val(), 10), isNaN(t) && (t = parseInt( this.container.find('.right .minuteselect option:last'). val(), 10)), n = this.timePickerSeconds ? parseInt( this.container.find('.right .secondselect').val(), 10) : 0, !this.timePicker24Hour) 'PM' === (i = this.container.find('.right .ampmselect').val()) && e < 12 && (e += 12), 'AM' === i && 12 === e && (e = 0); this.leftCalendar.month.hour(e). minute(t). second(n), this.rightCalendar.month.hour(e). minute(t). second(n); } this.renderCalendar('left'), this.renderCalendar( 'right'), this.container.find('.ranges li'). removeClass('active'), null != this.endDate && this.calculateChosenLabel(); }, renderCalendar: function (n) { var i, a = (i = 'left' == n ? this.leftCalendar : this.rightCalendar).month.month(), r = i.month.year(), o = i.month.hour(), s = i.month.minute(), l = i.month.second(), c = e([r, a]).daysInMonth(), u = e([r, a, 1]), d = e([r, a, c]), h = e(u).subtract(1, 'month').month(), f = e(u).subtract(1, 'month').year(), p = e([f, h]).daysInMonth(), m = u.day(); (i = []).firstDay = u, i.lastDay = d; for (var g = 0; g < 6; g++) i[g] = []; var v = p - m + this.locale.firstDay + 1; v > p && (v -= 7), m == this.locale.firstDay && (v = p - 6); for (var y = e([f, h, v, 12, s, l]), b = (g = 0, 0), x = 0; g < 42; g++, b++, y = e(y).add(24, 'hour')) g > 0 && b % 7 == 0 && (b = 0, x++), i[x][b] = y.clone(). hour(o). minute(s). second(l), y.hour(12), this.minDate && i[x][b].format('YYYY-MM-DD') == this.minDate.format('YYYY-MM-DD') && i[x][b].isBefore(this.minDate) && 'left' == n && (i[x][b] = this.minDate.clone()), this.maxDate && i[x][b].format('YYYY-MM-DD') == this.maxDate.format('YYYY-MM-DD') && i[x][b].isAfter(this.maxDate) && 'right' == n && (i[x][b] = this.maxDate.clone()); 'left' == n ? this.leftCalendar.calendar = i : this.rightCalendar.calendar = i; var _ = 'left' == n ? this.minDate : this.startDate, w = this.maxDate, k = ('left' == n ? this.startDate : this.endDate, this.locale.direction, '<table class="table-condensed">'); k += '<thead>', k += '<tr>', (this.showWeekNumbers || this.showISOWeekNumbers) && (k += '<th></th>'), _ && !_.isBefore(i.firstDay) || this.linkedCalendars && 'left' != n ? k += '<th></th>' : k += '<th class="prev available"><span></span></th>'; var M = this.locale.monthNames[i[1][1].month()] + i[1][1].format(' YYYY'); if (this.showDropdowns) { for (var L = i[1][1].month(), S = i[1][1].year(), T = w && w.year() || this.maxYear, A = _ && _.year() || this.minYear, D = S == A, C = S == T, E = '<select class="monthselect">', O = 0; O < 12; O++) (!D || _ && O >= _.month()) && (!C || w && O <= w.month()) ? E += '<option value=\'' + O + '\'' + (O === L ? ' selected=\'selected\'' : '') + '>' + this.locale.monthNames[O] + '</option>' : E += '<option value=\'' + O + '\'' + (O === L ? ' selected=\'selected\'' : '') + ' disabled=\'disabled\'>' + this.locale.monthNames[O] + '</option>'; E += '</select>'; for (var Y = '<select class="yearselect">', P = A; P <= T; P++) Y += '<option value="' + P + '"' + (P === S ? ' selected="selected"' : '') + '>' + P + '</option>'; M = E + (Y += '</select>'); } if (k += '<th colspan="5" class="month">' + M + '</th>', w && !w.isAfter(i.lastDay) || this.linkedCalendars && 'right' != n && !this.singleDatePicker ? k += '<th></th>' : k += '<th class="next available"><span></span></th>', k += '</tr>', k += '<tr>', (this.showWeekNumbers || this.showISOWeekNumbers) && (k += '<th class="week">' + this.locale.weekLabel + '</th>'), t.each(this.locale.daysOfWeek, (function (e, t) { k += '<th>' + t + '</th>'; })), k += '</tr>', k += '</thead>', k += '<tbody>', null == this.endDate && this.maxSpan) { var I = this.startDate.clone(). add(this.maxSpan). endOf('day'); w && !I.isBefore(w) || (w = I); } for (x = 0; x < 6; x++) { k += '<tr>', this.showWeekNumbers ? k += '<td class="week">' + i[x][0].week() + '</td>' : this.showISOWeekNumbers && (k += '<td class="week">' + i[x][0].isoWeek() + '</td>'); for (b = 0; b < 7; b++) { var j = []; i[x][b].isSame(new Date, 'day') && j.push('today'), i[x][b].isoWeekday() > 5 && j.push('weekend'), i[x][b].month() != i[1][1].month() && j.push('off', 'ends'), this.minDate && i[x][b].isBefore(this.minDate, 'day') && j.push('off', 'disabled'), w && i[x][b].isAfter(w, 'day') && j.push('off', 'disabled'), this.isInvalidDate( i[x][b]) && j.push('off', 'disabled'), i[x][b].format( 'YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD') && j.push('active', 'start-date'), null != this.endDate && i[x][b].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD') && j.push('active', 'end-date'), null != this.endDate && i[x][b] > this.startDate && i[x][b] < this.endDate && j.push('in-range'); var N = this.isCustomDate(i[x][b]); !1 !== N && ('string' == typeof N ? j.push(N) : Array.prototype.push.apply(j, N)); var H = '', F = !1; for (g = 0; g < j.length; g++) H += j[g] + ' ', 'disabled' == j[g] && (F = !0); F || (H += 'available'), k += '<td class="' + H.replace(/^\s+|\s+$/g, '') + '" data-title="r' + x + 'c' + b + '">' + i[x][b].date() + '</td>'; } k += '</tr>'; } k += '</tbody>', k += '</table>', this.container.find( '.drp-calendar.' + n + ' .calendar-table').html(k); }, renderTimePicker: function (e) { if ('right' != e || this.endDate) { var t, n, i, a = this.maxDate; if (!this.maxSpan || this.maxDate && !this.startDate.clone(). add(this.maxSpan). isBefore(this.maxDate) || (a = this.startDate.clone().add(this.maxSpan)), 'left' == e) n = this.startDate.clone(), i = this.minDate; else if ('right' == e) { n = this.endDate.clone(), i = this.startDate; var r = this.container.find( '.drp-calendar.right .calendar-time'); if ('' != r.html() && (n.hour(isNaN(n.hour()) ? r.find('.hourselect option:selected').val() : n.hour()), n.minute(isNaN(n.minute()) ? r.find('.minuteselect option:selected').val() : n.minute()), n.second(isNaN(n.second()) ? r.find('.secondselect option:selected').val() : n.second()), !this.timePicker24Hour)) { var o = r.find('.ampmselect option:selected').val(); 'PM' === o && n.hour() < 12 && n.hour(n.hour() + 12), 'AM' === o && 12 === n.hour() && n.hour(0); } n.isBefore(this.startDate) && (n = this.startDate.clone()), a && n.isAfter(a) && (n = a.clone()); } t = '<select class="hourselect">'; for (var s = this.timePicker24Hour ? 0 : 1, l = this.timePicker24Hour ? 23 : 12, c = s; c <= l; c++) { var u = c; this.timePicker24Hour || (u = n.hour() >= 12 ? 12 == c ? 12 : c + 12 : 12 == c ? 0 : c); var d = n.clone().hour(u), h = !1; i && d.minute(59).isBefore(i) && (h = !0), a && d.minute(0).isAfter(a) && (h = !0), u != n.hour() || h ? t += h ? '<option value="' + c + '" disabled="disabled" class="disabled">' + c + '</option>' : '<option value="' + c + '">' + c + '</option>' : t += '<option value="' + c + '" selected="selected">' + c + '</option>'; } t += '</select> ', t += ': <select class="minuteselect">'; for (c = 0; c < 60; c += this.timePickerIncrement) { var f = c < 10 ? '0' + c : c; d = n.clone().minute(c), h = !1; i && d.second(59).isBefore(i) && (h = !0), a && d.second(0).isAfter(a) && (h = !0), n.minute() != c || h ? t += h ? '<option value="' + c + '" disabled="disabled" class="disabled">' + f + '</option>' : '<option value="' + c + '">' + f + '</option>' : t += '<option value="' + c + '" selected="selected">' + f + '</option>'; } if (t += '</select> ', this.timePickerSeconds) { t += ': <select class="secondselect">'; for (c = 0; c < 60; c++) { f = c < 10 ? '0' + c : c, d = n.clone().second(c), h = !1; i && d.isBefore(i) && (h = !0), a && d.isAfter(a) && (h = !0), n.second() != c || h ? t += h ? '<option value="' + c + '" disabled="disabled" class="disabled">' + f + '</option>' : '<option value="' + c + '">' + f + '</option>' : t += '<option value="' + c + '" selected="selected">' + f + '</option>'; } t += '</select> '; } if (!this.timePicker24Hour) { t += '<select class="ampmselect">'; var p = '', m = ''; i && n.clone().hour(12).minute(0).second(0).isBefore(i) && (p = ' disabled="disabled" class="disabled"'), a && n.clone().hour(0).minute(0).second(0).isAfter(a) && (m = ' disabled="disabled" class="disabled"'), n.hour() >= 12 ? t += '<option value="AM"' + p + '>AM</option><option value="PM" selected="selected"' + m + '>PM</option>' : t += '<option value="AM" selected="selected"' + p + '>AM</option><option value="PM"' + m + '>PM</option>', t += '</select>'; } this.container.find( '.drp-calendar.' + e + ' .calendar-time').html(t); } }, updateFormInputs: function () { this.singleDatePicker || this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)) ? this.container.find('button.applyBtn'). prop('disabled', !1) : this.container.find('button.applyBtn'). prop('disabled', !0); }, move: function () { var e, n = { top: 0, left: 0 }, i = this.drops, a = t(window).width(); switch (this.parentEl.is('body') || (n = { top: this.parentEl.offset().top - this.parentEl.scrollTop(), left: this.parentEl.offset().left - this.parentEl.scrollLeft(), }, a = this.parentEl[0].clientWidth + this.parentEl.offset().left), i) { case'auto': (e = this.element.offset().top + this.element.outerHeight() - n.top) + this.container.outerHeight() >= this.parentEl[0].scrollHeight && (e = this.element.offset().top - this.container.outerHeight() - n.top, i = 'up'); break; case'up': e = this.element.offset().top - this.container.outerHeight() - n.top; break; default: e = this.element.offset().top + this.element.outerHeight() - n.top; } this.container.css({ top: 0, left: 0, right: 'auto' }); var r = this.container.outerWidth(); if (this.container.toggleClass('drop-up', 'up' == i), 'left' == this.opens) { var o = a - this.element.offset().left - this.element.outerWidth(); r + o > t(window).width() ? this.container.css({ top: e, right: 'auto', left: 9 }) : this.container.css( { top: e, right: o, left: 'auto' }); } else if ('center' == this.opens) { (s = this.element.offset().left - n.left + this.element.outerWidth() / 2 - r / 2) < 0 ? this.container.css({ top: e, right: 'auto', left: 9 }) : s + r > t(window).width() ? this.container.css({ top: e, left: 'auto', right: 0 }) : this.container.css( { top: e, left: s, right: 'auto' }); } else { var s; (s = this.element.offset().left - n.left) + r > t(window).width() ? this.container.css({ top: e, left: 'auto', right: 0 }) : this.container.css( { top: e, left: s, right: 'auto' }); } }, show: function (e) { this.isShowing || (this._outsideClickProxy = t.proxy( (function (e) {this.outsideClick(e);}), this), t(document). on('mousedown.daterangepicker', this._outsideClickProxy). on('touchend.daterangepicker', this._outsideClickProxy). on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy). on('focusin.daterangepicker', this._outsideClickProxy), t( window). on('resize.daterangepicker', t.proxy((function (e) {this.move(e);}), this)), this.oldStartDate = this.startDate.clone(), this.oldEndDate = this.endDate.clone(), this.previousRightTime = this.endDate.clone(), this.updateView(), this.container.show(), this.move(), this.element.trigger( 'show.daterangepicker', this), this.isShowing = !0); }, hide: function (e) { this.isShowing && (this.endDate || (this.startDate = this.oldStartDate.clone(), this.endDate = this.oldEndDate.clone()), this.startDate.isSame( this.oldStartDate) && this.endDate.isSame(this.oldEndDate) || this.callback(this.startDate.clone(), this.endDate.clone(), this.chosenLabel), this.updateElement(), t(document). off('.daterangepicker'), t(window). off('.daterangepicker'), this.container.hide(), this.element.trigger( 'hide.daterangepicker', this), this.isShowing = !1); }, toggle: function (e) {this.isShowing ? this.hide() : this.show();}, outsideClick: function (e) { var n = t(e.target); 'focusin' == e.type || n.closest(this.element).length || n.closest(this.container).length || n.closest('.calendar-table').length || (this.hide(), this.element.trigger( 'outsideClick.daterangepicker', this)); }, showCalendars: function () { this.container.addClass( 'show-calendar'), this.move(), this.element.trigger( 'showCalendar.daterangepicker', this); }, hideCalendars: function () { this.container.removeClass( 'show-calendar'), this.element.trigger( 'hideCalendar.daterangepicker', this); }, clickRange: function (e) { var t = e.target.getAttribute('data-range-key'); if (this.chosenLabel = t, t == this.locale.customRangeLabel) this.showCalendars(); else { var n = this.ranges[t]; this.startDate = n[0], this.endDate = n[1], this.timePicker || (this.startDate.startOf('day'), this.endDate.endOf( 'day')), this.alwaysShowCalendars || this.hideCalendars(), this.clickApply(); } }, clickPrev: function (e) { t(e.target). parents('.drp-calendar'). hasClass('left') ? (this.leftCalendar.month.subtract(1, 'month'), this.linkedCalendars && this.rightCalendar.month.subtract(1, 'month')) : this.rightCalendar.month.subtract(1, 'month'), this.updateCalendars(); }, clickNext: function (e) { t(e.target). parents('.drp-calendar'). hasClass('left') ? this.leftCalendar.month.add(1, 'month') : (this.rightCalendar.month.add(1, 'month'), this.linkedCalendars && this.leftCalendar.month.add(1, 'month')), this.updateCalendars(); }, hoverDate: function (e) { if (t(e.target). hasClass('available')) { var n = t(e.target). attr('data-title'), i = n.substr(1, 1), a = n.substr(3, 1), r = t(e.target). parents('.drp-calendar'). hasClass('left') ? this.leftCalendar.calendar[i][a] : this.rightCalendar.calendar[i][a], o = this.leftCalendar, s = this.rightCalendar, l = this.startDate; this.endDate || this.container.find('.drp-calendar tbody td'). each((function (e, n) { if (!t(n). hasClass('week')) { var i = t(n). attr('data-title'), a = i.substr(1, 1), c = i.substr(3, 1), u = t(n). parents('.drp-calendar'). hasClass('left') ? o.calendar[a][c] : s.calendar[a][c]; u.isAfter(l) && u.isBefore(r) || u.isSame(r, 'day') ? t(n).addClass('in-range') : t(n).removeClass('in-range'); } })); } }, clickDate: function (e) { if (t(e.target).hasClass('available')) { var n = t(e.target).attr('data-title'), i = n.substr(1, 1), a = n.substr(3, 1), r = t(e.target). parents('.drp-calendar'). hasClass('left') ? this.leftCalendar.calendar[i][a] : this.rightCalendar.calendar[i][a]; if (this.endDate || r.isBefore(this.startDate, 'day')) { if (this.timePicker) { var o = parseInt( this.container.find('.left .hourselect').val(), 10); if (!this.timePicker24Hour) 'PM' === (c = this.container.find('.left .ampmselect'). val()) && o < 12 && (o += 12), 'AM' === c && 12 === o && (o = 0); var s = parseInt( this.container.find('.left .minuteselect'). val(), 10); isNaN(s) && (s = parseInt(this.container.find( '.left .minuteselect option:last').val(), 10)); var l = this.timePickerSeconds ? parseInt( this.container.find('.left .secondselect'). val(), 10) : 0; r = r.clone().hour(o).minute(s).second(l); } this.endDate = null, this.setStartDate(r.clone()); } else if (!this.endDate && r.isBefore(this.startDate)) this.setEndDate( this.startDate.clone()); else { if (this.timePicker) { var c; o = parseInt( this.container.find('.right .hourselect').val(), 10); if (!this.timePicker24Hour) 'PM' === (c = this.container.find('.right .ampmselect'). val()) && o < 12 && (o += 12), 'AM' === c && 12 === o && (o = 0); s = parseInt( this.container.find('.right .minuteselect'). val(), 10); isNaN(s) && (s = parseInt(this.container.find( '.right .minuteselect option:last').val(), 10)); l = this.timePickerSeconds ? parseInt( this.container.find('.right .secondselect'). val(), 10) : 0; r = r.clone().hour(o).minute(s).second(l); } this.setEndDate(r.clone()), this.autoApply && (this.calculateChosenLabel(), this.clickApply()); } this.singleDatePicker && (this.setEndDate(this.startDate), !this.timePicker && this.autoApply && this.clickApply()), this.updateView(), e.stopPropagation(); } }, calculateChosenLabel: function () { var e = !0, t = 0; for (var n in this.ranges) { if (this.timePicker) { var i = this.timePickerSeconds ? 'YYYY-MM-DD HH:mm:ss' : 'YYYY-MM-DD HH:mm'; if (this.startDate.format(i) == this.ranges[n][0].format(i) && this.endDate.format(i) == this.ranges[n][1].format( i)) { e = !1, this.chosenLabel = this.container.find( '.ranges li:eq(' + t + ')'). addClass('active'). attr('data-range-key'); break; } } else if (this.startDate.format('YYYY-MM-DD') == this.ranges[n][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[n][1].format('YYYY-MM-DD')) { e = !1, this.chosenLabel = this.container.find( '.ranges li:eq(' + t + ')'). addClass('active'). attr('data-range-key'); break; } t++; } e && (this.showCustomRangeLabel ? this.chosenLabel = this.container.find('.ranges li:last'). addClass('active'). attr('data-range-key') : this.chosenLabel = null, this.showCalendars()); }, clickApply: function (e) { this.hide(), this.element.trigger('apply.daterangepicker', this); }, clickCancel: function (e) { this.startDate = this.oldStartDate, this.endDate = this.oldEndDate, this.hide(), this.element.trigger( 'cancel.daterangepicker', this); }, monthOrYearChanged: function (e) { var n = t(e.target). closest('.drp-calendar'). hasClass('left'), i = n ? 'left' : 'right', a = this.container.find('.drp-calendar.' + i), r = parseInt(a.find('.monthselect').val(), 10), o = a.find('.yearselect').val(); n || (o < this.startDate.year() || o == this.startDate.year() && r < this.startDate.month()) && (r = this.startDate.month(), o = this.startDate.year()), this.minDate && (o < this.minDate.year() || o == this.minDate.year() && r < this.minDate.month()) && (r = this.minDate.month(), o = this.minDate.year()), this.maxDate && (o > this.maxDate.year() || o == this.maxDate.year() && r > this.maxDate.month()) && (r = this.maxDate.month(), o = this.maxDate.year()), n ? (this.leftCalendar.month.month(r). year(o), this.linkedCalendars && (this.rightCalendar.month = this.leftCalendar.month.clone(). add(1, 'month'))) : (this.rightCalendar.month.month(r). year(o), this.linkedCalendars && (this.leftCalendar.month = this.rightCalendar.month.clone(). subtract(1, 'month'))), this.updateCalendars(); }, timeChanged: function (e) { var n = t(e.target). closest('.drp-calendar'), i = n.hasClass('left'), a = parseInt(n.find('.hourselect').val(), 10), r = parseInt(n.find('.minuteselect').val(), 10); isNaN(r) && (r = parseInt(n.find('.minuteselect option:last').val(), 10)); var o = this.timePickerSeconds ? parseInt( n.find('.secondselect').val(), 10) : 0; if (!this.timePicker24Hour) { var s = n.find('.ampmselect'). val(); 'PM' === s && a < 12 && (a += 12), 'AM' === s && 12 === a && (a = 0); } if (i) { var l = this.startDate.clone(); l.hour(a), l.minute(r), l.second(o), this.setStartDate( l), this.singleDatePicker ? this.endDate = this.startDate.clone() : this.endDate && this.endDate.format('YYYY-MM-DD') == l.format('YYYY-MM-DD') && this.endDate.isBefore(l) && this.setEndDate(l.clone()); } else if (this.endDate) { var c = this.endDate.clone(); c.hour(a), c.minute(r), c.second(o), this.setEndDate(c); } this.updateCalendars(), this.updateFormInputs(), this.renderTimePicker( 'left'), this.renderTimePicker('right'); }, elementChanged: function () { if (this.element.is('input') && this.element.val().length) { var t = this.element.val(). split(this.locale.separator), n = null, i = null; 2 === t.length && (n = e(t[0], this.locale.format), i = e(t[1], this.locale.format)), (this.singleDatePicker || null === n || null === i) && (i = n = e(this.element.val(), this.locale.format)), n.isValid() && i.isValid() && (this.setStartDate(n), this.setEndDate( i), this.updateView()); } }, keydown: function (e) { 9 !== e.keyCode && 13 !== e.keyCode || this.hide(), 27 === e.keyCode && (e.preventDefault(), e.stopPropagation(), this.hide()); }, updateElement: function () { if (this.element.is('input') && this.autoUpdateInput) { var e = this.startDate.format(this.locale.format); this.singleDatePicker || (e += this.locale.separator + this.endDate.format(this.locale.format)), e !== this.element.val() && this.element.val(e).trigger('change'); } }, remove: function () { this.container.remove(), this.element.off( '.daterangepicker'), this.element.removeData(); }, }, t.fn.daterangepicker = function (e, i) { var a = t.extend(!0, {}, t.fn.daterangepicker.defaultOptions, e); return this.each((function () { var e = t(this); e.data('daterangepicker') && e.data('daterangepicker').remove(), e.data('daterangepicker', new n(e, a, i)); })), this; }, n; })), function (e) { 'use strict'; e.event.special.destroyed || (e.event.special.destroyed = { remove: function (e) { e.handler && e.handler(); }, }), e.fn.extend({ maxlength: function (t, n) { var i = e('body'); function a (e) { var t = e.charCodeAt(); return t ? t < 128 ? 1 : t < 2048 ? 2 : 3 : 0; } function r (e) { return e.split(''). map(a). concat(0). reduce((function (e, t) {return e + t;})); } function o (e) { var n = e.val(); n = t.twoCharLinebreak ? n.replace(/\r(?!\n)|\n(?!\r)/g, '\r\n') : n.replace(/(?:\r\n|\r|\n)/g, '\n'); var i = 0; return i = t.utf8 ? r(n) : n.length, 'file' === e.prop('type') && '' !== e.val() && (i -= 12), i; } function s (e, t) {return t - o(e);} function l (e, t) { t.css({ display: 'block' }), e.trigger('maxlength.shown'); } function c (e, n, i) { var a = ''; return t.message ? a = 'function' == typeof t.message ? t.message(e, n) : t.message.replace('%charsTyped%', i). replace('%charsRemaining%', n - i). replace('%charsTotal%', n) : (t.preText && (a += t.preText), t.showCharsTyped ? a += i : a += n - i, t.showMaxLength && (a += t.separator + n), t.postText && (a += t.postText)), a; } function u (e, n, i, a) { var r, s, u, d; a && (a.html(c(n.val(), i, i - e)), e > 0 ? (r = n, s = t.threshold, u = i, d = !0, !t.alwaysShow && u - o(r) > s && (d = !1), d ? l(n, a.removeClass( t.limitReachedClass + ' ' + t.limitExceededClass). addClass(t.warningClass)) : function ( e, n) { t.alwaysShow || (n.css({ display: 'none' }), e.trigger( 'maxlength.hidden')); }(n, a)) : t.limitExceededClass ? l(n, 0 === e ? a.removeClass( t.warningClass + ' ' + t.limitExceededClass). addClass(t.limitReachedClass) : a.removeClass( t.warningClass + ' ' + t.limitReachedClass). addClass(t.limitExceededClass)) : l(n, a.removeClass(t.warningClass). addClass( t.limitReachedClass))), t.customMaxAttribute && (e < 0 ? n.addClass(t.customMaxClass) : n.removeClass( t.customMaxClass)); } function d (n, i) { var a = function (t) { var n = t[0]; return e.extend({}, 'function' == typeof n.getBoundingClientRect ? n.getBoundingClientRect() : { width: n.offsetWidth, height: n.offsetHeight }, t.offset()); }(n); if ('function' !== e.type(t.placement)) if (e.isPlainObject( t.placement)) !function (n, i) { if (n && i) { var a = {}; e.each(['top', 'bottom', 'left', 'right', 'position'], (function (e, n) { var i = t.placement[n]; void 0 !== i && (a[n] = i); })), i.css(a); } }(t.placement, i); else { var r = n.outerWidth(), o = i.outerWidth(), s = i.width(), l = i.height(); switch (t.appendToParent && (a.top -= n.parent().offset().top, a.left -= n.parent(). offset().left), t.placement) { case'bottom': i.css({ top: a.top + a.height, left: a.left + a.width / 2 - s / 2, }); break; case'top': i.css({ top: a.top - l, left: a.left + a.width / 2 - s / 2, }); break; case'left': i.css({ top: a.top + a.height / 2 - l / 2, left: a.left - s, }); break; case'right': i.css({ top: a.top + a.height / 2 - l / 2, left: a.left + a.width, }); break; case'bottom-right': i.css({ top: a.top + a.height, left: a.left + a.width, }); break; case'top-right': i.css({ top: a.top - l, left: a.left + r }); break; case'top-left': i.css({ top: a.top - l, left: a.left - o }); break; case'bottom-left': i.css({ top: a.top + n.outerHeight(), left: a.left - o, }); break; case'centered-right': i.css({ top: a.top + l / 2, left: a.left + r - o - 3, }); break; case'bottom-right-inside': i.css({ top: a.top + a.height, left: a.left + a.width - o, }); break; case'top-right-inside': i.css({ top: a.top - l, left: a.left + r - o }); break; case'top-left-inside': i.css({ top: a.top - l, left: a.left }); break; case'bottom-left-inside': i.css( { top: a.top + n.outerHeight(), left: a.left }); } } else t.placement(n, i, a); } function h (e) { var n = e.attr('maxlength') || t.customMaxAttribute; if (t.customMaxAttribute && !t.allowOverMax) { var i = e.attr(t.customMaxAttribute); (!n || i < n) && (n = i); } return n || (n = e.attr('size')), n; } return e.isFunction(t) && !n && (n = t, t = {}), t = e.extend({ showOnReady: !1, alwaysShow: !0, threshold: 0, warningClass: 'small form-text text-muted', limitReachedClass: 'small form-text text-danger', limitExceededClass: '', separator: ' / ', preText: '', postText: '', showMaxLength: !0, placement: 'bottom-right-inside', message: null, showCharsTyped: !0, validate: !1, utf8: !1, appendToParent: !1, twoCharLinebreak: !0, customMaxAttribute: null, customMaxClass: 'overmax', allowOverMax: !1, zIndex: 1099, }, t), this.each((function () { var n, o, l = e(this); function f () { var a = c(l.val(), n, '0'); n = h(l), o || (o = e('<span class="bootstrap-maxlength"></span>'). css({ display: 'none', position: 'absolute', whiteSpace: 'nowrap', zIndex: t.zIndex, }). html(a)), l.is('textarea') && (l.data('maxlenghtsizex', l.outerWidth()), l.data( 'maxlenghtsizey', l.outerHeight()), l.mouseup( (function () { l.outerWidth() === l.data('maxlenghtsizex') && l.outerHeight() === l.data('maxlenghtsizey') || d(l, o), l.data('maxlenghtsizex', l.outerWidth()), l.data('maxlenghtsizey', l.outerHeight()); }))), t.appendToParent ? (l.parent(). append(o), l.parent().css('position', 'relative')) : i.append(o), u(s(l, h(l)), l, n, o), d(l, o); } e(window).resize((function () {o && d(l, o);})), t.showOnReady ? l.ready((function () {f();})) : l.focus((function () {f();})), l.on( 'maxlength.reposition', (function () {d(l, o);})), l.on('destroyed', (function () {o && o.remove();})), l.on('blur', (function () {o && !t.showOnReady && o.remove();})), l.on( 'input', (function () { var e = h(l), i = s(l, e), c = !0; return t.validate && i < 0 ? (!function ( e, n) { var i = e.val(); if (t.twoCharLinebreak && '\n' === (i = i.replace(/\r(?!\n)|\n(?!\r)/g, '\r\n'))[i.length - 1] && (n -= i.length % 2), t.utf8) { for (var o = i.split('').map(a), s = 0, l = r( i) - n; s < l; s += o.pop()) ; n -= n - o.length; } e.val(i.substr(0, n)); }(l, e), c = !1) : u(i, l, n, o), c; })); })); }, }); }(jQuery), function (e, t) { if ('object' == typeof exports && 'object' == typeof module) module.exports = t(); else if ('function' == typeof define && define.amd) define([], t); else { var n = t(); for (var i in n) ('object' == typeof exports ? exports : e)[i] = n[i]; } }(this, (function () { return function () { 'use strict'; var e = { 4528: function (e) { e.exports = JSON.parse( '{"BACKSPACE":8,"BACKSPACE_SAFARI":127,"DELETE":46,"DOWN":40,"END":35,"ENTER":13,"ESCAPE":27,"HOME":36,"INSERT":45,"LEFT":37,"PAGE_DOWN":34,"PAGE_UP":33,"RIGHT":39,"SPACE":32,"TAB":9,"UP":38,"X":88,"Z":90,"CONTROL":17,"PAUSE/BREAK":19,"WINDOWS_LEFT":91,"WINDOWS_RIGHT":92,"KEY_229":229}'); }, 8741: function (e, t) { Object.defineProperty(t, '__esModule', { value: !0 }), t.default = void 0; var n = !('undefined' == typeof window || !window.document || !window.document.createElement); t.default = n; }, 3976: function (e, t, n) { Object.defineProperty(t, '__esModule', { value: !0 }), t.default = void 0; var i, a = (i = n(4528)) && i.__esModule ? i : { default: i }, r = { _maxTestPos: 500, placeholder: '_', optionalmarker: ['[', ']'], quantifiermarker: ['{', '}'], groupmarker: ['(', ')'], alternatormarker: '|', escapeChar: '\\', mask: null, regex: null, oncomplete: function () {}, onincomplete: function () {}, oncleared: function () {}, repeat: 0, greedy: !1, autoUnmask: !1, removeMaskOnSubmit: !1, clearMaskOnLostFocus: !0, insertMode: !0, insertModeVisual: !0, clearIncomplete: !1, alias: null, onKeyDown: function () {}, onBeforeMask: null, onBeforePaste: function (e, t) { return 'function' == typeof t.onBeforeMask ? t.onBeforeMask.call(this, e, t) : e; }, onBeforeWrite: null, onUnMask: null, showMaskOnFocus: !0, showMaskOnHover: !0, onKeyValidation: function () {}, skipOptionalPartCharacter: ' ', numericInput: !1, rightAlign: !1, undoOnEscape: !0, radixPoint: '', _radixDance: !1, groupSeparator: '', keepStatic: null, positionCaretOnTab: !0, tabThrough: !1, supportsInputType: [ 'text', 'tel', 'url', 'password', 'search'], ignorables: [ a.default.BACKSPACE, a.default.TAB, a.default['PAUSE/BREAK'], a.default.ESCAPE, a.default.PAGE_UP, a.default.PAGE_DOWN, a.default.END, a.default.HOME, a.default.LEFT, a.default.UP, a.default.RIGHT, a.default.DOWN, a.default.INSERT, a.default.DELETE, 93, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 229], isComplete: null, preValidation: null, postValidation: null, staticDefinitionSymbol: void 0, jitMasking: !1, nullable: !0, inputEventOnly: !1, noValuePatching: !1, positionCaretOnClick: 'lvp', casing: null, inputmode: 'text', importDataAttributes: !0, shiftPositions: !0, usePrototypeDefinitions: !0, validationEventTimeOut: 3e3, }; t.default = r; }, 7392: function (e, t) { Object.defineProperty(t, '__esModule', { value: !0 }), t.default = void 0, t.default = { 9: { validator: '[0-90-9]', definitionSymbol: '*', }, a: { validator: '[A-Za-zА-яЁёÀ-ÿµ]', definitionSymbol: '*', }, '*': { validator: '[0-90-9A-Za-zА-яЁёÀ-ÿµ]' }, }; }, 253: function (e, t) { Object.defineProperty(t, '__esModule', { value: !0 }), t.default = function ( e, t, n) { if (void 0 === n) return e.__data ? e.__data[t] : null; e.__data = e.__data || {}, e.__data[t] = n; }; }, 3776: function (e, t, n) { Object.defineProperty(t, '__esModule', { value: !0 }), t.on = function (e, t) { function n ( e, n) { a.addEventListener ? a.addEventListener(e, t, !1) : a.attachEvent && a.attachEvent('on' + e, t), i[e] = i[e] || {}, i[e][n] = i[e][n] || [], i[e][n].push(t); } if (c( this[0])) for (var i = this[0].eventRegistry, a = this[0], r = e.split( ' '), o = 0; o < r.length; o++) { var s = r[o].split('.'); n(s[0], s[1] || 'global'); } return this; }, t.off = function (e, t) { var n, i; function a (e, t, a) { if (e in n == 1) if (i.removeEventListener ? i.removeEventListener(e, a, !1) : i.detachEvent && i.detachEvent('on' + e, a), '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); } function r (e, i) { var a, r, o = []; if (e.length > 0) if (void 0 === t) for (a = 0, r = n[e][i].length; a < r; a++) o.push({ ev: e, namespace: i && i.length > 0 ? i : 'global', handler: n[e][i][a], }); else o.push({ ev: e, namespace: i && i.length > 0 ? i : 'global', handler: t, }); else if (i.length > 0) for (var s in n) for (var l in n[s]) if (l === i) if (void 0 === t) for (a = 0, r = n[s][l].length; a < r; a++) o.push({ ev: s, namespace: l, handler: n[s][l][a], }); else o.push({ ev: s, namespace: l, handler: t }); return o; } if (c(this[0]) && e) { n = this[0].eventRegistry, i = this[0]; for (var o = e.split(' '), s = 0; s < o.length; s++) for (var l = o[s].split('.'), u = r(l[0], l[1]), d = 0, h = u.length; d < h; d++) a(u[d].ev, u[d].namespace, u[d].handler); } return this; }, t.trigger = function (e) { if (c( this[0])) for (var t = this[0].eventRegistry, n = this[0], i = 'string' == typeof e ? e.split(' ') : [e.type], r = 0; r < i.length; r++) { var s = i[r].split('.'), l = s[0], u = s[1] || 'global'; if (void 0 !== document && 'global' === u) { var d, h, f = { bubbles: !0, cancelable: !0, detail: arguments[1], }; if (document.createEvent) { try { switch (l) { case'input': f.inputType = 'insertText', d = new InputEvent( l, f); break; default: d = new CustomEvent(l, f); } } catch (e) { (d = document.createEvent( 'CustomEvent')).initCustomEvent(l, f.bubbles, f.cancelable, f.detail); } e.type && (0, a.default)(d, e), n.dispatchEvent( d); } else (d = document.createEventObject()).eventType = l, d.detail = arguments[1], e.type && (0, a.default)(d, e), n.fireEvent( 'on' + d.eventType, d); } else if (void 0 !== t[l]) if (arguments[0] = arguments[0].type ? arguments[0] : o.default.Event( arguments[0]), arguments[0].detail = arguments.slice( 1), 'global' === u) for (var p in t[l]) for (h = 0; h < t[l][p].length; h++) t[l][p][h].apply(n, arguments); else for (h = 0; h < t[l][u].length; h++) t[l][u][h].apply(n, arguments); } return this; }, t.Event = void 0; var i, a = l(n(600)), r = l(n(9380)), o = l(n(4963)), s = l(n(8741)); function l (e) {return e && e.__esModule ? e : { default: e };} function c (e) {return e instanceof Element;} t.Event = i, 'function' == typeof r.default.CustomEvent ? t.Event = i = r.default.CustomEvent : s.default && (t.Event = i = function (e, t) { t = t || { bubbles: !1, cancelable: !1, detail: void 0 }; var n = document.createEvent('CustomEvent'); return n.initCustomEvent(e, t.bubbles, t.cancelable, t.detail), n; }, i.prototype = r.default.Event.prototype); }, 600: function (e, t) { function n (e) { return (n = '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; })(e); } Object.defineProperty(t, '__esModule', { value: !0 }), t.default = function e () { var t, i, a, r, o, s, l = arguments[0] || {}, c = 1, u = arguments.length, d = !1; for ('boolean' == typeof l && (d = l, l = arguments[c] || {}, c++), 'object' !== n(l) && 'function' != typeof l && (l = {}); c < u; c++) if (null != (t = arguments[c])) for (i in t) a = l[i], l !== (r = t[i]) && (d && r && ('[object Object]' === Object.prototype.toString.call(r) || (o = Array.isArray(r))) ? (o ? (o = !1, s = a && Array.isArray(a) ? a : []) : s = a && '[object Object]' === Object.prototype.toString.call(a) ? a : {}, l[i] = e(d, s, r)) : void 0 !== r && (l[i] = r)); return l; }; }, 4963: function (e, t, n) { Object.defineProperty(t, '__esModule', { value: !0 }), t.default = void 0; var i = s(n(600)), a = s(n(9380)), r = s(n(253)), o = n(3776); function s (e) {return e && e.__esModule ? e : { default: e };} var l = a.default.document; function c (e) { return e instanceof c ? e : this instanceof c ? void (null != e && e !== a.default && (this[0] = e.nodeName ? e : void 0 !== e[0] && e[0].nodeName ? e[0] : l.querySelector( e), void 0 !== this[0] && null !== this[0] && (this[0].eventRegistry = this[0].eventRegistry || {}))) : new c(e); } c.prototype = { on: o.on, off: o.off, trigger: o.trigger, }, c.extend = i.default, c.data = r.default, c.Event = o.Event; var u = c; t.default = u; }, 9845: function (e, t, n) { Object.defineProperty(t, '__esModule', { value: !0 }), t.iphone = t.iemobile = t.mobile = t.ie = t.ua = void 0; var i, a = (i = n(9380)) && i.__esModule ? i : { default: i }, r = a.default.navigator && a.default.navigator.userAgent || '', o = r.indexOf('MSIE ') > 0 || r.indexOf('Trident/') > 0, s = 'ontouchstart' in a.default, l = /iemobile/i.test(r), c = /iphone/i.test(r) && !l; t.iphone = c, t.iemobile = l, t.mobile = s, t.ie = o, t.ua = r; }, 7184: function (e, t) { Object.defineProperty(t, '__esModule', { value: !0 }), t.default = function (e) { return e.replace(n, '\\$1'); }; var n = new RegExp('(\\' + [ '/', '.', '*', '+', '?', '|', '(', ')', '[', ']', '{', '}', '\\', '$', '^'].join('|\\') + ')', 'gim'); }, 6030: function (e, t, n) { Object.defineProperty(t, '__esModule', { value: !0 }), t.EventHandlers = void 0; var i, a = n(8711), r = (i = n(4528)) && i.__esModule ? i : { default: i }, o = n(9845), s = n(7215), l = n(7760), c = n(4713), u = { keydownEvent: function (e) { var t = this.inputmask, n = t.opts, i = t.dependencyLib, u = t.maskset, d = this, h = i(d), f = e.keyCode, p = a.caret.call(t, d), m = n.onKeyDown.call(this, e, a.getBuffer.call(t), p, n); if (void 0 !== m) return m; if (f === r.default.BACKSPACE || f === r.default.DELETE || o.iphone && f === r.default.BACKSPACE_SAFARI || e.ctrlKey && f === r.default.X && !('oncut' in d)) e.preventDefault(), s.handleRemove.call(t, d, f, p), (0, l.writeBuffer)(d, a.getBuffer.call(t, !0), u.p, e, d.inputmask._valueGet() !== a.getBuffer.call(t).join('')); else if (f === r.default.END || f === r.default.PAGE_DOWN) { e.preventDefault(); var g = a.seekNext.call(t, a.getLastValidPosition.call(t)); a.caret.call(t, d, e.shiftKey ? p.begin : g, g, !0); } else f === r.default.HOME && !e.shiftKey || f === r.default.PAGE_UP ? (e.preventDefault(), a.caret.call(t, d, 0, e.shiftKey ? p.begin : 0, !0)) : n.undoOnEscape && f === r.default.ESCAPE && !0 !== e.altKey ? ((0, l.checkVal)(d, !0, !1, t.undoValue.split('')), h.trigger('click')) : !0 === n.tabThrough && f === r.default.TAB ? !0 === e.shiftKey ? (p.end = a.seekPrevious.call(t, p.end, !0), !0 === c.getTest.call(t, p.end - 1).match.static && p.end--, p.begin = a.seekPrevious.call( t, p.end, !0), p.begin >= 0 && p.end > 0 && (e.preventDefault(), a.caret.call(t, d, p.begin, p.end))) : (p.begin = a.seekNext.call(t, p.begin, !0), p.end = a.seekNext.call(t, p.begin, !0), p.end < u.maskLength && p.end--, p.begin <= u.maskLength && (e.preventDefault(), a.caret.call(t, d, p.begin, p.end))) : e.shiftKey || n.insertModeVisual && !1 === n.insertMode && (f === r.default.RIGHT ? setTimeout( (function () { var e = a.caret.call(t, d); a.caret.call(t, d, e.begin); }), 0) : f === r.default.LEFT && setTimeout((function () { var e = a.translatePosition.call(t, d.inputmask.caretPos.begin); a.translatePosition.call(t, d.inputmask.caretPos.end), t.isRTL ? a.caret.call(t, d, e + (e === u.maskLength ? 0 : 1)) : a.caret.call(t, d, e - (0 === e ? 0 : 1)); }), 0)); t.ignorable = n.ignorables.includes(f); }, keypressEvent: function (e, t, n, i, o) { var c = this.inputmask || this, u = c.opts, d = c.dependencyLib, h = c.maskset, f = c.el, p = d(f), m = e.which || e.charCode || e.keyCode; if (!(!0 === t || e.ctrlKey && e.altKey) && (e.ctrlKey || e.metaKey || c.ignorable)) return m === r.default.ENTER && c.undoValue !== c._valueGet(!0) && (c.undoValue = c._valueGet(!0), setTimeout( (function () {p.trigger('change');}), 0)), c.skipInputEvent = !0, !0; if (m) { 44 !== m && 46 !== m || 3 !== e.location || '' === u.radixPoint || (m = u.radixPoint.charCodeAt(0)); var g, v = t ? { begin: o, end: o } : a.caret.call(c, f), y = String.fromCharCode(m); h.writeOutBuffer = !0; var b = s.isValid.call(c, v, y, i, void 0, void 0, void 0, t); if (!1 !== b && (a.resetMaskSet.call(c, !0), g = void 0 !== b.caret ? b.caret : a.seekNext.call(c, b.pos.begin ? b.pos.begin : b.pos), h.p = g), g = u.numericInput && void 0 === b.caret ? a.seekPrevious.call(c, g) : g, !1 !== n && (setTimeout( (function () { u.onKeyValidation.call(f, m, b); }), 0), h.writeOutBuffer && !1 !== b)) { var x = a.getBuffer.call(c); (0, l.writeBuffer)(f, x, g, e, !0 !== t); } if (e.preventDefault(), t) return !1 !== b && (b.forwardPosition = g), b; } }, keyupEvent: function (e) { var t = this.inputmask; !t.isComposing || e.keyCode !== r.default.KEY_229 && e.keyCode !== r.default.ENTER || t.$el.trigger('input'); }, pasteEvent: function (e) { var t, n = this.inputmask, i = n.opts, r = n._valueGet(!0), o = a.caret.call(n, this); n.isRTL && (t = o.end, o.end = o.begin, o.begin = t); var s = r.substr(0, o.begin), c = r.substr(o.end, r.length); if (s == (n.isRTL ? a.getBufferTemplate.call(n).slice().reverse() : a.getBufferTemplate.call(n)).slice(0, o.begin). join('') && (s = ''), c == (n.isRTL ? a.getBufferTemplate.call(n).slice().reverse() : a.getBufferTemplate.call(n)).slice(o.end). join('') && (c = ''), window.clipboardData && window.clipboardData.getData) r = s + window.clipboardData.getData('Text') + c; else { if (!e.clipboardData || !e.clipboardData.getData) return !0; r = s + e.clipboardData.getData('text/plain') + c; } var u = r; if ('function' == typeof i.onBeforePaste) { if (!1 === (u = i.onBeforePaste.call(n, r, i))) return e.preventDefault(); u || (u = r); } return (0, l.checkVal)(this, !0, !1, u.toString().split(''), e), e.preventDefault(); }, inputFallBackEvent: function (e) { var t = this.inputmask, n = t.opts, i = t.dependencyLib, s = this, d = s.inputmask._valueGet(!0), h = (t.isRTL ? a.getBuffer.call(t).slice().reverse() : a.getBuffer.call(t)).join(''), f = a.caret.call(t, s, void 0, void 0, !0); if (h !== d) { var p = function (e, i, r) { for (var o, s, l, u = e.substr(0, r.begin). split(''), d = e.substr(r.begin). split(''), h = i.substr(0, r.begin). split(''), f = i.substr(r.begin). split(''), p = u.length >= h.length ? u.length : h.length, m = d.length >= f.length ? d.length : f.length, g = '', v = [], y = '~'; u.length < p;) u.push(y); for (; h.length < p;) h.push(y); for (; d.length < m;) d.unshift(y); for (; f.length < m;) f.unshift(y); var b = u.concat(d), x = h.concat(f); for (s = 0, o = b.length; s < o; s++) switch (l = c.getPlaceholder.call(t, a.translatePosition.call(t, s)), g) { case'insertText': x[s - 1] === b[s] && r.begin == b.length - 1 && v.push(b[s]), s = o; break; case'insertReplacementText': case'deleteContentBackward': b[s] === y ? r.end++ : s = o; break; default: b[s] !== x[s] && (b[s + 1] !== y && b[s + 1] !== l && void 0 !== b[s + 1] || (x[s] !== l || x[s + 1] !== y) && x[s] !== y ? x[s + 1] === y && x[s] === b[s + 1] ? (g = 'insertText', v.push( b[s]), r.begin--, r.end--) : b[s] !== l && b[s] !== y && (b[s + 1] === y || x[s] !== b[s] && x[s + 1] === b[s + 1]) ? (g = 'insertReplacementText', v.push( b[s]), r.begin--) : b[s] === y ? (g = 'deleteContentBackward', (a.isMask.call( t, a.translatePosition.call( t, s), !0) || x[s] === n.radixPoint) && r.end++) : s = o : (g = 'insertText', v.push( b[s]), r.begin--, r.end--)); } return { action: g, data: v, caret: r }; }(d = function ( e, n, i) { if (o.iemobile) { var r = n.replace( a.getBuffer.call(t).join(''), ''); if (1 === r.length) { var s = n.split(''); s.splice(i.begin, 0, r), n = s.join(''); } } return n; }(0, d, f), h, f); switch ((s.inputmask.shadowRoot || s.ownerDocument).activeElement !== s && s.focus(), (0, l.writeBuffer)(s, a.getBuffer.call(t)), a.caret.call(t, s, f.begin, f.end, !0), p.action) { case'insertText': case'insertReplacementText': p.data.forEach((function (e, n) { var a = new i.Event('keypress'); a.which = e.charCodeAt( 0), t.ignorable = !1, u.keypressEvent.call( s, a); })), setTimeout( (function () {t.$el.trigger('keyup');}), 0); break; case'deleteContentBackward': var m = new i.Event('keydown'); m.keyCode = r.default.BACKSPACE, u.keydownEvent.call( s, m); break; default: (0, l.applyInputValue)(s, d); } e.preventDefault(); } }, compositionendEvent: function (e) { var t = this.inputmask; t.isComposing = !1, t.$el.trigger('input'); }, setValueEvent: function (e) { var t = this.inputmask, n = this, i = e && e.detail ? e.detail[0] : arguments[1]; void 0 === i && (i = n.inputmask._valueGet(!0)), (0, l.applyInputValue)( n, i), (e.detail && void 0 !== e.detail[1] || void 0 !== arguments[2]) && a.caret.call(t, n, e.detail ? e.detail[1] : arguments[2]); }, focusEvent: function (e) { var t = this.inputmask, n = t.opts, i = this, r = i.inputmask._valueGet(); n.showMaskOnFocus && r !== a.getBuffer.call(t).join('') && (0, l.writeBuffer)(i, a.getBuffer.call(t), a.seekNext.call(t, a.getLastValidPosition.call(t))), !0 !== n.positionCaretOnTab || !1 !== t.mouseEnter || s.isComplete.call(t, a.getBuffer.call(t)) && -1 !== a.getLastValidPosition.call(t) || u.clickEvent.apply(i, [e, !0]), t.undoValue = t._valueGet(!0); }, invalidEvent: function (e) {this.inputmask.validationEvent = !0;}, mouseleaveEvent: function () { var e = this.inputmask, t = e.opts, n = this; e.mouseEnter = !1, t.clearMaskOnLostFocus && (n.inputmask.shadowRoot || n.ownerDocument).activeElement !== n && (0, l.HandleNativePlaceholder)(n, e.originalPlaceholder); }, clickEvent: function (e, t) { var n = this.inputmask, i = this; if ((i.inputmask.shadowRoot || i.ownerDocument).activeElement === i) { var r = a.determineNewCaretPosition.call(n, a.caret.call(n, i), t); void 0 !== r && a.caret.call(n, i, r); } }, cutEvent: function (e) { var t = this.inputmask, n = t.maskset, i = this, o = a.caret.call(t, i), c = window.clipboardData || e.clipboardData, u = t.isRTL ? a.getBuffer.call(t). slice(o.end, o.begin) : a.getBuffer.call(t). slice(o.begin, o.end); c.setData('text', t.isRTL ? u.reverse().join('') : u.join( '')), document.execCommand && document.execCommand('copy'), s.handleRemove.call(t, i, r.default.DELETE, o), (0, l.writeBuffer)(i, a.getBuffer.call(t), n.p, e, t.undoValue !== t._valueGet(!0)); }, blurEvent: function (e) { var t = this.inputmask, n = t.opts, i = (0, t.dependencyLib)(this), r = this; if (r.inputmask) { (0, l.HandleNativePlaceholder)(r, t.originalPlaceholder); var o = r.inputmask._valueGet(), c = a.getBuffer.call(t).slice(); '' !== o && (n.clearMaskOnLostFocus && (-1 === a.getLastValidPosition.call(t) && o === a.getBufferTemplate.call(t).join('') ? c = [] : l.clearOptionalTail.call(t, c)), !1 === s.isComplete.call(t, c) && (setTimeout( (function () {i.trigger('incomplete');}), 0), n.clearIncomplete && (a.resetMaskSet.call(t), c = n.clearMaskOnLostFocus ? [] : a.getBufferTemplate.call(t). slice())), (0, l.writeBuffer)(r, c, void 0, e)), t.undoValue !== t._valueGet(!0) && (t.undoValue = t._valueGet(!0), i.trigger( 'change')); } }, mouseenterEvent: function () { var e = this.inputmask, t = e.opts, n = this; if (e.mouseEnter = !0, (n.inputmask.shadowRoot || n.ownerDocument).activeElement !== n) { var i = (e.isRTL ? a.getBufferTemplate.call(e). slice(). reverse() : a.getBufferTemplate.call(e)).join( ''); e.placeholder !== i && n.placeholder !== e.originalPlaceholder && (e.originalPlaceholder = n.placeholder), t.showMaskOnHover && (0, l.HandleNativePlaceholder)(n, i); } }, submitEvent: function () { var e = this.inputmask, t = e.opts; e.undoValue !== e._valueGet(!0) && e.$el.trigger('change'), t.clearMaskOnLostFocus && -1 === a.getLastValidPosition.call(e) && e._valueGet && e._valueGet() === a.getBufferTemplate.call(e).join('') && e._valueSet(''), t.clearIncomplete && !1 === s.isComplete.call(e, a.getBuffer.call(e)) && e._valueSet(''), t.removeMaskOnSubmit && (e._valueSet(e.unmaskedvalue(), !0), setTimeout( (function () { (0, l.writeBuffer)(e.el, a.getBuffer.call(e)); }), 0)); }, resetEvent: function () { var e = this.inputmask; e.refreshValue = !0, setTimeout((function () { (0, l.applyInputValue)(e.el, e._valueGet(!0)); }), 0); }, }; t.EventHandlers = u; }, 9716: function (e, t, n) { Object.defineProperty(t, '__esModule', { value: !0 }), t.EventRuler = void 0; var i = s(n(2394)), a = s(n(4528)), r = n(8711), o = n(7760); function s (e) {return e && e.__esModule ? e : { default: e };} var l = { on: function (e, t, n) { var s = e.inputmask.dependencyLib, l = function (t) { t.originalEvent && (t = t.originalEvent || t, arguments[0] = t); var l, c = this, u = c.inputmask, d = u ? u.opts : void 0; if (void 0 === u && 'FORM' !== this.nodeName) { var h = s.data(c, '_inputmask_opts'); s(c).off(), h && new i.default(h).mask(c); } else { if (['submit', 'reset', 'setvalue'].includes( t.type) || 'FORM' === this.nodeName || !(c.disabled || c.readOnly && !('keydown' === t.type && t.ctrlKey && 67 === t.keyCode || !1 === d.tabThrough && t.keyCode === a.default.TAB))) { switch (t.type) { case'input': if (!0 === u.skipInputEvent || t.inputType && 'insertCompositionText' === t.inputType) return u.skipInputEvent = !1, t.preventDefault(); break; case'keydown': u.skipKeyPressEvent = !1, u.skipInputEvent = u.isComposing = t.keyCode === a.default.KEY_229; break; case'keyup': case'compositionend': u.isComposing && (u.skipInputEvent = !1); break; case'keypress': if (!0 === u.skipKeyPressEvent) return t.preventDefault(); u.skipKeyPressEvent = !0; break; case'click': case'focus': return u.validationEvent ? (u.validationEvent = !1, e.blur(), (0, o.HandleNativePlaceholder)( e, (u.isRTL ? r.getBufferTemplate.call( u).slice().reverse() : r.getBufferTemplate.call( u)).join( '')), setTimeout( (function () {e.focus();}), d.validationEventTimeOut), !1) : (l = arguments, setTimeout( (function () { e.inputmask && n.apply(c, l); }), 0), !1); } var f = n.apply(c, arguments); return !1 === f && (t.preventDefault(), t.stopPropagation()), f; } t.preventDefault(); } }; ['submit', 'reset'].includes(t) ? (l = l.bind( e), null !== e.form && s(e.form).on(t, l)) : s(e). on(t, l), e.inputmask.events[t] = e.inputmask.events[t] || [], e.inputmask.events[t].push(l); }, off: function (e, t) { if (e.inputmask && e.inputmask.events) { var n = e.inputmask.dependencyLib, i = e.inputmask.events; for (var a in t && ((i = [])[t] = e.inputmask.events[t]), i) { for (var r = i[a]; r.length > 0;) { var o = r.pop(); ['submit', 'reset'].includes(a) ? null !== e.form && n(e.form).off(a, o) : n(e). off(a, o); } delete e.inputmask.events[a]; } } }, }; t.EventRuler = l; }, 219: function (e, t, n) { var i = l(n(2394)), a = l(n(4528)), r = l(n(7184)), o = n(8711); function s (e) { return (s = '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; })(e); } function l (e) {return e && e.__esModule ? e : { default: e };} var c = i.default.dependencyLib, u = (new Date).getFullYear(), d = { d: [ '[1-9]|[12][0-9]|3[01]', Date.prototype.setDate, 'day', Date.prototype.getDate], dd: [ '0[1-9]|[12][0-9]|3[01]', Date.prototype.setDate, 'day', function () { return b(Date.prototype.getDate.call(this), 2); }], ddd: [''], dddd: [''], m: [ '[1-9]|1[012]', Date.prototype.setMonth, 'month', function () { return Date.prototype.getMonth.call(this) + 1; }], mm: [ '0[1-9]|1[012]', Date.prototype.setMonth, 'month', function () { return b(Date.prototype.getMonth.call(this) + 1, 2); }], mmm: [''], mmmm: [''], yy: [ '[0-9]{2}', Date.prototype.setFullYear, 'year', function () { return b(Date.prototype.getFullYear.call(this), 2); }], yyyy: [ '[0-9]{4}', Date.prototype.setFullYear, 'year', function () { return b(Date.prototype.getFullYear.call(this), 4); }], h: [ '[1-9]|1[0-2]', Date.prototype.setHours, 'hours', Date.prototype.getHours], hh: [ '0[1-9]|1[0-2]', Date.prototype.setHours, 'hours', function () { return b(Date.prototype.getHours.call(this), 2); }], hx: [ function (e) {return '[0-9]{'.concat(e, '}');}, Date.prototype.setHours, 'hours', function (e) {return Date.prototype.getHours;}], H: [ '1?[0-9]|2[0-3]', Date.prototype.setHours, 'hours', Date.prototype.getHours], HH: [ '0[0-9]|1[0-9]|2[0-3]', Date.prototype.setHours, 'hours', function () { return b(Date.prototype.getHours.call(this), 2); }], Hx: [ function (e) {return '[0-9]{'.concat(e, '}');}, Date.prototype.setHours, 'hours', function (e) { return function () { return b(Date.prototype.getHours.call(this), e); }; }], M: [ '[1-5]?[0-9]', Date.prototype.setMinutes, 'minutes', Date.prototype.getMinutes], MM: [ '0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]', Date.prototype.setMinutes, 'minutes', function () { return b(Date.prototype.getMinutes.call(this), 2); }], s: [ '[1-5]?[0-9]', Date.prototype.setSeconds, 'seconds', Date.prototype.getSeconds], ss: [ '0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]', Date.prototype.setSeconds, 'seconds', function () { return b(Date.prototype.getSeconds.call(this), 2); }], l: [ '[0-9]{3}', Date.prototype.setMilliseconds, 'milliseconds', function () { return b( Date.prototype.getMilliseconds.call(this), 3); }], L: [ '[0-9]{2}', Date.prototype.setMilliseconds, 'milliseconds', function () { return b( Date.prototype.getMilliseconds.call(this), 2); }], t: ['[ap]', f, 'ampm', p, 1], tt: ['[ap]m', f, 'ampm', p, 2], T: ['[AP]', f, 'ampm', p, 1], TT: ['[AP]M', f, 'ampm', p, 2], Z: [''], o: [''], S: [''], }, h = { isoDate: 'yyyy-mm-dd', isoTime: 'HH:MM:ss', isoDateTime: 'yyyy-mm-dd\'T\'HH:MM:ss', isoUtcDateTime: 'UTC:yyyy-mm-dd\'T\'HH:MM:ss\'Z\'', }; function f (e) { e.toLowerCase().includes('p') && this.setHours(this.getHours() + 12); } function p () {} function m (e) { var t = new RegExp('\\d+$').exec(e[0]); if (t && void 0 !== t[0]) { var n = d[e[0][0] + 'x'].slice(''); return n[0] = n[0](t[0]), n[3] = n[3](t[0]), n; } if (d[e[0]]) return d[e[0]]; } function g (e) { if (!e.tokenizer) { var t = [], n = []; for (var i in d) if (/\.*x$/.test(i)) { var a = i[0] + '\\d+'; -1 === n.indexOf(a) && n.push(a); } else -1 === t.indexOf(i[0]) && t.push(i[0]); e.tokenizer = '(' + (n.length > 0 ? n.join('|') + '|' : '') + t.join('+|') + ')+?|.', e.tokenizer = new RegExp( e.tokenizer, 'g'); } return e.tokenizer; } function v (e, t, n) { 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 && !Number.isFinite(e.rawyear) || new Date(e.date.getFullYear(), isFinite(e.rawmonth) ? e.month : e.date.getMonth() + 1, 0).getDate() >= e.day) return t; if ('29' == e.day) { var i = w(t.pos, n); if ('yyyy' === i.targetMatch[0] && t.pos - i.targetMatchIndex == 2) return t.remove = t.pos + 1, t; } else if ('02' == e.month && '30' == e.day && void 0 !== t.c) return e.day = '03', e.date.setDate( 3), e.date.setMonth(1), t.insert = [ { pos: t.pos, c: '0', }, { pos: t.pos + 1, c: t.c }], t.caret = o.seekNext.call( this, t.pos + 1), t; return !1; } function y (e, t, n, i) { var a, o, s = ''; for (g(n).lastIndex = 0; a = g(n).exec(e);) if (void 0 === t) if (o = m(a)) s += '(' + o[0] + ')'; else switch (a[0]) { case'[': s += '('; break; case']': s += ')?'; break; default: s += (0, r.default)(a[0]); } else (o = m(a)) ? !0 !== i && o[3] ? s += o[3].call(t.date) : o[2] ? s += t['raw' + o[2]] : s += a[0] : s += a[0]; return s; } function b (e, t, n) { for (e = String(e), t = t || 2; e.length < t;) e = n ? e + '0' : '0' + e; return e; } function x (e, t, n) { var i, a, r, o = { date: new Date(1, 0, 1) }, l = e; function c (e, t, n) { if (e[i] = 'ampm' === i ? t : t.replace(/[^0-9]/g, '0'), e['raw' + i] = t, void 0 !== r) { var a = e[i]; ('day' === i && 29 === parseInt(a) || 'month' === i && 2 === parseInt(a)) && (29 !== parseInt(e.day) || 2 !== parseInt(e.month) || '' !== e.year && void 0 !== e.year || e.date.setFullYear(2012, 1, 29)), 'day' === i && 0 === parseInt(a) && (a = 1), 'month' === i && (a = parseInt(a)) > 0 && (a -= 1), 'year' === i && a.length < 4 && (a = b(a, 4, !0)), '' === a || isNaN(a) || r.call(e.date, a), 'ampm' === i && r.call(e.date, a); } } if ('string' == typeof l) { for (g(n).lastIndex = 0; a = g(n).exec(t);) { var u = new RegExp('\\d+$').exec(a[0]), h = u ? a[0][0] + 'x' : a[0], f = void 0; if (u) { var p = g(n).lastIndex, m = w(a.index, n); g(n).lastIndex = p, f = l.slice(0, l.indexOf(m.nextMatch[0])); } else f = l.slice(0, h.length); Object.prototype.hasOwnProperty.call(d, h) && (i = d[h][2], r = d[h][1], c(o, f)), l = l.slice( f.length); } return o; } if (l && 'object' === s(l) && Object.prototype.hasOwnProperty.call(l, 'date')) return l; } function _ (e, t) {return y(t.inputFormat, { date: e }, t);} function w (e, t) { var n, i, a = 0, r = 0; for (g(t).lastIndex = 0; i = g(t). exec(t.inputFormat);) { var o = new RegExp('\\d+$').exec(i[0]); if ((a += r = o ? parseInt(o[0]) : i[0].length) >= e) { n = i, i = g(t).exec(t.inputFormat); break; } } return { targetMatchIndex: a - r, nextMatch: i, targetMatch: n, }; } i.default.extendAliases({ datetime: { mask: function (e) { return e.numericInput = !1, d.S = e.i18n.ordinalSuffix.join( '|'), e.inputFormat = h[e.inputFormat] || e.inputFormat, e.displayFormat = h[e.displayFormat] || e.displayFormat || e.inputFormat, e.outputFormat = h[e.outputFormat] || e.outputFormat || e.inputFormat, e.placeholder = '' !== e.placeholder ? e.placeholder : e.inputFormat.replace(/[[\]]/, ''), e.regex = y(e.inputFormat, void 0, e), e.min = x(e.min, e.inputFormat, e), e.max = x(e.max, e.inputFormat, e), null; }, placeholder: '', inputFormat: 'isoDateTime', displayFormat: void 0, outputFormat: void 0, min: null, max: null, skipOptionalPartCharacter: '', i18n: { dayNames: [ 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'], monthNames: [ 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], ordinalSuffix: ['st', 'nd', 'rd', 'th'], }, preValidation: function (e, t, n, i, a, r, o, s) { if (s) return !0; if (isNaN(n) && e[t] !== n) { var l = w(t, a); if (l.nextMatch && l.nextMatch[0] === n && l.targetMatch[0].length > 1) { var c = d[l.targetMatch[0]][0]; if (new RegExp(c).test( '0' + e[t - 1])) return e[t] = e[t - 1], e[t - 1] = '0', { fuzzy: !0, buffer: e, refreshFromBuffer: { start: t - 1, end: t + 1, }, pos: t + 1, }; } } return !0; }, postValidation: function (e, t, n, i, a, r, o, s) { var l, c; if (o) return !0; if (!1 === i && (((l = w(t + 1, a)).targetMatch && l.targetMatchIndex === t && l.targetMatch[0].length > 1 && void 0 !== d[l.targetMatch[0]] || (l = w(t + 2, a)).targetMatch && l.targetMatchIndex === t + 1 && l.targetMatch[0].length > 1 && void 0 !== d[l.targetMatch[0]]) && (c = d[l.targetMatch[0]][0]), void 0 !== c && (void 0 !== r.validPositions[t + 1] && new RegExp(c).test(n + '0') ? (e[t] = n, e[t + 1] = '0', i = { pos: t + 2, caret: t, }) : new RegExp(c).test('0' + n) && (e[t] = '0', e[t + 1] = n, i = { pos: t + 2, })), !1 === i)) return i; if (i.fuzzy && (e = i.buffer, t = i.pos), (l = w(t, a)).targetMatch && l.targetMatch[0] && void 0 !== d[l.targetMatch[0]]) { c = d[l.targetMatch[0]][0]; var h = e.slice(l.targetMatchIndex, l.targetMatchIndex + l.targetMatch[0].length); !1 === new RegExp(c).test(h.join('')) && 2 === l.targetMatch[0].length && r.validPositions[l.targetMatchIndex] && r.validPositions[l.targetMatchIndex + 1] && (r.validPositions[l.targetMatchIndex + 1].input = '0'); } var f = i, p = x(e.join(''), a.inputFormat, a); return f && p.date.getTime() == p.date.getTime() && (a.prefillYear && (f = function (e, t, n) { if (e.year !== e.rawyear) { var i = u.toString(), a = e.rawyear.replace(/[^0-9]/g, ''), r = i.slice(0, a.length), o = i.slice(a.length); if (2 === a.length && a === r) { var s = new Date(u, e.month - 1, e.day); e.day == s.getDate() && (!n.max || n.max.date.getTime() >= s.getTime()) && (e.date.setFullYear( u), e.year = i, t.insert = [ { pos: t.pos + 1, c: o[0], }, { pos: t.pos + 2, c: o[1] }]); } } return t; }(p, f, a)), f = function (e, t, n, i, a) { if (!t) return t; if (n.min) { if (e.rawyear) { var r, o = e.rawyear.replace(/[^0-9]/g, ''), s = n.min.year.substr(0, o.length); if (o < s) { var l = w(t.pos, n); if (o = e.rawyear.substr(0, t.pos - l.targetMatchIndex + 1). replace(/[^0-9]/g, '0'), (s = n.min.year.substr( 0, o.length)) <= o) return t.remove = l.targetMatchIndex + o.length, t; if (o = 'yyyy' === l.targetMatch[0] ? e.rawyear.substr(1, 1) : e.rawyear.substr(0, 1), s = n.min.year.substr(2, 1), r = n.max ? n.max.year.substr(2, 1) : o, 1 === o.length && s <= o && o <= r && !0 !== a) return 'yyyy' === l.targetMatch[0] ? (t.insert = [ { pos: t.pos + 1, c: o, strict: !0, }], t.caret = t.pos + 2, i.validPositions[t.pos].input = n.min.year[1]) : (t.insert = [ { pos: t.pos + 1, c: n.min.year[1], strict: !0, }, { pos: t.pos + 2, c: o, strict: !0, }], t.caret = t.pos + 3, i.validPositions[t.pos].input = n.min.year[0]), t; t = !1; } } for (var c in e) -1 === c.indexOf('raw') && e['raw'.concat(c)] && (e[c], e['raw'.concat(c)]); t && e.year && e.year === e.rawyear && n.min.date.getTime() == n.min.date.getTime() && (t = n.min.date.getTime() <= e.date.getTime()); } return t && n.max && n.max.date.getTime() == n.max.date.getTime() && (t = n.max.date.getTime() >= e.date.getTime()), t; }(p, f = v.call(this, p, f, a), a, r, s)), void 0 !== t && f && i.pos !== t ? { buffer: y(a.inputFormat, p, a).split(''), refreshFromBuffer: { start: t, end: i.pos }, pos: i.caret || i.pos, } : f; }, onKeyDown: function (e, t, n, i) { e.ctrlKey && e.keyCode === a.default.RIGHT && (this.inputmask._valueSet(_(new Date, i)), c(this). trigger('setvalue')); }, onUnMask: function (e, t, n) { return t ? y(n.outputFormat, x(e, n.inputFormat, n), n, !0) : t; }, casing: function (e, t, n, i) { return 0 == t.nativeDef.indexOf('[ap]') ? e.toLowerCase() : 0 == t.nativeDef.indexOf('[AP]') ? e.toUpperCase() : e; }, onBeforeMask: function (e, t) { return '[object Date]' === Object.prototype.toString.call(e) && (e = _(e, t)), e; }, insertMode: !1, shiftPositions: !1, keepStatic: !1, inputmode: 'numeric', prefillYear: !0, }, }); }, 3851: function (e, t, n) { var i, a = (i = n(2394)) && i.__esModule ? i : { default: i }, r = n(8711), o = n(4713); a.default.extendDefinitions({ A: { validator: '[A-Za-zА-яЁёÀ-ÿµ]', casing: 'upper' }, '&': { validator: '[0-9A-Za-zА-яЁёÀ-ÿµ]', casing: 'upper' }, '#': { validator: '[0-9A-Fa-f]', casing: 'upper' }, }); var s = new RegExp('25[0-5]|2[0-4][0-9]|[01][0-9][0-9]'); function l (e, t, n, i, a) { return 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, s.test(e); } a.default.extendAliases({ cssunit: { regex: '[+-]?[0-9]+\\.?([0-9]+)?(px|em|rem|ex|%|in|cm|mm|pt|pc)' }, url: { regex: '(https?|ftp)://.*', autoUnmask: !1, keepStatic: !1, tabThrough: !0, }, ip: { mask: 'i[i[i]].j[j[j]].k[k[k]].l[l[l]]', definitions: { i: { validator: l }, j: { validator: l }, k: { validator: l }, l: { validator: l }, }, onUnMask: function (e, t, n) {return e;}, inputmode: 'numeric', }, email: { mask: '*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}.-{1,63}[.-{1,63}][.-{1,63}]', greedy: !1, casing: 'lower', onBeforePaste: function (e, t) { return (e = e.toLowerCase()).replace('mailto:', ''); }, definitions: { '*': { validator: '[0-91-9A-Za-zА-яЁёÀ-ÿµ!#$%&\'*+/=?^_`{|}~-]' }, '-': { validator: '[0-9A-Za-z-]' }, }, onUnMask: function (e, t, n) {return e;}, inputmode: 'email', }, mac: { mask: '##:##:##:##:##:##' }, vin: { mask: 'V{13}9{4}', definitions: { V: { validator: '[A-HJ-NPR-Za-hj-npr-z\\d]', casing: 'upper', }, }, clearIncomplete: !0, autoUnmask: !0, }, ssn: { mask: '999-99-9999', postValidation: function ( e, t, n, i, a, s, l) { var c = o.getMaskTemplate.call(this, !0, r.getLastValidPosition.call(this), !0, !0); return /^(?!219-09-9999|078-05-1120)(?!666|000|9.{2}).{3}-(?!00).{2}-(?!0{4}).{4}$/.test( c.join('')); }, }, }); }, 207: function (e, t, n) { var i = s(n(2394)), a = s(n(4528)), r = s(n(7184)), o = n(8711); function s (e) {return e && e.__esModule ? e : { default: e };} var l = i.default.dependencyLib; function c (e, t) { for (var n = '', a = 0; a < e.length; a++) i.default.prototype.definitions[e.charAt( a)] || t.definitions[e.charAt(a)] || t.optionalmarker[0] === e.charAt(a) || t.optionalmarker[1] === e.charAt(a) || t.quantifiermarker[0] === e.charAt(a) || t.quantifiermarker[1] === e.charAt(a) || t.groupmarker[0] === e.charAt(a) || t.groupmarker[1] === e.charAt(a) || t.alternatormarker === e.charAt(a) ? n += '\\' + e.charAt(a) : n += e.charAt(a); return n; } function u (e, t, n, i) { if (e.length > 0 && t > 0 && (!n.digitsOptional || i)) { var a = e.indexOf(n.radixPoint), r = !1; n.negationSymbol.back === e[e.length - 1] && (r = !0, e.length--), -1 === a && (e.push(n.radixPoint), a = e.length - 1); for (var o = 1; o <= t; o++) isFinite(e[a + o]) || (e[a + o] = '0'); } return r && e.push(n.negationSymbol.back), e; } function d (e, t) { var n = 0; if ('+' === e) { for (n in t.validPositions) ; n = o.seekNext.call(this, parseInt(n)); } for (var i in 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); return n; } function h (e, t) { var n = -1; for (var i in t.validPositions) { var a = t.validPositions[i]; if (a && a.match.def === e) { n = parseInt(i); break; } } return n; } function f (e, t, n, i, a) { var r = t.buffer ? t.buffer.indexOf(a.radixPoint) : -1, o = (-1 !== r || i && a.jitMasking) && new RegExp(a.definitions[9].validator).test(e); return a._radixDance && -1 !== r && o && null == t.validPositions[r] ? { insert: { pos: r === n ? r + 1 : r, c: a.radixPoint, }, pos: n, } : o; } i.default.extendAliases({ numeric: { mask: function (e) { e.repeat = 0, e.groupSeparator === e.radixPoint && e.digits && '0' !== e.digits && ('.' === e.radixPoint ? e.groupSeparator = ',' : ',' === e.radixPoint ? e.groupSeparator = '.' : e.groupSeparator = ''), ' ' === e.groupSeparator && (e.skipOptionalPartCharacter = void 0), e.placeholder.length > 1 && (e.placeholder = e.placeholder.charAt( 0)), 'radixFocus' === e.positionCaretOnClick && '' === e.placeholder && (e.positionCaretOnClick = 'lvp'); var t = '0', n = e.radixPoint; !0 === e.numericInput && void 0 === e.__financeInput ? (t = '1', e.positionCaretOnClick = 'radixFocus' === e.positionCaretOnClick ? 'lvp' : e.positionCaretOnClick, e.digitsOptional = !1, isNaN( e.digits) && (e.digits = 2), e._radixDance = !1, n = ',' === e.radixPoint ? '?' : '!', '' !== e.radixPoint && void 0 === e.definitions[n] && (e.definitions[n] = {}, e.definitions[n].validator = '[' + e.radixPoint + ']', e.definitions[n].placeholder = e.radixPoint, e.definitions[n].static = !0, e.definitions[n].generated = !0)) : (e.__financeInput = !1, e.numericInput = !0); var i, a = '[+]'; if (a += c(e.prefix, e), '' !== e.groupSeparator ? (void 0 === e.definitions[e.groupSeparator] && (e.definitions[e.groupSeparator] = {}, e.definitions[e.groupSeparator].validator = '[' + e.groupSeparator + ']', e.definitions[e.groupSeparator].placeholder = e.groupSeparator, e.definitions[e.groupSeparator].static = !0, e.definitions[e.groupSeparator].generated = !0), a += e._mask( e)) : a += '9{+}', void 0 !== e.digits && 0 !== e.digits) { var o = e.digits.toString().split(','); isFinite(o[0]) && o[1] && isFinite(o[1]) ? a += n + t + '{' + e.digits + '}' : (isNaN(e.digits) || parseInt(e.digits) > 0) && (e.digitsOptional || e.jitMasking ? (i = a + n + t + '{0,' + e.digits + '}', e.keepStatic = !0) : a += n + t + '{' + e.digits + '}'); } else e.inputmode = 'numeric'; return a += c(e.suffix, e), a += '[-]', i && (a = [ i + c(e.suffix, e) + '[-]', a]), e.greedy = !1, function (e) { void 0 === e.parseMinMaxOptions && (null !== e.min && (e.min = e.min.toString(). replace(new RegExp( (0, r.default)(e.groupSeparator), 'g'), ''), ',' === e.radixPoint && (e.min = e.min.replace(e.radixPoint, '.')), e.min = isFinite(e.min) ? parseFloat( e.min) : NaN, isNaN(e.min) && (e.min = Number.MIN_VALUE)), null !== e.max && (e.max = e.max.toString(). replace(new RegExp( (0, r.default)(e.groupSeparator), 'g'), ''), ',' === e.radixPoint && (e.max = e.max.replace(e.radixPoint, '.')), e.max = isFinite(e.max) ? parseFloat( e.max) : NaN, isNaN(e.max) && (e.max = Number.MAX_VALUE)), e.parseMinMaxOptions = 'done'); }(e), a; }, _mask: function (e) { return '(' + e.groupSeparator + '999){+|1}'; }, digits: '*', digitsOptional: !0, enforceDigitsOnBlur: !1, radixPoint: '.', positionCaretOnClick: 'radixFocus', _radixDance: !0, groupSeparator: '', allowMinus: !0, negationSymbol: { front: '-', back: '' }, prefix: '', suffix: '', min: null, max: null, SetMaxOnOverflow: !1, step: 1, inputType: 'text', unmaskAsNumber: !1, roundingFN: Math.round, inputmode: 'decimal', shortcuts: { k: '000', m: '000000' }, placeholder: '0', greedy: !1, rightAlign: !0, insertMode: !0, autoUnmask: !1, skipOptionalPartCharacter: '', usePrototypeDefinitions: !1, definitions: { 0: { validator: f }, 1: { validator: f, definitionSymbol: '9' }, 9: { validator: '[0-90-9٠-٩۰-۹]', definitionSymbol: '*', }, '+': { validator: function (e, t, n, i, a) { return a.allowMinus && ('-' === e || e === a.negationSymbol.front); }, }, '-': { validator: function (e, t, n, i, a) { return a.allowMinus && e === a.negationSymbol.back; }, }, }, preValidation: function (e, t, n, i, a, r, o, s) { var l; if (!1 !== a.__financeInput && n === a.radixPoint) return !1; if (l = a.shortcuts && a.shortcuts[n]) { if (l.length > 1) for (var c = [], u = 0; u < l.length; u++) c.push( { pos: t + u, c: l[u], strict: !1 }); return { insert: c }; } var f = e.indexOf(a.radixPoint), p = t; if (t = function ( e, t, n, i, a) { 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), e; }(t, n, f, r, a), '-' === n || n === a.negationSymbol.front) { if (!0 !== a.allowMinus) return !1; var m = !1, g = h('+', r), v = h('-', r); return -1 !== g && (m = [g, v]), !1 !== m ? { remove: m, caret: p - a.negationSymbol.back.length, } : { insert: [ { pos: d.call(this, '+', r), c: a.negationSymbol.front, fromIsValid: !0, }, { pos: d.call(this, '-', r), c: a.negationSymbol.back, fromIsValid: void 0, }], caret: p + a.negationSymbol.back.length, }; } if (n === a.groupSeparator) return { caret: p }; if (s) return !0; if (-1 !== f && !0 === a._radixDance && !1 === i && n === a.radixPoint && void 0 !== a.digits && (isNaN(a.digits) || parseInt(a.digits) > 0) && f !== t) return { caret: a._radixDance && t === f - 1 ? f + 1 : f, }; if (!1 === a.__financeInput) if (i) { if (a.digitsOptional) return { rewritePosition: o.end }; if (!a.digitsOptional) { if (o.begin > f && o.end <= f) return n === a.radixPoint ? { insert: { pos: f + 1, c: '0', fromIsValid: !0, }, rewritePosition: f, } : { rewritePosition: f + 1 }; if (o.begin < f) return { rewritePosition: o.begin - 1, }; } } else if (!a.showMaskOnHover && !a.showMaskOnFocus && !a.digitsOptional && a.digits > 0 && '' === this.__valueGet.call( this.el)) return { rewritePosition: f }; return { rewritePosition: t }; }, postValidation: function (e, t, n, i, a, r, o) { if (!1 === i) return i; if (o) return !0; if (null !== a.min || null !== a.max) { var s = a.onUnMask(e.slice().reverse().join(''), void 0, l.extend({}, a, { unmaskAsNumber: !0 })); if (null !== a.min && s < a.min && (s.toString().length > a.min.toString().length || s < 0)) return !1; if (null !== a.max && s > a.max) return !!a.SetMaxOnOverflow && { refreshFromBuffer: !0, buffer: u(a.max.toString(). replace('.', a.radixPoint). split(''), a.digits, a).reverse(), }; } return i; }, onUnMask: function (e, t, n) { if ('' === t && !0 === n.nullable) return t; var i = e.replace(n.prefix, ''); return i = (i = i.replace(n.suffix, '')).replace( new RegExp((0, r.default)(n.groupSeparator), 'g'), ''), '' !== n.placeholder.charAt(0) && (i = i.replace( new RegExp(n.placeholder.charAt(0), 'g'), '0')), n.unmaskAsNumber ? ('' !== n.radixPoint && -1 !== i.indexOf(n.radixPoint) && (i = i.replace(r.default.call(this, n.radixPoint), '.')), i = (i = i.replace(new RegExp( '^' + (0, r.default)(n.negationSymbol.front)), '-')).replace(new RegExp( (0, r.default)(n.negationSymbol.back) + '$'), ''), Number(i)) : i; }, isComplete: function (e, t) { var n = (t.numericInput ? e.slice().reverse() : e).join(''); return n = (n = (n = (n = (n = n.replace(new RegExp( '^' + (0, r.default)(t.negationSymbol.front)), '-')).replace(new RegExp( (0, r.default)(t.negationSymbol.back) + '$'), '')).replace(t.prefix, '')).replace(t.suffix, '')).replace(new RegExp( (0, r.default)(t.groupSeparator) + '([0-9]{3})', 'g'), '$1'), ',' === t.radixPoint && (n = n.replace((0, r.default)(t.radixPoint), '.')), isFinite(n); }, onBeforeMask: function (e, t) { var n = t.radixPoint || ','; isFinite(t.digits) && (t.digits = parseInt(t.digits)), 'number' != typeof e && 'number' !== t.inputType || '' === n || (e = e.toString().replace('.', n)); var i = '-' === e.charAt(0) || e.charAt(0) === t.negationSymbol.front, a = e.split(n), o = a[0].replace(/[^\-0-9]/g, ''), s = a.length > 1 ? a[1].replace(/[^0-9]/g, '') : '', l = a.length > 1; e = o + ('' !== s ? n + s : s); var c = 0; if ('' !== n && (c = t.digitsOptional ? t.digits < s.length ? t.digits : s.length : t.digits, '' !== s || !t.digitsOptional)) { var d = Math.pow(10, c || 1); e = e.replace((0, r.default)(n), '.'), isNaN( parseFloat(e)) || (e = (t.roundingFN(parseFloat(e) * d) / d).toFixed(c)), e = e.toString(). replace('.', n); } if (0 === t.digits && -1 !== e.indexOf(n) && (e = e.substring(0, e.indexOf(n))), null !== t.min || null !== t.max) { var h = e.toString(). replace(n, '.'); null !== t.min && h < t.min ? e = t.min.toString().replace('.', n) : null !== t.max && h > t.max && (e = t.max.toString().replace('.', n)); } return i && '-' !== e.charAt(0) && (e = '-' + e), u( e.toString().split(''), c, t, l).join(''); }, onBeforeWrite: function (e, t, n, i) { function a (e, t) { if (!1 !== i.__financeInput || t) { var n = e.indexOf(i.radixPoint); -1 !== n && e.splice(n, 1); } if ('' !== i.groupSeparator) for (; -1 !== (n = e.indexOf( i.groupSeparator));) e.splice( n, 1); return e; } var o, s = function (e, t) { var n = new RegExp('(^' + ('' !== t.negationSymbol.front ? (0, r.default)( t.negationSymbol.front) + '?' : '') + (0, r.default)(t.prefix) + ')(.*)(' + (0, r.default)(t.suffix) + ('' != t.negationSymbol.back ? (0, r.default)( t.negationSymbol.back) + '?' : '') + '$)').exec( e.slice().reverse().join('')), i = n ? n[2] : '', a = !1; return i && (i = i.split( t.radixPoint.charAt(0))[0], a = new RegExp( '^[0' + t.groupSeparator + ']*').exec( i)), !(!a || !(a[0].length > 1 || a[0].length > 0 && a[0].length < i.length)) && a; }(t, i); if (s) for (var c = t.join(''). lastIndexOf(s[0].split('').reverse().join('')) - (s[0] == s.input ? 0 : 1), d = s[0] == s.input ? 1 : 0, h = s[0].length - d; h > 0; h--) delete this.maskset.validPositions[c + h], delete t[c + h]; if (e) switch (e.type) { case'blur': case'checkval': if (null !== i.min) { var f = i.onUnMask( t.slice().reverse().join(''), void 0, l.extend({}, i, { unmaskAsNumber: !0 })); if (null !== i.min && f < i.min) return { refreshFromBuffer: !0, buffer: u(i.min.toString(). replace('.', i.radixPoint). split(''), i.digits, i). reverse(), }; } if (t[t.length - 1] === i.negationSymbol.front) { var p = new RegExp('(^' + ('' != i.negationSymbol.front ? (0, r.default)( i.negationSymbol.front) + '?' : '') + (0, r.default)(i.prefix) + ')(.*)(' + (0, r.default)(i.suffix) + ('' != i.negationSymbol.back ? (0, r.default)( i.negationSymbol.back) + '?' : '') + '$)').exec( a(t.slice(), !0). reverse(). join('')); 0 == (p ? p[2] : '') && (o = { refreshFromBuffer: !0, buffer: [0], }); } else '' !== i.radixPoint && t[0] === i.radixPoint && (o && o.buffer ? o.buffer.shift() : (t.shift(), o = { refreshFromBuffer: !0, buffer: a(t), })); if (i.enforceDigitsOnBlur) { var m = (o = o || {}) && o.buffer || t.slice().reverse(); o.refreshFromBuffer = !0, o.buffer = u( m, i.digits, i, !0).reverse(); } } return o; }, onKeyDown: function (e, t, n, i) { var r, o = l(this); if (e.ctrlKey) switch (e.keyCode) { case a.default.UP: return this.inputmask.__valueSet.call(this, parseFloat( this.inputmask.unmaskedvalue()) + parseInt(i.step)), o.trigger( 'setvalue'), !1; case a.default.DOWN: return this.inputmask.__valueSet.call(this, parseFloat( this.inputmask.unmaskedvalue()) - parseInt(i.step)), o.trigger( 'setvalue'), !1; } if (!e.shiftKey && (e.keyCode === a.default.DELETE || e.keyCode === a.default.BACKSPACE || e.keyCode === a.default.BACKSPACE_SAFARI) && n.begin !== t.length) { if (t[e.keyCode === a.default.DELETE ? n.begin - 1 : n.end] === i.negationSymbol.front) return r = t.slice(). reverse(), '' !== i.negationSymbol.front && r.shift(), '' !== i.negationSymbol.back && r.pop(), o.trigger('setvalue', [r.join(''), n.begin]), !1; if (!0 === i._radixDance) { var s = t.indexOf(i.radixPoint); if (i.digitsOptional) { if (0 === s) return (r = t.slice(). reverse()).pop(), o.trigger( 'setvalue', [ r.join(''), n.begin >= r.length ? r.length : n.begin]), !1; } else if (-1 !== s && (n.begin < s || n.end < s || e.keyCode === a.default.DELETE && n.begin === s)) return n.begin !== n.end || e.keyCode !== a.default.BACKSPACE && e.keyCode !== a.default.BACKSPACE_SAFARI || n.begin++, (r = t.slice().reverse()).splice( r.length - n.begin, n.begin - n.end + 1), r = u(r, i.digits, i).join(''), o.trigger('setvalue', [ r, n.begin >= r.length ? s + 1 : n.begin]), !1; } } }, }, currency: { prefix: '', groupSeparator: ',', alias: 'numeric', digits: 2, digitsOptional: !1, }, decimal: { alias: 'numeric' }, integer: { alias: 'numeric', inputmode: 'numeric', digits: 0, }, percentage: { alias: 'numeric', min: 0, max: 100, suffix: ' %', digits: 0, allowMinus: !1, }, indianns: { alias: 'numeric', _mask: function (e) { return '(' + e.groupSeparator + '99){*|1}(' + e.groupSeparator + '999){1|1}'; }, groupSeparator: ',', radixPoint: '.', placeholder: '0', digits: 2, digitsOptional: !1, }, }); }, 9380: function (e, t, n) { var i; Object.defineProperty(t, '__esModule', { value: !0 }), t.default = void 0; var a = ((i = n(8741)) && i.__esModule ? i : { default: i }).default ? window : {}; t.default = a; }, 7760: function (e, t, n) { Object.defineProperty(t, '__esModule', { value: !0 }), t.applyInputValue = u, t.clearOptionalTail = d, t.checkVal = h, t.HandleNativePlaceholder = function ( e, t) { var n = e ? e.inputmask : this; if (l.ie) { if (e.inputmask._valueGet() !== t && (e.placeholder !== t || '' === e.placeholder)) { var i = o.getBuffer.call(n). slice(), a = e.inputmask._valueGet(); if (a !== t) { var r = o.getLastValidPosition.call(n); -1 === r && a === o.getBufferTemplate.call(n).join('') ? i = [] : -1 !== r && d.call(n, i), f(e, i); } } } else e.placeholder !== t && (e.placeholder = t, '' === e.placeholder && e.removeAttribute('placeholder')); }, t.unmaskedvalue = function (e) { var t = e ? e.inputmask : this, n = t.opts, i = t.maskset; if (e) { if (void 0 === e.inputmask) return e.value; e.inputmask && e.inputmask.refreshValue && u(e, e.inputmask._valueGet(!0)); } var a = [], r = i.validPositions; for (var s in r) r[s] && r[s].match && (1 != r[s].match.static || Array.isArray(i.metadata) && !0 !== r[s].generatedInput) && a.push(r[s].input); var l = 0 === a.length ? '' : (t.isRTL ? a.reverse() : a).join(''); if ('function' == typeof n.onUnMask) { var c = (t.isRTL ? o.getBuffer.call(t).slice().reverse() : o.getBuffer.call(t)).join(''); l = n.onUnMask.call(t, c, l, n); } return l; }, t.writeBuffer = f; var i, a = (i = n(4528)) && i.__esModule ? i : { default: i }, r = n(4713), o = n(8711), s = n(7215), l = n(9845), c = n(6030); function u (e, t) { var n = e ? e.inputmask : this, i = n.opts; e.inputmask.refreshValue = !1, 'function' == typeof i.onBeforeMask && (t = i.onBeforeMask.call(n, t, i) || t), h(e, !0, !1, t = t.toString().split('')), n.undoValue = n._valueGet( !0), (i.clearMaskOnLostFocus || i.clearIncomplete) && e.inputmask._valueGet() === o.getBufferTemplate.call(n).join('') && -1 === o.getLastValidPosition.call(n) && e.inputmask._valueSet(''); } function d (e) { e.length = 0; for (var t, n = r.getMaskTemplate.call(this, !0, 0, !0, void 0, !0); void 0 !== (t = n.shift());) e.push(t); return e; } function h (e, t, n, i, a) { var l = e ? e.inputmask : this, u = l.maskset, d = l.opts, h = l.dependencyLib, p = i.slice(), m = '', g = -1, v = void 0, y = d.skipOptionalPartCharacter; d.skipOptionalPartCharacter = '', o.resetMaskSet.call( l), u.tests = {}, g = d.radixPoint ? o.determineNewCaretPosition.call(l, { begin: 0, end: 0 }, !1, !1 === d.__financeInput ? 'radixFocus' : void 0).begin : 0, u.p = g, l.caretPos = { begin: g }; var b = [], x = l.caretPos; if (p.forEach((function (e, t) { if (void 0 !== e) { var i = new h.Event('_checkval'); i.which = e.toString().charCodeAt(0), m += e; var a = o.getLastValidPosition.call(l, void 0, !0); !function ( e, t) { for (var n = r.getMaskTemplate.call(l, !0, 0). slice(e, o.seekNext.call(l, e, !1, !1)). join(''). replace(/'/g, ''), i = n.indexOf(t); i > 0 && " " === n[i - 1];) i--; var a = 0 === i && !o.isMask.call(l, e) && (r.getTest.call(l, e).match.nativeDef === t.charAt(0) || !0 === r.getTest.call(l, e).match.static && r.getTest.call(l, e).match.nativeDef === '\'' + t.charAt(0) || ' ' === r.getTest.call(l, e).match.nativeDef && (r.getTest.call(l, e + 1).match.nativeDef === t.charAt(0) || !0 === r.getTest.call(l, e + 1).match.static && r.getTest.call(l, e + 1).match.nativeDef === '\'' + t.charAt(0))); if (!a && i > 0 && !o.isMask.call(l, e, !1, !0)) { var s = o.seekNext.call(l, e); l.caretPos.begin < s && (l.caretPos = { begin: s }); } return a; }(g, m) ? (v = c.EventHandlers.keypressEvent.call(l, i, !0, !1, n, l.caretPos.begin)) && (g = l.caretPos.begin + 1, m = '') : v = c.EventHandlers.keypressEvent.call(l, i, !0, !1, n, a + 1), v ? (void 0 !== v.pos && u.validPositions[v.pos] && !0 === u.validPositions[v.pos].match.static && void 0 === u.validPositions[v.pos].alternation && (b.push(v.pos), l.isRTL || (v.forwardPosition = v.pos + 1)), f.call(l, void 0, o.getBuffer.call(l), v.forwardPosition, i, !1), l.caretPos = { begin: v.forwardPosition, end: v.forwardPosition, }, x = l.caretPos) : void 0 === u.validPositions[t] && p[t] === r.getPlaceholder.call(l, t) && o.isMask.call(l, t, !0) ? l.caretPos.begin++ : l.caretPos = x; } })), b.length > 0) { var _, w, k = o.seekNext.call(l, -1, void 0, !1); if (!s.isComplete.call(l, o.getBuffer.call(l)) && b.length <= k || s.isComplete.call(l, o.getBuffer.call(l)) && b.length > 0 && b.length !== k && 0 === b[0]) for (var M = k; void 0 !== (_ = b.shift());) { var L = new h.Event('_checkval'); if ((w = u.validPositions[_]).generatedInput = !0, L.which = w.input.charCodeAt( 0), (v = c.EventHandlers.keypressEvent.call(l, L, !0, !1, n, M)) && void 0 !== v.pos && v.pos !== _ && u.validPositions[v.pos] && !0 === u.validPositions[v.pos].match.static) b.push( v.pos); else if (!v) break; M++; } } t && f.call(l, e, o.getBuffer.call(l), v ? v.forwardPosition : l.caretPos.begin, a || new h.Event('checkval'), a && 'input' === a.type && l.undoValue !== l._valueGet(!0)), d.skipOptionalPartCharacter = y; } function f (e, t, n, i, r) { var l = e ? e.inputmask : this, c = l.opts, u = l.dependencyLib; if (i && 'function' == typeof c.onBeforeWrite) { var d = c.onBeforeWrite.call(l, i, t, n, c); if (d) { if (d.refreshFromBuffer) { var h = d.refreshFromBuffer; s.refreshFromBuffer.call(l, !0 === h ? h : h.start, h.end, d.buffer || t), t = o.getBuffer.call(l, !0); } void 0 !== n && (n = void 0 !== d.caret ? d.caret : n); } } if (void 0 !== e && (e.inputmask._valueSet(t.join('')), void 0 === n || void 0 !== i && 'blur' === i.type || o.caret.call(l, e, n, void 0, void 0, void 0 !== i && 'keydown' === i.type && (i.keyCode === a.default.DELETE || i.keyCode === a.default.BACKSPACE)), !0 === r)) { var f = u(e), p = e.inputmask._valueGet(); e.inputmask.skipInputEvent = !0, f.trigger( 'input'), setTimeout((function () { p === o.getBufferTemplate.call(l).join('') ? f.trigger('cleared') : !0 === s.isComplete.call(l, t) && f.trigger('complete'); }), 0); } } }, 2394: function (e, t, n) { Object.defineProperty(t, '__esModule', { value: !0 }), t.default = void 0, n(7149), n(3194); var i = n(157), a = g(n(4963)), r = g(n(9380)), o = n(2391), s = n(4713), l = n(8711), c = n(7215), u = n(7760), d = n(9716), h = g(n(7392)), f = g(n(3976)), p = g(n(8741)); function m (e) { return (m = '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; })(e); } function g (e) {return e && e.__esModule ? e : { default: e };} var v = r.default.document, y = '_inputmask_opts'; function b (e, t, n) { if (p.default) { if (!(this instanceof b)) return new b(e, t, n); this.dependencyLib = a.default, this.el = void 0, this.events = {}, this.maskset = void 0, !0 !== n && ('[object Object]' === Object.prototype.toString.call(e) ? t = e : (t = t || {}, e && (t.alias = e)), this.opts = a.default.extend(!0, {}, this.defaults, t), this.noMasksCache = t && void 0 !== t.definitions, this.userOptions = t || {}, x(this.opts.alias, t, this.opts)), this.refreshValue = !1, this.undoValue = void 0, this.$el = void 0, this.skipKeyPressEvent = !1, this.skipInputEvent = !1, this.validationEvent = !1, this.ignorable = !1, this.maxLength, this.mouseEnter = !1, this.originalPlaceholder = void 0, this.isComposing = !1; } } function x (e, t, n) { var i = b.prototype.aliases[e]; return i ? (i.alias && x(i.alias, void 0, n), a.default.extend(!0, n, i), a.default.extend(!0, n, t), !0) : (null === n.mask && (n.mask = e), !1); } b.prototype = { dataAttribute: 'data-inputmask', defaults: f.default, definitions: h.default, aliases: {}, masksCache: {}, get isRTL () { return this.opts.isRTL || this.opts.numericInput; }, mask: function (e) { var t = this; return 'string' == typeof e && (e = v.getElementById(e) || v.querySelectorAll(e)), (e = e.nodeName ? [e] : Array.isArray(e) ? e : Array.from(e)).forEach( (function (e, n) { var s = a.default.extend(!0, {}, t.opts); if (function (e, t, n, i) { function o ( t, a) { var o = '' === i ? t : i + '-' + t; null !== (a = void 0 !== a ? a : e.getAttribute( o)) && ('string' == typeof a && (0 === t.indexOf('on') ? a = r.default[a] : 'false' === a ? a = !1 : 'true' === a && (a = !0)), n[t] = a); } if (!0 === t.importDataAttributes) { var s, l, c, u, d = e.getAttribute(i); if (d && '' !== d && (d = d.replace(/'/g, '"'), l = JSON.parse('{' + d + '}')), l) for (u in c = void 0, l) if ('alias' === u.toLowerCase()) { c = l[u]; break; } for (s in o('alias', c), n.alias && x(n.alias, n, t), t) { if (l) for (u in c = void 0, l) if (u.toLowerCase() === s.toLowerCase()) { c = l[u]; break; } o(s, c); } } return a.default.extend(!0, t, n), ('rtl' === e.dir || t.rightAlign) && (e.style.textAlign = 'right'), ('rtl' === e.dir || t.numericInput) && (e.dir = 'ltr', e.removeAttribute( 'dir'), t.isRTL = !0), Object.keys( n).length; }(e, s, a.default.extend(!0, {}, t.userOptions), t.dataAttribute)) { var l = (0, o.generateMaskSet)(s, t.noMasksCache); void 0 !== l && (void 0 !== e.inputmask && (e.inputmask.opts.autoUnmask = !0, e.inputmask.remove()), e.inputmask = new b( void 0, void 0, !0), e.inputmask.opts = s, e.inputmask.noMasksCache = t.noMasksCache, e.inputmask.userOptions = a.default.extend( !0, {}, t.userOptions), e.inputmask.el = e, e.inputmask.$el = (0, a.default)( e), e.inputmask.maskset = l, a.default.data( e, y, t.userOptions), i.mask.call( e.inputmask)); } })), e && e[0] && e[0].inputmask || this; }, option: function (e, t) { return 'string' == typeof e ? this.opts[e] : 'object' === m(e) ? (a.default.extend( this.userOptions, e), this.el && !0 !== t && this.mask(this.el), this) : void 0; }, unmaskedvalue: function (e) { if (this.maskset = this.maskset || (0, o.generateMaskSet)(this.opts, this.noMasksCache), void 0 === this.el || void 0 !== e) { var t = ('function' == typeof this.opts.onBeforeMask && this.opts.onBeforeMask.call(this, e, this.opts) || e).split(''); u.checkVal.call(this, void 0, !1, !1, t), 'function' == typeof this.opts.onBeforeWrite && this.opts.onBeforeWrite.call(this, void 0, l.getBuffer.call(this), 0, this.opts); } return u.unmaskedvalue.call(this, this.el); }, remove: function () { if (this.el) { a.default.data(this.el, y, null); var e = this.opts.autoUnmask ? (0, u.unmaskedvalue)( this.el) : this._valueGet(this.opts.autoUnmask); e !== l.getBufferTemplate.call(this).join('') ? this._valueSet(e, this.opts.autoUnmask) : this._valueSet(''), d.EventRuler.off( this.el), Object.getOwnPropertyDescriptor && Object.getPrototypeOf ? Object.getOwnPropertyDescriptor( Object.getPrototypeOf(this.el), 'value') && this.__valueGet && Object.defineProperty(this.el, 'value', { get: this.__valueGet, set: this.__valueSet, configurable: !0, }) : v.__lookupGetter__ && this.el.__lookupGetter__('value') && this.__valueGet && (this.el.__defineGetter__('value', this.__valueGet), this.el.__defineSetter__( 'value', this.__valueSet)), this.el.inputmask = void 0; } return this.el; }, getemptymask: function () { return this.maskset = this.maskset || (0, o.generateMaskSet)(this.opts, this.noMasksCache), l.getBufferTemplate.call( this).join(''); }, hasMaskedValue: function () {return !this.opts.autoUnmask;}, isComplete: function () { return this.maskset = this.maskset || (0, o.generateMaskSet)(this.opts, this.noMasksCache), c.isComplete.call(this, l.getBuffer.call(this)); }, getmetadata: function () { if (this.maskset = this.maskset || (0, o.generateMaskSet)(this.opts, this.noMasksCache), Array.isArray( this.maskset.metadata)) { var e = s.getMaskTemplate.call(this, !0, 0, !1). join(''); return this.maskset.metadata.forEach((function (t) { return t.mask !== e || (e = t, !1); })), e; } return this.maskset.metadata; }, isValid: function (e) { if (this.maskset = this.maskset || (0, o.generateMaskSet)(this.opts, this.noMasksCache), e) { var t = ('function' == typeof this.opts.onBeforeMask && this.opts.onBeforeMask.call(this, e, this.opts) || e).split(''); u.checkVal.call(this, void 0, !0, !1, t); } else e = this.isRTL ? l.getBuffer.call(this). slice(). reverse(). join('') : l.getBuffer.call(this).join(''); for (var n = l.getBuffer.call( this), i = l.determineLastRequiredPosition.call( this), a = n.length - 1; a > i && !l.isMask.call(this, a); a--) ; return n.splice(i, a + 1 - i), c.isComplete.call(this, n) && e === (this.isRTL ? l.getBuffer.call(this). slice(). reverse(). join('') : l.getBuffer.call(this).join('')); }, format: function (e, t) { this.maskset = this.maskset || (0, o.generateMaskSet)(this.opts, this.noMasksCache); var n = ('function' == typeof this.opts.onBeforeMask && this.opts.onBeforeMask.call(this, e, this.opts) || e).split(''); u.checkVal.call(this, void 0, !0, !1, n); var i = this.isRTL ? l.getBuffer.call(this). slice(). reverse(). join('') : l.getBuffer.call(this).join(''); return t ? { value: i, metadata: this.getmetadata() } : i; }, setValue: function (e) { this.el && (0, a.default)(this.el).trigger('setvalue', [e]); }, analyseMask: o.analyseMask, }, b.extendDefaults = function (e) { a.default.extend(!0, b.prototype.defaults, e); }, b.extendDefinitions = function (e) { a.default.extend(!0, b.prototype.definitions, e); }, b.extendAliases = function (e) { a.default.extend(!0, b.prototype.aliases, e); }, b.format = function (e, t, n) { return b(t). format(e, n); }, b.unmask = function (e, t) { return b(t). unmaskedvalue(e); }, b.isValid = function (e, t) { return b(t). isValid(e); }, b.remove = function (e) { 'string' == typeof e && (e = v.getElementById(e) || v.querySelectorAll(e)), (e = e.nodeName ? [e] : e).forEach( (function (e) {e.inputmask && e.inputmask.remove();})); }, b.setValue = function (e, t) { 'string' == typeof e && (e = v.getElementById(e) || v.querySelectorAll(e)), (e = e.nodeName ? [e] : e).forEach((function (e) { e.inputmask ? e.inputmask.setValue(t) : (0, a.default)(e).trigger('setvalue', [t]); })); }, b.dependencyLib = a.default, r.default.Inputmask = b; var _ = b; t.default = _; }, 5296: function (e, t, n) { function i (e) { return (i = '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; })(e); } var a = f(n(9380)), r = f(n(2394)), o = f(n(8741)); function s (e, t) { return !t || 'object' !== i(t) && 'function' != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return e; }(e) : t; } function l (e) { var t = 'function' == typeof Map ? new Map : void 0; return (l = function (e) { if (null === e || (n = e, -1 === Function.toString.call(n). indexOf('[native code]'))) return e; var n; if ('function' != typeof e) throw new TypeError( 'Super expression must either be null or a function'); if (void 0 !== t) { if (t.has(e)) return t.get(e); t.set(e, i); } function i () { return c(e, arguments, h(this).constructor); } return i.prototype = Object.create(e.prototype, { constructor: { value: i, enumerable: !1, writable: !0, configurable: !0, }, }), d(i, e); })(e); } function c (e, t, n) { return (c = u() ? Reflect.construct : function (e, t, n) { var i = [null]; i.push.apply(i, t); var a = new (Function.bind.apply(e, i)); return n && d(a, n.prototype), a; }).apply(null, arguments); } function u () { if ('undefined' == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ('function' == typeof Proxy) return !0; try { return Boolean.prototype.valueOf.call( Reflect.construct(Boolean, [], (function () {}))), !0; } catch (e) {return !1;} } function d (e, t) { return (d = Object.setPrototypeOf || function (e, t) {return e.__proto__ = t, e;})(e, t); } function h (e) { return (h = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e); })(e); } function f (e) {return e && e.__esModule ? e : { default: e };} var p = a.default.document; if (o.default && p && p.head && p.head.attachShadow && a.default.customElements && void 0 === a.default.customElements.get('input-mask')) { var m = function (e) { !function ( e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function'); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0, }, }), t && d(e, t); }(a, e); var t, n, i = (t = a, n = u(), function () { var e, i = h(t); if (n) { var a = h(this).constructor; e = Reflect.construct(i, arguments, a); } else e = i.apply(this, arguments); return s(this, e); }); function a () { var e; !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, a); var t = (e = i.call(this)).getAttributeNames(), n = e.attachShadow({ mode: 'closed' }), o = p.createElement('input'); for (var s in o.type = 'text', n.appendChild( o), t) Object.prototype.hasOwnProperty.call(t, s) && o.setAttribute(t[s], e.getAttribute(t[s])); var l = new r.default; return l.dataAttribute = '', l.mask( o), o.inputmask.shadowRoot = n, e; } return a; }(l(HTMLElement)); a.default.customElements.define('input-mask', m); } }, 2391: function (e, t, n) { Object.defineProperty(t, '__esModule', { value: !0 }), t.generateMaskSet = function (e, t) { function n (e, n, a) { var r, o, s = !1; if (null !== e && '' !== e || ((s = null !== a.regex) ? e = (e = a.regex).replace( /^(\^)(.*)(\$)$/, '$2') : (s = !0, e = '.*')), 1 === e.length && !1 === a.greedy && 0 !== a.repeat && (a.placeholder = ''), a.repeat > 0 || '*' === a.repeat || '+' === a.repeat) { var l = '*' === a.repeat ? 0 : '+' === a.repeat ? 1 : a.repeat; e = a.groupmarker[0] + e + a.groupmarker[1] + a.quantifiermarker[0] + l + ',' + a.repeat + a.quantifiermarker[1]; } return o = s ? 'regex_' + a.regex : a.numericInput ? e.split('').reverse().join('') : e, !1 !== a.keepStatic && (o = 'ks_' + o), void 0 === Inputmask.prototype.masksCache[o] || !0 === t ? (r = { mask: e, maskToken: Inputmask.prototype.analyseMask(e, s, a), validPositions: {}, _buffer: void 0, buffer: void 0, tests: {}, excludes: {}, metadata: n, maskLength: void 0, jitOffset: {}, }, !0 !== t && (Inputmask.prototype.masksCache[o] = r, r = i.default.extend( !0, {}, Inputmask.prototype.masksCache[o]))) : r = i.default.extend(!0, {}, Inputmask.prototype.masksCache[o]), r; } if ('function' == typeof e.mask && (e.mask = e.mask(e)), Array.isArray(e.mask)) { if (e.mask.length > 1) { null === e.keepStatic && (e.keepStatic = !0); var a = e.groupmarker[0]; return (e.isRTL ? e.mask.reverse() : e.mask).forEach((function (t) { a.length > 1 && (a += e.groupmarker[1] + e.alternatormarker + e.groupmarker[0]), void 0 !== t.mask && 'function' != typeof t.mask ? a += t.mask : a += t; })), n(a += e.groupmarker[1], e.mask, e); } e.mask = e.mask.pop(); } return null === e.keepStatic && (e.keepStatic = !1), e.mask && void 0 !== e.mask.mask && 'function' != typeof e.mask.mask ? n(e.mask.mask, e.mask, e) : n(e.mask, e.mask, e); }, t.analyseMask = function (e, t, n) { var i, r, o, s, l, c, u = /(?:[?*+]|\{[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, f = new a.default, p = [], m = [], g = !1; function v (e, i, a) { a = void 0 !== a ? a : e.matches.length; var r = e.matches[a - 1]; if (t) 0 === i.indexOf('[') || h && /\\d|\\s|\\w]/i.test(i) || '.' === i ? e.matches.splice( a++, 0, { fn: new RegExp(i, n.casing ? 'i' : ''), static: !1, optionality: !1, newBlockMarker: void 0 === r ? 'master' : r.def !== i, casing: null, def: i, placeholder: void 0, nativeDef: i, }) : (h && (i = i[i.length - 1]), i.split(''). forEach((function (t, i) { r = e.matches[a - 1], e.matches.splice(a++, 0, { fn: /[a-z]/i.test( n.staticDefinitionSymbol || t) ? new RegExp('[' + (n.staticDefinitionSymbol || t) + ']', n.casing ? 'i' : '') : null, static: !0, optionality: !1, newBlockMarker: void 0 === r ? 'master' : r.def !== t && !0 !== r.static, casing: null, def: n.staticDefinitionSymbol || t, placeholder: void 0 !== n.staticDefinitionSymbol ? t : void 0, nativeDef: (h ? '\'' : '') + t, }); }))), h = !1; else { var o = n.definitions && n.definitions[i] || n.usePrototypeDefinitions && Inputmask.prototype.definitions[i]; o && !h ? e.matches.splice(a++, 0, { fn: o.validator ? 'string' == typeof o.validator ? new RegExp(o.validator, n.casing ? 'i' : '') : new function () {this.test = o.validator;} : new RegExp('.'), static: o.static || !1, optionality: !1, newBlockMarker: void 0 === r ? 'master' : r.def !== (o.definitionSymbol || i), casing: o.casing, def: o.definitionSymbol || i, placeholder: o.placeholder, nativeDef: i, generated: o.generated, }) : (e.matches.splice(a++, 0, { fn: /[a-z]/i.test(n.staticDefinitionSymbol || i) ? new RegExp( '[' + (n.staticDefinitionSymbol || i) + ']', n.casing ? 'i' : '') : null, static: !0, optionality: !1, newBlockMarker: void 0 === r ? 'master' : r.def !== i && !0 !== r.static, casing: null, def: n.staticDefinitionSymbol || i, placeholder: void 0 !== n.staticDefinitionSymbol ? i : void 0, nativeDef: (h ? '\'' : '') + i, }), h = !1); } } function y () { if (p.length > 0) { if (v(s = p[p.length - 1], r), s.isAlternator) { l = p.pop(); for (var e = 0; e < l.matches.length; e++) l.matches[e].isGroup && (l.matches[e].isGroup = !1); p.length > 0 ? (s = p[p.length - 1]).matches.push(l) : f.matches.push(l); } } else v(f, r); } function b (e) { var t = new a.default(!0); return t.openGroup = !1, t.matches = e, t; } function x () { if ((o = p.pop()).openGroup = !1, void 0 !== o) if (p.length > 0) { if ((s = p[p.length - 1]).matches.push( o), s.isAlternator) { l = p.pop(); for (var e = 0; e < l.matches.length; e++) l.matches[e].isGroup = !1, l.matches[e].alternatorGroup = !1; p.length > 0 ? (s = p[p.length - 1]).matches.push(l) : f.matches.push(l); } } else f.matches.push(o); else y(); } function _ (e) { var t = e.pop(); return t.isQuantifier && (t = b([e.pop(), t])), t; } for (t && (n.optionalmarker[0] = void 0, n.optionalmarker[1] = void 0); i = t ? d.exec(e) : u.exec(e);) { if (r = i[0], t) switch (r.charAt(0)) { case'?': r = '{0,1}'; break; case'+': case'*': r = '{' + r + '}'; break; case'|': if (0 === p.length) { var w = b(f.matches); w.openGroup = !0, p.push( w), f.matches = [], g = !0; } } if (h) y(); else switch (r.charAt(0)) { case'$': case'^': t || y(); break; case'(?=': case'(?!': case'(?<=': case'(?<!': p.push(new a.default(!0)); break; case n.escapeChar: h = !0, t && y(); break; case n.optionalmarker[1]: case n.groupmarker[1]: x(); break; case n.optionalmarker[0]: p.push(new a.default(!1, !0)); break; case n.groupmarker[0]: p.push(new a.default(!0)); break; case n.quantifiermarker[0]: var k = new a.default(!1, !1, !0), M = (r = r.replace(/[{}]/g, '')).split('|'), L = M[0].split(','), S = isNaN(L[0]) ? L[0] : parseInt(L[0]), T = 1 === L.length ? S : isNaN(L[1]) ? L[1] : parseInt(L[1]), A = isNaN(M[1]) ? M[1] : parseInt(M[1]); '*' !== S && '+' !== S || (S = '*' === T ? 0 : 1), k.quantifier = { min: S, max: T, jit: A, }; var D = p.length > 0 ? p[p.length - 1].matches : f.matches; if ((i = D.pop()).isAlternator) { D.push(i), D = i.matches; var C = new a.default(!0), E = D.pop(); D.push(C), D = C.matches, i = E; } i.isGroup || (i = b([i])), D.push(i), D.push(k); break; case n.alternatormarker: if (p.length > 0) { var O = (s = p[p.length - 1]).matches[s.matches.length - 1]; c = s.openGroup && (void 0 === O.matches || !1 === O.isGroup && !1 === O.isAlternator) ? p.pop() : _( s.matches); } else c = _(f.matches); if (c.isAlternator) p.push( c); else if (c.alternatorGroup ? (l = p.pop(), c.alternatorGroup = !1) : l = new a.default(!1, !1, !1, !0), l.matches.push(c), p.push( l), c.openGroup) { c.openGroup = !1; var Y = new a.default(!0); Y.alternatorGroup = !0, p.push(Y); } break; default: y(); } } for (g && x(); p.length > 0;) o = p.pop(), f.matches.push( o); return f.matches.length > 0 && (function e (i) { i && i.matches && i.matches.forEach((function (a, r) { var o = i.matches[r + 1]; (void 0 === o || void 0 === o.matches || !1 === o.isQuantifier) && a && a.isGroup && (a.isGroup = !1, t || (v(a, n.groupmarker[0], 0), !0 !== a.openGroup && v(a, n.groupmarker[1]))), e(a); })); }(f), m.push(f)), (n.numericInput || n.isRTL) && function e (t) { for (var i in t.matches = t.matches.reverse(), t.matches) if (Object.prototype.hasOwnProperty.call( t.matches, i)) { var a = parseInt(i); if (t.matches[i].isQuantifier && t.matches[a + 1] && t.matches[a + 1].isGroup) { var r = t.matches[i]; t.matches.splice(i, 1), t.matches.splice(a + 1, 0, r); } 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]), o); } var o; return t; }(m[0]), m; }; var i = r(n(4963)), a = r(n(9695)); function r (e) {return e && e.__esModule ? e : { default: e };} }, 157: function (e, t, n) { Object.defineProperty(t, '__esModule', { value: !0 }), t.mask = function () { var e = this, t = this.opts, n = this.el, i = this.dependencyLib; s.EventRuler.off(n); var d = function (t, n) { 'textarea' !== t.tagName.toLowerCase() && n.ignorables.push(a.default.ENTER); var l = t.getAttribute('type'), c = 'input' === t.tagName.toLowerCase() && n.supportsInputType.includes(l) || t.isContentEditable || 'textarea' === t.tagName.toLowerCase(); if (!c) if ('input' === t.tagName.toLowerCase()) { var u = document.createElement('input'); u.setAttribute('type', l), c = 'text' === u.type, u = null; } else c = 'partial'; return !1 !== c ? function (t) { var a, l; function c () { return this.inputmask ? this.inputmask.opts.autoUnmask ? this.inputmask.unmaskedvalue() : -1 !== r.getLastValidPosition.call(e) || !0 !== n.nullable ? (this.inputmask.shadowRoot || this.ownerDocument).activeElement === this && n.clearMaskOnLostFocus ? (e.isRTL ? o.clearOptionalTail.call( e, r.getBuffer.call(e). slice()).reverse() : o.clearOptionalTail.call( e, r.getBuffer.call(e). slice())).join('') : a.call(this) : '' : a.call(this); } function u (e) { l.call(this, e), this.inputmask && (0, o.applyInputValue)(this, e); } if (!t.inputmask.__valueGet) { if (!0 !== n.noValuePatching) { if (Object.getOwnPropertyDescriptor) { var d = Object.getPrototypeOf ? Object.getOwnPropertyDescriptor( Object.getPrototypeOf(t), 'value') : void 0; d && d.get && d.set ? (a = d.get, l = d.set, Object.defineProperty( t, 'value', { get: c, set: u, configurable: !0, })) : 'input' !== t.tagName.toLowerCase() && (a = function () {return this.textContent;}, l = function (e) {this.textContent = e;}, Object.defineProperty( t, 'value', { get: c, set: u, configurable: !0, })); } else document.__lookupGetter__ && t.__lookupGetter__('value') && (a = t.__lookupGetter__( 'value'), l = t.__lookupSetter__( 'value'), t.__defineGetter__('value', c), t.__defineSetter__('value', u)); t.inputmask.__valueGet = a, t.inputmask.__valueSet = l; } t.inputmask._valueGet = function (t) { return e.isRTL && !0 !== t ? a.call( this.el). split(''). reverse(). join('') : a.call(this.el); }, t.inputmask._valueSet = function ( t, n) { l.call(this.el, null == t ? '' : !0 !== n && e.isRTL ? t.split('').reverse().join('') : t); }, void 0 === a && (a = function () {return this.value;}, l = function (e) {this.value = e;}, function (t) { if (i.valHooks && (void 0 === i.valHooks[t] || !0 !== i.valHooks[t].inputmaskpatch)) { var a = i.valHooks[t] && i.valHooks[t].get ? i.valHooks[t].get : function (e) {return e.value;}, s = i.valHooks[t] && i.valHooks[t].set ? i.valHooks[t].set : function ( e, t) {return e.value = t, e;}; i.valHooks[t] = { get: function (t) { if (t.inputmask) { if (t.inputmask.opts.autoUnmask) return t.inputmask.unmaskedvalue(); var i = a(t); return -1 !== r.getLastValidPosition.call( e, void 0, void 0, t.inputmask.maskset.validPositions) || !0 !== n.nullable ? i : ''; } return a(t); }, set: function (e, t) { var n = s(e, t); return e.inputmask && (0, o.applyInputValue)(e, t), n; }, inputmaskpatch: !0, }; } }(t.type), function (t) { s.EventRuler.on(t, 'mouseenter', (function () { var t = this.inputmask._valueGet( !0); t !== (e.isRTL ? r.getBuffer.call(e).reverse() : r.getBuffer.call(e)).join( '') && (0, o.applyInputValue)(this, t); })); }(t)); } }(t) : t.inputmask = void 0, c; }(n, t); if (!1 !== d) { e.originalPlaceholder = n.placeholder, e.maxLength = void 0 !== n ? n.maxLength : void 0, -1 === e.maxLength && (e.maxLength = void 0), 'inputMode' in n && null === n.getAttribute('inputmode') && (n.inputMode = t.inputmode, n.setAttribute('inputmode', t.inputmode)), !0 === d && (t.showMaskOnFocus = t.showMaskOnFocus && -1 === ['cc-number', 'cc-exp'].indexOf( n.autocomplete), l.iphone && (t.insertModeVisual = !1), s.EventRuler.on(n, 'submit', u.EventHandlers.submitEvent), s.EventRuler.on(n, 'reset', u.EventHandlers.resetEvent), s.EventRuler.on(n, 'blur', u.EventHandlers.blurEvent), s.EventRuler.on( n, 'focus', u.EventHandlers.focusEvent), s.EventRuler.on(n, 'invalid', u.EventHandlers.invalidEvent), s.EventRuler.on(n, 'click', u.EventHandlers.clickEvent), s.EventRuler.on(n, 'mouseleave', u.EventHandlers.mouseleaveEvent), s.EventRuler.on(n, 'mouseenter', u.EventHandlers.mouseenterEvent), s.EventRuler.on(n, 'paste', u.EventHandlers.pasteEvent), s.EventRuler.on(n, 'cut', u.EventHandlers.cutEvent), s.EventRuler.on(n, 'complete', t.oncomplete), s.EventRuler.on(n, 'incomplete', t.onincomplete), s.EventRuler.on(n, 'cleared', t.oncleared), !0 !== t.inputEventOnly && (s.EventRuler.on(n, 'keydown', u.EventHandlers.keydownEvent), s.EventRuler.on(n, 'keypress', u.EventHandlers.keypressEvent), s.EventRuler.on(n, 'keyup', u.EventHandlers.keyupEvent)), (l.mobile || t.inputEventOnly) && n.removeAttribute('maxLength'), s.EventRuler.on(n, 'input', u.EventHandlers.inputFallBackEvent), s.EventRuler.on( n, 'compositionend', u.EventHandlers.compositionendEvent)), s.EventRuler.on( n, 'setvalue', u.EventHandlers.setValueEvent), r.getBufferTemplate.call( e).join(''), e.undoValue = e._valueGet(!0); var h = (n.inputmask.shadowRoot || n.ownerDocument).activeElement; if ('' !== n.inputmask._valueGet(!0) || !1 === t.clearMaskOnLostFocus || h === n) { (0, o.applyInputValue)(n, n.inputmask._valueGet(!0), t); var f = r.getBuffer.call(e).slice(); !1 === c.isComplete.call(e, f) && t.clearIncomplete && r.resetMaskSet.call(e), t.clearMaskOnLostFocus && h !== n && (-1 === r.getLastValidPosition.call(e) ? f = [] : o.clearOptionalTail.call(e, f)), (!1 === t.clearMaskOnLostFocus || t.showMaskOnFocus && h === n || '' !== n.inputmask._valueGet(!0)) && (0, o.writeBuffer)(n, f), h === n && r.caret.call(e, n, r.seekNext.call(e, r.getLastValidPosition.call(e))); } } }; var i, a = (i = n(4528)) && i.__esModule ? i : { default: i }, r = n(8711), o = n(7760), s = n(9716), l = n(9845), c = n(7215), u = n(6030); }, 9695: function (e, t) { Object.defineProperty(t, '__esModule', { value: !0 }), t.default = function ( e, t, n, i) { this.matches = [], this.openGroup = e || !1, this.alternatorGroup = !1, this.isGroup = e || !1, this.isOptional = t || !1, this.isQuantifier = n || !1, this.isAlternator = i || !1, this.quantifier = { min: 1, max: 1, }; }; }, 3194: function () { Array.prototype.includes || Object.defineProperty(Array.prototype, 'includes', { value: function (e, t) { if (null == this) throw new TypeError( '"this" is null or not defined'); var n = Object(this), i = n.length >>> 0; if (0 === i) return !1; for (var a = 0 | t, r = Math.max( a >= 0 ? a : i - Math.abs(a), 0); r < i;) { if (n[r] === e) return !0; r++; } return !1; }, }); }, 7149: function () { function e (t) { return (e = '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; })(t); } 'function' != typeof Object.getPrototypeOf && (Object.getPrototypeOf = 'object' === e('test'.__proto__) ? function (e) {return e.__proto__;} : function (e) {return e.constructor.prototype;}); }, 8711: function (e, t, n) { Object.defineProperty(t, '__esModule', { value: !0 }), t.caret = function (e, t, n, i, a) { var r, o = this, s = this.opts; if (void 0 === t) return 'selectionStart' in e && 'selectionEnd' in e ? (t = e.selectionStart, n = e.selectionEnd) : window.getSelection ? (r = window.getSelection(). getRangeAt( 0)).commonAncestorContainer.parentNode !== e && r.commonAncestorContainer !== e || (t = r.startOffset, n = r.endOffset) : document.selection && document.selection.createRange && (n = (t = 0 - (r = document.selection.createRange()).duplicate(). moveStart('character', -e.inputmask._valueGet().length)) + r.text.length), { begin: i ? t : c.call(o, t), end: i ? n : c.call(o, n), }; if (Array.isArray(t) && (n = o.isRTL ? t[0] : t[1], t = o.isRTL ? t[1] : t[0]), void 0 !== t.begin && (n = o.isRTL ? t.begin : t.end, t = o.isRTL ? t.end : t.begin), 'number' == typeof t) { t = i ? t : c.call(o, t), n = 'number' == typeof (n = i ? n : c.call(o, n)) ? n : t; var l = parseInt(((e.ownerDocument.defaultView || window).getComputedStyle ? (e.ownerDocument.defaultView || window).getComputedStyle(e, null) : e.currentStyle).fontSize) * n; if (e.scrollLeft = l > e.scrollWidth ? l : 0, e.inputmask.caretPos = { begin: t, end: n, }, s.insertModeVisual && !1 === s.insertMode && t === n && (a || n++), e === (e.inputmask.shadowRoot || e.ownerDocument).activeElement) if ('setSelectionRange' in e) e.setSelectionRange(t, n); else if (window.getSelection) { if (r = document.createRange(), void 0 === e.firstChild || null === e.firstChild) { var u = document.createTextNode(''); e.appendChild(u); } r.setStart(e.firstChild, t < e.inputmask._valueGet().length ? t : e.inputmask._valueGet().length), r.setEnd( e.firstChild, n < e.inputmask._valueGet().length ? n : e.inputmask._valueGet().length), r.collapse( !0); var d = window.getSelection(); d.removeAllRanges(), d.addRange(r); } else e.createTextRange && ((r = e.createTextRange()).collapse(!0), r.moveEnd( 'character', n), r.moveStart('character', t), r.select()); } }, t.determineLastRequiredPosition = function (e) { var t, n, r = this, s = this.maskset, l = this.dependencyLib, c = i.getMaskTemplate.call(r, !0, o.call(r), !0, !0), u = c.length, d = o.call(r), h = {}, f = s.validPositions[d], p = void 0 !== f ? f.locator.slice() : void 0; for (t = d + 1; t < c.length; t++) p = (n = i.getTestTemplate.call(r, t, p, t - 1)).locator.slice(), h[t] = l.extend(!0, {}, n); var m = f && void 0 !== f.alternation ? f.locator[f.alternation] : void 0; for (t = u - 1; t > d && ((n = h[t]).match.optionality || n.match.optionalQuantifier && n.match.newBlockMarker || m && (m !== h[t].locator[f.alternation] && 1 != n.match.static || !0 === n.match.static && n.locator[f.alternation] && a.checkAlternationMatch.call(r, n.locator[f.alternation].toString().split(","), m.toString().split(",")) && "" !== i.getTests.call(r, t)[0].def)) && c[t] === i.getPlaceholder.call(r, t, n.match); t--) u--; return e ? { l: u, def: h[u] ? h[u].match : void 0 } : u; }, t.determineNewCaretPosition = function (e, t, n) { var a = this, c = this.maskset, u = this.opts; if (t && (a.isRTL ? e.end = e.begin : e.begin = e.end), e.begin === e.end) { switch (n = n || u.positionCaretOnClick) { case'none': break; case'select': e = { begin: 0, end: r.call(a).length }; break; case'ignore': e.end = e.begin = l.call(a, o.call(a)); break; case'radixFocus': if (function (e) { if ('' !== u.radixPoint && 0 !== u.digits) { var t = c.validPositions; if (void 0 === t[e] || t[e].input === i.getPlaceholder.call(a, e)) { if (e < l.call(a, -1)) return !0; var n = r.call(a). indexOf(u.radixPoint); if (-1 !== n) { for (var o in t) if (t[o] && n < o && t[o].input !== i.getPlaceholder.call(a, o)) return !1; return !0; } } } return !1; }(e.begin)) { var d = r.call(a). join(''). indexOf(u.radixPoint); e.end = e.begin = u.numericInput ? l.call(a, d) : d; break; } default: var h = e.begin, f = o.call(a, h, !0), p = l.call(a, -1 !== f || s.call(a, 0) ? f : -1); if (h <= p) e.end = e.begin = s.call(a, h, !1, !0) ? h : l.call(a, h); else { var m = c.validPositions[f], g = i.getTestTemplate.call(a, p, m ? m.match.locator : void 0, m), v = i.getPlaceholder.call(a, p, g.match); if ('' !== v && r.call(a)[p] !== v && !0 !== g.match.optionalQuantifier && !0 !== g.match.newBlockMarker || !s.call(a, p, u.keepStatic, !0) && g.match.def === v) { var y = l.call(a, p); (h >= y || h === p) && (p = y); } e.end = e.begin = p; } } return e; } }, t.getBuffer = r, t.getBufferTemplate = function () { var e = this.maskset; return void 0 === e._buffer && (e._buffer = i.getMaskTemplate.call(this, !1, 1), void 0 === e.buffer && (e.buffer = e._buffer.slice())), e._buffer; }, t.getLastValidPosition = o, t.isMask = s, t.resetMaskSet = function (e) { var t = this.maskset; t.buffer = void 0, !0 !== e && (t.validPositions = {}, t.p = 0); }, t.seekNext = l, t.seekPrevious = function ( e, t) { var n = this, a = e - 1; if (e <= 0) return 0; for (; a > 0 && (!0 === t && (!0 !== i.getTest.call(n, a).match.newBlockMarker || !s.call(n, a, void 0, !0)) || !0 !== t && !s.call(n, a, void 0, !0));) a--; return a; }, t.translatePosition = c; var i = n(4713), a = n(7215); function r (e) { var t = this.maskset; return void 0 !== t.buffer && !0 !== e || (t.buffer = i.getMaskTemplate.call(this, !0, o.call(this), !0), void 0 === t._buffer && (t._buffer = t.buffer.slice())), t.buffer; } function o (e, t, n) { var i = this.maskset, a = -1, r = -1, o = n || i.validPositions; for (var s in void 0 === e && (e = -1), o) { var l = parseInt(s); o[l] && (t || !0 !== o[l].generatedInput) && (l <= e && (a = l), l >= e && (r = l)); } return -1 === a || a == e ? r : -1 == r || e - a < r - e ? a : r; } function s (e, t, n) { var a = this, r = this.maskset, o = i.getTestTemplate.call(a, e).match; if ('' === o.def && (o = i.getTest.call(a, e).match), !0 !== o.static) return o.fn; if (!0 === n && void 0 !== r.validPositions[e] && !0 !== r.validPositions[e].generatedInput) return !0; if (!0 !== t && e > -1) { if (n) { var s = i.getTests.call(a, e); return s.length > 1 + ('' === s[s.length - 1].match.def ? 1 : 0); } var l = i.determineTestTemplate.call(a, e, i.getTests.call(a, e)), c = i.getPlaceholder.call(a, e, l.match); return l.match.def !== c; } return !1; } function l (e, t, n) { var a = this; void 0 === n && (n = !0); for (var r = e + 1; "" !== i.getTest.call(a, r).match.def && (!0 === t && (!0 !== i.getTest.call(a, r).match.newBlockMarker || !s.call(a, r, void 0, !0)) || !0 !== t && !s.call(a, r, void 0, n));) r++; return r; } function c (e) { var t = this.opts, n = this.el; return !this.isRTL || 'number' != typeof e || t.greedy && '' === t.placeholder || !n || (e = Math.abs(this._valueGet().length - e)), e; } }, 4713: function (e, t) { function n (e, t) { var n = (null != e.alternation ? e.mloc[i(e)] : e.locator).join(''); if ('' !== n) for (; n.length < t;) n += '0'; return n; } function i (e) { var t = e.locator[e.alternation]; return 'string' == typeof t && t.length > 0 && (t = t.split(',')[0]), void 0 !== t ? t.toString() : ''; } function a (e, t, n) { var i = this.opts, a = this.maskset; if (void 0 !== (t = t || s.call(this, e).match).placeholder || !0 === n) return 'function' == typeof t.placeholder ? t.placeholder(i) : t.placeholder; if (!0 === t.static) { if (e > -1 && void 0 === a.validPositions[e]) { var r, o = c.call(this, e), l = []; if (o.length > 1 + ('' === o[o.length - 1].match.def ? 1 : 0)) for (var u = 0; u < o.length; u++) if ('' !== o[u].match.def && !0 !== o[u].match.optionality && !0 !== o[u].match.optionalQuantifier && (!0 === o[u].match.static || void 0 === r || !1 !== o[u].match.fn.test(r.match.def, a, e, !0, i)) && (l.push(o[u]), !0 === o[u].match.static && (r = o[u]), l.length > 1 && /[0-9a-bA-Z]/.test( l[0].match.def))) return i.placeholder.charAt( e % i.placeholder.length); } return t.def; } return i.placeholder.charAt(e % i.placeholder.length); } function r (e, t, n) { return this.maskset.validPositions[e] || o.call(this, e, c.call(this, e, t ? t.slice() : t, n)); } function o (e, t) { var i = this.opts; e = e > 0 ? e - 1 : 0; for (var a, r, o, l = n(s.call(this, e)), c = 0; c < t.length; c++) { var u = t[c]; a = n(u, l.length); var d = Math.abs(a - l); (void 0 === r || '' !== a && d < r || o && !i.greedy && o.match.optionality && 'master' === o.match.newBlockMarker && (!u.match.optionality || !u.match.newBlockMarker) || o && o.match.optionalQuantifier && !u.match.optionalQuantifier) && (r = d, o = u); } return o; } function s (e, t) { var n = this.maskset; return n.validPositions[e] ? n.validPositions[e] : (t || c.call(this, e))[0]; } function l ( e, t, n) { function i (e) { 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), n.push(e.charAt(a)); return n.join(''); } 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) && -1 !== i(t.match.fn.toString().replace(/[[\]/]/g, '')). indexOf( i(e.match.fn.toString(). replace(/[[\]/]/g, ''))); } function c (e, t, n) { var i, a = this, r = this.dependencyLib, s = this.maskset, c = this.opts, u = this.el, d = s.maskToken, h = t ? n : 0, f = t ? t.slice() : [0], p = [], m = !1, g = t ? t.join('') : ''; function v (t, n, a, r) { function o (a, r, d) { function f (e, t) { var n = 0 === t.matches.indexOf(e); return n || t.matches.every((function (i, a) { return !0 === i.isQuantifier ? n = f(e, t.matches[a - 1]) : Object.prototype.hasOwnProperty.call( i, 'matches') && (n = f(e, i)), !n; })), n; } function y (e, t, n) { var i, a; if ((s.tests[e] || s.validPositions[e]) && (s.tests[e] || [s.validPositions[e]]).every( (function (e, r) { if (e.mloc[t]) return i = e, !1; var o = void 0 !== n ? n : e.alternation, s = void 0 !== e.locator[o] ? e.locator[o].toString(). indexOf(t) : -1; return (void 0 === a || s < a) && -1 !== s && (i = e, a = s), !0; })), i) { var r = i.locator[i.alternation]; return (i.mloc[t] || i.mloc[r] || i.locator).slice( (void 0 !== n ? n : i.alternation) + 1); } return void 0 !== n ? y(e, t) : void 0; } function b (e, t) { var n = e.alternation, i = void 0 === t || n === t.alternation && -1 === e.locator[n].toString(). indexOf(t.locator[n]); if (!i && n > t.alternation) for (var a = t.alternation; a < n; a++) if (e.locator[a] !== t.locator[a]) { n = a, i = !0; break; } if (i) { e.mloc = e.mloc || {}; var r = e.locator[n]; if (void 0 !== r) { if ('string' == typeof r && (r = r.split(',')[0]), void 0 === e.mloc[r] && (e.mloc[r] = e.locator.slice()), void 0 !== t) { for (var o in t.mloc) 'string' == typeof o && (o = o.split(',')[0]), void 0 === e.mloc[o] && (e.mloc[o] = t.mloc[o]); e.locator[n] = Object.keys(e.mloc). join(','); } return !0; } e.alternation = void 0; } return !1; } function x (e, t) { if (e.locator.length !== t.locator.length) return !1; for (var n = e.alternation + 1; n < e.locator.length; n++) if (e.locator[n] !== t.locator[n]) return !1; return !0; } if (h > e + c._maxTestPos) throw'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. ' + s.mask; if (h === e && void 0 === a.matches) return p.push({ match: a, locator: r.reverse(), cd: g, mloc: {}, }), !0; if (void 0 !== a.matches) { if (a.isGroup && d !== a) { if (a = o( t.matches[t.matches.indexOf(a) + 1], r, d)) return !0; } else if (a.isOptional) { var _ = a, w = p.length; if (a = v(a, n, r, d)) { if (p.forEach((function (e, t) { t >= w && (e.match.optionality = !0); })), i = p[p.length - 1].match, void 0 !== d || !f(i, _)) return !0; m = !0, h = e; } } else if (a.isAlternator) { var k, M = a, L = [], S = p.slice(), T = r.length, A = !1, D = n.length > 0 ? n.shift() : -1; if (-1 === D || 'string' == typeof D) { var C, E = h, O = n.slice(), Y = []; if ('string' == typeof D) Y = D.split( ','); else for (C = 0; C < M.matches.length; C++) Y.push( C.toString()); if (void 0 !== s.excludes[e]) { for (var P = Y.slice(), I = 0, j = s.excludes[e].length; I < j; I++) { var N = s.excludes[e][I].toString(). split(':'); r.length == N[1] && Y.splice(Y.indexOf(N[0]), 1); } 0 === Y.length && (delete s.excludes[e], Y = P); } (!0 === c.keepStatic || isFinite(parseInt(c.keepStatic)) && E >= c.keepStatic) && (Y = Y.slice(0, 1)); for (var H = 0; H < Y.length; H++) { C = parseInt( Y[H]), p = [], n = 'string' == typeof D && y(h, C, T) || O.slice(); var F = M.matches[C]; if (F && o(F, [C].concat(r), d)) a = !0; else if (0 === H && (A = !0), F && F.matches && F.matches.length > M.matches[0].matches.length) break; k = p.slice(), h = E, p = []; for (var R = 0; R < k.length; R++) { var z = k[R], B = !1; z.match.jit = z.match.jit || A, z.alternation = z.alternation || T, b(z); for (var W = 0; W < L.length; W++) { var V = L[W]; if ('string' != typeof D || void 0 !== z.alternation && Y.includes( z.locator[z.alternation].toString())) { if (z.match.nativeDef === V.match.nativeDef) { B = !0, b(V, z); break; } if (l(z, V, c)) { b(z, V) && (B = !0, L.splice( L.indexOf(V), 0, z)); break; } if (l(V, z, c)) { b(V, z); break; } if (G = V, !0 === ($ = z).match.static && !0 !== G.match.static && G.match.fn.test( $.match.def, s, e, !1, c, !1)) { x(z, V) || void 0 !== u.inputmask.userOptions.keepStatic ? b(z, V) && (B = !0, L.splice( L.indexOf( V), 0, z)) : c.keepStatic = !0; break; } } } B || L.push(z); } } p = S.concat(L), h = e, m = p.length > 0, a = L.length > 0, n = O.slice(); } else a = o(M.matches[D] || t.matches[D], [D].concat(r), d); if (a) return !0; } else if (a.isQuantifier && d !== t.matches[t.matches.indexOf(a) - 1]) for (var q = a, U = n.length > 0 ? n.shift() : 0; U < (isNaN(q.quantifier.max) ? U + 1 : q.quantifier.max) && h <= e; U++) { var X = t.matches[t.matches.indexOf(q) - 1]; if (a = o(X, [U].concat(r), X)) { if ((i = p[p.length - 1].match).optionalQuantifier = U >= q.quantifier.min, i.jit = (U + 1) * (X.matches.indexOf(i) + 1) > q.quantifier.jit, i.optionalQuantifier && f(i, X)) { m = !0, h = e; break; } return i.jit && (s.jitOffset[e] = X.matches.length - X.matches.indexOf(i)), !0; } } else if (a = v(a, n, r, d)) return !0; } else h++; var $, G; } for (var d = n.length > 0 ? n.shift() : 0; d < t.matches.length; d++) if (!0 !== t.matches[d].isQuantifier) { var f = o(t.matches[d], [d].concat(a), r); if (f && h === e) return f; if (h > e) break; } } if (e > -1) { if (void 0 === t) { for (var y, b = e - 1; void 0 === (y = s.validPositions[b] || s.tests[b]) && b > -1;) b--; void 0 !== y && b > -1 && (f = function (e, t) { var n, i = []; return Array.isArray(t) || (t = [t]), t.length > 0 && (void 0 === t[0].alternation || !0 === c.keepStatic ? 0 === (i = o.call(a, e, t.slice()). locator. slice()).length && (i = t[0].locator.slice()) : t.forEach((function (e) { '' !== 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])); }))), i; }(b, y), g = f.join(''), h = b); } if (s.tests[e] && s.tests[e][0].cd === g) return s.tests[e]; for (var x = f.shift(); x < d.length && !(v(d[x], f, [x]) && h === e || h > e); x++) ; } return (0 === p.length || m) && p.push({ match: { fn: null, static: !0, optionality: !1, casing: null, def: '', placeholder: '', }, locator: [], mloc: {}, cd: g, }), void 0 !== t && s.tests[e] ? r.extend(!0, [], p) : (s.tests[e] = r.extend(!0, [], p), s.tests[e]); } Object.defineProperty(t, '__esModule', { value: !0 }), t.determineTestTemplate = o, t.getDecisionTaker = i, t.getMaskTemplate = function ( e, t, n, i, s) { var l = this, u = this.opts, d = this.maskset, h = u.greedy; s && (u.greedy = !1), t = t || 0; var f, p, m, g, v = [], y = 0; do { if (!0 === e && d.validPositions[y]) p = (m = s && !0 === d.validPositions[y].match.optionality && void 0 === d.validPositions[y + 1] && (!0 === d.validPositions[y].generatedInput || d.validPositions[y].input == u.skipOptionalPartCharacter && y > 0) ? o.call(l, y, c.call(l, y, f, y - 1)) : d.validPositions[y]).match, f = m.locator.slice(), v.push( !0 === n ? m.input : !1 === n ? p.nativeDef : a.call(l, y, p)); else { p = (m = r.call(l, y, f, y - 1)).match, f = m.locator.slice(); var b = !0 !== i && (!1 !== u.jitMasking ? u.jitMasking : p.jit); (g = (g && p.static && p.def !== u.groupSeparator && null === p.fn || d.validPositions[y - 1] && p.static && p.def !== u.groupSeparator && null === p.fn) && d.tests[y] && 1 === d.tests[y].length) || !1 === b || void 0 === b || 'number' == typeof b && isFinite(b) && b > y ? v.push( !1 === n ? p.nativeDef : a.call(l, y, p)) : g = !1; } y++; } while (!0 !== p.static || '' !== p.def || t > y); return '' === v[v.length - 1] && v.pop(), !1 === n && void 0 !== d.maskLength || (d.maskLength = y - 1), u.greedy = h, v; }, t.getPlaceholder = a, t.getTest = s, t.getTests = c, t.getTestTemplate = r, t.isSubsetOf = l; }, 7215: function (e, t, n) { Object.defineProperty(t, '__esModule', { value: !0 }), t.alternate = l, t.checkAlternationMatch = function ( e, t, n) { for (var i, a = this.opts.greedy ? t : t.slice(0, 1), r = !1, o = void 0 !== n ? n.split(',') : [], s = 0; s < o.length; s++) -1 !== (i = e.indexOf(o[s])) && e.splice(i, 1); for (var l = 0; l < e.length; l++) if (a.includes(e[l])) { r = !0; break; } return r; }, t.isComplete = u, t.isValid = d, t.refreshFromBuffer = f, t.revalidateMask = m, t.handleRemove = function ( e, t, n, i, s) { var c = this, u = this.maskset, d = this.opts; if ((d.numericInput || c.isRTL) && (t === r.default.BACKSPACE ? t = r.default.DELETE : t === r.default.DELETE && (t = r.default.BACKSPACE), c.isRTL)) { var h = n.end; n.end = n.begin, n.begin = h; } var f, p = o.getLastValidPosition.call(c, void 0, !0); if (n.end >= o.getBuffer.call(c).length && p >= n.end && (n.end = p + 1), t === r.default.BACKSPACE ? n.end - n.begin < 1 && (n.begin = o.seekPrevious.call(c, n.begin)) : t === r.default.DELETE && n.begin === n.end && (n.end = o.isMask.call(c, n.end, !0, !0) ? n.end + 1 : o.seekNext.call(c, n.end) + 1), !1 !== (f = m.call(c, n))) { if (!0 !== i && !1 !== d.keepStatic || null !== d.regex && -1 !== a.getTest.call(c, n.begin). match. def. indexOf('|')) { var g = l.call(c, !0); if (g) { var v = void 0 !== g.caret ? g.caret : g.pos ? o.seekNext.call(c, g.pos.begin ? g.pos.begin : g.pos) : o.getLastValidPosition.call(c, -1, !0); (t !== r.default.DELETE || n.begin > v) && n.begin; } } !0 !== i && (u.p = t === r.default.DELETE ? n.begin + f : n.begin, u.p = o.determineNewCaretPosition.call(c, { begin: u.p, end: u.p }, !1).begin); } }; var i, a = n(4713), r = (i = n(4528)) && i.__esModule ? i : { default: i }, o = n(8711), s = n(6030); function l (e, t, n, i, r, s) { var c, u, h, f, p, m, g, v, y, b, x, _ = this, w = this.dependencyLib, k = this.opts, M = _.maskset, L = w.extend(!0, {}, M.validPositions), S = w.extend(!0, {}, M.tests), T = !1, A = !1, D = void 0 !== r ? r : o.getLastValidPosition.call(_); if (s && (b = s.begin, x = s.end, s.begin > s.end && (b = s.end, x = s.begin)), -1 === D && void 0 === r) c = 0, u = (f = a.getTest.call(_, c)).alternation; else for (; D >= 0; D--) if ((h = M.validPositions[D]) && void 0 !== h.alternation) { if (f && f.locator[h.alternation] !== h.locator[h.alternation]) break; c = D, u = M.validPositions[c].alternation, f = h; } if (void 0 !== u) { g = parseInt(c), M.excludes[g] = M.excludes[g] || [], !0 !== e && M.excludes[g].push( (0, a.getDecisionTaker)(f) + ':' + f.alternation); var C = [], E = -1; for (p = g; p < o.getLastValidPosition.call(_, void 0, !0) + 1; p++) -1 === E && e <= p && void 0 !== t && (C.push(t), E = C.length - 1), (m = M.validPositions[p]) && !0 !== m.generatedInput && (void 0 === s || p < b || p >= x) && C.push(m.input), delete M.validPositions[p]; for (-1 === E && void 0 !== t && (C.push(t), E = C.length - 1); void 0 !== M.excludes[g] && M.excludes[g].length < 10;) { for (M.tests = {}, o.resetMaskSet.call(_, !0), T = !0, p = 0; p < C.length && (v = T.caret || o.getLastValidPosition.call(_, void 0, !0) + 1, y = C[p], T = d.call(_, v, y, !1, i, !0)); p++) p === E && (A = T), 1 == e && T && (A = { caretPos: p }); if (T) break; if (o.resetMaskSet.call(_), f = a.getTest.call(_, g), M.validPositions = w.extend(!0, {}, L), M.tests = w.extend(!0, {}, S), !M.excludes[g]) { A = l.call(_, e, t, n, i, g - 1, s); break; } var O = (0, a.getDecisionTaker)(f); if (-1 !== M.excludes[g].indexOf( O + ':' + f.alternation)) { A = l.call(_, e, t, n, i, g - 1, s); break; } for (M.excludes[g].push( O + ':' + f.alternation), p = g; p < o.getLastValidPosition.call(_, void 0, !0) + 1; p++) delete M.validPositions[p]; } } return A && !1 === k.keepStatic || delete M.excludes[g], A; } function c (e, t, n) { var i = this.opts, a = this.maskset; switch (i.casing || t.casing) { case'upper': e = e.toUpperCase(); break; case'lower': e = e.toLowerCase(); break; case'title': var o = a.validPositions[n - 1]; e = 0 === n || o && o.input === String.fromCharCode(r.default.SPACE) ? e.toUpperCase() : e.toLowerCase(); break; default: if ('function' == typeof i.casing) { var s = Array.prototype.slice.call(arguments); s.push(a.validPositions), e = i.casing.apply( this, s); } } return e; } function u (e) { var t = this, n = this.opts, i = this.maskset; if ('function' == typeof n.isComplete) return n.isComplete( e, n); if ('*' !== n.repeat) { var r = !1, s = o.determineLastRequiredPosition.call(t, !0), l = o.seekPrevious.call(t, s.l); if (void 0 === s.def || s.def.newBlockMarker || s.def.optionality || s.def.optionalQuantifier) { r = !0; for (var c = 0; c <= l; c++) { var u = a.getTestTemplate.call(t, c).match; if (!0 !== u.static && void 0 === i.validPositions[c] && !0 !== u.optionality && !0 !== u.optionalQuantifier || !0 === u.static && e[c] !== a.getPlaceholder.call(t, c, u)) { r = !1; break; } } } return r; } } function d (e, t, n, i, r, s, h) { var g = this, v = this.dependencyLib, y = this.opts, b = g.maskset; function x (e) { return g.isRTL ? e.begin - e.end > 1 || e.begin - e.end == 1 : e.end - e.begin > 1 || e.end - e.begin == 1; } n = !0 === n; var _ = e; function w (e) { if (void 0 !== e) { if (void 0 !== e.remove && (Array.isArray(e.remove) || (e.remove = [e.remove]), e.remove.sort( (function (e, t) {return t.pos - e.pos;})). forEach((function (e) { m.call(g, { begin: e, end: e + 1 }); })), e.remove = void 0), void 0 !== e.insert && (Array.isArray(e.insert) || (e.insert = [e.insert]), e.insert.sort( (function (e, t) {return e.pos - t.pos;})). forEach((function (e) { '' !== e.c && d.call(g, e.pos, e.c, void 0 === e.strict || e.strict, void 0 !== e.fromIsValid ? e.fromIsValid : i); })), e.insert = void 0), e.refreshFromBuffer && e.buffer) { var t = e.refreshFromBuffer; f.call(g, !0 === t ? t : t.start, t.end, e.buffer), e.refreshFromBuffer = void 0; } void 0 !== e.rewritePosition && (_ = e.rewritePosition, e = !0); } return e; } function k (t, n, r) { var s = !1; return a.getTests.call(g, t). every((function (l, u) { var d = l.match; if (o.getBuffer.call(g, !0), !1 !== (s = (!d.jit || void 0 !== b.validPositions[o.seekPrevious.call(g, t)]) && (null != d.fn ? d.fn.test(n, b, t, r, y, x(e)) : (n === d.def || n === y.skipOptionalPartCharacter) && '' !== d.def && { c: a.getPlaceholder.call(g, t, d, !0) || d.def, pos: t, }))) { var h = void 0 !== s.c ? s.c : n, f = t; return h = h === y.skipOptionalPartCharacter && !0 === d.static ? a.getPlaceholder.call(g, t, d, !0) || d.def : h, !0 !== (s = w(s)) && void 0 !== s.pos && s.pos !== t && (f = s.pos), !0 !== s && void 0 === s.pos && void 0 === s.c || !1 === m.call(g, e, v.extend({}, l, { input: c.call(g, h, d, f) }), i, f) && (s = !1), !1; } return !0; })), s; } void 0 !== e.begin && (_ = g.isRTL ? e.end : e.begin); var M = !0, L = v.extend(!0, {}, b.validPositions); if (!1 === y.keepStatic && void 0 !== b.excludes[_] && !0 !== r && !0 !== i) for (var S = _; S < (g.isRTL ? e.begin : e.end); S++) void 0 !== b.excludes[S] && (b.excludes[S] = void 0, delete b.tests[S]); if ('function' == typeof y.preValidation && !0 !== i && !0 !== s && (M = w( M = y.preValidation.call(g, o.getBuffer.call(g), _, t, x(e), y, b, e, n || r))), !0 === M) { if (M = k(_, t, n), (!n || !0 === i) && !1 === M && !0 !== s) { var T = b.validPositions[_]; if (!T || !0 !== T.match.static || T.match.def !== t && t !== y.skipOptionalPartCharacter) { if (y.insertMode || void 0 === b.validPositions[o.seekNext.call(g, _)] || e.end > _) { var A = !1; if (b.jitOffset[_] && void 0 === b.validPositions[o.seekNext.call(g, _)] && !1 !== (M = d.call(g, _ + b.jitOffset[_], t, !0, !0)) && (!0 !== r && (M.caret = _), A = !0), e.end > _ && (b.validPositions[_] = void 0), !A && !o.isMask.call(g, _, y.keepStatic && 0 === _)) for (var D = _ + 1, C = o.seekNext.call(g, _, !1, 0 !== _); D <= C; D++) if (!1 !== (M = k(D, t, n))) { M = p.call(g, _, void 0 !== M.pos ? M.pos : D) || M, _ = D; break; } } } else M = { caret: o.seekNext.call(g, _) }; } !1 !== M || !y.keepStatic || !u.call(g, o.getBuffer.call(g)) && 0 !== _ || n || !0 === r ? x(e) && b.tests[_] && b.tests[_].length > 1 && y.keepStatic && !n && !0 !== r && (M = l.call(g, !0)) : M = l.call(g, _, t, n, i, void 0, e), !0 === M && (M = { pos: _ }); } if ('function' == typeof y.postValidation && !0 !== i && !0 !== s) { var E = y.postValidation.call(g, o.getBuffer.call(g, !0), void 0 !== e.begin ? g.isRTL ? e.end : e.begin : e, t, M, y, b, n, h); void 0 !== E && (M = !0 === E ? M : E); } M && void 0 === M.pos && (M.pos = _), !1 === M || !0 === s ? (o.resetMaskSet.call(g, !0), b.validPositions = v.extend(!0, {}, L)) : p.call(g, void 0, _, !0); var O = w(M); return void 0 !== g.maxLength && o.getBuffer.call(g).length > g.maxLength && !i && (o.resetMaskSet.call(g, !0), b.validPositions = v.extend(!0, {}, L), O = !1), O; } function h ( e, t, n) { for (var i = this.maskset, r = !1, o = a.getTests.call(this, e), s = 0; s < o.length; s++) { if (o[s].match && (o[s].match.nativeDef === t.match[n.shiftPositions ? 'def' : 'nativeDef'] && (!n.shiftPositions || !t.match.static) || o[s].match.nativeDef === t.match.nativeDef || n.regex && !o[s].match.static && o[s].match.fn.test(t.input))) { r = !0; break; } if (o[s].match && o[s].match.def === t.match.nativeDef) { r = void 0; break; } } return !1 === r && void 0 !== i.jitOffset[e] && (r = h.call(this, e + i.jitOffset[e], t, n)), r; } function f (e, t, n) { var i, a, r = this, l = this.maskset, c = this.opts, u = this.dependencyLib, d = c.skipOptionalPartCharacter, h = r.isRTL ? n.slice().reverse() : n; if (c.skipOptionalPartCharacter = '', !0 === e) o.resetMaskSet.call( r), l.tests = {}, e = 0, t = n.length, a = o.determineNewCaretPosition.call( r, { begin: 0, end: 0 }, !1).begin; else { for (i = e; i < t; i++) delete l.validPositions[i]; a = e; } var f = new u.Event('keypress'); for (i = e; i < t; i++) { f.which = h[i].toString(). charCodeAt(0), r.ignorable = !1; var p = s.EventHandlers.keypressEvent.call(r, f, !0, !1, !1, a); !1 !== p && void 0 !== p && (a = p.forwardPosition); } c.skipOptionalPartCharacter = d; } function p (e, t, n) { var i = this, r = this.maskset, s = this.dependencyLib; if (void 0 === e) for (e = t - 1; e > 0 && !r.validPositions[e]; e--) ; for (var l = e; l < t; l++) if (void 0 === r.validPositions[l] && !o.isMask.call(i, l, !1) && (0 == l ? a.getTest.call(i, l) : r.validPositions[l - 1])) { var c = a.getTests.call(i, l).slice(); '' === c[c.length - 1].match.def && c.pop(); var u, h = a.determineTestTemplate.call(i, l, c); if (h && (!0 !== h.match.jit || 'master' === h.match.newBlockMarker && (u = r.validPositions[l + 1]) && !0 === u.match.optionalQuantifier) && ((h = s.extend({}, h, { input: a.getPlaceholder.call(i, l, h.match, !0) || h.match.def, })).generatedInput = !0, m.call(i, l, h, !0), !0 !== n)) { var f = r.validPositions[t].input; return r.validPositions[t] = void 0, d.call(i, t, f, !0, !0); } } } function m (e, t, n, i) { var r = this, s = this.maskset, l = this.opts, c = this.dependencyLib; function u (e, t, n) { var i = t[e]; if (void 0 !== i && !0 === i.match.static && !0 !== i.match.optionality && (void 0 === t[0] || void 0 === t[0].alternation)) { 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]; return a && r; } return !1; } var f = 0, p = void 0 !== e.begin ? e.begin : e, m = void 0 !== e.end ? e.end : e, g = !0; if (e.begin > e.end && (p = e.end, m = e.begin), i = void 0 !== i ? i : p, p !== m || l.insertMode && void 0 !== s.validPositions[i] && void 0 === n || void 0 === t) { var v, y = c.extend(!0, {}, s.validPositions), b = o.getLastValidPosition.call(r, void 0, !0); for (s.p = p, v = b; v >= p; v--) delete s.validPositions[v], void 0 === t && delete s.tests[v + 1]; var x, _, w = i, k = w; for (t && (s.validPositions[i] = c.extend(!0, {}, t), k++, w++), v = t ? m : m - 1; v <= b; v++) { if (void 0 !== (x = y[v]) && !0 !== x.generatedInput && (v >= m || v >= p && u(v, y, { begin: p, end: m }))) { for (; "" !== a.getTest.call(r, k).match.def;) { if (!1 !== (_ = h.call(r, k, x, l)) || '+' === x.match.def) { '+' === x.match.def && o.getBuffer.call(r, !0); var M = d.call(r, k, x.input, '+' !== x.match.def, !0); if (g = !1 !== M, w = (M.pos || k) + 1, !g && _) break; } else g = !1; if (g) { void 0 === t && x.match.static && v === e.begin && f++; break; } if (!g && k > s.maskLength) break; k++; } '' == a.getTest.call(r, k).match.def && (g = !1), k = w; } if (!g) break; } if (!g) return s.validPositions = c.extend(!0, {}, y), o.resetMaskSet.call(r, !0), !1; } else t && a.getTest.call(r, i).match.cd === t.match.cd && (s.validPositions[i] = c.extend(!0, {}, t)); return o.resetMaskSet.call(r, !0), f; } }, }, t = {}; function n (i) { var a = t[i]; if (void 0 !== a) return a.exports; var r = t[i] = { exports: {} }; return e[i](r, r.exports, n), r.exports; } var i = {}; return function () { var e, t = i; Object.defineProperty(t, '__esModule', { value: !0 }), t.default = void 0, n(3851), n(219), n(207), n( 5296); var a = ((e = n(2394)) && e.__esModule ? e : { default: e }).default; t.default = a; }(), i; }(); })), function (e, t, n) { e(n.document). ajaxComplete((function (n, i, a) { -1 !== e.inArray('html', a.dataTypes) && e('.inputmask, [data-inputmask], [data-inputmask-mask], [data-inputmask-alias], [data-inputmask-regex]'). each( (function (e, n) {void 0 === n.inputmask && t().mask(n);})); })). ready((function () { e('.inputmask, [data-inputmask], [data-inputmask-mask], [data-inputmask-alias],[data-inputmask-regex]'). each( (function (e, n) {void 0 === n.inputmask && t().mask(n);})); })); }(jQuery, window.Inputmask, window); var tns = function () { var e = window, t = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.msRequestAnimationFrame || function (e) {return setTimeout(e, 16);}, n = window, i = n.cancelAnimationFrame || n.mozCancelAnimationFrame || function (e) {clearTimeout(e);}; function a () { for (var e, t, n, i = arguments[0] || {}, a = 1, r = arguments.length; a < r; a++) if (null !== (e = arguments[a])) for (t in e) i !== (n = e[t]) && void 0 !== n && (i[t] = n); return i; } function r (e) { return ['true', 'false'].indexOf(e) >= 0 ? JSON.parse(e) : e; } function o (e, t, n, i) { if (i) try {e.setItem(t, n);} catch (e) {} return n; } function s () { var e = document, t = e.body; return t || ((t = e.createElement('body')).fake = !0), t; } var l = document.documentElement; function c (e) { var t = ''; return e.fake && (t = l.style.overflow, e.style.background = '', e.style.overflow = l.style.overflow = 'hidden', l.appendChild( e)), t; } function u (e, t) { e.fake && (e.remove(), l.style.overflow = t, l.offsetHeight); } function d (e, t, n, i) { 'insertRule' in e ? e.insertRule(t + '{' + n + '}', i) : e.addRule(t, n, i); } function h (e) {return ('insertRule' in e ? e.cssRules : e.rules).length;} function f (e, t, n) { for (var i = 0, a = e.length; i < a; i++) t.call(n, e[i], i); } var p = 'classList' in document.createElement('_'), m = p ? function (e, t) {return e.classList.contains(t);} : function ( e, t) { return e.className.indexOf(t) >= 0; }, g = p ? function (e, t) {m(e, t) || e.classList.add(t);} : function ( e, t) { m(e, t) || (e.className += ' ' + t); }, v = p ? function (e, t) {m(e, t) && e.classList.remove(t);} : function (e, t) { m(e, t) && (e.className = e.className.replace(t, '')); }; function y (e, t) {return e.hasAttribute(t);} function b (e, t) {return e.getAttribute(t);} function x (e) {return void 0 !== e.item;} function _ (e, t) { if (e = x(e) || e instanceof Array ? e : [e], '[object Object]' === Object.prototype.toString.call( t)) for (var n = e.length; n--;) for (var i in t) e[n].setAttribute( i, t[i]); } function w (e, t) { e = x(e) || e instanceof Array ? e : [e]; for (var n = (t = t instanceof Array ? t : [t]).length, i = e.length; i--;) for (var a = n; a--;) e[i].removeAttribute( t[a]); } function k (e) { for (var t = [], n = 0, i = e.length; n < i; n++) t.push(e[n]); return t; } function M (e, t) { 'none' !== e.style.display && (e.style.display = 'none'); } function L (e, t) {'none' === e.style.display && (e.style.display = '');} function S (e) {return 'none' !== window.getComputedStyle(e).display;} function T (e) { if ('string' == typeof e) { var t = [e], n = e.charAt(0).toUpperCase() + e.substr(1); ['Webkit', 'Moz', 'ms', 'O'].forEach((function (i) { 'ms' === i && 'transform' !== e || t.push(i + n); })), e = t; } for (var i = document.createElement( 'fakeelement'), a = (e.length, 0); a < e.length; a++) { var r = e[a]; if (void 0 !== i.style[r]) return r; } return !1; } function A (e, t) { var n = !1; return /^Webkit/.test(e) ? n = 'webkit' + t + 'End' : /^O/.test(e) ? n = 'o' + t + 'End' : e && (n = t.toLowerCase() + 'end'), n; } var D = !1; try { var C = Object.defineProperty({}, 'passive', { get: function () {D = !0;} }); window.addEventListener('test', null, C); } catch (e) {} var E = !!D && { passive: !0 }; function O (e, t, n) { for (var i in t) { var a = [ 'touchstart', 'touchmove'].indexOf(i) >= 0 && !n && E; e.addEventListener(i, t[i], a); } } function Y (e, t) { for (var n in t) { var i = [ 'touchstart', 'touchmove'].indexOf(n) >= 0 && E; e.removeEventListener(n, t[n], i); } } function P () { return { topics: {}, on: function (e, t) { this.topics[e] = this.topics[e] || [], this.topics[e].push(t); }, off: function (e, t) { if (this.topics[e]) for (var n = 0; n < this.topics[e].length; n++) if (this.topics[e][n] === t) { this.topics[e].splice(n, 1); break; } }, emit: function (e, t) { t.type = e, this.topics[e] && this.topics[e].forEach((function (n) {n(t, e);})); }, }; } Object.keys || (Object.keys = function (e) { var t = []; for (var n in e) Object.prototype.hasOwnProperty.call(e, n) && t.push(n); return t; }), 'remove' in Element.prototype || (Element.prototype.remove = function () { this.parentNode && this.parentNode.removeChild(this); }); var I = function (e) { e = a({ 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, }, e || {}); var n = document, l = window, p = { ENTER: 13, SPACE: 32, LEFT: 37, RIGHT: 39 }, x = {}, D = e.useLocalStorage; if (D) { var C = navigator.userAgent, E = new Date; try { (x = l.localStorage) ? (x.setItem(E, E), D = x.getItem(E) == E, x.removeItem(E)) : D = !1, D || (x = {}); } catch (e) {D = !1;} D && (x.tnsApp && x.tnsApp !== C && [ 'tC', 'tPL', 'tMQ', 'tTf', 't3D', 'tTDu', 'tTDe', 'tADu', 'tADe', 'tTE', 'tAE'].forEach( (function (e) {x.removeItem(e);})), localStorage.tnsApp = C); } var j = x.tC ? r(x.tC) : o(x, 'tC', function () { var e = document, t = s(), n = c(t), i = e.createElement('div'), a = !1; t.appendChild(i); try { for (var r, o = '(10px * 10)', l = [ 'calc' + o, '-moz-calc' + o, '-webkit-calc' + o], d = 0; d < 3; d++) if (r = l[d], i.style.width = r, 100 === i.offsetWidth) { a = r.replace(o, ''); break; } } catch (e) {} return t.fake ? u(t, n) : i.remove(), a; }(), D), N = x.tPL ? r(x.tPL) : o(x, 'tPL', function () { var e, t = document, n = s(), i = c(n), a = t.createElement('div'), r = t.createElement('div'), o = ''; a.className = 'tns-t-subp2', r.className = 'tns-t-ct'; for (var l = 0; l < 70; l++) o += '<div></div>'; return r.innerHTML = o, a.appendChild(r), n.appendChild( a), e = Math.abs(a.getBoundingClientRect().left - r.children[67].getBoundingClientRect().left) < 2, n.fake ? u(n, i) : a.remove(), e; }(), D), H = x.tMQ ? r(x.tMQ) : o(x, 'tMQ', function () { if (window.matchMedia || window.msMatchMedia) return !0; var e, t = document, n = s(), i = c(n), a = t.createElement('div'), r = t.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( t.createTextNode(o)), e = window.getComputedStyle ? window.getComputedStyle(a).position : a.currentStyle.position, n.fake ? u(n, i) : a.remove(), 'absolute' === e; }(), D), F = x.tTf ? r(x.tTf) : o(x, 'tTf', T('transform'), D), R = x.t3D ? r(x.t3D) : o(x, 't3D', function (e) { if (!e) return !1; if (!window.getComputedStyle) return !1; var t, n = document, i = s(), a = c(i), r = n.createElement('p'), o = e.length > 9 ? '-' + e.slice(0, -9).toLowerCase() + '-' : ''; return o += 'transform', i.insertBefore(r, null), r.style[e] = 'translate3d(1px,1px,1px)', t = window.getComputedStyle( r).getPropertyValue(o), i.fake ? u(i, a) : r.remove(), void 0 !== t && t.length > 0 && 'none' !== t; }(F), D), z = x.tTDu ? r(x.tTDu) : o(x, 'tTDu', T('transitionDuration'), D), B = x.tTDe ? r(x.tTDe) : o(x, 'tTDe', T('transitionDelay'), D), W = x.tADu ? r(x.tADu) : o(x, 'tADu', T('animationDuration'), D), V = x.tADe ? r(x.tADe) : o(x, 'tADe', T('animationDelay'), D), q = x.tTE ? r(x.tTE) : o(x, 'tTE', A(z, 'Transition'), D), U = x.tAE ? r(x.tAE) : o(x, 'tAE', A(W, 'Animation'), D), X = l.console && 'function' == typeof l.console.warn, $ = [ 'container', 'controlsContainer', 'prevButton', 'nextButton', 'navContainer', 'autoplayButton'], G = {}; if ($.forEach((function (t) { if ('string' == typeof e[t]) { var i = e[t], a = n.querySelector(i); if (G[t] = i, !a || !a.nodeName) return void (X && console.warn('Can\'t find', e[t])); e[t] = a; } })), !(e.container.children.length < 1)) { var Z = e.responsive, K = e.nested, J = 'carousel' === e.mode; if (Z) { 0 in Z && (e = a(e, Z[0]), delete Z[0]); var Q = {}; for (var ee in Z) { var te = Z[ee]; te = 'number' == typeof te ? { items: te } : te, Q[ee] = te; } Z = Q, Q = null; } if (J || function e (t) { for (var n in t) J || ('slideBy' === n && (t[n] = 'page'), 'edgePadding' === n && (t[n] = !1), 'autoHeight' === n && (t[n] = !1)), 'responsive' === n && e(t[n]); }(e), !J) { e.axis = 'horizontal', e.slideBy = 'page', e.edgePadding = !1; var ne = e.animateIn, ie = e.animateOut, ae = e.animateDelay, re = e.animateNormal; } var oe, se, le = 'horizontal' === e.axis, ce = n.createElement('div'), ue = n.createElement('div'), de = e.container, he = de.parentNode, fe = de.outerHTML, pe = de.children, me = pe.length, ge = Yn(), ve = !1; Z && ei(), J && (de.className += ' tns-vpfix'); var ye, be, xe, _e, we, ke, Me, Le, Se, Te = e.autoWidth, Ae = Hn('fixedWidth'), De = Hn('edgePadding'), Ce = Hn('gutter'), Ee = jn(), Oe = Hn('center'), Ye = Te ? 1 : Math.floor(Hn('items')), Pe = Hn('slideBy'), Ie = e.viewportMax || e.fixedWidthViewportWidth, je = Hn('arrowKeys'), Ne = Hn('speed'), He = e.rewind, Fe = !He && e.loop, Re = Hn('autoHeight'), ze = Hn('controls'), Be = Hn('controlsText'), We = Hn('nav'), Ve = Hn('touch'), qe = Hn('mouseDrag'), Ue = Hn('autoplay'), Xe = Hn('autoplayTimeout'), $e = Hn('autoplayText'), Ge = Hn('autoplayHoverPause'), Ze = Hn('autoplayResetOnVisibility'), Ke = (Me = null, Le = Hn('nonce'), Se = document.createElement( 'style'), Me && Se.setAttribute('media', Me), Le && Se.setAttribute('nonce', Le), document.querySelector('head'). appendChild(Se), Se.sheet ? Se.sheet : Se.styleSheet), Je = e.lazyload, Qe = e.lazyloadSelector, et = [], tt = Fe ? (we = function () { if (Te || Ae && !Ie) return me - 1; var t = Ae ? 'fixedWidth' : 'items', n = []; if ((Ae || e[t] < me) && n.push(e[t]), Z) for (var i in Z) { var a = Z[i][t]; a && (Ae || a < me) && n.push(a); } return n.length || n.push(0), Math.ceil( Ae ? Ie / Math.min.apply(null, n) : Math.max.apply(null, n)); }(), ke = J ? Math.ceil((5 * we - me) / 2) : 4 * we - me, ke = Math.max(we, ke), Nn('edgePadding') ? ke + 1 : ke) : 0, nt = J ? me + 2 * tt : me + tt, it = !(!Ae && !Te || Fe), at = Ae ? Si() : null, rt = !J || !Fe, ot = le ? 'left' : 'top', st = '', lt = '', ct = Ae ? function () { return Oe && !Fe ? me - 1 : Math.ceil(-at / (Ae + Ce)); } : Te ? function () { for (var e = 0; e < nt; e++) if (ye[e] >= -at) return e; } : function () { return Oe && J && !Fe ? me - 1 : Fe || J ? Math.max(0, nt - Math.ceil(Ye)) : nt - 1; }, ut = Cn(Hn('startIndex')), dt = ut, ht = (Dn(), 0), ft = Te ? null : ct(), pt = e.preventActionWhenRunning, mt = e.swipeAngle, gt = !mt || '?', vt = !1, yt = e.onInit, bt = new P, xt = ' tns-slider tns-' + e.mode, _t = de.id || (_e = window.tnsId, window.tnsId = _e ? _e + 1 : 1, 'tns' + window.tnsId), wt = Hn('disable'), kt = !1, Mt = e.freezable, Lt = !(!Mt || Te) && Qn(), St = !1, Tt = { click: Ii, keydown: function (e) { e = Wi(e); var t = [p.LEFT, p.RIGHT].indexOf(e.keyCode); t >= 0 && (0 === t ? Gt.disabled || Ii(e, -1) : Zt.disabled || Ii(e, 1)); }, }, At = { click: function (e) { if (vt) { if (pt) return; Yi(); } var t = Vi(e = Wi(e)); for (; t !== en && !y(t, "data-nav");) t = t.parentNode; if (y(t, 'data-nav')) { var n = rn = Number(b(t, 'data-nav')), i = Ae || Te ? n * me / nn : n * Ye; Pi(jt ? n : Math.min(Math.ceil(i), me - 1), e), on === n && (hn && Ri(), rn = -1); } }, keydown: function (e) { e = Wi(e); var t = n.activeElement; if (!y(t, 'data-nav')) return; var i = [p.LEFT, p.RIGHT, p.ENTER, p.SPACE].indexOf( e.keyCode), a = Number(b(t, 'data-nav')); i >= 0 && (0 === i ? a > 0 && Bi(Qt[a - 1]) : 1 === i ? a < nn - 1 && Bi(Qt[a + 1]) : (rn = a, Pi(a, e))); }, }, Dt = { mouseover: function () {hn && (Ni(), fn = !0);}, mouseout: function () {fn && (ji(), fn = !1);}, }, Ct = { visibilitychange: function () { n.hidden ? hn && (Ni(), mn = !0) : mn && (ji(), mn = !1); }, }, Et = { keydown: function (e) { e = Wi(e); var t = [p.LEFT, p.RIGHT].indexOf(e.keyCode); t >= 0 && Ii(e, 0 === t ? -1 : 1); }, }, Ot = { touchstart: $i, touchmove: Gi, touchend: Ki, touchcancel: Ki, }, Yt = { mousedown: $i, mousemove: Gi, mouseup: Ki, mouseleave: Ki, }, Pt = Nn('controls'), It = Nn('nav'), jt = !!Te || e.navAsThumbnails, Nt = Nn('autoplay'), Ht = Nn('touch'), Ft = Nn('mouseDrag'), Rt = 'tns-slide-active', zt = 'tns-slide-cloned', Bt = 'tns-complete', Wt = { load: function (e) {ci(Vi(e));}, error: function (e) { t = Vi(e), g(t, 'failed'), ui(t); var t; }, }, Vt = 'force' === e.preventScrollOnTouch; if (Pt) var qt, Ut, Xt = e.controlsContainer, $t = e.controlsContainer ? e.controlsContainer.outerHTML : '', Gt = e.prevButton, Zt = e.nextButton, Kt = e.prevButton ? e.prevButton.outerHTML : '', Jt = e.nextButton ? e.nextButton.outerHTML : ''; if (It) var Qt, en = e.navContainer, tn = e.navContainer ? e.navContainer.outerHTML : '', nn = Te ? me : Qi(), an = 0, rn = -1, on = On(), sn = on, ln = 'tns-nav-active', cn = 'Carousel Page ', un = ' (Current Slide)'; if (Nt) var dn, hn, fn, pn, mn, gn = 'forward' === e.autoplayDirection ? 1 : -1, vn = e.autoplayButton, yn = e.autoplayButton ? e.autoplayButton.outerHTML : '', bn = [ '<span class=\'tns-visually-hidden\'>', ' animation</span>']; if (Ht || Ft) var xn, _n, wn = {}, kn = {}, Mn = !1, Ln = le ? function (e, t) {return e.x - t.x;} : function ( e, t) { return e.y - t.y; }; Te || An(wt || Lt), F && (ot = F, st = 'translate', R ? (st += le ? '3d(' : '3d(0px, ', lt = le ? ', 0px, 0px)' : ', 0px)') : (st += le ? 'X(' : 'Y(', lt = ')')), J && (de.className = de.className.replace('tns-vpfix', '')), function () { Nn('gutter'); ce.className = 'tns-outer', ue.className = 'tns-inner', ce.id = _t + '-ow', ue.id = _t + '-iw', '' === de.id && (de.id = _t); xt += N || Te ? ' tns-subpixel' : ' tns-no-subpixel', xt += j ? ' tns-calc' : ' tns-no-calc', Te && (xt += ' tns-autowidth'); xt += ' tns-' + e.axis, de.className += xt, J ? ((oe = n.createElement('div')).id = _t + '-mw', oe.className = 'tns-ovh', ce.appendChild( oe), oe.appendChild(ue)) : ce.appendChild(ue); if (Re) {(oe || ue).className += ' tns-ah';} if (he.insertBefore(ce, de), ue.appendChild(de), f(pe, (function (e, t) { g(e, 'tns-item'), e.id || (e.id = _t + '-item' + t), !J && re && g(e, re), _(e, { 'aria-hidden': 'true', tabindex: '-1' }); })), tt) { for (var t = n.createDocumentFragment(), i = n.createDocumentFragment(), a = tt; a--;) { var r = a % me, o = pe[r].cloneNode(!0); if (g(o, zt), w(o, 'id'), i.insertBefore(o, i.firstChild), J) { var s = pe[me - 1 - r].cloneNode(!0); g(s, zt), w(s, 'id'), t.appendChild(s); } } de.insertBefore(t, de.firstChild), de.appendChild( i), pe = de.children; } }(), function () { if (!J) for (var t = ut, n = ut + Math.min(me, Ye); t < n; t++) { var i = pe[t]; i.style.left = 100 * (t - ut) / Ye + '%', g(i, ne), v(i, re); } le && (N || Te ? (d(Ke, '#' + _t + ' > .tns-item', 'font-size:' + l.getComputedStyle(pe[0]).fontSize + ';', h(Ke)), d(Ke, '#' + _t, 'font-size:0;', h(Ke))) : J && f(pe, (function ( e, t) { e.style.marginLeft = function (e) { return j ? j + '(' + 100 * e + '% / ' + nt + ')' : 100 * e / nt + '%'; }(t); }))); if (H) { if (z) { var a = oe && e.autoHeight ? Vn(e.speed) : ''; d(Ke, '#' + _t + '-mw', a, h(Ke)); } a = Fn(e.edgePadding, e.gutter, e.fixedWidth, e.speed, e.autoHeight), d(Ke, '#' + _t + '-iw', a, h(Ke)), J && (a = le && !Te ? 'width:' + Rn(e.fixedWidth, e.gutter, e.items) + ';' : '', z && (a += Vn(Ne)), d(Ke, '#' + _t, a, h(Ke))), a = le && !Te ? zn(e.fixedWidth, e.gutter, e.items) : '', e.gutter && (a += Bn(e.gutter)), J || (z && (a += Vn(Ne)), W && (a += qn(Ne))), a && d(Ke, '#' + _t + ' > .tns-item', a, h(Ke)); } else { J && Re && (oe.style[z] = Ne / 1e3 + 's'), ue.style.cssText = Fn(De, Ce, Ae, Re), J && le && !Te && (de.style.width = Rn(Ae, Ce, Ye)); a = le && !Te ? zn(Ae, Ce, Ye) : ''; Ce && (a += Bn(Ce)), a && d(Ke, '#' + _t + ' > .tns-item', a, h(Ke)); } if (Z && H) for (var r in Z) { r = parseInt(r); var o = Z[r], s = (a = '', ''), c = '', u = '', p = '', m = Te ? null : Hn('items', r), y = Hn('fixedWidth', r), b = Hn('speed', r), x = Hn('edgePadding', r), _ = Hn('autoHeight', r), w = Hn('gutter', r); z && oe && Hn('autoHeight', r) && 'speed' in o && (s = '#' + _t + '-mw{' + Vn(b) + '}'), ('edgePadding' in o || 'gutter' in o) && (c = '#' + _t + '-iw{' + Fn(x, w, y, b, _) + '}'), J && le && !Te && ('fixedWidth' in o || 'items' in o || Ae && 'gutter' in o) && (u = 'width:' + Rn(y, w, m) + ';'), z && 'speed' in o && (u += Vn(b)), u && (u = '#' + _t + '{' + u + '}'), ('fixedWidth' in o || Ae && 'gutter' in o || !J && 'items' in o) && (p += zn(y, w, m)), 'gutter' in o && (p += Bn(w)), !J && 'speed' in o && (z && (p += Vn(b)), W && (p += qn(b))), p && (p = '#' + _t + ' > .tns-item{' + p + '}'), (a = s + c + u + p) && Ke.insertRule( '@media (min-width: ' + r / 16 + 'em) {' + a + '}', Ke.cssRules.length); } }(), Un(); var Sn = Fe ? J ? function () { var e = ht, t = ft; e += Pe, t -= Pe, De ? (e += 1, t -= 1) : Ae && (Ee + Ce) % (Ae + Ce) && (t -= 1), tt && (ut > t ? ut -= me : ut < e && (ut += me)); } : function () { if (ut > ft) for (; ut >= ht + me;) ut -= me; else if (ut < ht) for (; ut <= ft - me;) ut += me; } : function () {ut = Math.max(ht, Math.min(ft, ut));}, Tn = J ? function () { var e, t, n, i, a, r, o, s, l, c, u; Mi(de, ''), z || !Ne ? (Di(), Ne && S(de) || Yi()) : (e = de, t = ot, n = st, i = lt, a = Ti(), r = Ne, o = Yi, s = Math.min( r, 10), l = a.indexOf('%') >= 0 ? '%' : 'px', a = a.replace(l, ''), c = Number( e.style[t].replace(n, ''). replace(i, ''). replace(l, '')), u = (a - c) / r * s, setTimeout((function a () { r -= s, c += u, e.style[t] = n + c + l + i, r > 0 ? setTimeout(a, s) : o(); }), s)), le || Ji(); } : function () { et = []; var e = {}; e[q] = e[U] = Yi, Y(pe[dt], e), O(pe[ut], e), Ci(dt, ne, ie, !0), Ci(ut, re, ne), q && U && Ne && S(de) || Yi(); }; return { version: '2.9.3', getInfo: ta, events: bt, goTo: Pi, play: function () {Ue && !hn && (Fi(), pn = !1);}, pause: function () {hn && (Ri(), pn = !0);}, isOn: ve, updateSliderHeight: gi, refresh: Un, destroy: function () { if (Ke.disabled = !0, Ke.ownerNode && Ke.ownerNode.remove(), Y(l, { resize: Kn }), je && Y(n, Et), Xt && Y(Xt, Tt), en && Y(en, At), Y(de, Dt), Y(de, Ct), vn && Y(vn, { click: zi }), Ue && clearInterval(dn), J && q) { var t = {}; t[q] = Yi, Y(de, t); } Ve && Y(de, Ot), qe && Y(de, Yt); var i = [fe, $t, Kt, Jt, tn, yn]; for (var a in $.forEach((function (t, n) { var a = 'container' === t ? ce : e[t]; if ('object' == typeof a && a) { var r = !!a.previousElementSibling && a.previousElementSibling, o = a.parentNode; a.outerHTML = i[n], e[t] = r ? r.nextElementSibling : o.firstElementChild; } })), $ = ne = ie = ae = re = le = ce = ue = de = he = fe = pe = me = se = ge = Te = Ae = De = Ce = Ee = Ye = Pe = Ie = je = Ne = He = Fe = Re = Ke = Je = ye = et = tt = nt = it = at = rt = ot = st = lt = ct = ut = dt = ht = ft = mt = gt = vt = yt = bt = xt = _t = wt = kt = Mt = Lt = St = Tt = At = Dt = Ct = Et = Ot = Yt = Pt = It = jt = Nt = Ht = Ft = Rt = Bt = Wt = be = ze = Be = Xt = $t = Gt = Zt = qt = Ut = We = en = tn = Qt = nn = an = rn = on = sn = ln = cn = un = Ue = Xe = gn = $e = Ge = vn = yn = Ze = bn = dn = hn = fn = pn = mn = wn = kn = xn = Mn = _n = Ln = Ve = qe = null, this) 'rebuild' !== a && (this[a] = null); ve = !1; }, rebuild: function () {return I(a(e, G));}, }; } function An (e) {e && (ze = We = Ve = qe = je = Ue = Ge = Ze = !1);} function Dn () { for (var e = J ? ut - tt : ut; e < 0;) e += me; return e % me + 1; } function Cn (e) { return e = e ? Math.max(0, Math.min(Fe ? me - 1 : me - Ye, e)) : 0, J ? e + tt : e; } function En (e) { for (null == e && (e = ut), J && (e -= tt); e < 0;) e += me; return Math.floor(e % me); } function On () { var e, t = En(); return e = jt ? t : Ae || Te ? Math.ceil((t + 1) * nn / me - 1) : Math.floor(t / Ye), !Fe && J && ut === ft && (e = nn - 1), e; } function Yn () { return l.innerWidth || n.documentElement.clientWidth || n.body.clientWidth; } function Pn (e) {return 'top' === e ? 'afterbegin' : 'beforeend';} function In (e) { if (null != e) { var t, i, a = n.createElement('div'); return e.appendChild( a), i = (t = a.getBoundingClientRect()).right - t.left, a.remove(), i || In(e.parentNode); } } function jn () { var e = De ? 2 * De - Ce : 0; return In(he) - e; } function Nn (t) { if (e[t]) return !0; if (Z) for (var n in Z) if (Z[n][t]) return !0; return !1; } function Hn (t, n) { if (null == n && (n = ge), 'items' === t && Ae) return Math.floor( (Ee + Ce) / (Ae + Ce)) || 1; var i = e[t]; if (Z) for (var a in Z) n >= parseInt(a) && t in Z[a] && (i = Z[a][t]); return 'slideBy' === t && 'page' === i && (i = Hn('items')), J || 'slideBy' !== t && 'items' !== t || (i = Math.floor(i)), i; } function Fn (e, t, n, i, a) { var r = ''; if (void 0 !== e) { var o = e; t && (o -= t), r = le ? 'margin: 0 ' + o + 'px 0 ' + e + 'px;' : 'margin: ' + e + 'px 0 ' + o + 'px 0;'; } else if (t && !n) { var s = '-' + t + 'px'; r = 'margin: 0 ' + (le ? s + ' 0 0' : '0 ' + s + ' 0') + ';'; } return !J && a && z && i && (r += Vn(i)), r; } function Rn (e, t, n) { return e ? (e + t) * nt + 'px' : j ? j + '(' + 100 * nt + '% / ' + n + ')' : 100 * nt / n + '%'; } function zn (e, t, n) { var i; if (e) i = e + t + 'px'; else { J || (n = Math.floor(n)); var a = J ? nt : n; i = j ? j + '(100% / ' + a + ')' : 100 / a + '%'; } return i = 'width:' + i, 'inner' !== K ? i + ';' : i + ' !important;'; } function Bn (e) { var t = ''; !1 !== e && (t = (le ? 'padding-' : 'margin-') + (le ? 'right' : 'bottom') + ': ' + e + 'px;'); return t; } function Wn (e, t) { var n = e.substring(0, e.length - t).toLowerCase(); return n && (n = '-' + n + '-'), n; } function Vn (e) { return Wn(z, 18) + 'transition-duration:' + e / 1e3 + 's;'; } function qn (e) { return Wn(W, 17) + 'animation-duration:' + e / 1e3 + 's;'; } function Un () { if (Nn('autoHeight') || Te || !le) { var e = de.querySelectorAll('img'); f(e, (function (e) { var t = e.src; Je || (t && t.indexOf('data:image') < 0 ? (e.src = '', O(e, Wt), g(e, 'loading'), e.src = t) : ci(e)); })), t((function () {fi(k(e), (function () {be = !0;}));})), Nn( 'autoHeight') && (e = di(ut, Math.min(ut + Ye - 1, nt - 1))), Je ? Xn() : t((function () {fi(k(e), Xn);})); } else J && Ai(), Gn(), Zn(); } function Xn () { if (Te && me > 1) { var e = Fe ? ut : me - 1; !function t () { var n = pe[e].getBoundingClientRect().left, i = pe[e - 1].getBoundingClientRect().right; Math.abs(n - i) <= 1 ? $n() : setTimeout( (function () {t();}), 16); }(); } else $n(); } function $n () { le && !Te || (vi(), Te ? (at = Si(), Mt && (Lt = Qn()), ft = ct(), An(wt || Lt)) : Ji()), J && Ai(), Gn(), Zn(); } function Gn () { if (yi(), ce.insertAdjacentHTML('afterbegin', '<div class="tns-liveregion tns-visually-hidden" aria-live="polite" aria-atomic="true">slide <span class="current">' + oi() + '</span> of ' + me + '</div>'), xe = ce.querySelector( '.tns-liveregion .current'), Nt) { var t = Ue ? 'stop' : 'start'; vn ? _(vn, { 'data-action': t }) : e.autoplayButtonOutput && (ce.insertAdjacentHTML(Pn(e.autoplayPosition), '<button type="button" data-action="' + t + '">' + bn[0] + t + bn[1] + $e[0] + '</button>'), vn = ce.querySelector( '[data-action]')), vn && O(vn, { click: zi }), Ue && (Fi(), Ge && O(de, Dt), Ze && O(de, Ct)); } if (It) { if (en) _(en, { 'aria-label': 'Carousel Pagination' }), f( Qt = en.children, (function (e, t) { _(e, { 'data-nav': t, tabindex: '-1', 'aria-label': cn + (t + 1), 'aria-controls': _t, }); })); else { for (var n = '', i = jt ? '' : 'style="display:none"', a = 0; a < me; a++) n += '<button type="button" data-nav="' + a + '" tabindex="-1" aria-controls="' + _t + '" ' + i + ' aria-label="' + cn + (a + 1) + '"></button>'; n = '<div class="tns-nav" aria-label="Carousel Pagination">' + n + '</div>', ce.insertAdjacentHTML(Pn(e.navPosition), n), en = ce.querySelector('.tns-nav'), Qt = en.children; } if (ea(), z) { var r = z.substring(0, z.length - 18). toLowerCase(), o = 'transition: all ' + Ne / 1e3 + 's'; r && (o = '-' + r + '-' + o), d(Ke, '[aria-controls^=' + _t + '-item]', o, h(Ke)); } _(Qt[on], { 'aria-label': cn + (on + 1) + un }), w(Qt[on], 'tabindex'), g(Qt[on], ln), O(en, At); } Pt && (Xt || Gt && Zt || (ce.insertAdjacentHTML(Pn(e.controlsPosition), '<div class="tns-controls" aria-label="Carousel Navigation" tabindex="0"><button type="button" data-controls="prev" tabindex="-1" aria-controls="' + _t + '">' + Be[0] + '</button><button type="button" data-controls="next" tabindex="-1" aria-controls="' + _t + '">' + Be[1] + '</button></div>'), Xt = ce.querySelector( '.tns-controls')), Gt && Zt || (Gt = Xt.children[0], Zt = Xt.children[1]), e.controlsContainer && _(Xt, { 'aria-label': 'Carousel Navigation', tabindex: '0', }), (e.controlsContainer || e.prevButton && e.nextButton) && _([Gt, Zt], { 'aria-controls': _t, tabindex: '-1', }), (e.controlsContainer || e.prevButton && e.nextButton) && (_(Gt, { 'data-controls': 'prev' }), _(Zt, { 'data-controls': 'next' })), qt = xi(Gt), Ut = xi( Zt), ki(), Xt ? O(Xt, Tt) : (O(Gt, Tt), O(Zt, Tt))), ti(); } function Zn () { if (J && q) { var t = {}; t[q] = Yi, O(de, t); } Ve && O(de, Ot, e.preventScrollOnTouch), qe && O(de, Yt), je && O(n, Et), 'inner' === K ? bt.on('outerResized', (function () {Jn(), bt.emit('innerLoaded', ta());})) : (Z || Ae || Te || Re || !le) && O(l, { resize: Kn }), Re && ('outer' === K ? bt.on('innerLoaded', hi) : wt || hi()), li(), wt ? ai() : Lt && ii(), bt.on('indexChanged', pi), 'inner' === K && bt.emit('innerLoaded', ta()), 'function' == typeof yt && yt(ta()), ve = !0; } function Kn (e) {t((function () {Jn(Wi(e));}));} function Jn (t) { if (ve) { 'outer' === K && bt.emit('outerResized', ta(t)), ge = Yn(); var i, a = se, r = !1; Z && (ei(), (i = a !== se) && bt.emit('newBreakpointStart', ta(t))); var o, s, l = Ye, c = wt, u = Lt, p = je, m = ze, y = We, b = Ve, x = qe, _ = Ue, w = Ge, k = Ze, S = ut; if (i) { var T = Ae, A = Re, D = Be, C = Oe, E = $e; if (!H) var P = Ce, I = De; } if (je = Hn('arrowKeys'), ze = Hn('controls'), We = Hn( 'nav'), Ve = Hn('touch'), Oe = Hn('center'), qe = Hn( 'mouseDrag'), Ue = Hn('autoplay'), Ge = Hn( 'autoplayHoverPause'), Ze = Hn( 'autoplayResetOnVisibility'), i && (wt = Hn('disable'), Ae = Hn('fixedWidth'), Ne = Hn( 'speed'), Re = Hn('autoHeight'), Be = Hn( 'controlsText'), $e = Hn('autoplayText'), Xe = Hn( 'autoplayTimeout'), H || (De = Hn('edgePadding'), Ce = Hn('gutter'))), An( wt), Ee = jn(), le && !Te || wt || (vi(), le || (Ji(), r = !0)), (Ae || Te) && (at = Si(), ft = ct()), (i || Ae) && (Ye = Hn('items'), Pe = Hn('slideBy'), (s = Ye !== l) && (Ae || Te || (ft = ct()), Sn())), i && wt !== c && (wt ? ai() : function () { if (!kt) return; if (Ke.disabled = !1, de.className += xt, Ai(), Fe) for (var e = tt; e--;) J && L(pe[e]), L(pe[nt - e - 1]); if (!J) for (var t = ut, n = ut + me; t < n; t++) { var i = pe[t], a = t < ut + Ye ? ne : re; i.style.left = 100 * (t - ut) / Ye + '%', g(i, a); } ni(), kt = !1; }()), Mt && (i || Ae || Te) && (Lt = Qn()) !== u && (Lt ? (Di(Ti(Cn(0))), ii()) : (!function () { if (!St) return; De && H && (ue.style.margin = ''); if (tt) for (var e = 'tns-transparent', t = tt; t--;) J && v(pe[t], e), v(pe[nt - t - 1], e); ni(), St = !1; }(), r = !0)), An(wt || Lt), Ue || (Ge = Ze = !1), je !== p && (je ? O(n, Et) : Y(n, Et)), ze !== m && (ze ? Xt ? L(Xt) : (Gt && L(Gt), Zt && L(Zt)) : Xt ? M(Xt) : (Gt && M(Gt), Zt && M(Zt))), We !== y && (We ? (L(en), ea()) : M(en)), Ve !== b && (Ve ? O(de, Ot, e.preventScrollOnTouch) : Y(de, Ot)), qe !== x && (qe ? O(de, Yt) : Y(de, Yt)), Ue !== _ && (Ue ? (vn && L(vn), hn || pn || Fi()) : (vn && M(vn), hn && Ri())), Ge !== w && (Ge ? O(de, Dt) : Y(de, Dt)), Ze !== k && (Ze ? O(n, Ct) : Y(n, Ct)), i) { if (Ae === T && Oe === C || (r = !0), Re !== A && (Re || (ue.style.height = '')), ze && Be !== D && (Gt.innerHTML = Be[0], Zt.innerHTML = Be[1]), vn && $e !== E) { var j = Ue ? 1 : 0, N = vn.innerHTML, F = N.length - E[j].length; N.substring(F) === E[j] && (vn.innerHTML = N.substring(0, F) + $e[j]); } } else Oe && (Ae || Te) && (r = !0); if ((s || Ae && !Te) && (nn = Qi(), ea()), (o = ut !== S) ? (bt.emit('indexChanged', ta()), r = !0) : s ? o || pi() : (Ae || Te) && (li(), yi(), ri()), s && !J && function () { for (var e = ut + Math.min(me, Ye), t = nt; t--;) { var n = pe[t]; t >= ut && t < e ? (g(n, 'tns-moving'), n.style.left = 100 * (t - ut) / Ye + '%', g(n, ne), v(n, re)) : n.style.left && (n.style.left = '', g(n, re), v(n, ne)), v(n, ie); } setTimeout((function () { f(pe, (function (e) {v(e, 'tns-moving');})); }), 300); }(), !wt && !Lt) { if (i && !H && (De === I && Ce === P || (ue.style.cssText = Fn(De, Ce, Ae, Ne, Re)), le)) { J && (de.style.width = Rn(Ae, Ce, Ye)); var R = zn(Ae, Ce, Ye) + Bn(Ce); !function (e, t) { 'deleteRule' in e ? e.deleteRule(t) : e.removeRule(t); }(Ke, h(Ke) - 1), d(Ke, '#' + _t + ' > .tns-item', R, h(Ke)); } Re && hi(), r && (Ai(), dt = ut); } i && bt.emit('newBreakpointEnd', ta(t)); } } function Qn () { if (!Ae && !Te) return me <= (Oe ? Ye - (Ye - 1) / 2 : Ye); var e = Ae ? (Ae + Ce) * me : ye[me], t = De ? Ee + 2 * De : Ee + Ce; return Oe && (t -= Ae ? (Ee - Ae) / 2 : (Ee - (ye[ut + 1] - ye[ut] - Ce)) / 2), e <= t; } function ei () { for (var e in se = 0, Z) e = parseInt(e), ge >= e && (se = e); } function ti () { !Ue && vn && M(vn), !We && en && M(en), ze || (Xt ? M(Xt) : (Gt && M(Gt), Zt && M(Zt))); } function ni () { Ue && vn && L(vn), We && en && L(en), ze && (Xt ? L(Xt) : (Gt && L(Gt), Zt && L(Zt))); } function ii () { if (!St) { if (De && (ue.style.margin = '0px'), tt) for (var e = 'tns-transparent', t = tt; t--;) J && g(pe[t], e), g(pe[nt - t - 1], e); ti(), St = !0; } } function ai () { if (!kt) { if (Ke.disabled = !0, de.className = de.className.replace( xt.substring(1), ''), w(de, ['style']), Fe) for (var e = tt; e--;) J && M(pe[e]), M( pe[nt - e - 1]); if (le && J || w(ue, ['style']), !J) for (var t = ut, n = ut + me; t < n; t++) { var i = pe[t]; w(i, ['style']), v(i, ne), v(i, re); } ti(), kt = !0; } } function ri () { var e = oi(); xe.innerHTML !== e && (xe.innerHTML = e); } function oi () { var e = si(), t = e[0] + 1, n = e[1] + 1; return t === n ? t + '' : t + ' to ' + n; } function si (e) { null == e && (e = Ti()); var t, n, i, a = ut; if (Oe || De ? (Te || Ae) && (n = -(parseFloat(e) + De), i = n + Ee + 2 * De) : Te && (n = ye[ut], i = n + Ee), Te) ye.forEach((function (e, r) { r < nt && ((Oe || De) && e <= n + .5 && (a = r), i - e >= .5 && (t = r)); })); else { if (Ae) { var r = Ae + Ce; Oe || De ? (a = Math.floor(n / r), t = Math.ceil(i / r - 1)) : t = a + Math.ceil(Ee / r) - 1; } else if (Oe || De) { var o = Ye - 1; if (Oe ? (a -= o / 2, t = ut + o / 2) : t = ut + o, De) { var s = De * Ye / Ee; a -= s, t += s; } a = Math.floor(a), t = Math.ceil(t); } else t = a + Ye - 1; a = Math.max(a, 0), t = Math.min(t, nt - 1); } return [a, t]; } function li () { if (Je && !wt) { var e = si(); e.push(Qe), di.apply(null, e). forEach((function (e) { if (!m(e, Bt)) { var t = {}; t[q] = function (e) {e.stopPropagation();}, O(e, t), O(e, Wt), e.src = b(e, 'data-src'); var n = b(e, 'data-srcset'); n && (e.srcset = n), g(e, 'loading'); } })); } } function ci (e) {g(e, 'loaded'), ui(e);} function ui (e) {g(e, Bt), v(e, 'loading'), Y(e, Wt);} function di (e, t, n) { var i = []; for (n || (n = 'img'); e <= t;) f(pe[e].querySelectorAll(n), (function (e) {i.push(e);})), e++; return i; } function hi () { var e = di.apply(null, si()); t((function () {fi(e, gi);})); } function fi (e, n) { return be ? n() : (e.forEach((function (t, n) { !Je && t.complete && ui(t), m(t, Bt) && e.splice(n, 1); })), e.length ? void t((function () {fi(e, n);})) : n()); } function pi () { li(), yi(), ri(), ki(), function () { if (We && (on = rn >= 0 ? rn : On(), rn = -1, on !== sn)) { var e = Qt[sn], t = Qt[on]; _(e, { tabindex: '-1', 'aria-label': cn + (sn + 1) }), v(e, ln), _(t, { 'aria-label': cn + (on + 1) + un }), w(t, 'tabindex'), g(t, ln), sn = on; } }(); } function mi (e, t) { for (var n = [], i = e, a = Math.min(e + t, nt); i < a; i++) n.push( pe[i].offsetHeight); return Math.max.apply(null, n); } function gi () { var e = Re ? mi(ut, Ye) : mi(tt, me), t = oe || ue; t.style.height !== e && (t.style.height = e + 'px'); } function vi () { ye = [0]; var e = le ? 'left' : 'top', t = le ? 'right' : 'bottom', n = pe[0].getBoundingClientRect()[e]; f(pe, (function (i, a) { a && ye.push(i.getBoundingClientRect()[e] - n), a === nt - 1 && ye.push(i.getBoundingClientRect()[t] - n); })); } function yi () { var e = si(), t = e[0], n = e[1]; f(pe, (function (e, i) { i >= t && i <= n ? y(e, 'aria-hidden') && (w(e, ['aria-hidden', 'tabindex']), g(e, Rt)) : y(e, 'aria-hidden') || (_(e, { 'aria-hidden': 'true', tabindex: '-1' }), v(e, Rt)); })); } function bi (e) {return e.nodeName.toLowerCase();} function xi (e) {return 'button' === bi(e);} function _i (e) {return 'true' === e.getAttribute('aria-disabled');} function wi (e, t, n) { e ? t.disabled = n : t.setAttribute('aria-disabled', n.toString()); } function ki () { if (ze && !He && !Fe) { var e = qt ? Gt.disabled : _i(Gt), t = Ut ? Zt.disabled : _i(Zt), n = ut <= ht, i = !He && ut >= ft; n && !e && wi(qt, Gt, !0), !n && e && wi(qt, Gt, !1), i && !t && wi(Ut, Zt, !0), !i && t && wi(Ut, Zt, !1); } } function Mi (e, t) {z && (e.style[z] = t);} function Li (e) { return null == e && (e = ut), Te ? (Ee - (De ? Ce : 0) - (ye[e + 1] - ye[e] - Ce)) / 2 : Ae ? (Ee - Ae) / 2 : (Ye - 1) / 2; } function Si () { var e = Ee + (De ? Ce : 0) - (Ae ? (Ae + Ce) * nt : ye[nt]); return Oe && !Fe && (e = Ae ? -(Ae + Ce) * (nt - 1) - Li() : Li(nt - 1) - ye[nt - 1]), e > 0 && (e = 0), e; } function Ti (e) { var t; if (null == e && (e = ut), le && !Te) if (Ae) t = -(Ae + Ce) * e, Oe && (t += Li()); else { var n = F ? nt : Ye; Oe && (e -= Li()), t = 100 * -e / n; } else t = -ye[e], Oe && Te && (t += Li()); return it && (t = Math.max(t, at)), t += !le || Te || Ae ? 'px' : '%'; } function Ai (e) {Mi(de, '0s'), Di(e);} function Di (e) {null == e && (e = Ti()), de.style[ot] = st + e + lt;} function Ci (e, t, n, i) { var a = e + Ye; Fe || (a = Math.min(a, nt)); for (var r = e; r < a; r++) { var o = pe[r]; i || (o.style.left = 100 * (r - ut) / Ye + '%'), ae && B && (o.style[B] = o.style[V] = ae * (r - e) / 1e3 + 's'), v(o, t), g(o, n), i && et.push(o); } } function Ei (e, t) { rt && Sn(), (ut !== dt || t) && (bt.emit('indexChanged', ta()), bt.emit('transitionStart', ta()), Re && hi(), hn && e && ['click', 'keydown'].indexOf(e.type) >= 0 && Ri(), vt = !0, Tn()); } function Oi (e) {return e.toLowerCase().replace(/-/g, '');} function Yi (e) { if (J || vt) { if (bt.emit('transitionEnd', ta(e)), !J && et.length > 0) for (var t = 0; t < et.length; t++) { var n = et[t]; n.style.left = '', V && B && (n.style[V] = '', n.style[B] = ''), v(n, ie), g(n, re); } if (!e || !J && e.target.parentNode === de || e.target === de && Oi(e.propertyName) === Oi(ot)) { if (!rt) { var i = ut; Sn(), ut !== i && (bt.emit('indexChanged', ta()), Ai()); } 'inner' === K && bt.emit('innerLoaded', ta()), vt = !1, dt = ut; } } } function Pi (e, t) { if (!Lt) if ('prev' === e) Ii(t, -1); else if ('next' === e) Ii(t, 1); else { if (vt) { if (pt) return; Yi(); } var n = En(), i = 0; if ('first' === e ? i = -n : 'last' === e ? i = J ? me - Ye - n : me - 1 - n : ('number' != typeof e && (e = parseInt(e)), isNaN(e) || (t || (e = Math.max(0, Math.min(me - 1, e))), i = e - n)), !J && i && Math.abs(i) < Ye) { var a = i > 0 ? 1 : -1; i += ut + i - me >= ht ? me * a : 2 * me * a * -1; } ut += i, J && Fe && (ut < ht && (ut += me), ut > ft && (ut -= me)), En(ut) !== En(dt) && Ei(t); } } function Ii (e, t) { if (vt) { if (pt) return; Yi(); } var n; if (!t) { for (var i = Vi(e = Wi(e)); i !== Xt && [Gt, Zt].indexOf(i) < 0;) i = i.parentNode; var a = [Gt, Zt].indexOf(i); a >= 0 && (n = !0, t = 0 === a ? -1 : 1); } if (He) { if (ut === ht && -1 === t) return void Pi('last', e); if (ut === ft && 1 === t) return void Pi('first', e); } t && (ut += Pe * t, Te && (ut = Math.floor(ut)), Ei( n || e && 'keydown' === e.type ? e : null)); } function ji () { dn = setInterval((function () {Ii(null, gn);}), Xe), hn = !0; } function Ni () {clearInterval(dn), hn = !1;} function Hi (e, t) { _(vn, { 'data-action': e }), vn.innerHTML = bn[0] + e + bn[1] + t; } function Fi () {ji(), vn && Hi('stop', $e[1]);} function Ri () {Ni(), vn && Hi('start', $e[0]);} function zi () {hn ? (Ri(), pn = !0) : (Fi(), pn = !1);} function Bi (e) {e.focus();} function Wi (e) {return qi(e = e || l.event) ? e.changedTouches[0] : e;} function Vi (e) {return e.target || l.event.srcElement;} function qi (e) {return e.type.indexOf('touch') >= 0;} function Ui (e) { e.preventDefault ? e.preventDefault() : e.returnValue = !1; } function Xi () { return r = kn.y - wn.y, o = kn.x - wn.x, t = Math.atan2(r, o) * (180 / Math.PI), n = mt, i = !1, (a = Math.abs( 90 - Math.abs(t))) >= 90 - n ? i = 'horizontal' : a <= n && (i = 'vertical'), i === e.axis; var t, n, i, a, r, o; } function $i (e) { if (vt) { if (pt) return; Yi(); } Ue && hn && Ni(), Mn = !0, _n && (i(_n), _n = null); var t = Wi(e); bt.emit(qi(e) ? 'touchStart' : 'dragStart', ta(e)), !qi(e) && ['img', 'a'].indexOf(bi(Vi(e))) >= 0 && Ui(e), kn.x = wn.x = t.clientX, kn.y = wn.y = t.clientY, J && (xn = parseFloat(de.style[ot].replace(st, '')), Mi(de, '0s')); } function Gi (e) { if (Mn) { var n = Wi(e); kn.x = n.clientX, kn.y = n.clientY, J ? _n || (_n = t((function () {Zi(e);}))) : ('?' === gt && (gt = Xi()), gt && (Vt = !0)), ('boolean' != typeof e.cancelable || e.cancelable) && Vt && e.preventDefault(); } } function Zi (e) { if (gt) { if (i(_n), Mn && (_n = t((function () {Zi(e);}))), '?' === gt && (gt = Xi()), gt) { !Vt && qi(e) && (Vt = !0); try { e.type && bt.emit(qi(e) ? 'touchMove' : 'dragMove', ta(e)); } catch (e) {} var n = xn, a = Ln(kn, wn); if (!le || Ae || Te) n += a, n += 'px'; else n += F ? a * Ye * 100 / ((Ee + Ce) * nt) : 100 * a / (Ee + Ce), n += '%'; de.style[ot] = st + n + lt; } } else Mn = !1; } function Ki (n) { if (Mn) { _n && (i(_n), _n = null), J && Mi(de, ''), Mn = !1; var a = Wi(n); kn.x = a.clientX, kn.y = a.clientY; var r = Ln(kn, wn); if (Math.abs(r)) { if (!qi(n)) { var o = Vi(n); O(o, { click: function e (t) { Ui(t), Y(o, { click: e }); }, }); } J ? _n = t((function () { if (le && !Te) { var e = -r * Ye / (Ee + Ce); e = r > 0 ? Math.floor(e) : Math.ceil(e), ut += e; } else { var t = -(xn + r); if (t <= 0) ut = ht; else if (t >= ye[nt - 1]) ut = ft; else for (var i = 0; i < nt && t >= ye[i];) ut = i, t > ye[i] && r < 0 && (ut += 1), i++; } Ei(n, r), bt.emit(qi(n) ? 'touchEnd' : 'dragEnd', ta(n)); })) : gt && Ii(n, r > 0 ? -1 : 1); } } 'auto' === e.preventScrollOnTouch && (Vt = !1), mt && (gt = '?'), Ue && !hn && ji(); } function Ji () {(oe || ue).style.height = ye[ut + Ye] - ye[ut] + 'px';} function Qi () { var e = Ae ? (Ae + Ce) * me / Ee : me / Ye; return Math.min(Math.ceil(e), me); } function ea () { if (We && !jt && nn !== an) { var e = an, t = nn, n = L; for (an > nn && (e = nn, t = an, n = M); e < t;) n(Qt[e]), e++; an = nn; } } function ta (e) { return { container: de, slideItems: pe, navContainer: en, navItems: Qt, controlsContainer: Xt, hasControls: Pt, prevButton: Gt, nextButton: Zt, items: Ye, slideBy: Pe, cloneCount: tt, slideCount: me, slideCountNew: nt, index: ut, indexCached: dt, displayIndex: Dn(), navCurrentIndex: on, navCurrentIndexCached: sn, pages: nn, pagesCached: an, sheet: Ke, isOn: ve, event: e || {}, }; } X && console.warn('No slides found in', e.container); }; return I; }(); /*! nouislider - 14.7.0 - 4/6/2021 */ !function (e) { 'function' == typeof define && define.amd ? define([], e) : 'object' == typeof exports ? module.exports = e() : window.noUiSlider = e(); }((function () { 'use strict'; var e = '14.7.0'; function t (e) {e.parentElement.removeChild(e);} function n (e) {return null != e;} function i (e) {e.preventDefault();} function a (e) {return 'number' == typeof e && !isNaN(e) && isFinite(e);} function r (e, t, n) { n > 0 && (c(e, t), setTimeout((function () {u(e, t);}), n)); } function o (e) {return Math.max(Math.min(e, 100), 0);} function s (e) {return Array.isArray(e) ? e : [e];} function l (e) { var t = (e = String(e)).split('.'); return t.length > 1 ? t[1].length : 0; } function c (e, t) { e.classList && !/\s/.test(t) ? e.classList.add(t) : e.className += ' ' + t; } function u (e, t) { e.classList && !/\s/.test(t) ? e.classList.remove(t) : e.className = e.className.replace( new RegExp('(^|\\b)' + t.split(' ').join('|') + '(\\b|$)', 'gi'), ' '); } function d (e) { var t = void 0 !== window.pageXOffset, n = 'CSS1Compat' === (e.compatMode || ''); return { x: t ? window.pageXOffset : n ? e.documentElement.scrollLeft : e.body.scrollLeft, y: t ? window.pageYOffset : n ? e.documentElement.scrollTop : e.body.scrollTop, }; } function h (e, t) {return 100 / (t - e);} function f (e, t, n) {return 100 * t / (e[n + 1] - e[n]);} function p (e, t) { for (var n = 1; e >= t[n];) n += 1; return n; } function m (e, t, n) { if (n >= e.slice(-1)[0]) return 100; var i = p(n, e), a = e[i - 1], r = e[i], o = t[i - 1], s = t[i]; return o + function (e, t) { return f(e, e[0] < 0 ? t + Math.abs(e[0]) : t - e[0], 0); }([a, r], n) / h(o, s); } function g (e, t, n, i) { if (100 === i) return i; var a = p(i, e), r = e[a - 1], o = e[a]; return n ? i - r > (o - r) / 2 ? o : r : t[a - 1] ? e[a - 1] + function (e, t) {return Math.round(e / t) * t;}(i - e[a - 1], t[a - 1]) : i; } function v (e, t, n) { var i; if ('number' == typeof t && (t = [t]), !Array.isArray( t)) throw new Error( 'noUiSlider (14.7.0): \'range\' contains invalid value.'); if (!a(i = 'min' === e ? 0 : 'max' === e ? 100 : parseFloat(e)) || !a(t[0])) throw new Error( 'noUiSlider (14.7.0): \'range\' value isn\'t numeric.'); n.xPct.push(i), n.xVal.push(t[0]), i ? n.xSteps.push( !isNaN(t[1]) && t[1]) : isNaN(t[1]) || (n.xSteps[0] = t[1]), n.xHighestCompleteStep.push(0); } function y (e, t, n) { if (t) if (n.xVal[e] !== n.xVal[e + 1]) { n.xSteps[e] = f([n.xVal[e], n.xVal[e + 1]], t, 0) / h(n.xPct[e], n.xPct[e + 1]); var i = (n.xVal[e + 1] - n.xVal[e]) / n.xNumSteps[e], a = Math.ceil(Number(i.toFixed(3)) - 1), r = n.xVal[e] + n.xNumSteps[e] * a; n.xHighestCompleteStep[e] = r; } else n.xSteps[e] = n.xHighestCompleteStep[e] = n.xVal[e]; } function b (e, t, n) { var i; this.xPct = [], this.xVal = [], this.xSteps = [ n || !1], this.xNumSteps = [!1], this.xHighestCompleteStep = [], this.snap = t; var a = []; for (i in e) e.hasOwnProperty(i) && a.push([e[i], i]); for (a.length && 'object' == typeof a[0][0] ? a.sort( (function (e, t) {return e[0][0] - t[0][0];})) : a.sort( (function (e, t) {return e[0] - t[0];})), i = 0; i < a.length; i++) v(a[i][1], a[i][0], this); for (this.xNumSteps = this.xSteps.slice(0), i = 0; i < this.xNumSteps.length; i++) y(i, this.xNumSteps[i], this); } b.prototype.getDistance = function (e) { var t, n = []; for (t = 0; t < this.xNumSteps.length - 1; t++) { var i = this.xNumSteps[t]; if (i && e / i % 1 != 0) throw new Error( 'noUiSlider (14.7.0): \'limit\', \'margin\' and \'padding\' of ' + this.xPct[t] + '% range must be divisible by step.'); n[t] = f(this.xVal, e, t); } return n; }, b.prototype.getAbsoluteDistance = function (e, t, n) { var i, a = 0; if (e < this.xPct[this.xPct.length - 1]) for (; e > this.xPct[a + 1];) a++; else e === this.xPct[this.xPct.length - 1] && (a = this.xPct.length - 2); n || e !== this.xPct[a + 1] || a++; var r = 1, o = t[a], s = 0, l = 0, c = 0, u = 0; for (i = n ? (e - this.xPct[a]) / (this.xPct[a + 1] - this.xPct[a]) : (this.xPct[a + 1] - e) / (this.xPct[a + 1] - this.xPct[a]); o > 0;) s = this.xPct[a + 1 + u] - this.xPct[a + u], t[a + u] * r + 100 - 100 * i > 100 ? (l = s * i, r = (o - 100 * i) / t[a + u], i = 1) : (l = t[a + u] * s / 100 * r, r = 0), n ? (c -= l, this.xPct.length + u >= 1 && u--) : (c += l, this.xPct.length - u >= 1 && u++), o = t[a + u] * r; return e + c; }, b.prototype.toStepping = function (e) { return e = m(this.xVal, this.xPct, e); }, b.prototype.fromStepping = function (e) { return function ( e, t, n) { if (n >= 100) return e.slice(-1)[0]; var i = p(n, t), a = e[i - 1], r = e[i], o = t[i - 1]; return function (e, t) {return t * (e[1] - e[0]) / 100 + e[0];}( [a, r], (n - o) * h(o, t[i])); }(this.xVal, this.xPct, e); }, b.prototype.getStep = function (e) { return e = g(this.xPct, this.xSteps, this.snap, e); }, b.prototype.getDefaultStep = function (e, t, n) { var i = p(e, this.xPct); return (100 === e || t && e === this.xPct[i - 1]) && (i = Math.max(i - 1, 1)), (this.xVal[i] - this.xVal[i - 1]) / n; }, b.prototype.getNearbySteps = function (e) { var t = p(e, this.xPct); return { stepBefore: { startValue: this.xVal[t - 2], step: this.xNumSteps[t - 2], highestStep: this.xHighestCompleteStep[t - 2], }, thisStep: { startValue: this.xVal[t - 1], step: this.xNumSteps[t - 1], highestStep: this.xHighestCompleteStep[t - 1], }, stepAfter: { startValue: this.xVal[t], step: this.xNumSteps[t], highestStep: this.xHighestCompleteStep[t], }, }; }, b.prototype.countStepDecimals = function () { var e = this.xNumSteps.map(l); return Math.max.apply(null, e); }, b.prototype.convert = function (e) { return this.getStep(this.toStepping(e)); }; var x = { to: function (e) {return void 0 !== e && e.toFixed(2);}, from: Number, }, _ = { target: 'target', base: 'base', origin: 'origin', handle: 'handle', handleLower: 'handle-lower', handleUpper: 'handle-upper', touchArea: 'touch-area', horizontal: 'horizontal', vertical: 'vertical', background: 'background', connect: 'connect', connects: 'connects', ltr: 'ltr', rtl: 'rtl', textDirectionLtr: 'txt-dir-ltr', textDirectionRtl: 'txt-dir-rtl', draggable: 'draggable', drag: 'state-drag', tap: 'state-tap', active: 'active', tooltip: 'tooltip', pips: 'pips', pipsHorizontal: 'pips-horizontal', pipsVertical: 'pips-vertical', marker: 'marker', markerHorizontal: 'marker-horizontal', markerVertical: 'marker-vertical', markerNormal: 'marker-normal', markerLarge: 'marker-large', markerSub: 'marker-sub', value: 'value', valueHorizontal: 'value-horizontal', valueVertical: 'value-vertical', valueNormal: 'value-normal', valueLarge: 'value-large', valueSub: 'value-sub', }, w = '.__tooltips', k = '.__aria'; function M (e) { if (function (e) { return 'object' == typeof e && 'function' == typeof e.to && 'function' == typeof e.from; }(e)) return !0; throw new Error( 'noUiSlider (14.7.0): \'format\' requires \'to\' and \'from\' methods.'); } function L (e, t) { if (!a(t)) throw new Error( 'noUiSlider (14.7.0): \'step\' is not numeric.'); e.singleStep = t; } function S (e, t) { if (!a(t)) throw new Error( 'noUiSlider (14.7.0): \'keyboardPageMultiplier\' is not numeric.'); e.keyboardPageMultiplier = t; } function T (e, t) { if (!a(t)) throw new Error( 'noUiSlider (14.7.0): \'keyboardDefaultStep\' is not numeric.'); e.keyboardDefaultStep = t; } function A (e, t) { if ('object' != typeof t || Array.isArray(t)) throw new Error( 'noUiSlider (14.7.0): \'range\' is not an object.'); if (void 0 === t.min || void 0 === t.max) throw new Error( 'noUiSlider (14.7.0): Missing \'min\' or \'max\' in \'range\'.'); if (t.min === t.max) throw new Error( 'noUiSlider (14.7.0): \'range\' \'min\' and \'max\' cannot be equal.'); e.spectrum = new b(t, e.snap, e.singleStep); } function D (e, t) { if (t = s(t), !Array.isArray(t) || !t.length) throw new Error( 'noUiSlider (14.7.0): \'start\' option is incorrect.'); e.handles = t.length, e.start = t; } function C (e, t) { if (e.snap = t, 'boolean' != typeof t) throw new Error( 'noUiSlider (14.7.0): \'snap\' option must be a boolean.'); } function E (e, t) { if (e.animate = t, 'boolean' != typeof t) throw new Error( 'noUiSlider (14.7.0): \'animate\' option must be a boolean.'); } function O (e, t) { if (e.animationDuration = t, 'number' != typeof t) throw new Error( 'noUiSlider (14.7.0): \'animationDuration\' option must be a number.'); } function Y (e, t) { var n, i = [!1]; if ('lower' === t ? t = [!0, !1] : 'upper' === t && (t = [!1, !0]), !0 === t || !1 === t) { for (n = 1; n < e.handles; n++) i.push(t); i.push(!1); } else { if (!Array.isArray(t) || !t.length || t.length !== e.handles + 1) throw new Error( 'noUiSlider (14.7.0): \'connect\' option doesn\'t match handle count.'); i = t; } e.connect = i; } function P (e, t) { switch (t) { case'horizontal': e.ort = 0; break; case'vertical': e.ort = 1; break; default: throw new Error( 'noUiSlider (14.7.0): \'orientation\' option is invalid.'); } } function I (e, t) { if (!a(t)) throw new Error( 'noUiSlider (14.7.0): \'margin\' option must be numeric.'); 0 !== t && (e.margin = e.spectrum.getDistance(t)); } function j (e, t) { if (!a(t)) throw new Error( 'noUiSlider (14.7.0): \'limit\' option must be numeric.'); if (e.limit = e.spectrum.getDistance(t), !e.limit || e.handles < 2) throw new Error( 'noUiSlider (14.7.0): \'limit\' option is only supported on linear sliders with 2 or more handles.'); } function N (e, t) { var n; if (!a(t) && !Array.isArray(t)) throw new Error( 'noUiSlider (14.7.0): \'padding\' option must be numeric or array of exactly 2 numbers.'); if (Array.isArray(t) && 2 !== t.length && !a(t[0]) && !a(t[1])) throw new Error( 'noUiSlider (14.7.0): \'padding\' option must be numeric or array of exactly 2 numbers.'); if (0 !== t) { for (Array.isArray(t) || (t = [t, t]), e.padding = [ e.spectrum.getDistance(t[0]), e.spectrum.getDistance(t[1])], n = 0; n < e.spectrum.xNumSteps.length - 1; n++) if (e.padding[0][n] < 0 || e.padding[1][n] < 0) throw new Error( 'noUiSlider (14.7.0): \'padding\' option must be a positive number(s).'); var i = t[0] + t[1], r = e.spectrum.xVal[0]; if (i / (e.spectrum.xVal[e.spectrum.xVal.length - 1] - r) > 1) throw new Error( 'noUiSlider (14.7.0): \'padding\' option must not exceed 100% of the range.'); } } function H (e, t) { switch (t) { case'ltr': e.dir = 0; break; case'rtl': e.dir = 1; break; default: throw new Error( 'noUiSlider (14.7.0): \'direction\' option was not recognized.'); } } function F (e, t) { if ('string' != typeof t) throw new Error( 'noUiSlider (14.7.0): \'behaviour\' must be a string containing options.'); var n = t.indexOf('tap') >= 0, i = t.indexOf('drag') >= 0, a = t.indexOf('fixed') >= 0, r = t.indexOf('snap') >= 0, o = t.indexOf('hover') >= 0, s = t.indexOf('unconstrained') >= 0; if (a) { if (2 !== e.handles) throw new Error( 'noUiSlider (14.7.0): \'fixed\' behaviour must be used with 2 handles'); I(e, e.start[1] - e.start[0]); } if (s && (e.margin || e.limit)) throw new Error( 'noUiSlider (14.7.0): \'unconstrained\' behaviour cannot be used with margin or limit'); e.events = { tap: n || r, drag: i, fixed: a, snap: r, hover: o, unconstrained: s, }; } function R (e, t) { if (!1 !== t) if (!0 === t) { e.tooltips = []; for (var n = 0; n < e.handles; n++) e.tooltips.push(!0); } else { if (e.tooltips = s(t), e.tooltips.length !== e.handles) throw new Error( 'noUiSlider (14.7.0): must pass a formatter for all handles.'); e.tooltips.forEach((function (e) { if ('boolean' != typeof e && ('object' != typeof e || 'function' != typeof e.to)) throw new Error( 'noUiSlider (14.7.0): \'tooltips\' must be passed a formatter or \'false\'.'); })); } } function z (e, t) {e.ariaFormat = t, M(t);} function B (e, t) {e.format = t, M(t);} function W (e, t) { if (e.keyboardSupport = t, 'boolean' != typeof t) throw new Error( 'noUiSlider (14.7.0): \'keyboardSupport\' option must be a boolean.'); } function V (e, t) {e.documentElement = t;} function q (e, t) { if ('string' != typeof t && !1 !== t) throw new Error( 'noUiSlider (14.7.0): \'cssPrefix\' must be a string or `false`.'); e.cssPrefix = t; } function U (e, t) { if ('object' != typeof t) throw new Error( 'noUiSlider (14.7.0): \'cssClasses\' must be an object.'); if ('string' == typeof e.cssPrefix) for (var n in e.cssClasses = {}, t) t.hasOwnProperty( n) && (e.cssClasses[n] = e.cssPrefix + t[n]); else e.cssClasses = t; } function X (e) { var t = { margin: 0, limit: 0, padding: 0, animate: !0, animationDuration: 300, ariaFormat: x, format: x, }, i = { step: { r: !1, t: L }, keyboardPageMultiplier: { r: !1, t: S }, keyboardDefaultStep: { r: !1, t: T }, start: { r: !0, t: D }, connect: { r: !0, t: Y }, direction: { r: !0, t: H }, snap: { r: !1, t: C }, animate: { r: !1, t: E }, animationDuration: { r: !1, t: O }, range: { r: !0, t: A }, orientation: { r: !1, t: P }, margin: { r: !1, t: I }, limit: { r: !1, t: j }, padding: { r: !1, t: N }, behaviour: { r: !0, t: F }, ariaFormat: { r: !1, t: z }, format: { r: !1, t: B }, tooltips: { r: !1, t: R }, keyboardSupport: { r: !0, t: W }, documentElement: { r: !1, t: V }, cssPrefix: { r: !0, t: q }, cssClasses: { r: !0, t: U }, }, a = { connect: !1, direction: 'ltr', behaviour: 'tap', orientation: 'horizontal', keyboardSupport: !0, cssPrefix: 'noUi-', cssClasses: _, keyboardPageMultiplier: 5, keyboardDefaultStep: 10, }; e.format && !e.ariaFormat && (e.ariaFormat = e.format), Object.keys(i). forEach((function (r) { if (!n(e[r]) && void 0 === a[r]) { if (i[r].r) throw new Error( 'noUiSlider (14.7.0): \'' + r + '\' is required.'); return !0; } i[r].t(t, n(e[r]) ? e[r] : a[r]); })), t.pips = e.pips; var r = document.createElement('div'), o = void 0 !== r.style.msTransform, s = void 0 !== r.style.transform; t.transformRule = s ? 'transform' : o ? 'msTransform' : 'webkitTransform'; return t.style = [ ['left', 'top'], ['right', 'bottom']][t.dir][t.ort], t; } function $ (e, a, l) { var h, f, p, m, g, v, y, b, x = window.navigator.pointerEnabled ? { start: 'pointerdown', move: 'pointermove', end: 'pointerup', } : window.navigator.msPointerEnabled ? { start: 'MSPointerDown', move: 'MSPointerMove', end: 'MSPointerUp', } : { start: 'mousedown touchstart', move: 'mousemove touchmove', end: 'mouseup touchend', }, _ = window.CSS && CSS.supports && CSS.supports('touch-action', 'none') && function () { var e = !1; try { var t = Object.defineProperty({}, 'passive', { get: function () {e = !0;} }); window.addEventListener('test', null, t); } catch (e) {} return e; }(), M = e, L = a.spectrum, S = [], T = [], A = [], D = 0, C = {}, E = e.ownerDocument, O = a.documentElement || E.documentElement, Y = E.body, P = 'rtl' === E.dir || 1 === a.ort ? 0 : 100; function I (e, t) { var n = E.createElement('div'); return t && c(n, t), e.appendChild(n), n; } function j (e, t) { var n = I(e, a.cssClasses.origin), i = I(n, a.cssClasses.handle); return I(i, a.cssClasses.touchArea), i.setAttribute('data-handle', t), a.keyboardSupport && (i.setAttribute('tabindex', '0'), i.addEventListener('keydown', (function (e) { return function (e, t) { if (F() || R(t)) return !1; var n = ['Left', 'Right'], i = ['Down', 'Up'], r = ['PageDown', 'PageUp'], o = ['Home', 'End']; a.dir && !a.ort ? n.reverse() : a.ort && !a.dir && (i.reverse(), r.reverse()); var s, l = e.key.replace('Arrow', ''), c = l === r[0], u = l === r[1], d = l === i[0] || l === n[0] || c, h = l === i[1] || l === n[1] || u, f = l === o[0], p = l === o[1]; if (!(d || h || f || p)) return !0; if (e.preventDefault(), h || d) { var m = a.keyboardPageMultiplier, g = d ? 0 : 1, v = me(t)[g]; if (null === v) return !1; !1 === v && (v = L.getDefaultStep(T[t], d, a.keyboardDefaultStep)), (u || c) && (v *= m), v = Math.max(v, 1e-7), v *= d ? -1 : 1, s = S[t] + v; } else s = p ? a.spectrum.xVal[a.spectrum.xVal.length - 1] : a.spectrum.xVal[0]; return ue(t, L.toStepping(s), !0, !0), ae('slide', t), ae('update', t), ae('change', t), ae('set', t), !1; }(e, t); }))), i.setAttribute('role', 'slider'), i.setAttribute( 'aria-orientation', a.ort ? 'vertical' : 'horizontal'), 0 === t ? c(i, a.cssClasses.handleLower) : t === a.handles - 1 && c(i, a.cssClasses.handleUpper), n; } function N (e, t) {return !!t && I(e, a.cssClasses.connect);} function H (e, t) { return !!a.tooltips[t] && I(e.firstChild, a.cssClasses.tooltip); } function F () {return M.hasAttribute('disabled');} function R (e) {return f[e].hasAttribute('disabled');} function z () { g && (ie('update' + w), g.forEach( (function (e) {e && t(e);})), g = null); } function B () { z(), g = f.map(H), ne('update' + w, (function (e, t, n) { if (g[t]) { var i = e[t]; !0 !== a.tooltips[t] && (i = a.tooltips[t].to(n[t])), g[t].innerHTML = i; } })); } function W (e, t, n) { var i = E.createElement('div'), r = []; r[0] = a.cssClasses.valueNormal, r[1] = a.cssClasses.valueLarge, r[2] = a.cssClasses.valueSub; var o = []; o[0] = a.cssClasses.markerNormal, o[1] = a.cssClasses.markerLarge, o[2] = a.cssClasses.markerSub; var s = [a.cssClasses.valueHorizontal, a.cssClasses.valueVertical], l = [ a.cssClasses.markerHorizontal, a.cssClasses.markerVertical]; function u (e, t) { var n = t === a.cssClasses.value, i = n ? r : o; return t + ' ' + (n ? s : l)[a.ort] + ' ' + i[e]; } return c(i, a.cssClasses.pips), c(i, 0 === a.ort ? a.cssClasses.pipsHorizontal : a.cssClasses.pipsVertical), Object.keys(e). forEach((function (r) { !function (e, r, o) { if (-1 !== (o = t ? t(r, o) : o)) { var s = I(i, !1); s.className = u(o, a.cssClasses.marker), s.style[a.style] = e + '%', o > 0 && ((s = I(i, !1)).className = u(o, a.cssClasses.value), s.setAttribute( 'data-value', r), s.style[a.style] = e + '%', s.innerHTML = n.to(r)); } }(r, e[r][0], e[r][1]); })), i; } function V () {m && (t(m), m = null);} function q (e) { V(); var t = e.mode, n = e.density || 1, i = e.filter || !1, a = function (e, t, n) { if ('range' === e || 'steps' === e) return L.xVal; if ('count' === e) { if (t < 2) throw new Error( 'noUiSlider (14.7.0): \'values\' (>= 2) required for mode \'count\'.'); var i = t - 1, a = 100 / i; for (t = []; i--;) t[i] = i * a; t.push(100), e = 'positions'; } return 'positions' === e ? t.map((function (e) { return L.fromStepping(n ? L.getStep(e) : e); })) : 'values' === e ? n ? t.map((function (e) { return L.fromStepping(L.getStep(L.toStepping(e))); })) : t : void 0; }(t, e.values || !1, e.stepped || !1), r = function (e, t, n) { var i, a = {}, r = L.xVal[0], o = L.xVal[L.xVal.length - 1], s = !1, l = !1, c = 0; return i = n.slice(). sort((function (e, t) {return e - t;})), (n = i.filter( (function (e) {return !this[e] && (this[e] = !0);}), {}))[0] !== r && (n.unshift(r), s = !0), n[n.length - 1] !== o && (n.push(o), l = !0), n.forEach((function (i, r) { var o, u, d, h, f, p, m, g, v, y, b = i, x = n[r + 1], _ = 'steps' === t; if (_ && (o = L.xNumSteps[r]), o || (o = x - b), !1 !== b) for (void 0 === x && (x = b), o = Math.max(o, 1e-7), u = b; u <= x; u = (u + o).toFixed(7) / 1) { for (g = (f = (h = L.toStepping(u)) - c) / e, y = f / (v = Math.round(g)), d = 1; d <= v; d += 1) a[(p = c + d * y).toFixed( 5)] = [L.fromStepping(p), 0]; m = n.indexOf(u) > -1 ? 1 : _ ? 2 : 0, !r && s && u !== x && (m = 0), u === x && l || (a[h.toFixed(5)] = [u, m]), c = h; } })), a; }(n, t, a), o = e.format || { to: Math.round }; return m = M.appendChild(W(r, i, o)); } function U () { var e = h.getBoundingClientRect(), t = 'offset' + ['Width', 'Height'][a.ort]; return 0 === a.ort ? e.width || h[t] : e.height || h[t]; } function $ (e, t, n, i) { var r = function (r) { return !!(r = function (e, t, n) { var i, a, r = 0 === e.type.indexOf('touch'), o = 0 === e.type.indexOf('mouse'), s = 0 === e.type.indexOf('pointer'); 0 === e.type.indexOf('MSPointer') && (s = !0); if ('mousedown' === e.type && !e.buttons && !e.touches) return !1; if (r) { var l = function (e) { return e.target === n || n.contains(e.target) || e.target.shadowRoot && e.target.shadowRoot.contains(n); }; if ('touchstart' === e.type) { var c = Array.prototype.filter.call(e.touches, l); if (c.length > 1) return !1; i = c[0].pageX, a = c[0].pageY; } else { var u = Array.prototype.find.call(e.changedTouches, l); if (!u) return !1; i = u.pageX, a = u.pageY; } } t = t || d(E), (o || s) && (i = e.clientX + t.x, a = e.clientY + t.y); return e.pageOffset = t, e.points = [i, a], e.cursor = o || s, e; }(r, i.pageOffset, i.target || t)) && (!(F() && !i.doNotReject) && (o = M, s = a.cssClasses.tap, !((o.classList ? o.classList.contains(s) : new RegExp('\\b' + s + '\\b').test( o.className)) && !i.doNotReject) && (!(e === x.start && void 0 !== r.buttons && r.buttons > 1) && ((!i.hover || !r.buttons) && (_ || r.preventDefault(), r.calcPoint = r.points[a.ort], void n( r, i)))))); var o, s; }, o = []; return e.split(' '). forEach((function (e) { t.addEventListener(e, r, !!_ && { passive: !0 }), o.push( [e, r]); })), o; } function G (e) { var t, n, i, r, s, l, c = 100 * (e - (t = h, n = a.ort, i = t.getBoundingClientRect(), r = t.ownerDocument, s = r.documentElement, l = d( r), /webkit.*Chrome.*Mobile/i.test(navigator.userAgent) && (l.x = 0), n ? i.top + l.y - s.clientTop : i.left + l.x - s.clientLeft)) / U(); return c = o(c), a.dir ? 100 - c : c; } function Z (e, t) { 'mouseout' === e.type && 'HTML' === e.target.nodeName && null === e.relatedTarget && J(e, t); } function K (e, t) { if (-1 === navigator.appVersion.indexOf('MSIE 9') && 0 === e.buttons && 0 !== t.buttonsProperty) return J(e, t); var n = (a.dir ? -1 : 1) * (e.calcPoint - t.startCalcPoint); se(n > 0, 100 * n / t.baseSize, t.locations, t.handleNumbers); } function J (e, t) { t.handle && (u(t.handle, a.cssClasses.active), D -= 1), t.listeners.forEach( (function (e) {O.removeEventListener(e[0], e[1]);})), 0 === D && (u(M, a.cssClasses.drag), ce(), e.cursor && (Y.style.cursor = '', Y.removeEventListener('selectstart', i))), t.handleNumbers.forEach( (function (e) {ae('change', e), ae('set', e), ae('end', e);})); } function Q (e, t) { if (t.handleNumbers.some(R)) return !1; var n; 1 === t.handleNumbers.length && (n = f[t.handleNumbers[0]].children[0], D += 1, c(n, a.cssClasses.active)); e.stopPropagation(); var r = [], o = $(x.move, O, K, { target: e.target, handle: n, listeners: r, startCalcPoint: e.calcPoint, baseSize: U(), pageOffset: e.pageOffset, handleNumbers: t.handleNumbers, buttonsProperty: e.buttons, locations: T.slice(), }), s = $(x.end, O, J, { target: e.target, handle: n, listeners: r, doNotReject: !0, handleNumbers: t.handleNumbers, }), l = $('mouseout', O, Z, { target: e.target, handle: n, listeners: r, doNotReject: !0, handleNumbers: t.handleNumbers, }); r.push.apply(r, o.concat(s, l)), e.cursor && (Y.style.cursor = getComputedStyle(e.target).cursor, f.length > 1 && c(M, a.cssClasses.drag), Y.addEventListener('selectstart', i, !1)), t.handleNumbers.forEach((function (e) {ae('start', e);})); } function ee (e) { e.stopPropagation(); var t = G(e.calcPoint), n = function (e) { var t = 100, n = !1; return f.forEach((function (i, a) { if (!R(a)) { var r = T[a], o = Math.abs(r - e); (o < t || o <= t && e > r || 100 === o && 100 === t) && (n = a, t = o); } })), n; }(t); if (!1 === n) return !1; a.events.snap || r(M, a.cssClasses.tap, a.animationDuration), ue(n, t, !0, !0), ce(), ae('slide', n, !0), ae('update', n, !0), ae( 'change', n, !0), ae('set', n, !0), a.events.snap && Q(e, { handleNumbers: [n] }); } function te (e) { var t = G(e.calcPoint), n = L.getStep(t), i = L.fromStepping(n); Object.keys(C). forEach((function (e) { 'hover' === e.split('.')[0] && C[e].forEach((function (e) {e.call(v, i);})); })); } function ne (e, t) { C[e] = C[e] || [], C[e].push(t), 'update' === e.split('.')[0] && f.forEach((function (e, t) {ae('update', t);})); } function ie (e) { var t = e && e.split('.')[0], n = t ? e.substring(t.length) : e; Object.keys(C). forEach((function (e) { var i = e.split('.')[0], a = e.substring(i.length); t && t !== i || n && n !== a || function (e) {return e === k || e === w;}(a) && n !== a || delete C[e]; })); } function ae (e, t, n) { Object.keys(C). forEach((function (i) { var r = i.split('.')[0]; e === r && C[i].forEach((function (e) { e.call(v, S.map(a.format.to), t, S.slice(), n || !1, T.slice(), v); })); })); } function re (e, t, n, i, r, s) { var l; return f.length > 1 && !a.events.unconstrained && (i && t > 0 && (l = L.getAbsoluteDistance(e[t - 1], a.margin, 0), n = Math.max(n, l)), r && t < f.length - 1 && (l = L.getAbsoluteDistance(e[t + 1], a.margin, 1), n = Math.min(n, l))), f.length > 1 && a.limit && (i && t > 0 && (l = L.getAbsoluteDistance(e[t - 1], a.limit, 0), n = Math.min(n, l)), r && t < f.length - 1 && (l = L.getAbsoluteDistance(e[t + 1], a.limit, 1), n = Math.max(n, l))), a.padding && (0 === t && (l = L.getAbsoluteDistance(0, a.padding[0], 0), n = Math.max(n, l)), t === f.length - 1 && (l = L.getAbsoluteDistance(100, a.padding[1], 1), n = Math.min(n, l))), !((n = o(n = L.getStep(n))) === e[t] && !s) && n; } function oe (e, t) { var n = a.ort; return (n ? t : e) + ', ' + (n ? e : t); } function se (e, t, n, i) { var a = n.slice(), r = [!e, e], o = [e, !e]; i = i.slice(), e && i.reverse(), i.length > 1 ? i.forEach( (function (e, n) { var i = re(a, e, a[e] + t, r[n], o[n], !1); !1 === i ? t = 0 : (t = i - a[e], a[e] = i); })) : r = o = [!0]; var s = !1; i.forEach( (function (e, i) {s = ue(e, n[e] + t, r[i], o[i]) || s;})), s && i.forEach((function (e) {ae('update', e), ae('slide', e);})); } function le (e, t) {return a.dir ? 100 - e - t : e;} function ce () { A.forEach((function (e) { var t = T[e] > 50 ? -1 : 1, n = 3 + (f.length + t * e); f[e].style.zIndex = n; })); } function ue (e, t, n, i, r) { return r || (t = re(T, e, t, n, i, !1)), !1 !== t && (function (e, t) { T[e] = t, S[e] = L.fromStepping(t); var n = 'translate(' + oe(10 * (le(t, 0) - P) + '%', '0') + ')'; f[e].style[a.transformRule] = n, de(e), de(e + 1); }(e, t), !0); } function de (e) { if (p[e]) { var t = 0, n = 100; 0 !== e && (t = T[e - 1]), e !== p.length - 1 && (n = T[e]); var i = n - t, r = 'translate(' + oe(le(t, i) + '%', '0') + ')', o = 'scale(' + oe(i / 100, '1') + ')'; p[e].style[a.transformRule] = r + ' ' + o; } } function he (e, t) { return null === e || !1 === e || void 0 === e ? T[t] : ('number' == typeof e && (e = String(e)), e = a.format.from( e), !1 === (e = L.toStepping(e)) || isNaN(e) ? T[t] : e); } function fe (e, t, n) { var i = s(e), o = void 0 === T[0]; t = void 0 === t || !!t, a.animate && !o && r(M, a.cssClasses.tap, a.animationDuration), A.forEach( (function (e) {ue(e, he(i[e], e), !0, !1, n);})); for (var l = 1 === A.length ? 0 : 1; l < A.length; ++l) A.forEach( (function (e) {ue(e, T[e], !0, !0, n);})); ce(), A.forEach((function (e) { ae('update', e), null !== i[e] && t && ae('set', e); })); } function pe () { var e = S.map(a.format.to); return 1 === e.length ? e[0] : e; } function me (e) { var t = T[e], n = L.getNearbySteps(t), i = S[e], r = n.thisStep.step, o = null; if (a.snap) return [ i - n.stepBefore.startValue || null, n.stepAfter.startValue - i || null]; !1 !== r && i + r > n.stepAfter.startValue && (r = n.stepAfter.startValue - i), o = i > n.thisStep.startValue ? n.thisStep.step : !1 !== n.stepBefore.step && i - n.stepBefore.highestStep, 100 === t ? r = null : 0 === t && (o = null); var s = L.countStepDecimals(); return null !== r && !1 !== r && (r = Number(r.toFixed(s))), null !== o && !1 !== o && (o = Number(o.toFixed(s))), [o, r]; } return c(y = M, a.cssClasses.target), 0 === a.dir ? c(y, a.cssClasses.ltr) : c(y, a.cssClasses.rtl), 0 === a.ort ? c(y, a.cssClasses.horizontal) : c(y, a.cssClasses.vertical), c(y, 'rtl' === getComputedStyle(y).direction ? a.cssClasses.textDirectionRtl : a.cssClasses.textDirectionLtr), h = I(y, a.cssClasses.base), function (e, t) { var n = I(t, a.cssClasses.connects); f = [], (p = []).push(N(n, e[0])); for (var i = 0; i < a.handles; i++) f.push( j(t, i)), A[i] = i, p.push(N(n, e[i + 1])); }(a.connect, h), (b = a.events).fixed || f.forEach((function (e, t) { $(x.start, e.children[0], Q, { handleNumbers: [t] }); })), b.tap && $(x.start, h, ee, {}), b.hover && $(x.move, h, te, { hover: !0 }), b.drag && p.forEach((function (e, t) { if (!1 !== e && 0 !== t && t !== p.length - 1) { var n = f[t - 1], i = f[t], r = [e]; c(e, a.cssClasses.draggable), b.fixed && (r.push(n.children[0]), r.push(i.children[0])), r.forEach( (function (e) { $(x.start, e, Q, { handles: [n, i], handleNumbers: [t - 1, t] }); })); } })), fe(a.start), a.pips && q(a.pips), a.tooltips && B(), ie( 'update' + k), ne('update' + k, (function (e, t, n, i, r) { A.forEach((function (e) { var t = f[e], i = re(T, e, 0, !0, !0, !0), o = re(T, e, 100, !0, !0, !0), s = r[e], l = a.ariaFormat.to(n[e]); i = L.fromStepping(i).toFixed(1), o = L.fromStepping(o). toFixed(1), s = L.fromStepping(s). toFixed(1), t.children[0].setAttribute('aria-valuemin', i), t.children[0].setAttribute('aria-valuemax', o), t.children[0].setAttribute('aria-valuenow', s), t.children[0].setAttribute('aria-valuetext', l); })); })), v = { destroy: function () { for (var e in ie(k), ie( w), a.cssClasses) a.cssClasses.hasOwnProperty(e) && u(M, a.cssClasses[e]); for (; M.firstChild;) M.removeChild(M.firstChild); delete M.noUiSlider; }, steps: function () {return A.map(me);}, on: ne, off: ie, get: pe, set: fe, setHandle: function (e, t, n, i) { if (!((e = Number(e)) >= 0 && e < A.length)) throw new Error( 'noUiSlider (14.7.0): invalid handle number, got: ' + e); ue(e, he(t, e), !0, !0, i), ae('update', e), n && ae('set', e); }, reset: function (e) {fe(a.start, e);}, __moveHandles: function (e, t, n) {se(e, t, T, n);}, options: l, updateOptions: function (e, t) { var i = pe(), r = [ 'margin', 'limit', 'padding', 'range', 'animate', 'snap', 'step', 'format', 'pips', 'tooltips']; r.forEach((function (t) {void 0 !== e[t] && (l[t] = e[t]);})); var o = X(l); r.forEach((function (t) { void 0 !== e[t] && (a[t] = o[t]); })), L = o.spectrum, a.margin = o.margin, a.limit = o.limit, a.padding = o.padding, a.pips ? q(a.pips) : V(), a.tooltips ? B() : z(), T = [], fe( n(e.start) ? e.start : i, t); }, target: M, removePips: V, removeTooltips: z, getTooltips: function () {return g;}, getOrigins: function () {return f;}, pips: q, }; } return { __spectrum: b, version: e, cssClasses: _, create: function (e, t) { if (!e || !e.nodeName) throw new Error( 'noUiSlider (14.7.0): create requires a single element, got: ' + e); if (e.noUiSlider) throw new Error( 'noUiSlider (14.7.0): Slider was already initialized.'); var n = $(e, X(t), t); return e.noUiSlider = n, n; }, }; })), /*! autosize 4.0.4 license: MIT http://www.jacklmoore.com/autosize */ function (e, t) { if ('function' == typeof define && define.amd) define( ['module', 'exports'], t); else if ('undefined' != typeof exports) t(module, exports); else { var n = { exports: {} }; t(n, n.exports), e.autosize = n.exports; } }(this, (function (e, t) { 'use strict'; var n, i, a = 'function' == typeof Map ? new Map : (n = [], i = [], { has: function (e) {return n.indexOf(e) > -1;}, get: function (e) {return i[n.indexOf(e)];}, set: function (e, t) { -1 === n.indexOf(e) && (n.push(e), i.push(t)); }, delete: function (e) { var t = n.indexOf(e); t > -1 && (n.splice(t, 1), i.splice(t, 1)); }, }), r = function (e) {return new Event(e, { bubbles: !0 });}; try { new Event('test'); } catch (e) { r = function (e) { var t = document.createEvent('Event'); return t.initEvent(e, !0, !1), t; }; } function o (e) { if (e && e.nodeName && 'TEXTAREA' === e.nodeName && !a.has(e)) { var t, n = null, i = null, o = null, s = function () {e.clientWidth !== i && d();}, l = function (t) { window.removeEventListener('resize', s, !1), e.removeEventListener('input', d, !1), e.removeEventListener('keyup', d, !1), e.removeEventListener('autosize:destroy', l, !1), e.removeEventListener('autosize:update', d, !1), Object.keys(t). forEach( (function (n) {e.style[n] = t[n];})), a.delete( e); }.bind(e, { height: e.style.height, resize: e.style.resize, overflowY: e.style.overflowY, overflowX: e.style.overflowX, wordWrap: e.style.wordWrap, }); e.addEventListener('autosize:destroy', l, !1), 'onpropertychange' in e && 'oninput' in e && e.addEventListener('keyup', d, !1), window.addEventListener( 'resize', s, !1), e.addEventListener('input', d, !1), e.addEventListener('autosize:update', d, !1), e.style.overflowX = 'hidden', e.style.wordWrap = 'break-word', a.set( e, { destroy: l, update: d }), 'vertical' === (t = window.getComputedStyle(e, null)).resize ? e.style.resize = 'none' : 'both' === t.resize && (e.style.resize = 'horizontal'), n = 'content-box' === t.boxSizing ? -(parseFloat(t.paddingTop) + parseFloat(t.paddingBottom)) : parseFloat( t.borderTopWidth) + parseFloat(t.borderBottomWidth), isNaN( n) && (n = 0), d(); } function c (t) { var n = e.style.width; e.style.width = '0px', e.offsetWidth, e.style.width = n, e.style.overflowY = t; } function u () { if (0 !== e.scrollHeight) { var t = function (e) { for (var t = []; e && e.parentNode && e.parentNode instanceof Element;) e.parentNode.scrollTop && t.push({ node: e.parentNode, scrollTop: e.parentNode.scrollTop, }), e = e.parentNode; return t; }(e), a = document.documentElement && document.documentElement.scrollTop; e.style.height = '', e.style.height = e.scrollHeight + n + 'px', i = e.clientWidth, t.forEach( (function (e) {e.node.scrollTop = e.scrollTop;})), a && (document.documentElement.scrollTop = a); } } function d () { u(); var t = Math.round(parseFloat(e.style.height)), n = window.getComputedStyle(e, null), i = 'content-box' === n.boxSizing ? Math.round( parseFloat(n.height)) : e.offsetHeight; if (i < t ? 'hidden' === n.overflowY && (c('scroll'), u(), i = 'content-box' === n.boxSizing ? Math.round( parseFloat(window.getComputedStyle(e, null).height)) : e.offsetHeight) : 'hidden' !== n.overflowY && (c('hidden'), u(), i = 'content-box' === n.boxSizing ? Math.round( parseFloat(window.getComputedStyle(e, null).height)) : e.offsetHeight), o !== i) { o = i; var a = r('autosize:resized'); try {e.dispatchEvent(a);} catch (e) {} } } } function s (e) { var t = a.get(e); t && t.destroy(); } function l (e) { var t = a.get(e); t && t.update(); } var c = null; 'undefined' == typeof window || 'function' != typeof window.getComputedStyle ? ((c = function (e) {return e;}).destroy = function (e) {return e;}, c.update = function (e) {return e;}) : ((c = function (e, t) { return e && Array.prototype.forEach.call(e.length ? e : [e], (function (e) {return o(e);})), e; }).destroy = function (e) { return e && Array.prototype.forEach.call(e.length ? e : [e], s), e; }, c.update = function (e) { return e && Array.prototype.forEach.call(e.length ? e : [e], l), e; }), t.default = c, e.exports = t.default; })), function (e, t) { 'object' == typeof exports && 'object' == typeof module ? module.exports = t() : 'function' == typeof define && define.amd ? define([], t) : 'object' == typeof exports ? exports.ClipboardJS = t() : e.ClipboardJS = t(); }(this, (function () { return t = { 134: function (e, t, n) { 'use strict'; n.d(t, { default: function () {return p;} }); t = n(279); var i = n.n(t), a = (t = n(370), n.n(t)), r = (t = n(817), n.n(t)); function o (e) { return (o = '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; })(e); } function s (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } var l = function () { function e (t) { !function (t) { if (!(t instanceof e)) throw new TypeError( 'Cannot call a class as a function'); }(this), this.resolveOptions(t), this.initSelection(); } var t, n; return t = e, (n = [ { key: 'resolveOptions', value: function () { var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}; this.action = e.action, this.container = e.container, this.emitter = e.emitter, this.target = e.target, this.text = e.text, this.trigger = e.trigger, this.selectedText = ''; }, }, { key: 'initSelection', value: function () { this.text ? this.selectFake() : this.target && this.selectTarget(); }, }, { key: 'createFakeElement', value: function () { var e = 'rtl' === document.documentElement.getAttribute('dir'); return this.fakeElem = document.createElement( 'textarea'), this.fakeElem.style.fontSize = '12pt', this.fakeElem.style.border = '0', this.fakeElem.style.padding = '0', this.fakeElem.style.margin = '0', this.fakeElem.style.position = 'absolute', this.fakeElem.style[e ? 'right' : 'left'] = '-9999px', e = window.pageYOffset || document.documentElement.scrollTop, this.fakeElem.style.top = ''.concat( e, 'px'), this.fakeElem.setAttribute('readonly', ''), this.fakeElem.value = this.text, this.fakeElem; }, }, { key: 'selectFake', value: function () { var e = this, t = this.createFakeElement(); this.fakeHandlerCallback = function () {return e.removeFake();}, this.fakeHandler = this.container.addEventListener( 'click', this.fakeHandlerCallback) || !0, this.container.appendChild( t), this.selectedText = r()( t), this.copyText(), this.removeFake(); }, }, { key: 'removeFake', value: function () { this.fakeHandler && (this.container.removeEventListener('click', this.fakeHandlerCallback), this.fakeHandler = null, this.fakeHandlerCallback = null), this.fakeElem && (this.container.removeChild( this.fakeElem), this.fakeElem = null); }, }, { key: 'selectTarget', value: function () { this.selectedText = r()( this.target), this.copyText(); }, }, { key: 'copyText', value: function () { var e; try { e = document.execCommand(this.action); } catch (t) {e = !1;} this.handleResult(e); }, }, { key: 'handleResult', value: function (e) { this.emitter.emit(e ? 'success' : 'error', { action: this.action, text: this.selectedText, trigger: this.trigger, clearSelection: this.clearSelection.bind(this), }); }, }, { key: 'clearSelection', value: function () { this.trigger && this.trigger.focus(), document.activeElement.blur(), window.getSelection(). removeAllRanges(); }, }, { key: 'destroy', value: function () {this.removeFake();} }, { key: 'action', set: function () { var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 'copy'; if (this._action = e, 'copy' !== this._action && 'cut' !== this._action) throw new Error( 'Invalid "action" value, use either "copy" or "cut"'); }, get: function () {return this._action;}, }, { key: 'target', set: function (e) { if (void 0 !== e) { if (!e || 'object' !== o(e) || 1 !== e.nodeType) throw new Error( 'Invalid "target" value, use a valid Element'); if ('copy' === this.action && e.hasAttribute('disabled')) throw new Error( 'Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute'); if ('cut' === this.action && (e.hasAttribute('readonly') || e.hasAttribute( 'disabled'))) throw new Error( 'Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes'); this._target = e; } }, get: function () {return this._target;}, }]) && s(t.prototype, n), e; }(); function c (e) { return (c = '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; })(e); } function u (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } function d (e, t) { return (d = Object.setPrototypeOf || function (e, t) {return e.__proto__ = t, e;})(e, t); } function h (e) { return (h = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e); })(e); } function f (e, t) { if (e = 'data-clipboard-'.concat(e), t.hasAttribute( e)) return t.getAttribute(e); } var p = function () { !function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function'); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0, }, }), t && d(e, t); }(o, i()); var e, t, n, r = function (e) { var t = 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 (e) {return !1;} }(); return function () { var n, i = h(e); return n = t ? (n = h( this).constructor, Reflect.construct(i, arguments, n)) : i.apply(this, arguments), i = this, !(n = n) || 'object' !== c(n) && 'function' != typeof n ? function (e) { if (void 0 !== e) return e; throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); }(i) : n; }; }(o); function o (e, t) { var n; return function (e) { if (!(e instanceof o)) throw new TypeError( 'Cannot call a class as a function'); }(this), (n = r.call(this)).resolveOptions( t), n.listenClick(e), n; } return e = o, n = [ { key: 'isSupported', value: function () { var e = 'string' == typeof (e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : ['copy', 'cut']) ? [e] : e, t = !!document.queryCommandSupported; return e.forEach((function (e) { t = t && !!document.queryCommandSupported(e); })), t; }, }], (t = [ { key: 'resolveOptions', value: function () { var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : {}; this.action = 'function' == typeof e.action ? e.action : this.defaultAction, this.target = 'function' == typeof e.target ? e.target : this.defaultTarget, this.text = 'function' == typeof e.text ? e.text : this.defaultText, this.container = 'object' === c(e.container) ? e.container : document.body; }, }, { key: 'listenClick', value: function (e) { var t = this; this.listener = a()(e, 'click', (function (e) {return t.onClick(e);})); }, }, { key: 'onClick', value: function (e) { e = e.delegateTarget || e.currentTarget, this.clipboardAction && (this.clipboardAction = null), this.clipboardAction = new l( { action: this.action(e), target: this.target(e), text: this.text(e), container: this.container, trigger: e, emitter: this, }); }, }, { key: 'defaultAction', value: function (e) {return f('action', e);}, }, { key: 'defaultTarget', value: function (e) { if (e = f('target', e)) return document.querySelector(e); }, }, { key: 'defaultText', value: function (e) {return f('text', e);}, }, { key: 'destroy', value: function () { this.listener.destroy(), this.clipboardAction && (this.clipboardAction.destroy(), this.clipboardAction = null); }, }]) && u(e.prototype, t), n && u(e, n), o; }(); }, 828: function (e) { var t; 'undefined' == typeof Element || Element.prototype.matches || ((t = Element.prototype).matches = t.matchesSelector || t.mozMatchesSelector || t.msMatchesSelector || t.oMatchesSelector || t.webkitMatchesSelector), e.exports = function ( e, t) { for (; e && 9 !== e.nodeType;) { if ('function' == typeof e.matches && e.matches(t)) return e; e = e.parentNode; } }; }, 438: function (e, t, n) { var i = n(828); function a (e, t, n, a, r) { var o = function ( e, t, n, a) { return function (n) { n.delegateTarget = i(n.target, t), n.delegateTarget && a.call(e, n); }; }.apply(this, arguments); return e.addEventListener(n, o, r), { destroy: function () { e.removeEventListener(n, o, r); }, }; } e.exports = function (e, t, n, i, r) { return 'function' == typeof e.addEventListener ? a.apply(null, arguments) : 'function' == typeof n ? a.bind(null, document).apply(null, arguments) : ('string' == typeof e && (e = document.querySelectorAll( e)), Array.prototype.map.call(e, (function (e) {return a(e, t, n, i, r);}))); }; }, 879: function (e, t) { t.node = function (e) { return void 0 !== e && e instanceof HTMLElement && 1 === e.nodeType; }, t.nodeList = function (e) { var n = Object.prototype.toString.call(e); return void 0 !== e && ('[object NodeList]' === n || '[object HTMLCollection]' === n) && 'length' in e && (0 === e.length || t.node(e[0])); }, t.string = function (e) { return 'string' == typeof e || e instanceof String; }, t.fn = function (e) { return '[object Function]' === Object.prototype.toString.call(e); }; }, 370: function (e, t, n) { var i = n(879), a = n(438); e.exports = function (e, t, n) { if (!e && !t && !n) throw new Error( 'Missing required arguments'); if (!i.string(t)) throw new TypeError( 'Second argument must be a String'); if (!i.fn(n)) throw new TypeError( 'Third argument must be a Function'); if (i.node(e)) return c = t, u = n, (l = e).addEventListener(c, u), { destroy: function () {l.removeEventListener(c, u);} }; if (i.nodeList( e)) return r = e, o = t, s = n, Array.prototype.forEach.call( r, (function (e) { e.addEventListener(o, s); })), { destroy: function () { Array.prototype.forEach.call(r, (function (e) {e.removeEventListener(o, s);})); }, }; if (i.string(e)) return e = e, t = t, n = n, a(document.body, e, t, n); throw new TypeError( 'First argument must be a String, HTMLElement, HTMLCollection, or NodeList'); var r, o, s, l, c, u; }; }, 817: function (e) { e.exports = function (e) { var t, n = 'SELECT' === e.nodeName ? (e.focus(), e.value) : 'INPUT' === e.nodeName || 'TEXTAREA' === e.nodeName ? ((t = e.hasAttribute('readonly')) || e.setAttribute('readonly', ''), e.select(), e.setSelectionRange(0, e.value.length), t || e.removeAttribute('readonly'), e.value) : (e.hasAttribute('contenteditable') && e.focus(), n = window.getSelection(), (t = document.createRange()).selectNodeContents( e), n.removeAllRanges(), n.addRange( t), n.toString()); return n; }; }, 279: function (e) { function t () {} t.prototype = { on: function (e, t, n) { var i = this.e || (this.e = {}); return (i[e] || (i[e] = [])).push({ fn: t, ctx: n }), this; }, once: function (e, t, n) { var i = this; function a () {i.off(e, a), t.apply(n, arguments);} return a._ = t, this.on(e, a, n); }, emit: function (e) { for (var t = [].slice.call(arguments, 1), n = ((this.e || (this.e = {}))[e] || []).slice(), i = 0, a = n.length; i < a; i++) n[i].fn.apply(n[i].ctx, t); return this; }, off: function (e, t) { var n = this.e || (this.e = {}), i = n[e], a = []; if (i && t) for (var r = 0, o = i.length; r < o; r++) i[r].fn !== t && i[r].fn._ !== t && a.push(i[r]); return a.length ? n[e] = a : delete n[e], this; }, }, e.exports = t, e.exports.TinyEmitter = t; }, }, n = {}, e.n = function (t) { var n = t && t.__esModule ? function () {return t.default;} : function () {return t;}; return e.d(n, { a: n }), n; }, e.d = function (t, n) { for (var i in n) e.o(n, i) && !e.o(t, i) && Object.defineProperty(t, i, { enumerable: !0, get: n[i] }); }, e.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t); }, e(134).default; function e (i) { if (n[i]) return n[i].exports; var a = n[i] = { exports: {} }; return t[i](a, a.exports, e), a.exports; } var t, n; })), function (e) { 'use strict'; var t = function (e, t) {this.init('multiselectsplitter', e, t);}; t.DEFAULTS = { selectSize: null, maxSelectSize: null, clearOnFirstChange: !1, onlySameGroup: !1, groupCounter: !1, maximumSelected: null, afterInitialize: null, maximumAlert: function (e) { alert('Only ' + e + ' values can be selected'); }, createFirstSelect: function (e, t) { return '<option>' + e + '</option>'; }, createSecondSelect: function (e, t) { return '<option>' + e + '</option>'; }, template: '<div class="row" data-multiselectsplitter-wrapper-selector><div class="col-xs-6 col-sm-6"><select class="form-control" data-multiselectsplitter-firstselect-selector></select></div> \x3c!-- Add the extra clearfix for only the required viewport --\x3e<div class="col-xs-6 col-sm-6"><select class="form-control" data-multiselectsplitter-secondselect-selector></select></div></div>', }, t.prototype.init = function (n, i, a) { var r = this; r.type = n, r.last$ElementSelected = [], r.initialized = !1, r.$element = e( i), r.$element.hide(), r.options = e.extend({}, t.DEFAULTS, a), r.$element.after( r.options.template), r.$wrapper = r.$element.next( 'div[data-multiselectsplitter-wrapper-selector]'), r.$firstSelect = e( 'select[data-multiselectsplitter-firstselect-selector]', r.$wrapper), r.$secondSelect = e( 'select[data-multiselectsplitter-secondselect-selector]', r.$wrapper); var o = 0, s = 0; if (0 != r.$element.find('optgroup').length) { r.$element.find('optgroup'). each((function () { var t = e(this).attr('label'), n = e(r.options.createFirstSelect(t, r.$element)); n.val(t), n.attr('data-current-label', n.text()), r.$firstSelect.append(n); var i = e(this).find('option').length; i > s && (s = i), o++; })); var l = Math.max(o, s); l = Math.min(l, 10), r.options.selectSize ? l = r.options.selectSize : r.options.maxSelectSize && (l = Math.min(l, r.options.maxSelectSize)), r.$firstSelect.attr( 'size', l), r.$secondSelect.attr('size', l), r.$element.attr( 'multiple') && r.$secondSelect.attr('multiple', 'multiple'), r.$element.is( ':disabled') && r.disable(), r.$firstSelect.on('change', e.proxy(r.updateParentCategory, r)), r.$secondSelect.on( 'click change', e.proxy(r.updateChildCategory, r)), r.update = function () { if (!(r.$element.find('option').length < 1)) { var e, t = r.$element.find('option:selected:first'); e = t.length ? t.parent().attr('label') : r.$element.find( 'option:first'). parent(). attr('label'), r.$firstSelect.find( 'option[value="' + e + '"]'). prop('selected', !0), r.$firstSelect.trigger('change'); } }, r.update(), r.initialized = !0, r.options.afterInitialize && r.options.afterInitialize(r.$firstSelect, r.$secondSelect); } }, t.prototype.disable = function () { this.$secondSelect.prop('disabled', !0), this.$firstSelect.prop( 'disabled', !0); }, t.prototype.enable = function () { this.$secondSelect.prop('disabled', !1), this.$firstSelect.prop( 'disabled', !1); }, t.prototype.createSecondSelect = function () { var t = this; t.$secondSelect.empty(), e.each(t.$element.find( 'optgroup[label="' + t.$firstSelect.val() + '"] option'), (function (n, i) { var a = e(this).val(), r = e(this).text(), o = e(t.options.createSecondSelect(r, t.$firstSelect)); o.val(a), e.each(t.$element.find('option:selected'), (function (t, n) { e(n).val() == a && o.prop('selected', !0); })), t.$secondSelect.append(o); })); }, t.prototype.updateParentCategory = function () { var e = this; e.last$ElementSelected = e.$element.find( 'option:selected'), e.options.clearOnFirstChange && e.initialized && e.$element.find('option:selected'). prop('selected', !1), e.createSecondSelect(), e.checkSelected(), e.updateCounter(); }, t.prototype.updateCounter = function () { var t = this; t.$element.attr('multiple') && t.options.groupCounter && e.each(t.$firstSelect.find('option'), (function (n, i) { var a = e(i).val(), r = e(i).data('currentLabel'), o = t.$element.find( 'optgroup[label="' + a + '"] option:selected').length; o > 0 && (r += ' (' + o + ')'), e(i).html(r); })); }, t.prototype.checkSelected = function () { var t = this; if (t.$element.attr('multiple') && t.options.maximumSelected) { var n = 0; if (!((n = 'function' == typeof t.options.maximumSelected ? t.options.maximumSelected(t.$firstSelect, t.$secondSelect) : t.options.maximumSelected) < 1)) if (t.$element.find( 'option:selected').length > n) { t.$firstSelect.find('option:selected'). prop('selected', !1), t.$secondSelect.find( 'option:selected').prop('selected', !1), t.initialized ? (t.$element.find('option:selected'). prop('selected', !1), t.last$ElementSelected.prop( 'selected', !0)) : e.each(t.$element.find('option:selected'), (function (t, i) { t > n - 1 && e(i).prop('selected', !1); })); var i = t.last$ElementSelected.first().parent().attr('label'); t.$firstSelect.find('option[value="' + i + '"]'). prop('selected', !0), t.createSecondSelect(), t.options.maximumAlert(n); } } }, t.prototype.basicUpdateChildCategory = function (t, n) { var i = this; i.last$ElementSelected = i.$element.find('option:selected'); var a = i.$secondSelect.val(); e.isArray(a) || (a = [a]); var r = i.$firstSelect.val(), o = !1; i.$element.attr('multiple') ? i.options.onlySameGroup ? e.each( i.$element.find('option:selected'), (function (t, n) { if (e(n).parent().attr('label') != r) return o = !0, !1; })) : n || (o = !0) : o = !0, o ? i.$element.find( 'option:selected').prop('selected', !1) : e.each( i.$element.find('option:selected'), (function (t, n) { r == e(n).parent().attr('label') && -1 == e.inArray(e(n).val(), a) && e(n).prop('selected', !1); })), e.each(a, (function (e, t) { i.$element.find('option[value="' + t + '"]'). prop('selected', !0); })), i.checkSelected(), i.updateCounter(), i.$element.trigger('change'); }, t.prototype.updateChildCategory = function (t) { 'change' == t.type ? this.timeOut = setTimeout( e.proxy( (function () {this.basicUpdateChildCategory(t, t.ctrlKey);}), this), 10) : 'click' == t.type && (clearTimeout(this.timeOut), this.basicUpdateChildCategory(t, t.ctrlKey)); }, t.prototype.destroy = function () { this.$wrapper.remove(), this.$element.removeData( this.type), this.$element.show(); }, e.fn.multiselectsplitter = function (n) { return this.each((function () { var i = e(this), a = i.data('multiselectsplitter'), r = 'object' == typeof n && n; (a || 'destroy' != n) && (a || i.data('multiselectsplitter', a = new t(this, r)), 'string' == typeof n && a[n]()); })); }, e.fn.multiselectsplitter.Constructor = t, e.fn.multiselectsplitter.VERSION = '1.0.1'; }(jQuery), /*! * smooth-scroll v16.1.3 * Animate scrolling to anchor links * (c) 2020 Chris Ferdinandi * MIT License * http://github.com/cferdinandi/smooth-scroll */ function (e, t) { 'function' == typeof define && define.amd ? define([], (function () {return t(e);})) : 'object' == typeof exports ? module.exports = t(e) : e.SmoothScroll = t(e); }('undefined' != typeof global ? global : 'undefined' != typeof window ? window : this, (function (e) { 'use strict'; var t = { ignore: '[data-scroll-ignore]', header: null, topOnEmptyHash: !0, speed: 500, speedAsDuration: !1, durationMax: null, durationMin: null, clip: !0, offset: 0, easing: 'easeInOutCubic', customEasing: null, updateURL: !0, popstate: !0, emitEvents: !0, }, n = function () { var e = {}; return Array.prototype.forEach.call(arguments, (function (t) { for (var n in t) { if (!t.hasOwnProperty(n)) return; e[n] = t[n]; } })), e; }, i = function (e) { '#' === e.charAt(0) && (e = e.substr(1)); for (var t, n = String( e), i = n.length, a = -1, r = '', o = n.charCodeAt(0); ++a < i;) { if (0 === (t = n.charCodeAt(a))) throw new InvalidCharacterError( 'Invalid character: the input contains U+0000.'); t >= 1 && t <= 31 || 127 == t || 0 === a && t >= 48 && t <= 57 || 1 === a && t >= 48 && t <= 57 && 45 === o ? r += '\\' + t.toString(16) + ' ' : r += t >= 128 || 45 === t || 95 === t || t >= 48 && t <= 57 || t >= 65 && t <= 90 || t >= 97 && t <= 122 ? n.charAt(a) : '\\' + n.charAt(a); } return '#' + r; }, a = function () { return Math.max(document.body.scrollHeight, document.documentElement.scrollHeight, document.body.offsetHeight, document.documentElement.offsetHeight, document.body.clientHeight, document.documentElement.clientHeight); }, r = function (t) { return t ? (n = t, parseInt(e.getComputedStyle(n).height, 10) + t.offsetTop) : 0; var n; }, o = function (t, n, i) { 0 === t && document.body.focus(), i || (t.focus(), document.activeElement !== t && (t.setAttribute('tabindex', '-1'), t.focus(), t.style.outline = 'none'), e.scrollTo(0, n)); }, s = function (t, n, i, a) { if (n.emitEvents && 'function' == typeof e.CustomEvent) { var r = new CustomEvent(t, { bubbles: !0, detail: { anchor: i, toggle: a } }); document.dispatchEvent(r); } }; return function (l, c) { var u, d, h, f, p = {}; p.cancelScroll = function (e) { cancelAnimationFrame(f), f = null, e || s('scrollCancel', u); }, p.animateScroll = function (i, l, c) { p.cancelScroll(); var d = n(u || t, c || {}), m = '[object Number]' === Object.prototype.toString.call(i), g = m || !i.tagName ? null : i; if (m || g) { var v = e.pageYOffset; d.header && !h && (h = document.querySelector(d.header)); var y, b, x, _ = r(h), w = m ? i : function (t, n, i, r) { var o = 0; if (t.offsetParent) do {o += t.offsetTop, t = t.offsetParent;} while (t); return o = Math.max(o - n - i, 0), r && (o = Math.min(o, a() - e.innerHeight)), o; }(g, _, parseInt('function' == typeof d.offset ? d.offset(i, l) : d.offset, 10), d.clip), k = w - v, M = a(), L = 0, S = function (e, t) { var n = t.speedAsDuration ? t.speed : Math.abs(e / 1e3 * t.speed); return t.durationMax && n > t.durationMax ? t.durationMax : t.durationMin && n < t.durationMin ? t.durationMin : parseInt(n, 10); }(k, d), T = function (t) { y || (y = t), L += t - y, x = v + k * function (e, t) { var n; return 'easeInQuad' === e.easing && (n = t * t), 'easeOutQuad' === e.easing && (n = t * (2 - t)), 'easeInOutQuad' === e.easing && (n = t < .5 ? 2 * t * t : (4 - 2 * t) * t - 1), 'easeInCubic' === e.easing && (n = t * t * t), 'easeOutCubic' === e.easing && (n = --t * t * t + 1), 'easeInOutCubic' === e.easing && (n = t < .5 ? 4 * t * t * t : (t - 1) * (2 * t - 2) * (2 * t - 2) + 1), 'easeInQuart' === e.easing && (n = t * t * t * t), 'easeOutQuart' === e.easing && (n = 1 - --t * t * t * t), 'easeInOutQuart' === e.easing && (n = t < .5 ? 8 * t * t * t * t : 1 - 8 * --t * t * t * t), 'easeInQuint' === e.easing && (n = t * t * t * t * t), 'easeOutQuint' === e.easing && (n = 1 + --t * t * t * t * t), 'easeInOutQuint' === e.easing && (n = t < .5 ? 16 * t * t * t * t * t : 1 + 16 * --t * t * t * t * t), e.customEasing && (n = e.customEasing(t)), n || t; }(d, b = (b = 0 === S ? 0 : L / S) > 1 ? 1 : b), e.scrollTo(0, Math.floor(x)), function ( t, n) { var a = e.pageYOffset; if (t == n || a == n || (v < n && e.innerHeight + a) >= M) return p.cancelScroll(!0), o(i, n, m), s( 'scrollStop', d, i, l), y = null, f = null, !0; }(x, w) || (f = e.requestAnimationFrame(T), y = t); }; 0 === e.pageYOffset && e.scrollTo(0, 0), function ( e, t, n) { t || history.pushState && n.updateURL && history.pushState( { smoothScroll: JSON.stringify(n), anchor: e.id }, document.title, e === document.documentElement ? '#top' : '#' + e.id); }(i, m, d), 'matchMedia' in e && e.matchMedia('(prefers-reduced-motion)').matches ? o(i, Math.floor(w), !1) : (s('scrollStart', d, i, l), p.cancelScroll(!0), e.requestAnimationFrame(T)); } }; var m = function (t) { if (!t.defaultPrevented && !(0 !== t.button || t.metaKey || t.ctrlKey || t.shiftKey) && 'closest' in t.target && (d = t.target.closest(l)) && 'a' === d.tagName.toLowerCase() && !t.target.closest(u.ignore) && d.hostname === e.location.hostname && d.pathname === e.location.pathname && /#/.test(d.href)) { var n, a; try {n = i(decodeURIComponent(d.hash));} catch (e) { n = i(d.hash); } if ('#' === n) { if (!u.topOnEmptyHash) return; a = document.documentElement; } else a = document.querySelector(n); (a = a || '#top' !== n ? a : document.documentElement) && (t.preventDefault(), function (t) { if (history.replaceState && t.updateURL && !history.state) { var n = e.location.hash; n = n || '', history.replaceState({ smoothScroll: JSON.stringify(t), anchor: n || e.pageYOffset, }, document.title, n || e.location.href); } }(u), p.animateScroll(a, d)); } }, g = function (e) { if (null !== history.state && history.state.smoothScroll && history.state.smoothScroll === JSON.stringify(u)) { var t = history.state.anchor; 'string' == typeof t && t && !(t = document.querySelector(i(history.state.anchor))) || p.animateScroll(t, null, { updateURL: !1 }); } }; p.destroy = function () { u && (document.removeEventListener('click', m, !1), e.removeEventListener('popstate', g, !1), p.cancelScroll(), u = null, null, d = null, h = null, null, f = null); }; return function () { if (!('querySelector' in document && 'addEventListener' in e && 'requestAnimationFrame' in e && 'closest' in e.Element.prototype)) throw'Smooth Scroll: This browser does not support the required JavaScript methods and browser APIs.'; p.destroy(), u = n(t, c || {}), h = u.header ? document.querySelector(u.header) : null, document.addEventListener('click', m, !1), u.updateURL && u.popstate && e.addEventListener('popstate', g, !1); }(), p; }; })), function (e, t) { if ('object' == typeof exports && 'object' == typeof module) module.exports = t(); else if ('function' == typeof define && define.amd) define([], t); else { var n = t(); for (var i in n) ('object' == typeof exports ? exports : e)[i] = n[i]; } }(self, (function () { return function () { var e = { 3099: function (e) { e.exports = function (e) { if ('function' != typeof e) throw TypeError( String(e) + ' is not a function'); return e; }; }, 6077: function (e, t, n) { var i = n(111); e.exports = function (e) { if (!i(e) && null !== e) throw TypeError( 'Can\'t set ' + String(e) + ' as a prototype'); return e; }; }, 1223: function (e, t, n) { var i = n(5112), a = n(30), r = n(3070), o = i('unscopables'), s = Array.prototype; null == s[o] && r.f(s, o, { configurable: !0, value: a(null), }), e.exports = function (e) {s[o][e] = !0;}; }, 1530: function (e, t, n) { 'use strict'; var i = n(8710).charAt; e.exports = function (e, t, n) { return t + (n ? i(e, t).length : 1); }; }, 5787: function (e) { e.exports = function (e, t, n) { if (!(e instanceof t)) throw TypeError( 'Incorrect ' + (n ? n + ' ' : '') + 'invocation'); return e; }; }, 9670: function (e, t, n) { var i = n(111); e.exports = function (e) { if (!i(e)) throw TypeError(String(e) + ' is not an object'); return e; }; }, 4019: function (e) { e.exports = 'undefined' != typeof ArrayBuffer && 'undefined' != typeof DataView; }, 260: function (e, t, n) { 'use strict'; var i, a = n(4019), r = n(9781), o = n(7854), s = n(111), l = n(6656), c = n(648), u = n(8880), d = n(1320), h = n(3070).f, f = n(9518), p = n(7674), m = n(5112), g = n(9711), v = o.Int8Array, y = v && v.prototype, b = o.Uint8ClampedArray, x = b && b.prototype, _ = v && f(v), w = y && f(y), k = Object.prototype, M = k.isPrototypeOf, L = m('toStringTag'), S = g('TYPED_ARRAY_TAG'), T = a && !!p && 'Opera' !== c(o.opera), A = !1, D = { Int8Array: 1, Uint8Array: 1, Uint8ClampedArray: 1, Int16Array: 2, Uint16Array: 2, Int32Array: 4, Uint32Array: 4, Float32Array: 4, Float64Array: 8, }, C = { BigInt64Array: 8, BigUint64Array: 8 }, E = function (e) { if (!s(e)) return !1; var t = c(e); return l(D, t) || l(C, t); }; for (i in D) o[i] || (T = !1); if ((!T || 'function' != typeof _ || _ === Function.prototype) && (_ = function () { throw TypeError('Incorrect invocation'); }, T)) for (i in D) o[i] && p(o[i], _); if ((!T || !w || w === k) && (w = _.prototype, T)) for (i in D) o[i] && p(o[i].prototype, w); if (T && f(x) !== w && p(x, w), r && !l(w, L)) for (i in A = !0, h(w, L, { get: function () { return s(this) ? this[S] : void 0; }, }), D) o[i] && u(o[i], S, i); e.exports = { NATIVE_ARRAY_BUFFER_VIEWS: T, TYPED_ARRAY_TAG: A && S, aTypedArray: function (e) { if (E(e)) return e; throw TypeError('Target is not a typed array'); }, aTypedArrayConstructor: function (e) { if (p) { if (M.call(_, e)) return e; } else for (var t in D) if (l(D, i)) { var n = o[t]; if (n && (e === n || M.call(n, e))) return e; } throw TypeError( 'Target is not a typed array constructor'); }, exportTypedArrayMethod: function (e, t, n) { if (r) { if (n) for (var i in D) { var a = o[i]; a && l(a.prototype, e) && delete a.prototype[e]; } w[e] && !n || d(w, e, n ? t : T && y[e] || t); } }, exportTypedArrayStaticMethod: function (e, t, n) { var i, a; if (r) { if (p) { if (n) for (i in D) (a = o[i]) && l(a, e) && delete a[e]; if (_[e] && !n) return; try { return d(_, e, n ? t : T && v[e] || t); } catch (e) {} } for (i in D) !(a = o[i]) || a[e] && !n || d(a, e, t); } }, isView: function (e) { if (!s(e)) return !1; var t = c(e); return 'DataView' === t || l(D, t) || l(C, t); }, isTypedArray: E, TypedArray: _, TypedArrayPrototype: w, }; }, 3331: function (e, t, n) { 'use strict'; var i = n(7854), a = n(9781), r = n(4019), o = n(8880), s = n(2248), l = n(7293), c = n(5787), u = n(9958), d = n(7466), h = n(7067), f = n(1179), p = n(9518), m = n(7674), g = n(8006).f, v = n(3070).f, y = n(1285), b = n(8003), x = n(9909), _ = x.get, w = x.set, k = 'ArrayBuffer', M = 'DataView', L = 'Wrong index', S = i.ArrayBuffer, T = S, A = i.DataView, D = A && A.prototype, C = Object.prototype, E = i.RangeError, O = f.pack, Y = f.unpack, P = function (e) {return [255 & e];}, I = function (e) {return [255 & e, e >> 8 & 255];}, j = function (e) { return [ 255 & e, e >> 8 & 255, e >> 16 & 255, e >> 24 & 255]; }, N = function (e) { return e[3] << 24 | e[2] << 16 | e[1] << 8 | e[0]; }, H = function (e) {return O(e, 23, 4);}, F = function (e) {return O(e, 52, 8);}, R = function (e, t) { v(e.prototype, t, { get: function () {return _(this)[t];} }); }, z = function (e, t, n, i) { var a = h(n), r = _(e); if (a + t > r.byteLength) throw E(L); var o = _(r.buffer).bytes, s = a + r.byteOffset, l = o.slice(s, s + t); return i ? l : l.reverse(); }, B = function (e, t, n, i, a, r) { var o = h(n), s = _(e); if (o + t > s.byteLength) throw E(L); for (var l = _(s.buffer).bytes, c = o + s.byteOffset, u = i( +a), d = 0; d < t; d++) l[c + d] = u[r ? d : t - d - 1]; }; if (r) { if (!l((function () {S(1);})) || !l((function () {new S(-1);})) || l((function () { return new S, new S(1.5), new S(NaN), S.name != k; }))) { for (var W, V = (T = function (e) { return c(this, T), new S(h(e)); }).prototype = S.prototype, q = g(S), U = 0; q.length > U;) (W = q[U++]) in T || o(T, W, S[W]); V.constructor = T; } m && p(D) !== C && m(D, C); var X = new A(new T(2)), $ = D.setInt8; X.setInt8(0, 2147483648), X.setInt8(1, 2147483649), !X.getInt8(0) && X.getInt8(1) || s(D, { setInt8: function (e, t) { $.call(this, e, t << 24 >> 24); }, setUint8: function (e, t) { $.call(this, e, t << 24 >> 24); }, }, { unsafe: !0 }); } else T = function (e) { c(this, T, k); var t = h(e); w(this, { bytes: y.call(new Array(t), 0), byteLength: t }), a || (this.byteLength = t); }, A = function (e, t, n) { c(this, A, M), c(e, T, M); var i = _(e).byteLength, r = u(t); if (r < 0 || r > i) throw E('Wrong offset'); if (r + (n = void 0 === n ? i - r : d(n)) > i) throw E( 'Wrong length'); w(this, { buffer: e, byteLength: n, byteOffset: r }), a || (this.buffer = e, this.byteLength = n, this.byteOffset = r); }, a && (R(T, 'byteLength'), R(A, 'buffer'), R(A, 'byteLength'), R(A, 'byteOffset')), s(A.prototype, { getInt8: function (e) { return z(this, 1, e)[0] << 24 >> 24; }, getUint8: function (e) {return z(this, 1, e)[0];}, getInt16: function (e) { var t = z(this, 2, e, arguments.length > 1 ? arguments[1] : void 0); return (t[1] << 8 | t[0]) << 16 >> 16; }, getUint16: function (e) { var t = z(this, 2, e, arguments.length > 1 ? arguments[1] : void 0); return t[1] << 8 | t[0]; }, getInt32: function (e) { return N(z(this, 4, e, arguments.length > 1 ? arguments[1] : void 0)); }, getUint32: function (e) { return N(z(this, 4, e, arguments.length > 1 ? arguments[1] : void 0)) >>> 0; }, getFloat32: function (e) { return Y(z(this, 4, e, arguments.length > 1 ? arguments[1] : void 0), 23); }, getFloat64: function (e) { return Y(z(this, 8, e, arguments.length > 1 ? arguments[1] : void 0), 52); }, setInt8: function (e, t) {B(this, 1, e, P, t);}, setUint8: function (e, t) {B(this, 1, e, P, t);}, setInt16: function (e, t) { B(this, 2, e, I, t, arguments.length > 2 ? arguments[2] : void 0); }, setUint16: function (e, t) { B(this, 2, e, I, t, arguments.length > 2 ? arguments[2] : void 0); }, setInt32: function (e, t) { B(this, 4, e, j, t, arguments.length > 2 ? arguments[2] : void 0); }, setUint32: function (e, t) { B(this, 4, e, j, t, arguments.length > 2 ? arguments[2] : void 0); }, setFloat32: function (e, t) { B(this, 4, e, H, t, arguments.length > 2 ? arguments[2] : void 0); }, setFloat64: function (e, t) { B(this, 8, e, F, t, arguments.length > 2 ? arguments[2] : void 0); }, }); b(T, k), b(A, M), e.exports = { ArrayBuffer: T, DataView: A }; }, 1048: function (e, t, n) { 'use strict'; var i = n(7908), a = n(1400), r = n(7466), o = Math.min; e.exports = [].copyWithin || function (e, t) { var n = i(this), s = r(n.length), l = a(e, s), c = a(t, s), u = arguments.length > 2 ? arguments[2] : void 0, d = o((void 0 === u ? s : a(u, s)) - c, s - l), h = 1; for (c < l && l < c + d && (h = -1, c += d - 1, l += d - 1); d-- > 0;) c in n ? n[l] = n[c] : delete n[l], l += h, c += h; return n; }; }, 1285: function (e, t, n) { 'use strict'; var i = n(7908), a = n(1400), r = n(7466); e.exports = function (e) { for (var t = i(this), n = r( t.length), o = arguments.length, s = a( o > 1 ? arguments[1] : void 0, n), l = o > 2 ? arguments[2] : void 0, c = void 0 === l ? n : a(l, n); c > s;) t[s++] = e; return t; }; }, 8533: function (e, t, n) { 'use strict'; var i = n(2092).forEach, a = n(9341)('forEach'); e.exports = a ? [].forEach : function (e) { return i(this, e, arguments.length > 1 ? arguments[1] : void 0); }; }, 8457: function (e, t, n) { 'use strict'; var i = n(9974), a = n(7908), r = n(3411), o = n(7659), s = n(7466), l = n(6135), c = n(1246); e.exports = function (e) { var t, n, u, d, h, f, p = a(e), m = 'function' == typeof this ? this : Array, g = arguments.length, v = g > 1 ? arguments[1] : void 0, y = void 0 !== v, b = c(p), x = 0; if (y && (v = i(v, g > 2 ? arguments[2] : void 0, 2)), null == b || m == Array && o(b)) for (n = new m(t = s(p.length)); t > x; x++) f = y ? v(p[x], x) : p[x], l(n, x, f); else for (h = (d = b.call( p)).next, n = new m; !(u = h.call(d)).done; x++) f = y ? r(d, v, [u.value, x], !0) : u.value, l(n, x, f); return n.length = x, n; }; }, 1318: function (e, t, n) { var i = n(5656), a = n(7466), r = n(1400), o = function (e) { return function (t, n, o) { var s, l = i(t), c = a(l.length), u = r(o, c); if (e && n != n) { for (; c > u;) if ((s = l[u++]) != s) return !0; } else for (; c > u; u++) if ((e || u in l) && l[u] === n) return e || u || 0; return !e && -1; }; }; e.exports = { includes: o(!0), indexOf: o(!1) }; }, 2092: function (e, t, n) { var i = n(9974), a = n(8361), r = n(7908), o = n(7466), s = n(5417), l = [].push, c = function (e) { var t = 1 == e, n = 2 == e, c = 3 == e, u = 4 == e, d = 6 == e, h = 7 == e, f = 5 == e || d; return function (p, m, g, v) { for (var y, b, x = r(p), _ = a(x), w = i(m, g, 3), k = o(_.length), M = 0, L = v || s, S = t ? L(p, k) : n || h ? L(p, 0) : void 0; k > M; M++) if ((f || M in _) && (b = w(y = _[M], M, x), e)) if (t) S[M] = b; else if (b) switch (e) { case 3: return !0; case 5: return y; case 6: return M; case 2: l.call(S, y); } else switch (e) { case 4: return !1; case 7: l.call(S, y); } return d ? -1 : c || u ? u : S; }; }; e.exports = { forEach: c(0), map: c(1), filter: c(2), some: c(3), every: c(4), find: c(5), findIndex: c(6), filterOut: c(7), }; }, 6583: function (e, t, n) { 'use strict'; var i = n(5656), a = n(9958), r = n(7466), o = n(9341), s = Math.min, l = [].lastIndexOf, c = !!l && 1 / [1].lastIndexOf(1, -0) < 0, u = o('lastIndexOf'), d = c || !u; e.exports = d ? function (e) { if (c) return l.apply(this, arguments) || 0; var t = i(this), n = r(t.length), o = n - 1; for (arguments.length > 1 && (o = s(o, a(arguments[1]))), o < 0 && (o = n + o); o >= 0; o--) if (o in t && t[o] === e) return o || 0; return -1; } : l; }, 1194: function (e, t, n) { var i = n(7293), a = n(5112), r = n(7392), o = a('species'); e.exports = function (e) { return r >= 51 || !i((function () { var t = []; return (t.constructor = {})[o] = function () {return { foo: 1 };}, 1 !== t[e](Boolean).foo; })); }; }, 9341: function (e, t, n) { 'use strict'; var i = n(7293); e.exports = function (e, t) { var n = [][e]; return !!n && i((function () { n.call(null, t || function () {throw 1;}, 1); })); }; }, 3671: function (e, t, n) { var i = n(3099), a = n(7908), r = n(8361), o = n(7466), s = function (e) { return function (t, n, s, l) { i(n); var c = a(t), u = r(c), d = o(c.length), h = e ? d - 1 : 0, f = e ? -1 : 1; if (s < 2) for (; ;) { if (h in u) { l = u[h], h += f; break; } if (h += f, e ? h < 0 : d <= h) throw TypeError( 'Reduce of empty array with no initial value'); } for (; e ? h >= 0 : d > h; h += f) h in u && (l = n(l, u[h], h, c)); return l; }; }; e.exports = { left: s(!1), right: s(!0) }; }, 5417: function (e, t, n) { var i = n(111), a = n(3157), r = n(5112)('species'); e.exports = function (e, t) { var n; return a(e) && ('function' != typeof (n = e.constructor) || n !== Array && !a(n.prototype) ? i(n) && null === (n = n[r]) && (n = void 0) : n = void 0), new (void 0 === n ? Array : n)(0 === t ? 0 : t); }; }, 3411: function (e, t, n) { var i = n(9670), a = n(9212); e.exports = function (e, t, n, r) { try { return r ? t(i(n)[0], n[1]) : t(n); } catch (t) {throw a(e), t;} }; }, 7072: function (e, t, n) { var i = n(5112)('iterator'), a = !1; try { var r = 0, o = { next: function () {return { done: !!r++ };}, return: function () {a = !0;}, }; o[i] = function () {return this;}, Array.from(o, (function () {throw 2;})); } catch (e) {} e.exports = function (e, t) { if (!t && !a) return !1; var n = !1; try { var r = {}; r[i] = function () {return { next: function () {return { done: n = !0 };} };}, e( r); } catch (e) {} return n; }; }, 4326: function (e) { var t = {}.toString; e.exports = function (e) {return t.call(e).slice(8, -1);}; }, 648: function (e, t, n) { var i = n(1694), a = n(4326), r = n(5112)('toStringTag'), o = 'Arguments' == a(function () {return arguments;}()); e.exports = i ? a : function (e) { var t, n, i; return void 0 === e ? 'Undefined' : null === e ? 'Null' : 'string' == typeof (n = function ( e, t) {try {return e[t];} catch (e) {}}( t = Object(e), r)) ? n : o ? a(t) : 'Object' == (i = a(t)) && 'function' == typeof t.callee ? 'Arguments' : i; }; }, 9920: function (e, t, n) { var i = n(6656), a = n(3887), r = n(1236), o = n(3070); e.exports = function (e, t) { for (var n = a(t), s = o.f, l = r.f, c = 0; c < n.length; c++) { var u = n[c]; i(e, u) || s(e, u, l(t, u)); } }; }, 8544: function (e, t, n) { var i = n(7293); e.exports = !i((function () { function e () {} return e.prototype.constructor = null, Object.getPrototypeOf( new e) !== e.prototype; })); }, 4994: function (e, t, n) { 'use strict'; var i = n(3383).IteratorPrototype, a = n(30), r = n(9114), o = n(8003), s = n(7497), l = function () {return this;}; e.exports = function (e, t, n) { var c = t + ' Iterator'; return e.prototype = a(i, { next: r(1, n) }), o(e, c, !1, !0), s[c] = l, e; }; }, 8880: function (e, t, n) { var i = n(9781), a = n(3070), r = n(9114); e.exports = i ? function (e, t, n) {return a.f(e, t, r(1, n));} : function (e, t, n) {return e[t] = n, e;}; }, 9114: function (e) { e.exports = function (e, t) { return { enumerable: !(1 & e), configurable: !(2 & e), writable: !(4 & e), value: t, }; }; }, 6135: function (e, t, n) { 'use strict'; var i = n(7593), a = n(3070), r = n(9114); e.exports = function (e, t, n) { var o = i(t); o in e ? a.f(e, o, r(0, n)) : e[o] = n; }; }, 654: function (e, t, n) { 'use strict'; var i = n(2109), a = n(4994), r = n(9518), o = n(7674), s = n(8003), l = n(8880), c = n(1320), u = n(5112), d = n(1913), h = n(7497), f = n(3383), p = f.IteratorPrototype, m = f.BUGGY_SAFARI_ITERATORS, g = u('iterator'), v = 'keys', y = 'values', b = 'entries', x = function () {return this;}; e.exports = function (e, t, n, u, f, _, w) { a(n, t, u); var k, M, L, S = function (e) { if (e === f && E) return E; if (!m && e in D) return D[e]; switch (e) { case v: case y: case b: return function () {return new n(this, e);}; } return function () {return new n(this);}; }, T = t + ' Iterator', A = !1, D = e.prototype, C = D[g] || D['@@iterator'] || f && D[f], E = !m && C || S(f), O = 'Array' == t && D.entries || C; if (O && (k = r(O.call(new e)), p !== Object.prototype && k.next && (d || r(k) === p || (o ? o(k, p) : 'function' != typeof k[g] && l(k, g, x)), s( k, T, !0, !0), d && (h[T] = x))), f == y && C && C.name !== y && (A = !0, E = function () {return C.call(this);}), d && !w || D[g] === E || l(D, g, E), h[t] = E, f) if (M = { values: S(y), keys: _ ? E : S(v), entries: S(b), }, w) for (L in M) (m || A || !(L in D)) && c(D, L, M[L]); else i( { target: t, proto: !0, forced: m || A }, M); return M; }; }, 9781: function (e, t, n) { var i = n(7293); e.exports = !i((function () { return 7 != Object.defineProperty({}, 1, { get: function () {return 7;} })[1]; })); }, 317: function (e, t, n) { var i = n(7854), a = n(111), r = i.document, o = a(r) && a(r.createElement); e.exports = function (e) {return o ? r.createElement(e) : {};}; }, 8324: function (e) { e.exports = { CSSRuleList: 0, CSSStyleDeclaration: 0, CSSValueList: 0, ClientRectList: 0, DOMRectList: 0, DOMStringList: 0, DOMTokenList: 1, DataTransferItemList: 0, FileList: 0, HTMLAllCollection: 0, HTMLCollection: 0, HTMLFormElement: 0, HTMLSelectElement: 0, MediaList: 0, MimeTypeArray: 0, NamedNodeMap: 0, NodeList: 1, PaintRequestList: 0, Plugin: 0, PluginArray: 0, SVGLengthList: 0, SVGNumberList: 0, SVGPathSegList: 0, SVGPointList: 0, SVGStringList: 0, SVGTransformList: 0, SourceBufferList: 0, StyleSheetList: 0, TextTrackCueList: 0, TextTrackList: 0, TouchList: 0, }; }, 8113: function (e, t, n) { var i = n(5005); e.exports = i('navigator', 'userAgent') || ''; }, 7392: function (e, t, n) { var i, a, r = n(7854), o = n(8113), s = r.process, l = s && s.versions, c = l && l.v8; c ? a = (i = c.split('.'))[0] + i[1] : o && (!(i = o.match(/Edge\/(\d+)/)) || i[1] >= 74) && (i = o.match(/Chrome\/(\d+)/)) && (a = i[1]), e.exports = a && +a; }, 748: function (e) { e.exports = [ 'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable', 'toLocaleString', 'toString', 'valueOf']; }, 2109: function (e, t, n) { var i = n(7854), a = n(1236).f, r = n(8880), o = n(1320), s = n(3505), l = n(9920), c = n(4705); e.exports = function (e, t) { var n, u, d, h, f, p = e.target, m = e.global, g = e.stat; if (n = m ? i : g ? i[p] || s(p, {}) : (i[p] || {}).prototype) for (u in t) { if (h = t[u], d = e.noTargetGet ? (f = a(n, u)) && f.value : n[u], !c(m ? u : p + (g ? '.' : '#') + u, e.forced) && void 0 !== d) { if (typeof h == typeof d) continue; l(h, d); } (e.sham || d && d.sham) && r(h, 'sham', !0), o(n, u, h, e); } }; }, 7293: function (e) {e.exports = function (e) {try {return !!e();} catch (e) {return !0;}};}, 7007: function (e, t, n) { 'use strict'; n(4916); var i = n(1320), a = n(7293), r = n(5112), o = n(2261), s = n(8880), l = r('species'), c = !a((function () { var e = /./; return e.exec = function () { var e = []; return e.groups = { a: '7' }, e; }, '7' !== ''.replace(e, '$<a>'); })), u = '$0' === 'a'.replace(/./, '$0'), d = r('replace'), h = !!/./[d] && '' === /./[d]('a', '$0'), f = !a((function () { var e = /(?:)/, t = e.exec; e.exec = function () {return t.apply(this, arguments);}; var n = 'ab'.split(e); return 2 !== n.length || 'a' !== n[0] || 'b' !== n[1]; })); e.exports = function (e, t, n, d) { var p = r(e), m = !a((function () { var t = {}; return t[p] = function () {return 7;}, 7 != ''[e](t); })), g = m && !a((function () { var t = !1, n = /a/; return 'split' === e && ((n = {}).constructor = {}, n.constructor[l] = function () {return n;}, n.flags = '', n[p] = /./[p]), n.exec = function () {return t = !0, null;}, n[p]( ''), !t; })); if (!m || !g || 'replace' === e && (!c || !u || h) || 'split' === e && !f) { var v = /./[p], y = n(p, ''[e], (function (e, t, n, i, a) { return t.exec === o ? m && !a ? { done: !0, value: v.call(t, n, i) } : { done: !0, value: e.call(n, t, i) } : { done: !1 }; }), { REPLACE_KEEPS_$0: u, REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: h, }), b = y[0], x = y[1]; i(String.prototype, e, b), i(RegExp.prototype, p, 2 == t ? function (e, t) {return x.call(e, this, t);} : function (e) {return x.call(e, this);}); } d && s(RegExp.prototype[p], 'sham', !0); }; }, 9974: function (e, t, n) { var i = n(3099); e.exports = function (e, t, n) { if (i(e), void 0 === t) return e; switch (n) { case 0: return function () {return e.call(t);}; case 1: return function (n) {return e.call(t, n);}; case 2: return function (n, i) {return e.call(t, n, i);}; case 3: return function (n, i, a) { return e.call(t, n, i, a); }; } return function () {return e.apply(t, arguments);}; }; }, 5005: function (e, t, n) { var i = n(857), a = n(7854), r = function (e) { return 'function' == typeof e ? e : void 0; }; e.exports = function (e, t) { return arguments.length < 2 ? r(i[e]) || r(a[e]) : i[e] && i[e][t] || a[e] && a[e][t]; }; }, 1246: function (e, t, n) { var i = n(648), a = n(7497), r = n(5112)('iterator'); e.exports = function (e) { if (null != e) return e[r] || e['@@iterator'] || a[i(e)]; }; }, 8554: function (e, t, n) { var i = n(9670), a = n(1246); e.exports = function (e) { var t = a(e); if ('function' != typeof t) throw TypeError( String(e) + ' is not iterable'); return i(t.call(e)); }; }, 647: function (e, t, n) { var i = n(7908), a = Math.floor, r = ''.replace, o = /\$([$&'`]|\d\d?|<[^>]*>)/g, s = /\$([$&'`]|\d\d?)/g; e.exports = function (e, t, n, l, c, u) { var d = n + e.length, h = l.length, f = s; return void 0 !== c && (c = i(c), f = o), r.call(u, f, (function (i, r) { var o; switch (r.charAt(0)) { case'$': return '$'; case'&': return e; case'`': return t.slice(0, n); case'\'': return t.slice(d); case'<': o = c[r.slice(1, -1)]; break; default: var s = +r; if (0 === s) return i; if (s > h) { var u = a(s / 10); return 0 === u ? i : u <= h ? void 0 === l[u - 1] ? r.charAt(1) : l[u - 1] + r.charAt(1) : i; } o = l[s - 1]; } return void 0 === o ? '' : o; })); }; }, 7854: function (e, t, n) { var i = function (e) { return e && e.Math == Math && e; }; e.exports = i('object' == typeof globalThis && globalThis) || i('object' == typeof window && window) || i('object' == typeof self && self) || i('object' == typeof n.g && n.g) || function () {return this;}() || Function('return this')(); }, 6656: function (e) { var t = {}.hasOwnProperty; e.exports = function (e, n) {return t.call(e, n);}; }, 3501: function (e) {e.exports = {};}, 490: function (e, t, n) { var i = n(5005); e.exports = i('document', 'documentElement'); }, 4664: function (e, t, n) { var i = n(9781), a = n(7293), r = n(317); e.exports = !i && !a((function () { return 7 != Object.defineProperty(r('div'), 'a', { get: function () {return 7;} }).a; })); }, 1179: function (e) { var t = Math.abs, n = Math.pow, i = Math.floor, a = Math.log, r = Math.LN2; e.exports = { pack: function (e, o, s) { var l, c, u, d = new Array(s), h = 8 * s - o - 1, f = (1 << h) - 1, p = f >> 1, m = 23 === o ? n(2, -24) - n(2, -77) : 0, g = e < 0 || 0 === e && 1 / e < 0 ? 1 : 0, v = 0; for ((e = t(e)) != e || e === 1 / 0 ? (c = e != e ? 1 : 0, l = f) : (l = i(a(e) / r), e * (u = n(2, -l)) < 1 && (l--, u *= 2), (e += l + p >= 1 ? m / u : m * n(2, 1 - p)) * u >= 2 && (l++, u /= 2), l + p >= f ? (c = 0, l = f) : l + p >= 1 ? (c = (e * u - 1) * n(2, o), l += p) : (c = e * n(2, p - 1) * n(2, o), l = 0)); o >= 8; d[v++] = 255 & c, c /= 256, o -= 8) ; for (l = l << o | c, h += o; h > 0; d[v++] = 255 & l, l /= 256, h -= 8) ; return d[--v] |= 128 * g, d; }, unpack: function (e, t) { var i, a = e.length, r = 8 * a - t - 1, o = (1 << r) - 1, s = o >> 1, l = r - 7, c = a - 1, u = e[c--], d = 127 & u; for (u >>= 7; l > 0; d = 256 * d + e[c], c--, l -= 8) ; for (i = d & (1 << -l) - 1, d >>= -l, l += t; l > 0; i = 256 * i + e[c], c--, l -= 8) ; if (0 === d) d = 1 - s; else { if (d === o) return i ? NaN : u ? -1 / 0 : 1 / 0; i += n(2, t), d -= s; } return (u ? -1 : 1) * i * n(2, d - t); }, }; }, 8361: function (e, t, n) { var i = n(7293), a = n(4326), r = ''.split; e.exports = i( (function () { return !Object('z'). propertyIsEnumerable(0); })) ? function (e) { return 'String' == a(e) ? r.call(e, '') : Object(e); } : Object; }, 9587: function (e, t, n) { var i = n(111), a = n(7674); e.exports = function (e, t, n) { var r, o; return a && 'function' == typeof (r = t.constructor) && r !== n && i(o = r.prototype) && o !== n.prototype && a(e, o), e; }; }, 2788: function (e, t, n) { var i = n(5465), a = Function.toString; 'function' != typeof i.inspectSource && (i.inspectSource = function (e) { return a.call(e); }), e.exports = i.inspectSource; }, 9909: function (e, t, n) { var i, a, r, o = n(8536), s = n(7854), l = n(111), c = n(8880), u = n(6656), d = n(5465), h = n(6200), f = n(3501), p = s.WeakMap; if (o) { var m = d.state || (d.state = new p), g = m.get, v = m.has, y = m.set; i = function (e, t) { return t.facade = e, y.call(m, e, t), t; }, a = function (e) { return g.call(m, e) || {}; }, r = function (e) {return v.call(m, e);}; } else { var b = h('state'); f[b] = !0, i = function (e, t) { return t.facade = e, c(e, b, t), t; }, a = function (e) { return u(e, b) ? e[b] : {}; }, r = function (e) {return u(e, b);}; } e.exports = { set: i, get: a, has: r, enforce: function (e) {return r(e) ? a(e) : i(e, {});}, getterFor: function (e) { return function (t) { var n; if (!l(t) || (n = a(t)).type !== e) throw TypeError( 'Incompatible receiver, ' + e + ' required'); return n; }; }, }; }, 7659: function (e, t, n) { var i = n(5112), a = n(7497), r = i('iterator'), o = Array.prototype; e.exports = function (e) { return void 0 !== e && (a.Array === e || o[r] === e); }; }, 3157: function (e, t, n) { var i = n(4326); e.exports = Array.isArray || function (e) {return 'Array' == i(e);}; }, 4705: function (e, t, n) { var i = n(7293), a = /#|\.prototype\./, r = function (e, t) { var n = s[o(e)]; return n == c || n != l && ('function' == typeof t ? i(t) : !!t); }, o = r.normalize = function (e) { return String(e). replace(a, '.'). toLowerCase(); }, s = r.data = {}, l = r.NATIVE = 'N', c = r.POLYFILL = 'P'; e.exports = r; }, 111: function (e) { e.exports = function (e) { return 'object' == typeof e ? null !== e : 'function' == typeof e; }; }, 1913: function (e) {e.exports = !1;}, 7850: function (e, t, n) { var i = n(111), a = n(4326), r = n(5112)('match'); e.exports = function (e) { var t; return i(e) && (void 0 !== (t = e[r]) ? !!t : 'RegExp' == a(e)); }; }, 9212: function (e, t, n) { var i = n(9670); e.exports = function (e) { var t = e.return; if (void 0 !== t) return i(t.call(e)).value; }; }, 3383: function (e, t, n) { 'use strict'; var i, a, r, o = n(7293), s = n(9518), l = n(8880), c = n(6656), u = n(5112), d = n(1913), h = u('iterator'), f = !1; [].keys && ('next' in (r = [].keys()) ? (a = s(s(r))) !== Object.prototype && (i = a) : f = !0); var p = null == i || o((function () { var e = {}; return i[h].call(e) !== e; })); p && (i = {}), d && !p || c(i, h) || l(i, h, (function () {return this;})), e.exports = { IteratorPrototype: i, BUGGY_SAFARI_ITERATORS: f, }; }, 7497: function (e) {e.exports = {};}, 133: function (e, t, n) { var i = n(7293); e.exports = !!Object.getOwnPropertySymbols && !i((function () {return !String(Symbol());})); }, 590: function (e, t, n) { var i = n(7293), a = n(5112), r = n(1913), o = a('iterator'); e.exports = !i((function () { var e = new URL('b?a=1&b=2&c=3', 'http://a'), t = e.searchParams, n = ''; return e.pathname = 'c%20d', t.forEach( (function (e, i) {t.delete('b'), n += i + e;})), r && !e.toJSON || !t.sort || 'http://a/c%20d?a=1&c=3' !== e.href || '3' !== t.get('c') || 'a=1' !== String(new URLSearchParams('?a=1')) || !t[o] || 'a' !== new URL('https://a@b').username || 'b' !== new URLSearchParams(new URLSearchParams('a=b')).get('a') || 'xn--e1aybc' !== new URL('http://тест').host || '#%D0%B1' !== new URL('http://a#б').hash || 'a1c3' !== n || 'x' !== new URL('http://x', void 0).host; })); }, 8536: function (e, t, n) { var i = n(7854), a = n(2788), r = i.WeakMap; e.exports = 'function' == typeof r && /native code/.test(a(r)); }, 1574: function (e, t, n) { 'use strict'; var i = n(9781), a = n(7293), r = n(1956), o = n(5181), s = n(5296), l = n(7908), c = n(8361), u = Object.assign, d = Object.defineProperty; e.exports = !u || a((function () { if (i && 1 !== u({ b: 1 }, u(d({}, 'a', { enumerable: !0, get: function () { d(this, 'b', { value: 3, enumerable: !1 }); }, }), { b: 2 })).b) return !0; var e = {}, t = {}, n = Symbol(), a = 'abcdefghijklmnopqrst'; return e[n] = 7, a.split(''). forEach((function (e) {t[e] = e;})), 7 != u({}, e)[n] || r(u({}, t)).join('') != a; })) ? function (e, t) { for (var n = l( e), a = arguments.length, u = 1, d = o.f, h = s.f; a > u;) for (var f, p = c(arguments[u++]), m = d ? r(p). concat(d(p)) : r(p), g = m.length, v = 0; g > v;) f = m[v++], i && !h.call(p, f) || (n[f] = p[f]); return n; } : u; }, 30: function (e, t, n) { var i, a = n(9670), r = n(6048), o = n(748), s = n(3501), l = n(490), c = n(317), u = n(6200), d = u('IE_PROTO'), h = function () {}, f = function (e) { return '<script>' + e + '</' + 'script>'; }, p = function () { try { i = document.domain && new ActiveXObject('htmlfile'); } catch (e) {} var e, t; p = i ? function (e) { e.write(f('')), e.close(); var t = e.parentWindow.Object; return e = null, t; }(i) : ((t = c( 'iframe')).style.display = 'none', l.appendChild( t), t.src = String( 'javascript:'), (e = t.contentWindow.document).open(), e.write( f('document.F=Object')), e.close(), e.F); for (var n = o.length; n--;) delete p.prototype[o[n]]; return p(); }; s[d] = !0, e.exports = Object.create || function (e, t) { var n; return null !== e ? (h.prototype = a( e), n = new h, h.prototype = null, n[d] = e) : n = p(), void 0 === t ? n : r(n, t); }; }, 6048: function (e, t, n) { var i = n(9781), a = n(3070), r = n(9670), o = n(1956); e.exports = i ? Object.defineProperties : function (e, t) { r(e); for (var n, i = o(t), s = i.length, l = 0; s > l;) a.f(e, n = i[l++], t[n]); return e; }; }, 3070: function (e, t, n) { var i = n(9781), a = n(4664), r = n(9670), o = n(7593), s = Object.defineProperty; t.f = i ? s : function (e, t, n) { if (r(e), t = o(t, !0), r(n), a) try { return s(e, t, n); } catch (e) {} if ('get' in n || 'set' in n) throw TypeError( 'Accessors not supported'); return 'value' in n && (e[t] = n.value), e; }; }, 1236: function (e, t, n) { var i = n(9781), a = n(5296), r = n(9114), o = n(5656), s = n(7593), l = n(6656), c = n(4664), u = Object.getOwnPropertyDescriptor; t.f = i ? u : function (e, t) { if (e = o(e), t = s(t, !0), c) try { return u(e, t); } catch (e) {} if (l(e, t)) return r(!a.f.call(e, t), e[t]); }; }, 8006: function (e, t, n) { var i = n(6324), a = n(748).concat('length', 'prototype'); t.f = Object.getOwnPropertyNames || function (e) {return i(e, a);}; }, 5181: function (e, t) {t.f = Object.getOwnPropertySymbols;}, 9518: function (e, t, n) { var i = n(6656), a = n(7908), r = n(6200), o = n(8544), s = r('IE_PROTO'), l = Object.prototype; e.exports = o ? Object.getPrototypeOf : function (e) { return e = a(e), i(e, s) ? e[s] : 'function' == typeof e.constructor && e instanceof e.constructor ? e.constructor.prototype : e instanceof Object ? l : null; }; }, 6324: function (e, t, n) { var i = n(6656), a = n(5656), r = n(1318).indexOf, o = n(3501); e.exports = function (e, t) { var n, s = a(e), l = 0, c = []; for (n in s) !i(o, n) && i(s, n) && c.push(n); for (; t.length > l;) i(s, n = t[l++]) && (~r(c, n) || c.push(n)); return c; }; }, 1956: function (e, t, n) { var i = n(6324), a = n(748); e.exports = Object.keys || function (e) {return i(e, a);}; }, 5296: function (e, t) { 'use strict'; var n = {}.propertyIsEnumerable, i = Object.getOwnPropertyDescriptor, a = i && !n.call({ 1: 2 }, 1); t.f = a ? function (e) { var t = i(this, e); return !!t && t.enumerable; } : n; }, 7674: function (e, t, n) { var i = n(9670), a = n(6077); e.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () { var e, t = !1, n = {}; try { (e = Object.getOwnPropertyDescriptor( Object.prototype, '__proto__').set).call(n, []), t = n instanceof Array; } catch (e) {} return function (n, r) { return i(n), a(r), t ? e.call(n, r) : n.__proto__ = r, n; }; }() : void 0); }, 288: function (e, t, n) { 'use strict'; var i = n(1694), a = n(648); e.exports = i ? {}.toString : function () { return '[object ' + a(this) + ']'; }; }, 3887: function (e, t, n) { var i = n(5005), a = n(8006), r = n(5181), o = n(9670); e.exports = i('Reflect', 'ownKeys') || function (e) { var t = a.f(o(e)), n = r.f; return n ? t.concat(n(e)) : t; }; }, 857: function (e, t, n) { var i = n(7854); e.exports = i; }, 2248: function (e, t, n) { var i = n(1320); e.exports = function (e, t, n) { for (var a in t) i(e, a, t[a], n); return e; }; }, 1320: function (e, t, n) { var i = n(7854), a = n(8880), r = n(6656), o = n(3505), s = n(2788), l = n(9909), c = l.get, u = l.enforce, d = String(String).split('String'); (e.exports = function (e, t, n, s) { var l, c = !!s && !!s.unsafe, h = !!s && !!s.enumerable, f = !!s && !!s.noTargetGet; 'function' == typeof n && ('string' != typeof t || r(n, 'name') || a(n, 'name', t), (l = u(n)).source || (l.source = d.join('string' == typeof t ? t : ''))), e !== i ? (c ? !f && e[t] && (h = !0) : delete e[t], h ? e[t] = n : a(e, t, n)) : h ? e[t] = n : o(t, n); })(Function.prototype, 'toString', (function () { return 'function' == typeof this && c(this).source || s(this); })); }, 7651: function (e, t, n) { var i = n(4326), a = n(2261); e.exports = function (e, t) { var n = e.exec; if ('function' == typeof n) { var r = n.call(e, t); if ('object' != typeof r) throw TypeError( 'RegExp exec method returned something other than an Object or null'); return r; } if ('RegExp' !== i(e)) throw TypeError( 'RegExp#exec called on incompatible receiver'); return a.call(e, t); }; }, 2261: function (e, t, n) { 'use strict'; var i, a, r = n(7066), o = n(2999), s = RegExp.prototype.exec, l = String.prototype.replace, c = s, u = (i = /a/, a = /b*/g, s.call(i, 'a'), s.call(a, 'a'), 0 !== i.lastIndex || 0 !== a.lastIndex), d = o.UNSUPPORTED_Y || o.BROKEN_CARET, h = void 0 !== /()??/.exec('')[1]; (u || h || d) && (c = function (e) { var t, n, i, a, o = this, c = d && o.sticky, f = r.call(o), p = o.source, m = 0, g = e; return c && (-1 === (f = f.replace('y', '')).indexOf('g') && (f += 'g'), g = String(e).slice(o.lastIndex), o.lastIndex > 0 && (!o.multiline || o.multiline && '\n' !== e[o.lastIndex - 1]) && (p = '(?: ' + p + ')', g = ' ' + g, m++), n = new RegExp( '^(?:' + p + ')', f)), h && (n = new RegExp('^' + p + '$(?!\\s)', f)), u && (t = o.lastIndex), i = s.call(c ? n : o, g), c ? i ? (i.input = i.input.slice(m), i[0] = i[0].slice( m), i.index = o.lastIndex, o.lastIndex += i[0].length) : o.lastIndex = 0 : u && i && (o.lastIndex = o.global ? i.index + i[0].length : t), h && i && i.length > 1 && l.call(i[0], n, (function () { for (a = 1; a < arguments.length - 2; a++) void 0 === arguments[a] && (i[a] = void 0); })), i; }), e.exports = c; }, 7066: function (e, t, n) { 'use strict'; var i = n(9670); e.exports = function () { var e = i(this), t = ''; return e.global && (t += 'g'), e.ignoreCase && (t += 'i'), e.multiline && (t += 'm'), e.dotAll && (t += 's'), e.unicode && (t += 'u'), e.sticky && (t += 'y'), t; }; }, 2999: function (e, t, n) { 'use strict'; var i = n(7293); function a (e, t) {return RegExp(e, t);} t.UNSUPPORTED_Y = i((function () { var e = a('a', 'y'); return e.lastIndex = 2, null != e.exec('abcd'); })), t.BROKEN_CARET = i((function () { var e = a('^r', 'gy'); return e.lastIndex = 2, null != e.exec('str'); })); }, 4488: function (e) { e.exports = function (e) { if (null == e) throw TypeError( 'Can\'t call method on ' + e); return e; }; }, 3505: function (e, t, n) { var i = n(7854), a = n(8880); e.exports = function (e, t) { try { a(i, e, t); } catch (n) {i[e] = t;} return t; }; }, 6340: function (e, t, n) { 'use strict'; var i = n(5005), a = n(3070), r = n(5112), o = n(9781), s = r('species'); e.exports = function (e) { var t = i(e), n = a.f; o && t && !t[s] && n(t, s, { configurable: !0, get: function () {return this;} }); }; }, 8003: function (e, t, n) { var i = n(3070).f, a = n(6656), r = n(5112)('toStringTag'); e.exports = function (e, t, n) { e && !a(e = n ? e : e.prototype, r) && i(e, r, { configurable: !0, value: t }); }; }, 6200: function (e, t, n) { var i = n(2309), a = n(9711), r = i('keys'); e.exports = function (e) {return r[e] || (r[e] = a(e));}; }, 5465: function (e, t, n) { var i = n(7854), a = n(3505), r = '__core-js_shared__', o = i[r] || a(r, {}); e.exports = o; }, 2309: function (e, t, n) { var i = n(1913), a = n(5465); (e.exports = function (e, t) { return a[e] || (a[e] = void 0 !== t ? t : {}); })('versions', []). push({ version: '3.9.0', mode: i ? 'pure' : 'global', copyright: '© 2021 Denis Pushkarev (zloirock.ru)', }); }, 6707: function (e, t, n) { var i = n(9670), a = n(3099), r = n(5112)('species'); e.exports = function (e, t) { var n, o = i(e).constructor; return void 0 === o || null == (n = i(o)[r]) ? t : a(n); }; }, 8710: function (e, t, n) { var i = n(9958), a = n(4488), r = function (e) { return function (t, n) { var r, o, s = String(a(t)), l = i(n), c = s.length; return l < 0 || l >= c ? e ? '' : void 0 : (r = s.charCodeAt(l)) < 55296 || r > 56319 || l + 1 === c || (o = s.charCodeAt(l + 1)) < 56320 || o > 57343 ? e ? s.charAt(l) : r : e ? s.slice(l, l + 2) : o - 56320 + (r - 55296 << 10) + 65536; }; }; e.exports = { codeAt: r(!1), charAt: r(!0) }; }, 3197: function (e) { 'use strict'; var t = 2147483647, n = /[^\0-\u007E]/, i = /[.\u3002\uFF0E\uFF61]/g, a = 'Overflow: input needs wider integers to process', r = Math.floor, o = String.fromCharCode, s = function (e) {return e + 22 + 75 * (e < 26);}, l = function (e, t, n) { var i = 0; for (e = n ? r(e / 700) : e >> 1, e += r(e / t); e > 455; i += 36) e = r(e / 35); return r(i + 36 * e / (e + 38)); }, c = function (e) { var n, i, c = [], u = (e = function (e) { for (var t = [], n = 0, i = e.length; n < i;) { var a = e.charCodeAt(n++); if (a >= 55296 && a <= 56319 && n < i) { var r = e.charCodeAt(n++); 56320 == (64512 & r) ? t.push( ((1023 & a) << 10) + (1023 & r) + 65536) : (t.push(a), n--); } else t.push(a); } return t; }(e)).length, d = 128, h = 0, f = 72; for (n = 0; n < e.length; n++) (i = e[n]) < 128 && c.push(o(i)); var p = c.length, m = p; for (p && c.push('-'); m < u;) { var g = t; for (n = 0; n < e.length; n++) (i = e[n]) >= d && i < g && (g = i); var v = m + 1; if (g - d > r((t - h) / v)) throw RangeError(a); for (h += (g - d) * v, d = g, n = 0; n < e.length; n++) { if ((i = e[n]) < d && ++h > t) throw RangeError(a); if (i == d) { for (var y = h, b = 36; ; b += 36) { var x = b <= f ? 1 : b >= f + 26 ? 26 : b - f; if (y < x) break; var _ = y - x, w = 36 - x; c.push(o(s(x + _ % w))), y = r(_ / w); } c.push(o(s(y))), f = l(h, v, m == p), h = 0, ++m; } } ++h, ++d; } return c.join(''); }; e.exports = function (e) { var t, a, r = [], o = e.toLowerCase().replace(i, '.').split('.'); for (t = 0; t < o.length; t++) a = o[t], r.push( n.test(a) ? 'xn--' + c(a) : a); return r.join('.'); }; }, 6091: function (e, t, n) { var i = n(7293), a = n(1361); e.exports = function (e) { return i((function () { return !!a[e]() || ' ' != ' '[e]() || a[e].name !== e; })); }; }, 3111: function (e, t, n) { var i = n(4488), a = '[' + n(1361) + ']', r = RegExp('^' + a + a + '*'), o = RegExp(a + a + '*$'), s = function (e) { return function (t) { var n = String(i(t)); return 1 & e && (n = n.replace(r, '')), 2 & e && (n = n.replace(o, '')), n; }; }; e.exports = { start: s(1), end: s(2), trim: s(3) }; }, 1400: function (e, t, n) { var i = n(9958), a = Math.max, r = Math.min; e.exports = function (e, t) { var n = i(e); return n < 0 ? a(n + t, 0) : r(n, t); }; }, 7067: function (e, t, n) { var i = n(9958), a = n(7466); e.exports = function (e) { if (void 0 === e) return 0; var t = i(e), n = a(t); if (t !== n) throw RangeError('Wrong length or index'); return n; }; }, 5656: function (e, t, n) { var i = n(8361), a = n(4488); e.exports = function (e) {return i(a(e));}; }, 9958: function (e) { var t = Math.ceil, n = Math.floor; e.exports = function (e) { return isNaN(e = +e) ? 0 : (e > 0 ? n : t)(e); }; }, 7466: function (e, t, n) { var i = n(9958), a = Math.min; e.exports = function (e) { return e > 0 ? a(i(e), 9007199254740991) : 0; }; }, 7908: function (e, t, n) { var i = n(4488); e.exports = function (e) {return Object(i(e));}; }, 4590: function (e, t, n) { var i = n(3002); e.exports = function (e, t) { var n = i(e); if (n % t) throw RangeError('Wrong offset'); return n; }; }, 3002: function (e, t, n) { var i = n(9958); e.exports = function (e) { var t = i(e); if (t < 0) throw RangeError( 'The argument can\'t be less than 0'); return t; }; }, 7593: function (e, t, n) { var i = n(111); e.exports = function (e, t) { if (!i(e)) return e; var n, a; if (t && 'function' == typeof (n = e.toString) && !i(a = n.call(e))) return a; if ('function' == typeof (n = e.valueOf) && !i(a = n.call(e))) return a; if (!t && 'function' == typeof (n = e.toString) && !i(a = n.call(e))) return a; throw TypeError('Can\'t convert object to primitive value'); }; }, 1694: function (e, t, n) { var i = {}; i[n(5112)('toStringTag')] = 'z', e.exports = '[object z]' === String(i); }, 9843: function (e, t, n) { 'use strict'; var i = n(2109), a = n(7854), r = n(9781), o = n(3832), s = n(260), l = n(3331), c = n(5787), u = n(9114), d = n(8880), h = n(7466), f = n(7067), p = n(4590), m = n(7593), g = n(6656), v = n(648), y = n(111), b = n(30), x = n(7674), _ = n(8006).f, w = n(7321), k = n(2092).forEach, M = n(6340), L = n(3070), S = n(1236), T = n(9909), A = n(9587), D = T.get, C = T.set, E = L.f, O = S.f, Y = Math.round, P = a.RangeError, I = l.ArrayBuffer, j = l.DataView, N = s.NATIVE_ARRAY_BUFFER_VIEWS, H = s.TYPED_ARRAY_TAG, F = s.TypedArray, R = s.TypedArrayPrototype, z = s.aTypedArrayConstructor, B = s.isTypedArray, W = 'BYTES_PER_ELEMENT', V = 'Wrong length', q = function (e, t) { for (var n = 0, i = t.length, a = new (z(e))(i); i > n;) a[n] = t[n++]; return a; }, U = function (e, t) { E(e, t, { get: function () {return D(this)[t];} }); }, X = function (e) { var t; return e instanceof I || 'ArrayBuffer' == (t = v(e)) || 'SharedArrayBuffer' == t; }, $ = function (e, t) { return B(e) && 'symbol' != typeof t && t in e && String(+t) == String(t); }, G = function (e, t) { return $(e, t = m(t, !0)) ? u(2, e[t]) : O(e, t); }, Z = function (e, t, n) { return !($(e, t = m(t, !0)) && y(n) && g(n, 'value')) || g(n, 'get') || g(n, 'set') || n.configurable || g(n, 'writable') && !n.writable || g(n, 'enumerable') && !n.enumerable ? E(e, t, n) : (e[t] = n.value, e); }; r ? (N || (S.f = G, L.f = Z, U(R, 'buffer'), U(R, 'byteOffset'), U(R, 'byteLength'), U(R, 'length')), i( { target: 'Object', stat: !0, forced: !N }, { getOwnPropertyDescriptor: G, defineProperty: Z, }), e.exports = function (e, t, n) { var r = e.match(/\d+$/)[0] / 8, s = e + (n ? 'Clamped' : '') + 'Array', l = 'get' + e, u = 'set' + e, m = a[s], g = m, v = g && g.prototype, L = {}, S = function (e, t) { E(e, t, { get: function () { return function (e, t) { var n = D(e); return n.view[l](t * r + n.byteOffset, !0); }(this, t); }, set: function (e) { return function (e, t, i) { var a = D(e); n && (i = (i = Y(i)) < 0 ? 0 : i > 255 ? 255 : 255 & i), a.view[u]( t * r + a.byteOffset, i, !0); }(this, t, e); }, enumerable: !0, }); }; N ? o && (g = t((function (e, t, n, i) { return c(e, g, s), A(y(t) ? X(t) ? void 0 !== i ? new m(t, p(n, r), i) : void 0 !== n ? new m(t, p(n, r)) : new m(t) : B(t) ? q(g, t) : w.call(g, t) : new m(f(t)), e, g); })), x && x(g, F), k(_(m), (function (e) { e in g || d(g, e, m[e]); })), g.prototype = v) : (g = t((function (e, t, n, i) { c(e, g, s); var a, o, l, u = 0, d = 0; if (y(t)) { if (!X(t)) return B(t) ? q(g, t) : w.call(g, t); a = t, d = p(n, r); var m = t.byteLength; if (void 0 === i) { if (m % r) throw P(V); if ((o = m - d) < 0) throw P(V); } else if ((o = h(i) * r) + d > m) throw P(V); l = o / r; } else l = f(t), a = new I(o = l * r); for (C(e, { buffer: a, byteOffset: d, byteLength: o, length: l, view: new j(a), }); u < l;) S(e, u++); })), x && x(g, F), v = g.prototype = b( R)), v.constructor !== g && d(v, 'constructor', g), H && d(v, H, s), L[s] = g, i( { global: !0, forced: g != m, sham: !N }, L), W in g || d(g, W, r), W in v || d(v, W, r), M(s); }) : e.exports = function () {}; }, 3832: function (e, t, n) { var i = n(7854), a = n(7293), r = n(7072), o = n(260).NATIVE_ARRAY_BUFFER_VIEWS, s = i.ArrayBuffer, l = i.Int8Array; e.exports = !o || !a((function () {l(1);})) || !a((function () {new l(-1);})) || !r((function (e) { new l, new l(null), new l(1.5), new l(e); }), !0) || a((function () { return 1 !== new l(new s(2), 1, void 0).length; })); }, 3074: function (e, t, n) { var i = n(260).aTypedArrayConstructor, a = n(6707); e.exports = function (e, t) { for (var n = a(e, e.constructor), r = 0, o = t.length, s = new (i(n))( o); o > r;) s[r] = t[r++]; return s; }; }, 7321: function (e, t, n) { var i = n(7908), a = n(7466), r = n(1246), o = n(7659), s = n(9974), l = n(260).aTypedArrayConstructor; e.exports = function (e) { var t, n, c, u, d, h, f = i(e), p = arguments.length, m = p > 1 ? arguments[1] : void 0, g = void 0 !== m, v = r(f); if (null != v && !o(v)) for (h = (d = v.call( f)).next, f = []; !(u = h.call(d)).done;) f.push( u.value); for (g && p > 2 && (m = s(m, arguments[2], 2)), n = a( f.length), c = new (l(this))(n), t = 0; n > t; t++) c[t] = g ? m(f[t], t) : f[t]; return c; }; }, 9711: function (e) { var t = 0, n = Math.random(); e.exports = function (e) { return 'Symbol(' + String(void 0 === e ? '' : e) + ')_' + (++t + n).toString(36); }; }, 3307: function (e, t, n) { var i = n(133); e.exports = i && !Symbol.sham && 'symbol' == typeof Symbol.iterator; }, 5112: function (e, t, n) { var i = n(7854), a = n(2309), r = n(6656), o = n(9711), s = n(133), l = n(3307), c = a('wks'), u = i.Symbol, d = l ? u : u && u.withoutSetter || o; e.exports = function (e) { return r(c, e) || (s && r(u, e) ? c[e] = u[e] : c[e] = d( 'Symbol.' + e)), c[e]; }; }, 1361: function (e) {e.exports = '\t\n\v\f\r \u2028\u2029\ufeff';}, 8264: function (e, t, n) { 'use strict'; var i = n(2109), a = n(7854), r = n(3331), o = n(6340), s = 'ArrayBuffer', l = r.ArrayBuffer; i({ global: !0, forced: a.ArrayBuffer !== l }, { ArrayBuffer: l }), o(s); }, 2222: function (e, t, n) { 'use strict'; var i = n(2109), a = n(7293), r = n(3157), o = n(111), s = n(7908), l = n(7466), c = n(6135), u = n(5417), d = n(1194), h = n(5112), f = n(7392), p = h('isConcatSpreadable'), m = 9007199254740991, g = 'Maximum allowed index exceeded', v = f >= 51 || !a((function () { var e = []; return e[p] = !1, e.concat()[0] !== e; })), y = d('concat'), b = function (e) { if (!o(e)) return !1; var t = e[p]; return void 0 !== t ? !!t : r(e); }; i({ target: 'Array', proto: !0, forced: !v || !y }, { concat: function (e) { var t, n, i, a, r, o = s(this), d = u(o, 0), h = 0; for (t = -1, i = arguments.length; t < i; t++) if (b( r = -1 === t ? o : arguments[t])) { if (h + (a = l(r.length)) > m) throw TypeError(g); for (n = 0; n < a; n++, h++) n in r && c(d, h, r[n]); } else { if (h >= m) throw TypeError(g); c(d, h++, r); } return d.length = h, d; }, }); }, 7327: function (e, t, n) { 'use strict'; var i = n(2109), a = n(2092).filter; i({ target: 'Array', proto: !0, forced: !n(1194)('filter') }, { filter: function (e) { return a(this, e, arguments.length > 1 ? arguments[1] : void 0); }, }); }, 2772: function (e, t, n) { 'use strict'; var i = n(2109), a = n(1318).indexOf, r = n(9341), o = [].indexOf, s = !!o && 1 / [1].indexOf(1, -0) < 0, l = r('indexOf'); i({ target: 'Array', proto: !0, forced: s || !l }, { indexOf: function (e) { return s ? o.apply(this, arguments) || 0 : a(this, e, arguments.length > 1 ? arguments[1] : void 0); }, }); }, 6992: function (e, t, n) { 'use strict'; var i = n(5656), a = n(1223), r = n(7497), o = n(9909), s = n(654), l = 'Array Iterator', c = o.set, u = o.getterFor(l); e.exports = s(Array, 'Array', (function (e, t) { c(this, { type: l, target: i(e), index: 0, kind: t }); }), (function () { var e = u(this), t = e.target, n = e.kind, i = e.index++; return !t || i >= t.length ? (e.target = void 0, { value: void 0, done: !0 }) : 'keys' == n ? { value: i, done: !1 } : 'values' == n ? { value: t[i], done: !1 } : { value: [i, t[i]], done: !1 }; }), 'values'), r.Arguments = r.Array, a('keys'), a('values'), a( 'entries'); }, 1249: function (e, t, n) { 'use strict'; var i = n(2109), a = n(2092).map; i({ target: 'Array', proto: !0, forced: !n(1194)('map') }, { map: function (e) { return a(this, e, arguments.length > 1 ? arguments[1] : void 0); }, }); }, 7042: function (e, t, n) { 'use strict'; var i = n(2109), a = n(111), r = n(3157), o = n(1400), s = n(7466), l = n(5656), c = n(6135), u = n(5112), d = n(1194)('slice'), h = u('species'), f = [].slice, p = Math.max; i({ target: 'Array', proto: !0, forced: !d }, { slice: function (e, t) { var n, i, u, d = l(this), m = s(d.length), g = o(e, m), v = o(void 0 === t ? m : t, m); if (r(d) && ('function' != typeof (n = d.constructor) || n !== Array && !r(n.prototype) ? a(n) && null === (n = n[h]) && (n = void 0) : n = void 0, n === Array || void 0 === n)) return f.call(d, g, v); for (i = new (void 0 === n ? Array : n)( p(v - g, 0)), u = 0; g < v; g++, u++) g in d && c(i, u, d[g]); return i.length = u, i; }, }); }, 561: function (e, t, n) { 'use strict'; var i = n(2109), a = n(1400), r = n(9958), o = n(7466), s = n(7908), l = n(5417), c = n(6135), u = n(1194)('splice'), d = Math.max, h = Math.min, f = 9007199254740991, p = 'Maximum allowed length exceeded'; i({ target: 'Array', proto: !0, forced: !u }, { splice: function (e, t) { var n, i, u, m, g, v, y = s(this), b = o(y.length), x = a(e, b), _ = arguments.length; if (0 === _ ? n = i = 0 : 1 === _ ? (n = 0, i = b - x) : (n = _ - 2, i = h(d(r(t), 0), b - x)), b + n - i > f) throw TypeError(p); for (u = l(y, i), m = 0; m < i; m++) (g = x + m) in y && c(u, m, y[g]); if (u.length = i, n < i) { for (m = x; m < b - i; m++) v = m + n, (g = m + i) in y ? y[v] = y[g] : delete y[v]; for (m = b; m > b - i + n; m--) delete y[m - 1]; } else if (n > i) for (m = b - i; m > x; m--) v = m + n - 1, (g = m + i - 1) in y ? y[v] = y[g] : delete y[v]; for (m = 0; m < n; m++) y[m + x] = arguments[m + 2]; return y.length = b - i + n, u; }, }); }, 8309: function (e, t, n) { var i = n(9781), a = n(3070).f, r = Function.prototype, o = r.toString, s = /^\s*function ([^ (]*)/, l = 'name'; i && !(l in r) && a(r, l, { configurable: !0, get: function () { try { return o.call(this). match(s)[1]; } catch (e) {return '';} }, }); }, 489: function (e, t, n) { var i = n(2109), a = n(7293), r = n(7908), o = n(9518), s = n(8544); i({ target: 'Object', stat: !0, forced: a((function () {o(1);})), sham: !s, }, { getPrototypeOf: function (e) {return o(r(e));} }); }, 1539: function (e, t, n) { var i = n(1694), a = n(1320), r = n(288); i || a(Object.prototype, 'toString', r, { unsafe: !0 }); }, 4916: function (e, t, n) { 'use strict'; var i = n(2109), a = n(2261); i({ target: 'RegExp', proto: !0, forced: /./.exec !== a }, { exec: a }); }, 9714: function (e, t, n) { 'use strict'; var i = n(1320), a = n(9670), r = n(7293), o = n(7066), s = 'toString', l = RegExp.prototype, c = l.toString, u = r( (function () { return '/a/b' != c.call({ source: 'a', flags: 'b' }); })), d = c.name != s; (u || d) && i(RegExp.prototype, s, (function () { var e = a(this), t = String(e.source), n = e.flags; return '/' + t + '/' + String( void 0 === n && e instanceof RegExp && !('flags' in l) ? o.call(e) : n); }), { unsafe: !0 }); }, 8783: function (e, t, n) { 'use strict'; var i = n(8710).charAt, a = n(9909), r = n(654), o = 'String Iterator', s = a.set, l = a.getterFor(o); r(String, 'String', (function (e) { s(this, { type: o, string: String(e), index: 0 }); }), (function () { var e, t = l(this), n = t.string, a = t.index; return a >= n.length ? { value: void 0, done: !0 } : (e = i( n, a), t.index += e.length, { value: e, done: !1 }); })); }, 4723: function (e, t, n) { 'use strict'; var i = n(7007), a = n(9670), r = n(7466), o = n(4488), s = n(1530), l = n(7651); i('match', 1, (function (e, t, n) { return [ function (t) { var n = o(this), i = null == t ? void 0 : t[e]; return void 0 !== i ? i.call(t, n) : new RegExp( t)[e](String(n)); }, function (e) { var i = n(t, e, this); if (i.done) return i.value; var o = a(e), c = String(this); if (!o.global) return l(o, c); var u = o.unicode; o.lastIndex = 0; for (var d, h = [], f = 0; null !== (d = l(o, c));) { var p = String(d[0]); h[f] = p, '' === p && (o.lastIndex = s(c, r(o.lastIndex), u)), f++; } return 0 === f ? null : h; }]; })); }, 5306: function (e, t, n) { 'use strict'; var i = n(7007), a = n(9670), r = n(7466), o = n(9958), s = n(4488), l = n(1530), c = n(647), u = n(7651), d = Math.max, h = Math.min; i('replace', 2, (function (e, t, n, i) { var f = i.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE, p = i.REPLACE_KEEPS_$0, m = f ? '$' : '$0'; return [ function (n, i) { var a = s(this), r = null == n ? void 0 : n[e]; return void 0 !== r ? r.call(n, a, i) : t.call( String(a), n, i); }, function (e, i) { if (!f && p || 'string' == typeof i && -1 === i.indexOf(m)) { var s = n(t, e, this, i); if (s.done) return s.value; } var g = a(e), v = String(this), y = 'function' == typeof i; y || (i = String(i)); var b = g.global; if (b) { var x = g.unicode; g.lastIndex = 0; } for (var _ = []; ;) { var w = u(g, v); if (null === w) break; if (_.push(w), !b) break; '' === String(w[0]) && (g.lastIndex = l(v, r(g.lastIndex), x)); } for (var k, M = '', L = 0, S = 0; S < _.length; S++) { w = _[S]; for (var T = String(w[0]), A = d( h(o(w.index), v.length), 0), D = [], C = 1; C < w.length; C++) D.push( void 0 === (k = w[C]) ? k : String(k)); var E = w.groups; if (y) { var O = [T].concat(D, A, v); void 0 !== E && O.push(E); var Y = String(i.apply(void 0, O)); } else Y = c(T, v, A, D, E, i); A >= L && (M += v.slice(L, A) + Y, L = A + T.length); } return M + v.slice(L); }]; })); }, 3123: function (e, t, n) { 'use strict'; var i = n(7007), a = n(7850), r = n(9670), o = n(4488), s = n(6707), l = n(1530), c = n(7466), u = n(7651), d = n(2261), h = n(7293), f = [].push, p = Math.min, m = 4294967295, g = !h((function () {return !RegExp(m, 'y');})); i('split', 2, (function (e, t, n) { var i; return i = 'c' == 'abbc'.split(/(b)*/)[1] || 4 != 'test'.split(/(?:)/, -1).length || 2 != 'ab'.split(/(?:ab)*/).length || 4 != '.'.split(/(.?)(.?)/).length || '.'.split(/()()/).length > 1 || ''.split(/.?/).length ? function ( e, n) { var i = String(o(this)), r = void 0 === n ? m : n >>> 0; if (0 === r) return []; if (void 0 === e) return [i]; if (!a(e)) return t.call(i, e, r); for (var s, l, c, u = [], h = (e.ignoreCase ? 'i' : '') + (e.multiline ? 'm' : '') + (e.unicode ? 'u' : '') + (e.sticky ? 'y' : ''), p = 0, g = new RegExp( e.source, h + 'g'); (s = d.call(g, i)) && !((l = g.lastIndex) > p && (u.push(i.slice(p, s.index)), s.length > 1 && s.index < i.length && f.apply(u, s.slice( 1)), c = s[0].length, p = l, u.length >= r));) g.lastIndex === s.index && g.lastIndex++; return p === i.length ? !c && g.test('') || u.push('') : u.push(i.slice(p)), u.length > r ? u.slice(0, r) : u; } : '0'.split(void 0, 0).length ? function ( e, n) { return void 0 === e && 0 === n ? [] : t.call(this, e, n); } : t, [ function (t, n) { var a = o(this), r = null == t ? void 0 : t[e]; return void 0 !== r ? r.call(t, a, n) : i.call( String(a), t, n); }, function (e, a) { var o = n(i, e, this, a, i !== t); if (o.done) return o.value; var d = r(e), h = String(this), f = s(d, RegExp), v = d.unicode, y = (d.ignoreCase ? 'i' : '') + (d.multiline ? 'm' : '') + (d.unicode ? 'u' : '') + (g ? 'y' : 'g'), b = new f(g ? d : '^(?:' + d.source + ')', y), x = void 0 === a ? m : a >>> 0; if (0 === x) return []; if (0 === h.length) return null === u(b, h) ? [h] : []; for (var _ = 0, w = 0, k = []; w < h.length;) { b.lastIndex = g ? w : 0; var M, L = u(b, g ? h : h.slice(w)); if (null === L || (M = p(c(b.lastIndex + (g ? 0 : w)), h.length)) === _) w = l(h, w, v); else { if (k.push(h.slice(_, w)), k.length === x) return k; for (var S = 1; S <= L.length - 1; S++) if (k.push(L[S]), k.length === x) return k; w = _ = M; } } return k.push(h.slice(_)), k; }]; }), !g); }, 3210: function (e, t, n) { 'use strict'; var i = n(2109), a = n(3111).trim; i({ target: 'String', proto: !0, forced: n(6091)('trim') }, { trim: function () {return a(this);} }); }, 2990: function (e, t, n) { 'use strict'; var i = n(260), a = n(1048), r = i.aTypedArray; (0, i.exportTypedArrayMethod)('copyWithin', (function (e, t) { return a.call(r(this), e, t, arguments.length > 2 ? arguments[2] : void 0); })); }, 8927: function (e, t, n) { 'use strict'; var i = n(260), a = n(2092).every, r = i.aTypedArray; (0, i.exportTypedArrayMethod)('every', (function (e) { return a(r(this), e, arguments.length > 1 ? arguments[1] : void 0); })); }, 3105: function (e, t, n) { 'use strict'; var i = n(260), a = n(1285), r = i.aTypedArray; (0, i.exportTypedArrayMethod)('fill', (function (e) {return a.apply(r(this), arguments);})); }, 5035: function (e, t, n) { 'use strict'; var i = n(260), a = n(2092).filter, r = n(3074), o = i.aTypedArray; (0, i.exportTypedArrayMethod)('filter', (function (e) { var t = a(o(this), e, arguments.length > 1 ? arguments[1] : void 0); return r(this, t); })); }, 7174: function (e, t, n) { 'use strict'; var i = n(260), a = n(2092).findIndex, r = i.aTypedArray; (0, i.exportTypedArrayMethod)('findIndex', (function (e) { return a(r(this), e, arguments.length > 1 ? arguments[1] : void 0); })); }, 4345: function (e, t, n) { 'use strict'; var i = n(260), a = n(2092).find, r = i.aTypedArray; (0, i.exportTypedArrayMethod)('find', (function (e) { return a(r(this), e, arguments.length > 1 ? arguments[1] : void 0); })); }, 2846: function (e, t, n) { 'use strict'; var i = n(260), a = n(2092).forEach, r = i.aTypedArray; (0, i.exportTypedArrayMethod)('forEach', (function (e) { a(r(this), e, arguments.length > 1 ? arguments[1] : void 0); })); }, 4731: function (e, t, n) { 'use strict'; var i = n(260), a = n(1318).includes, r = i.aTypedArray; (0, i.exportTypedArrayMethod)('includes', (function (e) { return a(r(this), e, arguments.length > 1 ? arguments[1] : void 0); })); }, 7209: function (e, t, n) { 'use strict'; var i = n(260), a = n(1318).indexOf, r = i.aTypedArray; (0, i.exportTypedArrayMethod)('indexOf', (function (e) { return a(r(this), e, arguments.length > 1 ? arguments[1] : void 0); })); }, 6319: function (e, t, n) { 'use strict'; var i = n(7854), a = n(260), r = n(6992), o = n(5112)('iterator'), s = i.Uint8Array, l = r.values, c = r.keys, u = r.entries, d = a.aTypedArray, h = a.exportTypedArrayMethod, f = s && s.prototype[o], p = !!f && ('values' == f.name || null == f.name), m = function () {return l.call(d(this));}; h('entries', (function () {return u.call(d(this));})), h('keys', (function () {return c.call(d(this));})), h('values', m, !p), h(o, m, !p); }, 8867: function (e, t, n) { 'use strict'; var i = n(260), a = i.aTypedArray, r = i.exportTypedArrayMethod, o = [].join; r('join', (function (e) {return o.apply(a(this), arguments);})); }, 7789: function (e, t, n) { 'use strict'; var i = n(260), a = n(6583), r = i.aTypedArray; (0, i.exportTypedArrayMethod)('lastIndexOf', (function (e) {return a.apply(r(this), arguments);})); }, 3739: function (e, t, n) { 'use strict'; var i = n(260), a = n(2092).map, r = n(6707), o = i.aTypedArray, s = i.aTypedArrayConstructor; (0, i.exportTypedArrayMethod)('map', (function (e) { return a(o(this), e, arguments.length > 1 ? arguments[1] : void 0, (function (e, t) { return new (s(r(e, e.constructor)))(t); })); })); }, 4483: function (e, t, n) { 'use strict'; var i = n(260), a = n(3671).right, r = i.aTypedArray; (0, i.exportTypedArrayMethod)('reduceRight', (function (e) { return a(r(this), e, arguments.length, arguments.length > 1 ? arguments[1] : void 0); })); }, 9368: function (e, t, n) { 'use strict'; var i = n(260), a = n(3671).left, r = i.aTypedArray; (0, i.exportTypedArrayMethod)('reduce', (function (e) { return a(r(this), e, arguments.length, arguments.length > 1 ? arguments[1] : void 0); })); }, 2056: function (e, t, n) { 'use strict'; var i = n(260), a = i.aTypedArray, r = i.exportTypedArrayMethod, o = Math.floor; r('reverse', (function () { for (var e, t = this, n = a(t).length, i = o( n / 2), r = 0; r < i;) e = t[r], t[r++] = t[--n], t[n] = e; return t; })); }, 3462: function (e, t, n) { 'use strict'; var i = n(260), a = n(7466), r = n(4590), o = n(7908), s = n(7293), l = i.aTypedArray; (0, i.exportTypedArrayMethod)('set', (function (e) { l(this); var t = r(arguments.length > 1 ? arguments[1] : void 0, 1), n = this.length, i = o(e), s = a(i.length), c = 0; if (s + t > n) throw RangeError('Wrong length'); for (; c < s;) this[t + c] = i[c++]; }), s((function () {new Int8Array(1).set({});}))); }, 678: function (e, t, n) { 'use strict'; var i = n(260), a = n(6707), r = n(7293), o = i.aTypedArray, s = i.aTypedArrayConstructor, l = i.exportTypedArrayMethod, c = [].slice; l('slice', (function (e, t) { for (var n = c.call(o(this), e, t), i = a(this, this.constructor), r = 0, l = n.length, u = new (s(i))( l); l > r;) u[r] = n[r++]; return u; }), r((function () {new Int8Array(1).slice();}))); }, 7462: function (e, t, n) { 'use strict'; var i = n(260), a = n(2092).some, r = i.aTypedArray; (0, i.exportTypedArrayMethod)('some', (function (e) { return a(r(this), e, arguments.length > 1 ? arguments[1] : void 0); })); }, 3824: function (e, t, n) { 'use strict'; var i = n(260), a = i.aTypedArray, r = i.exportTypedArrayMethod, o = [].sort; r('sort', (function (e) {return o.call(a(this), e);})); }, 5021: function (e, t, n) { 'use strict'; var i = n(260), a = n(7466), r = n(1400), o = n(6707), s = i.aTypedArray; (0, i.exportTypedArrayMethod)('subarray', (function (e, t) { var n = s(this), i = n.length, l = r(e, i); return new (o(n, n.constructor))(n.buffer, n.byteOffset + l * n.BYTES_PER_ELEMENT, a((void 0 === t ? i : r(t, i)) - l)); })); }, 2974: function (e, t, n) { 'use strict'; var i = n(7854), a = n(260), r = n(7293), o = i.Int8Array, s = a.aTypedArray, l = a.exportTypedArrayMethod, c = [].toLocaleString, u = [].slice, d = !!o && r((function () {c.call(new o(1));})); l('toLocaleString', (function () { return c.apply(d ? u.call(s(this)) : s(this), arguments); }), r((function () { return [1, 2].toLocaleString() != new o([1, 2]).toLocaleString(); })) || !r((function () { o.prototype.toLocaleString.call([1, 2]); }))); }, 5016: function (e, t, n) { 'use strict'; var i = n(260).exportTypedArrayMethod, a = n(7293), r = n(7854).Uint8Array, o = r && r.prototype || {}, s = [].toString, l = [].join; a((function () {s.call({});})) && (s = function () {return l.call(this);}); var c = o.toString != s; i('toString', s, c); }, 2472: function (e, t, n) { n(9843)('Uint8', (function (e) { return function (t, n, i) { return e(this, t, n, i); }; })); }, 4747: function (e, t, n) { var i = n(7854), a = n(8324), r = n(8533), o = n(8880); for (var s in a) { var l = i[s], c = l && l.prototype; if (c && c.forEach !== r) try { o(c, 'forEach', r); } catch (e) {c.forEach = r;} } }, 3948: function (e, t, n) { var i = n(7854), a = n(8324), r = n(6992), o = n(8880), s = n(5112), l = s('iterator'), c = s('toStringTag'), u = r.values; for (var d in a) { var h = i[d], f = h && h.prototype; if (f) { if (f[l] !== u) try { o(f, l, u); } catch (e) {f[l] = u;} if (f[c] || o(f, c, d), a[d]) for (var p in r) if (f[p] !== r[p]) try {o(f, p, r[p]);} catch (e) {f[p] = r[p];} } } }, 1637: function (e, t, n) { 'use strict'; n(6992); var i = n(2109), a = n(5005), r = n(590), o = n(1320), s = n(2248), l = n(8003), c = n(4994), u = n(9909), d = n(5787), h = n(6656), f = n(9974), p = n(648), m = n(9670), g = n(111), v = n(30), y = n(9114), b = n(8554), x = n(1246), _ = n(5112), w = a('fetch'), k = a('Headers'), M = _('iterator'), L = 'URLSearchParams', S = 'URLSearchParamsIterator', T = u.set, A = u.getterFor(L), D = u.getterFor(S), C = /\+/g, E = Array(4), O = function (e) { return E[e - 1] || (E[e - 1] = RegExp('((?:%[\\da-f]{2}){' + e + '})', 'gi')); }, Y = function (e) { try { return decodeURIComponent(e); } catch (t) {return e;} }, P = function (e) { var t = e.replace(C, ' '), n = 4; try { return decodeURIComponent(t); } catch (e) { for (; n;) t = t.replace(O(n--), Y); return t; } }, I = /[!'()~]|%20/g, j = { '!': '%21', '\'': '%27', '(': '%28', ')': '%29', '~': '%7E', '%20': '+', }, N = function (e) {return j[e];}, H = function (e) { return encodeURIComponent(e). replace(I, N); }, F = function (e, t) { if (t) for (var n, i, a = t.split('&'), r = 0; r < a.length;) (n = a[r++]).length && (i = n.split('='), e.push( { key: P(i.shift()), value: P(i.join('=')) })); }, R = function (e) { this.entries.length = 0, F(this.entries, e); }, z = function (e, t) { if (e < t) throw TypeError('Not enough arguments'); }, B = c((function (e, t) { T(this, { type: S, iterator: b(A(e).entries), kind: t }); }), 'Iterator', (function () { var e = D(this), t = e.kind, n = e.iterator.next(), i = n.value; return n.done || (n.value = 'keys' === t ? i.key : 'values' === t ? i.value : [i.key, i.value]), n; })), W = function () { d(this, W, L); var e, t, n, i, a, r, o, s, l, c = arguments.length > 0 ? arguments[0] : void 0, u = this, f = []; if (T(u, { type: L, entries: f, updateURL: function () {}, updateSearchParams: R, }), void 0 !== c) if (g(c)) if ('function' == typeof (e = x(c))) for (n = (t = e.call( c)).next; !(i = n.call(t)).done;) { if ((o = (r = (a = b(m(i.value))).next).call(a)).done || (s = r.call(a)).done || !r.call(a).done) throw TypeError( 'Expected sequence with length 2'); f.push({ key: o.value + '', value: s.value + '' }); } else for (l in c) h(c, l) && f.push({ key: l, value: c[l] + '' }); else F(f, 'string' == typeof c ? '?' === c.charAt(0) ? c.slice(1) : c : c + ''); }, V = W.prototype; s(V, { append: function (e, t) { z(arguments.length, 2); var n = A(this); n.entries.push( { key: e + '', value: t + '' }), n.updateURL(); }, delete: function (e) { z(arguments.length, 1); for (var t = A(this), n = t.entries, i = e + '', a = 0; a < n.length;) n[a].key === i ? n.splice( a, 1) : a++; t.updateURL(); }, get: function (e) { z(arguments.length, 1); for (var t = A(this).entries, n = e + '', i = 0; i < t.length; i++) if (t[i].key === n) return t[i].value; return null; }, getAll: function (e) { z(arguments.length, 1); for (var t = A(this).entries, n = e + '', i = [], a = 0; a < t.length; a++) t[a].key === n && i.push(t[a].value); return i; }, has: function (e) { z(arguments.length, 1); for (var t = A(this).entries, n = e + '', i = 0; i < t.length;) if (t[i++].key === n) return !0; return !1; }, set: function (e, t) { z(arguments.length, 1); for (var n, i = A(this), a = i.entries, r = !1, o = e + '', s = t + '', l = 0; l < a.length; l++) (n = a[l]).key === o && (r ? a.splice(l--, 1) : (r = !0, n.value = s)); r || a.push({ key: o, value: s }), i.updateURL(); }, sort: function () { var e, t, n, i = A(this), a = i.entries, r = a.slice(); for (a.length = 0, n = 0; n < r.length; n++) { for (e = r[n], t = 0; t < n; t++) if (a[t].key > e.key) { a.splice(t, 0, e); break; } t === n && a.push(e); } i.updateURL(); }, forEach: function (e) { for (var t, n = A(this).entries, i = f(e, arguments.length > 1 ? arguments[1] : void 0, 3), a = 0; a < n.length;) i((t = n[a++]).value, t.key, this); }, keys: function () {return new B(this, 'keys');}, values: function () {return new B(this, 'values');}, entries: function () {return new B(this, 'entries');}, }, { enumerable: !0 }), o(V, M, V.entries), o(V, 'toString', (function () { for (var e, t = A(this).entries, n = [], i = 0; i < t.length;) e = t[i++], n.push( H(e.key) + '=' + H(e.value)); return n.join('&'); }), { enumerable: !0 }), l(W, L), i( { global: !0, forced: !r }, { URLSearchParams: W }), r || 'function' != typeof w || 'function' != typeof k || i({ global: !0, enumerable: !0, forced: !0 }, { fetch: function (e) { var t, n, i, a = [e]; return arguments.length > 1 && (g(t = arguments[1]) && (n = t.body, p(n) === L && ((i = t.headers ? new k(t.headers) : new k).has( 'content-type') || i.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8'), t = v( t, { body: y(0, String(n)), headers: y(0, i), }))), a.push(t)), w.apply(this, a); }, }), e.exports = { URLSearchParams: W, getState: A }; }, 285: function (e, t, n) { 'use strict'; n(8783); var i, a = n(2109), r = n(9781), o = n(590), s = n(7854), l = n(6048), c = n(1320), u = n(5787), d = n(6656), h = n(1574), f = n(8457), p = n(8710).codeAt, m = n(3197), g = n(8003), v = n(1637), y = n(9909), b = s.URL, x = v.URLSearchParams, _ = v.getState, w = y.set, k = y.getterFor('URL'), M = Math.floor, L = Math.pow, S = 'Invalid scheme', T = 'Invalid host', A = 'Invalid port', D = /[A-Za-z]/, C = /[\d+-.A-Za-z]/, E = /\d/, O = /^(0x|0X)/, Y = /^[0-7]+$/, P = /^\d+$/, I = /^[\dA-Fa-f]+$/, j = /[\u0000\t\u000A\u000D #%/:?@[\\]]/, N = /[\u0000\t\u000A\u000D #/:?@[\\]]/, H = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g, F = /[\t\u000A\u000D]/g, R = function (e, t) { var n, i, a; if ('[' == t.charAt(0)) { if (']' != t.charAt(t.length - 1)) return T; if (!(n = B(t.slice(1, -1)))) return T; e.host = n; } else if (Z(e)) { if (t = m(t), j.test(t)) return T; if (null === (n = z(t))) return T; e.host = n; } else { if (N.test(t)) return T; for (n = '', i = f(t), a = 0; a < i.length; a++) n += $( i[a], V); e.host = n; } }, z = function (e) { var t, n, i, a, r, o, s, l = e.split('.'); if (l.length && '' == l[l.length - 1] && l.pop(), (t = l.length) > 4) return e; for (n = [], i = 0; i < t; i++) { if ('' == (a = l[i])) return e; if (r = 10, a.length > 1 && '0' == a.charAt(0) && (r = O.test(a) ? 16 : 8, a = a.slice( 8 == r ? 1 : 2)), '' === a) o = 0; else { if (!(10 == r ? P : 8 == r ? Y : I).test( a)) return e; o = parseInt(a, r); } n.push(o); } for (i = 0; i < t; i++) if (o = n[i], i == t - 1) { if (o >= L(256, 5 - t)) return null; } else if (o > 255) return null; for (s = n.pop(), i = 0; i < n.length; i++) s += n[i] * L(256, 3 - i); return s; }, B = function (e) { var t, n, i, a, r, o, s, l = [0, 0, 0, 0, 0, 0, 0, 0], c = 0, u = null, d = 0, h = function () {return e.charAt(d);}; if (':' == h()) { if (':' != e.charAt(1)) return; d += 2, u = ++c; } for (; h();) { if (8 == c) return; if (':' != h()) { for (t = n = 0; n < 4 && I.test(h());) t = 16 * t + parseInt(h(), 16), d++, n++; if ('.' == h()) { if (0 == n) return; if (d -= n, c > 6) return; for (i = 0; h();) { if (a = null, i > 0) { if (!('.' == h() && i < 4)) return; d++; } if (!E.test(h())) return; for (; E.test(h());) { if (r = parseInt(h(), 10), null === a) a = r; else { if (0 == a) return; a = 10 * a + r; } if (a > 255) return; d++; } l[c] = 256 * l[c] + a, 2 != ++i && 4 != i || c++; } if (4 != i) return; break; } if (':' == h()) {if (d++, !h()) return;} else if (h()) return; l[c++] = t; } else { if (null !== u) return; d++, u = ++c; } } if (null !== u) for (o = c - u, c = 7; 0 != c && o > 0;) s = l[c], l[c--] = l[u + o - 1], l[u + --o] = s; else if (8 != c) return; return l; }, W = function (e) { var t, n, i, a; if ('number' == typeof e) { for (t = [], n = 0; n < 4; n++) t.unshift( e % 256), e = M(e / 256); return t.join('.'); } if ('object' == typeof e) { for (t = '', i = function (e) { for (var t = null, n = 1, i = null, a = 0, r = 0; r < 8; r++) 0 !== e[r] ? (a > n && (t = i, n = a), i = null, a = 0) : (null === i && (i = r), ++a); return a > n && (t = i, n = a), t; }(e), n = 0; n < 8; n++) a && 0 === e[n] || (a && (a = !1), i === n ? (t += n ? ':' : '::', a = !0) : (t += e[n].toString(16), n < 7 && (t += ':'))); return '[' + t + ']'; } return e; }, V = {}, q = h({}, V, { ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1 }), U = h({}, q, { '#': 1, '?': 1, '{': 1, '}': 1 }), X = h({}, U, { '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1, }), $ = function (e, t) { var n = p(e, 0); return n > 32 && n < 127 && !d(t, e) ? e : encodeURIComponent(e); }, G = { ftp: 21, file: null, http: 80, https: 443, ws: 80, wss: 443, }, Z = function (e) {return d(G, e.scheme);}, K = function (e) { return '' != e.username || '' != e.password; }, J = function (e) { return !e.host || e.cannotBeABaseURL || 'file' == e.scheme; }, Q = function (e, t) { var n; return 2 == e.length && D.test(e.charAt(0)) && (':' == (n = e.charAt(1)) || !t && '|' == n); }, ee = function (e) { var t; return e.length > 1 && Q(e.slice(0, 2)) && (2 == e.length || '/' === (t = e.charAt(2)) || '\\' === t || '?' === t || '#' === t); }, te = function (e) { var t = e.path, n = t.length; !n || 'file' == e.scheme && 1 == n && Q(t[0], !0) || t.pop(); }, ne = function (e) { return '.' === e || '%2e' === e.toLowerCase(); }, ie = {}, ae = {}, re = {}, oe = {}, se = {}, le = {}, ce = {}, ue = {}, de = {}, he = {}, fe = {}, pe = {}, me = {}, ge = {}, ve = {}, ye = {}, be = {}, xe = {}, _e = {}, we = {}, ke = {}, Me = function (e, t, n, a) { var r, o, s, l, c, u = n || ie, h = 0, p = '', m = !1, g = !1, v = !1; for (n || (e.scheme = '', e.username = '', e.password = '', e.host = null, e.port = null, e.path = [], e.query = null, e.fragment = null, e.cannotBeABaseURL = !1, t = t.replace( H, '')), t = t.replace(F, ''), r = f(t); h <= r.length;) { switch (o = r[h], u) { case ie: if (!o || !D.test(o)) { if (n) return S; u = re; continue; } p += o.toLowerCase(), u = ae; break; case ae: if (o && (C.test(o) || '+' == o || '-' == o || '.' == o)) p += o.toLowerCase(); else { if (':' != o) { if (n) return S; p = '', u = re, h = 0; continue; } if (n && (Z(e) != d(G, p) || 'file' == p && (K(e) || null !== e.port) || 'file' == e.scheme && !e.host)) return; if (e.scheme = p, n) return void (Z(e) && G[e.scheme] == e.port && (e.port = null)); p = '', 'file' == e.scheme ? u = ge : Z( e) && a && a.scheme == e.scheme ? u = oe : Z(e) ? u = ue : '/' == r[h + 1] ? (u = se, h++) : (e.cannotBeABaseURL = !0, e.path.push( ''), u = _e); } break; case re: if (!a || a.cannotBeABaseURL && '#' != o) return S; if (a.cannotBeABaseURL && '#' == o) { e.scheme = a.scheme, e.path = a.path.slice(), e.query = a.query, e.fragment = '', e.cannotBeABaseURL = !0, u = ke; break; } u = 'file' == a.scheme ? ge : le; continue; case oe: if ('/' != o || '/' != r[h + 1]) { u = le; continue; } u = de, h++; break; case se: if ('/' == o) { u = he; break; } u = xe; continue; case le: if (e.scheme = a.scheme, o == i) e.username = a.username, e.password = a.password, e.host = a.host, e.port = a.port, e.path = a.path.slice(), e.query = a.query; else if ('/' == o || '\\' == o && Z(e)) u = ce; else if ('?' == o) e.username = a.username, e.password = a.password, e.host = a.host, e.port = a.port, e.path = a.path.slice(), e.query = '', u = we; else { if ('#' != o) { e.username = a.username, e.password = a.password, e.host = a.host, e.port = a.port, e.path = a.path.slice(), e.path.pop(), u = xe; continue; } e.username = a.username, e.password = a.password, e.host = a.host, e.port = a.port, e.path = a.path.slice(), e.query = a.query, e.fragment = '', u = ke; } break; case ce: if (!Z(e) || '/' != o && '\\' != o) { if ('/' != o) { e.username = a.username, e.password = a.password, e.host = a.host, e.port = a.port, u = xe; continue; } u = he; } else u = de; break; case ue: if (u = de, '/' != o || '/' != p.charAt(h + 1)) continue; h++; break; case de: if ('/' != o && '\\' != o) { u = he; continue; } break; case he: if ('@' == o) { m && (p = '%40' + p), m = !0, s = f(p); for (var y = 0; y < s.length; y++) { var b = s[y]; if (':' != b || v) { var x = $(b, X); v ? e.password += x : e.username += x; } else v = !0; } p = ''; } else if (o == i || '/' == o || '?' == o || '#' == o || '\\' == o && Z(e)) { if (m && '' == p) return 'Invalid authority'; h -= f(p).length + 1, p = '', u = fe; } else p += o; break; case fe: case pe: if (n && 'file' == e.scheme) { u = ye; continue; } if (':' != o || g) { if (o == i || '/' == o || '?' == o || '#' == o || '\\' == o && Z(e)) { if (Z(e) && '' == p) return T; if (n && '' == p && (K(e) || null !== e.port)) return; if (l = R(e, p)) return l; if (p = '', u = be, n) return; continue; } '[' == o ? g = !0 : ']' == o && (g = !1), p += o; } else { if ('' == p) return T; if (l = R(e, p)) return l; if (p = '', u = me, n == pe) return; } break; case me: if (!E.test(o)) { if (o == i || '/' == o || '?' == o || '#' == o || '\\' == o && Z(e) || n) { if ('' != p) { var _ = parseInt(p, 10); if (_ > 65535) return A; e.port = Z(e) && _ === G[e.scheme] ? null : _, p = ''; } if (n) return; u = be; continue; } return A; } p += o; break; case ge: if (e.scheme = 'file', '/' == o || '\\' == o) u = ve; else { if (!a || 'file' != a.scheme) { u = xe; continue; } if (o == i) e.host = a.host, e.path = a.path.slice(), e.query = a.query; else if ('?' == o) e.host = a.host, e.path = a.path.slice(), e.query = '', u = we; else { if ('#' != o) { ee(r.slice(h).join('')) || (e.host = a.host, e.path = a.path.slice(), te( e)), u = xe; continue; } e.host = a.host, e.path = a.path.slice(), e.query = a.query, e.fragment = '', u = ke; } } break; case ve: if ('/' == o || '\\' == o) { u = ye; break; } a && 'file' == a.scheme && !ee(r.slice(h).join('')) && (Q(a.path[0], !0) ? e.path.push(a.path[0]) : e.host = a.host), u = xe; continue; case ye: if (o == i || '/' == o || '\\' == o || '?' == o || '#' == o) { if (!n && Q(p)) u = xe; else if ('' == p) { if (e.host = '', n) return; u = be; } else { if (l = R(e, p)) return l; if ('localhost' == e.host && (e.host = ''), n) return; p = '', u = be; } continue; } p += o; break; case be: if (Z(e)) { if (u = xe, '/' != o && '\\' != o) continue; } else if (n || '?' != o) if (n || '#' != o) { if (o != i && (u = xe, '/' != o)) continue; } else e.fragment = '', u = ke; else e.query = '', u = we; break; case xe: if (o == i || '/' == o || '\\' == o && Z(e) || !n && ('?' == o || '#' == o)) { if ('..' === (c = (c = p).toLowerCase()) || '%2e.' === c || '.%2e' === c || '%2e%2e' === c ? (te(e), '/' == o || '\\' == o && Z(e) || e.path.push('')) : ne(p) ? '/' == o || '\\' == o && Z(e) || e.path.push('') : ('file' == e.scheme && !e.path.length && Q(p) && (e.host && (e.host = ''), p = p.charAt( 0) + ':'), e.path.push( p)), p = '', 'file' == e.scheme && (o == i || '?' == o || '#' == o)) for (; e.path.length > 1 && "" === e.path[0];) e.path.shift(); '?' == o ? (e.query = '', u = we) : '#' == o && (e.fragment = '', u = ke); } else p += $(o, U); break; case _e: '?' == o ? (e.query = '', u = we) : '#' == o ? (e.fragment = '', u = ke) : o != i && (e.path[0] += $(o, V)); break; case we: n || '#' != o ? o != i && ('\'' == o && Z(e) ? e.query += '%27' : e.query += '#' == o ? '%23' : $(o, V)) : (e.fragment = '', u = ke); break; case ke: o != i && (e.fragment += $(o, q)); } h++; } }, Le = function (e) { var t, n, i = u(this, Le, 'URL'), a = arguments.length > 1 ? arguments[1] : void 0, o = String(e), s = w(i, { type: 'URL' }); if (void 0 !== a) if (a instanceof Le) t = k( a); else if (n = Me(t = {}, String(a))) throw TypeError( n); if (n = Me(s, o, null, t)) throw TypeError(n); var l = s.searchParams = new x, c = _(l); c.updateSearchParams(s.query), c.updateURL = function () { s.query = String(l) || null; }, r || (i.href = Te.call(i), i.origin = Ae.call( i), i.protocol = De.call(i), i.username = Ce.call( i), i.password = Ee.call(i), i.host = Oe.call( i), i.hostname = Ye.call(i), i.port = Pe.call( i), i.pathname = Ie.call(i), i.search = je.call( i), i.searchParams = Ne.call(i), i.hash = He.call(i)); }, Se = Le.prototype, Te = function () { var e = k(this), t = e.scheme, n = e.username, i = e.password, a = e.host, r = e.port, o = e.path, s = e.query, l = e.fragment, c = t + ':'; return null !== a ? (c += '//', K(e) && (c += n + (i ? ':' + i : '') + '@'), c += W(a), null !== r && (c += ':' + r)) : 'file' == t && (c += '//'), c += e.cannotBeABaseURL ? o[0] : o.length ? '/' + o.join('/') : '', null !== s && (c += '?' + s), null !== l && (c += '#' + l), c; }, Ae = function () { var e = k(this), t = e.scheme, n = e.port; if ('blob' == t) try { return new URL(t.path[0]).origin; } catch (e) {return 'null';} return 'file' != t && Z(e) ? t + '://' + W(e.host) + (null !== n ? ':' + n : '') : 'null'; }, De = function () {return k(this).scheme + ':';}, Ce = function () {return k(this).username;}, Ee = function () {return k(this).password;}, Oe = function () { var e = k(this), t = e.host, n = e.port; return null === t ? '' : null === n ? W(t) : W(t) + ':' + n; }, Ye = function () { var e = k(this).host; return null === e ? '' : W(e); }, Pe = function () { var e = k(this).port; return null === e ? '' : String(e); }, Ie = function () { var e = k(this), t = e.path; return e.cannotBeABaseURL ? t[0] : t.length ? '/' + t.join('/') : ''; }, je = function () { var e = k(this).query; return e ? '?' + e : ''; }, Ne = function () {return k(this).searchParams;}, He = function () { var e = k(this).fragment; return e ? '#' + e : ''; }, Fe = function (e, t) { return { get: e, set: t, configurable: !0, enumerable: !0, }; }; if (r && l(Se, { href: Fe(Te, (function (e) { var t = k(this), n = String(e), i = Me(t, n); if (i) throw TypeError(i); _(t.searchParams).updateSearchParams(t.query); })), origin: Fe(Ae), protocol: Fe(De, (function (e) { var t = k(this); Me(t, String(e) + ':', ie); })), username: Fe(Ce, (function (e) { var t = k(this), n = f(String(e)); if (!J(t)) { t.username = ''; for (var i = 0; i < n.length; i++) t.username += $( n[i], X); } })), password: Fe(Ee, (function (e) { var t = k(this), n = f(String(e)); if (!J(t)) { t.password = ''; for (var i = 0; i < n.length; i++) t.password += $( n[i], X); } })), host: Fe(Oe, (function (e) { var t = k(this); t.cannotBeABaseURL || Me(t, String(e), fe); })), hostname: Fe(Ye, (function (e) { var t = k(this); t.cannotBeABaseURL || Me(t, String(e), pe); })), port: Fe(Pe, (function (e) { var t = k(this); J(t) || ('' == (e = String(e)) ? t.port = null : Me(t, e, me)); })), pathname: Fe(Ie, (function (e) { var t = k(this); t.cannotBeABaseURL || (t.path = [], Me(t, e + '', be)); })), search: Fe(je, (function (e) { var t = k(this); '' == (e = String(e)) ? t.query = null : ('?' == e.charAt(0) && (e = e.slice(1)), t.query = '', Me(t, e, we)), _(t.searchParams).updateSearchParams(t.query); })), searchParams: Fe(Ne), hash: Fe(He, (function (e) { var t = k(this); '' != (e = String(e)) ? ('#' == e.charAt(0) && (e = e.slice(1)), t.fragment = '', Me(t, e, ke)) : t.fragment = null; })), }), c(Se, 'toJSON', (function () {return Te.call(this);}), { enumerable: !0 }), c(Se, 'toString', (function () {return Te.call(this);}), { enumerable: !0 }), b) { var Re = b.createObjectURL, ze = b.revokeObjectURL; Re && c(Le, 'createObjectURL', (function (e) {return Re.apply(b, arguments);})), ze && c(Le, 'revokeObjectURL', (function (e) {return ze.apply(b, arguments);})); } g(Le, 'URL'), a({ global: !0, forced: !o, sham: !r }, { URL: Le }); }, }, t = {}; function n (i) { if (t[i]) return t[i].exports; var a = t[i] = { exports: {} }; return e[i](a, a.exports, n), a.exports; } n.d = function (e, t) { for (var i in t) n.o(t, i) && !n.o(e, i) && Object.defineProperty(e, i, { enumerable: !0, get: t[i] }); }, n.g = function () { if ('object' == typeof globalThis) return globalThis; try { return this || new Function('return this')(); } catch (e) {if ('object' == typeof window) return window;} }(), n.o = function (e, t) { return Object.prototype.hasOwnProperty.call(e, t); }, n.r = function (e) { 'undefined' != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, { value: 'Module' }), Object.defineProperty(e, '__esModule', { value: !0 }); }; var i = {}; return function () { 'use strict'; n.r(i), n.d(i, { Dropzone: function () {return x;}, default: function () {return L;}, }); n(2222), n(7327), n(2772), n(6992), n(1249), n(7042), n(561), n( 8264), n(8309), n(489), n(1539), n(4916), n(9714), n(8783), n( 4723), n(5306), n(3123), n(3210), n(2472), n(2990), n(8927), n( 3105), n(5035), n(4345), n(7174), n(2846), n(4731), n(7209), n( 6319), n(8867), n(7789), n(3739), n(9368), n(4483), n(2056), n( 3462), n(678), n(7462), n(3824), n(5021), n(2974), n(5016), n( 4747), n(3948), n(285); function e (e, n) { var i; if ('undefined' == typeof Symbol || null == e[Symbol.iterator]) { if (Array.isArray(e) || (i = function (e, n) { if (!e) return; if ('string' == typeof e) return t(e, n); var i = Object.prototype.toString.call(e).slice(8, -1); 'Object' === i && e.constructor && (i = e.constructor.name); if ('Map' === i || 'Set' === i) return Array.from(e); if ('Arguments' === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test( i)) return t(e, n); }(e)) || n && e && 'number' == typeof e.length) { i && (e = i); var a = 0, r = function () {}; return { s: r, n: function () { return a >= e.length ? { done: !0 } : { done: !1, value: e[a++] }; }, e: function (e) {throw e;}, f: r, }; } 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 o, s = !0, l = !1; return { s: function () {i = e[Symbol.iterator]();}, n: function () { var e = i.next(); return s = e.done, e; }, e: function (e) {l = !0, o = e;}, f: function () { try { s || null == i.return || i.return(); } finally {if (l) throw o;} }, }; } function t (e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; return i; } function a (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } var r = function () { function t () { !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, t); } var n, i, r; return n = t, (i = [ { key: 'on', value: function (e, t) { return this._callbacks = this._callbacks || {}, this._callbacks[e] || (this._callbacks[e] = []), this._callbacks[e].push( t), this; }, }, { key: 'emit', value: function (t) { this._callbacks = this._callbacks || {}; for (var n = this._callbacks[t], i = arguments.length, a = new Array( i > 1 ? i - 1 : 0), r = 1; r < i; r++) a[r - 1] = arguments[r]; if (n) { var o, s = e(n, !0); try { for (s.s(); !(o = s.n()).done;) { var l = o.value; l.apply(this, a); } } catch (e) {s.e(e);} finally {s.f();} } return this.element && this.element.dispatchEvent( this.makeEvent('dropzone:' + t, { args: a })), this; }, }, { key: 'makeEvent', value: function (e, t) { var n = { bubbles: !0, cancelable: !0, detail: t, }; if ('function' == typeof window.CustomEvent) return new CustomEvent( e, n); var i = document.createEvent('CustomEvent'); return i.initCustomEvent(e, n.bubbles, n.cancelable, n.detail), i; }, }, { key: 'off', value: function (e, t) { if (!this._callbacks || 0 === arguments.length) return this._callbacks = {}, this; var n = this._callbacks[e]; if (!n) return this; if (1 === arguments.length) return delete this._callbacks[e], this; for (var i = 0; i < n.length; i++) { var a = n[i]; if (a === t) { n.splice(i, 1); break; } } return this; }, }]) && a(n.prototype, i), r && a(n, r), t; }(); function o (e, t) { var n; if ('undefined' == typeof Symbol || null == e[Symbol.iterator]) { if (Array.isArray(e) || (n = function (e, t) { if (!e) return; if ('string' == typeof e) return s(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); 'Object' === n && e.constructor && (n = e.constructor.name); if ('Map' === n || 'Set' === n) return Array.from(e); if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test( n)) return s(e, t); }(e)) || t && e && 'number' == typeof e.length) { n && (e = n); var i = 0, a = function () {}; return { s: a, n: function () { return i >= e.length ? { done: !0 } : { done: !1, value: e[i++] }; }, e: function (e) {throw e;}, f: a, }; } 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, o = !0, l = !1; return { s: function () {n = e[Symbol.iterator]();}, n: function () { var e = n.next(); return o = e.done, e; }, e: function (e) {l = !0, r = e;}, f: function () { try { o || null == n.return || n.return(); } finally {if (l) throw r;} }, }; } function s (e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; return i; } var l = { url: null, method: 'post', withCredentials: !1, timeout: null, parallelUploads: 2, uploadMultiple: !1, chunking: !1, forceChunking: !1, chunkSize: 2e6, parallelChunkUploads: !1, retryChunks: !1, retryChunksLimit: 3, maxFilesize: 256, paramName: 'file', createImageThumbnails: !0, maxThumbnailFilesize: 10, thumbnailWidth: 120, thumbnailHeight: 120, thumbnailMethod: 'crop', resizeWidth: null, resizeHeight: null, resizeMimeType: null, resizeQuality: .8, resizeMethod: 'contain', filesizeBase: 1e3, maxFiles: null, headers: null, clickable: !0, ignoreHiddenFiles: !0, acceptedFiles: null, acceptedMimeTypes: null, autoProcessQueue: !0, autoQueue: !0, addRemoveLinks: !1, previewsContainer: null, disablePreviews: !1, hiddenInputContainer: 'body', capture: null, renameFilename: null, renameFile: null, forceFallback: !1, dictDefaultMessage: 'Drop files here to upload', dictFallbackMessage: 'Your browser does not support drag\'n\'drop file uploads.', dictFallbackText: 'Please use the fallback form below to upload your files like in the olden days.', dictFileTooBig: 'File is too big ({{filesize}}MiB). Max filesize: {{maxFilesize}}MiB.', dictInvalidFileType: 'You can\'t upload files of this type.', dictResponseError: 'Server responded with {{statusCode}} code.', dictCancelUpload: 'Cancel upload', dictUploadCanceled: 'Upload canceled.', dictCancelUploadConfirmation: 'Are you sure you want to cancel this upload?', dictRemoveFile: 'Remove file', dictRemoveFileConfirmation: null, dictMaxFilesExceeded: 'You can not upload any more files.', dictFileSizeUnits: { tb: 'TB', gb: 'GB', mb: 'MB', kb: 'KB', b: 'b', }, init: function () {}, params: function (e, t, n) { if (n) return { dzuuid: n.file.upload.uuid, dzchunkindex: n.index, dztotalfilesize: n.file.size, dzchunksize: this.options.chunkSize, dztotalchunkcount: n.file.upload.totalChunkCount, dzchunkbyteoffset: n.index * this.options.chunkSize, }; }, accept: function (e, t) {return t();}, chunksUploaded: function (e, t) {t();}, fallback: function () { var e; this.element.className = ''.concat(this.element.className, ' dz-browser-not-supported'); var t, n = o(this.element.getElementsByTagName('div'), !0); try { for (n.s(); !(t = n.n()).done;) { var i = t.value; if (/(^| )dz-message($| )/.test(i.className)) { e = i, i.className = 'dz-message'; break; } } } catch (e) {n.e(e);} finally {n.f();} e || (e = x.createElement( '<div class="dz-message"><span></span></div>'), this.element.appendChild( e)); var a = e.getElementsByTagName('span')[0]; return a && (null != a.textContent ? a.textContent = this.options.dictFallbackMessage : null != a.innerText && (a.innerText = this.options.dictFallbackMessage)), this.element.appendChild( this.getFallbackForm()); }, resize: function (e, t, n, i) { var a = { srcX: 0, srcY: 0, srcWidth: e.width, srcHeight: e.height, }, r = e.width / e.height; null == t && null == n ? (t = a.srcWidth, n = a.srcHeight) : null == t ? t = n * r : null == n && (n = t / r); var o = (t = Math.min(t, a.srcWidth)) / (n = Math.min(n, a.srcHeight)); if (a.srcWidth > t || a.srcHeight > n) if ('crop' === i) r > o ? (a.srcHeight = e.height, a.srcWidth = a.srcHeight * o) : (a.srcWidth = e.width, a.srcHeight = a.srcWidth / o); else { if ('contain' !== i) throw new Error( 'Unknown resizeMethod \''.concat(i, '\'')); r > o ? n = t / r : t = n * r; } return a.srcX = (e.width - a.srcWidth) / 2, a.srcY = (e.height - a.srcHeight) / 2, a.trgWidth = t, a.trgHeight = n, a; }, transformFile: function (e, t) { return (this.options.resizeWidth || this.options.resizeHeight) && e.type.match(/image.*/) ? this.resizeImage(e, this.options.resizeWidth, this.options.resizeHeight, this.options.resizeMethod, t) : t(e); }, previewTemplate: '<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> ', drop: function (e) { return this.element.classList.remove('dz-drag-hover'); }, dragstart: function (e) {}, dragend: function (e) { return this.element.classList.remove('dz-drag-hover'); }, dragenter: function (e) { return this.element.classList.add('dz-drag-hover'); }, dragover: function (e) { return this.element.classList.add('dz-drag-hover'); }, dragleave: function (e) { return this.element.classList.remove('dz-drag-hover'); }, paste: function (e) {}, reset: function () { return this.element.classList.remove('dz-started'); }, addedfile: function (e) { var t = this; if (this.element === this.previewsContainer && this.element.classList.add( 'dz-started'), this.previewsContainer && !this.options.disablePreviews) { e.previewElement = x.createElement( this.options.previewTemplate.trim()), e.previewTemplate = e.previewElement, this.previewsContainer.appendChild( e.previewElement); var n, i = o( e.previewElement.querySelectorAll('[data-dz-name]'), !0); try { for (i.s(); !(n = i.n()).done;) { var a = n.value; a.textContent = e.name; } } catch (e) {i.e(e);} finally {i.f();} var r, s = o( e.previewElement.querySelectorAll('[data-dz-size]'), !0); try { for (s.s(); !(r = s.n()).done;) (a = r.value).innerHTML = this.filesize( e.size); } catch (e) {s.e(e);} finally {s.f();} this.options.addRemoveLinks && (e._removeLink = x.createElement( '<a class="dz-remove" href="javascript:undefined;" data-dz-remove>'.concat( this.options.dictRemoveFile, '</a>')), e.previewElement.appendChild( e._removeLink)); var l, c = function (n) { return n.preventDefault(), n.stopPropagation(), e.status === x.UPLOADING ? x.confirm( t.options.dictCancelUploadConfirmation, (function () {return t.removeFile(e);})) : t.options.dictRemoveFileConfirmation ? x.confirm( t.options.dictRemoveFileConfirmation, (function () {return t.removeFile(e);})) : t.removeFile(e); }, u = o(e.previewElement.querySelectorAll( '[data-dz-remove]'), !0); try { for (u.s(); !(l = u.n()).done;) { l.value.addEventListener('click', c); } } catch (e) {u.e(e);} finally {u.f();} } }, removedfile: function (e) { return null != e.previewElement && null != e.previewElement.parentNode && e.previewElement.parentNode.removeChild( e.previewElement), this._updateMaxFilesReachedClass(); }, thumbnail: function (e, t) { if (e.previewElement) { e.previewElement.classList.remove('dz-file-preview'); var n, i = o(e.previewElement.querySelectorAll( '[data-dz-thumbnail]'), !0); try { for (i.s(); !(n = i.n()).done;) { var a = n.value; a.alt = e.name, a.src = t; } } catch (e) {i.e(e);} finally {i.f();} return setTimeout((function () { return e.previewElement.classList.add( 'dz-image-preview'); }), 1); } }, error: function (e, t) { if (e.previewElement) { e.previewElement.classList.add('dz-error'), 'string' != typeof t && t.error && (t = t.error); var n, i = o(e.previewElement.querySelectorAll( '[data-dz-errormessage]'), !0); try {for (i.s(); !(n = i.n()).done;) {n.value.textContent = t;}} catch (e) { i.e(e); } finally {i.f();} } }, errormultiple: function () {}, processing: function (e) { if (e.previewElement && (e.previewElement.classList.add( 'dz-processing'), e._removeLink)) return e._removeLink.innerHTML = this.options.dictCancelUpload; }, processingmultiple: function () {}, uploadprogress: function (e, t, n) { if (e.previewElement) { var i, a = o(e.previewElement.querySelectorAll( '[data-dz-uploadprogress]'), !0); try { for (a.s(); !(i = a.n()).done;) { var r = i.value; 'PROGRESS' === r.nodeName ? r.value = t : r.style.width = ''.concat(t, '%'); } } catch (e) {a.e(e);} finally {a.f();} } }, totaluploadprogress: function () {}, sending: function () {}, sendingmultiple: function () {}, success: function (e) { if (e.previewElement) return e.previewElement.classList.add( 'dz-success'); }, successmultiple: function () {}, canceled: function (e) { return this.emit('error', e, this.options.dictUploadCanceled); }, canceledmultiple: function () {}, complete: function (e) { if (e._removeLink && (e._removeLink.innerHTML = this.options.dictRemoveFile), e.previewElement) return e.previewElement.classList.add( 'dz-complete'); }, completemultiple: function () {}, maxfilesexceeded: function () {}, maxfilesreached: function () {}, queuecomplete: function () {}, addedfiles: function () {}, }; function c (e) { return (c = '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; })(e); } function u (e, t) { var n; if ('undefined' == typeof Symbol || null == e[Symbol.iterator]) { if (Array.isArray(e) || (n = function (e, t) { if (!e) return; if ('string' == typeof e) return d(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); 'Object' === n && e.constructor && (n = e.constructor.name); if ('Map' === n || 'Set' === n) return Array.from(e); if ('Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test( n)) return d(e, t); }(e)) || t && e && 'number' == typeof e.length) { n && (e = n); var i = 0, a = function () {}; return { s: a, n: function () { return i >= e.length ? { done: !0 } : { done: !1, value: e[i++] }; }, e: function (e) {throw e;}, f: a, }; } 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, o = !0, s = !1; return { s: function () {n = e[Symbol.iterator]();}, n: function () { var e = n.next(); return o = e.done, e; }, e: function (e) {s = !0, r = e;}, f: function () { try { o || null == n.return || n.return(); } finally {if (s) throw r;} }, }; } function d (e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; return i; } function h (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function f (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } function p (e, t, n) { return t && f(e.prototype, t), n && f(e, n), e; } function m (e, t) { return (m = Object.setPrototypeOf || function (e, t) {return e.__proto__ = t, e;})(e, t); } function g (e) { var t = 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 (e) {return !1;} }(); return function () { var n, i = b(e); if (t) { var a = b(this).constructor; n = Reflect.construct(i, arguments, a); } else n = i.apply(this, arguments); return v(this, n); }; } function v (e, t) { return !t || 'object' !== c(t) && 'function' != typeof t ? y(e) : t; } function y (e) { if (void 0 === e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return e; } function b (e) { return (b = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) { return e.__proto__ || Object.getPrototypeOf(e); })(e); } var x = function (e) { !function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function'); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0, }, }), t && m(e, t); }(n, e); var t = g(n); function n (e, i) { var a, r, o; if (h(this, n), (a = t.call( this)).element = e, a.version = n.version, a.clickableElements = [], a.listeners = [], a.files = [], 'string' == typeof a.element && (a.element = document.querySelector( a.element)), !a.element || null == a.element.nodeType) throw new Error( 'Invalid dropzone element.'); if (a.element.dropzone) throw new Error( 'Dropzone already attached.'); n.instances.push(y(a)), a.element.dropzone = y(a); var s = null != (o = n.optionsForElement(a.element)) ? o : {}; if (a.options = n.extend({}, l, s, null != i ? i : {}), a.options.previewTemplate = a.options.previewTemplate.replace( /\n*/g, ''), a.options.forceFallback || !n.isBrowserSupported()) return v(a, a.options.fallback.call(y(a))); if (null == a.options.url && (a.options.url = a.element.getAttribute( 'action')), !a.options.url) throw new Error( 'No URL provided.'); if (a.options.acceptedFiles && a.options.acceptedMimeTypes) throw new Error( 'You can\'t provide both \'acceptedFiles\' and \'acceptedMimeTypes\'. \'acceptedMimeTypes\' is deprecated.'); if (a.options.uploadMultiple && a.options.chunking) throw new Error( 'You cannot set both: uploadMultiple and chunking.'); return a.options.acceptedMimeTypes && (a.options.acceptedFiles = a.options.acceptedMimeTypes, delete a.options.acceptedMimeTypes), null != a.options.renameFilename && (a.options.renameFile = function (e) { return a.options.renameFilename.call(y(a), e.name, e); }), 'string' == typeof a.options.method && (a.options.method = a.options.method.toUpperCase()), (r = a.getExistingFallback()) && r.parentNode && r.parentNode.removeChild(r), !1 !== a.options.previewsContainer && (a.options.previewsContainer ? a.previewsContainer = n.getElement( a.options.previewsContainer, 'previewsContainer') : a.previewsContainer = a.element), a.options.clickable && (!0 === a.options.clickable ? a.clickableElements = [a.element] : a.clickableElements = n.getElements( a.options.clickable, 'clickable')), a.init(), a; } return p(n, [ { key: 'getAcceptedFiles', value: function () { return this.files.filter( (function (e) {return e.accepted;})). map((function (e) {return e;})); }, }, { key: 'getRejectedFiles', value: function () { return this.files.filter( (function (e) {return !e.accepted;})). map((function (e) {return e;})); }, }, { key: 'getFilesWithStatus', value: function (e) { return this.files.filter( (function (t) {return t.status === e;})). map((function (e) {return e;})); }, }, { key: 'getQueuedFiles', value: function () { return this.getFilesWithStatus(n.QUEUED); }, }, { key: 'getUploadingFiles', value: function () { return this.getFilesWithStatus(n.UPLOADING); }, }, { key: 'getAddedFiles', value: function () { return this.getFilesWithStatus(n.ADDED); }, }, { key: 'getActiveFiles', value: function () { return this.files.filter((function (e) { return e.status === n.UPLOADING || e.status === n.QUEUED; })).map((function (e) {return e;})); }, }, { key: 'init', value: function () { var e = this; if ('form' === this.element.tagName && this.element.setAttribute('enctype', 'multipart/form-data'), this.element.classList.contains( 'dropzone') && !this.element.querySelector('.dz-message') && this.element.appendChild(n.createElement( '<div class="dz-default dz-message"><button class="dz-button" type="button">'.concat( this.options.dictDefaultMessage, '</button></div>'))), this.clickableElements.length) { !function t () { e.hiddenFileInput && e.hiddenFileInput.parentNode.removeChild( e.hiddenFileInput), e.hiddenFileInput = document.createElement( 'input'), e.hiddenFileInput.setAttribute( 'type', 'file'), (null === e.options.maxFiles || e.options.maxFiles > 1) && e.hiddenFileInput.setAttribute('multiple', 'multiple'), e.hiddenFileInput.className = 'dz-hidden-input', null !== e.options.acceptedFiles && e.hiddenFileInput.setAttribute('accept', e.options.acceptedFiles), null !== e.options.capture && e.hiddenFileInput.setAttribute('capture', e.options.capture), e.hiddenFileInput.setAttribute( 'tabindex', '-1'), e.hiddenFileInput.style.visibility = 'hidden', e.hiddenFileInput.style.position = 'absolute', e.hiddenFileInput.style.top = '0', e.hiddenFileInput.style.left = '0', e.hiddenFileInput.style.height = '0', e.hiddenFileInput.style.width = '0', n.getElement( e.options.hiddenInputContainer, 'hiddenInputContainer'). appendChild( e.hiddenFileInput), e.hiddenFileInput.addEventListener( 'change', (function () { var n = e.hiddenFileInput.files; if (n.length) { var i, a = u(n, !0); try { for (a.s(); !(i = a.n()).done;) { var r = i.value; e.addFile(r); } } catch (e) { a.e(e); } finally {a.f();} } e.emit('addedfiles', n), t(); })); }(); } this.URL = null !== window.URL ? window.URL : window.webkitURL; var t, i = u(this.events, !0); try { for (i.s(); !(t = i.n()).done;) { var a = t.value; this.on(a, this.options[a]); } } catch (e) {i.e(e);} finally {i.f();} this.on('uploadprogress', (function () {return e.updateTotalUploadProgress();})), this.on( 'removedfile', (function () {return e.updateTotalUploadProgress();})), this.on( 'canceled', (function (t) { return e.emit('complete', t); })), this.on('complete', (function (t) { if (0 === e.getAddedFiles().length && 0 === e.getUploadingFiles().length && 0 === e.getQueuedFiles().length) return setTimeout( (function () { return e.emit('queuecomplete'); }), 0); })); var r = function (e) { if (function (e) { if (e.dataTransfer.types) for (var t = 0; t < e.dataTransfer.types.length; t++) if ('Files' === e.dataTransfer.types[t]) return !0; return !1; }(e)) return e.stopPropagation(), e.preventDefault ? e.preventDefault() : e.returnValue = !1; }; return this.listeners = [ { element: this.element, events: { dragstart: function (t) { return e.emit('dragstart', t); }, dragenter: function (t) { return r(t), e.emit('dragenter', t); }, dragover: function (t) { var n; try {n = t.dataTransfer.effectAllowed;} catch (e) {} return t.dataTransfer.dropEffect = 'move' === n || 'linkMove' === n ? 'move' : 'copy', r(t), e.emit( 'dragover', t); }, dragleave: function (t) { return e.emit('dragleave', t); }, drop: function (t) { return r(t), e.drop(t); }, dragend: function (t) { return e.emit('dragend', t); }, }, }], this.clickableElements.forEach( (function (t) { return e.listeners.push({ element: t, events: { click: function (i) { return (t !== e.element || i.target === e.element || n.elementInside(i.target, e.element.querySelector( '.dz-message'))) && e.hiddenFileInput.click(), !0; }, }, }); })), this.enable(), this.options.init.call( this); }, }, { key: 'destroy', value: function () { return this.disable(), this.removeAllFiles( !0), (null != this.hiddenFileInput ? this.hiddenFileInput.parentNode : void 0) && (this.hiddenFileInput.parentNode.removeChild( this.hiddenFileInput), this.hiddenFileInput = null), delete this.element.dropzone, n.instances.splice( n.instances.indexOf(this), 1); }, }, { key: 'updateTotalUploadProgress', value: function () { var e, t = 0, n = 0; if (this.getActiveFiles().length) { var i, a = u(this.getActiveFiles(), !0); try { for (a.s(); !(i = a.n()).done;) { var r = i.value; t += r.upload.bytesSent, n += r.upload.total; } } catch (e) {a.e(e);} finally {a.f();} e = 100 * t / n; } else e = 100; return this.emit('totaluploadprogress', e, n, t); }, }, { key: '_getParamName', value: function (e) { return 'function' == typeof this.options.paramName ? this.options.paramName(e) : ''.concat(this.options.paramName). concat(this.options.uploadMultiple ? '['.concat(e, ']') : ''); }, }, { key: '_renameFile', value: function (e) { return 'function' != typeof this.options.renameFile ? e.name : this.options.renameFile(e); }, }, { key: 'getFallbackForm', value: function () { var e, t; if (e = this.getExistingFallback()) return e; var i = '<div class="dz-fallback">'; this.options.dictFallbackText && (i += '<p>'.concat(this.options.dictFallbackText, '</p>')), i += '<input type="file" name="'.concat( this._getParamName(0), '" '). concat(this.options.uploadMultiple ? 'multiple="multiple"' : void 0, ' /><input type="submit" value="Upload!"></div>'); var a = n.createElement(i); return 'FORM' !== this.element.tagName ? (t = n.createElement( '<form action="'.concat(this.options.url, '" enctype="multipart/form-data" method="'). concat(this.options.method, '"></form>'))).appendChild(a) : (this.element.setAttribute('enctype', 'multipart/form-data'), this.element.setAttribute( 'method', this.options.method)), null != t ? t : a; }, }, { key: 'getExistingFallback', value: function () { for (var e = function (e) { var t, n = u(e, !0); try { for (n.s(); !(t = n.n()).done;) { var i = t.value; if (/(^| )fallback($| )/.test( i.className)) return i; } } catch (e) {n.e(e);} finally {n.f();} }, t = 0, n = ['div', 'form']; t < n.length; t++) { var i, a = n[t]; if (i = e(this.element.getElementsByTagName( a))) return i; } }, }, { key: 'setupEventListeners', value: function () { return this.listeners.map((function (e) { return function () { var t = []; for (var n in e.events) { var i = e.events[n]; t.push(e.element.addEventListener(n, i, !1)); } return t; }(); })); }, }, { key: 'removeEventListeners', value: function () { return this.listeners.map((function (e) { return function () { var t = []; for (var n in e.events) { var i = e.events[n]; t.push( e.element.removeEventListener(n, i, !1)); } return t; }(); })); }, }, { key: 'disable', value: function () { var e = this; return this.clickableElements.forEach( (function (e) { return e.classList.remove('dz-clickable'); })), this.removeEventListeners(), this.disabled = !0, this.files.map( (function (t) {return e.cancelUpload(t);})); }, }, { key: 'enable', value: function () { return delete this.disabled, this.clickableElements.forEach( (function (e) { return e.classList.add('dz-clickable'); })), this.setupEventListeners(); }, }, { key: 'filesize', value: function (e) { var t = 0, n = 'b'; if (e > 0) { for (var i = [ 'tb', 'gb', 'mb', 'kb', 'b'], a = 0; a < i.length; a++) { var r = i[a]; if (e >= Math.pow(this.options.filesizeBase, 4 - a) / 10) { t = e / Math.pow(this.options.filesizeBase, 4 - a), n = r; break; } } t = Math.round(10 * t) / 10; } return '<strong>'.concat(t, '</strong> '). concat(this.options.dictFileSizeUnits[n]); }, }, { key: '_updateMaxFilesReachedClass', value: function () { return null != this.options.maxFiles && this.getAcceptedFiles().length >= this.options.maxFiles ? (this.getAcceptedFiles().length === this.options.maxFiles && this.emit('maxfilesreached', this.files), this.element.classList.add( 'dz-max-files-reached')) : this.element.classList.remove( 'dz-max-files-reached'); }, }, { key: 'drop', value: function (e) { if (e.dataTransfer) { this.emit('drop', e); for (var t = [], n = 0; n < e.dataTransfer.files.length; n++) t[n] = e.dataTransfer.files[n]; if (t.length) { var i = e.dataTransfer.items; i && i.length && null != i[0].webkitGetAsEntry ? this._addFilesFromItems(i) : this.handleFiles(t); } this.emit('addedfiles', t); } }, }, { key: 'paste', value: function (e) { if (null != (t = null != e ? e.clipboardData : void 0, n = function (e) {return e.items;}, null != t ? n(t) : void 0)) { var t, n; this.emit('paste', e); var i = e.clipboardData.items; return i.length ? this._addFilesFromItems(i) : void 0; } }, }, { key: 'handleFiles', value: function (e) { var t, n = u(e, !0); try { for (n.s(); !(t = n.n()).done;) { var i = t.value; this.addFile(i); } } catch (e) {n.e(e);} finally {n.f();} }, }, { key: '_addFilesFromItems', value: function (e) { var t = this; return function () { var n, i = [], a = u(e, !0); try { for (a.s(); !(n = a.n()).done;) { var r, o = n.value; null != o.webkitGetAsEntry && (r = o.webkitGetAsEntry()) ? r.isFile ? i.push(t.addFile(o.getAsFile())) : r.isDirectory ? i.push( t._addFilesFromDirectory(r, r.name)) : i.push(void 0) : null != o.getAsFile && (null == o.kind || 'file' === o.kind) ? i.push(t.addFile(o.getAsFile())) : i.push(void 0); } } catch (e) {a.e(e);} finally {a.f();} return i; }(); }, }, { key: '_addFilesFromDirectory', value: function (e, t) { var n = this, i = e.createReader(), a = function (e) { return t = console, n = 'log', i = function (t) { return t.log(e); }, null != t && 'function' == typeof t[n] ? i(t, n) : void 0; var t, n, i; }; return function e () { return i.readEntries((function (i) { if (i.length > 0) { var a, r = u(i, !0); try { for (r.s(); !(a = r.n()).done;) { var o = a.value; o.isFile ? o.file( (function (e) { if (!n.options.ignoreHiddenFiles || '.' !== e.name.substring(0, 1)) return e.fullPath = ''.concat( t, '/'). concat( e.name), n.addFile( e); })) : o.isDirectory && n._addFilesFromDirectory(o, ''.concat(t, '/'). concat(o.name)); } } catch (e) {r.e(e);} finally {r.f();} e(); } return null; }), a); }(); }, }, { key: 'accept', value: function (e, t) { this.options.maxFilesize && e.size > 1024 * this.options.maxFilesize * 1024 ? t(this.options.dictFileTooBig.replace( '{{filesize}}', Math.round(e.size / 1024 / 10.24) / 100). replace('{{maxFilesize}}', this.options.maxFilesize)) : n.isValidFile(e, this.options.acceptedFiles) ? null != this.options.maxFiles && this.getAcceptedFiles().length >= this.options.maxFiles ? (t( this.options.dictMaxFilesExceeded.replace( '{{maxFiles}}', this.options.maxFiles)), this.emit( 'maxfilesexceeded', e)) : this.options.accept.call(this, e, t) : t(this.options.dictInvalidFileType); }, }, { key: 'addFile', value: function (e) { var t = this; e.upload = { uuid: n.uuidv4(), progress: 0, total: e.size, bytesSent: 0, filename: this._renameFile(e), }, this.files.push( e), e.status = n.ADDED, this.emit('addedfile', e), this._enqueueThumbnail(e), this.accept(e, (function (n) { n ? (e.accepted = !1, t._errorProcessing( [e], n)) : (e.accepted = !0, t.options.autoQueue && t.enqueueFile( e)), t._updateMaxFilesReachedClass(); })); }, }, { key: 'enqueueFiles', value: function (e) { var t, n = u(e, !0); try { for (n.s(); !(t = n.n()).done;) { var i = t.value; this.enqueueFile(i); } } catch (e) {n.e(e);} finally {n.f();} return null; }, }, { key: 'enqueueFile', value: function (e) { var t = this; if (e.status !== n.ADDED || !0 !== e.accepted) throw new Error( 'This file can\'t be queued because it has already been processed or was rejected.'); if (e.status = n.QUEUED, this.options.autoProcessQueue) return setTimeout( (function () {return t.processQueue();}), 0); }, }, { key: '_enqueueThumbnail', value: function (e) { var t = this; if (this.options.createImageThumbnails && e.type.match(/image.*/) && e.size <= 1024 * this.options.maxThumbnailFilesize * 1024) return this._thumbnailQueue.push( e), setTimeout( (function () {return t._processThumbnailQueue();}), 0); }, }, { key: '_processThumbnailQueue', value: function () { var e = this; if (!this._processingThumbnail && 0 !== this._thumbnailQueue.length) { this._processingThumbnail = !0; var t = this._thumbnailQueue.shift(); return this.createThumbnail(t, this.options.thumbnailWidth, this.options.thumbnailHeight, this.options.thumbnailMethod, !0, (function (n) { return e.emit('thumbnail', t, n), e._processingThumbnail = !1, e._processThumbnailQueue(); })); } }, }, { key: 'removeFile', value: function (e) { if (e.status === n.UPLOADING && this.cancelUpload(e), this.files = _(this.files, e), this.emit('removedfile', e), 0 === this.files.length) return this.emit('reset'); }, }, { key: 'removeAllFiles', value: function (e) { null == e && (e = !1); var t, i = u(this.files.slice(), !0); try { for (i.s(); !(t = i.n()).done;) { var a = t.value; (a.status !== n.UPLOADING || e) && this.removeFile(a); } } catch (e) {i.e(e);} finally {i.f();} return null; }, }, { key: 'resizeImage', value: function (e, t, i, a, r) { var o = this; return this.createThumbnail(e, t, i, a, !0, (function (t, i) { if (null == i) return r(e); var a = o.options.resizeMimeType; null == a && (a = e.type); var s = i.toDataURL(a, o.options.resizeQuality); return 'image/jpeg' !== a && 'image/jpg' !== a || (s = M.restore(e.dataURL, s)), r( n.dataURItoBlob(s)); })); }, }, { key: 'createThumbnail', value: function (e, t, n, i, a, r) { var o = this, s = new FileReader; s.onload = function () { e.dataURL = s.result, 'image/svg+xml' !== e.type ? o.createThumbnailFromUrl(e, t, n, i, a, r) : null != r && r(s.result); }, s.readAsDataURL(e); }, }, { key: 'displayExistingFile', value: function (e, t, n, i) { var a = this, r = !(arguments.length > 4 && void 0 !== arguments[4]) || arguments[4]; if (this.emit('addedfile', e), this.emit('complete', e), r) { var o = function (t) { a.emit('thumbnail', e, t), n && n(); }; e.dataURL = t, this.createThumbnailFromUrl(e, this.options.thumbnailWidth, this.options.thumbnailHeight, this.options.resizeMethod, this.options.fixOrientation, o, i); } else this.emit('thumbnail', e, t), n && n(); }, }, { key: 'createThumbnailFromUrl', value: function (e, t, n, i, a, r, o) { var s = this, l = document.createElement('img'); return o && (l.crossOrigin = o), a = 'from-image' != getComputedStyle( document.body).imageOrientation && a, l.onload = function () { var o = function (e) {return e(1);}; return 'undefined' != typeof EXIF && null !== EXIF && a && (o = function (e) { return EXIF.getData(l, (function () { return e( EXIF.getTag(this, 'Orientation')); })); }), o((function (a) { e.width = l.width, e.height = l.height; var o = s.options.resize.call(s, e, t, n, i), c = document.createElement( 'canvas'), u = c.getContext('2d'); switch (c.width = o.trgWidth, c.height = o.trgHeight, a > 4 && (c.width = o.trgHeight, c.height = o.trgWidth), a) { case 2: u.translate(c.width, 0), u.scale(-1, 1); break; case 3: u.translate(c.width, c.height), u.rotate(Math.PI); break; case 4: u.translate(0, c.height), u.scale(1, -1); break; case 5: u.rotate(.5 * Math.PI), u.scale(1, -1); break; case 6: u.rotate(.5 * Math.PI), u.translate( 0, -c.width); break; case 7: u.rotate(.5 * Math.PI), u.translate( c.height, -c.width), u.scale(-1, 1); break; case 8: u.rotate( -.5 * Math.PI), u.translate( -c.height, 0); } k(u, l, null != o.srcX ? o.srcX : 0, null != o.srcY ? o.srcY : 0, o.srcWidth, o.srcHeight, null != o.trgX ? o.trgX : 0, null != o.trgY ? o.trgY : 0, o.trgWidth, o.trgHeight); var d = c.toDataURL('image/png'); if (null != r) return r(d, c); })); }, null != r && (l.onerror = r), l.src = e.dataURL; }, }, { key: 'processQueue', value: function () { var e = this.options.parallelUploads, t = this.getUploadingFiles().length, n = t; if (!(t >= e)) { var i = this.getQueuedFiles(); if (i.length > 0) { if (this.options.uploadMultiple) return this.processFiles( i.slice(0, e - t)); for (; n < e;) { if (!i.length) return; this.processFile(i.shift()), n++; } } } }, }, { key: 'processFile', value: function (e) {return this.processFiles([e]);}, }, { key: 'processFiles', value: function (e) { var t, i = u(e, !0); try { for (i.s(); !(t = i.n()).done;) { var a = t.value; a.processing = !0, a.status = n.UPLOADING, this.emit( 'processing', a); } } catch (e) {i.e(e);} finally {i.f();} return this.options.uploadMultiple && this.emit('processingmultiple', e), this.uploadFiles(e); }, }, { key: '_getFilesWithXhr', value: function (e) { return this.files.filter( (function (t) {return t.xhr === e;})). map((function (e) {return e;})); }, }, { key: 'cancelUpload', value: function (e) { if (e.status === n.UPLOADING) { var t, i = this._getFilesWithXhr(e.xhr), a = u(i, !0); try {for (a.s(); !(t = a.n()).done;) {t.value.status = n.CANCELED;}} catch (e) { a.e(e); } finally {a.f();} void 0 !== e.xhr && e.xhr.abort(); var r, o = u(i, !0); try { for (o.s(); !(r = o.n()).done;) { var s = r.value; this.emit('canceled', s); } } catch (e) {o.e(e);} finally {o.f();} this.options.uploadMultiple && this.emit('canceledmultiple', i); } else e.status !== n.ADDED && e.status !== n.QUEUED || (e.status = n.CANCELED, this.emit('canceled', e), this.options.uploadMultiple && this.emit('canceledmultiple', [e])); if (this.options.autoProcessQueue) return this.processQueue(); }, }, { key: 'resolveOption', value: function (e) { if ('function' == typeof e) { for (var t = arguments.length, n = new Array( t > 1 ? t - 1 : 0), i = 1; i < t; i++) n[i - 1] = arguments[i]; return e.apply(this, n); } return e; }, }, { key: 'uploadFile', value: function (e) {return this.uploadFiles([e]);}, }, { key: 'uploadFiles', value: function (e) { var t = this; this._transformFiles(e, (function (i) { if (t.options.chunking) { var a = i[0]; e[0].upload.chunked = t.options.chunking && (t.options.forceChunking || a.size > t.options.chunkSize), e[0].upload.totalChunkCount = Math.ceil( a.size / t.options.chunkSize); } if (e[0].upload.chunked) { var r = e[0], o = i[0]; r.upload.chunks = []; var s = function () { for (var i = 0; void 0 !== r.upload.chunks[i];) i++; if (!(i >= r.upload.totalChunkCount)) { 0; var a = i * t.options.chunkSize, s = Math.min( a + t.options.chunkSize, o.size), l = { name: t._getParamName(0), data: o.webkitSlice ? o.webkitSlice(a, s) : o.slice(a, s), filename: r.upload.filename, chunkIndex: i, }; r.upload.chunks[i] = { file: r, index: i, dataBlock: l, status: n.UPLOADING, progress: 0, retries: 0, }, t._uploadData(e, [l]); } }; if (r.upload.finishedChunkUpload = function ( i, a) { var o = !0; i.status = n.SUCCESS, i.dataBlock = null, i.xhr = null; for (var l = 0; l < r.upload.totalChunkCount; l++) { if (void 0 === r.upload.chunks[l]) return s(); r.upload.chunks[l].status !== n.SUCCESS && (o = !1); } o && t.options.chunksUploaded(r, (function () { t._finished(e, a, null); })); }, t.options.parallelChunkUploads) for (var l = 0; l < r.upload.totalChunkCount; l++) s(); else s(); } else { for (var c = [], u = 0; u < e.length; u++) c[u] = { name: t._getParamName(u), data: i[u], filename: e[u].upload.filename, }; t._uploadData(e, c); } })); }, }, { key: '_getChunk', value: function (e, t) { for (var n = 0; n < e.upload.totalChunkCount; n++) if (void 0 !== e.upload.chunks[n] && e.upload.chunks[n].xhr === t) return e.upload.chunks[n]; }, }, { key: '_uploadData', value: function (e, t) { var i, a = this, r = new XMLHttpRequest, o = u(e, !0); try {for (o.s(); !(i = o.n()).done;) {i.value.xhr = r;}} catch (e) { o.e(e); } finally {o.f();} e[0].upload.chunked && (e[0].upload.chunks[t[0].chunkIndex].xhr = r); var s = this.resolveOption(this.options.method, e), l = this.resolveOption(this.options.url, e); r.open(s, l, !0), this.resolveOption( this.options.timeout, e) && (r.timeout = this.resolveOption( this.options.timeout, e)), r.withCredentials = !!this.options.withCredentials, r.onload = function (t) { a._finishedUploading(e, r, t); }, r.ontimeout = function () { a._handleUploadError(e, r, 'Request timedout after '.concat( a.options.timeout / 1e3, ' seconds')); }, r.onerror = function () { a._handleUploadError(e, r); }, (null != r.upload ? r.upload : r).onprogress = function (t) { return a._updateFilesUploadProgress(e, r, t); }; var c = { Accept: 'application/json', 'Cache-Control': 'no-cache', 'X-Requested-With': 'XMLHttpRequest', }; for (var d in this.options.headers && n.extend(c, this.options.headers), c) { var h = c[d]; h && r.setRequestHeader(d, h); } var f = new FormData; if (this.options.params) { var p = this.options.params; for (var m in 'function' == typeof p && (p = p.call(this, e, r, e[0].upload.chunked ? this._getChunk(e[0], r) : null)), p) { var g = p[m]; if (Array.isArray(g)) for (var v = 0; v < g.length; v++) f.append(m, g[v]); else f.append(m, g); } } var y, b = u(e, !0); try { for (b.s(); !(y = b.n()).done;) { var x = y.value; this.emit('sending', x, r, f); } } catch (e) {b.e(e);} finally {b.f();} this.options.uploadMultiple && this.emit('sendingmultiple', e, r, f), this._addFormElementData(f); for (var _ = 0; _ < t.length; _++) { var w = t[_]; f.append(w.name, w.data, w.filename); } this.submitRequest(r, f, e); }, }, { key: '_transformFiles', value: function ( e, t) { for (var n = this, i = [], a = 0, r = function (r) { n.options.transformFile.call(n, e[r], (function (n) { i[r] = n, ++a === e.length && t(i); })); }, o = 0; o < e.length; o++) r(o); }, }, { key: '_addFormElementData', value: function (e) { if ('FORM' === this.element.tagName) { var t, n = u(this.element.querySelectorAll( 'input, textarea, select, button'), !0); try { for (n.s(); !(t = n.n()).done;) { var i = t.value, a = i.getAttribute('name'), r = i.getAttribute('type'); if (r && (r = r.toLowerCase()), null != a) if ('SELECT' === i.tagName && i.hasAttribute('multiple')) { var o, s = u(i.options, !0); try { for (s.s(); !(o = s.n()).done;) { var l = o.value; l.selected && e.append(a, l.value); } } catch (e) { s.e(e); } finally {s.f();} } else (!r || 'checkbox' !== r && 'radio' !== r || i.checked) && e.append(a, i.value); } } catch (e) {n.e(e);} finally {n.f();} } }, }, { key: '_updateFilesUploadProgress', value: function (e, t, n) { if (e[0].upload.chunked) { var i = e[0], a = this._getChunk(i, t); n ? (a.progress = 100 * n.loaded / n.total, a.total = n.total, a.bytesSent = n.loaded) : (a.progress = 100, a.bytesSent = a.total), i.upload.progress = 0, i.upload.total = 0, i.upload.bytesSent = 0; for (var r = 0; r < i.upload.totalChunkCount; r++) i.upload.chunks[r] && void 0 !== i.upload.chunks[r].progress && (i.upload.progress += i.upload.chunks[r].progress, i.upload.total += i.upload.chunks[r].total, i.upload.bytesSent += i.upload.chunks[r].bytesSent); i.upload.progress = i.upload.progress / i.upload.totalChunkCount, this.emit( 'uploadprogress', i, i.upload.progress, i.upload.bytesSent); } else { var o, s = u(e, !0); try { for (s.s(); !(o = s.n()).done;) { var l = o.value; l.upload.total && l.upload.bytesSent && l.upload.bytesSent == l.upload.total || (n ? (l.upload.progress = 100 * n.loaded / n.total, l.upload.total = n.total, l.upload.bytesSent = n.loaded) : (l.upload.progress = 100, l.upload.bytesSent = l.upload.total), this.emit( 'uploadprogress', l, l.upload.progress, l.upload.bytesSent)); } } catch (e) {s.e(e);} finally {s.f();} } }, }, { key: '_finishedUploading', value: function (e, t, i) { var a; if (e[0].status !== n.CANCELED && 4 === t.readyState) { if ('arraybuffer' !== t.responseType && 'blob' !== t.responseType && (a = t.responseText, t.getResponseHeader( 'content-type') && ~t.getResponseHeader('content-type'). indexOf('application/json'))) try { a = JSON.parse(a); } catch (e) {i = e, a = 'Invalid JSON response from server.';} this._updateFilesUploadProgress(e, t), 200 <= t.status && t.status < 300 ? e[0].upload.chunked ? e[0].upload.finishedChunkUpload( this._getChunk(e[0], t), a) : this._finished(e, a, i) : this._handleUploadError(e, t, a); } }, }, { key: '_handleUploadError', value: function (e, t, i) { if (e[0].status !== n.CANCELED) { if (e[0].upload.chunked && this.options.retryChunks) { var a = this._getChunk(e[0], t); if (a.retries++ < this.options.retryChunksLimit) return void this._uploadData( e, [a.dataBlock]); console.warn( 'Retried this chunk too often. Giving up.'); } this._errorProcessing(e, i || this.options.dictResponseError.replace( '{{statusCode}}', t.status), t); } }, }, { key: 'submitRequest', value: function (e, t, n) { 1 == e.readyState ? e.send(t) : console.warn( 'Cannot send this request because the XMLHttpRequest.readyState is not OPENED.'); }, }, { key: '_finished', value: function (e, t, i) { var a, r = u(e, !0); try { for (r.s(); !(a = r.n()).done;) { var o = a.value; o.status = n.SUCCESS, this.emit('success', o, t, i), this.emit('complete', o); } } catch (e) {r.e(e);} finally {r.f();} if (this.options.uploadMultiple && (this.emit('successmultiple', e, t, i), this.emit( 'completemultiple', e)), this.options.autoProcessQueue) return this.processQueue(); }, }, { key: '_errorProcessing', value: function (e, t, i) { var a, r = u(e, !0); try { for (r.s(); !(a = r.n()).done;) { var o = a.value; o.status = n.ERROR, this.emit('error', o, t, i), this.emit('complete', o); } } catch (e) {r.e(e);} finally {r.f();} if (this.options.uploadMultiple && (this.emit('errormultiple', e, t, i), this.emit( 'completemultiple', e)), this.options.autoProcessQueue) return this.processQueue(); }, }], [ { key: 'initClass', value: function () { this.prototype.Emitter = r, 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'], this.prototype._thumbnailQueue = [], this.prototype._processingThumbnail = !1; }, }, { key: 'extend', value: function (e) { for (var t = arguments.length, n = new Array( t > 1 ? t - 1 : 0), i = 1; i < t; i++) n[i - 1] = arguments[i]; for (var a = 0, r = n; a < r.length; a++) { var o = r[a]; for (var s in o) { var l = o[s]; e[s] = l; } } return e; }, }, { key: 'uuidv4', value: function () { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace( /[xy]/g, (function (e) { var t = 16 * Math.random() | 0; return ('x' === e ? t : 3 & t | 8).toString( 16); })); }, }]), n; }(r); x.initClass(), x.version = '5.9.2', x.options = {}, x.optionsForElement = function (e) { return e.getAttribute('id') ? x.options[w(e.getAttribute('id'))] : void 0; }, x.instances = [], x.forElement = function (e) { if ('string' == typeof e && (e = document.querySelector(e)), null == (null != e ? e.dropzone : void 0)) 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.'); return e.dropzone; }, x.autoDiscover = !0, x.discover = function () { var e; if (document.querySelectorAll) e = document.querySelectorAll( '.dropzone'); else { e = []; var t = function (t) { return function () { var n, i = [], a = u(t, !0); try { for (a.s(); !(n = a.n()).done;) { var r = n.value; /(^| )dropzone($| )/.test(r.className) ? i.push(e.push(r)) : i.push(void 0); } } catch (e) {a.e(e);} finally {a.f();} return i; }(); }; t(document.getElementsByTagName('div')), t( document.getElementsByTagName('form')); } return function () { var t, n = [], i = u(e, !0); try { for (i.s(); !(t = i.n()).done;) { var a = t.value; !1 !== x.optionsForElement(a) ? n.push(new x(a)) : n.push(void 0); } } catch (e) {i.e(e);} finally {i.f();} return n; }(); }, x.blockedBrowsers = [/opera.*(Macintosh|Windows Phone).*version\/12/i], x.isBrowserSupported = function () { var e = !0; if (window.File && window.FileReader && window.FileList && window.Blob && window.FormData && document.querySelector) if ('classList' in document.createElement('a')) { void 0 !== x.blacklistedBrowsers && (x.blockedBrowsers = x.blacklistedBrowsers); var t, n = u(x.blockedBrowsers, !0); try { for (n.s(); !(t = n.n()).done;) { t.value.test(navigator.userAgent) && (e = !1); } } catch (e) {n.e(e);} finally {n.f();} } else e = !1; else e = !1; return e; }, x.dataURItoBlob = function (e) { for (var t = atob(e.split(',')[1]), n = e.split(',')[0].split( ':')[1].split(';')[0], i = new ArrayBuffer( t.length), a = new Uint8Array( i), r = 0, o = t.length, s = 0 <= o; s ? r <= o : r >= o; s ? r++ : r--) a[r] = t.charCodeAt(r); return new Blob([i], { type: n }); }; var _ = function (e, t) { return e.filter((function (e) {return e !== t;})). map((function (e) {return e;})); }, w = function (e) { return e.replace(/[\-_](\w)/g, (function (e) {return e.charAt(1).toUpperCase();})); }; x.createElement = function (e) { var t = document.createElement('div'); return t.innerHTML = e, t.childNodes[0]; }, x.elementInside = function (e, t) { if (e === t) return !0; for (; e = e.parentNode;) if (e === t) return !0; return !1; }, x.getElement = function (e, t) { var n; if ('string' == typeof e ? n = document.querySelector(e) : null != e.nodeType && (n = e), null == n) throw new Error( 'Invalid `'.concat(t, '` option provided. Please provide a CSS selector or a plain HTML element.')); return n; }, x.getElements = function (e, t) { var n, i; if (e instanceof Array) { i = []; try { var a, r = u(e, !0); try { for (r.s(); !(a = r.n()).done;) n = a.value, i.push( this.getElement(n, t)); } catch (e) {r.e(e);} finally {r.f();} } catch (e) {i = null;} } else if ('string' == typeof e) { i = []; var o, s = u(document.querySelectorAll(e), !0); try { for (s.s(); !(o = s.n()).done;) n = o.value, i.push(n); } catch (e) {s.e(e);} finally {s.f();} } else null != e.nodeType && (i = [e]); if (null == i || !i.length) throw new Error( 'Invalid `'.concat(t, '` option provided. Please provide a CSS selector, a plain HTML element or a list of those.')); return i; }, x.confirm = function (e, t, n) { return window.confirm(e) ? t() : null != n ? n() : void 0; }, x.isValidFile = function (e, t) { if (!t) return !0; t = t.split(','); var n, i = e.type, a = i.replace(/\/.*$/, ''), r = u(t, !0); try { for (r.s(); !(n = r.n()).done;) { var o = n.value; if ('.' === (o = o.trim()).charAt(0)) { if (-1 !== e.name.toLowerCase(). indexOf(o.toLowerCase(), e.name.length - o.length)) return !0; } else if (/\/\*$/.test(o)) { if (a === o.replace(/\/.*$/, '')) return !0; } else if (i === o) return !0; } } catch (e) {r.e(e);} finally {r.f();} return !1; }, 'undefined' != typeof jQuery && null !== jQuery && (jQuery.fn.dropzone = function (e) { return this.each((function () {return new x(this, e);})); }), x.ADDED = 'added', x.QUEUED = 'queued', x.ACCEPTED = x.QUEUED, x.UPLOADING = 'uploading', x.PROCESSING = x.UPLOADING, x.CANCELED = 'canceled', x.ERROR = 'error', x.SUCCESS = 'success'; var k = function ( e, t, n, i, a, r, o, s, l, c) { var u = function (e) { e.naturalWidth; var t = e.naturalHeight, n = document.createElement('canvas'); n.width = 1, n.height = t; var i = n.getContext('2d'); i.drawImage(e, 0, 0); for (var a = i.getImageData(1, 0, 1, t).data, r = 0, o = t, s = t; s > r;) 0 === a[4 * (s - 1) + 3] ? o = s : r = s, s = o + r >> 1; var l = s / t; return 0 === l ? 1 : l; }(t); return e.drawImage(t, n, i, a, r, o, s, l, c / u); }, M = function () { function e () {h(this, e);} return p(e, null, [ { key: 'initClass', value: function () {this.KEY_STR = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';}, }, { key: 'encode64', value: function (e) { for (var t = '', n = void 0, i = void 0, a = '', r = void 0, o = void 0, s = void 0, l = '', c = 0; r = (n = e[c++]) >> 2, o = (3 & n) << 4 | (i = e[c++]) >> 4, s = (15 & i) << 2 | (a = e[c++]) >> 6, l = 63 & a, isNaN(i) ? s = l = 64 : isNaN(a) && (l = 64), t = t + this.KEY_STR.charAt(r) + this.KEY_STR.charAt(o) + this.KEY_STR.charAt(s) + this.KEY_STR.charAt( l), n = i = a = "", r = o = s = l = "", c < e.length;) ; return t; }, }, { key: 'restore', value: function (e, t) { if (!e.match('data:image/jpeg;base64,')) return t; var n = this.decode64( e.replace('data:image/jpeg;base64,', '')), i = this.slice2Segments(n), a = this.exifManipulation(t, i); return 'data:image/jpeg;base64,'.concat( this.encode64(a)); }, }, { key: 'exifManipulation', value: function (e, t) { var n = this.getExifArray(t), i = this.insertExif(e, n); return new Uint8Array(i); }, }, { key: 'getExifArray', value: function (e) { for (var t = void 0, n = 0; n < e.length;) { if (255 === (t = e[n])[0] & 225 === t[1]) return t; n++; } return []; }, }, { key: 'insertExif', value: function (e, t) { var n = e.replace('data:image/jpeg;base64,', ''), i = this.decode64(n), a = i.indexOf(255, 3), r = i.slice(0, a), o = i.slice(a), s = r; return s = (s = s.concat(t)).concat(o); }, }, { key: 'slice2Segments', value: function (e) { for (var t = 0, n = []; ;) { if (255 === e[t] & 218 === e[t + 1]) break; if (255 === e[t] & 216 === e[t + 1]) t += 2; else { var i = t + (256 * e[t + 2] + e[t + 3]) + 2, a = e.slice(t, i); n.push(a), t = i; } if (t > e.length) break; } return n; }, }, { key: 'decode64', value: function (e) { var t = void 0, n = void 0, i = '', a = void 0, r = void 0, o = '', s = 0, l = []; for (/[^A-Za-z0-9\+\/\=]/g.exec(e) && 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.'), e = e.replace( /[^A-Za-z0-9\+\/\=]/g, ''); t = this.KEY_STR.indexOf(e.charAt(s++)) << 2 | (a = this.KEY_STR.indexOf(e.charAt(s++))) >> 4, n = (15 & a) << 4 | (r = this.KEY_STR.indexOf(e.charAt(s++))) >> 2, i = (3 & r) << 6 | (o = this.KEY_STR.indexOf( e.charAt(s++))), l.push(t), 64 !== r && l.push(n), 64 !== o && l.push(i), t = n = i = "", a = r = o = "", s < e.length;) ; return l; }, }]), e; }(); M.initClass(); x._autoDiscoverFunction = function () {if (x.autoDiscover) return x.discover();}, function ( e, t) { var n = !1, i = !0, a = e.document, r = a.documentElement, o = a.addEventListener ? 'addEventListener' : 'attachEvent', s = a.addEventListener ? 'removeEventListener' : 'detachEvent', l = a.addEventListener ? '' : 'on', c = function i (r) { if ('readystatechange' !== r.type || 'complete' === a.readyState) return ('load' === r.type ? e : a)[s]( l + r.type, i, !1), !n && (n = !0) ? t.call(e, r.type || r) : void 0; }; if ('complete' !== a.readyState) { if (a.createEventObject && r.doScroll) { try {i = !e.frameElement;} catch (e) {} i && function e () { try { r.doScroll('left'); } catch (t) {return void setTimeout(e, 50);} return c('poll'); }(); } a[o](l + 'DOMContentLoaded', c, !1), a[o]( l + 'readystatechange', c, !1), e[o](l + 'load', c, !1); } }(window, x._autoDiscoverFunction), window.Dropzone = x; var L = x; }(), i; }(); })), Dropzone.autoDiscover = !1, Dropzone.prototype.previewTemplate = ' <div class="dz-preview dz-file-preview">\n <div class="dz-image"><img data-dz-thumbnail /></div>\n \n <div class="dz-details">\n <div class="dz-size"><span data-dz-size></span></div>\n <div class="dz-filename"><span data-dz-name></span></div>\n </div>\n\n <div class="dz-progress"><span class="dz-upload" data-dz-uploadprogress></span></div>\n\n <div class="dz-error-message"><span data-dz-errormessage></span></div>\n \n <div class="dz-success-mark">\n <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">\n <title>Check</title>\n <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n <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>\n </g>\n </svg>\n </div>\n\n <div class="dz-error-mark">\n <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">\n <title>Error</title>\n <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">\n <g stroke="#747474" stroke-opacity="0.198794158" fill="#FFFFFF" fill-opacity="0.816519475">\n <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>\n </g>\n </g>\n </svg>\n </div>\n </div>', /*! * Quill Editor v1.3.7 * https://quilljs.com/ * Copyright (c) 2014, Jason Chen * Copyright (c) 2013, salesforce.com */ function (e, t) { 'object' == typeof exports && 'object' == typeof module ? module.exports = t() : 'function' == typeof define && define.amd ? define([], t) : 'object' == typeof exports ? exports.Quill = t() : e.Quill = t(); }('undefined' != typeof self ? self : this, (function () { return function (e) { var t = {}; function n (i) { if (t[i]) return t[i].exports; var a = t[i] = { i: i, l: !1, exports: {} }; return e[i].call(a.exports, a, a.exports, n), a.l = !0, a.exports; } return n.m = e, n.c = t, n.d = function (e, t, i) { n.o(e, t) || Object.defineProperty(e, t, { configurable: !1, enumerable: !0, get: i }); }, n.n = function (e) { var t = e && e.__esModule ? function () {return e.default;} : function () {return e;}; return n.d(t, 'a', t), t; }, n.o = function ( e, t) { return Object.prototype.hasOwnProperty.call(e, t); }, n.p = '', n(n.s = 109); }([ function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = n(17), a = n(18), r = n(19), o = n(45), s = n(46), l = n(47), c = n(48), u = n(49), d = n(12), h = n(32), f = n(33), p = n(31), m = n(1), g = { Scope: m.Scope, create: m.create, find: m.find, query: m.query, register: m.register, Container: i.default, Format: a.default, Leaf: r.default, Embed: c.default, Scroll: o.default, Block: l.default, Inline: s.default, Text: u.default, Attributor: { Attribute: d.default, Class: h.default, Style: f.default, Store: p.default, }, }; t.default = g; }, function (e, t, n) { 'use strict'; var i, a = this && this.__extends || (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) {e.__proto__ = t;} || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); }, function (e, t) { function n () {this.constructor = e;} i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n); }); Object.defineProperty(t, '__esModule', { value: !0 }); var r = function (e) { function t (t) { var n = this; return t = '[Parchment] ' + t, (n = e.call(this, t) || this).message = t, n.name = n.constructor.name, n; } return a(t, e), t; }(Error); t.ParchmentError = r; var o, s = {}, l = {}, c = {}, u = {}; function d (e, t) { var n; if (void 0 === t && (t = o.ANY), 'string' == typeof e) n = u[e] || s[e]; else if (e instanceof Text || e.nodeType === Node.TEXT_NODE) n = u.text; else if ('number' == typeof e) e & o.LEVEL & o.BLOCK ? n = u.block : e & o.LEVEL & o.INLINE && (n = u.inline); else if (e instanceof HTMLElement) { var i = (e.getAttribute('class') || '').split(/\s+/); for (var a in i) if (n = l[i[a]]) break; n = n || c[e.tagName]; } return null == n ? null : t & o.LEVEL & n.scope && t & o.TYPE & n.scope ? n : null; } t.DATA_KEY = '__blot', function (e) {e[e.TYPE = 3] = 'TYPE', e[e.LEVEL = 12] = 'LEVEL', e[e.ATTRIBUTE = 13] = 'ATTRIBUTE', e[e.BLOT = 14] = 'BLOT', e[e.INLINE = 7] = 'INLINE', e[e.BLOCK = 11] = 'BLOCK', e[e.BLOCK_BLOT = 10] = 'BLOCK_BLOT', e[e.INLINE_BLOT = 6] = 'INLINE_BLOT', e[e.BLOCK_ATTRIBUTE = 9] = 'BLOCK_ATTRIBUTE', e[e.INLINE_ATTRIBUTE = 5] = 'INLINE_ATTRIBUTE', e[e.ANY = 15] = 'ANY';}( o = t.Scope || (t.Scope = {})), t.create = function ( e, t) { var n = d(e); if (null == n) throw new r( 'Unable to create ' + e + ' blot'); var i = n, a = e instanceof Node || e.nodeType === Node.TEXT_NODE ? e : i.create(t); return new i(a, t); }, t.find = function e (n, i) { return void 0 === i && (i = !1), null == n ? null : null != n[t.DATA_KEY] ? n[t.DATA_KEY].blot : i ? e(n.parentNode, i) : null; }, t.query = d, t.register = function e () { for (var t = [], n = 0; n < arguments.length; n++) t[n] = arguments[n]; if (t.length > 1) return t.map( (function (t) {return e(t);})); var i = t[0]; if ('string' != typeof i.blotName && 'string' != typeof i.attrName) throw new r('Invalid definition'); if ('abstract' === i.blotName) throw new r( 'Cannot register abstract class'); if (u[i.blotName || i.attrName] = i, 'string' == typeof i.keyName) s[i.keyName] = i; else if (null != i.className && (l[i.className] = i), null != i.tagName) { Array.isArray(i.tagName) ? i.tagName = i.tagName.map( (function (e) {return e.toUpperCase();})) : i.tagName = i.tagName.toUpperCase(); var a = Array.isArray(i.tagName) ? i.tagName : [i.tagName]; a.forEach((function (e) { null != c[e] && null != i.className || (c[e] = i); })); } return i; }; }, function (e, t, n) { var i = n(51), a = n(11), r = n(3), o = n(20), s = String.fromCharCode(0), l = function (e) { Array.isArray(e) ? this.ops = e : null != e && Array.isArray(e.ops) ? this.ops = e.ops : this.ops = []; }; l.prototype.insert = function (e, t) { var n = {}; return 0 === e.length ? this : (n.insert = e, null != t && 'object' == typeof t && Object.keys(t).length > 0 && (n.attributes = t), this.push(n)); }, l.prototype.delete = function (e) { return e <= 0 ? this : this.push({ delete: e }); }, l.prototype.retain = function (e, t) { if (e <= 0) return this; var n = { retain: e }; return null != t && 'object' == typeof t && Object.keys(t).length > 0 && (n.attributes = t), this.push( n); }, l.prototype.push = function (e) { var t = this.ops.length, n = this.ops[t - 1]; if (e = r(!0, {}, e), 'object' == typeof n) { if ('number' == typeof e.delete && 'number' == typeof n.delete) return this.ops[t - 1] = { delete: n.delete + e.delete }, this; if ('number' == typeof n.delete && null != e.insert && (t -= 1, 'object' != typeof (n = this.ops[t - 1]))) return this.ops.unshift(e), this; if (a(e.attributes, n.attributes)) { if ('string' == typeof e.insert && 'string' == typeof n.insert) return this.ops[t - 1] = { insert: n.insert + e.insert }, 'object' == typeof e.attributes && (this.ops[t - 1].attributes = e.attributes), this; if ('number' == typeof e.retain && 'number' == typeof n.retain) return this.ops[t - 1] = { retain: n.retain + e.retain }, 'object' == typeof e.attributes && (this.ops[t - 1].attributes = e.attributes), this; } } return t === this.ops.length ? this.ops.push(e) : this.ops.splice(t, 0, e), this; }, l.prototype.chop = function () { var e = this.ops[this.ops.length - 1]; return e && e.retain && !e.attributes && this.ops.pop(), this; }, l.prototype.filter = function (e) { return this.ops.filter(e); }, l.prototype.forEach = function (e) { this.ops.forEach(e); }, l.prototype.map = function (e) { return this.ops.map(e); }, l.prototype.partition = function (e) { var t = [], n = []; return this.forEach( (function (i) {(e(i) ? t : n).push(i);})), [t, n]; }, l.prototype.reduce = function (e, t) { return this.ops.reduce(e, t); }, l.prototype.changeLength = function () { return this.reduce((function (e, t) { return t.insert ? e + o.length(t) : t.delete ? e - t.delete : e; }), 0); }, l.prototype.length = function () { return this.reduce( (function (e, t) {return e + o.length(t);}), 0); }, l.prototype.slice = function (e, t) { e = e || 0, 'number' != typeof t && (t = 1 / 0); for (var n = [], i = o.iterator(this.ops), a = 0; a < t && i.hasNext();) { var r; a < e ? r = i.next(e - a) : (r = i.next(t - a), n.push( r)), a += o.length(r); } return new l(n); }, l.prototype.compose = function (e) { var t = o.iterator(this.ops), n = o.iterator(e.ops), i = [], r = n.peek(); if (null != r && 'number' == typeof r.retain && null == r.attributes) { for (var s = r.retain; "insert" === t.peekType() && t.peekLength() <= s;) s -= t.peekLength(), i.push( t.next()); r.retain - s > 0 && n.next(r.retain - s); } for (var c = new l(i); t.hasNext() || n.hasNext();) if ('insert' === n.peekType()) c.push( n.next()); else if ('delete' === t.peekType()) c.push( t.next()); else { var u = Math.min(t.peekLength(), n.peekLength()), d = t.next(u), h = n.next(u); if ('number' == typeof h.retain) { var f = {}; 'number' == typeof d.retain ? f.retain = u : f.insert = d.insert; var p = o.attributes.compose(d.attributes, h.attributes, 'number' == typeof d.retain); if (p && (f.attributes = p), c.push( f), !n.hasNext() && a(c.ops[c.ops.length - 1], f)) { var m = new l(t.rest()); return c.concat(m).chop(); } } else 'number' == typeof h.delete && 'number' == typeof d.retain && c.push(h); } return c.chop(); }, l.prototype.concat = function (e) { var t = new l(this.ops.slice()); return e.ops.length > 0 && (t.push(e.ops[0]), t.ops = t.ops.concat(e.ops.slice(1))), t; }, l.prototype.diff = function (e, t) { if (this.ops === e.ops) return new l; var n = [this, e].map((function (t) { return t.map((function (n) { if (null != n.insert) return 'string' == typeof n.insert ? n.insert : s; throw new Error( 'diff() called ' + (t === e ? 'on' : 'with') + ' non-document'); })).join(''); })), r = new l, c = i(n[0], n[1], t), u = o.iterator(this.ops), d = o.iterator(e.ops); return c.forEach((function (e) { for (var t = e[1].length; t > 0;) { var n = 0; switch (e[0]) { case i.INSERT: n = Math.min(d.peekLength(), t), r.push( d.next(n)); break; case i.DELETE: n = Math.min(t, u.peekLength()), u.next( n), r.delete(n); break; case i.EQUAL: n = Math.min(u.peekLength(), d.peekLength(), t); var s = u.next(n), l = d.next(n); a(s.insert, l.insert) ? r.retain(n, o.attributes.diff(s.attributes, l.attributes)) : r.push(l). delete(n); } t -= n; } })), r.chop(); }, l.prototype.eachLine = function (e, t) { t = t || '\n'; for (var n = o.iterator( this.ops), i = new l, a = 0; n.hasNext();) { if ('insert' !== n.peekType()) return; var r = n.peek(), s = o.length(r) - n.peekLength(), c = 'string' == typeof r.insert ? r.insert.indexOf( t, s) - s : -1; if (c < 0) i.push(n.next()); else if (c > 0) i.push( n.next(c)); else { if (!1 === e(i, n.next(1).attributes || {}, a)) return; a += 1, i = new l; } } i.length() > 0 && e(i, {}, a); }, l.prototype.transform = function ( e, t) { if (t = !!t, 'number' == typeof e) return this.transformPosition(e, t); for (var n = o.iterator(this.ops), i = o.iterator( e.ops), a = new l; n.hasNext() || i.hasNext();) if ('insert' !== n.peekType() || !t && 'insert' === i.peekType()) if ('insert' === i.peekType()) a.push(i.next()); else { var r = Math.min(n.peekLength(), i.peekLength()), s = n.next(r), c = i.next(r); if (s.delete) continue; c.delete ? a.push(c) : a.retain(r, o.attributes.transform(s.attributes, c.attributes, t)); } else a.retain(o.length(n.next())); return a.chop(); }, l.prototype.transformPosition = function (e, t) { t = !!t; for (var n = o.iterator(this.ops), i = 0; n.hasNext() && i <= e;) { var a = n.peekLength(), r = n.peekType(); n.next(), 'delete' !== r ? ('insert' === r && (i < e || !t) && (e += a), i += a) : e -= Math.min(a, e - i); } return e; }, e.exports = l; }, function (e, t) { 'use strict'; var n = Object.prototype.hasOwnProperty, i = Object.prototype.toString, a = Object.defineProperty, r = Object.getOwnPropertyDescriptor, o = function (e) { return 'function' == typeof Array.isArray ? Array.isArray(e) : '[object Array]' === i.call(e); }, s = function (e) { if (!e || '[object Object]' !== i.call(e)) return !1; var t, a = n.call(e, 'constructor'), r = e.constructor && e.constructor.prototype && n.call(e.constructor.prototype, 'isPrototypeOf'); if (e.constructor && !a && !r) return !1; for (t in e) ; return void 0 === t || n.call(e, t); }, l = function (e, t) { a && '__proto__' === t.name ? a(e, t.name, { enumerable: !0, configurable: !0, value: t.newValue, writable: !0, }) : e[t.name] = t.newValue; }, c = function (e, t) { if ('__proto__' === t) { if (!n.call(e, t)) return; if (r) return r(e, t).value; } return e[t]; }; e.exports = function e () { var t, n, i, a, r, u, d = arguments[0], h = 1, f = arguments.length, p = !1; for ('boolean' == typeof d && (p = d, d = arguments[1] || {}, h = 2), (null == d || 'object' != typeof d && 'function' != typeof d) && (d = {}); h < f; ++h) if (null != (t = arguments[h])) for (n in t) i = c(d, n), d !== (a = c(t, n)) && (p && a && (s(a) || (r = o(a))) ? (r ? (r = !1, u = i && o(i) ? i : []) : u = i && s(i) ? i : {}, l(d, { name: n, newValue: e(p, u, a) })) : void 0 !== a && l(d, { name: n, newValue: a })); return d; }; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.default = t.BlockEmbed = t.bubbleFormats = void 0; var i = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), a = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, r = d(n(3)), o = d(n(2)), s = d(n(0)), l = d(n(16)), c = d(n(6)), u = d(n(7)); function d (e) {return e && e.__esModule ? e : { default: e };} function h (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function f (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } function p (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); } var m = function (e) { function t () { return h(this, t), f(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return p(t, e), i(t, [ { key: 'attach', value: function () { a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'attach', this). call( this), this.attributes = new s.default.Attributor.Store( this.domNode); }, }, { key: 'delta', value: function () { return (new o.default).insert(this.value(), (0, r.default)(this.formats(), this.attributes.values())); }, }, { key: 'format', value: function (e, t) { var n = s.default.query(e, s.default.Scope.BLOCK_ATTRIBUTE); null != n && this.attributes.attribute(n, t); }, }, { key: 'formatAt', value: function (e, t, n, i) {this.format(n, i);}, }, { key: 'insertAt', value: function (e, n, i) { if ('string' == typeof n && n.endsWith('\n')) { var r = s.default.create(g.blotName); this.parent.insertBefore(r, 0 === e ? this : this.next), r.insertAt( 0, n.slice(0, -1)); } else a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'insertAt', this).call(this, e, n, i); }, }]), t; }(s.default.Embed); m.scope = s.default.Scope.BLOCK_BLOT; var g = function (e) { function t (e) { h(this, t); var n = f(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e)); return n.cache = {}, n; } return p(t, e), i(t, [ { key: 'delta', value: function () { return null == this.cache.delta && (this.cache.delta = this.descendants( s.default.Leaf). reduce((function (e, t) { return 0 === t.length() ? e : e.insert( t.value(), v(t)); }), new o.default). insert('\n', v(this))), this.cache.delta; }, }, { key: 'deleteAt', value: function (e, n) { a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'deleteAt', this). call(this, e, n), this.cache = {}; }, }, { key: 'formatAt', value: function (e, n, i, r) { n <= 0 || (s.default.query(i, s.default.Scope.BLOCK) ? e + n === this.length() && this.format(i, r) : a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'formatAt', this). call(this, e, Math.min(n, this.length() - e - 1), i, r), this.cache = {}); }, }, { key: 'insertAt', value: function (e, n, i) { if (null != i) return a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'insertAt', this).call(this, e, n, i); if (0 !== n.length) { var r = n.split('\n'), o = r.shift(); o.length > 0 && (e < this.length() - 1 || null == this.children.tail ? a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'insertAt', this). call(this, Math.min(e, this.length() - 1), o) : this.children.tail.insertAt( this.children.tail.length(), o), this.cache = {}); var s = this; r.reduce((function (e, t) { return (s = s.split(e, !0)).insertAt(0, t), t.length; }), e + o.length); } }, }, { key: 'insertBefore', value: function (e, n) { var i = this.children.head; a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'insertBefore', this). call(this, e, n), i instanceof l.default && i.remove(), this.cache = {}; }, }, { key: 'length', value: function () { return null == this.cache.length && (this.cache.length = a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'length', this).call(this) + 1), this.cache.length; }, }, { key: 'moveChildren', value: function (e, n) { a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'moveChildren', this). call(this, e, n), this.cache = {}; }, }, { key: 'optimize', value: function (e) { a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'optimize', this). call(this, e), this.cache = {}; }, }, { key: 'path', value: function (e) { return a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'path', this).call(this, e, !0); }, }, { key: 'removeChild', value: function (e) { a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'removeChild', this). call(this, e), this.cache = {}; }, }, { key: 'split', value: function (e) { var n = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; if (n && (0 === e || e >= this.length() - 1)) { var i = this.clone(); return 0 === e ? (this.parent.insertBefore(i, this), this) : (this.parent.insertBefore(i, this.next), i); } var r = a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'split', this).call(this, e, n); return this.cache = {}, r; }, }]), t; }(s.default.Block); function v (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; return null == e ? t : ('function' == typeof e.formats && (t = (0, r.default)(t, e.formats())), null == e.parent || 'scroll' == e.parent.blotName || e.parent.statics.scope !== e.statics.scope ? t : v(e.parent, t)); } g.blotName = 'block', g.tagName = 'P', g.defaultChild = 'break', g.allowedChildren = [ c.default, s.default.Embed, u.default], t.bubbleFormats = v, t.BlockEmbed = m, t.default = g; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.default = t.overload = t.expandConfig = void 0; var i = '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; }, a = function (e, t) { if (Array.isArray(e)) return e; if (Symbol.iterator in Object(e)) return function ( e, t) { var n = [], i = !0, a = !1, r = void 0; try { for (var o, s = e[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); i = !0) ; } catch (e) {a = !0, r = e;} finally { try { !i && s.return && s.return(); } finally {if (a) throw r;} } return n; }(e, t); throw new TypeError( 'Invalid attempt to destructure non-iterable instance'); }, r = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(); n(50); var o = g(n(2)), s = g(n(14)), l = g(n(8)), c = g(n(9)), u = g(n(0)), d = n(15), h = g(d), f = g(n(3)), p = g(n(10)), m = g(n(34)); function g (e) {return e && e.__esModule ? e : { default: e };} function v (e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0, }) : e[t] = n, e; } function y (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } var b = (0, p.default)('quill'), x = function () { function e (t) { var n = this, i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; if (y(this, e), this.options = _(t, i), this.container = this.options.container, null == this.container) return b.error( 'Invalid Quill container', t); this.options.debug && e.debug(this.options.debug); var a = this.container.innerHTML.trim(); this.container.classList.add( 'ql-container'), this.container.innerHTML = '', this.container.__quill = this, this.root = this.addContainer( 'ql-editor'), this.root.classList.add( 'ql-blank'), this.root.setAttribute('data-gramm', !1), this.scrollingContainer = this.options.scrollingContainer || this.root, this.emitter = new l.default, this.scroll = u.default.create( this.root, { emitter: this.emitter, whitelist: this.options.formats, }), this.editor = new s.default( this.scroll), this.selection = new h.default( 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.theme.init(), this.emitter.on( l.default.events.EDITOR_CHANGE, (function (e) { e === l.default.events.TEXT_CHANGE && n.root.classList.toggle('ql-blank', n.editor.isBlank()); })), this.emitter.on(l.default.events.SCROLL_UPDATE, (function (e, t) { var i = n.selection.lastRange, a = i && 0 === i.length ? i.index : void 0; w.call(n, (function () { return n.editor.update(null, t, a); }), e); })); var r = this.clipboard.convert( '<div class=\'ql-editor\' style="white-space: normal;">' + a + '<p><br></p></div>'); this.setContents( r), this.history.clear(), this.options.placeholder && this.root.setAttribute('data-placeholder', this.options.placeholder), this.options.readOnly && this.disable(); } return r(e, null, [ { key: 'debug', value: function (e) { !0 === e && (e = 'log'), p.default.level(e); }, }, { key: 'find', value: function (e) { return e.__quill || u.default.find(e); }, }, { key: 'import', value: function (e) { return null == this.imports[e] && b.error( 'Cannot import ' + e + '. Are you sure it was registered?'), this.imports[e]; }, }, { key: 'register', value: function (e, t) { var n = this, i = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; if ('string' != typeof e) { var a = e.attrName || e.blotName; 'string' == typeof a ? this.register( 'formats/' + a, e, t) : Object.keys(e). forEach((function (i) { n.register(i, e[i], t); })); } else null == this.imports[e] || i || b.warn('Overwriting ' + e + ' with', t), this.imports[e] = t, (e.startsWith( 'blots/') || e.startsWith('formats/')) && 'abstract' !== t.blotName ? u.default.register( t) : e.startsWith('modules') && 'function' == typeof t.register && t.register(); }, }]), r(e, [ { key: 'addContainer', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null; if ('string' == typeof e) { var n = e; (e = document.createElement( 'div')).classList.add(n); } return this.container.insertBefore(e, t), e; }, }, { key: 'blur', value: function () {this.selection.setRange(null);}, }, { key: 'deleteText', value: function (e, t, n) { var i = this, r = k(e, t, n), o = a(r, 4); return e = o[0], t = o[1], n = o[3], w.call( this, (function () { return i.editor.deleteText(e, t); }), n, e, -1 * t); }, }, { key: 'disable', value: function () {this.enable(!1);}, }, { key: 'enable', value: function () { var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0]; this.scroll.enable( e), this.container.classList.toggle( 'ql-disabled', !e); }, }, { key: 'focus', value: function () { var e = this.scrollingContainer.scrollTop; this.selection.focus(), this.scrollingContainer.scrollTop = e, this.scrollIntoView(); }, }, { key: 'format', value: function (e, t) { var n = this, i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : l.default.sources.API; return w.call(this, (function () { var i = n.getSelection(!0), a = new o.default; if (null == i) return a; if (u.default.query(e, u.default.Scope.BLOCK)) a = n.editor.formatLine( i.index, i.length, v({}, e, t)); else { if (0 === i.length) return n.selection.format( e, t), a; a = n.editor.formatText(i.index, i.length, v({}, e, t)); } return n.setSelection(i, l.default.sources.SILENT), a; }), i); }, }, { key: 'formatLine', value: function (e, t, n, i, r) { var o, s = this, l = k(e, t, n, i, r), c = a(l, 4); return e = c[0], t = c[1], o = c[2], r = c[3], w.call( this, (function () { return s.editor.formatLine(e, t, o); }), r, e, 0); }, }, { key: 'formatText', value: function (e, t, n, i, r) { var o, s = this, l = k(e, t, n, i, r), c = a(l, 4); return e = c[0], t = c[1], o = c[2], r = c[3], w.call( this, (function () { return s.editor.formatText(e, t, o); }), r, e, 0); }, }, { key: 'getBounds', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, n = void 0; n = 'number' == typeof e ? this.selection.getBounds(e, t) : this.selection.getBounds(e.index, e.length); var i = this.container.getBoundingClientRect(); return { bottom: n.bottom - i.top, height: n.height, left: n.left - i.left, right: n.right - i.left, top: n.top - i.top, width: n.width, }; }, }, { key: 'getContents', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this.getLength() - e, n = k(e, t), i = a(n, 2); return e = i[0], t = i[1], this.editor.getContents( e, t); }, }, { key: 'getFormat', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : this.getSelection(!0), t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; return 'number' == typeof e ? this.editor.getFormat(e, t) : this.editor.getFormat(e.index, e.length); }, }, { key: 'getIndex', value: function (e) {return e.offset(this.scroll);}, }, { key: 'getLength', value: function () {return this.scroll.length();}, }, { key: 'getLeaf', value: function (e) {return this.scroll.leaf(e);}, }, { key: 'getLine', value: function (e) {return this.scroll.line(e);}, }, { key: 'getLines', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Number.MAX_VALUE; return 'number' != typeof e ? this.scroll.lines( e.index, e.length) : this.scroll.lines(e, t); }, }, { key: 'getModule', value: function (e) {return this.theme.modules[e];}, }, { key: 'getSelection', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0]; return e && this.focus(), this.update(), this.selection.getRange()[0]; }, }, { key: 'getText', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this.getLength() - e, n = k(e, t), i = a(n, 2); return e = i[0], t = i[1], this.editor.getText( e, t); }, }, { key: 'hasFocus', value: function () {return this.selection.hasFocus();}, }, { key: 'insertEmbed', value: function (t, n, i) { var a = this, r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : e.sources.API; return w.call(this, (function () { return a.editor.insertEmbed(t, n, i); }), r, t); }, }, { key: 'insertText', value: function (e, t, n, i, r) { var o, s = this, l = k(e, 0, n, i, r), c = a(l, 4); return e = c[0], o = c[2], r = c[3], w.call( this, (function () { return s.editor.insertText(e, t, o); }), r, e, t.length); }, }, { key: 'isEnabled', value: function () { return !this.container.classList.contains( 'ql-disabled'); }, }, { key: 'off', value: function () { return this.emitter.off.apply(this.emitter, arguments); }, }, { key: 'on', value: function () { return this.emitter.on.apply(this.emitter, arguments); }, }, { key: 'once', value: function () { return this.emitter.once.apply(this.emitter, arguments); }, }, { key: 'pasteHTML', value: function ( e, t, n) { this.clipboard.dangerouslyPasteHTML(e, t, n); }, }, { key: 'removeFormat', value: function (e, t, n) { var i = this, r = k(e, t, n), o = a(r, 4); return e = o[0], t = o[1], n = o[3], w.call( this, (function () { return i.editor.removeFormat(e, t); }), n, e); }, }, { key: 'scrollIntoView', value: function () { this.selection.scrollIntoView( this.scrollingContainer); }, }, { key: 'setContents', value: function (e) { var t = this, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : l.default.sources.API; return w.call(this, (function () { e = new o.default(e); var n = t.getLength(), i = t.editor.deleteText(0, n), a = t.editor.applyDelta(e), r = a.ops[a.ops.length - 1]; return null != r && 'string' == typeof r.insert && '\n' === r.insert[r.insert.length - 1] && (t.editor.deleteText(t.getLength() - 1, 1), a.delete(1)), i.compose(a); }), n); }, }, { key: 'setSelection', value: function (t, n, i) { if (null == t) this.selection.setRange(null, n || e.sources.API); else { var r = k(t, n, i), o = a(r, 4); t = o[0], n = o[1], i = o[3], this.selection.setRange( new d.Range(t, n), i), i !== l.default.sources.SILENT && this.selection.scrollIntoView( this.scrollingContainer); } }, }, { key: 'setText', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : l.default.sources.API, n = (new o.default).insert(e); return this.setContents(n, t); }, }, { key: 'update', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : l.default.sources.USER, t = this.scroll.update(e); return this.selection.update(e), t; }, }, { key: 'updateContents', value: function (e) { var t = this, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : l.default.sources.API; return w.call(this, (function () { return e = new o.default( e), t.editor.applyDelta(e, n); }), n, !0); }, }]), e; }(); function _ (e, t) { if ((t = (0, f.default)(!0, { container: e, modules: { clipboard: !0, keyboard: !0, history: !0 }, }, t)).theme && t.theme !== x.DEFAULTS.theme) { if (t.theme = x.import('themes/' + t.theme), null == t.theme) throw new Error('Invalid theme ' + t.theme + '. Did you register it?'); } else t.theme = m.default; var n = (0, f.default)(!0, {}, t.theme.DEFAULTS); [n, t].forEach((function (e) { e.modules = e.modules || {}, Object.keys(e.modules). forEach((function (t) { !0 === e.modules[t] && (e.modules[t] = {}); })); })); var i = Object.keys(n.modules). concat(Object.keys(t.modules)). reduce((function (e, t) { var n = x.import('modules/' + t); return null == n ? b.error('Cannot load ' + t + ' module. Are you sure you registered it?') : e[t] = n.DEFAULTS || {}, e; }), {}); return null != t.modules && t.modules.toolbar && t.modules.toolbar.constructor !== Object && (t.modules.toolbar = { container: t.modules.toolbar }), t = (0, f.default)( !0, {}, x.DEFAULTS, { modules: i }, n, t), [ 'bounds', 'container', 'scrollingContainer'].forEach((function (e) { 'string' == typeof t[e] && (t[e] = document.querySelector(t[e])); })), t.modules = Object.keys(t.modules). reduce((function (e, n) { return t.modules[n] && (e[n] = t.modules[n]), e; }), {}), t; } function w (e, t, n, i) { if (this.options.strict && !this.isEnabled() && t === l.default.sources.USER) return new o.default; var a = null == n ? null : this.getSelection(), r = this.editor.delta, s = e(); if (null != a && (!0 === n && (n = a.index), null == i ? a = M(a, s, t) : 0 !== i && (a = M(a, n, i, t)), this.setSelection(a, l.default.sources.SILENT)), s.length() > 0) { var c, u, d = [l.default.events.TEXT_CHANGE, s, r, t]; if ((c = this.emitter).emit.apply(c, [l.default.events.EDITOR_CHANGE].concat(d)), t !== l.default.sources.SILENT) (u = this.emitter).emit.apply( u, d); } return s; } function k (e, t, n, a, r) { var o = {}; return 'number' == typeof e.index && 'number' == typeof e.length ? 'number' != typeof t ? (r = a, a = n, n = t, t = e.length, e = e.index) : (t = e.length, e = e.index) : 'number' != typeof t && (r = a, a = n, n = t, t = 0), 'object' === (void 0 === n ? 'undefined' : i(n)) ? (o = n, r = a) : 'string' == typeof n && (null != a ? o[n] = a : r = n), [ e, t, o, r = r || l.default.sources.API]; } function M (e, t, n, i) { if (null == e) return null; var r = void 0, s = void 0; if (t instanceof o.default) { var c = [ e.index, e.index + e.length].map((function (e) { return t.transformPosition(e, i !== l.default.sources.USER); })), u = a(c, 2); r = u[0], s = u[1]; } else { var h = [e.index, e.index + e.length].map( (function (e) { return e < t || e === t && i === l.default.sources.USER ? e : n >= 0 ? e + n : Math.max(t, e + n); })), f = a(h, 2); r = f[0], s = f[1]; } return new d.Range(r, s - r); } x.DEFAULTS = { bounds: null, formats: null, modules: {}, placeholder: '', readOnly: !1, scrollingContainer: null, strict: !0, theme: 'default', }, x.events = l.default.events, x.sources = l.default.sources, x.version = '1.3.7', x.imports = { delta: o.default, parchment: u.default, 'core/module': c.default, 'core/theme': m.default, }, t.expandConfig = _, t.overload = k, t.default = x; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), a = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, r = s(n(7)), o = s(n(0)); function s (e) {return e && e.__esModule ? e : { default: e };} function l (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function c (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var u = function (e) { function t () { return l(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), i(t, [ { key: 'formatAt', value: function (e, n, i, r) { if (t.compare(this.statics.blotName, i) < 0 && o.default.query(i, o.default.Scope.BLOT)) { var s = this.isolate(e, n); r && s.wrap(i, r); } else a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'formatAt', this).call(this, e, n, i, r); }, }, { key: 'optimize', value: function (e) { if (a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'optimize', this). call(this, e), this.parent instanceof t && t.compare(this.statics.blotName, this.parent.statics.blotName) > 0) { var n = this.parent.isolate(this.offset(), this.length()); this.moveChildren(n), n.wrap(this); } }, }], [ { key: 'compare', value: function (e, n) { var i = t.order.indexOf(e), a = t.order.indexOf(n); return i >= 0 || a >= 0 ? i - a : e === n ? 0 : e < n ? -1 : 1; }, }]), t; }(o.default.Inline); u.allowedChildren = [ u, o.default.Embed, r.default], u.order = [ 'cursor', 'inline', 'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code'], t.default = u; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = n(0); function r (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function o (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var s = function (e) { function t () { return r(this, t), o(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), t; }(((i = a) && i.__esModule ? i : { default: i }).default.Text); t.default = s; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), a = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, r = o(n(54)); function o (e) {return e && e.__esModule ? e : { default: e };} var s = (0, o(n(10)).default)('quill:events'); ['selectionchange', 'mousedown', 'mouseup', 'click'].forEach( (function (e) { document.addEventListener(e, (function () { for (var e = arguments.length, t = Array( e), n = 0; n < e; n++) t[n] = arguments[n]; [].slice.call( document.querySelectorAll('.ql-container')). forEach((function (e) { var n; e.__quill && e.__quill.emitter && (n = e.__quill.emitter).handleDOM.apply(n, t); })); })); })); var l = function (e) { function t () { !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, t); var e = function ( e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; }(this, (t.__proto__ || Object.getPrototypeOf(t)).call( this)); return e.listeners = {}, e.on('error', s.error), e; } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), i(t, [ { key: 'emit', value: function () { s.log.apply(s, arguments), a( t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'emit', this).apply(this, arguments); }, }, { key: 'handleDOM', value: function (e) { for (var t = arguments.length, n = Array( t > 1 ? t - 1 : 0), i = 1; i < t; i++) n[i - 1] = arguments[i]; (this.listeners[e.type] || []).forEach( (function (t) { var i = t.node, a = t.handler; (e.target === i || i.contains(e.target)) && a.apply(void 0, [e].concat(n)); })); }, }, { key: 'listenDOM', value: function (e, t, n) { this.listeners[e] || (this.listeners[e] = []), this.listeners[e].push( { node: t, handler: n }); }, }]), t; }(r.default); l.events = { EDITOR_CHANGE: 'editor-change', SCROLL_BEFORE_UPDATE: 'scroll-before-update', SCROLL_OPTIMIZE: 'scroll-optimize', SCROLL_UPDATE: 'scroll-update', SELECTION_CHANGE: 'selection-change', TEXT_CHANGE: 'text-change', }, l.sources = { API: 'api', SILENT: 'silent', USER: 'user', }, t.default = l; }, function (e, t, n) { 'use strict'; function i (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } Object.defineProperty(t, '__esModule', { value: !0 }); var a = function e (t) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; i(this, e), this.quill = t, this.options = n; }; a.DEFAULTS = {}, t.default = a; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = ['error', 'warn', 'log', 'info'], a = 'warn'; function r (e) { if (i.indexOf(e) <= i.indexOf(a)) { for (var t, n = arguments.length, r = Array( n > 1 ? n - 1 : 0), o = 1; o < n; o++) r[o - 1] = arguments[o]; (t = console)[e].apply(t, r); } } function o (e) { return i.reduce((function (t, n) { return t[n] = r.bind(console, n, e), t; }), {}); } r.level = o.level = function (e) {a = e;}, t.default = o; }, function (e, t, n) { var i = Array.prototype.slice, a = n(52), r = n(53), o = e.exports = function (e, t, n) { return n || (n = {}), e === t || (e instanceof Date && t instanceof Date ? e.getTime() === t.getTime() : !e || !t || 'object' != typeof e && 'object' != typeof t ? n.strict ? e === t : e == t : function (e, t, n) { var c, u; if (s(e) || s(t)) return !1; if (e.prototype !== t.prototype) return !1; if (r(e)) return !!r(t) && (e = i.call(e), t = i.call(t), o(e, t, n)); if (l(e)) { if (!l(t)) return !1; if (e.length !== t.length) return !1; for (c = 0; c < e.length; c++) if (e[c] !== t[c]) return !1; return !0; } try { var d = a(e), h = a(t); } catch (e) {return !1;} if (d.length != h.length) return !1; for (d.sort(), h.sort(), c = d.length - 1; c >= 0; c--) if (d[c] != h[c]) return !1; for (c = d.length - 1; c >= 0; c--) if (u = d[c], !o(e[u], t[u], n)) return !1; return typeof e == typeof t; }(e, t, n)); }; function s (e) {return null == e;} function l (e) { return !(!e || 'object' != typeof e || 'number' != typeof e.length) && ('function' == typeof e.copy && 'function' == typeof e.slice && !(e.length > 0 && 'number' != typeof e[0])); } }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = n(1), a = function () { function e (e, t, n) { void 0 === n && (n = {}), this.attrName = e, this.keyName = t; var a = i.Scope.TYPE & i.Scope.ATTRIBUTE; null != n.scope ? this.scope = n.scope & i.Scope.LEVEL | a : this.scope = i.Scope.ATTRIBUTE, null != n.whitelist && (this.whitelist = n.whitelist); } return e.keys = function (e) { return [].map.call(e.attributes, (function (e) {return e.name;})); }, e.prototype.add = function (e, t) { return !!this.canAdd(e, t) && (e.setAttribute(this.keyName, t), !0); }, e.prototype.canAdd = function (e, t) { return null != i.query(e, i.Scope.BLOT & (this.scope | i.Scope.TYPE)) && (null == this.whitelist || ('string' == typeof t ? this.whitelist.indexOf( t.replace(/["']/g, '')) > -1 : this.whitelist.indexOf(t) > -1)); }, e.prototype.remove = function (e) { e.removeAttribute(this.keyName); }, e.prototype.value = function (e) { var t = e.getAttribute(this.keyName); return this.canAdd(e, t) && t ? t : ''; }, e; }(); t.default = a; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.default = t.Code = void 0; var i = function (e, t) { if (Array.isArray(e)) return e; if (Symbol.iterator in Object(e)) return function ( e, t) { var n = [], i = !0, a = !1, r = void 0; try { for (var o, s = e[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); i = !0) ; } catch (e) {a = !0, r = e;} finally { try { !i && s.return && s.return(); } finally {if (a) throw r;} } return n; }(e, t); throw new TypeError( 'Invalid attempt to destructure non-iterable instance'); }, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = d(n(2)), s = d(n(0)), l = d(n(4)), c = d(n(6)), u = d(n(7)); function d (e) {return e && e.__esModule ? e : { default: e };} function h (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function f (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } function p (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); } var m = function (e) { function t () { return h(this, t), f(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return p(t, e), t; }(c.default); m.blotName = 'code', m.tagName = 'CODE'; var g = function (e) { function t () { return h(this, t), f(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return p(t, e), a(t, [ { key: 'delta', value: function () { var e = this, t = this.domNode.textContent; return t.endsWith('\n') && (t = t.slice(0, -1)), t.split('\n'). reduce((function (t, n) { return t.insert(n). insert('\n', e.formats()); }), new o.default); }, }, { key: 'format', value: function (e, n) { if (e !== this.statics.blotName || !n) { var a = this.descendant(u.default, this.length() - 1), o = i(a, 1)[0]; null != o && o.deleteAt(o.length() - 1, 1), r( t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'format', this).call(this, e, n); } }, }, { key: 'formatAt', value: function (e, n, i, a) { if (0 !== n && null != s.default.query(i, s.default.Scope.BLOCK) && (i !== this.statics.blotName || a !== this.statics.formats(this.domNode))) { var r = this.newlineIndex(e); if (!(r < 0 || r >= e + n)) { var o = this.newlineIndex(e, !0) + 1, l = r - o + 1, c = this.isolate(o, l), u = c.next; c.format(i, a), u instanceof t && u.formatAt(0, e - o + n - l, i, a); } } }, }, { key: 'insertAt', value: function (e, t, n) { if (null == n) { var a = this.descendant(u.default, e), r = i(a, 2), o = r[0], s = r[1]; o.insertAt(s, t); } }, }, { key: 'length', value: function () { var e = this.domNode.textContent.length; return this.domNode.textContent.endsWith('\n') ? e : e + 1; }, }, { key: 'newlineIndex', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; if (t) return this.domNode.textContent.slice(0, e).lastIndexOf('\n'); var n = this.domNode.textContent.slice(e). indexOf('\n'); return n > -1 ? e + n : -1; }, }, { key: 'optimize', value: function (e) { this.domNode.textContent.endsWith('\n') || this.appendChild( s.default.create('text', '\n')), r( t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'optimize', this).call(this, e); var n = this.next; null != n && n.prev === this && n.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === n.statics.formats(n.domNode) && (n.optimize(e), n.moveChildren( this), n.remove()); }, }, { key: 'replace', value: function (e) { r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'replace', this). call(this, e), [].slice.call( this.domNode.querySelectorAll('*')). forEach((function (e) { var t = s.default.find(e); null == t ? e.parentNode.removeChild(e) : t instanceof s.default.Embed ? t.remove() : t.unwrap(); })); }, }], [ { key: 'create', value: function (e) { var n = r( t.__proto__ || Object.getPrototypeOf(t), 'create', this).call(this, e); return n.setAttribute('spellcheck', !1), n; }, }, { key: 'formats', value: function () {return !0;}, }]), t; }(l.default); g.blotName = 'code-block', g.tagName = 'PRE', g.TAB = ' ', t.Code = m, t.default = g; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = '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; }, a = function (e, t) { if (Array.isArray(e)) return e; if (Symbol.iterator in Object(e)) return function ( e, t) { var n = [], i = !0, a = !1, r = void 0; try { for (var o, s = e[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); i = !0) ; } catch (e) {a = !0, r = e;} finally { try { !i && s.return && s.return(); } finally {if (a) throw r;} } return n; }(e, t); throw new TypeError( 'Invalid attempt to destructure non-iterable instance'); }, r = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), o = v(n(2)), s = v(n(20)), l = v(n(0)), c = v(n(13)), u = v(n(24)), d = n(4), h = v(d), f = v(n(16)), p = v(n(21)), m = v(n(11)), g = v(n(3)); function v (e) {return e && e.__esModule ? e : { default: e };} var y = /^[ -~]*$/, b = function () { function e (t) { !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, e), this.scroll = t, this.delta = this.getDelta(); } return r(e, [ { key: 'applyDelta', value: function (e) { var t = this, n = !1; this.scroll.update(); var r = this.scroll.length(); return this.scroll.batchStart(), (e = function (e) { return e.reduce((function (e, t) { if (1 === t.insert) { var n = (0, p.default)( t.attributes); return delete n.image, e.insert( { image: t.attributes.image }, n); } if (null == t.attributes || !0 !== t.attributes.list && !0 !== t.attributes.bullet || ((t = (0, p.default)(t)).attributes.list ? t.attributes.list = 'ordered' : (t.attributes.list = 'bullet', delete t.attributes.bullet)), 'string' == typeof t.insert) { var i = t.insert.replace(/\r\n/g, '\n').replace(/\r/g, '\n'); return e.insert(i, t.attributes); } return e.push(t); }), new o.default); }(e)).reduce((function (e, o) { var c = o.retain || o.delete || o.insert.length || 1, u = o.attributes || {}; if (null != o.insert) { if ('string' == typeof o.insert) { var f = o.insert; f.endsWith('\n') && n && (n = !1, f = f.slice(0, -1)), e >= r && !f.endsWith('\n') && (n = !0), t.scroll.insertAt(e, f); var p = t.scroll.line(e), m = a(p, 2), v = m[0], y = m[1], b = (0, g.default)({}, (0, d.bubbleFormats)(v)); if (v instanceof h.default) { var x = v.descendant( l.default.Leaf, y), _ = a(x, 1)[0]; b = (0, g.default)(b, (0, d.bubbleFormats)(_)); } u = s.default.attributes.diff(b, u) || {}; } else if ('object' === i(o.insert)) { var w = Object.keys(o.insert)[0]; if (null == w) return e; t.scroll.insertAt(e, w, o.insert[w]); } r += c; } return Object.keys(u). forEach((function (n) { t.scroll.formatAt(e, c, n, u[n]); })), e + c; }), 0), e.reduce((function (e, n) { return 'number' == typeof n.delete ? (t.scroll.deleteAt(e, n.delete), e) : e + (n.retain || n.insert.length || 1); }), 0), this.scroll.batchEnd(), this.update(e); }, }, { key: 'deleteText', value: function (e, t) { return this.scroll.deleteAt(e, t), this.update( (new o.default).retain(e).delete(t)); }, }, { key: 'formatLine', value: function (e, t) { var n = this, i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; return this.scroll.update(), Object.keys(i). forEach((function (a) { if (null == n.scroll.whitelist || n.scroll.whitelist[a]) { var r = n.scroll.lines(e, Math.max(t, 1)), o = t; r.forEach((function (t) { var r = t.length(); if (t instanceof c.default) { var s = e - t.offset(n.scroll), l = t.newlineIndex( s + o) - s + 1; t.formatAt(s, l, a, i[a]); } else t.format(a, i[a]); o -= r; })); } })), this.scroll.optimize(), this.update( (new o.default).retain(e). retain(t, (0, p.default)(i))); }, }, { key: 'formatText', value: function (e, t) { var n = this, i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; return Object.keys(i). forEach((function (a) { n.scroll.formatAt(e, t, a, i[a]); })), this.update((new o.default).retain(e). retain(t, (0, p.default)(i))); }, }, { key: 'getContents', value: function (e, t) { return this.delta.slice(e, e + t); }, }, { key: 'getDelta', value: function () { return this.scroll.lines(). reduce((function (e, t) { return e.concat(t.delta()); }), new o.default); }, }, { key: 'getFormat', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, n = [], i = []; 0 === t ? this.scroll.path(e). forEach((function (e) { var t = a(e, 1)[0]; t instanceof h.default ? n.push(t) : t instanceof l.default.Leaf && i.push(t); })) : (n = this.scroll.lines(e, t), i = this.scroll.descendants( l.default.Leaf, e, t)); var r = [n, i].map((function (e) { if (0 === e.length) return {}; for (var t = (0, d.bubbleFormats)( e.shift()); Object.keys(t).length > 0;) { var n = e.shift(); if (null == n) return t; t = x((0, d.bubbleFormats)(n), t); } return t; })); return g.default.apply(g.default, r); }, }, { key: 'getText', value: function (e, t) { return this.getContents(e, t). filter((function (e) { return 'string' == typeof e.insert; })). map((function (e) {return e.insert;})). join(''); }, }, { key: 'insertEmbed', value: function ( e, t, n) { return this.scroll.insertAt(e, t, n), this.update((new o.default).retain(e). insert(function (e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0, }) : e[t] = n, e; }({}, t, n))); }, }, { key: 'insertText', value: function (e, t) { var n = this, i = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; return t = t.replace(/\r\n/g, '\n'). replace(/\r/g, '\n'), this.scroll.insertAt( e, t), Object.keys(i). forEach((function (a) { n.scroll.formatAt(e, t.length, a, i[a]); })), this.update((new o.default).retain(e). insert(t, (0, p.default)(i))); }, }, { key: 'isBlank', value: function () { if (0 == this.scroll.children.length) return !0; if (this.scroll.children.length > 1) return !1; var e = this.scroll.children.head; return e.statics.blotName === h.default.blotName && (!(e.children.length > 1) && e.children.head instanceof f.default); }, }, { key: 'removeFormat', value: function (e, t) { var n = this.getText(e, t), i = this.scroll.line(e + t), r = a(i, 2), s = r[0], l = r[1], u = 0, d = new o.default; null != s && (u = s instanceof c.default ? s.newlineIndex( l) - l + 1 : s.length() - l, d = s.delta(). slice(l, l + u - 1). insert('\n')); var h = this.getContents(e, t + u). diff((new o.default).insert(n).concat(d)), f = (new o.default).retain(e).concat(h); return this.applyDelta(f); }, }, { key: 'update', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [], n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : void 0, i = this.delta; if (1 === t.length && 'characterData' === t[0].type && t[0].target.data.match(y) && l.default.find(t[0].target)) { var a = l.default.find(t[0].target), r = (0, d.bubbleFormats)(a), s = a.offset(this.scroll), c = t[0].oldValue.replace( u.default.CONTENTS, ''), h = (new o.default).insert(c), f = (new o.default).insert(a.value()), p = (new o.default).retain(s). concat(h.diff(f, n)); e = p.reduce((function (e, t) { return t.insert ? e.insert(t.insert, r) : e.push(t); }), new o.default), this.delta = i.compose( e); } else this.delta = this.getDelta(), e && (0, m.default)(i.compose(e), this.delta) || (e = i.diff(this.delta, n)); return e; }, }]), e; }(); function x (e, t) { return Object.keys(t). reduce((function (n, i) { return null == e[i] || (t[i] === e[i] ? n[i] = t[i] : Array.isArray(t[i]) ? t[i].indexOf(e[i]) < 0 && (n[i] = t[i].concat([e[i]])) : n[i] = [t[i], e[i]]), n; }), {}); } t.default = b; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.default = t.Range = void 0; var i = function (e, t) { if (Array.isArray(e)) return e; if (Symbol.iterator in Object(e)) return function ( e, t) { var n = [], i = !0, a = !1, r = void 0; try { for (var o, s = e[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); i = !0) ; } catch (e) {a = !0, r = e;} finally { try { !i && s.return && s.return(); } finally {if (a) throw r;} } return n; }(e, t); throw new TypeError( 'Invalid attempt to destructure non-iterable instance'); }, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = c(n(0)), o = c(n(21)), s = c(n(11)), l = c(n(8)); function c (e) {return e && e.__esModule ? e : { default: e };} function u (e) { if (Array.isArray(e)) { for (var t = 0, n = Array(e.length); t < e.length; t++) n[t] = e[t]; return n; } return Array.from(e); } function d (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } var h = (0, c(n(10)).default)('quill:selection'), f = function e (t) { var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0; d(this, e), this.index = t, this.length = n; }, p = function () { function e (t, n) { var i = this; d(this, e), this.emitter = n, this.scroll = t, this.composing = !1, this.mouseDown = !1, this.root = this.scroll.domNode, this.cursor = r.default.create( 'cursor', this), this.lastRange = this.savedRange = new f(0, 0), this.handleComposition(), this.handleDragging(), this.emitter.listenDOM( 'selectionchange', document, (function () { i.mouseDown || setTimeout( i.update.bind(i, l.default.sources.USER), 1); })), this.emitter.on(l.default.events.EDITOR_CHANGE, (function (e, t) { e === l.default.events.TEXT_CHANGE && t.length() > 0 && i.update(l.default.sources.SILENT); })), this.emitter.on( l.default.events.SCROLL_BEFORE_UPDATE, (function () { if (i.hasFocus()) { var e = i.getNativeRange(); null != e && e.start.node !== i.cursor.textNode && i.emitter.once( l.default.events.SCROLL_UPDATE, (function () { try { i.setNativeRange(e.start.node, e.start.offset, e.end.node, e.end.offset); } catch (e) {} })); } })), this.emitter.on( l.default.events.SCROLL_OPTIMIZE, (function (e, t) { if (t.range) { var n = t.range, a = n.startNode, r = n.startOffset, o = n.endNode, s = n.endOffset; i.setNativeRange(a, r, o, s); } })), this.update(l.default.sources.SILENT); } return a(e, [ { key: 'handleComposition', value: function () { var e = this; this.root.addEventListener('compositionstart', (function () {e.composing = !0;})), this.root.addEventListener( 'compositionend', (function () { if (e.composing = !1, e.cursor.parent) { var t = e.cursor.restore(); if (!t) return; setTimeout((function () { e.setNativeRange(t.startNode, t.startOffset, t.endNode, t.endOffset); }), 1); } })); }, }, { key: 'handleDragging', value: function () { var e = this; this.emitter.listenDOM('mousedown', document.body, (function () {e.mouseDown = !0;})), this.emitter.listenDOM( 'mouseup', document.body, (function () { e.mouseDown = !1, e.update( l.default.sources.USER); })); }, }, { key: 'focus', value: function () { this.hasFocus() || (this.root.focus(), this.setRange( this.savedRange)); }, }, { key: 'format', value: function (e, t) { if (null == this.scroll.whitelist || this.scroll.whitelist[e]) { this.scroll.update(); var n = this.getNativeRange(); if (null != n && n.native.collapsed && !r.default.query(e, r.default.Scope.BLOCK)) { if (n.start.node !== this.cursor.textNode) { var i = r.default.find(n.start.node, !1); if (null == i) return; if (i instanceof r.default.Leaf) { var a = i.split(n.start.offset); i.parent.insertBefore( this.cursor, a); } else i.insertBefore(this.cursor, n.start.node); this.cursor.attach(); } this.cursor.format(e, t), this.scroll.optimize(), this.setNativeRange( this.cursor.textNode, this.cursor.textNode.data.length), this.update(); } } }, }, { key: 'getBounds', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, n = this.scroll.length(); e = Math.min(e, n - 1), t = Math.min(e + t, n - 1) - e; var a = void 0, r = this.scroll.leaf(e), o = i(r, 2), s = o[0], l = o[1]; if (null == s) return null; var c = s.position(l, !0), u = i(c, 2); a = u[0], l = u[1]; var d = document.createRange(); if (t > 0) { d.setStart(a, l); var h = this.scroll.leaf(e + t), f = i(h, 2); if (s = f[0], l = f[1], null == s) return null; var p = s.position(l, !0), m = i(p, 2); return a = m[0], l = m[1], d.setEnd(a, l), d.getBoundingClientRect(); } var g = 'left', v = void 0; return a instanceof Text ? (l < a.data.length ? (d.setStart(a, l), d.setEnd(a, l + 1)) : (d.setStart(a, l - 1), d.setEnd(a, l), g = 'right'), v = d.getBoundingClientRect()) : (v = s.domNode.getBoundingClientRect(), l > 0 && (g = 'right')), { bottom: v.top + v.height, height: v.height, left: v[g], right: v[g], top: v.top, width: 0, }; }, }, { key: 'getNativeRange', value: function () { var e = document.getSelection(); if (null == e || e.rangeCount <= 0) return null; var t = e.getRangeAt(0); if (null == t) return null; var n = this.normalizeNative(t); return h.info('getNativeRange', n), n; }, }, { key: 'getRange', value: function () { var e = this.getNativeRange(); return null == e ? [null, null] : [this.normalizedToRange(e), e]; }, }, { key: 'hasFocus', value: function () { return document.activeElement === this.root; }, }, { key: 'normalizedToRange', value: function (e) { var t = this, n = [[e.start.node, e.start.offset]]; e.native.collapsed || n.push([e.end.node, e.end.offset]); var a = n.map((function (e) { var n = i(e, 2), a = n[0], o = n[1], s = r.default.find(a, !0), l = s.offset(t.scroll); return 0 === o ? l : s instanceof r.default.Container ? l + s.length() : l + s.index(a, o); })), o = Math.min(Math.max.apply(Math, u(a)), this.scroll.length() - 1), s = Math.min.apply(Math, [o].concat(u(a))); return new f(s, o - s); }, }, { key: 'normalizeNative', value: function (e) { if (!m(this.root, e.startContainer) || !e.collapsed && !m(this.root, e.endContainer)) return null; var t = { start: { node: e.startContainer, offset: e.startOffset, }, end: { node: e.endContainer, offset: e.endOffset, }, native: e, }; return [t.start, t.end].forEach((function (e) { for (var t = e.node, n = e.offset; !(t instanceof Text) && t.childNodes.length > 0;) if (t.childNodes.length > n) t = t.childNodes[n], n = 0; else { if (t.childNodes.length !== n) break; n = (t = t.lastChild) instanceof Text ? t.data.length : t.childNodes.length + 1; } e.node = t, e.offset = n; })), t; }, }, { key: 'rangeToNative', value: function (e) { var t = this, n = e.collapsed ? [e.index] : [ e.index, e.index + e.length], a = [], r = this.scroll.length(); return n.forEach((function (e, n) { e = Math.min(r - 1, e); var o, s = t.scroll.leaf(e), l = i(s, 2), c = l[0], u = l[1], d = c.position(u, 0 !== n), h = i(d, 2); o = h[0], u = h[1], a.push(o, u); })), a.length < 2 && (a = a.concat(a)), a; }, }, { key: 'scrollIntoView', value: function (e) { var t = this.lastRange; if (null != t) { var n = this.getBounds(t.index, t.length); if (null != n) { var a = this.scroll.length() - 1, r = this.scroll.line( Math.min(t.index, a)), o = i(r, 1)[0], s = o; if (t.length > 0) { var l = this.scroll.line( Math.min(t.index + t.length, a)); s = i(l, 1)[0]; } if (null != o && null != s) { var c = e.getBoundingClientRect(); n.top < c.top ? e.scrollTop -= c.top - n.top : n.bottom > c.bottom && (e.scrollTop += n.bottom - c.bottom); } } } }, }, { key: 'setNativeRange', value: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : e, i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : t, a = arguments.length > 4 && void 0 !== arguments[4] && arguments[4]; if (h.info('setNativeRange', e, t, n, i), null == e || null != this.root.parentNode && null != e.parentNode && null != n.parentNode) { var r = document.getSelection(); if (null != r) if (null != e) { this.hasFocus() || this.root.focus(); var o = (this.getNativeRange() || {}).native; if (null == o || a || e !== o.startContainer || t !== o.startOffset || n !== o.endContainer || i !== o.endOffset) { 'BR' == e.tagName && (t = [].indexOf.call( e.parentNode.childNodes, e), e = e.parentNode), 'BR' == n.tagName && (i = [].indexOf.call( n.parentNode.childNodes, n), n = n.parentNode); var s = document.createRange(); s.setStart(e, t), s.setEnd(n, i), r.removeAllRanges(), r.addRange( s); } } else r.removeAllRanges(), this.root.blur(), document.body.focus(); } }, }, { key: 'setRange', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : l.default.sources.API; if ('string' == typeof t && (n = t, t = !1), h.info('setRange', e), null != e) { var i = this.rangeToNative(e); this.setNativeRange.apply(this, u(i).concat([t])); } else this.setNativeRange(null); this.update(n); }, }, { key: 'update', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : l.default.sources.USER, t = this.lastRange, n = this.getRange(), a = i(n, 2), r = a[0], c = a[1]; if (this.lastRange = r, null != this.lastRange && (this.savedRange = this.lastRange), !(0, s.default)( t, this.lastRange)) { var u; !this.composing && null != c && c.native.collapsed && c.start.node !== this.cursor.textNode && this.cursor.restore(); var d, h = [ l.default.events.SELECTION_CHANGE, (0, o.default)(this.lastRange), (0, o.default)(t), e]; if ((u = this.emitter).emit.apply(u, [l.default.events.EDITOR_CHANGE].concat( h)), e !== l.default.sources.SILENT) (d = this.emitter).emit.apply( d, h); } }, }]), e; }(); function m (e, t) { try {t.parentNode;} catch (e) {return !1;} return t instanceof Text && (t = t.parentNode), e.contains( t); } t.Range = f, t.default = p; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = n(0); function s (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function l (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var c = function (e) { function t () { return s(this, t), l(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, [ { key: 'insertInto', value: function (e, n) { 0 === e.children.length ? r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'insertInto', this).call(this, e, n) : this.remove(); }, }, { key: 'length', value: function () {return 0;} }, { key: 'value', value: function () {return '';} }], [{ key: 'value', value: function () {} }]), t; }(((i = o) && i.__esModule ? i : { default: i }).default.Embed); c.blotName = 'break', c.tagName = 'BR', t.default = c; }, function (e, t, n) { 'use strict'; var i, a = this && this.__extends || (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) {e.__proto__ = t;} || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); }, function (e, t) { function n () {this.constructor = e;} i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n); }); Object.defineProperty(t, '__esModule', { value: !0 }); var r = n(44), o = n(30), s = n(1), l = function (e) { function t (t) { var n = e.call(this, t) || this; return n.build(), n; } return a(t, e), t.prototype.appendChild = function (e) { this.insertBefore(e); }, t.prototype.attach = function () { e.prototype.attach.call(this), this.children.forEach( (function (e) {e.attach();})); }, t.prototype.build = function () { var e = this; this.children = new r.default, [].slice.call( this.domNode.childNodes). reverse(). forEach((function (t) { try { var n = c(t); e.insertBefore(n, e.children.head || void 0); } catch (e) { if (e instanceof s.ParchmentError) return; throw e; } })); }, t.prototype.deleteAt = function (e, t) { if (0 === e && t === this.length()) return this.remove(); this.children.forEachAt(e, t, (function (e, t, n) {e.deleteAt(t, n);})); }, t.prototype.descendant = function ( e, n) { var i = this.children.find(n), a = i[0], r = i[1]; return null == e.blotName && e(a) || null != e.blotName && a instanceof e ? [a, r] : a instanceof t ? a.descendant(e, r) : [null, -1]; }, t.prototype.descendants = function (e, n, i) { void 0 === n && (n = 0), void 0 === i && (i = Number.MAX_VALUE); var a = [], r = i; return this.children.forEachAt(n, i, (function (n, i, o) { (null == e.blotName && e(n) || null != e.blotName && n instanceof e) && a.push(n), n instanceof t && (a = a.concat(n.descendants(e, i, r))), r -= o; })), a; }, t.prototype.detach = function () { this.children.forEach( (function (e) {e.detach();})), e.prototype.detach.call( this); }, t.prototype.formatAt = function ( e, t, n, i) { this.children.forEachAt(e, t, (function (e, t, a) {e.formatAt(t, a, n, i);})); }, t.prototype.insertAt = function ( e, t, n) { var i = this.children.find(e), a = i[0], r = i[1]; if (a) a.insertAt(r, t, n); else { var o = null == n ? s.create('text', t) : s.create(t, n); this.appendChild(o); } }, t.prototype.insertBefore = function (e, t) { if (null != this.statics.allowedChildren && !this.statics.allowedChildren.some((function (t) { return e instanceof t; }))) throw new s.ParchmentError( 'Cannot insert ' + e.statics.blotName + ' into ' + this.statics.blotName); e.insertInto(this, t); }, t.prototype.length = function () { return this.children.reduce( (function (e, t) {return e + t.length();}), 0); }, t.prototype.moveChildren = function ( e, t) { this.children.forEach( (function (n) {e.insertBefore(n, t);})); }, t.prototype.optimize = function (t) { if (e.prototype.optimize.call(this, t), 0 === this.children.length) if (null != this.statics.defaultChild) { var n = s.create(this.statics.defaultChild); this.appendChild(n), n.optimize(t); } else this.remove(); }, t.prototype.path = function (e, n) { void 0 === n && (n = !1); var i = this.children.find(e, n), a = i[0], r = i[1], o = [[this, e]]; return a instanceof t ? o.concat(a.path(r, n)) : (null != a && o.push([a, r]), o); }, t.prototype.removeChild = function (e) { this.children.remove(e); }, t.prototype.replace = function (n) { n instanceof t && n.moveChildren(this), e.prototype.replace.call(this, n); }, t.prototype.split = function (e, t) { if (void 0 === t && (t = !1), !t) { if (0 === e) return this; if (e === this.length()) return this.next; } var n = this.clone(); return this.parent.insertBefore(n, this.next), this.children.forEachAt(e, this.length(), (function (e, i, a) { e = e.split(i, t), n.appendChild(e); })), n; }, t.prototype.unwrap = function () { this.moveChildren(this.parent, this.next), this.remove(); }, t.prototype.update = function (e, t) { var n = this, i = [], a = []; e.forEach((function (e) { e.target === n.domNode && 'childList' === e.type && (i.push.apply(i, e.addedNodes), a.push.apply(a, e.removedNodes)); })), a.forEach((function (e) { if (!(null != e.parentNode && 'IFRAME' !== e.tagName && document.body.compareDocumentPosition(e) & Node.DOCUMENT_POSITION_CONTAINED_BY)) { var t = s.find(e); null != t && (null != t.domNode.parentNode && t.domNode.parentNode !== n.domNode || t.detach()); } })), i.filter( (function (e) {return e.parentNode == n.domNode;})). sort((function (e, t) { return e === t ? 0 : e.compareDocumentPosition(t) & Node.DOCUMENT_POSITION_FOLLOWING ? 1 : -1; })). forEach((function (e) { var t = null; null != e.nextSibling && (t = s.find(e.nextSibling)); var i = c(e); i.next == t && null != i.next || (null != i.parent && i.parent.removeChild(n), n.insertBefore(i, t || void 0)); })); }, t; }(o.default); function c (e) { var t = s.find(e); if (null == t) try { t = s.create(e); } catch (n) { t = s.create(s.Scope.INLINE), [].slice.call( e.childNodes). forEach((function (e) { t.domNode.appendChild(e); })), e.parentNode && e.parentNode.replaceChild(t.domNode, e), t.attach(); } return t; } t.default = l; }, function (e, t, n) { 'use strict'; var i, a = this && this.__extends || (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) {e.__proto__ = t;} || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); }, function (e, t) { function n () {this.constructor = e;} i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n); }); Object.defineProperty(t, '__esModule', { value: !0 }); var r = n(12), o = n(31), s = n(17), l = n(1), c = function (e) { function t (t) { var n = e.call(this, t) || this; return n.attributes = new o.default(n.domNode), n; } return a(t, e), t.formats = function (e) { return 'string' == typeof this.tagName || (Array.isArray(this.tagName) ? e.tagName.toLowerCase() : void 0); }, t.prototype.format = function ( e, t) { var n = l.query(e); n instanceof r.default ? this.attributes.attribute( n, t) : t && (null == n || e === this.statics.blotName && this.formats()[e] === t || this.replaceWith(e, t)); }, t.prototype.formats = function () { var e = this.attributes.values(), t = this.statics.formats(this.domNode); return null != t && (e[this.statics.blotName] = t), e; }, t.prototype.replaceWith = function ( t, n) { var i = e.prototype.replaceWith.call(this, t, n); return this.attributes.copy(i), i; }, t.prototype.update = function (t, n) { var i = this; e.prototype.update.call(this, t, n), t.some( (function (e) { return e.target === i.domNode && 'attributes' === e.type; })) && this.attributes.build(); }, t.prototype.wrap = function ( n, i) { var a = e.prototype.wrap.call(this, n, i); return a instanceof t && a.statics.scope === this.statics.scope && this.attributes.move(a), a; }, t; }(s.default); t.default = c; }, function (e, t, n) { 'use strict'; var i, a = this && this.__extends || (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) {e.__proto__ = t;} || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); }, function (e, t) { function n () {this.constructor = e;} i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n); }); Object.defineProperty(t, '__esModule', { value: !0 }); var r = n(30), o = n(1), s = function (e) { function t () { return null !== e && e.apply(this, arguments) || this; } return a(t, e), t.value = function (e) {return !0;}, t.prototype.index = function ( e, t) { return this.domNode === e || this.domNode.compareDocumentPosition(e) & Node.DOCUMENT_POSITION_CONTAINED_BY ? Math.min(t, 1) : -1; }, t.prototype.position = function ( e, t) { var n = [].indexOf.call(this.parent.domNode.childNodes, this.domNode); return e > 0 && (n += 1), [this.parent.domNode, n]; }, t.prototype.value = function () { var e; return (e = {})[this.statics.blotName] = this.statics.value( this.domNode) || !0, e; }, t.scope = o.Scope.INLINE_BLOT, t; }(r.default); t.default = s; }, function (e, t, n) { var i = n(11), a = n(3), r = { attributes: { compose: function (e, t, n) { 'object' != typeof e && (e = {}), 'object' != typeof t && (t = {}); var i = a(!0, {}, t); for (var r in n || (i = Object.keys(i). reduce((function (e, t) { return null != i[t] && (e[t] = i[t]), e; }), {})), e) void 0 !== e[r] && void 0 === t[r] && (i[r] = e[r]); return Object.keys(i).length > 0 ? i : void 0; }, diff: function (e, t) { 'object' != typeof e && (e = {}), 'object' != typeof t && (t = {}); var n = Object.keys(e). concat(Object.keys(t)). reduce((function (n, a) { return i(e[a], t[a]) || (n[a] = void 0 === t[a] ? null : t[a]), n; }), {}); return Object.keys(n).length > 0 ? n : void 0; }, transform: function (e, t, n) { if ('object' != typeof e) return t; if ('object' == typeof t) { if (!n) return t; var i = Object.keys(t). reduce((function (n, i) { return void 0 === e[i] && (n[i] = t[i]), n; }), {}); return Object.keys(i).length > 0 ? i : void 0; } }, }, iterator: function (e) {return new o(e);}, length: function (e) { return 'number' == typeof e.delete ? e.delete : 'number' == typeof e.retain ? e.retain : 'string' == typeof e.insert ? e.insert.length : 1; }, }; function o (e) {this.ops = e, this.index = 0, this.offset = 0;} o.prototype.hasNext = function () { return this.peekLength() < 1 / 0; }, o.prototype.next = function (e) { e || (e = 1 / 0); var t = this.ops[this.index]; if (t) { var n = this.offset, i = r.length(t); if (e >= i - n ? (e = i - n, this.index += 1, this.offset = 0) : this.offset += e, 'number' == typeof t.delete) return { delete: e }; var a = {}; return t.attributes && (a.attributes = t.attributes), 'number' == typeof t.retain ? a.retain = e : 'string' == typeof t.insert ? a.insert = t.insert.substr(n, e) : a.insert = t.insert, a; } return { retain: 1 / 0 }; }, o.prototype.peek = function () {return this.ops[this.index];}, o.prototype.peekLength = function () { return this.ops[this.index] ? r.length(this.ops[this.index]) - this.offset : 1 / 0; }, o.prototype.peekType = function () { return this.ops[this.index] ? 'number' == typeof this.ops[this.index].delete ? 'delete' : 'number' == typeof this.ops[this.index].retain ? 'retain' : 'insert' : 'retain'; }, o.prototype.rest = function () { if (this.hasNext()) { if (0 === this.offset) return this.ops.slice( this.index); var e = this.offset, t = this.index, n = this.next(), i = this.ops.slice(this.index); return this.offset = e, this.index = t, [n].concat(i); } return []; }, e.exports = r; }, function (e, t) { var n = function () { 'use strict'; function e (e, t) {return null != t && e instanceof t;} var t, n, i; try {t = Map;} catch (e) {t = function () {};} try {n = Set;} catch (e) {n = function () {};} try {i = Promise;} catch (e) {i = function () {};} function a (r, s, l, c, u) { 'object' == typeof s && (l = s.depth, c = s.prototype, u = s.includeNonEnumerable, s = s.circular); var d = [], h = [], f = 'undefined' != typeof Buffer; return void 0 === s && (s = !0), void 0 === l && (l = 1 / 0), function r (l, p) { if (null === l) return null; if (0 === p) return l; var m, g; if ('object' != typeof l) return l; if (e(l, t)) m = new t; else if (e(l, n)) m = new n; else if (e(l, i)) m = new i( (function (e, t) { l.then((function (t) {e(r(t, p - 1));}), (function (e) {t(r(e, p - 1));})); })); else if (a.__isArray( l)) m = []; else if (a.__isRegExp( l)) m = new RegExp(l.source, o(l)), l.lastIndex && (m.lastIndex = l.lastIndex); else if (a.__isDate( l)) m = new Date(l.getTime()); else { if (f && Buffer.isBuffer( l)) return m = Buffer.allocUnsafe ? Buffer.allocUnsafe(l.length) : new Buffer(l.length), l.copy(m), m; e(l, Error) ? m = Object.create(l) : void 0 === c ? (g = Object.getPrototypeOf( l), m = Object.create(g)) : (m = Object.create(c), g = c); } if (s) { var v = d.indexOf(l); if (-1 != v) return h[v]; d.push(l), h.push(m); } for (var y in e(l, t) && l.forEach( (function (e, t) { var n = r(t, p - 1), i = r(e, p - 1); m.set(n, i); })), e(l, n) && l.forEach((function (e) { var t = r(e, p - 1); m.add(t); })), l) { var b; g && (b = Object.getOwnPropertyDescriptor(g, y)), b && null == b.set || (m[y] = r(l[y], p - 1)); } if (Object.getOwnPropertySymbols) { var x = Object.getOwnPropertySymbols(l); for (y = 0; y < x.length; y++) { var _ = x[y]; (!(k = Object.getOwnPropertyDescriptor(l, _)) || k.enumerable || u) && (m[_] = r(l[_], p - 1), k.enumerable || Object.defineProperty(m, _, { enumerable: !1 })); } } if (u) { var w = Object.getOwnPropertyNames(l); for (y = 0; y < w.length; y++) { var k, M = w[y]; (k = Object.getOwnPropertyDescriptor(l, M)) && k.enumerable || (m[M] = r(l[M], p - 1), Object.defineProperty(m, M, { enumerable: !1 })); } } return m; }(r, l); } function r (e) {return Object.prototype.toString.call(e);} function o (e) { var t = ''; return e.global && (t += 'g'), e.ignoreCase && (t += 'i'), e.multiline && (t += 'm'), t; } return a.clonePrototype = function (e) { if (null === e) return null; var t = function () {}; return t.prototype = e, new t; }, a.__objToStr = r, a.__isDate = function (e) { return 'object' == typeof e && '[object Date]' === r(e); }, a.__isArray = function (e) { return 'object' == typeof e && '[object Array]' === r(e); }, a.__isRegExp = function (e) { return 'object' == typeof e && '[object RegExp]' === r(e); }, a.__getRegExpFlags = o, a; }(); 'object' == typeof e && e.exports && (e.exports = n); }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = function (e, t) { if (Array.isArray(e)) return e; if (Symbol.iterator in Object(e)) return function ( e, t) { var n = [], i = !0, a = !1, r = void 0; try { for (var o, s = e[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); i = !0) ; } catch (e) {a = !0, r = e;} finally { try { !i && s.return && s.return(); } finally {if (a) throw r;} } return n; }(e, t); throw new TypeError( 'Invalid attempt to destructure non-iterable instance'); }, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = f(n(0)), s = f(n(8)), l = n(4), c = f(l), u = f(n(16)), d = f(n(13)), h = f(n(25)); function f (e) {return e && e.__esModule ? e : { default: e };} function p (e) { return e instanceof c.default || e instanceof l.BlockEmbed; } var m = function (e) { function t (e, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, t); var i = function ( e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e)); return i.emitter = n.emitter, Array.isArray( n.whitelist) && (i.whitelist = n.whitelist.reduce( (function (e, t) {return e[t] = !0, e;}), {})), i.domNode.addEventListener('DOMNodeInserted', (function () {})), i.optimize(), i.enable(), i; } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, [ { key: 'batchStart', value: function () {this.batch = !0;}, }, { key: 'batchEnd', value: function () {this.batch = !1, this.optimize();}, }, { key: 'deleteAt', value: function (e, n) { var a = this.line(e), o = i(a, 2), s = o[0], c = o[1], h = this.line(e + n), f = i(h, 1)[0]; if (r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'deleteAt', this).call(this, e, n), null != f && s !== f && c > 0) { if (s instanceof l.BlockEmbed || f instanceof l.BlockEmbed) return void this.optimize(); if (s instanceof d.default) { var p = s.newlineIndex(s.length(), !0); if (p > -1 && (s = s.split(p + 1)) === f) return void this.optimize(); } else if (f instanceof d.default) { var m = f.newlineIndex(0); m > -1 && f.split(m + 1); } var g = f.children.head instanceof u.default ? null : f.children.head; s.moveChildren(f, g), s.remove(); } this.optimize(); }, }, { key: 'enable', value: function () { var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0]; this.domNode.setAttribute('contenteditable', e); }, }, { key: 'formatAt', value: function (e, n, i, a) { (null == this.whitelist || this.whitelist[i]) && (r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'formatAt', this). call(this, e, n, i, a), this.optimize()); }, }, { key: 'insertAt', value: function (e, n, i) { if (null == i || null == this.whitelist || this.whitelist[n]) { if (e >= this.length()) if (null == i || null == o.default.query(n, o.default.Scope.BLOCK)) { var a = o.default.create( this.statics.defaultChild); this.appendChild(a), null == i && n.endsWith('\n') && (n = n.slice(0, -1)), a.insertAt(0, n, i); } else { var s = o.default.create(n, i); this.appendChild(s); } else r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'insertAt', this).call(this, e, n, i); this.optimize(); } }, }, { key: 'insertBefore', value: function (e, n) { if (e.statics.scope === o.default.Scope.INLINE_BLOT) { var i = o.default.create( this.statics.defaultChild); i.appendChild(e), e = i; } r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'insertBefore', this).call(this, e, n); }, }, { key: 'leaf', value: function (e) { return this.path(e).pop() || [null, -1]; }, }, { key: 'line', value: function (e) { return e === this.length() ? this.line(e - 1) : this.descendant(p, e); }, }, { key: 'lines', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Number.MAX_VALUE, n = function e (t, n, i) { var a = [], r = i; return t.children.forEachAt(n, i, (function (t, n, i) { p(t) ? a.push(t) : t instanceof o.default.Container && (a = a.concat( e(t, n, r))), r -= i; })), a; }; return n(this, e, t); }, }, { key: 'optimize', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}; !0 !== this.batch && (r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'optimize', this). call(this, e, n), e.length > 0 && this.emitter.emit( s.default.events.SCROLL_OPTIMIZE, e, n)); }, }, { key: 'path', value: function (e) { return r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'path', this).call(this, e).slice(1); }, }, { key: 'update', value: function (e) { if (!0 !== this.batch) { var n = s.default.sources.USER; 'string' == typeof e && (n = e), Array.isArray(e) || (e = this.observer.takeRecords()), e.length > 0 && this.emitter.emit( s.default.events.SCROLL_BEFORE_UPDATE, n, e), r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'update', this). call(this, e.concat([])), e.length > 0 && this.emitter.emit( s.default.events.SCROLL_UPDATE, n, e); } }, }]), t; }(o.default.Scroll); m.blotName = 'scroll', m.className = 'ql-editor', m.tagName = 'DIV', m.defaultChild = 'block', m.allowedChildren = [ c.default, l.BlockEmbed, h.default], t.default = m; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.SHORTKEY = t.default = void 0; var i = '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; }, a = function (e, t) { if (Array.isArray(e)) return e; if (Symbol.iterator in Object(e)) return function ( e, t) { var n = [], i = !0, a = !1, r = void 0; try { for (var o, s = e[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); i = !0) ; } catch (e) {a = !0, r = e;} finally { try { !i && s.return && s.return(); } finally {if (a) throw r;} } return n; }(e, t); throw new TypeError( 'Invalid attempt to destructure non-iterable instance'); }, r = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), o = m(n(21)), s = m(n(11)), l = m(n(3)), c = m(n(2)), u = m(n(20)), d = m(n(0)), h = m(n(5)), f = m(n(10)), p = m(n(9)); function m (e) {return e && e.__esModule ? e : { default: e };} function g (e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0, }) : e[t] = n, e; } var v = (0, f.default)('quill:keyboard'), y = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey', b = function (e) { function t (e, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, t); var i = function ( e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; }(this, (t.__proto__ || Object.getPrototypeOf(t)).call( this, e, n)); return i.bindings = {}, Object.keys( i.options.bindings). forEach((function (t) { ('list autofill' !== t || null == e.scroll.whitelist || e.scroll.whitelist.list) && i.options.bindings[t] && i.addBinding(i.options.bindings[t]); })), i.addBinding( { key: t.keys.ENTER, shiftKey: null }, M), i.addBinding({ key: t.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null, }, (function () {})), /Firefox/i.test( navigator.userAgent) ? (i.addBinding( { key: t.keys.BACKSPACE }, { collapsed: !0 }, _), i.addBinding({ key: t.keys.DELETE }, { collapsed: !0 }, w)) : (i.addBinding( { key: t.keys.BACKSPACE }, { collapsed: !0, prefix: /^.?$/ }, _), i.addBinding({ key: t.keys.DELETE }, { collapsed: !0, suffix: /^.?$/ }, w)), i.addBinding({ key: t.keys.BACKSPACE }, { collapsed: !1 }, k), i.addBinding( { key: t.keys.DELETE }, { collapsed: !1 }, k), i.addBinding({ key: t.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null, }, { collapsed: !0, offset: 0 }, _), i.listen(), i; } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), r(t, null, [ { key: 'match', value: function (e, t) { return t = T(t), ![ 'altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some((function (n) { return !!t[n] !== e[n] && null !== t[n]; })) && t.key === (e.which || e.keyCode); }, }]), r(t, [ { key: 'addBinding', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, i = T(e); if (null == i || null == i.key) return v.warn( 'Attempted to add invalid keyboard binding', i); 'function' == typeof t && (t = { handler: t }), 'function' == typeof n && (n = { handler: n }), i = (0, l.default)(i, t, n), this.bindings[i.key] = this.bindings[i.key] || [], this.bindings[i.key].push(i); }, }, { key: 'listen', value: function () { var e = this; this.quill.root.addEventListener('keydown', (function (n) { if (!n.defaultPrevented) { var r = n.which || n.keyCode, o = (e.bindings[r] || []).filter( (function (e) { return t.match(n, e); })); if (0 !== o.length) { var l = e.quill.getSelection(); if (null != l && e.quill.hasFocus()) { var c = e.quill.getLine( l.index), u = a(c, 2), h = u[0], f = u[1], p = e.quill.getLeaf( l.index), m = a(p, 2), g = m[0], v = m[1], y = 0 === l.length ? [g, v] : e.quill.getLeaf( l.index + l.length), b = a(y, 2), x = b[0], _ = b[1], w = g instanceof d.default.Text ? g.value(). slice(0, v) : '', k = x instanceof d.default.Text ? x.value(). slice(_) : '', M = { collapsed: 0 === l.length, empty: 0 === l.length && h.length() <= 1, format: e.quill.getFormat( l), offset: f, prefix: w, suffix: k, }; o.some((function (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( (function (e) { return null == M.format[e]; }))) return !1; } else if ('object' === i(t.format) && !Object.keys( t.format). every( (function (e) { return !0 === t.format[e] ? null != M.format[e] : !1 === t.format[e] ? null == M.format[e] : (0, s.default)( 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( e, l, M)); })) && n.preventDefault(); } } } })); }, }]), t; }(p.default); function x (e, t) { var n, i = e === b.keys.LEFT ? 'prefix' : 'suffix'; return g(n = { key: e, shiftKey: t, altKey: null }, i, /^$/), g(n, 'handler', (function (n) { var i = n.index; e === b.keys.RIGHT && (i += n.length + 1); var r = this.quill.getLeaf(i); return !(a(r, 1)[0] instanceof d.default.Embed) || (e === b.keys.LEFT ? t ? this.quill.setSelection(n.index - 1, n.length + 1, h.default.sources.USER) : this.quill.setSelection(n.index - 1, h.default.sources.USER) : t ? this.quill.setSelection(n.index, n.length + 1, h.default.sources.USER) : this.quill.setSelection( n.index + n.length + 1, h.default.sources.USER), !1); })), n; } function _ (e, t) { if (!(0 === e.index || this.quill.getLength() <= 1)) { var n = this.quill.getLine(e.index), i = a(n, 1)[0], r = {}; if (0 === t.offset) { var o = this.quill.getLine(e.index - 1), s = a(o, 1)[0]; if (null != s && s.length() > 1) { var l = i.formats(), c = this.quill.getFormat(e.index - 1, 1); r = u.default.attributes.diff(l, c) || {}; } } var d = /[\uD800-\uDBFF][\uDC00-\uDFFF]$/.test(t.prefix) ? 2 : 1; this.quill.deleteText(e.index - d, d, h.default.sources.USER), Object.keys(r).length > 0 && this.quill.formatLine(e.index - d, d, r, h.default.sources.USER), this.quill.focus(); } } function w ( e, t) { var n = /^[\uD800-\uDBFF][\uDC00-\uDFFF]/.test(t.suffix) ? 2 : 1; if (!(e.index >= this.quill.getLength() - n)) { var i = {}, r = 0, o = this.quill.getLine(e.index), s = a(o, 1)[0]; if (t.offset >= s.length() - 1) { var l = this.quill.getLine(e.index + 1), c = a(l, 1)[0]; if (c) { var d = s.formats(), f = this.quill.getFormat(e.index, 1); i = u.default.attributes.diff(d, f) || {}, r = c.length(); } } this.quill.deleteText(e.index, n, h.default.sources.USER), Object.keys(i).length > 0 && this.quill.formatLine(e.index + r - 1, n, i, h.default.sources.USER); } } function k (e) { var t = this.quill.getLines(e), n = {}; if (t.length > 1) { var i = t[0].formats(), a = t[t.length - 1].formats(); n = u.default.attributes.diff(a, i) || {}; } this.quill.deleteText(e, h.default.sources.USER), Object.keys(n).length > 0 && this.quill.formatLine(e.index, 1, n, h.default.sources.USER), this.quill.setSelection( e.index, h.default.sources.SILENT), this.quill.focus(); } function M (e, t) { var n = this; e.length > 0 && this.quill.scroll.deleteAt(e.index, e.length); var i = Object.keys(t.format). reduce((function (e, n) { return d.default.query(n, d.default.Scope.BLOCK) && !Array.isArray(t.format[n]) && (e[n] = t.format[n]), e; }), {}); this.quill.insertText(e.index, '\n', i, h.default.sources.USER), this.quill.setSelection( e.index + 1, h.default.sources.SILENT), this.quill.focus(), Object.keys( t.format). forEach((function (e) { null == i[e] && (Array.isArray(t.format[e]) || 'link' !== e && n.quill.format(e, t.format[e], h.default.sources.USER)); })); } function L (e) { return { key: b.keys.TAB, shiftKey: !e, format: { 'code-block': !0 }, handler: function (t) { var n = d.default.query('code-block'), i = t.index, r = t.length, o = this.quill.scroll.descendant(n, i), s = a(o, 2), l = s[0], c = s[1]; if (null != l) { var u = this.quill.getIndex(l), f = l.newlineIndex(c, !0) + 1, p = l.newlineIndex(u + c + r), m = l.domNode.textContent.slice(f, p). split('\n'); c = 0, m.forEach((function (t, a) { e ? (l.insertAt(f + c, n.TAB), c += n.TAB.length, 0 === a ? i += n.TAB.length : r += n.TAB.length) : t.startsWith( n.TAB) && (l.deleteAt(f + c, n.TAB.length), c -= n.TAB.length, 0 === a ? i -= n.TAB.length : r -= n.TAB.length), c += t.length + 1; })), this.quill.update( h.default.sources.USER), this.quill.setSelection( i, r, h.default.sources.SILENT); } }, }; } function S (e) { return { key: e[0].toUpperCase(), shortKey: !0, handler: function (t, n) { this.quill.format(e, !n.format[e], h.default.sources.USER); }, }; } function T (e) { if ('string' == typeof e || 'number' == typeof e) return T( { key: e }); if ('object' === (void 0 === e ? 'undefined' : i(e)) && (e = (0, o.default)(e, !1)), 'string' == typeof e.key) if (null != b.keys[e.key.toUpperCase()]) e.key = b.keys[e.key.toUpperCase()]; else { if (1 !== e.key.length) return null; e.key = e.key.toUpperCase().charCodeAt(0); } return e.shortKey && (e[y] = e.shortKey, delete e.shortKey), e; } b.keys = { BACKSPACE: 8, TAB: 9, ENTER: 13, ESCAPE: 27, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, DELETE: 46, }, b.DEFAULTS = { bindings: { bold: S('bold'), italic: S('italic'), underline: S('underline'), indent: { key: b.keys.TAB, format: ['blockquote', 'indent', 'list'], handler: function (e, t) { if (t.collapsed && 0 !== t.offset) return !0; this.quill.format('indent', '+1', h.default.sources.USER); }, }, outdent: { key: b.keys.TAB, shiftKey: !0, format: ['blockquote', 'indent', 'list'], handler: function (e, t) { if (t.collapsed && 0 !== t.offset) return !0; this.quill.format('indent', '-1', h.default.sources.USER); }, }, 'outdent backspace': { key: b.keys.BACKSPACE, collapsed: !0, shiftKey: null, metaKey: null, ctrlKey: null, altKey: null, format: ['indent', 'list'], offset: 0, handler: function (e, t) { null != t.format.indent ? this.quill.format('indent', '-1', h.default.sources.USER) : null != t.format.list && this.quill.format('list', !1, h.default.sources.USER); }, }, 'indent code-block': L(!0), 'outdent code-block': L(!1), 'remove tab': { key: b.keys.TAB, shiftKey: !0, collapsed: !0, prefix: /\t$/, handler: function (e) { this.quill.deleteText(e.index - 1, 1, h.default.sources.USER); }, }, tab: { key: b.keys.TAB, handler: function (e) { this.quill.history.cutoff(); var t = (new c.default).retain(e.index). delete(e.length). insert('\t'); this.quill.updateContents(t, h.default.sources.USER), this.quill.history.cutoff(), this.quill.setSelection( e.index + 1, h.default.sources.SILENT); }, }, 'list empty enter': { key: b.keys.ENTER, collapsed: !0, format: ['list'], empty: !0, handler: function (e, t) { this.quill.format('list', !1, h.default.sources.USER), t.format.indent && this.quill.format('indent', !1, h.default.sources.USER); }, }, 'checklist enter': { key: b.keys.ENTER, collapsed: !0, format: { list: 'checked' }, handler: function (e) { var t = this.quill.getLine(e.index), n = a(t, 2), i = n[0], r = n[1], o = (0, l.default)({}, i.formats(), { list: 'checked' }), s = (new c.default).retain(e.index). insert('\n', o). retain(i.length() - r - 1). retain(1, { list: 'unchecked' }); this.quill.updateContents(s, h.default.sources.USER), this.quill.setSelection( e.index + 1, h.default.sources.SILENT), this.quill.scrollIntoView(); }, }, 'header enter': { key: b.keys.ENTER, collapsed: !0, format: ['header'], suffix: /^$/, handler: function (e, t) { var n = this.quill.getLine(e.index), i = a(n, 2), r = i[0], o = i[1], s = (new c.default).retain(e.index). insert('\n', t.format). retain(r.length() - o - 1). retain(1, { header: null }); this.quill.updateContents(s, h.default.sources.USER), this.quill.setSelection( e.index + 1, h.default.sources.SILENT), this.quill.scrollIntoView(); }, }, 'list autofill': { key: ' ', collapsed: !0, format: { list: !1 }, prefix: /^\s*?(\d+\.|-|\*|\[ ?\]|\[x\])$/, handler: function (e, t) { var n = t.prefix.length, i = this.quill.getLine(e.index), r = a(i, 2), o = r[0], s = r[1]; if (s > n) return !0; var l = void 0; switch (t.prefix.trim()) { case'[]': case'[ ]': l = 'unchecked'; break; case'[x]': l = 'checked'; break; case'-': case'*': l = 'bullet'; break; default: l = 'ordered'; } this.quill.insertText(e.index, ' ', h.default.sources.USER), this.quill.history.cutoff(); var u = (new c.default).retain(e.index - s). delete(n + 1). retain(o.length() - 2 - s). retain(1, { list: l }); this.quill.updateContents(u, h.default.sources.USER), this.quill.history.cutoff(), this.quill.setSelection( e.index - n, h.default.sources.SILENT); }, }, 'code exit': { key: b.keys.ENTER, collapsed: !0, format: ['code-block'], prefix: /\n\n$/, suffix: /^\s+$/, handler: function (e) { var t = this.quill.getLine(e.index), n = a(t, 2), i = n[0], r = n[1], o = (new c.default).retain( e.index + i.length() - r - 2). retain(1, { 'code-block': null }). delete(1); this.quill.updateContents(o, h.default.sources.USER); }, }, 'embed left': x(b.keys.LEFT, !1), 'embed left shift': x(b.keys.LEFT, !0), 'embed right': x(b.keys.RIGHT, !1), 'embed right shift': x(b.keys.RIGHT, !0), }, }, t.default = b, t.SHORTKEY = y; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = function (e, t) { if (Array.isArray(e)) return e; if (Symbol.iterator in Object(e)) return function ( e, t) { var n = [], i = !0, a = !1, r = void 0; try { for (var o, s = e[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); i = !0) ; } catch (e) {a = !0, r = e;} finally { try { !i && s.return && s.return(); } finally {if (a) throw r;} } return n; }(e, t); throw new TypeError( 'Invalid attempt to destructure non-iterable instance'); }, a = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, r = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), o = l(n(0)), s = l(n(7)); function l (e) {return e && e.__esModule ? e : { default: e };} var c = function (e) { function t (e, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, t); var i = function ( e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e)); return i.selection = n, i.textNode = document.createTextNode( t.CONTENTS), i.domNode.appendChild( i.textNode), i._length = 0, i; } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), r(t, null, [{ key: 'value', value: function () {} }]), r(t, [ { key: 'detach', value: function () { null != this.parent && this.parent.removeChild(this); }, }, { key: 'format', value: function (e, n) { if (0 !== this._length) return a( t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'format', this).call(this, e, n); for (var i = this, r = 0; null != i && i.statics.scope !== o.default.Scope.BLOCK_BLOT;) r += i.offset( i.parent), i = i.parent; null != i && (this._length = t.CONTENTS.length, i.optimize(), i.formatAt( r, t.CONTENTS.length, e, n), this._length = 0); }, }, { key: 'index', value: function (e, n) { return e === this.textNode ? 0 : a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'index', this).call(this, e, n); }, }, { key: 'length', value: function () {return this._length;}, }, { key: 'position', value: function () { return [ this.textNode, this.textNode.data.length]; }, }, { key: 'remove', value: function () { a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'remove', this). call(this), this.parent = null; }, }, { key: 'restore', value: function () { if (!this.selection.composing && null != this.parent) { var e = this.textNode, n = this.selection.getNativeRange(), a = void 0, r = void 0, l = void 0; if (null != n && n.start.node === e && n.end.node === e) { var c = [ e, n.start.offset, n.end.offset]; a = c[0], r = c[1], l = c[2]; } for (; null != this.domNode.lastChild && this.domNode.lastChild !== this.textNode;) this.domNode.parentNode.insertBefore( this.domNode.lastChild, this.domNode); if (this.textNode.data !== t.CONTENTS) { var u = this.textNode.data.split( t.CONTENTS).join(''); this.next instanceof s.default ? (a = this.next.domNode, this.next.insertAt( 0, u), this.textNode.data = t.CONTENTS) : (this.textNode.data = u, this.parent.insertBefore( o.default.create(this.textNode), this), this.textNode = document.createTextNode( t.CONTENTS), this.domNode.appendChild( this.textNode)); } if (this.remove(), null != r) { var d = [ r, l].map((function (e) { return Math.max(0, Math.min(a.data.length, e - 1)); })), h = i(d, 2); return r = h[0], l = h[1], { startNode: a, startOffset: r, endNode: a, endOffset: l, }; } } }, }, { key: 'update', value: function (e, t) { var n = this; if (e.some((function (e) { return 'characterData' === e.type && e.target === n.textNode; }))) { var i = this.restore(); i && (t.range = i); } }, }, { key: 'value', value: function () {return '';} }]), t; }(o.default.Embed); c.blotName = 'cursor', c.className = 'ql-cursor', c.tagName = 'span', c.CONTENTS = '\ufeff', t.default = c; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = o(n(0)), a = n(4), r = o(a); function o (e) {return e && e.__esModule ? e : { default: e };} function s (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function l (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var c = function (e) { function t () { return s(this, t), l(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), t; }(i.default.Container); c.allowedChildren = [r.default, a.BlockEmbed, c], t.default = c; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.ColorStyle = t.ColorClass = t.ColorAttributor = void 0; var i, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = n(0), s = (i = o) && i.__esModule ? i : { default: i }; function l (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function c (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var u = function (e) { function t () { return l(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, [ { key: 'value', value: function (e) { var n = r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'value', this).call(this, e); return n.startsWith('rgb(') ? (n = n.replace( /^[^\d]+/, '').replace(/[^\d]+$/, ''), '#' + n.split(','). map((function (e) { return ('00' + parseInt(e).toString(16)).slice(-2); })). join('')) : n; }, }]), t; }(s.default.Attributor.Style), d = new s.default.Attributor.Class('color', 'ql-color', { scope: s.default.Scope.INLINE }), h = new u('color', 'color', { scope: s.default.Scope.INLINE }); t.ColorAttributor = u, t.ColorClass = d, t.ColorStyle = h; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.sanitize = t.default = void 0; var i, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = n(6); function s (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function l (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var c = function (e) { function t () { return s(this, t), l(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, [ { key: 'format', value: function (e, n) { if (e !== this.statics.blotName || !n) return r( t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'format', this).call(this, e, n); n = this.constructor.sanitize( n), this.domNode.setAttribute('href', n); }, }], [ { key: 'create', value: function (e) { var n = r( t.__proto__ || Object.getPrototypeOf(t), 'create', this).call(this, e); return e = this.sanitize(e), n.setAttribute( 'href', e), n.setAttribute('rel', 'noopener noreferrer'), n.setAttribute( 'target', '_blank'), n; }, }, { key: 'formats', value: function (e) { return e.getAttribute('href'); }, }, { key: 'sanitize', value: function (e) { return u(e, this.PROTOCOL_WHITELIST) ? e : this.SANITIZED_URL; }, }]), t; }(((i = o) && i.__esModule ? i : { default: i }).default); function u (e, t) { var n = document.createElement('a'); n.href = e; var i = n.href.slice(0, n.href.indexOf(':')); return t.indexOf(i) > -1; } c.blotName = 'link', c.tagName = 'A', c.SANITIZED_URL = 'about:blank', c.PROTOCOL_WHITELIST = [ 'http', 'https', 'mailto', 'tel'], t.default = c, t.sanitize = u; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = '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; }, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = s(n(23)), o = s(n(107)); function s (e) {return e && e.__esModule ? e : { default: e };} var l = 0; function c (e, t) { e.setAttribute(t, !('true' === e.getAttribute(t))); } var u = function () { function e (t) { var n = this; !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, e), 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', (function () {n.togglePicker();})), this.label.addEventListener( 'keydown', (function (e) { switch (e.keyCode) { case r.default.keys.ENTER: n.togglePicker(); break; case r.default.keys.ESCAPE: n.escape(), e.preventDefault(); } })), this.select.addEventListener('change', this.update.bind(this)); } return a(e, [ { key: 'togglePicker', value: function () { this.container.classList.toggle( 'ql-expanded'), c(this.label, 'aria-expanded'), c(this.options, 'aria-hidden'); }, }, { key: 'buildItem', value: function (e) { var t = this, n = document.createElement('span'); return n.tabIndex = '0', n.setAttribute('role', 'button'), n.classList.add( 'ql-picker-item'), e.hasAttribute( 'value') && n.setAttribute('data-value', e.getAttribute('value')), e.textContent && n.setAttribute('data-label', e.textContent), n.addEventListener('click', (function () { t.selectItem(n, !0); })), n.addEventListener('keydown', (function (e) { switch (e.keyCode) { case r.default.keys.ENTER: t.selectItem(n, !0), e.preventDefault(); break; case r.default.keys.ESCAPE: t.escape(), e.preventDefault(); } })), n; }, }, { key: 'buildLabel', value: function () { var e = document.createElement('span'); return e.classList.add( 'ql-picker-label'), e.innerHTML = o.default, e.tabIndex = '0', e.setAttribute( 'role', 'button'), e.setAttribute( 'aria-expanded', 'false'), this.container.appendChild(e), e; }, }, { key: 'buildOptions', value: function () { var e = this, t = document.createElement('span'); t.classList.add( 'ql-picker-options'), t.setAttribute( 'aria-hidden', 'true'), t.tabIndex = '-1', t.id = 'ql-picker-options-' + l, l += 1, this.label.setAttribute( 'aria-controls', t.id), this.options = t, [].slice.call( this.select.options). forEach((function (n) { var i = e.buildItem(n); t.appendChild(i), !0 === n.selected && e.selectItem(i); })), this.container.appendChild(t); }, }, { key: 'buildPicker', value: function () { var e = this; [].slice.call(this.select.attributes). forEach((function (t) { e.container.setAttribute(t.name, t.value); })), this.container.classList.add( 'ql-picker'), this.label = this.buildLabel(), this.buildOptions(); }, }, { key: 'escape', value: function () { var e = this; this.close(), setTimeout( (function () {return e.label.focus();}), 1); }, }, { key: 'close', value: function () { this.container.classList.remove( 'ql-expanded'), this.label.setAttribute( 'aria-expanded', 'false'), this.options.setAttribute( 'aria-hidden', 'true'); }, }, { key: 'selectItem', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], n = this.container.querySelector( '.ql-selected'); if (e !== n && (null != n && n.classList.remove('ql-selected'), null != e && (e.classList.add( 'ql-selected'), this.select.selectedIndex = [].indexOf.call( e.parentNode.children, e), e.hasAttribute( 'data-value') ? this.label.setAttribute('data-value', e.getAttribute('data-value')) : this.label.removeAttribute( 'data-value'), e.hasAttribute( 'data-label') ? this.label.setAttribute('data-label', e.getAttribute('data-label')) : this.label.removeAttribute( 'data-label'), t))) { if ('function' == typeof Event) this.select.dispatchEvent( new Event( 'change')); else if ('object' === ('undefined' == typeof Event ? 'undefined' : i(Event))) { var a = document.createEvent('Event'); a.initEvent('change', !0, !0), this.select.dispatchEvent(a); } this.close(); } }, }, { key: 'update', value: function () { var e = void 0; if (this.select.selectedIndex > -1) { var t = this.container.querySelector( '.ql-picker-options').children[this.select.selectedIndex]; e = this.select.options[this.select.selectedIndex], this.selectItem( t); } else this.selectItem(null); var n = null != e && e !== this.select.querySelector( 'option[selected]'); this.label.classList.toggle('ql-active', n); }, }]), e; }(); t.default = u; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = v(n(0)), a = v(n(5)), r = n(4), o = v(r), s = v(n(16)), l = v(n(25)), c = v(n(24)), u = v(n(35)), d = v(n(6)), h = v(n(22)), f = v(n(7)), p = v(n(55)), m = v(n(42)), g = v(n(23)); function v (e) {return e && e.__esModule ? e : { default: e };} a.default.register({ 'blots/block': o.default, 'blots/block/embed': r.BlockEmbed, 'blots/break': s.default, 'blots/container': l.default, 'blots/cursor': c.default, 'blots/embed': u.default, 'blots/inline': d.default, 'blots/scroll': h.default, 'blots/text': f.default, 'modules/clipboard': p.default, 'modules/history': m.default, 'modules/keyboard': g.default, }), i.default.register(o.default, s.default, c.default, d.default, h.default, f.default), t.default = a.default; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = n(1), a = function () { function e (e) {this.domNode = e, this.domNode[i.DATA_KEY] = { blot: this };} return Object.defineProperty(e.prototype, 'statics', { get: function () {return this.constructor;}, enumerable: !0, configurable: !0, }), e.create = function (e) { if (null == this.tagName) throw new i.ParchmentError( 'Blot definition missing tagName'); var t; return Array.isArray(this.tagName) ? ('string' == typeof e && (e = e.toUpperCase(), parseInt(e).toString() === e && (e = parseInt(e))), t = 'number' == typeof e ? document.createElement(this.tagName[e - 1]) : this.tagName.indexOf(e) > -1 ? document.createElement(e) : document.createElement(this.tagName[0])) : t = document.createElement( this.tagName), this.className && t.classList.add(this.className), t; }, e.prototype.attach = function () { null != this.parent && (this.scroll = this.parent.scroll); }, e.prototype.clone = function () { var e = this.domNode.cloneNode(!1); return i.create(e); }, e.prototype.detach = function () { null != this.parent && this.parent.removeChild( this), delete this.domNode[i.DATA_KEY]; }, e.prototype.deleteAt = function (e, t) { this.isolate(e, t).remove(); }, e.prototype.formatAt = function ( e, t, n, a) { var r = this.isolate(e, t); if (null != i.query(n, i.Scope.BLOT) && a) r.wrap(n, a); else if (null != i.query(n, i.Scope.ATTRIBUTE)) { var o = i.create(this.statics.scope); r.wrap(o), o.format(n, a); } }, e.prototype.insertAt = function ( e, t, n) { var a = null == n ? i.create('text', t) : i.create(t, n), r = this.split(e); this.parent.insertBefore(a, r); }, e.prototype.insertInto = function (e, t) { void 0 === t && (t = null), null != this.parent && this.parent.children.remove(this); var n = null; e.children.insertBefore(this, t), null != t && (n = t.domNode), this.domNode.parentNode == e.domNode && this.domNode.nextSibling == n || e.domNode.insertBefore(this.domNode, n), this.parent = e, this.attach(); }, e.prototype.isolate = function ( e, t) { var n = this.split(e); return n.split(t), n; }, e.prototype.length = function () {return 1;}, e.prototype.offset = function (e) { return void 0 === e && (e = this.parent), null == this.parent || this == e ? 0 : this.parent.children.offset(this) + this.parent.offset(e); }, e.prototype.optimize = function (e) { null != this.domNode[i.DATA_KEY] && delete this.domNode[i.DATA_KEY].mutations; }, e.prototype.remove = function () { null != this.domNode.parentNode && this.domNode.parentNode.removeChild( this.domNode), this.detach(); }, e.prototype.replace = function (e) { null != e.parent && (e.parent.insertBefore(this, e.next), e.remove()); }, e.prototype.replaceWith = function ( e, t) { var n = 'string' == typeof e ? i.create(e, t) : e; return n.replace(this), n; }, e.prototype.split = function (e, t) { return 0 === e ? this : this.next; }, e.prototype.update = function ( e, t) {}, e.prototype.wrap = function ( e, t) { var n = 'string' == typeof e ? i.create(e, t) : e; return null != this.parent && this.parent.insertBefore(n, this.next), n.appendChild( this), n; }, e.blotName = 'abstract', e; }(); t.default = a; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = n(12), a = n(32), r = n(33), o = n(1), s = function () { function e (e) {this.attributes = {}, this.domNode = e, this.build();} return e.prototype.attribute = function (e, t) { t ? e.add(this.domNode, t) && (null != e.value(this.domNode) ? this.attributes[e.attrName] = e : delete this.attributes[e.attrName]) : (e.remove( this.domNode), delete this.attributes[e.attrName]); }, e.prototype.build = function () { var e = this; this.attributes = {}; var t = i.default.keys(this.domNode), n = a.default.keys(this.domNode), s = r.default.keys(this.domNode); t.concat(n). concat(s). forEach((function (t) { var n = o.query(t, o.Scope.ATTRIBUTE); n instanceof i.default && (e.attributes[n.attrName] = n); })); }, e.prototype.copy = function (e) { var t = this; Object.keys(this.attributes). forEach((function (n) { var i = t.attributes[n].value(t.domNode); e.format(n, i); })); }, e.prototype.move = function (e) { var t = this; this.copy(e), Object.keys(this.attributes). forEach((function (e) { t.attributes[e].remove(t.domNode); })), this.attributes = {}; }, e.prototype.values = function () { var e = this; return Object.keys(this.attributes). reduce((function (t, n) { return t[n] = e.attributes[n].value( e.domNode), t; }), {}); }, e; }(); t.default = s; }, function (e, t, n) { 'use strict'; var i, a = this && this.__extends || (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) {e.__proto__ = t;} || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); }, function (e, t) { function n () {this.constructor = e;} i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n); }); function r (e, t) { return (e.getAttribute('class') || '').split(/\s+/). filter( (function (e) {return 0 === e.indexOf(t + '-');})); } Object.defineProperty(t, '__esModule', { value: !0 }); var o = function (e) { function t () { return null !== e && e.apply(this, arguments) || this; } return a(t, e), t.keys = function (e) { return (e.getAttribute('class') || '').split(/\s+/). map((function (e) { return e.split('-'). slice(0, -1). join('-'); })); }, t.prototype.add = function (e, t) { return !!this.canAdd(e, t) && (this.remove(e), e.classList.add( this.keyName + '-' + t), !0); }, t.prototype.remove = function (e) { r(e, this.keyName). forEach( (function (t) {e.classList.remove(t);})), 0 === e.classList.length && e.removeAttribute('class'); }, t.prototype.value = function (e) { var t = (r(e, this.keyName)[0] || '').slice( this.keyName.length + 1); return this.canAdd(e, t) ? t : ''; }, t; }(n(12).default); t.default = o; }, function (e, t, n) { 'use strict'; var i, a = this && this.__extends || (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) {e.__proto__ = t;} || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); }, function (e, t) { function n () {this.constructor = e;} i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n); }); function r (e) { var t = e.split('-'), n = t.slice(1). map((function (e) { return e[0].toUpperCase() + e.slice(1); })). join(''); return t[0] + n; } Object.defineProperty(t, '__esModule', { value: !0 }); var o = function (e) { function t () { return null !== e && e.apply(this, arguments) || this; } return a(t, e), t.keys = function (e) { return (e.getAttribute('style') || '').split(';'). map((function (e) { return e.split(':')[0].trim(); })); }, t.prototype.add = function (e, t) { return !!this.canAdd(e, t) && (e.style[r(this.keyName)] = t, !0); }, t.prototype.remove = function (e) { e.style[r(this.keyName)] = '', e.getAttribute( 'style') || e.removeAttribute('style'); }, t.prototype.value = function (e) { var t = e.style[r(this.keyName)]; return this.canAdd(e, t) ? t : ''; }, t; }(n(12).default); t.default = o; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(); var a = function () { function e (t, n) { !function ( e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, e), this.quill = t, this.options = n, this.modules = {}; } return i(e, [ { key: 'init', value: function () { var e = this; Object.keys(this.options.modules). forEach((function (t) { null == e.modules[t] && e.addModule(t); })); }, }, { key: 'addModule', value: function (e) { var t = this.quill.constructor.import( 'modules/' + e); return this.modules[e] = new t(this.quill, this.options.modules[e] || {}), this.modules[e]; }, }]), e; }(); a.DEFAULTS = { modules: {} }, a.themes = { default: a }, t.default = a; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), a = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, r = s(n(0)), o = s(n(7)); function s (e) {return e && e.__esModule ? e : { default: e };} var l = '\ufeff', c = function (e) { function t (e) { !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, t); var n = function ( e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e)); return n.contentNode = document.createElement( 'span'), n.contentNode.setAttribute( 'contenteditable', !1), [].slice.call( n.domNode.childNodes). forEach((function (e) { n.contentNode.appendChild(e); })), n.leftGuard = document.createTextNode( l), n.rightGuard = document.createTextNode( l), n.domNode.appendChild( n.leftGuard), n.domNode.appendChild( n.contentNode), n.domNode.appendChild( n.rightGuard), n; } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), i(t, [ { key: 'index', value: function (e, n) { return e === this.leftGuard ? 0 : e === this.rightGuard ? 1 : a( t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'index', this).call(this, e, n); }, }, { key: 'restore', value: function (e) { var t = void 0, n = void 0, i = e.data.split(l).join(''); if (e === this.leftGuard) if (this.prev instanceof o.default) { var a = this.prev.length(); this.prev.insertAt(a, i), t = { startNode: this.prev.domNode, startOffset: a + i.length, }; } else n = document.createTextNode( i), this.parent.insertBefore( r.default.create(n), this), t = { startNode: n, startOffset: i.length, }; else e === this.rightGuard && (this.next instanceof o.default ? (this.next.insertAt(0, i), t = { startNode: this.next.domNode, startOffset: i.length, }) : (n = document.createTextNode( i), this.parent.insertBefore( r.default.create(n), this.next), t = { startNode: n, startOffset: i.length, })); return e.data = l, t; }, }, { key: 'update', value: function (e, t) { var n = this; e.forEach((function (e) { if ('characterData' === e.type && (e.target === n.leftGuard || e.target === n.rightGuard)) { var i = n.restore(e.target); i && (t.range = i); } })); }, }]), t; }(r.default.Embed); t.default = c; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.AlignStyle = t.AlignClass = t.AlignAttribute = void 0; var i, a = n(0), r = (i = a) && i.__esModule ? i : { default: i }; var o = { scope: r.default.Scope.BLOCK, whitelist: ['right', 'center', 'justify'], }, s = new r.default.Attributor.Attribute('align', 'align', o), l = new r.default.Attributor.Class('align', 'ql-align', o), c = new r.default.Attributor.Style('align', 'text-align', o); t.AlignAttribute = s, t.AlignClass = l, t.AlignStyle = c; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.BackgroundStyle = t.BackgroundClass = void 0; var i, a = n(0), r = (i = a) && i.__esModule ? i : { default: i }, o = n(26); var s = new r.default.Attributor.Class('background', 'ql-bg', { scope: r.default.Scope.INLINE }), l = new o.ColorAttributor('background', 'background-color', { scope: r.default.Scope.INLINE }); t.BackgroundClass = s, t.BackgroundStyle = l; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.DirectionStyle = t.DirectionClass = t.DirectionAttribute = void 0; var i, a = n(0), r = (i = a) && i.__esModule ? i : { default: i }; var o = { scope: r.default.Scope.BLOCK, whitelist: ['rtl'] }, s = new r.default.Attributor.Attribute('direction', 'dir', o), l = new r.default.Attributor.Class('direction', 'ql-direction', o), c = new r.default.Attributor.Style('direction', 'direction', o); t.DirectionAttribute = s, t.DirectionClass = l, t.DirectionStyle = c; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.FontClass = t.FontStyle = void 0; var i, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = n(0), s = (i = o) && i.__esModule ? i : { default: i }; function l (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function c (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var u = { scope: s.default.Scope.INLINE, whitelist: ['serif', 'monospace'], }, d = new s.default.Attributor.Class('font', 'ql-font', u), h = new (function (e) { function t () { return l(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, [ { key: 'value', value: function (e) { return r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'value', this). call(this, e). replace(/["']/g, ''); }, }]), t; }(s.default.Attributor.Style))('font', 'font-family', u); t.FontStyle = h, t.FontClass = d; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.SizeStyle = t.SizeClass = void 0; var i, a = n(0), r = (i = a) && i.__esModule ? i : { default: i }; var o = new r.default.Attributor.Class('size', 'ql-size', { scope: r.default.Scope.INLINE, whitelist: ['small', 'large', 'huge'], }), s = new r.default.Attributor.Style('size', 'font-size', { scope: r.default.Scope.INLINE, whitelist: ['10px', '18px', '32px'], }); t.SizeClass = o, t.SizeStyle = s; }, function (e, t, n) { 'use strict'; e.exports = { align: { '': n(76), center: n(77), right: n(78), justify: n(79), }, background: n(80), blockquote: n(81), bold: n(82), clean: n(83), code: n(58), 'code-block': n(58), color: n(84), direction: { '': n(85), rtl: n(86) }, float: { center: n(87), full: n(88), left: n(89), right: n(90), }, formula: n(91), header: { 1: n(92), 2: n(93) }, italic: n(94), image: n(95), indent: { '+1': n(96), '-1': n(97) }, link: n(98), list: { ordered: n(99), bullet: n(100), check: n(101) }, script: { sub: n(102), super: n(103) }, strike: n(104), underline: n(105), video: n(106), }; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.getLastChangeIndex = t.default = void 0; var i = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), a = o(n(0)), r = o(n(5)); function o (e) {return e && e.__esModule ? e : { default: e };} var s = function (e) { function t (e, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, t); var i = function ( e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e, n)); return i.lastRecorded = 0, i.ignoreChange = !1, i.clear(), i.quill.on( r.default.events.EDITOR_CHANGE, (function (e, t, n, a) { e !== r.default.events.TEXT_CHANGE || i.ignoreChange || (i.options.userOnly && a !== r.default.sources.USER ? i.transform(t) : i.record(t, n)); })), i.quill.keyboard.addBinding( { key: 'Z', shortKey: !0 }, i.undo.bind(i)), i.quill.keyboard.addBinding( { key: 'Z', shortKey: !0, shiftKey: !0 }, i.redo.bind(i)), /Win/i.test(navigator.platform) && i.quill.keyboard.addBinding({ key: 'Y', shortKey: !0 }, i.redo.bind(i)), i; } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), i(t, [ { key: 'change', value: function (e, t) { if (0 !== this.stack[e].length) { var n = this.stack[e].pop(); this.stack[t].push( n), this.lastRecorded = 0, this.ignoreChange = !0, this.quill.updateContents( n[e], r.default.sources.USER), this.ignoreChange = !1; var i = l(n[e]); this.quill.setSelection(i); } }, }, { key: 'clear', value: function () { this.stack = { undo: [], redo: [], }; }, }, { key: 'cutoff', value: function () {this.lastRecorded = 0;}, }, { key: 'record', value: function (e, t) { if (0 !== e.ops.length) { this.stack.redo = []; var n = this.quill.getContents().diff(t), i = Date.now(); if (this.lastRecorded + this.options.delay > i && this.stack.undo.length > 0) { var a = this.stack.undo.pop(); n = n.compose( a.undo), e = a.redo.compose(e); } else this.lastRecorded = i; this.stack.undo.push({ redo: e, undo: n, }), this.stack.undo.length > this.options.maxStack && this.stack.undo.shift(); } }, }, { key: 'redo', value: function () {this.change('redo', 'undo');}, }, { key: 'transform', value: function (e) { this.stack.undo.forEach((function (t) { t.undo = e.transform(t.undo, !0), t.redo = e.transform(t.redo, !0); })), this.stack.redo.forEach((function (t) { t.undo = e.transform(t.undo, !0), t.redo = e.transform(t.redo, !0); })); }, }, { key: 'undo', value: function () {this.change('undo', 'redo');}, }]), t; }(o(n(9)).default); function l (e) { var t = e.reduce( (function (e, t) {return e += t.delete || 0;}), 0), n = e.length() - t; return function (e) { var t = e.ops[e.ops.length - 1]; return null != t && (null != t.insert ? 'string' == typeof t.insert && t.insert.endsWith('\n') : null != t.attributes && Object.keys(t.attributes). some((function (e) { return null != a.default.query(e, a.default.Scope.BLOCK); }))); }(e) && (n -= 1), n; } s.DEFAULTS = { delay: 1e3, maxStack: 100, userOnly: !1, }, t.default = s, t.getLastChangeIndex = l; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.default = t.BaseTooltip = void 0; var i = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), a = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, r = p(n(3)), o = p(n(2)), s = p(n(8)), l = p(n(23)), c = p(n(34)), u = p(n(59)), d = p(n(60)), h = p(n(28)), f = p(n(61)); function p (e) {return e && e.__esModule ? e : { default: e };} function m (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function g (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } function v (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); } var y = [!1, 'center', 'right', 'justify'], b = [ '#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'], x = [!1, 'serif', 'monospace'], _ = ['1', '2', '3', !1], w = ['small', !1, 'large', 'huge'], k = function (e) { function t (e, n) { m(this, t); var i = g(this, (t.__proto__ || Object.getPrototypeOf(t)).call( this, e, n)); return e.emitter.listenDOM('click', document.body, (function t (n) { if (!document.body.contains( e.root)) return document.body.removeEventListener( 'click', t); null == i.tooltip || i.tooltip.root.contains(n.target) || document.activeElement === i.tooltip.textbox || i.quill.hasFocus() || i.tooltip.hide(), null != i.pickers && i.pickers.forEach((function (e) { e.container.contains(n.target) || e.close(); })); })), i; } return v(t, e), i(t, [ { key: 'addModule', value: function (e) { var n = a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'addModule', this).call(this, e); return 'toolbar' === e && this.extendToolbar(n), n; }, }, { key: 'buildButtons', value: function (e, t) { e.forEach((function (e) { (e.getAttribute('class') || '').split( /\s+/). forEach((function (n) { if (n.startsWith('ql-') && (n = n.slice( 'ql-'.length), null != t[n])) if ('direction' === n) e.innerHTML = t[n][''] + t[n].rtl; else if ('string' == typeof t[n]) e.innerHTML = t[n]; else { var i = e.value || ''; null != i && t[n][i] && (e.innerHTML = t[n][i]); } })); })); }, }, { key: 'buildPickers', value: function (e, t) { var n = this; this.pickers = e.map((function (e) { if (e.classList.contains( 'ql-align')) return null == e.querySelector('option') && L(e, y), new d.default(e, t.align); if (e.classList.contains( 'ql-background') || e.classList.contains('ql-color')) { var n = e.classList.contains( 'ql-background') ? 'background' : 'color'; return null == e.querySelector('option') && L(e, b, 'background' === n ? '#ffffff' : '#000000'), new u.default( e, t[n]); } return null == e.querySelector('option') && (e.classList.contains('ql-font') ? L(e, x) : e.classList.contains( 'ql-header') ? L(e, _) : e.classList.contains('ql-size') && L(e, w)), new h.default(e); })); this.quill.on( s.default.events.EDITOR_CHANGE, (function () { n.pickers.forEach( (function (e) {e.update();})); })); }, }]), t; }(c.default); k.DEFAULTS = (0, r.default)(!0, {}, c.default.DEFAULTS, { modules: { toolbar: { handlers: { formula: function () { this.quill.theme.tooltip.edit('formula'); }, image: function () { var e = this, t = this.container.querySelector( 'input.ql-image[type=file]'); null == t && ((t = document.createElement( 'input')).setAttribute('type', 'file'), t.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon'), t.classList.add( 'ql-image'), t.addEventListener( 'change', (function () { if (null != t.files && null != t.files[0]) { var n = new FileReader; n.onload = function (n) { var i = e.quill.getSelection( !0); e.quill.updateContents( (new o.default).retain( i.index). delete(i.length). insert( { image: n.target.result }), s.default.sources.USER), e.quill.setSelection( i.index + 1, s.default.sources.SILENT), t.value = ''; }, n.readAsDataURL(t.files[0]); } })), this.container.appendChild( t)), t.click(); }, video: function () { this.quill.theme.tooltip.edit('video'); }, }, }, }, }); var M = function (e) { function t (e, n) { m(this, t); var i = g(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e, n)); return i.textbox = i.root.querySelector( 'input[type="text"]'), i.listen(), i; } return v(t, e), i(t, [ { key: 'listen', value: function () { var e = this; this.textbox.addEventListener('keydown', (function (t) { l.default.match(t, 'enter') ? (e.save(), t.preventDefault()) : l.default.match(t, 'escape') && (e.cancel(), t.preventDefault()); })); }, }, { key: 'cancel', value: function () {this.hide();} }, { key: 'edit', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 'link', t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null; this.root.classList.remove( 'ql-hidden'), this.root.classList.add( 'ql-editing'), null != t ? this.textbox.value = t : e !== this.root.getAttribute('data-mode') && (this.textbox.value = ''), this.position( this.quill.getBounds( this.quill.selection.savedRange)), this.textbox.select(), this.textbox.setAttribute( 'placeholder', this.textbox.getAttribute('data-' + e) || ''), this.root.setAttribute('data-mode', e); }, }, { key: 'restoreFocus', value: function () { var e = this.quill.scrollingContainer.scrollTop; this.quill.focus(), this.quill.scrollingContainer.scrollTop = e; }, }, { key: 'save', value: function () { var e = this.textbox.value; switch (this.root.getAttribute('data-mode')) { case'link': var t = this.quill.root.scrollTop; this.linkRange ? (this.quill.formatText( this.linkRange, 'link', e, s.default.sources.USER), delete this.linkRange) : (this.restoreFocus(), this.quill.format( 'link', e, s.default.sources.USER)), this.quill.root.scrollTop = t; break; case'video': e = function (e) { var t = e.match( /^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtube\.com\/watch.*v=([a-zA-Z0-9_-]+)/) || e.match( /^(?:(https?):\/\/)?(?:(?:www|m)\.)?youtu\.be\/([a-zA-Z0-9_-]+)/); if (t) return (t[1] || 'https') + '://www.youtube.com/embed/' + t[2] + '?showinfo=0'; if (t = e.match( /^(?:(https?):\/\/)?(?:www\.)?vimeo\.com\/(\d+)/)) return (t[1] || 'https') + '://player.vimeo.com/video/' + t[2] + '/'; return e; }(e); case'formula': if (!e) break; var n = this.quill.getSelection(!0); if (null != n) { var i = n.index + n.length; this.quill.insertEmbed(i, this.root.getAttribute( 'data-mode'), e, s.default.sources.USER), 'formula' === this.root.getAttribute( 'data-mode') && this.quill.insertText(i + 1, ' ', s.default.sources.USER), this.quill.setSelection( i + 2, s.default.sources.USER); } } this.textbox.value = '', this.hide(); }, }]), t; }(f.default); function L (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; t.forEach((function (t) { var i = document.createElement('option'); t === n ? i.setAttribute('selected', 'selected') : i.setAttribute('value', t), e.appendChild(i); })); } t.BaseTooltip = M, t.default = k; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = function () { function e () {this.head = this.tail = null, this.length = 0;} return e.prototype.append = function () { for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]; this.insertBefore(e[0], null), e.length > 1 && this.append.apply(this, e.slice(1)); }, e.prototype.contains = function (e) { for (var t, n = this.iterator(); t = n();) if (t === e) return !0; return !1; }, e.prototype.insertBefore = function (e, t) { e && (e.next = t, null != t ? (e.prev = t.prev, null != t.prev && (t.prev.next = e), t.prev = e, t === this.head && (this.head = e)) : null != this.tail ? (this.tail.next = e, e.prev = this.tail, this.tail = e) : (e.prev = null, this.head = this.tail = e), this.length += 1); }, e.prototype.offset = function (e) { for (var t = 0, n = this.head; null != n;) { if (n === e) return t; t += n.length(), n = n.next; } return -1; }, e.prototype.remove = function (e) { this.contains(e) && (null != e.prev && (e.prev.next = e.next), null != e.next && (e.next.prev = e.prev), e === this.head && (this.head = e.next), e === this.tail && (this.tail = e.prev), this.length -= 1); }, e.prototype.iterator = function (e) { return void 0 === e && (e = this.head), function () { var t = e; return null != e && (e = e.next), t; }; }, e.prototype.find = function (e, t) { void 0 === t && (t = !1); for (var n, i = this.iterator(); n = i();) { var a = n.length(); if (e < a || t && e === a && (null == n.next || 0 !== n.next.length())) return [n, e]; e -= a; } return [null, 0]; }, e.prototype.forEach = function (e) { for (var t, n = this.iterator(); t = n();) e(t); }, e.prototype.forEachAt = function (e, t, n) { if (!(t <= 0)) for (var i, a = this.find( e), r = a[0], o = e - a[1], s = this.iterator( r); (i = s()) && o < e + t;) { var l = i.length(); e > o ? n(i, e - o, Math.min(t, o + l - e)) : n(i, 0, Math.min(l, e + t - o)), o += l; } }, e.prototype.map = function (e) { return this.reduce( (function (t, n) {return t.push(e(n)), t;}), []); }, e.prototype.reduce = function ( e, t) { for (var n, i = this.iterator(); n = i();) t = e(t, n); return t; }, e; }(); t.default = i; }, function (e, t, n) { 'use strict'; var i, a = this && this.__extends || (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) {e.__proto__ = t;} || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); }, function (e, t) { function n () {this.constructor = e;} i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n); }); Object.defineProperty(t, '__esModule', { value: !0 }); var r = n(17), o = n(1), s = { attributes: !0, characterData: !0, characterDataOldValue: !0, childList: !0, subtree: !0, }, l = function (e) { function t (t) { var n = e.call(this, t) || this; return n.scroll = n, n.observer = new MutationObserver( (function (e) {n.update(e);})), n.observer.observe( n.domNode, s), n.attach(), n; } return a(t, e), t.prototype.detach = function () { e.prototype.detach.call( this), this.observer.disconnect(); }, t.prototype.deleteAt = function ( t, n) { this.update(), 0 === t && n === this.length() ? this.children.forEach( (function (e) {e.remove();})) : e.prototype.deleteAt.call(this, t, n); }, t.prototype.formatAt = function ( t, n, i, a) { this.update(), e.prototype.formatAt.call(this, t, n, i, a); }, t.prototype.insertAt = function ( t, n, i) { this.update(), e.prototype.insertAt.call(this, t, n, i); }, t.prototype.optimize = function (t, n) { var i = this; void 0 === t && (t = []), void 0 === n && (n = {}), e.prototype.optimize.call(this, n); for (var a = [].slice.call( this.observer.takeRecords()); a.length > 0;) t.push( a.pop()); for (var s = function (e, t) { void 0 === t && (t = !0), null != e && e !== i && null != e.domNode.parentNode && (null == e.domNode[o.DATA_KEY].mutations && (e.domNode[o.DATA_KEY].mutations = []), t && s(e.parent)); }, l = function (e) { null != e.domNode[o.DATA_KEY] && null != e.domNode[o.DATA_KEY].mutations && (e instanceof r.default && e.children.forEach(l), e.optimize(n)); }, c = t, u = 0; c.length > 0; u += 1) { if (u >= 100) throw new Error( '[Parchment] Maximum optimize iterations reached'); for (c.forEach((function (e) { var t = o.find(e.target, !0); null != t && (t.domNode === e.target && ('childList' === e.type ? (s( o.find(e.previousSibling, !1)), [].forEach.call(e.addedNodes, (function (e) { var t = o.find(e, !1); s(t, !1), t instanceof r.default && t.children.forEach( (function (e) {s(e, !1);})); }))) : 'attributes' === e.type && s(t.prev)), s(t)); })), this.children.forEach( l), a = (c = [].slice.call( this.observer.takeRecords())).slice(); a.length > 0;) t.push(a.pop()); } }, t.prototype.update = function (t, n) { var i = this; void 0 === n && (n = {}), (t = t || this.observer.takeRecords()).map((function (e) { var t = o.find(e.target, !0); return null == t ? null : null == t.domNode[o.DATA_KEY].mutations ? (t.domNode[o.DATA_KEY].mutations = [e], t) : (t.domNode[o.DATA_KEY].mutations.push( e), null); })). forEach((function (e) { null != e && e !== i && null != e.domNode[o.DATA_KEY] && e.update(e.domNode[o.DATA_KEY].mutations || [], n); })), null != this.domNode[o.DATA_KEY].mutations && e.prototype.update.call(this, this.domNode[o.DATA_KEY].mutations, n), this.optimize(t, n); }, t.blotName = 'scroll', t.defaultChild = 'block', t.scope = o.Scope.BLOCK_BLOT, t.tagName = 'DIV', t; }(r.default); t.default = l; }, function (e, t, n) { 'use strict'; var i, a = this && this.__extends || (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) {e.__proto__ = t;} || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); }, function (e, t) { function n () {this.constructor = e;} i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n); }); Object.defineProperty(t, '__esModule', { value: !0 }); var r = n(18), o = n(1); var s = function (e) { function t () { return null !== e && e.apply(this, arguments) || this; } return a(t, e), t.formats = function (n) { if (n.tagName !== t.tagName) return e.formats.call(this, n); }, t.prototype.format = function (n, i) { var a = this; n !== this.statics.blotName || i ? e.prototype.format.call(this, n, i) : (this.children.forEach((function (e) { e instanceof r.default || (e = e.wrap(t.blotName, !0)), a.attributes.copy(e); })), this.unwrap()); }, t.prototype.formatAt = function (t, n, i, a) { null != this.formats()[i] || o.query(i, o.Scope.ATTRIBUTE) ? this.isolate(t, n).format(i, a) : e.prototype.formatAt.call(this, t, n, i, a); }, t.prototype.optimize = function (n) { e.prototype.optimize.call(this, n); var i = this.formats(); if (0 === Object.keys(i).length) return this.unwrap(); var a = this.next; a instanceof t && a.prev === this && function (e, t) { if (Object.keys(e).length !== Object.keys(t).length) return !1; for (var n in e) if (e[n] !== t[n]) return !1; return !0; }(i, a.formats()) && (a.moveChildren(this), a.remove()); }, t.blotName = 'inline', t.scope = o.Scope.INLINE_BLOT, t.tagName = 'SPAN', t; }(r.default); t.default = s; }, function (e, t, n) { 'use strict'; var i, a = this && this.__extends || (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) {e.__proto__ = t;} || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); }, function (e, t) { function n () {this.constructor = e;} i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n); }); Object.defineProperty(t, '__esModule', { value: !0 }); var r = n(18), o = n(1), s = function (e) { function t () { return null !== e && e.apply(this, arguments) || this; } return a(t, e), t.formats = function (n) { var i = o.query(t.blotName).tagName; if (n.tagName !== i) return e.formats.call(this, n); }, t.prototype.format = function (n, i) { null != o.query(n, o.Scope.BLOCK) && (n !== this.statics.blotName || i ? e.prototype.format.call(this, n, i) : this.replaceWith(t.blotName)); }, t.prototype.formatAt = function (t, n, i, a) { null != o.query(i, o.Scope.BLOCK) ? this.format(i, a) : e.prototype.formatAt.call(this, t, n, i, a); }, t.prototype.insertAt = function (t, n, i) { if (null == i || null != o.query(n, o.Scope.INLINE)) e.prototype.insertAt.call(this, t, n, i); else { var a = this.split(t), r = o.create(n, i); a.parent.insertBefore(r, a); } }, t.prototype.update = function ( t, n) { navigator.userAgent.match(/Trident/) ? this.build() : e.prototype.update.call(this, t, n); }, t.blotName = 'block', t.scope = o.Scope.BLOCK_BLOT, t.tagName = 'P', t; }(r.default); t.default = s; }, function (e, t, n) { 'use strict'; var i, a = this && this.__extends || (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) {e.__proto__ = t;} || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); }, function (e, t) { function n () {this.constructor = e;} i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n); }); Object.defineProperty(t, '__esModule', { value: !0 }); var r = function (e) { function t () { return null !== e && e.apply(this, arguments) || this; } return a(t, e), t.formats = function (e) {}, t.prototype.format = function ( t, n) { e.prototype.formatAt.call(this, 0, this.length(), t, n); }, t.prototype.formatAt = function (t, n, i, a) { 0 === t && n === this.length() ? this.format(i, a) : e.prototype.formatAt.call(this, t, n, i, a); }, t.prototype.formats = function () { return this.statics.formats(this.domNode); }, t; }(n(19).default); t.default = r; }, function (e, t, n) { 'use strict'; var i, a = this && this.__extends || (i = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function (e, t) {e.__proto__ = t;} || function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]); }, function (e, t) { function n () {this.constructor = e;} i(e, t), e.prototype = null === t ? Object.create(t) : (n.prototype = t.prototype, new n); }); Object.defineProperty(t, '__esModule', { value: !0 }); var r = n(19), o = n(1), s = function (e) { function t (t) { var n = e.call(this, t) || this; return n.text = n.statics.value(n.domNode), n; } return a(t, e), t.create = function (e) { return document.createTextNode(e); }, t.value = function (e) { var t = e.data; return t.normalize && (t = t.normalize()), t; }, t.prototype.deleteAt = function ( e, t) { this.domNode.data = this.text = this.text.slice(0, e) + this.text.slice(e + t); }, t.prototype.index = function ( e, t) { return this.domNode === e ? t : -1; }, t.prototype.insertAt = function (t, n, i) { null == i ? (this.text = this.text.slice(0, t) + n + this.text.slice(t), this.domNode.data = this.text) : e.prototype.insertAt.call(this, t, n, i); }, t.prototype.length = function () {return this.text.length;}, t.prototype.optimize = function (n) { e.prototype.optimize.call(this, n), 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()); }, t.prototype.position = function (e, t) { return void 0 === t && (t = !1), [this.domNode, e]; }, t.prototype.split = function (e, t) { if (void 0 === t && (t = !1), !t) { if (0 === e) return this; if (e === this.length()) return this.next; } var n = o.create(this.domNode.splitText(e)); return this.parent.insertBefore(n, this.next), this.text = this.statics.value( this.domNode), n; }, t.prototype.update = function (e, t) { var n = this; e.some((function (e) { return 'characterData' === e.type && e.target === n.domNode; })) && (this.text = this.statics.value(this.domNode)); }, t.prototype.value = function () {return this.text;}, t.blotName = 'text', t.scope = o.Scope.INLINE_BLOT, t; }(r.default); t.default = s; }, function (e, t, n) { 'use strict'; var i = document.createElement('div'); if (i.classList.toggle('test-class', !1), i.classList.contains( 'test-class')) { var a = DOMTokenList.prototype.toggle; DOMTokenList.prototype.toggle = function ( e, t) { return arguments.length > 1 && !this.contains(e) == !t ? t : a.call(this, e); }; } String.prototype.startsWith || (String.prototype.startsWith = function (e, t) { return t = t || 0, this.substr(t, e.length) === e; }), String.prototype.endsWith || (String.prototype.endsWith = function (e, t) { var n = this.toString(); ('number' != typeof t || !isFinite(t) || Math.floor(t) !== t || t > n.length) && (t = n.length), t -= e.length; var i = n.indexOf(e, t); return -1 !== i && i === t; }), Array.prototype.find || Object.defineProperty(Array.prototype, 'find', { value: function (e) { if (null === this) throw new TypeError( 'Array.prototype.find called on null or undefined'); if ('function' != typeof e) throw new TypeError( 'predicate must be a function'); for (var t, n = Object(this), i = n.length >>> 0, a = arguments[1], r = 0; r < i; r++) if (t = n[r], e.call(a, t, r, n)) return t; }, }), document.addEventListener('DOMContentLoaded', (function () { document.execCommand('enableObjectResizing', !1, !1), document.execCommand('autoUrlDetect', !1, !1); })); }, function (e, t) { var n = -1; function i (e, t, l) { if (e == t) return e ? [[0, e]] : []; (l < 0 || e.length < l) && (l = null); var u = r(e, t), d = e.substring(0, u); u = o(e = e.substring(u), t = t.substring(u)); var h = e.substring(e.length - u), f = function (e, t) { var s; if (!e) return [[1, t]]; if (!t) return [[n, e]]; var l = e.length > t.length ? e : t, c = e.length > t.length ? t : e, u = l.indexOf(c); if (-1 != u) return s = [ [1, l.substring(0, u)], [0, c], [1, l.substring(u + c.length)]], e.length > t.length && (s[0][0] = s[2][0] = n), s; if (1 == c.length) return [[n, e], [1, t]]; var d = function (e, t) { var n = e.length > t.length ? e : t, i = e.length > t.length ? t : e; if (n.length < 4 || 2 * i.length < n.length) return null; function a ( e, t, n) { for (var i, a, s, l, c = e.substring(n, n + Math.floor( e.length / 4)), u = -1, d = ''; -1 != (u = t.indexOf(c, u + 1));) { var h = r(e.substring(n), t.substring(u)), f = o(e.substring(0, n), t.substring(0, u)); d.length < f + h && (d = t.substring(u - f, u) + t.substring(u, u + h), i = e.substring( 0, n - f), a = e.substring( n + h), s = t.substring(0, u - f), l = t.substring(u + h)); } return 2 * d.length >= e.length ? [ i, a, s, l, d] : null; } var s, l, c, u, d, h = a(n, i, Math.ceil(n.length / 4)), f = a(n, i, Math.ceil(n.length / 2)); if (!h && !f) return null; s = f ? h && h[4].length > f[4].length ? h : f : h; e.length > t.length ? (l = s[0], c = s[1], u = s[2], d = s[3]) : (u = s[0], d = s[1], l = s[2], c = s[3]); var p = s[4]; return [l, c, u, d, p]; }(e, t); if (d) { var h = d[0], f = d[1], p = d[2], m = d[3], g = d[4], v = i(h, p), y = i(f, m); return v.concat([[0, g]], y); } return function ( e, t) { for (var i = e.length, r = t.length, o = Math.ceil( (i + r) / 2), s = o, l = 2 * o, c = new Array( l), u = new Array(l), d = 0; d < l; d++) c[d] = -1, u[d] = -1; c[s + 1] = 0, u[s + 1] = 0; for (var h = i - r, f = h % 2 != 0, p = 0, m = 0, g = 0, v = 0, y = 0; y < o; y++) { for (var b = -y + p; b <= y - m; b += 2) { for (var x = s + b, _ = (S = b == -y || b != y && c[x - 1] < c[x + 1] ? c[x + 1] : c[x - 1] + 1) - b; S < i && _ < r && e.charAt(S) == t.charAt(_);) S++, _++; if (c[x] = S, S > i) m += 2; else if (_ > r) p += 2; else if (f) { if ((M = s + h - b) >= 0 && M < l && -1 != u[M]) if (S >= (k = i - u[M])) return a(e, t, S, _); } } for (var w = -y + g; w <= y - v; w += 2) { for (var k, M = s + w, L = (k = w == -y || w != y && u[M - 1] < u[M + 1] ? u[M + 1] : u[M - 1] + 1) - w; k < i && L < r && e.charAt(i - k - 1) == t.charAt(r - L - 1);) k++, L++; if (u[M] = k, k > i) v += 2; else if (L > r) g += 2; else if (!f) { if ((x = s + h - w) >= 0 && x < l && -1 != c[x]) { var S; _ = s + (S = c[x]) - x; if (S >= (k = i - k)) return a(e, t, S, _); } } } } return [[n, e], [1, t]]; }(e, t); }(e = e.substring(0, e.length - u), t = t.substring(0, t.length - u)); return d && f.unshift([0, d]), h && f.push([0, h]), s( f), null != l && (f = function (e, t) { var i = function (e, t) { if (0 === t) return [0, e]; for (var i = 0, a = 0; a < e.length; a++) { var r = e[a]; if (r[0] === n || 0 === r[0]) { var o = i + r[1].length; if (t === o) return [a + 1, e]; if (t < o) { e = e.slice(); var s = t - i, l = [r[0], r[1].slice(0, s)], c = [r[0], r[1].slice(s)]; return e.splice(a, 1, l, c), [a + 1, e]; } i = o; } } throw new Error('cursor_pos is out of bounds!'); }(e, t), a = i[1], r = i[0], o = a[r], s = a[r + 1]; if (null == o) return e; if (0 !== o[0]) return e; if (null != s && o[1] + s[1] === s[1] + o[1]) return a.splice(r, 2, s, o), c(a, r, 2); if (null != s && 0 === s[1].indexOf(o[1])) { a.splice(r, 2, [s[0], o[1]], [0, o[1]]); var l = s[1].slice(o[1].length); return l.length > 0 && a.splice(r + 2, 0, [s[0], l]), c(a, r, 3); } return e; }(f, l)), f = function (e) { for (var t = !1, i = function (e) { return e.charCodeAt(0) >= 56320 && e.charCodeAt(0) <= 57343; }, a = function (e) { return e.charCodeAt(e.length - 1) >= 55296 && e.charCodeAt(e.length - 1) <= 56319; }, r = 2; r < e.length; r += 1) 0 === e[r - 2][0] && a(e[r - 2][1]) && e[r - 1][0] === n && i(e[r - 1][1]) && 1 === e[r][0] && i(e[r][1]) && (t = !0, e[r - 1][1] = e[r - 2][1].slice(-1) + e[r - 1][1], e[r][1] = e[r - 2][1].slice(-1) + e[r][1], e[r - 2][1] = e[r - 2][1].slice(0, -1)); if (!t) return e; var o = []; for (r = 0; r < e.length; r += 1) e[r][1].length > 0 && o.push(e[r]); return o; }(f); } function a (e, t, n, a) { var r = e.substring(0, n), o = t.substring(0, a), s = e.substring(n), l = t.substring(a), c = i(r, o), u = i(s, l); return c.concat(u); } function r (e, t) { if (!e || !t || e.charAt(0) != t.charAt(0)) return 0; for (var n = 0, i = Math.min(e.length, t.length), a = i, r = 0; n < a;) e.substring(r, a) == t.substring(r, a) ? r = n = a : i = a, a = Math.floor( (i - n) / 2 + n); return a; } function o (e, t) { if (!e || !t || e.charAt(e.length - 1) != t.charAt(t.length - 1)) return 0; for (var n = 0, i = Math.min(e.length, t.length), a = i, r = 0; n < a;) e.substring( e.length - a, e.length - r) == t.substring(t.length - a, t.length - r) ? r = n = a : i = a, a = Math.floor((i - n) / 2 + n); return a; } function s (e) { e.push([0, '']); for (var t, i = 0, a = 0, l = 0, c = '', u = ''; i < e.length;) switch (e[i][0]) { case 1: l++, u += e[i][1], i++; break; case n: a++, c += e[i][1], i++; break; case 0: a + l > 1 ? (0 !== a && 0 !== l && (0 !== (t = r(u, c)) && (i - a - l > 0 && 0 == e[i - a - l - 1][0] ? e[i - a - l - 1][1] += u.substring(0, t) : (e.splice(0, 0, [0, u.substring(0, t)]), i++), u = u.substring( t), c = c.substring(t)), 0 !== (t = o(u, c)) && (e[i][1] = u.substring(u.length - t) + e[i][1], u = u.substring(0, u.length - t), c = c.substring(0, c.length - t))), 0 === a ? e.splice(i - l, a + l, [1, u]) : 0 === l ? e.splice(i - a, a + l, [n, c]) : e.splice(i - a - l, a + l, [n, c], [1, u]), i = i - a - l + (a ? 1 : 0) + (l ? 1 : 0) + 1) : 0 !== i && 0 == e[i - 1][0] ? (e[i - 1][1] += e[i][1], e.splice(i, 1)) : i++, l = 0, a = 0, c = '', u = ''; } '' === e[e.length - 1][1] && e.pop(); var d = !1; for (i = 1; i < e.length - 1;) 0 == e[i - 1][0] && 0 == e[i + 1][0] && (e[i][1].substring(e[i][1].length - e[i - 1][1].length) == e[i - 1][1] ? (e[i][1] = e[i - 1][1] + e[i][1].substring(0, e[i][1].length - e[i - 1][1].length), e[i + 1][1] = e[i - 1][1] + e[i + 1][1], e.splice(i - 1, 1), d = !0) : e[i][1].substring(0, e[i + 1][1].length) == e[i + 1][1] && (e[i - 1][1] += e[i + 1][1], e[i][1] = e[i][1].substring(e[i + 1][1].length) + e[i + 1][1], e.splice(i + 1, 1), d = !0)), i++; d && s(e); } var l = i; function c (e, t, n) { for (var i = t + n - 1; i >= 0 && i >= t - 1; i--) if (i + 1 < e.length) { var a = e[i], r = e[i + 1]; a[0] === r[1] && e.splice(i, 2, [a[0], a[1] + r[1]]); } return e; } l.INSERT = 1, l.DELETE = n, l.EQUAL = 0, e.exports = l; }, function (e, t) { function n (e) { var t = []; for (var n in e) t.push(n); return t; } (e.exports = 'function' == typeof Object.keys ? Object.keys : n).shim = n; }, function (e, t) { var n = '[object Arguments]' == function () { return Object.prototype.toString.call(arguments); }(); function i (e) { return '[object Arguments]' == Object.prototype.toString.call(e); } function a (e) { return e && 'object' == typeof e && 'number' == typeof e.length && Object.prototype.hasOwnProperty.call(e, 'callee') && !Object.prototype.propertyIsEnumerable.call(e, 'callee') || !1; } (t = e.exports = n ? i : a).supported = i, t.unsupported = a; }, function (e, t) { 'use strict'; var n = Object.prototype.hasOwnProperty, i = '~'; function a () {} function r ( e, t, n) { this.fn = e, this.context = t, this.once = n || !1; } function o () {this._events = new a, this._eventsCount = 0;} Object.create && (a.prototype = Object.create(null), (new a).__proto__ || (i = !1)), o.prototype.eventNames = function () { var e, t, a = []; if (0 === this._eventsCount) return a; for (t in e = this._events) n.call(e, t) && a.push(i ? t.slice(1) : t); return Object.getOwnPropertySymbols ? a.concat( Object.getOwnPropertySymbols(e)) : a; }, o.prototype.listeners = function (e, t) { var n = i ? i + e : e, a = this._events[n]; if (t) return !!a; if (!a) return []; if (a.fn) return [a.fn]; for (var r = 0, o = a.length, s = new Array(o); r < o; r++) s[r] = a[r].fn; return s; }, o.prototype.emit = function (e, t, n, a, r, o) { var s = i ? i + e : e; if (!this._events[s]) return !1; var l, c, u = this._events[s], d = arguments.length; if (u.fn) { switch (u.once && this.removeListener(e, u.fn, void 0, !0), d) { case 1: return u.fn.call(u.context), !0; case 2: return u.fn.call(u.context, t), !0; case 3: return u.fn.call(u.context, t, n), !0; case 4: return u.fn.call(u.context, t, n, a), !0; case 5: return u.fn.call(u.context, t, n, a, r), !0; case 6: return u.fn.call(u.context, t, n, a, r, o), !0; } for (c = 1, l = new Array(d - 1); c < d; c++) l[c - 1] = arguments[c]; u.fn.apply(u.context, l); } else { var h, f = u.length; for (c = 0; c < f; c++) switch (u[c].once && this.removeListener(e, u[c].fn, void 0, !0), d) { case 1: u[c].fn.call(u[c].context); break; case 2: u[c].fn.call(u[c].context, t); break; case 3: u[c].fn.call(u[c].context, t, n); break; case 4: u[c].fn.call(u[c].context, t, n, a); break; default: if (!l) for (h = 1, l = new Array(d - 1); h < d; h++) l[h - 1] = arguments[h]; u[c].fn.apply(u[c].context, l); } } return !0; }, o.prototype.on = function (e, t, n) { var a = new r(t, n || this), o = i ? i + e : e; return this._events[o] ? this._events[o].fn ? this._events[o] = [this._events[o], a] : this._events[o].push(a) : (this._events[o] = a, this._eventsCount++), this; }, o.prototype.once = function (e, t, n) { var a = new r(t, n || this, !0), o = i ? i + e : e; return this._events[o] ? this._events[o].fn ? this._events[o] = [this._events[o], a] : this._events[o].push(a) : (this._events[o] = a, this._eventsCount++), this; }, o.prototype.removeListener = function (e, t, n, r) { var o = i ? i + e : e; if (!this._events[o]) return this; if (!t) return 0 == --this._eventsCount ? this._events = new a : delete this._events[o], this; var s = this._events[o]; if (s.fn) s.fn !== t || r && !s.once || n && s.context !== n || (0 == --this._eventsCount ? this._events = new a : delete this._events[o]); else { for (var l = 0, c = [], u = s.length; l < u; l++) (s[l].fn !== t || r && !s[l].once || n && s[l].context !== n) && c.push(s[l]); c.length ? this._events[o] = 1 === c.length ? c[0] : c : 0 == --this._eventsCount ? this._events = new a : delete this._events[o]; } return this; }, o.prototype.removeAllListeners = function (e) { var t; return e ? (t = i ? i + e : e, this._events[t] && (0 == --this._eventsCount ? this._events = new a : delete this._events[t])) : (this._events = new a, this._eventsCount = 0), this; }, o.prototype.off = o.prototype.removeListener, o.prototype.addListener = o.prototype.on, o.prototype.setMaxListeners = function () {return this;}, o.prefixed = i, o.EventEmitter = o, void 0 !== e && (e.exports = o); }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.matchText = t.matchSpacing = t.matchNewline = t.matchBlot = t.matchAttributor = t.default = void 0; var i = '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; }, a = function (e, t) { if (Array.isArray(e)) return e; if (Symbol.iterator in Object(e)) return function ( e, t) { var n = [], i = !0, a = !1, r = void 0; try { for (var o, s = e[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); i = !0) ; } catch (e) {a = !0, r = e;} finally { try { !i && s.return && s.return(); } finally {if (a) throw r;} } return n; }(e, t); throw new TypeError( 'Invalid attempt to destructure non-iterable instance'); }, r = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), o = b(n(3)), s = b(n(2)), l = b(n(0)), c = b(n(5)), u = b(n(10)), d = b(n(9)), h = n(36), f = n(37), p = b(n(13)), m = n(26), g = n(38), v = n(39), y = n(40); function b (e) {return e && e.__esModule ? e : { default: e };} function x (e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0, }) : e[t] = n, e; } var _ = (0, u.default)('quill:clipboard'), w = '__ql-matcher', k = [ [Node.TEXT_NODE, N], [Node.TEXT_NODE, I], [ 'br', function (e, t) { D(t, '\n') || t.insert('\n'); return t; }], [Node.ELEMENT_NODE, I], [Node.ELEMENT_NODE, P], [Node.ELEMENT_NODE, j], [Node.ELEMENT_NODE, Y], [ Node.ELEMENT_NODE, function (e, t) { var n = {}, i = e.style || {}; i.fontStyle && 'italic' === A(e).fontStyle && (n.italic = !0); i.fontWeight && (A(e).fontWeight.startsWith('bold') || parseInt(A(e).fontWeight) >= 700) && (n.bold = !0); Object.keys(n).length > 0 && (t = T(t, n)); parseFloat(i.textIndent || 0) > 0 && (t = (new s.default).insert('\t').concat(t)); return t; }], [ 'li', function (e, t) { var n = l.default.query(e); if (null == n || 'list-item' !== n.blotName || !D(t, '\n')) return t; var i = -1, a = e.parentNode; for (; !a.classList.contains( "ql-clipboard");) 'list' === (l.default.query(a) || {}).blotName && (i += 1), a = a.parentNode; return i <= 0 ? t : t.compose( (new s.default).retain(t.length() - 1). retain(1, { indent: i })); }], ['b', O.bind(O, 'bold')], ['i', O.bind(O, 'italic')], ['style', function () {return new s.default;}]], M = [h.AlignAttribute, g.DirectionAttribute].reduce( (function (e, t) {return e[t.keyName] = t, e;}), {}), L = [ h.AlignStyle, f.BackgroundStyle, m.ColorStyle, g.DirectionStyle, v.FontStyle, y.SizeStyle].reduce( (function (e, t) {return e[t.keyName] = t, e;}), {}), S = function (e) { function t (e, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, t); var i = function ( e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; }(this, (t.__proto__ || Object.getPrototypeOf(t)).call( this, e, n)); return i.quill.root.addEventListener('paste', i.onPaste.bind( i)), i.container = i.quill.addContainer( 'ql-clipboard'), i.container.setAttribute( 'contenteditable', !0), i.container.setAttribute('tabindex', -1), i.matchers = [], k.concat( i.options.matchers). forEach((function (e) { var t = a(e, 2), r = t[0], o = t[1]; (n.matchVisual || o !== j) && i.addMatcher(r, o); })), i; } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), r(t, [ { key: 'addMatcher', value: function (e, t) { this.matchers.push([e, t]); }, }, { key: 'convert', value: function (e) { if ('string' == typeof e) return this.container.innerHTML = e.replace( /\>\r?\n +\</g, '><'), this.convert(); var t = this.quill.getFormat( this.quill.selection.savedRange.index); if (t[p.default.blotName]) { var n = this.container.innerText; return this.container.innerHTML = '', (new s.default).insert( n, x({}, p.default.blotName, t[p.default.blotName])); } var i = this.prepareMatching(), r = a(i, 2), o = r[0], l = r[1], c = E(this.container, o, l); return D(c, '\n') && null == c.ops[c.ops.length - 1].attributes && (c = c.compose( (new s.default).retain(c.length() - 1). delete(1))), _.log('convert', this.container.innerHTML, c), this.container.innerHTML = '', c; }, }, { key: 'dangerouslyPasteHTML', value: function ( e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : c.default.sources.API; if ('string' == typeof e) this.quill.setContents( this.convert(e), t), this.quill.setSelection(0, c.default.sources.SILENT); else { var i = this.convert(t); this.quill.updateContents( (new s.default).retain(e).concat(i), n), this.quill.setSelection( e + i.length(), c.default.sources.SILENT); } }, }, { key: 'onPaste', value: function (e) { var t = this; if (!e.defaultPrevented && this.quill.isEnabled()) { var n = this.quill.getSelection(), i = (new s.default).retain(n.index), a = this.quill.scrollingContainer.scrollTop; this.container.focus(), this.quill.selection.update( c.default.sources.SILENT), setTimeout( (function () { i = i.concat(t.convert()). delete( n.length), t.quill.updateContents( i, c.default.sources.USER), t.quill.setSelection( i.length() - n.length, c.default.sources.SILENT), t.quill.scrollingContainer.scrollTop = a, t.quill.focus(); }), 1); } }, }, { key: 'prepareMatching', value: function () { var e = this, t = [], n = []; return this.matchers.forEach((function (i) { var r = a(i, 2), o = r[0], s = r[1]; switch (o) { case Node.TEXT_NODE: n.push(s); break; case Node.ELEMENT_NODE: t.push(s); break; default: [].forEach.call( e.container.querySelectorAll( o), (function (e) { e[w] = e[w] || [], e[w].push(s); })); } })), [t, n]; }, }]), t; }(d.default); function T (e, t, n) { return 'object' === (void 0 === t ? 'undefined' : i(t)) ? Object.keys(t). reduce((function (e, n) {return T(e, n, t[n]);}), e) : e.reduce((function (e, i) { return i.attributes && i.attributes[t] ? e.push(i) : e.insert(i.insert, (0, o.default)({}, x({}, t, n), i.attributes)); }), new s.default); } function A (e) { if (e.nodeType !== Node.ELEMENT_NODE) return {}; var t = '__ql-computed-style'; return e[t] || (e[t] = window.getComputedStyle(e)); } function D (e, t) { for (var n = '', i = e.ops.length - 1; i >= 0 && n.length < t.length; --i) { var a = e.ops[i]; if ('string' != typeof a.insert) break; n = a.insert + n; } return n.slice(-1 * t.length) === t; } function C (e) { if (0 === e.childNodes.length) return !1; var t = A(e); return ['block', 'list-item'].indexOf(t.display) > -1; } function E (e, t, n) { return e.nodeType === e.TEXT_NODE ? n.reduce((function (t, n) {return n(e, t);}), new s.default) : e.nodeType === e.ELEMENT_NODE ? [].reduce.call( e.childNodes || [], (function (i, a) { var r = E(a, t, n); return a.nodeType === e.ELEMENT_NODE && (r = t.reduce( (function (e, t) {return t(a, e);}), r), r = (a[w] || []).reduce( (function (e, t) {return t(a, e);}), r)), i.concat(r); }), new s.default) : new s.default; } function O (e, t, n) {return T(n, e, !0);} function Y (e, t) { var n = l.default.Attributor.Attribute.keys(e), i = l.default.Attributor.Class.keys(e), a = l.default.Attributor.Style.keys(e), r = {}; return n.concat(i). concat(a). forEach((function (t) { var n = l.default.query(t, l.default.Scope.ATTRIBUTE); null != n && (r[n.attrName] = n.value(e), r[n.attrName]) || (null == (n = M[t]) || n.attrName !== t && n.keyName !== t || (r[n.attrName] = n.value(e) || void 0), null == (n = L[t]) || n.attrName !== t && n.keyName !== t || (n = L[t], r[n.attrName] = n.value(e) || void 0)); })), Object.keys(r).length > 0 && (t = T(t, r)), t; } function P (e, t) { var n = l.default.query(e); if (null == n) return t; if (n.prototype instanceof l.default.Embed) { var i = {}, a = n.value(e); null != a && (i[n.blotName] = a, t = (new s.default).insert(i, n.formats(e))); } else 'function' == typeof n.formats && (t = T(t, n.blotName, n.formats(e))); return t; } function I (e, t) { return D(t, '\n') || (C(e) || t.length() > 0 && e.nextSibling && C(e.nextSibling)) && t.insert('\n'), t; } function j (e, t) { if (C(e) && null != e.nextElementSibling && !D(t, '\n\n')) { var n = e.offsetHeight + parseFloat(A(e).marginTop) + parseFloat(A(e).marginBottom); e.nextElementSibling.offsetTop > e.offsetTop + 1.5 * n && t.insert('\n'); } return t; } function N (e, t) { var n = e.data; if ('O:P' === e.parentNode.tagName) return t.insert( n.trim()); if (0 === n.trim().length && e.parentNode.classList.contains( 'ql-clipboard')) return t; if (!A(e.parentNode). whiteSpace. startsWith('pre')) { var i = function ( e, t) { return (t = t.replace(/[^\u00a0]/g, '')).length < 1 && e ? ' ' : t; }; n = (n = n.replace(/\r\n/g, ' '). replace(/\n/g, ' ')).replace(/\s\s+/g, i.bind(i, !0)), (null == e.previousSibling && C(e.parentNode) || null != e.previousSibling && C(e.previousSibling)) && (n = n.replace(/^\s+/, i.bind(i, !1))), (null == e.nextSibling && C(e.parentNode) || null != e.nextSibling && C(e.nextSibling)) && (n = n.replace(/\s+$/, i.bind(i, !1))); } return t.insert(n); } S.DEFAULTS = { matchers: [], matchVisual: !0, }, t.default = S, t.matchAttributor = Y, t.matchBlot = P, t.matchNewline = I, t.matchSpacing = j, t.matchText = N; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = n(6); function s (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function l (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var c = function (e) { function t () { return s(this, t), l(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, [ { key: 'optimize', value: function (e) { r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'optimize', this). call(this, e), this.domNode.tagName !== this.statics.tagName[0] && this.replaceWith(this.statics.blotName); }, }], [ { key: 'create', value: function () { return r( t.__proto__ || Object.getPrototypeOf(t), 'create', this).call(this); }, }, { key: 'formats', value: function () {return !0;}, }]), t; }(((i = o) && i.__esModule ? i : { default: i }).default); c.blotName = 'bold', c.tagName = ['STRONG', 'B'], t.default = c; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.addControls = t.default = void 0; var i = function (e, t) { if (Array.isArray(e)) return e; if (Symbol.iterator in Object(e)) return function ( e, t) { var n = [], i = !0, a = !1, r = void 0; try { for (var o, s = e[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); i = !0) ; } catch (e) {a = !0, r = e;} finally { try { !i && s.return && s.return(); } finally {if (a) throw r;} } return n; }(e, t); throw new TypeError( 'Invalid attempt to destructure non-iterable instance'); }, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = u(n(2)), o = u(n(0)), s = u(n(5)), l = u(n(10)), c = u(n(9)); function u (e) {return e && e.__esModule ? e : { default: e };} function d (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var h = (0, l.default)('quill:toolbar'), f = function (e) { function t (e, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, t); var a, r = d(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e, n)); if (Array.isArray(r.options.container)) { var o = document.createElement('div'); m(o, r.options.container), e.container.parentNode.insertBefore( o, e.container), r.container = o; } else 'string' == typeof r.options.container ? r.container = document.querySelector( r.options.container) : r.container = r.options.container; return r.container instanceof HTMLElement ? (r.container.classList.add( 'ql-toolbar'), r.controls = [], r.handlers = {}, Object.keys( r.options.handlers). forEach((function (e) { r.addHandler(e, r.options.handlers[e]); })), [].forEach.call( r.container.querySelectorAll('button, select'), (function (e) {r.attach(e);})), r.quill.on( s.default.events.EDITOR_CHANGE, (function (e, t) { e === s.default.events.SELECTION_CHANGE && r.update(t); })), r.quill.on( s.default.events.SCROLL_OPTIMIZE, (function () { var e = r.quill.selection.getRange(), t = i(e, 1)[0]; r.update(t); })), r) : (a = h.error('Container required for toolbar', r.options), d(r, a)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, [ { key: 'addHandler', value: function (e, t) {this.handlers[e] = t;}, }, { key: 'attach', value: function (e) { var t = this, n = [].find.call(e.classList, (function (e) { return 0 === e.indexOf('ql-'); })); if (n) { if (n = n.slice('ql-'.length), 'BUTTON' === e.tagName && e.setAttribute('type', 'button'), null == this.handlers[n]) { if (null != this.quill.scroll.whitelist && null == this.quill.scroll.whitelist[n]) return void h.warn( 'ignoring attaching to disabled format', n, e); if (null == o.default.query( n)) return void h.warn( 'ignoring attaching to nonexistent format', n, e); } var a = 'SELECT' === e.tagName ? 'change' : 'click'; e.addEventListener(a, (function (a) { var l = void 0; if ('SELECT' === e.tagName) { if (e.selectedIndex < 0) return; var c = e.options[e.selectedIndex]; l = !c.hasAttribute('selected') && (c.value || !1); } else l = !e.classList.contains( 'ql-active') && (e.value || !e.hasAttribute( 'value')), a.preventDefault(); t.quill.focus(); var u = t.quill.selection.getRange(), d = i(u, 1)[0]; if (null != t.handlers[n]) t.handlers[n].call(t, l); else if (o.default.query( n).prototype instanceof o.default.Embed) { if (!(l = prompt( 'Enter ' + n))) return; t.quill.updateContents( (new r.default).retain(d.index). delete(d.length). insert(function (e, t, n) { return t in e ? Object.defineProperty( e, t, { value: n, enumerable: !0, configurable: !0, writable: !0, }) : e[t] = n, e; }({}, n, l)), s.default.sources.USER); } else t.quill.format(n, l, s.default.sources.USER); t.update(d); })), this.controls.push([n, e]); } }, }, { key: 'update', value: function (e) { var t = null == e ? {} : this.quill.getFormat(e); this.controls.forEach((function (n) { var a = i(n, 2), r = a[0], o = a[1]; if ('SELECT' === o.tagName) { var s = void 0; if (null == e) s = null; else if (null == t[r]) s = o.querySelector( 'option[selected]'); else if (!Array.isArray( t[r])) { var l = t[r]; 'string' == typeof l && (l = l.replace(/\"/g, '\\"')), s = o.querySelector( 'option[value="' + l + '"]'); } null == s ? (o.value = '', o.selectedIndex = -1) : s.selected = !0; } else if (null == e) o.classList.remove( 'ql-active'); else if (o.hasAttribute( 'value')) { var c = t[r] === o.getAttribute('value') || null != t[r] && t[r].toString() === o.getAttribute('value') || null == t[r] && !o.getAttribute('value'); o.classList.toggle('ql-active', c); } else o.classList.toggle('ql-active', null != t[r]); })); }, }]), t; }(c.default); function p (e, t, n) { var i = document.createElement('button'); i.setAttribute('type', 'button'), i.classList.add( 'ql-' + t), null != n && (i.value = n), e.appendChild( i); } function m (e, t) { Array.isArray(t[0]) || (t = [t]), t.forEach((function (t) { var n = document.createElement('span'); n.classList.add('ql-formats'), t.forEach((function (e) { if ('string' == typeof e) p(n, e); else { var t = Object.keys(e)[0], i = e[t]; Array.isArray(i) ? function ( e, t, n) { var i = document.createElement('select'); i.classList.add('ql-' + t), n.forEach( (function (e) { var t = document.createElement( 'option'); !1 !== e ? t.setAttribute('value', e) : t.setAttribute('selected', 'selected'), i.appendChild(t); })), e.appendChild(i); }(n, t, i) : p(n, t, i); } })), e.appendChild(n); })); } f.DEFAULTS = {}, f.DEFAULTS = { container: null, handlers: { clean: function () { var e = this, t = this.quill.getSelection(); if (null != t) if (0 == t.length) { var n = this.quill.getFormat(); Object.keys(n). forEach((function (t) { null != o.default.query(t, o.default.Scope.INLINE) && e.quill.format(t, !1); })); } else this.quill.removeFormat(t, s.default.sources.USER); }, direction: function (e) { var t = this.quill.getFormat().align; 'rtl' === e && null == t ? this.quill.format( 'align', 'right', s.default.sources.USER) : e || 'right' !== t || this.quill.format('align', !1, s.default.sources.USER), this.quill.format( 'direction', e, s.default.sources.USER); }, indent: function (e) { var t = this.quill.getSelection(), n = this.quill.getFormat(t), i = parseInt(n.indent || 0); if ('+1' === e || '-1' === e) { var a = '+1' === e ? 1 : -1; 'rtl' === n.direction && (a *= -1), this.quill.format('indent', i + a, s.default.sources.USER); } }, link: function (e) { !0 === e && (e = prompt('Enter link URL:')), this.quill.format( 'link', e, s.default.sources.USER); }, list: function (e) { var t = this.quill.getSelection(), n = this.quill.getFormat(t); 'check' === e ? 'checked' === n.list || 'unchecked' === n.list ? this.quill.format('list', !1, s.default.sources.USER) : this.quill.format('list', 'unchecked', s.default.sources.USER) : this.quill.format('list', e, s.default.sources.USER); }, }, }, t.default = f, t.addControls = m; }, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <polyline class="ql-even ql-stroke" points="5 7 3 9 5 11"></polyline> <polyline class="ql-even ql-stroke" points="13 7 15 9 13 11"></polyline> <line class=ql-stroke x1=10 x2=8 y1=5 y2=13></line> </svg>';}, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = n(28); var s = function (e) { function t (e, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, t); var i = function ( e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e)); return i.label.innerHTML = n, i.container.classList.add( 'ql-color-picker'), [].slice.call( i.container.querySelectorAll('.ql-picker-item'), 0, 7). forEach((function (e) { e.classList.add('ql-primary'); })), i; } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, [ { key: 'buildItem', value: function (e) { var n = r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'buildItem', this).call(this, e); return n.style.backgroundColor = e.getAttribute( 'value') || '', n; }, }, { key: 'selectItem', value: function (e, n) { r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'selectItem', this).call(this, e, n); var i = this.label.querySelector( '.ql-color-label'), a = e && e.getAttribute('data-value') || ''; i && ('line' === i.tagName ? i.style.stroke = a : i.style.fill = a); }, }]), t; }(((i = o) && i.__esModule ? i : { default: i }).default); t.default = s; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = n(28); var s = function (e) { function t (e, n) { !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, t); var i = function ( e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; }(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e)); return i.container.classList.add( 'ql-icon-picker'), [].forEach.call( i.container.querySelectorAll('.ql-picker-item'), (function (e) { e.innerHTML = n[e.getAttribute('data-value') || '']; })), i.defaultItem = i.container.querySelector( '.ql-selected'), i.selectItem(i.defaultItem), i; } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, [ { key: 'selectItem', value: function (e, n) { r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'selectItem', this). call(this, e, n), e = e || this.defaultItem, this.label.innerHTML = e.innerHTML; }, }]), t; }(((i = o) && i.__esModule ? i : { default: i }).default); t.default = s; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(); var a = function () { function e (t, n) { var i = this; !function (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); }(this, e), this.quill = t, this.boundsContainer = n || document.body, this.root = t.addContainer( 'ql-tooltip'), this.root.innerHTML = this.constructor.TEMPLATE, this.quill.root === this.quill.scrollingContainer && this.quill.root.addEventListener('scroll', (function () { i.root.style.marginTop = -1 * i.quill.root.scrollTop + 'px'; })), this.hide(); } return i(e, [ { key: 'hide', value: function () { this.root.classList.add('ql-hidden'); }, }, { key: 'position', value: function (e) { var t = e.left + e.width / 2 - this.root.offsetWidth / 2, n = e.bottom + this.quill.root.scrollTop; this.root.style.left = t + 'px', this.root.style.top = n + 'px', this.root.classList.remove('ql-flip'); var i = this.boundsContainer.getBoundingClientRect(), a = this.root.getBoundingClientRect(), r = 0; if (a.right > i.right && (r = i.right - a.right, this.root.style.left = t + r + 'px'), a.left < i.left && (r = i.left - a.left, this.root.style.left = t + r + 'px'), a.bottom > i.bottom) { var o = a.bottom - a.top, s = e.bottom - e.top + o; this.root.style.top = n - s + 'px', this.root.classList.add( 'ql-flip'); } return r; }, }, { key: 'show', value: function () { this.root.classList.remove( 'ql-editing'), this.root.classList.remove( 'ql-hidden'); }, }]), e; }(); t.default = a; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = function (e, t) { if (Array.isArray(e)) return e; if (Symbol.iterator in Object(e)) return function ( e, t) { var n = [], i = !0, a = !1, r = void 0; try { for (var o, s = e[Symbol.iterator](); !(i = (o = s.next()).done) && (n.push(o.value), !t || n.length !== t); i = !0) ; } catch (e) {a = !0, r = e;} finally { try { !i && s.return && s.return(); } finally {if (a) throw r;} } return n; }(e, t); throw new TypeError( 'Invalid attempt to destructure non-iterable instance'); }, a = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, r = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), o = f(n(3)), s = f(n(8)), l = n(43), c = f(l), u = f(n(27)), d = n(15), h = f(n(41)); function f (e) {return e && e.__esModule ? e : { default: e };} function p (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function m (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } function g (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); } var v = [ [{ header: ['1', '2', '3', !1] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']], y = function (e) { function t (e, n) { p(this, t), null != n.modules.toolbar && null == n.modules.toolbar.container && (n.modules.toolbar.container = v); var i = m(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e, n)); return i.quill.container.classList.add('ql-snow'), i; } return g(t, e), r(t, [ { key: 'extendToolbar', value: function (e) { e.container.classList.add( 'ql-snow'), this.buildButtons([].slice.call( e.container.querySelectorAll('button')), h.default), this.buildPickers([].slice.call( e.container.querySelectorAll('select')), h.default), this.tooltip = new b(this.quill, this.options.bounds), e.container.querySelector( '.ql-link') && this.quill.keyboard.addBinding( { key: 'K', shortKey: !0 }, (function (t, n) { e.handlers.link.call(e, !n.format.link); })); }, }]), t; }(c.default); y.DEFAULTS = (0, o.default)(!0, {}, c.default.DEFAULTS, { modules: { toolbar: { handlers: { link: function (e) { if (e) { var t = this.quill.getSelection(); if (null == t || 0 == t.length) return; var n = this.quill.getText(t); /^\S+@\S+\.\S+$/.test(n) && 0 !== n.indexOf('mailto:') && (n = 'mailto:' + n), this.quill.theme.tooltip.edit( 'link', n); } else this.quill.format('link', !1); }, }, }, }, }); var b = function (e) { function t (e, n) { p(this, t); var i = m(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e, n)); return i.preview = i.root.querySelector( 'a.ql-preview'), i; } return g(t, e), r(t, [ { key: 'listen', value: function () { var e = this; a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'listen', this). call(this), this.root.querySelector( 'a.ql-action'). addEventListener('click', (function (t) { e.root.classList.contains('ql-editing') ? e.save() : e.edit('link', e.preview.textContent), t.preventDefault(); })), this.root.querySelector('a.ql-remove'). addEventListener('click', (function (t) { if (null != e.linkRange) { var n = e.linkRange; e.restoreFocus(), e.quill.formatText( n, 'link', !1, s.default.sources.USER), delete e.linkRange; } t.preventDefault(), e.hide(); })), this.quill.on( s.default.events.SELECTION_CHANGE, (function (t, n, a) { if (null != t) { if (0 === t.length && a === s.default.sources.USER) { var r = e.quill.scroll.descendant( u.default, t.index), o = i(r, 2), l = o[0], c = o[1]; if (null != l) { e.linkRange = new d.Range( t.index - c, l.length()); var h = u.default.formats( l.domNode); return e.preview.textContent = h, e.preview.setAttribute( 'href', h), e.show(), void e.position( e.quill.getBounds( e.linkRange)); } } else delete e.linkRange; e.hide(); } })); }, }, { key: 'show', value: function () { a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'show', this).call(this), this.root.removeAttribute( 'data-mode'); }, }]), t; }(l.BaseTooltip); b.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(''), t.default = y; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i = I(n(29)), a = n(36), r = n(38), o = n(64), s = I(n(65)), l = I(n(66)), c = n(67), u = I(c), d = n(37), h = n(26), f = n(39), p = n(40), m = I(n(56)), g = I(n(68)), v = I(n(27)), y = I(n(69)), b = I(n(70)), x = I(n(71)), _ = I(n(72)), w = I(n(73)), k = n(13), M = I(k), L = I(n(74)), S = I(n(75)), T = I(n(57)), A = I(n(41)), D = I(n(28)), C = I(n(59)), E = I(n(60)), O = I(n(61)), Y = I(n(108)), P = I(n(62)); function I (e) {return e && e.__esModule ? e : { default: e };} i.default.register({ 'attributors/attribute/direction': r.DirectionAttribute, 'attributors/class/align': a.AlignClass, 'attributors/class/background': d.BackgroundClass, 'attributors/class/color': h.ColorClass, 'attributors/class/direction': r.DirectionClass, 'attributors/class/font': f.FontClass, 'attributors/class/size': p.SizeClass, 'attributors/style/align': a.AlignStyle, 'attributors/style/background': d.BackgroundStyle, 'attributors/style/color': h.ColorStyle, 'attributors/style/direction': r.DirectionStyle, 'attributors/style/font': f.FontStyle, 'attributors/style/size': p.SizeStyle, }, !0), i.default.register({ 'formats/align': a.AlignClass, 'formats/direction': r.DirectionClass, 'formats/indent': o.IndentClass, 'formats/background': d.BackgroundStyle, 'formats/color': h.ColorStyle, 'formats/font': f.FontClass, 'formats/size': p.SizeClass, 'formats/blockquote': s.default, 'formats/code-block': M.default, 'formats/header': l.default, 'formats/list': u.default, 'formats/bold': m.default, 'formats/code': k.Code, 'formats/italic': g.default, 'formats/link': v.default, 'formats/script': y.default, 'formats/strike': b.default, 'formats/underline': x.default, 'formats/image': _.default, 'formats/video': w.default, 'formats/list/item': c.ListItem, 'modules/formula': L.default, 'modules/syntax': S.default, 'modules/toolbar': T.default, 'themes/bubble': Y.default, 'themes/snow': P.default, 'ui/icons': A.default, 'ui/picker': D.default, 'ui/icon-picker': E.default, 'ui/color-picker': C.default, 'ui/tooltip': O.default, }, !0), t.default = i.default; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.IndentClass = void 0; var i, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = n(0), s = (i = o) && i.__esModule ? i : { default: i }; function l (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function c (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var u = new (function (e) { function t () { return l(this, t), c(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, [ { key: 'add', value: function (e, n) { if ('+1' === n || '-1' === n) { var i = this.value(e) || 0; n = '+1' === n ? i + 1 : i - 1; } return 0 === n ? (this.remove(e), !0) : r( t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'add', this).call(this, e, n); }, }, { key: 'canAdd', value: function (e, n) { return r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'canAdd', this).call(this, e, n) || r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'canAdd', this). call(this, e, parseInt(n)); }, }, { key: 'value', value: function (e) { return parseInt(r(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'value', this).call(this, e)) || void 0; }, }]), t; }(s.default.Attributor.Class))('indent', 'ql-indent', { scope: s.default.Scope.BLOCK, whitelist: [1, 2, 3, 4, 5, 6, 7, 8], }); t.IndentClass = u; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = n(4); function r (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function o (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var s = function (e) { function t () { return r(this, t), o(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), t; }(((i = a) && i.__esModule ? i : { default: i }).default); s.blotName = 'blockquote', s.tagName = 'blockquote', t.default = s; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = n(4); function o (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function s (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var l = function (e) { function t () { return o(this, t), s(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, null, [ { key: 'formats', value: function (e) { return this.tagName.indexOf(e.tagName) + 1; }, }]), t; }(((i = r) && i.__esModule ? i : { default: i }).default); l.blotName = 'header', l.tagName = [ 'H1', 'H2', 'H3', 'H4', 'H5', 'H6'], t.default = l; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.default = t.ListItem = void 0; var i = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), a = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, r = l(n(0)), o = l(n(4)), s = l(n(25)); function l (e) {return e && e.__esModule ? e : { default: e };} function c (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function u (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } function d (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); } var h = function (e) { function t () { return c(this, t), u(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return d(t, e), i(t, [ { key: 'format', value: function (e, n) { e !== f.blotName || n ? a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'format', this).call(this, e, n) : this.replaceWith( r.default.create(this.statics.scope)); }, }, { key: 'remove', value: function () { null == this.prev && null == this.next ? this.parent.remove() : a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'remove', this).call(this); }, }, { key: 'replaceWith', value: function (e, n) { return this.parent.isolate( this.offset(this.parent), this.length()), e === this.parent.statics.blotName ? (this.parent.replaceWith(e, n), this) : (this.parent.unwrap(), a( t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'replaceWith', this).call(this, e, n)); }, }], [ { key: 'formats', value: function (e) { return e.tagName === this.tagName ? void 0 : a( t.__proto__ || Object.getPrototypeOf(t), 'formats', this).call(this, e); }, }]), t; }(o.default); h.blotName = 'list-item', h.tagName = 'LI'; var f = function (e) { function t (e) { c(this, t); var n = u(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e)), i = function (t) { if (t.target.parentNode === e) { var i = n.statics.formats(e), a = r.default.find(t.target); 'checked' === i ? a.format('list', 'unchecked') : 'unchecked' === i && a.format('list', 'checked'); } }; return e.addEventListener('touchstart', i), e.addEventListener('mousedown', i), n; } return d(t, e), i(t, null, [ { key: 'create', value: function (e) { var n = 'ordered' === e ? 'OL' : 'UL', i = a( t.__proto__ || Object.getPrototypeOf(t), 'create', this).call(this, n); return 'checked' !== e && 'unchecked' !== e || i.setAttribute('data-checked', 'checked' === e), i; }, }, { key: 'formats', value: function (e) { return 'OL' === e.tagName ? 'ordered' : 'UL' === e.tagName ? e.hasAttribute( 'data-checked') ? 'true' === e.getAttribute('data-checked') ? 'checked' : 'unchecked' : 'bullet' : void 0; }, }]), i(t, [ { key: 'format', value: function (e, t) { this.children.length > 0 && this.children.tail.format(e, t); }, }, { key: 'formats', value: function () { return e = {}, t = this.statics.blotName, n = this.statics.formats( this.domNode), t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0, }) : e[t] = n, e; var e, t, n; }, }, { key: 'insertBefore', value: function (e, n) { if (e instanceof h) a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'insertBefore', this). call(this, e, n); else { var i = null == n ? this.length() : n.offset(this), r = this.split(i); r.parent.insertBefore(e, r); } }, }, { key: 'optimize', value: function (e) { a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'optimize', this).call(this, e); var n = this.next; null != n && n.prev === this && n.statics.blotName === this.statics.blotName && n.domNode.tagName === this.domNode.tagName && n.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked') && (n.moveChildren(this), n.remove()); }, }, { key: 'replace', value: function (e) { if (e.statics.blotName !== this.statics.blotName) { var n = r.default.create( this.statics.defaultChild); e.moveChildren(n), this.appendChild(n); } a(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'replace', this).call(this, e); }, }]), t; }(s.default); f.blotName = 'list', f.scope = r.default.Scope.BLOCK_BLOT, f.tagName = [ 'OL', 'UL'], f.defaultChild = 'list-item', f.allowedChildren = [h], t.ListItem = h, t.default = f; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = n(56); function r (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function o (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var s = function (e) { function t () { return r(this, t), o(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), t; }(((i = a) && i.__esModule ? i : { default: i }).default); s.blotName = 'italic', s.tagName = ['EM', 'I'], t.default = s; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = n(6); function s (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function l (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var c = function (e) { function t () { return s(this, t), l(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, null, [ { key: 'create', value: function (e) { return 'super' === e ? document.createElement('sup') : 'sub' === e ? document.createElement('sub') : r(t.__proto__ || Object.getPrototypeOf(t), 'create', this).call(this, e); }, }, { key: 'formats', value: function (e) { return 'SUB' === e.tagName ? 'sub' : 'SUP' === e.tagName ? 'super' : void 0; }, }]), t; }(((i = o) && i.__esModule ? i : { default: i }).default); c.blotName = 'script', c.tagName = [ 'SUB', 'SUP'], t.default = c; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = n(6); function r (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function o (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var s = function (e) { function t () { return r(this, t), o(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), t; }(((i = a) && i.__esModule ? i : { default: i }).default); s.blotName = 'strike', s.tagName = 'S', t.default = s; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = n(6); function r (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function o (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var s = function (e) { function t () { return r(this, t), o(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), t; }(((i = a) && i.__esModule ? i : { default: i }).default); s.blotName = 'underline', s.tagName = 'U', t.default = s; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = n(0), s = (i = o) && i.__esModule ? i : { default: i }, l = n(27); function c (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function u (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var d = ['alt', 'height', 'width'], h = function (e) { function t () { return c(this, t), u(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, [ { key: 'format', value: function (e, n) { d.indexOf(e) > -1 ? n ? this.domNode.setAttribute(e, n) : this.domNode.removeAttribute(e) : r( t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'format', this).call(this, e, n); }, }], [ { key: 'create', value: function (e) { var n = r( t.__proto__ || Object.getPrototypeOf(t), 'create', this).call(this, e); return 'string' == typeof e && n.setAttribute('src', this.sanitize(e)), n; }, }, { key: 'formats', value: function (e) { return d.reduce((function (t, n) { return e.hasAttribute(n) && (t[n] = e.getAttribute(n)), t; }), {}); }, }, { key: 'match', value: function (e) { return /\.(jpe?g|gif|png)$/.test(e) || /^data:image\/.+;base64/.test(e); }, }, { key: 'sanitize', value: function (e) { return (0, l.sanitize)(e, ['http', 'https', 'data']) ? e : '//:0'; }, }, { key: 'value', value: function (e) {return e.getAttribute('src');}, }]), t; }(s.default.Embed); h.blotName = 'image', h.tagName = 'IMG', t.default = h; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }); var i, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, o = n(4), s = n(27), l = (i = s) && i.__esModule ? i : { default: i }; function c (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function u (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } var d = ['height', 'width'], h = function (e) { function t () { return c(this, t), u(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); }(t, e), a(t, [ { key: 'format', value: function (e, n) { d.indexOf(e) > -1 ? n ? this.domNode.setAttribute(e, n) : this.domNode.removeAttribute(e) : r( t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'format', this).call(this, e, n); }, }], [ { key: 'create', value: function (e) { var n = r( t.__proto__ || Object.getPrototypeOf(t), 'create', this).call(this, e); return n.setAttribute('frameborder', '0'), n.setAttribute('allowfullscreen', !0), n.setAttribute('src', this.sanitize(e)), n; }, }, { key: 'formats', value: function (e) { return d.reduce((function (t, n) { return e.hasAttribute(n) && (t[n] = e.getAttribute(n)), t; }), {}); }, }, { key: 'sanitize', value: function (e) {return l.default.sanitize(e);}, }, { key: 'value', value: function (e) {return e.getAttribute('src');}, }]), t; }(o.BlockEmbed); h.blotName = 'video', h.className = 'ql-video', h.tagName = 'IFRAME', t.default = h; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.default = t.FormulaBlot = void 0; var i = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), a = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, r = l(n(35)), o = l(n(5)), s = l(n(9)); function l (e) {return e && e.__esModule ? e : { default: e };} function c (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function u (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } function d (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); } var h = function (e) { function t () { return c(this, t), u(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return d(t, e), i(t, null, [ { key: 'create', value: function (e) { var n = a( t.__proto__ || Object.getPrototypeOf(t), 'create', this).call(this, e); return 'string' == typeof e && (window.katex.render(e, n, { throwOnError: !1, errorColor: '#f00', }), n.setAttribute('data-value', e)), n; }, }, { key: 'value', value: function (e) { return e.getAttribute('data-value'); }, }]), t; }(r.default); h.blotName = 'formula', h.className = 'ql-formula', h.tagName = 'SPAN'; var f = function (e) { function t () { c(this, t); var e = u(this, (t.__proto__ || Object.getPrototypeOf(t)).call( this)); if (null == window.katex) throw new Error( 'Formula module requires KaTeX.'); return e; } return d(t, e), i(t, null, [ { key: 'register', value: function () {o.default.register(h, !0);}, }]), t; }(s.default); t.FormulaBlot = h, t.default = f; }, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.default = t.CodeToken = t.CodeBlock = void 0; var i = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), a = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, r = l(n(0)), o = l(n(5)), s = l(n(9)); function l (e) {return e && e.__esModule ? e : { default: e };} function c (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function u (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } function d (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); } var h = function (e) { function t () { return c(this, t), u(this, (t.__proto__ || Object.getPrototypeOf(t)).apply( this, arguments)); } return d(t, e), i(t, [ { key: 'replaceWith', value: function (e) { this.domNode.textContent = this.domNode.textContent, this.attach(), a( t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'replaceWith', this).call(this, e); }, }, { key: 'highlight', value: function (e) { var t = this.domNode.textContent; this.cachedText !== t && ((t.trim().length > 0 || null == this.cachedText) && (this.domNode.innerHTML = e( t), this.domNode.normalize(), this.attach()), this.cachedText = t); }, }]), t; }(l(n(13)).default); h.className = 'ql-syntax'; var f = new r.default.Attributor.Class('token', 'hljs', { scope: r.default.Scope.INLINE }), p = function (e) { function t (e, n) { c(this, t); var i = u(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e, n)); if ('function' != typeof i.options.highlight) throw new Error( 'Syntax module requires highlight.js. Please include the library on the page before Quill.'); var a = null; return i.quill.on(o.default.events.SCROLL_OPTIMIZE, (function () { clearTimeout(a), a = setTimeout( (function () {i.highlight(), a = null;}), i.options.interval); })), i.highlight(), i; } return d(t, e), i(t, null, [ { key: 'register', value: function () { o.default.register(f, !0), o.default.register(h, !0); }, }]), i(t, [ { key: 'highlight', value: function () { var e = this; if (!this.quill.selection.composing) { this.quill.update(o.default.sources.USER); var t = this.quill.getSelection(); this.quill.scroll.descendants(h). forEach((function (t) { t.highlight(e.options.highlight); })), this.quill.update( o.default.sources.SILENT), null != t && this.quill.setSelection(t, o.default.sources.SILENT); } }, }]), t; }(s.default); p.DEFAULTS = { highlight: null == window.hljs ? null : function (e) { return window.hljs.highlightAuto(e).value; }, interval: 1e3, }, t.CodeBlock = h, t.CodeToken = f, t.default = p; }, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=3 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=13 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=9 y1=4 y2=4></line> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=14 x2=4 y1=14 y2=14></line> <line class=ql-stroke x1=12 x2=6 y1=4 y2=4></line> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=5 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=9 y1=4 y2=4></line> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=15 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=15 x2=3 y1=14 y2=14></line> <line class=ql-stroke x1=15 x2=3 y1=4 y2=4></line> </svg>';}, function ( e, t) { e.exports = '<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"></polygon> <rect height=1 width=1 x=4 y=4></rect> <polygon points="6.817 5 6 5 6 6 6.38 6 6.817 5"></polygon> <rect height=1 width=1 x=2 y=6></rect> <rect height=1 width=1 x=3 y=5></rect> <rect height=1 width=1 x=4 y=7></rect> <polygon points="4 11.439 4 11 3 11 3 12 3.755 12 4 11.439"></polygon> <rect height=1 width=1 x=2 y=12></rect> <rect height=1 width=1 x=2 y=9></rect> <rect height=1 width=1 x=2 y=15></rect> <polygon points="4.63 10 4 10 4 11 4.192 11 4.63 10"></polygon> <rect height=1 width=1 x=3 y=8></rect> <path d=M10.832,4.2L11,4.582V4H10.708A1.948,1.948,0,0,1,10.832,4.2Z></path> <path d=M7,4.582L7.168,4.2A1.929,1.929,0,0,1,7.292,4H7V4.582Z></path> <path d=M8,13H7.683l-0.351.8a1.933,1.933,0,0,1-.124.2H8V13Z></path> <rect height=1 width=1 x=12 y=2></rect> <rect height=1 width=1 x=11 y=3></rect> <path d=M9,3H8V3.282A1.985,1.985,0,0,1,9,3Z></path> <rect height=1 width=1 x=2 y=3></rect> <rect height=1 width=1 x=6 y=2></rect> <rect height=1 width=1 x=3 y=2></rect> <rect height=1 width=1 x=5 y=3></rect> <rect height=1 width=1 x=9 y=2></rect> <rect height=1 width=1 x=15 y=14></rect> <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"></polygon> <rect height=1 width=1 x=13 y=7></rect> <rect height=1 width=1 x=15 y=5></rect> <rect height=1 width=1 x=14 y=6></rect> <rect height=1 width=1 x=15 y=8></rect> <rect height=1 width=1 x=14 y=9></rect> <path d=M3.775,14H3v1H4V14.314A1.97,1.97,0,0,1,3.775,14Z></path> <rect height=1 width=1 x=14 y=3></rect> <polygon points="12 6.868 12 6 11.62 6 12 6.868"></polygon> <rect height=1 width=1 x=15 y=2></rect> <rect height=1 width=1 x=12 y=5></rect> <rect height=1 width=1 x=13 y=4></rect> <polygon points="12.933 9 13 9 13 8 12.495 8 12.933 9"></polygon> <rect height=1 width=1 x=9 y=14></rect> <rect height=1 width=1 x=8 y=15></rect> <path d=M6,14.926V15H7V14.316A1.993,1.993,0,0,1,6,14.926Z></path> <rect height=1 width=1 x=5 y=15></rect> <path d=M10.668,13.8L10.317,13H10v1h0.792A1.947,1.947,0,0,1,10.668,13.8Z></path> <rect height=1 width=1 x=11 y=15></rect> <path d=M14.332,12.2a1.99,1.99,0,0,1,.166.8H15V12H14.245Z></path> <rect height=1 width=1 x=14 y=15></rect> <rect height=1 width=1 x=15 y=11></rect> </g> <polyline class=ql-stroke points="5.5 13 9 5 12.5 13"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=11 y2=11></line> </svg>'; }, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <rect class="ql-fill ql-stroke" height=3 width=3 x=4 y=5></rect> <rect class="ql-fill ql-stroke" height=3 width=3 x=11 y=5></rect> <path class="ql-even ql-fill ql-stroke" d=M7,8c0,4.031-3,5-3,5></path> <path class="ql-even ql-fill ql-stroke" d=M14,8c0,4.031-3,5-3,5></path> </svg>';}, function ( e, t) {e.exports = '<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> <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></path> </svg>';}, function ( e, t) {e.exports = '<svg class="" viewbox="0 0 18 18"> <line class=ql-stroke x1=5 x2=13 y1=3 y2=3></line> <line class=ql-stroke x1=6 x2=9.35 y1=12 y2=3></line> <line class=ql-stroke x1=11 x2=15 y1=11 y2=15></line> <line class=ql-stroke x1=15 x2=11 y1=11 y2=15></line> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=7 x=2 y=14></rect> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <line class="ql-color-label ql-stroke ql-transparent" x1=3 x2=15 y1=15 y2=15></line> <polyline class=ql-stroke points="5.5 11 9 3 12.5 11"></polyline> <line class=ql-stroke x1=11.63 x2=6.38 y1=9 y2=9></line> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <polygon class="ql-stroke ql-fill" points="3 11 5 9 3 7 3 11"></polygon> <line class="ql-stroke ql-fill" x1=15 x2=11 y1=4 y2=4></line> <path class=ql-fill d=M11,3a3,3,0,0,0,0,6h1V3H11Z></path> <rect class=ql-fill height=11 width=1 x=11 y=4></rect> <rect class=ql-fill height=11 width=1 x=13 y=4></rect> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <polygon class="ql-stroke ql-fill" points="15 12 13 10 15 8 15 12"></polygon> <line class="ql-stroke ql-fill" x1=9 x2=5 y1=4 y2=4></line> <path class=ql-fill d=M5,3A3,3,0,0,0,5,9H6V3H5Z></path> <rect class=ql-fill height=11 width=1 x=5 y=4></rect> <rect class=ql-fill height=11 width=1 x=7 y=4></rect> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <path class=ql-fill d=M14,16H4a1,1,0,0,1,0-2H14A1,1,0,0,1,14,16Z /> <path class=ql-fill d=M14,4H4A1,1,0,0,1,4,2H14A1,1,0,0,1,14,4Z /> <rect class=ql-fill x=3 y=6 width=12 height=6 rx=1 ry=1 /> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <path class=ql-fill d=M13,16H5a1,1,0,0,1,0-2h8A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H5A1,1,0,0,1,5,2h8A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=2 y=6 width=14 height=6 rx=1 ry=1 /> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <path class=ql-fill d=M15,8H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,8Z /> <path class=ql-fill d=M15,12H13a1,1,0,0,1,0-2h2A1,1,0,0,1,15,12Z /> <path class=ql-fill d=M15,16H5a1,1,0,0,1,0-2H15A1,1,0,0,1,15,16Z /> <path class=ql-fill d=M15,4H5A1,1,0,0,1,5,2H15A1,1,0,0,1,15,4Z /> <rect class=ql-fill x=2 y=6 width=8 height=6 rx=1 ry=1 /> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <path class=ql-fill d=M5,8H3A1,1,0,0,1,3,6H5A1,1,0,0,1,5,8Z /> <path class=ql-fill d=M5,12H3a1,1,0,0,1,0-2H5A1,1,0,0,1,5,12Z /> <path class=ql-fill d=M13,16H3a1,1,0,0,1,0-2H13A1,1,0,0,1,13,16Z /> <path class=ql-fill d=M13,4H3A1,1,0,0,1,3,2H13A1,1,0,0,1,13,4Z /> <rect class=ql-fill x=8 y=6 width=8 height=6 rx=1 ry=1 transform="translate(24 18) rotate(-180)"/> </svg>';}, function ( e, t) { e.exports = '<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></path> <rect class=ql-fill height=1.6 rx=0.8 ry=0.8 width=5 x=5.15 y=6.2></rect> <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></path> </svg>'; }, function ( e, t) {e.exports = '<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>';}, function ( e, t) {e.exports = '<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>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=7 x2=13 y1=4 y2=4></line> <line class=ql-stroke x1=5 x2=11 y1=14 y2=14></line> <line class=ql-stroke x1=8 x2=10 y1=14 y2=4></line> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <rect class=ql-stroke height=10 width=12 x=3 y=4></rect> <circle class=ql-fill cx=6 cy=7 r=1></circle> <polyline class="ql-even ql-fill" points="5 12 5 11 7 9 8 10 11 7 13 9 13 12 5 12"></polyline> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class="ql-fill ql-stroke" points="3 7 3 11 5 9 3 7"></polyline> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=3 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points="5 7 5 11 3 9 5 7"></polyline> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=7 x2=11 y1=7 y2=11></line> <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> <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></path> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=7 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=7 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=7 x2=15 y1=14 y2=14></line> <line class="ql-stroke ql-thin" x1=2.5 x2=4.5 y1=5.5 y2=5.5></line> <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></path> <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> <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></path> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <line class=ql-stroke x1=6 x2=15 y1=4 y2=4></line> <line class=ql-stroke x1=6 x2=15 y1=9 y2=9></line> <line class=ql-stroke x1=6 x2=15 y1=14 y2=14></line> <line class=ql-stroke x1=3 x2=3 y1=4 y2=4></line> <line class=ql-stroke x1=3 x2=3 y1=9 y2=9></line> <line class=ql-stroke x1=3 x2=3 y1=14 y2=14></line> </svg>';}, function ( e, t) {e.exports = '<svg class="" viewbox="0 0 18 18"> <line class=ql-stroke x1=9 x2=15 y1=4 y2=4></line> <polyline class=ql-stroke points="3 4 4 5 6 3"></polyline> <line class=ql-stroke x1=9 x2=15 y1=14 y2=14></line> <polyline class=ql-stroke points="3 14 4 15 6 13"></polyline> <line class=ql-stroke x1=9 x2=15 y1=9 y2=9></line> <polyline class=ql-stroke points="3 9 4 10 6 8"></polyline> </svg>';}, function ( e, t) {e.exports = '<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>';}, function ( e, t) {e.exports = '<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>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <line class="ql-stroke ql-thin" x1=15.5 x2=2.5 y1=8.5 y2=9.5></line> <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> <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></path> </svg>';}, function ( e, t) {e.exports = '<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></path> <rect class=ql-fill height=1 rx=0.5 ry=0.5 width=12 x=3 y=15></rect> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <rect class=ql-stroke height=12 width=12 x=3 y=3></rect> <rect class=ql-fill height=12 width=1 x=5 y=3></rect> <rect class=ql-fill height=12 width=1 x=12 y=3></rect> <rect class=ql-fill height=2 width=8 x=5 y=8></rect> <rect class=ql-fill height=1 width=3 x=3 y=5></rect> <rect class=ql-fill height=1 width=3 x=3 y=7></rect> <rect class=ql-fill height=1 width=3 x=3 y=10></rect> <rect class=ql-fill height=1 width=3 x=3 y=12></rect> <rect class=ql-fill height=1 width=3 x=12 y=5></rect> <rect class=ql-fill height=1 width=3 x=12 y=7></rect> <rect class=ql-fill height=1 width=3 x=12 y=10></rect> <rect class=ql-fill height=1 width=3 x=12 y=12></rect> </svg>';}, function ( e, t) {e.exports = '<svg viewbox="0 0 18 18"> <polygon class=ql-stroke points="7 11 9 13 11 11 7 11"></polygon> <polygon class=ql-stroke points="7 7 9 5 11 7 7 7"></polygon> </svg>';}, function (e, t, n) { 'use strict'; Object.defineProperty(t, '__esModule', { value: !0 }), t.default = t.BubbleTooltip = void 0; var i = function e (t, n, i) { null === t && (t = Function.prototype); var a = Object.getOwnPropertyDescriptor(t, n); if (void 0 === a) { var r = Object.getPrototypeOf(t); return null === r ? void 0 : e(r, n, i); } if ('value' in a) return a.value; var o = a.get; return void 0 !== o ? o.call(i) : void 0; }, a = function () { function e (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } return function (t, n, i) { return n && e(t.prototype, n), i && e(t, i), t; }; }(), r = d(n(3)), o = d(n(8)), s = n(43), l = d(s), c = n(15), u = d(n(41)); function d (e) {return e && e.__esModule ? e : { default: e };} function h (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function f (e, t) { if (!e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return !t || 'object' != typeof t && 'function' != typeof t ? e : t; } function p (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function, not ' + typeof t); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, enumerable: !1, writable: !0, configurable: !0, }, }), t && (Object.setPrototypeOf ? Object.setPrototypeOf(e, t) : e.__proto__ = t); } var m = [ ['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']], g = function (e) { function t (e, n) { h(this, t), null != n.modules.toolbar && null == n.modules.toolbar.container && (n.modules.toolbar.container = m); var i = f(this, (t.__proto__ || Object.getPrototypeOf(t)).call( this, e, n)); return i.quill.container.classList.add( 'ql-bubble'), i; } return p(t, e), a(t, [ { key: 'extendToolbar', value: function (e) { this.tooltip = new v(this.quill, this.options.bounds), this.tooltip.root.appendChild( e.container), this.buildButtons( [].slice.call( e.container.querySelectorAll( 'button')), u.default), this.buildPickers( [].slice.call( e.container.querySelectorAll( 'select')), u.default); }, }]), t; }(l.default); g.DEFAULTS = (0, r.default)(!0, {}, l.default.DEFAULTS, { modules: { toolbar: { handlers: { link: function (e) { e ? this.quill.theme.tooltip.edit() : this.quill.format('link', !1); }, }, }, }, }); var v = function (e) { function t (e, n) { h(this, t); var i = f(this, (t.__proto__ || Object.getPrototypeOf(t)).call(this, e, n)); return i.quill.on(o.default.events.EDITOR_CHANGE, (function (e, t, n, a) { if (e === o.default.events.SELECTION_CHANGE) if (null != t && t.length > 0 && a === o.default.sources.USER) { i.show(), i.root.style.left = '0px', i.root.style.width = '', i.root.style.width = i.root.offsetWidth + 'px'; var r = i.quill.getLines(t.index, t.length); if (1 === r.length) i.position( i.quill.getBounds(t)); else { var s = r[r.length - 1], l = i.quill.getIndex(s), u = Math.min(s.length() - 1, t.index + t.length - l), d = i.quill.getBounds( new c.Range(l, u)); i.position(d); } } else document.activeElement !== i.textbox && i.quill.hasFocus() && i.hide(); })), i; } return p(t, e), a(t, [ { key: 'listen', value: function () { var e = this; i(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'listen', this). call(this), this.root.querySelector( '.ql-close'). addEventListener('click', (function () { e.root.classList.remove('ql-editing'); })), this.quill.on( o.default.events.SCROLL_OPTIMIZE, (function () { setTimeout((function () { if (!e.root.classList.contains( 'ql-hidden')) { var t = e.quill.getSelection(); null != t && e.position( e.quill.getBounds(t)); } }), 1); })); }, }, { key: 'cancel', value: function () {this.show();} }, { key: 'position', value: function (e) { var n = i(t.prototype.__proto__ || Object.getPrototypeOf(t.prototype), 'position', this).call(this, e), a = this.root.querySelector( '.ql-tooltip-arrow'); if (a.style.marginLeft = '', 0 === n) return n; a.style.marginLeft = -1 * n - a.offsetWidth / 2 + 'px'; }, }]), t; }(s.BaseTooltip); v.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(''), t.BubbleTooltip = v, t.default = g; }, function (e, t, n) {e.exports = n(63);}]).default; })), function (e) { 'function' == typeof define && define.amd ? define(e) : e(); }((function () { 'use strict'; function e (e, t) { t = t || { bubbles: !1, cancelable: !1, detail: void 0 }; var n = document.createEvent('CustomEvent'); return n.initCustomEvent(e, t.bubbles, t.cancelable, t.detail), n; } var t; ''.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 (e) { if (null == this) throw new TypeError( '"this" is null or not defined'); var t = Object(this), n = t.length >>> 0; if ('function' != typeof e) throw new TypeError( 'predicate must be a function'); for (var i = arguments[1], a = 0; a < n;) { var r = t[a]; if (e.call(i, r, a, t)) return a; a++; } return -1; }, configurable: !0, writable: !0, }), Array.prototype.includes || (Array.prototype.includes = function (e) { return !!~this.indexOf(e); }), Array.prototype.some || (Array.prototype.some = function (e, t) { if (null == this) throw new TypeError( 'Array.prototype.some called on null or undefined'); if ('function' != typeof e) throw new TypeError; for (var n = Object(this), i = n.length >>> 0, a = 0; a < i; a++) if (a in n && e.call(t, n[a], a, n)) return !0; return !1; }), String.prototype.includes || (String.prototype.includes = function (e, t) { return 'number' != typeof t && (t = 0), !(t + e.length > this.length) && -1 !== this.indexOf(e, t); }), 'function' != typeof Object.assign && Object.defineProperty(Object, 'assign', { value: function (e, t) { if (null == e) throw new TypeError( 'Cannot convert undefined or null to object'); for (var n = Object(e), i = 1; i < arguments.length; i++) { var a = arguments[i]; if (null != a) for (var r in a) Object.prototype.hasOwnProperty.call(a, r) && (n[r] = a[r]); } return n; }, writable: !0, configurable: !0, }), e.prototype = window.Event.prototype, 'function' != typeof window.CustomEvent && (window.CustomEvent = e), Element.prototype.matches || (Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector), Element.prototype.closest || (Element.prototype.closest = function (e) { var t = this; if (!document.documentElement.contains(t)) return null; do { if (t.matches(e)) return t; t = t.parentElement || t.parentNode; } while (null !== t && 1 === t.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 (e) { if ('Element' in e) { var t = 'classList', n = e.Element.prototype, i = Object, a = String.prototype.trim || function () {return this.replace(/^\s+|\s+$/g, '');}, r = Array.prototype.indexOf || function (e) { for (var t = 0, n = this.length; t < n; t++) if (t in this && this[t] === e) return t; return -1; }, o = function ( e, t) {this.name = e, this.code = DOMException[e], this.message = t;}, s = function (e, t) { if ('' === t) throw new o('SYNTAX_ERR', 'The token must not be empty.'); if (/\s/.test(t)) throw new o('INVALID_CHARACTER_ERR', 'The token must not contain space characters.'); return r.call(e, t); }, l = function (e) { for (var t = a.call(e.getAttribute('class') || ''), n = t ? t.split(/\s+/) : [], i = 0, r = n.length; i < r; i++) this.push(n[i]); this._updateClassName = function () { e.setAttribute('class', this.toString()); }; }, c = l.prototype = [], u = function () {return new l(this);}; if (o.prototype = Error.prototype, c.item = function (e) { return this[e] || null; }, c.contains = function (e) { return ~s(this, e + ''); }, c.add = function () { var e, t = arguments, n = 0, i = t.length, a = !1; do { e = t[n] + '', ~s(this, e) || (this.push(e), a = !0); } while (++n < i); a && this._updateClassName(); }, c.remove = function () { var e, t, n = arguments, i = 0, a = n.length, r = !1; do { for (e = n[i] + '', t = s(this, e); ~t;) this.splice(t, 1), r = !0, t = s(this, e); } while (++i < a); r && this._updateClassName(); }, c.toggle = function (e, t) { var n = this.contains(e), i = n ? !0 !== t && 'remove' : !1 !== t && 'add'; return i && this[i](e), !0 === t || !1 === t ? t : !n; }, c.replace = function (e, t) { var n = s(e + ''); ~n && (this.splice(n, 1, t), this._updateClassName()); }, c.toString = function () { return this.join(' '); }, i.defineProperty) { var d = { get: u, enumerable: !0, configurable: !0, }; try {i.defineProperty(n, t, d);} catch (e) { void 0 !== e.number && -2146823252 !== e.number || (d.enumerable = !1, i.defineProperty(n, t, d)); } } else i.prototype.__defineGetter__ && n.__defineGetter__(t, u); } }(self), function () { var e = document.createElement('_'); if (e.classList.add('c1', 'c2'), !e.classList.contains('c2')) { var t = function (e) { var t = DOMTokenList.prototype[e]; DOMTokenList.prototype[e] = function (e) { var n, i = arguments.length; for (n = 0; n < i; n++) e = arguments[n], t.call(this, e); }; }; t('add'), t('remove'); } if (e.classList.toggle('c3', !1), e.classList.contains('c3')) { var n = DOMTokenList.prototype.toggle; DOMTokenList.prototype.toggle = function (e, t) { return 1 in arguments && !this.contains(e) == !t ? t : n.call( this, e); }; } 'replace' in document.createElement('_').classList || (DOMTokenList.prototype.replace = function (e, t) { var n = this.toString().split(' '), i = n.indexOf(e + ''); ~i && (n = n.slice(i), this.remove.apply(this, n), this.add( t), this.add.apply(this, n.slice(1))); }), e = null; }()), t = function () { function e (e) { var t = this.constructor; return this.then((function (n) { return t.resolve(e()). then((function () {return n;})); }), (function (n) { return t.resolve(e()). then((function () {return t.reject(n);})); })); } function t (e) { return new this((function (t, n) { if (!e || void 0 === e.length) return n(new TypeError( typeof e + ' ' + e + ' is not iterable(cannot read property Symbol(Symbol.iterator))')); var i = Array.prototype.slice.call(e); if (0 === i.length) return t([]); var a = i.length; function r (e, n) { if (n && ('object' == typeof n || 'function' == typeof n)) { var o = n.then; if ('function' == typeof o) return void o.call(n, (function (t) {r(e, t);}), (function (n) { i[e] = { status: 'rejected', reason: n, }, 0 == --a && t(i); })); } i[e] = { status: 'fulfilled', value: n }, 0 == --a && t(i); } for (var o = 0; o < i.length; o++) r(o, i[o]); })); } var n = setTimeout; function i (e) {return Boolean(e && void 0 !== e.length);} function a () {} function r (e) { if (!(this instanceof r)) throw new TypeError( 'Promises must be constructed via new'); if ('function' != typeof e) throw new TypeError('not a function'); this._state = 0, this._handled = !1, this._value = void 0, this._deferreds = [], d( e, this); } function o (e, t) { for (; 3 === e._state;) e = e._value; 0 !== e._state ? (e._handled = !0, r._immediateFn((function () { var n = 1 === e._state ? t.onFulfilled : t.onRejected; if (null !== n) { var i; try {i = n(e._value);} catch (e) { return void l(t.promise, e); } s(t.promise, i); } else (1 === e._state ? s : l)(t.promise, e._value); }))) : e._deferreds.push(t); } function s (e, t) { try { if (t === e) throw new TypeError( 'A promise cannot be resolved with itself.'); if (t && ('object' == typeof t || 'function' == typeof t)) { var n = t.then; if (t instanceof r) return e._state = 3, e._value = t, void c(e); if ('function' == typeof n) return void d( (i = n, a = t, function () {i.apply(a, arguments);}), e); } e._state = 1, e._value = t, c(e); } catch (t) {l(e, t);} var i, a; } function l (e, t) {e._state = 2, e._value = t, c(e);} function c (e) { 2 === e._state && 0 === e._deferreds.length && r._immediateFn( (function () { e._handled || r._unhandledRejectionFn(e._value); })); for (var t = 0, n = e._deferreds.length; t < n; t++) o(e, e._deferreds[t]); e._deferreds = null; } function u (e, t, n) { this.onFulfilled = 'function' == typeof e ? e : null, this.onRejected = 'function' == typeof t ? t : null, this.promise = n; } function d (e, t) { var n = !1; try { e((function (e) {n || (n = !0, s(t, e));}), (function (e) {n || (n = !0, l(t, e));})); } catch (e) { if (n) return; n = !0, l(t, e); } } r.prototype.catch = function (e) { return this.then(null, e); }, r.prototype.then = function (e, t) { var n = new this.constructor(a); return o(this, new u(e, t, n)), n; }, r.prototype.finally = e, r.all = function (e) { return new r((function (t, n) { if (!i(e)) return n( new TypeError('Promise.all accepts an array')); var a = Array.prototype.slice.call(e); if (0 === a.length) return t([]); var r = a.length; function o (e, i) { try { if (i && ('object' == typeof i || 'function' == typeof i)) { var s = i.then; if ('function' == typeof s) return void s.call(i, (function (t) {o(e, t);}), n); } a[e] = i, 0 == --r && t(a); } catch (e) {n(e);} } for (var s = 0; s < a.length; s++) o(s, a[s]); })); }, r.allSettled = t, r.resolve = function (e) { return e && 'object' == typeof e && e.constructor === r ? e : new r( (function (t) {t(e);})); }, r.reject = function (e) { return new r((function (t, n) {n(e);})); }, r.race = function (e) { return new r((function (t, n) { if (!i(e)) return n( new TypeError('Promise.race accepts an array')); for (var a = 0, o = e.length; a < o; a++) r.resolve(e[a]). then(t, n); })); }, r._immediateFn = 'function' == typeof setImmediate && function (e) {setImmediate(e);} || function (e) { n(e, 0); }, r._unhandledRejectionFn = function (e) { 'undefined' != typeof console && console && console.warn('Possible Unhandled Promise Rejection:', e); }; var h = 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 h.Promise ? h.Promise = r : h.Promise.prototype.finally ? h.Promise.allSettled || (h.Promise.allSettled = t) : h.Promise.prototype.finally = e; }, 'object' == typeof exports && 'undefined' != typeof module ? t() : 'function' == typeof define && define.amd ? define(t) : t(); })), 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).Tagify = t(); }(this, (function () { 'use strict'; const e = (e, t, n, i) => (e = '' + e, t = '' + t, i && (e = e.trim(), t = t.trim()), n ? e == t : e.toLowerCase() == t.toLowerCase()); function t (e) { var t = document.createElement('div'); return e.replace(/\&#?[0-9a-z]+;/gi, (function (e) {return t.innerHTML = e, t.innerText;})); } function n (e, t) { for (t = t || 'previous'; e = e[t + "Sibling"];) if (3 == e.nodeType) return e; } function i (e) { return e.replace(/&/g, '&'). replace(/</g, '<'). replace(/>/g, '>'). replace(/"/g, '"'). replace(/`|'/g, '''); } function a (e) {return e instanceof Array;} function r (e) { var t = Object.prototype.toString.call(e). split(' ')[1].slice(0, -1); return e === Object(e) && 'Array' != t && 'Function' != t && 'RegExp' != t && 'HTMLUnknownElement' != t; } function o (e, t, n) { function i ( e, t) { for (var n in t) if (t.hasOwnProperty(n)) { if (r(t[n])) { r(e[n]) ? i(e[n], t[n]) : e[n] = Object.assign({}, t[n]); continue; } if (a(t[n])) { e[n] = Object.assign([], t[n]); continue; } e[n] = t[n]; } } return e instanceof Object || (e = {}), i(e, t), n && i(e, n), e; } function s (e) { return String.prototype.normalize ? 'string' == typeof e ? e.normalize('NFD').replace(/[\u0300-\u036f]/g, '') : void 0 : e; } var l, c = () => /(?=.*chrome)(?=.*android)/i.test(navigator.userAgent), u = { init () { this.DOM.dropdown = this.parseTemplate('dropdown', [this.settings]), this.DOM.dropdown.content = this.DOM.dropdown.querySelector( this.settings.classNames.dropdownWrapperSelector); }, show (t) { var n, i, a, o = this.settings, s = 'mix' == o.mode && !o.enforceWhitelist, l = !o.whitelist || !o.whitelist.length, c = 'manual' == o.dropdown.position; if (t = void 0 === t ? this.state.inputText : t, (!l || s || o.templates.dropdownItemNoMatch) && !1 !== o.dropdown.enable && !this.state.isLoading) { if (clearTimeout( this.dropdownHide__bindEventsTimeout), this.suggestedListItems = this.dropdown.filterListItems.call( this, t), t && !this.suggestedListItems.length && (this.trigger('dropdown:noMatch', t), o.templates.dropdownItemNoMatch && (a = o.templates.dropdownItemNoMatch.call(this, { value: t }))), !a) { if (this.suggestedListItems.length) t && s && !this.state.editing.scope && !e(this.suggestedListItems[0].value, t) && this.suggestedListItems.unshift({ value: t }); else { if (!t || !s || this.state.editing.scope) return this.input.autocomplete.suggest.call( this), void this.dropdown.hide.call(this); this.suggestedListItems = [{ value: t }]; } i = '' + (r(n = this.suggestedListItems[0]) ? n.value : n), o.autoComplete && i && 0 == i.indexOf(t) && this.input.autocomplete.suggest.call(this, n); } this.dropdown.fill.call(this, a), o.dropdown.highlightFirst && this.dropdown.highlightOption.call(this, this.DOM.dropdown.content.children[0]), this.state.dropdown.visible || setTimeout(this.dropdown.events.binding.bind( this)), this.state.dropdown.visible = t || !0, this.state.dropdown.query = t, this.setStateSelection(), c || setTimeout((() => { this.dropdown.position.call( this), this.dropdown.render.call(this); })), setTimeout((() => { this.trigger('dropdown:show', this.DOM.dropdown); })); } }, hide (e) { var t = this.DOM, n = t.scope, i = t.dropdown, a = 'manual' == this.settings.dropdown.position && !e; if (i && document.body.contains(i) && !a) return window.removeEventListener('resize', this.dropdown.position), this.dropdown.events.binding.call( this, !1), n.setAttribute('aria-expanded', !1), i.parentNode.removeChild(i), setTimeout( (() => {this.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', i), this; }, render () { var e, t, n = ((t = this.DOM.dropdown.cloneNode( !0)).style.cssText = 'position:fixed; top:-9999px; opacity:0', document.body.appendChild( t), e = t.clientHeight, t.parentNode.removeChild(t), e), i = this.settings; return this.DOM.scope.setAttribute('aria-expanded', !0), document.body.contains(this.DOM.dropdown) || (this.DOM.dropdown.classList.add( i.classNames.dropdownInital), this.dropdown.position.call( this, n), i.dropdown.appendTarget.appendChild( this.DOM.dropdown), setTimeout( (() => this.DOM.dropdown.classList.remove( i.classNames.dropdownInital)))), this; }, fill (e) { var t; e = 'string' == typeof e ? e : this.dropdown.createListHTML.call(this, e || this.suggestedListItems), this.DOM.dropdown.content.innerHTML = (t = e) ? t.replace(/\>[\r\n ]+\</g, '><'). replace(/(<.*?>)|\s+/g, ((e, t) => t || ' ')) : ''; }, refilter (e) { e = e || this.state.dropdown.query || '', this.suggestedListItems = this.dropdown.filterListItems.call( this, e), this.dropdown.fill.call( this), this.suggestedListItems.length || this.dropdown.hide.call(this), this.trigger('dropdown:updated', this.DOM.dropdown); }, position (e) { var t = this.settings.dropdown; if ('manual' != t.position) { var n, i, a, r, o, s, l = this.DOM.dropdown, c = t.placeAbove, u = document.documentElement.clientHeight, d = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0) > 480 ? t.position : 'all', h = this.DOM['input' == d ? 'input' : 'scope']; e = e || l.clientHeight, this.state.dropdown.visible && ('text' == d ? (a = (n = this.getCaretGlobalPosition()).bottom, i = n.top, r = n.left, o = 'auto') : (s = function (e) { for (var t = 0, n = 0; e;) t += e.offsetLeft || 0, n += e.offsetTop || 0, e = e.parentNode; return { left: t, top: n }; }(this.settings.dropdown.appendTarget), i = (n = h.getBoundingClientRect()).top - s.top, a = n.bottom - 1 - s.top, r = n.left - s.left, o = n.width + 'px'), i = Math.floor( i), a = Math.ceil(a), c = void 0 === c ? u - n.bottom < e : c, l.style.cssText = 'left:' + (r + window.pageXOffset) + 'px; width:' + o + ';' + (c ? 'top: ' + (i + window.pageYOffset) + 'px' : 'top: ' + (a + window.pageYOffset) + 'px'), l.setAttribute('placement', c ? 'top' : 'bottom'), l.setAttribute('position', d)); } }, events: { binding (e = !0) { var t = this.dropdown.events.callbacks, n = this.listeners.dropdown = this.listeners.dropdown || { position: this.dropdown.position.bind(this), onKeyDown: t.onKeyDown.bind(this), onMouseOver: t.onMouseOver.bind(this), onMouseLeave: t.onMouseLeave.bind(this), onClick: t.onClick.bind(this), onScroll: t.onScroll.bind(this), }, i = e ? 'addEventListener' : 'removeEventListener'; 'manual' != this.settings.dropdown.position && (window[i]('resize', n.position), window[i]('keydown', n.onKeyDown)), this.DOM.dropdown[i]('mouseover', n.onMouseOver), this.DOM.dropdown[i]('mouseleave', n.onMouseLeave), this.DOM.dropdown[i]('mousedown', n.onClick), this.DOM.dropdown.content[i]('scroll', n.onScroll); }, callbacks: { onKeyDown (e) { var t = this.DOM.dropdown.querySelector( this.settings.classNames.dropdownItemActiveSelector), n = this.dropdown.getSuggestionDataByNode.call(this, t); switch (e.key) { case'ArrowDown': case'ArrowUp': case'Down': case'Up': var i; e.preventDefault(), t && (t = t[('ArrowUp' == e.key || 'Up' == e.key ? 'previous' : 'next') + 'ElementSibling']), t || (i = this.DOM.dropdown.content.children, t = i['ArrowUp' == e.key || 'Up' == e.key ? i.length - 1 : 0]), n = this.dropdown.getSuggestionDataByNode.call( this, t), this.dropdown.highlightOption.call(this, t, !0); break; case'Escape': case'Esc': this.dropdown.hide.call(this); break; case'ArrowRight': if (this.state.actions.ArrowLeft) return; case'Tab': if ('mix' != this.settings.mode && t && !this.settings.autoComplete.rightKey && !this.state.editing) { e.preventDefault(); var a = this.dropdown.getMappedValue.call( this, n); return this.input.autocomplete.set.call( this, a), !1; } return !0; case'Enter': e.preventDefault(), this.settings.hooks.suggestionClick( e, { tagify: this, tagData: n, suggestionElm: t, }). then((() => { t ? this.dropdown.selectOption.call( this, t) : this.dropdown.hide.call(this); })). catch((e => e)); break; case'Backspace': { if ('mix' == this.settings.mode || this.state.editing.scope) return; let e = this.state.inputText.trim(); '' != e && 8203 != e.charCodeAt(0) || (!0 === this.settings.backspace ? this.removeTags() : 'edit' == this.settings.backspace && setTimeout(this.editTag.bind(this), 0)); } } }, onMouseOver (e) { var t = e.target.closest( this.settings.classNames.dropdownItemSelector); t && this.dropdown.highlightOption.call(this, t); }, onMouseLeave (e) { this.dropdown.highlightOption.call(this); }, onClick (e) { if (0 == e.button && e.target != this.DOM.dropdown && e.target != this.DOM.dropdown.content) { var t = e.target.closest( this.settings.classNames.dropdownItemSelector), n = this.dropdown.getSuggestionDataByNode.call( this, t); this.state.actions.selectOption = !0, setTimeout( (() => this.state.actions.selectOption = !1), 50), this.settings.hooks.suggestionClick(e, { tagify: this, tagData: n, suggestionElm: t }). then((() => { t ? this.dropdown.selectOption.call(this, t) : this.dropdown.hide.call(this); })). catch((e => e)); } }, onScroll (e) { var t = e.target, n = t.scrollTop / (t.scrollHeight - t.parentNode.clientHeight) * 100; this.trigger('dropdown:scroll', { percentage: Math.round(n) }); }, }, }, getSuggestionDataByNode (e) { var t = e ? +e.getAttribute('tagifySuggestionIdx') : -1; return this.suggestedListItems[t] || null; }, highlightOption (e, t) { var n, i = this.settings.classNames.dropdownItemActive; if (this.state.ddItemElm && (this.state.ddItemElm.classList.remove( i), this.state.ddItemElm.removeAttribute( 'aria-selected')), !e) return this.state.ddItemData = null, this.state.ddItemElm = null, void this.input.autocomplete.suggest.call( this); n = this.suggestedListItems[this.getNodeIndex( e)], this.state.ddItemData = n, this.state.ddItemElm = e, e.classList.add( i), e.setAttribute('aria-selected', !0), t && (e.parentNode.scrollTop = e.clientHeight + e.offsetTop - e.parentNode.clientHeight), this.settings.autoComplete && (this.input.autocomplete.suggest.call(this, n), this.dropdown.position.call(this)); }, selectOption (e) { var t = this.settings.dropdown, n = t.clearOnSelect, i = t.closeOnSelect; if (!e) return this.addTags(this.state.inputText, !0), void (i && this.dropdown.hide.call(this)); var a = e.getAttribute('tagifySuggestionIdx'), r = this.suggestedListItems[+a]; if (this.trigger('dropdown:select', { data: r, elm: e }), a && r) { if (this.state.editing ? this.onEditTagDone(null, o({ __isValid: !0 }, r)) : this['mix' == this.settings.mode ? 'addMixTags' : 'addTags']([r], n), setTimeout((() => { this.DOM.input.focus(), this.toggleFocusClass(!0); })), i) return this.dropdown.hide.call(this); this.dropdown.refilter.call(this); } else this.dropdown.hide.call(this); }, selectAll () { return this.suggestedListItems.length = 0, this.dropdown.hide.call( this), this.addTags( this.dropdown.filterListItems.call(this, ''), !0), this; }, filterListItems (e, t) { var n, i, a, o, l, c = this.settings, u = c.dropdown, d = (t = t || {}, []), h = c.whitelist, f = u.maxItems || 1 / 0, p = u.searchKeys, m = 0; if (!e || !p.length || 'select' == c.mode) return (c.duplicates ? h : h.filter( (e => !this.isTagDuplicate(r(e) ? e.value : e)))).slice( 0, f); function g (e, t) { return t.toLowerCase(). split(' '). every((t => e.includes(t.toLowerCase()))); } for (l = u.caseSensitive ? '' + e : ('' + e).toLowerCase(); m < h.length; m++) { n = h[m] instanceof Object ? h[m] : { value: h[m] }; let e = Object.keys(n).some((e => p.includes(e))) ? p : ['value']; if (u.fuzzySearch && !t.exact ? (a = e.reduce( ((e, t) => e + ' ' + (n[t] || '')), ''). toLowerCase(), u.accentedSearch && (a = s(a), l = s(l)), i = g(a, l)) : i = e.some((e => { var i = '' + (n[e] || ''); return u.accentedSearch && (i = s(i), l = s(l)), u.caseSensitive || (i = i.toLowerCase()), t.exact ? i == l : 0 == i.indexOf(l); })), o = !c.duplicates && this.isTagDuplicate(r(n) ? n.value : n), i && !o && f-- && d.push(n), 0 == f) break; } return d; }, getMappedValue (e) { var t = this.settings.dropdown.mapValueTo; return t ? 'function' == typeof t ? t(e) : e[t] || e.value : e.value; }, createListHTML (e) { return o([], e). map(((e, t) => { 'string' != typeof e && 'number' != typeof e || (e = { value: e }); var n = this.dropdown.getMappedValue.call(this, e); e.value = n && 'string' == typeof n ? i(n) : n; var a = this.settings.templates.dropdownItem.call(this, e); return a.replace( /\s*tagifySuggestionIdx=(["'])(.*?)\1/gim, ''). replace('>', ` tagifySuggestionIdx="${t}">`); })). join(''); }, }, d = { delimiters: ',', pattern: null, tagTextProp: 'value', maxTags: 1 / 0, callbacks: {}, addTagOnBlur: !0, duplicates: !1, whitelist: [], blacklist: [], enforceWhitelist: !1, keepInvalidTags: !1, mixTagsAllowedAfter: /,|\.|\:|\s/, mixTagsInterpolator: ['[[', ']]'], backspace: !0, skipInvalid: !1, editTags: { clicks: 2, keepInvalid: !0 }, transformTag: () => {}, trim: !0, mixMode: { insertAfterTag: ' ' }, autoComplete: { enabled: !0, rightKey: !1 }, classNames: { namespace: 'tagify', mixMode: 'tagify--mix', selectMode: 'tagify--select', input: 'tagify__input', focus: 'tagify--focus', tag: 'tagify__tag', tagNoAnimation: 'tagify--noAnim', tagInvalid: 'tagify--invalid', tagNotAllowed: 'tagify--notAllowed', inputInvalid: 'tagify__input--invalid', tagX: 'tagify__tag__removeBtn', tagText: 'tagify__tag-text', dropdown: 'tagify__dropdown', dropdownWrapper: 'tagify__dropdown__wrapper', dropdownItem: 'tagify__dropdown__item', dropdownItemActive: 'tagify__dropdown__item--active', dropdownInital: 'tagify__dropdown--initial', scopeLoading: 'tagify--loading', tagLoading: 'tagify__tag--loading', tagEditing: 'tagify__tag--editable', tagFlash: 'tagify__tag--flash', tagHide: 'tagify__tag--hide', hasMaxTags: 'tagify--hasMaxTags', hasNoTags: 'tagify--noTags', empty: 'tagify--empty', }, dropdown: { classname: '', enabled: 2, maxItems: 10, searchKeys: ['value', 'searchBy'], fuzzySearch: !0, caseSensitive: !1, accentedSearch: !0, highlightFirst: !1, closeOnSelect: !0, clearOnSelect: !0, position: 'all', appendTarget: null, }, hooks: { beforeRemoveTag: () => Promise.resolve(), suggestionClick: () => Promise.resolve(), }, }, h = { wrapper: (e, t) => `<tags class="${t.classNames.namespace} ${t.mode ? `${t.classNames[t.mode + 'Mode']}` : ''} ${e.className}"\n ${t.readonly ? 'readonly' : ''}\n ${t.required ? 'required' : ''}\n tabIndex="-1">\n <span ${t.readonly && 'mix' == t.mode ? '' : 'contenteditable'} data-placeholder="${t.placeholder || '​'}" aria-placeholder="${t.placeholder || ''}"\n class="${t.classNames.input}"\n role="textbox"\n aria-autocomplete="both"\n aria-multiline="${'mix' == t.mode}"></span>\n </tags>`, tag (e) { return `<tag title="${e.title || e.value}"\n contenteditable='false'\n spellcheck='false'\n tabIndex="-1"\n class="${this.settings.classNames.tag} ${e.class ? e.class : ''}"\n ${this.getAttributes( e)}>\n <x title='' class="${this.settings.classNames.tagX}" role='button' aria-label='remove tag'></x>\n <div>\n <span class="${this.settings.classNames.tagText}">${e[this.settings.tagTextProp] || e.value}</span>\n </div>\n </tag>`; }, dropdown (e) { var t = e.dropdown, n = 'manual' == t.position, i = `${e.classNames.dropdown}`; return `<div class="${n ? '' : i} ${t.classname}" role="listbox" aria-labelledby="dropdown">\n <div class="${e.classNames.dropdownWrapper}"></div>\n </div>`; }, dropdownItem (e) { return `<div ${this.getAttributes( e)}\n class='${this.settings.classNames.dropdownItem} ${e.class ? e.class : ''}'\n tabindex="0"\n role="option">${e.value}</div>`; }, dropdownItemNoMatch: null, }, f = { customBinding () { this.customEventsList.forEach( (e => {this.on(e, this.settings.callbacks[e]);})); }, binding (e = !0) { var t, n = this.events.callbacks, i = e ? 'addEventListener' : 'removeEventListener'; if (!this.state.mainEvents || !e) for (var a in this.state.mainEvents = e, e && !this.listeners.main && (this.DOM.input.addEventListener(this.isIE ? 'keydown' : 'input', n[this.isIE ? 'onInputIE' : 'onInput'].bind( this)), this.settings.isJQueryPlugin && jQuery(this.DOM.originalInput). on('tagify.removeAllTags', this.removeAllTags.bind( this))), t = this.listeners.main = this.listeners.main || { focus: ['input', n.onFocusBlur.bind(this)], blur: ['input', n.onFocusBlur.bind(this)], keydown: ['input', n.onKeydown.bind(this)], click: ['scope', n.onClickScope.bind(this)], dblclick: ['scope', n.onDoubleClickScope.bind(this)], paste: ['input', n.onPaste.bind(this)], }) ('blur' != a || e) && this.DOM[t[a][0]][i](a, t[a][1]); }, callbacks: { onFocusBlur (e) { var t = e.target ? this.trim(e.target.textContent) : '', n = this.settings, i = e.type, a = n.dropdown.enabled >= 0, r = { relatedTarget: e.relatedTarget }, o = this.state.actions.selectOption && (a || !n.dropdown.closeOnSelect), s = this.state.actions.addNew && a; if ('blur' == i) { if (e.relatedTarget === this.DOM.scope) return this.dropdown.hide.call( this), void this.DOM.input.focus(); this.postUpdate(), this.triggerChangeEvent(); } if (!o && !s) if (this.state.hasFocus = 'focus' == i && +new Date, this.toggleFocusClass( this.state.hasFocus), 'mix' != n.mode) { if ('focus' == i) return this.trigger('focus', r), void (0 === n.dropdown.enabled && this.dropdown.show.call(this)); 'blur' == i && (this.trigger('blur', r), this.loading(!1), ('select' == this.settings.mode ? !this.value.length || this.value[0].value != t : t && !this.state.actions.selectOption && n.addTagOnBlur) && this.addTags(t, !0)), this.DOM.input.removeAttribute( 'style'), this.dropdown.hide.call(this); } else 'focus' == i ? this.trigger('focus', r) : 'blur' == e.type && (this.trigger('blur', r), this.loading( !1), this.dropdown.hide.call( this), this.state.dropdown.visible = void 0, this.setStateSelection()); }, onKeydown (e) { var i = this.trim(e.target.textContent); if (this.trigger('keydown', { originalEvent: this.cloneEvent(e) }), 'mix' == this.settings.mode) { switch (e.key) { case'Left': case'ArrowLeft': this.state.actions.ArrowLeft = !0; break; case'Delete': case'Backspace': if (this.state.editing) return; var a, r, o = document.getSelection(), s = 'Delete' == e.key && o.anchorOffset == (o.anchorNode.length || 0), u = 1 == o.anchorNode.nodeType || !o.anchorOffset && o.anchorNode.previousElementSibling, d = t(this.DOM.input.innerHTML), h = this.getTagElms(); if (c() && u) return r = n(u), u.hasAttribute( 'readonly') || u.remove(), this.DOM.input.focus(), void setTimeout( (() => { this.placeCaretAfterNode( r), this.DOM.input.click(); })); if ('BR' == o.anchorNode.nodeName) return; if ((s || u) && 1 == o.anchorNode.nodeType ? a = 0 == o.anchorOffset ? s ? h[0] : null : h[o.anchorOffset - 1] : s ? a = o.anchorNode.nextElementSibling : u && (a = u), 3 == o.anchorNode.nodeType && !o.anchorNode.nodeValue && o.anchorNode.previousElementSibling && e.preventDefault(), (u || s) && !this.settings.backspace) return void e.preventDefault(); if ('Range' != o.type && !o.anchorOffset && o.anchorNode == this.DOM.input && 'Delete' != e.key) return void e.preventDefault(); if ('Range' != o.type && a && a.hasAttribute( 'readonly')) return void this.placeCaretAfterNode( n(a)); clearTimeout(l), l = setTimeout((() => { console.log(111); var e = document.getSelection(), n = t(this.DOM.input.innerHTML), i = e.anchorNode.previousElementSibling; if (!c() && n.length >= d.length && i && !i.hasAttribute('readonly') && (this.removeTags( i), this.fixFirefoxLastTagNoCaret(), 2 == this.DOM.input.children.length && 'BR' == this.DOM.input.children[1].tagName)) return this.DOM.input.innerHTML = '', this.value.length = 0, !0; this.value = [].map.call(h, ((e, t) => { var n = this.tagData(e); if (e.parentNode || n.readonly) return n; this.trigger('remove', { tag: e, index: t, data: n }); })).filter((e => e)); }), 20); } return !0; } switch (e.key) { case'Backspace': this.state.dropdown.visible && 'manual' != this.settings.dropdown.position || '' != i && 8203 != i.charCodeAt(0) || (!0 === this.settings.backspace ? this.removeTags() : 'edit' == this.settings.backspace && setTimeout(this.editTag.bind(this), 0)); break; case'Esc': case'Escape': if (this.state.dropdown.visible) return; e.target.blur(); break; case'Down': case'ArrowDown': this.state.dropdown.visible || this.dropdown.show.call(this); break; case'ArrowRight': { let e = this.state.inputSuggestion || this.state.ddItemData; if (e && this.settings.autoComplete.rightKey) return void this.addTags( [e], !0); break; } case'Tab': { let t = 'select' == this.settings.mode; if (!i || t) return !0; e.preventDefault(); } case'Enter': if (this.state.dropdown.visible || 229 == e.keyCode) return; e.preventDefault(), setTimeout((() => { this.state.actions.selectOption || this.addTags(i, !0); })); } }, onInput (e) { if ('mix' == this.settings.mode) return this.events.callbacks.onMixTagsInput.call( this, e); var t = this.input.normalize.call(this), n = t.length >= this.settings.dropdown.enabled, i = { value: t, inputElm: this.DOM.input }; i.isValid = this.validateTag({ value: t }), this.trigger( 'input', i), this.state.inputText != t && (this.input.set.call(this, t, !1), -1 != t.search(this.settings.delimiters) ? this.addTags(t) && this.input.set.call(this) : this.settings.dropdown.enabled >= 0 && this.dropdown[n ? 'show' : 'hide'].call(this, t)); }, onMixTagsInput (e) { var t, n, i, a, r, s, l, u, d = this.settings, h = this.value.length, f = this.getTagElms(), p = document.createDocumentFragment(), m = window.getSelection().getRangeAt(0), g = [].map.call(f, (e => this.tagData(e).value)); if ('deleteContentBackward' == e.inputType && c() && this.events.callbacks.onKeydown.call(this, { target: e.target, key: 'Backspace' }), this.value.slice(). forEach((e => { e.readonly && !g.includes(e.value) && p.appendChild(this.createTagElem(e)); })), p.childNodes.length && (m.insertNode(p), this.setRangeAtStartEnd(!1, p.lastChild)), f.length != h) return this.value = [].map.call(this.getTagElms(), (e => this.tagData(e))), void this.update( { withoutChangeEvent: !0 }); if (this.hasMaxTags()) return !0; if (window.getSelection && (s = window.getSelection()).rangeCount > 0 && 3 == s.anchorNode.nodeType) { if ((m = s.getRangeAt(0).cloneRange()).collapse( !0), m.setStart(s.focusNode, 0), i = (t = m.toString(). slice(0, m.endOffset)).split(d.pattern).length - 1, (n = t.match(d.pattern)) && (a = t.slice( t.lastIndexOf(n[n.length - 1]))), a) { if (this.state.actions.ArrowLeft = !1, this.state.tag = { prefix: a.match(d.pattern)[0], value: a.replace(d.pattern, ''), }, this.state.tag.baseOffset = s.baseOffset - this.state.tag.value.length, u = this.state.tag.value.match( d.delimiters)) return this.state.tag.value = this.state.tag.value.replace( d.delimiters, ''), this.state.tag.delimiters = u[0], this.addTags( this.state.tag.value, d.dropdown.clearOnSelect), void this.dropdown.hide.call( this); r = this.state.tag.value.length >= d.dropdown.enabled; try { l = (l = this.state.flaggedTags[this.state.tag.baseOffset]).prefix == this.state.tag.prefix && l.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 (e) {} (l || i < this.state.mixMode.matchedPatternCount) && (r = !1); } else this.state.flaggedTags = {}; this.state.mixMode.matchedPatternCount = i; } setTimeout((() => { this.update({ withoutChangeEvent: !0 }), this.trigger( 'input', o({}, this.state.tag, { textContent: this.DOM.input.textContent })), this.state.tag && this.dropdown[r ? 'show' : 'hide'].call(this, this.state.tag.value); }), 10); }, onInputIE (e) { var t = this; setTimeout( (function () {t.events.callbacks.onInput.call(t, e);})); }, onClickScope (e) { var t = this.settings, n = e.target.closest('.' + t.classNames.tag), i = +new Date - this.state.hasFocus; if (e.target != this.DOM.scope) { if (!e.target.classList.contains( t.classNames.tagX)) return n ? (this.trigger('click', { tag: n, index: this.getNodeIndex(n), data: this.tagData(n), originalEvent: this.cloneEvent(e), }), void (1 !== t.editTags && 1 !== t.editTags.clicks || this.events.callbacks.onDoubleClickScope.call(this, e))) : void (e.target == this.DOM.input && ('mix' == t.mode && this.fixFirefoxLastTagNoCaret(), i > 500) ? this.state.dropdown.visible ? this.dropdown.hide.call(this) : 0 === t.dropdown.enabled && 'mix' != t.mode && this.dropdown.show.call(this) : 'select' == t.mode && !this.state.dropdown.visible && this.dropdown.show.call(this)); this.removeTags(e.target.parentNode); } else this.state.hasFocus || this.DOM.input.focus(); }, onPaste (e) { var t; e.preventDefault(), this.settings.readonly || (t = (e.clipboardData || window.clipboardData).getData( 'Text'), this.injectAtCaret(t, window.getSelection().getRangeAt(0)), 'mix' != this.settings.mode && this.addTags(this.DOM.input.textContent, !0)); }, onEditTagInput (e, t) { var n = e.closest('.' + this.settings.classNames.tag), i = this.getNodeIndex(n), a = this.tagData(n), r = this.input.normalize.call(this, e), s = n.innerHTML != n.__tagifyTagData.__originalHTML, l = this.validateTag({ [this.settings.tagTextProp]: r }); s || !0 !== e.originalIsValid || (l = !0), n.classList.toggle( this.settings.classNames.tagInvalid, !0 !== l), a.__isValid = l, n.title = !0 === l ? a.title || a.value : l, r.length >= this.settings.dropdown.enabled && (this.state.editing && (this.state.editing.value = r), this.dropdown.show.call(this, r)), this.trigger('edit:input', { tag: n, index: i, data: o({}, this.value[i], { newValue: r }), originalEvent: this.cloneEvent(t), }); }, onEditTagFocus (e) { this.state.editing = { scope: e, input: e.querySelector('[contenteditable]'), }; }, onEditTagBlur (e) { if (this.state.hasFocus || this.toggleFocusClass(), this.DOM.scope.contains(e)) { var t, n = this.settings, i = e.closest('.' + n.classNames.tag), a = this.input.normalize.call(this, e), r = this.tagData(i).__originalData, s = i.innerHTML != i.__tagifyTagData.__originalHTML, l = this.validateTag({ [n.tagTextProp]: a }); if (a) if (s) { if (t = this.getWhitelistItem(a) || o({}, r, { [n.tagTextProp]: a, value: a, }), n.transformTag.call(this, t, r), !0 !== (l = this.validateTag( { [n.tagTextProp]: t[n.tagTextProp] }))) { if (this.trigger('invalid', { data: t, tag: i, message: l, }), n.editTags.keepInvalid) return; n.keepInvalidTags ? t.__isValid = l : t = r; } this.onEditTagDone(i, t); } else this.onEditTagDone(i, r); else this.onEditTagDone(i); } }, onEditTagkeydown (e, t) { switch (this.trigger('edit:keydown', { originalEvent: this.cloneEvent(e) }), e.key) { case'Esc': case'Escape': t.innerHTML = t.__tagifyTagData.__originalHTML; case'Enter': case'Tab': e.preventDefault(), e.target.blur(); } }, onDoubleClickScope (e) { var t, n, i = e.target.closest('.' + this.settings.classNames.tag), a = this.settings; i && (t = i.classList.contains( this.settings.classNames.tagEditing), n = i.hasAttribute( 'readonly'), 'select' == a.mode || a.readonly || t || n || !this.settings.editTags || this.editTag(i), this.toggleFocusClass(!0), this.trigger( 'dblclick', { tag: i, index: this.getNodeIndex(i), data: this.tagData(i), })); }, }, }; function p (e, t) { return e ? e.previousElementSibling && e.previousElementSibling.classList.contains('tagify') ? (console.warn( 'Tagify: ', 'input element is already Tagified', e), this) : (o( this, function (e) { var t = document.createTextNode(''); function n (e, n, i) { i && n.split(/\s+/g). forEach((n => t[e + 'EventListener'].call(t, n, i))); } return { off (e, t) {return n('remove', e, t), this;}, on (e, t) { return t && 'function' == typeof t && n('add', e, t), this; }, trigger (n, i, a) { var r; if (a = a || { cloneData: !0 }, n) if (e.settings.isJQueryPlugin) 'remove' == n && (n = 'removeTag'), jQuery(e.DOM.originalInput). triggerHandler(n, [i]); else { try { var s = 'object' == typeof i ? i : { value: i }; if ((s = a.cloneData ? o({}, s) : s).tagify = this, i instanceof Object) for (var l in i) i[l] instanceof HTMLElement && (s[l] = i[l]); r = new CustomEvent(n, { detail: s }); } catch (e) {console.warn(e);} t.dispatchEvent(r); } }, }; }(this)), this.isFirefox = 'undefined' != typeof InstallTrigger, this.isIE = window.document.documentMode, this.applySettings( e, t || {}), this.state = { inputText: '', editing: !1, actions: {}, mixMode: {}, dropdown: {}, flaggedTags: {}, }, this.value = [], this.listeners = {}, this.DOM = {}, this.build( e), this.getCSSVars(), this.loadOriginalValues(), this.events.customBinding.call( this), this.events.binding.call(this), void (e.autofocus && this.DOM.input.focus())) : (console.warn('Tagify: ', 'input element not found', e), this); } return p.prototype = { dropdown: u, TEXTS: { empty: 'empty', exceed: 'number of tags exceeded', pattern: 'pattern mismatch', duplicate: 'already exists', notAllowed: 'not allowed', }, customEventsList: [ 'change', 'add', 'remove', 'invalid', 'input', 'click', 'keydown', 'focus', 'blur', 'edit:input', 'edit:beforeUpdate', 'edit:updated', 'edit:start', 'edit:keydown', 'dropdown:show', 'dropdown:hide', 'dropdown:select', 'dropdown:updated', 'dropdown:noMatch'], trim (e) { return this.settings.trim && e && 'string' == typeof e ? e.trim() : e; }, parseHTML: function (e) { return (new DOMParser).parseFromString(e.trim(), 'text/html').body.firstElementChild; }, templates: h, parseTemplate (e, t) { return e = this.settings.templates[e] || e, this.parseHTML( e.apply(this, t)); }, applySettings (e, t) { d.templates = this.templates; var n = this.settings = o({}, d, t); n.readonly = e.hasAttribute( 'readonly'), n.placeholder = e.getAttribute('placeholder') || n.placeholder || '', n.required = e.hasAttribute('required'); for (let e in n.classNames) Object.defineProperty(n.classNames, e + 'Selector', { get () {return '.' + this[e].split(' ').join('.');} }); if (this.isIE && (n.autoComplete = !1), [ 'whitelist', 'blacklist'].forEach((t => { var i = e.getAttribute('data-' + t); i && (i = i.split(n.delimiters)) instanceof Array && (n[t] = i); })), 'autoComplete' in t && !r(t.autoComplete) && (n.autoComplete = d.autoComplete, n.autoComplete.enabled = t.autoComplete), 'mix' == n.mode && (n.autoComplete.rightKey = !0, n.delimiters = t.delimiters || null, n.tagTextProp && !n.dropdown.searchKeys.includes(n.tagTextProp) && n.dropdown.searchKeys.push(n.tagTextProp)), e.pattern) try { n.pattern = new RegExp(e.pattern); } catch (e) {} if (this.settings.delimiters) try { n.delimiters = new RegExp(this.settings.delimiters, 'g'); } catch (e) {} 'select' == n.mode && (n.dropdown.enabled = 0), n.dropdown.appendTarget = t.dropdown && t.dropdown.appendTarget ? t.dropdown.appendTarget : document.body; }, getAttributes (e) { if ('[object Object]' != Object.prototype.toString.call(e)) return ''; var t, n, i = Object.keys(e), a = ''; for (n = i.length; n--;) 'class' != (t = i[n]) && e.hasOwnProperty(t) && void 0 !== e[t] && (a += ' ' + t + (void 0 !== e[t] ? `="${e[t]}"` : '')); return a; }, setStateSelection () { var e = window.getSelection(), t = { anchorOffset: e.anchorOffset, anchorNode: e.anchorNode, range: e.getRangeAt && e.rangeCount && e.getRangeAt(0), }; return this.state.selection = t, t; }, getCaretGlobalPosition () { const e = document.getSelection(); if (e.rangeCount) { const t = e.getRangeAt(0), n = t.startContainer, i = t.startOffset; let a, r; if (i > 0) return r = document.createRange(), r.setStart(n, i - 1), r.setEnd(n, i), a = r.getBoundingClientRect(), { left: a.right, top: a.top, bottom: a.bottom, }; if (n.getBoundingClientRect) return n.getBoundingClientRect(); } return { left: -9999, top: -9999 }; }, getCSSVars () { var e = getComputedStyle(this.DOM.scope, null); this.CSSVars = { tagHideTransition: (({ value: e, unit: t, }) => 's' == t ? 1e3 * e : e)( function (e) { if (!e) return {}; var t = (e = e.trim().split(' ')[0]).split(/\d+/g). filter((e => e)). pop(). trim(); return { value: +e.split(t).filter((e => e))[0].trim(), unit: t, }; }(('tag-hide-transition', e.getPropertyValue( '--tag-hide-transition')))), }; }, build (e) { var t = this.DOM; this.settings.mixMode.integrated ? (t.originalInput = null, t.scope = e, t.input = e) : (t.originalInput = e, t.scope = this.parseTemplate('wrapper', [e, this.settings]), t.input = t.scope.querySelector( this.settings.classNames.inputSelector), e.parentNode.insertBefore( t.scope, e)), this.settings.dropdown.enabled >= 0 && this.dropdown.init.call(this); }, destroy () { this.DOM.scope.parentNode.removeChild( this.DOM.scope), this.dropdown.hide.call(this, !0), clearTimeout(this.dropdownHide__bindEventsTimeout); }, loadOriginalValues (e) { var t, n = this.settings; if (e = e || (n.mixMode.integrated ? this.DOM.input.textContent : this.DOM.originalInput.value)) if (this.removeAllTags( { withoutChangeEvent: !0 }), 'mix' == n.mode) this.parseMixTags( e.trim()), (t = this.DOM.input.lastChild) && 'BR' == t.tagName || this.DOM.input.insertAdjacentHTML('beforeend', '<br>'); else { try { JSON.parse(e) instanceof Array && (e = JSON.parse(e)); } catch (e) {} this.addTags(e). forEach((e => e && e.classList.add(n.classNames.tagNoAnimation))); } else this.postUpdate(); this.state.lastOriginalValueReported = n.mixMode.integrated ? '' : this.DOM.originalInput.value, this.state.loadedOriginalValues = !0; }, cloneEvent (e) { var t = {}; for (var n in e) t[n] = e[n]; return t; }, loading (e) { return this.state.isLoading = e, this.DOM.scope.classList[e ? 'add' : 'remove'](this.settings.classNames.scopeLoading), this; }, tagLoading (e, t) { return e && e.classList[t ? 'add' : 'remove']( this.settings.classNames.tagLoading), this; }, toggleClass (e, t) { 'string' == typeof e && this.DOM.scope.classList.toggle(e, t); }, toggleFocusClass (e) { this.toggleClass(this.settings.classNames.focus, !!e); }, triggerChangeEvent: function () { if (!this.settings.mixMode.integrated) { var e = this.DOM.originalInput, t = this.state.lastOriginalValueReported !== e.value, n = new CustomEvent('change', { bubbles: !0 }); t && (this.state.lastOriginalValueReported = e.value, n.simulated = !0, e._valueTracker && e._valueTracker.setValue(Math.random()), e.dispatchEvent( n), this.trigger('change', this.state.lastOriginalValueReported), e.value = this.state.lastOriginalValueReported); } }, events: f, fixFirefoxLastTagNoCaret () {}, placeCaretAfterNode (e) { if (e && e.parentNode) { var t = e.nextSibling, n = window.getSelection(), i = n.getRangeAt(0); n.rangeCount && (i.setStartBefore(t || e), i.setEndBefore( t || e), n.removeAllRanges(), n.addRange(i)); } }, insertAfterTag (e, t) { if (t = t || this.settings.mixMode.insertAfterTag, e && e.parentNode && t) return t = 'string' == typeof t ? document.createTextNode(t) : t, e.parentNode.insertBefore(t, e.nextSibling), t; }, editTag (e, t) { e = e || this.getLastTag(), t = t || {}, this.dropdown.hide.call( this); var n = this.settings; function i () { return e.querySelector(n.classNames.tagTextSelector); } var a = i(), r = this.getNodeIndex(e), s = this.tagData(e), l = this.events.callbacks, c = this, u = !0; if (a) { if (!(s instanceof Object && 'editable' in s) || s.editable) return a.setAttribute('contenteditable', !0), e.classList.add(n.classNames.tagEditing), this.tagData( e, { __originalData: o({}, s), __originalHTML: e.innerHTML, }), a.addEventListener('focus', l.onEditTagFocus.bind(this, e)), a.addEventListener('blur', (function () { setTimeout((() => l.onEditTagBlur.call(c, i()))); })), a.addEventListener('input', l.onEditTagInput.bind(this, a)), a.addEventListener( 'keydown', (t => l.onEditTagkeydown.call(this, t, e))), a.focus(), this.setRangeAtStartEnd(!1, a), t.skipValidation || (u = this.editTagToggleValidity(e, s.value)), a.originalIsValid = u, this.trigger('edit:start', { tag: e, index: r, data: s, isValid: u }), this; } else console.warn('Cannot find element in Tag template: .', n.classNames.tagTextSelector); }, editTagToggleValidity (e, t) { var n, i = this.tagData(e); if (i) return n = !(!i.__isValid || 1 == i.__isValid), e.classList.toggle( this.settings.classNames.tagInvalid, n), i.__isValid; console.warn('tag has no data: ', e, i); }, onEditTagDone (e, t) { t = t || {}; var n = { tag: e = e || this.state.editing.scope, index: this.getNodeIndex(e), previousData: this.tagData(e), data: t, }; this.trigger('edit:beforeUpdate', n, { cloneData: !1 }), this.state.editing = !1, delete t.__originalData, delete t.__originalHTML, e && t[this.settings.tagTextProp] ? (this.editTagToggleValidity( e), this.replaceTag(e, t)) : e && this.removeTags(e), this.trigger('edit:updated', n), this.dropdown.hide.call( this), this.settings.keepInvalidTags && this.reCheckInvalidTags(); }, replaceTag (e, t) { t && t.value || (t = e.__tagifyTagData), t.__isValid && 1 != t.__isValid && o(t, this.getInvalidTagAttrs(t, t.__isValid)); var n = this.createTagElem(t); e.parentNode.replaceChild(n, e), this.updateValueByDOMTags(); }, updateValueByDOMTags () { this.value.length = 0, [].forEach.call(this.getTagElms(), (e => { e.classList.contains( this.settings.classNames.tagNotAllowed.split(' ')[0]) || this.value.push(this.tagData(e)); })), this.update(); }, setRangeAtStartEnd (e, t) { e = 'number' == typeof e ? e : !!e, t = (t = t || this.DOM.input).lastChild || t; var n = document.getSelection(); try { n.rangeCount >= 1 && ['Start', 'End'].forEach( (i => n.getRangeAt(0)['set' + i](t, e || t.length))); } catch (e) {console.warn('Tagify: ', e);} }, injectAtCaret (e, t) { if (t = t || this.state.selection.range) return 'string' == typeof e && (e = document.createTextNode(e)), t.deleteContents(), t.insertNode( e), this.setRangeAtStartEnd(!1, e), this.updateValueByDOMTags(), this.update(), this; }, input: { set (e = '', t = !0) { var n = this.settings.dropdown.closeOnSelect; this.state.inputText = e, t && (this.DOM.input.innerHTML = i('' + e)), !e && n && this.dropdown.hide.bind( this), this.input.autocomplete.suggest.call( this), this.input.validate.call(this); }, validate () { var e = !this.state.inputText || !0 === this.validateTag({ value: this.state.inputText }); return this.DOM.input.classList.toggle( this.settings.classNames.inputInvalid, !e), e; }, normalize (e) { var t = e || this.DOM.input, n = []; t.childNodes.forEach( (e => 3 == e.nodeType && n.push(e.nodeValue))), n = n.join( '\n'); try { n = n.replace(/(?:\r\n|\r|\n)/g, this.settings.delimiters.source.charAt(0)); } catch (e) {} return n = n.replace(/\s/g, ' '), this.settings.trim && (n = n.replace(/^\s+/, '')), n; }, autocomplete: { suggest (e) { if (this.settings.autoComplete.enabled) { 'string' == typeof (e = e || {}) && (e = { value: e }); var t = e.value ? '' + e.value : '', n = t.substr(0, this.state.inputText.length). toLowerCase(), i = t.substring(this.state.inputText.length); t && this.state.inputText && n == this.state.inputText.toLowerCase() ? (this.DOM.input.setAttribute('data-suggest', i), this.state.inputSuggestion = e) : (this.DOM.input.removeAttribute( 'data-suggest'), delete this.state.inputSuggestion); } }, set (e) { var t = this.DOM.input.getAttribute('data-suggest'), n = e || (t ? this.state.inputText + t : null); return !!n && ('mix' == this.settings.mode ? this.replaceTextWithNode(document.createTextNode( this.state.tag.prefix + n)) : (this.input.set.call(this, n), this.setRangeAtStartEnd()), this.input.autocomplete.suggest.call( this), this.dropdown.hide.call(this), !0); }, }, }, getTagIdx (e) { return this.value.findIndex((t => t.value == (e || {}).value)); }, getNodeIndex (e) { var t = 0; if (e) for (; e = e.previousElementSibling;) t++; return t; }, getTagElms (...e) { var t = '.' + [...this.settings.classNames.tag.split(' '), ...e].join('.'); return [].slice.call(this.DOM.scope.querySelectorAll(t)); }, getLastTag () { var e = this.DOM.scope.querySelectorAll( `${this.settings.classNames.tagSelector}:not(.${this.settings.classNames.tagHide}):not([readonly])`); return e[e.length - 1]; }, tagData: (e, t, n) => e ? (t && (e.__tagifyTagData = n ? t : o({}, e.__tagifyTagData || {}, t)), e.__tagifyTagData) : (console.warn('tag elment doesn\'t exist', e, t), t), isTagDuplicate (t, n) { var i = this.settings; return 'select' != i.mode && this.value.reduce( ((a, r) => e(this.trim('' + t), r.value, n || i.dropdown.caseSensitive) ? a + 1 : a), 0); }, getTagIndexByValue (t) { var n = []; return this.getTagElms(). forEach(((i, a) => { e(this.trim(i.textContent), t, this.settings.dropdown.caseSensitive) && n.push(a); })), n; }, getTagElmByValue (e) { var t = this.getTagIndexByValue(e)[0]; return this.getTagElms()[t]; }, flashTag (e) { e && (e.classList.add(this.settings.classNames.tagFlash), setTimeout( (() => { e.classList.remove(this.settings.classNames.tagFlash); }), 100)); }, isTagBlacklisted (e) { return e = this.trim( e.toLowerCase()), this.settings.blacklist.filter( (t => ('' + t).toLowerCase() == e)).length; }, isTagWhitelisted (e) {return !!this.getWhitelistItem(e);}, getWhitelistItem (t, n, i) { n = n || 'value'; var a, r = this.settings; return (i = i || r.whitelist).some((i => { var o = 'string' == typeof i ? i : i[n] || i.value; if (e(o, t, r.dropdown.caseSensitive, r.trim)) return a = 'string' == typeof i ? { value: i } : i, !0; })), a || 'value' != n || 'value' == r.tagTextProp || (a = this.getWhitelistItem(t, r.tagTextProp, i)), a; }, validateTag (e) { var t = this.settings, n = 'value' in e ? 'value' : t.tagTextProp, i = this.trim(e[n] + ''); return (e[n] + '').trim() ? t.pattern && t.pattern instanceof RegExp && !t.pattern.test(i) ? this.TEXTS.pattern : !t.duplicates && this.isTagDuplicate(i, this.state.editing) ? this.TEXTS.duplicate : this.isTagBlacklisted(i) || t.enforceWhitelist && !this.isTagWhitelisted(i) ? this.TEXTS.notAllowed : !t.validate || t.validate(e) : this.TEXTS.empty; }, getInvalidTagAttrs (e, t) { return { 'aria-invalid': !0, class: `${e.class || ''} ${this.settings.classNames.tagNotAllowed}`.trim(), title: t, }; }, hasMaxTags () { return this.value.length >= this.settings.maxTags && this.TEXTS.exceed; }, setReadonly (e) { var t = this.settings; document.activeElement.blur(), t.readonly = e, this.DOM.scope[(e ? 'set' : 'remove') + 'Attribute']('readonly', !0), 'mix' == t.mode && (this.DOM.input.contentEditable = !e); }, normalizeTags (e) { var t = this.settings, n = t.whitelist, i = t.delimiters, a = t.mode, r = t.tagTextProp; t.enforceWhitelist; var o = [], s = !!n && n[0] instanceof Object, l = e instanceof Array, c = e => (e + '').split(i). filter((e => e)). map((e => ({ [r]: this.trim(e), value: this.trim(e) }))); if ('number' == typeof e && (e = e.toString()), 'string' == typeof e) { if (!e.trim()) return []; e = c(e); } else l && (e = [].concat(...e.map((e => e.value ? e : c(e))))); return s && (e.forEach((e => { var t = o.map((e => e.value)), n = this.dropdown.filterListItems.call(this, e[r], { exact: !0 }).filter((e => !t.includes(e.value))), i = n.length > 1 ? this.getWhitelistItem(e[r], r, n) : n[0]; i && i instanceof Object ? o.push(i) : 'mix' != a && (null == e.value && (e.value = e[r]), o.push(e)); })), e = o), e; }, parseMixTags (e) { var t = this.settings, n = t.mixTagsInterpolator, i = t.duplicates, a = t.transformTag, r = t.enforceWhitelist, o = t.maxTags, s = t.tagTextProp, l = []; return e = e.split(n[0]). map(((e, t) => { var c, u, d, h = e.split(n[1]), f = h[0], p = l.length == o; try { if (f == +f) throw Error; u = JSON.parse(f); } catch (e) {u = this.normalizeTags(f)[0] || { value: f };} if (p || !(h.length > 1) || r && !this.isTagWhitelisted(u.value) || !i && this.isTagDuplicate(u.value)) { if (e) return t ? n[0] + e : e; } else a.call(this, u), u[c = u[s] ? s : 'value'] = this.trim(u[c]), d = this.createTagElem( u), l.push(u), d.classList.add( this.settings.classNames.tagNoAnimation), h[0] = d.outerHTML, this.value.push( u); return h.join(''); })). join( ''), this.DOM.input.innerHTML = e, this.DOM.input.appendChild( document.createTextNode( '')), this.DOM.input.normalize(), this.getTagElms(). forEach(((e, t) => this.tagData(e, l[t]))), this.update( { withoutChangeEvent: !0 }), e; }, replaceTextWithNode (e, t) { if (this.state.tag || t) { t = t || this.state.tag.prefix + this.state.tag.value; var n, i, a = window.getSelection(), r = a.anchorNode, o = this.state.tag.delimiters ? this.state.tag.delimiters.length : 0; return r.splitText( a.anchorOffset - o), n = r.nodeValue.lastIndexOf( t), i = r.splitText(n), e && r.parentNode.replaceChild(e, i), !0; } }, selectTag (e, t) { if (!this.settings.enforceWhitelist || this.isTagWhitelisted(t.value)) return this.input.set.call(this, t.value, !0), this.state.actions.selectOption && setTimeout(this.setRangeAtStartEnd.bind(this)), this.getLastTag() ? this.replaceTag(this.getLastTag(), t) : this.appendTag(e), this.value[0] = t, this.trigger('add', { tag: e, data: t }), this.update(), [e]; }, addEmptyTag (e) { var t = o({ value: '' }, e || {}), n = this.createTagElem(t); this.tagData(n, t), this.appendTag(n), this.editTag(n, { skipValidation: !0 }); }, addTags (e, t, n = this.settings.skipInvalid) { var i = [], a = this.settings; return e && 0 != e.length ? (e = this.normalizeTags(e), 'mix' == a.mode ? this.addMixTags( e) : ('select' == a.mode && (t = !1), this.DOM.input.removeAttribute('style'), e.forEach( (e => { var t, r = {}, s = Object.assign({}, e, { value: e.value + '' }); if ((e = Object.assign({}, s)).__isValid = this.hasMaxTags() || this.validateTag(e), a.transformTag.call(this, e), !0 !== e.__isValid) { if (n) return; o(r, this.getInvalidTagAttrs(e, e.__isValid), { __preInvalidData: s }), e.__isValid == this.TEXTS.duplicate && this.flashTag(this.getTagElmByValue(e.value)); } if (e.readonly && (r['aria-readonly'] = !0), t = this.createTagElem( o({}, e, r)), i.push(t), 'select' == a.mode) return this.selectTag(t, e); this.appendTag(t), e.__isValid && !0 === e.__isValid ? (this.value.push(e), this.update(), this.trigger( 'add', { tag: t, index: this.value.length - 1, data: e, })) : (this.trigger('invalid', { data: e, index: this.value.length, tag: t, message: e.__isValid, }), a.keepInvalidTags || setTimeout((() => this.removeTags(t, !0)), 1e3)), this.dropdown.position.call(this); })), e.length && t && this.input.set.call(this), this.dropdown.refilter.call( this), i)) : ('select' == a.mode && this.removeAllTags(), i); }, addMixTags (e) { if (e[0].prefix || this.state.tag) this.prefixedTextToTag( e[0]); else { 'string' == typeof e && (e = [{ value: e }]); var t = !!this.state.selection, n = document.createDocumentFragment(); e.forEach((e => { var t = this.createTagElem(e); n.appendChild(t), this.insertAfterTag(t); })), t ? this.injectAtCaret(n) : (this.DOM.input.focus(), (t = this.setStateSelection()).range.setStart( this.DOM.input, t.range.endOffset), t.range.setEnd( this.DOM.input, t.range.endOffset), this.DOM.input.appendChild( n), this.updateValueByDOMTags(), this.update()); } }, prefixedTextToTag (e) { var t, n = this.settings, i = this.state.tag.delimiters; if (n.transformTag.call(this, e), e.prefix = e.prefix || this.state.tag ? this.state.tag.prefix : (n.pattern.source || n.pattern)[0], t = this.createTagElem( e), this.replaceTextWithNode(t) || this.DOM.input.appendChild(t), setTimeout((() => t.classList.add( this.settings.classNames.tagNoAnimation)), 300), this.value.push(e), this.update(), !i) { var a = this.insertAfterTag(t) || t; this.placeCaretAfterNode(a); } return this.state.tag = null, this.trigger('add', o({}, { tag: t }, { data: e })), t; }, appendTag (e) { var t = this.DOM.scope.lastElementChild; t === this.DOM.input ? this.DOM.scope.insertBefore(e, t) : this.DOM.scope.appendChild(e); }, createTagElem (e) { var t, n = o({}, e, { value: i(e.value + '') }); return function (e) { for (var t, n = document.createNodeIterator(e, NodeFilter.SHOW_TEXT, null, !1); t = n.nextNode();) t.textContent.trim() || t.parentNode.removeChild(t); }(t = this.parseTemplate('tag', [n])), this.tagData(t, e), t; }, reCheckInvalidTags () { var e = this.settings, t = `${e.classNames.tagSelector}${e.classNames.tagNotAllowedSelector}`, n = this.DOM.scope.querySelectorAll(t); [].forEach.call(n, (e => { var t = this.tagData(e), n = e.getAttribute('title') == this.TEXTS.duplicate, i = !0 === this.validateTag(t); n && i && (t = t.__preInvalidData ? t.__preInvalidData : { value: t.value }, this.replaceTag(e, t)); })); }, removeTags (e, t, n) { var i; e = e && e instanceof HTMLElement ? [e] : e instanceof Array ? e : e ? [e] : [this.getLastTag()], i = e.reduce( ((e, t) => (t && 'string' == typeof t && (t = this.getTagElmByValue(t)), t && e.push({ node: t, idx: this.getTagIdx(this.tagData(t)), data: this.tagData(t, { __removed: !0 }), }), e)), []), n = 'number' == typeof n ? n : this.CSSVars.tagHideTransition, 'select' == this.settings.mode && (n = 0, this.input.set.call(this)), 1 == i.length && i[0].node.classList.contains( this.settings.classNames.tagNotAllowed) && (t = !0), i.length && this.settings.hooks.beforeRemoveTag(i, { tagify: this }). then((() => { function e (e) { e.node.parentNode && (e.node.parentNode.removeChild(e.node), t ? this.settings.keepInvalidTags && this.trigger('remove', { tag: e.node, index: e.idx }) : (this.trigger('remove', { tag: e.node, index: e.idx, data: e.data, }), this.dropdown.refilter.call( this), this.dropdown.position.call( this), this.DOM.input.normalize(), this.settings.keepInvalidTags && this.reCheckInvalidTags())); } n && n > 10 && 1 == i.length ? function (t) { t.node.style.width = parseFloat( window.getComputedStyle(t.node).width) + 'px', document.body.clientTop, t.node.classList.add( this.settings.classNames.tagHide), setTimeout( e.bind(this), n, t); }.call(this, i[0]) : i.forEach(e.bind(this)), t || (i.forEach((e => { var t = Object.assign({}, e.data); delete t.__removed; var n = this.getTagIdx(t); n > -1 && this.value.splice(n, 1); })), this.update()); })). catch((e => {})); }, removeAllTags (e) { e = e || {}, this.value = [], 'mix' == this.settings.mode ? this.DOM.input.innerHTML = '' : Array.prototype.slice.call(this.getTagElms()). forEach((e => e.parentNode.removeChild( e))), this.dropdown.position.call(this), 'select' == this.settings.mode && this.input.set.call(this), this.update(e); }, postUpdate () { var e = this.settings.classNames, t = 'mix' == this.settings.mode ? this.settings.mixMode.integrated ? this.DOM.input.textContent : this.DOM.originalInput.value : this.value.length; this.toggleClass(e.hasMaxTags, this.value.length >= this.settings.maxTags), this.toggleClass( e.hasNoTags, !this.value.length), this.toggleClass(e.empty, !t); }, update (e) { var t, n, i = this.DOM.originalInput, a = (e || {}).withoutChangeEvent, r = (t = this.value, n = ['__isValid', '__removed'], t.map( (e => { var t = {}; for (var i in e) n.indexOf(i) < 0 && (t[i] = e[i]); return t; }))); this.settings.mixMode.integrated || (i.value = 'mix' == this.settings.mode ? this.getMixedTagsAsString( r) : r.length ? this.settings.originalInputValueFormat ? this.settings.originalInputValueFormat(r) : JSON.stringify(r) : ''), this.postUpdate(), !a && this.state.loadedOriginalValues && this.triggerChangeEvent(); }, getMixedTagsAsString () { var e = '', t = this, n = this.settings.mixTagsInterpolator; return function i (a) { a.childNodes.forEach((a => { if (1 == a.nodeType) { if (a.classList.contains(t.settings.classNames.tag) && t.tagData(a)) { if (t.tagData(a).__removed) return; return void (e += n[0] + JSON.stringify(a.__tagifyTagData) + n[1]); } 'BR' != a.tagName || a.parentNode != t.DOM.input && 1 != a.parentNode.childNodes.length ? 'DIV' != a.tagName && 'P' != a.tagName || (e += '\r\n', i(a)) : e += '\r\n'; } else e += a.textContent; })); }(this.DOM.input), e; }, }, p.prototype.removeTag = p.prototype.removeTags, p; })), function (e) { e(['jquery'], (function (e) { return function () { var t, n, i, a = 0, r = 'error', o = 'info', s = 'success', l = 'warning', c = { clear: function (n, i) { var a = p(); t || u(a); d(n, a, i) || function (n) { for (var i = t.children(), a = i.length - 1; a >= 0; a--) d(e(i[a]), n); }(a); }, remove: function (n) { var i = p(); t || u(i); if (n && 0 === e(':focus', n).length) return void m(n); t.children().length && t.remove(); }, error: function (e, t, n) { return f({ type: r, iconClass: p().iconClasses.error, message: e, optionsOverride: n, title: t, }); }, getContainer: u, info: function (e, t, n) { return f({ type: o, iconClass: p().iconClasses.info, message: e, optionsOverride: n, title: t, }); }, options: {}, subscribe: function (e) {n = e;}, success: function (e, t, n) { return f({ type: s, iconClass: p().iconClasses.success, message: e, optionsOverride: n, title: t, }); }, version: '2.1.4', warning: function (e, t, n) { return f({ type: l, iconClass: p().iconClasses.warning, message: e, optionsOverride: n, title: t, }); }, }; return c; function u (n, i) { return n || (n = p()), (t = e('#' + n.containerId)).length || i && (t = function (n) { return (t = e('<div/>'). attr('id', n.containerId). addClass(n.positionClass)).appendTo(e(n.target)), t; }(n)), t; } function d (t, n, i) { var a = !(!i || !i.force) && i.force; return !(!t || !a && 0 !== e(':focus', t).length) && (t[n.hideMethod]({ duration: n.hideDuration, easing: n.hideEasing, complete: function () {m(t);}, }), !0); } function h (e) {n && n(e);} function f (n) { var r = p(), o = n.iconClass || r.iconClass; if (void 0 !== n.optionsOverride && (r = e.extend(r, n.optionsOverride), o = n.optionsOverride.iconClass || o), !function ( e, t) { if (e.preventDuplicates) { if (t.message === i) return !0; i = t.message; } return !1; }(r, n)) { a++, t = u(r, !0); var s = null, l = e('<div/>'), c = e('<div/>'), d = e('<div/>'), f = e('<div/>'), g = e(r.closeHtml), v = { intervalId: null, hideEta: null, maxHideTime: null, }, y = { toastId: a, state: 'visible', startTime: new Date, options: r, map: n, }; return n.iconClass && l.addClass(r.toastClass). addClass(o), function () { if (n.title) { var e = n.title; r.escapeHtml && (e = b(n.title)), c.append(e). addClass(r.titleClass), l.append(c); } }(), function () { if (n.message) { var e = n.message; r.escapeHtml && (e = b(n.message)), d.append(e). addClass(r.messageClass), l.append(d); } }(), r.closeButton && (g.addClass(r.closeClass).attr('role', 'button'), l.prepend( g)), r.progressBar && (f.addClass(r.progressClass), l.prepend(f)), r.rtl && l.addClass('rtl'), r.newestOnTop ? t.prepend(l) : t.append( l), function () { var e = ''; switch (n.iconClass) { case'toast-success': case'toast-info': e = 'polite'; break; default: e = 'assertive'; } l.attr('aria-live', e); }(), l.hide(), l[r.showMethod]({ duration: r.showDuration, easing: r.showEasing, complete: r.onShown, }), r.timeOut > 0 && (s = setTimeout(x, r.timeOut), v.maxHideTime = parseFloat( r.timeOut), v.hideEta = (new Date).getTime() + v.maxHideTime, r.progressBar && (v.intervalId = setInterval(k, 10))), function () { r.closeOnHover && l.hover(w, _); !r.onclick && r.tapToDismiss && l.click(x); r.closeButton && g && g.click((function (e) { e.stopPropagation ? e.stopPropagation() : void 0 !== e.cancelBubble && !0 !== e.cancelBubble && (e.cancelBubble = !0), r.onCloseClick && r.onCloseClick(e), x(!0); })); r.onclick && l.click((function (e) {r.onclick(e), x();})); }(), h(y), r.debug && console && console.log(y), l; } function b (e) { return null == e && (e = ''), e.replace(/&/g, '&'). replace(/"/g, '"'). replace(/'/g, '''). replace(/</g, '<'). replace(/>/g, '>'); } function x (t) { var n = t && !1 !== r.closeMethod ? r.closeMethod : r.hideMethod, i = t && !1 !== r.closeDuration ? r.closeDuration : r.hideDuration, a = t && !1 !== r.closeEasing ? r.closeEasing : r.hideEasing; if (!e(':focus', l).length || t) return clearTimeout( v.intervalId), l[n]({ duration: i, easing: a, complete: function () { m(l), clearTimeout(s), r.onHidden && 'hidden' !== y.state && r.onHidden(), y.state = 'hidden', y.endTime = new Date, h( y); }, }); } function _ () { (r.timeOut > 0 || r.extendedTimeOut > 0) && (s = setTimeout(x, r.extendedTimeOut), v.maxHideTime = parseFloat( r.extendedTimeOut), v.hideEta = (new Date).getTime() + v.maxHideTime); } function w () { clearTimeout(s), v.hideEta = 0, l.stop(!0, !0)[r.showMethod]( { duration: r.showDuration, easing: r.showEasing }); } function k () { var e = (v.hideEta - (new Date).getTime()) / v.maxHideTime * 100; f.width(e + '%'); } } function p () { return e.extend({}, { tapToDismiss: !0, toastClass: 'toast', containerId: 'toast-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, closeOnHover: !0, extendedTimeOut: 1e3, iconClasses: { error: 'toast-error', info: 'toast-info', success: 'toast-success', warning: 'toast-warning', }, iconClass: 'toast-info', positionClass: 'toast-top-right', timeOut: 5e3, titleClass: 'toast-title', messageClass: 'toast-message', escapeHtml: !1, target: 'body', closeHtml: '<button type="button">×</button>', closeClass: 'toast-close-button', newestOnTop: !0, preventDuplicates: !1, progressBar: !1, progressClass: 'toast-progress', rtl: !1, }, c.options); } function m (e) { t || (t = u()), e.is(':visible') || (e.remove(), e = null, 0 === t.children().length && (t.remove(), i = void 0)); } }(); })); }('function' == typeof define && define.amd ? define : function ( e, t) { 'undefined' != typeof module && module.exports ? module.exports = t(require('jquery')) : window.toastr = t(window.jQuery); }), 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).ApexCharts = t(); }(this, (function () { 'use strict'; function e (t) { return (e = '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; })(t); } function t (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function n (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } function i (e, t, i) {return t && n(e.prototype, t), i && n(e, i), e;} function a (e, t, n) { return t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e; } function r (e, t) { var n = Object.keys(e); if (Object.getOwnPropertySymbols) { var i = Object.getOwnPropertySymbols(e); t && (i = i.filter((function (t) { return Object.getOwnPropertyDescriptor(e, t).enumerable; }))), n.push.apply(n, i); } return n; } function o (e) { for (var t = 1; t < arguments.length; t++) { var n = null != arguments[t] ? arguments[t] : {}; t % 2 ? r(Object(n), !0).forEach((function (t) {a(e, t, n[t]);})) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : r(Object(n)). forEach((function (t) { Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t)); })); } return e; } function s (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function'); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0 } }), t && c(e, t); } function l (e) { return (l = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {return e.__proto__ || Object.getPrototypeOf(e);})( e); } function c (e, t) { return (c = Object.setPrototypeOf || function (e, t) {return e.__proto__ = t, e;})(e, t); } function u (e, t) { return !t || 'object' != typeof t && 'function' != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return e; }(e) : t; } function d (e) { var t = 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 (e) {return !1;} }(); return function () { var n, i = l(e); if (t) { var a = l(this).constructor; n = Reflect.construct(i, arguments, a); } else n = i.apply(this, arguments); return u(this, n); }; } function h (e) { return function (e) {if (Array.isArray(e)) return f(e);}(e) || function (e) { if ('undefined' != typeof Symbol && Symbol.iterator in Object(e)) return Array.from(e); }(e) || function (e, t) { if (e) { if ('string' == typeof e) return f(e, t); var n = Object.prototype.toString.call(e).slice(8, -1); return 'Object' === n && e.constructor && (n = e.constructor.name), 'Map' === n || 'Set' === n ? Array.from(e) : 'Arguments' === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? f(e, t) : void 0; } }(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 f (e, t) { (null == t || t > e.length) && (t = e.length); for (var n = 0, i = new Array(t); n < t; n++) i[n] = e[n]; return i; } var p = function () { function n () {t(this, n);} return i(n, [ { key: 'shadeRGBColor', value: function (e, t) { var n = t.split(','), i = e < 0 ? 0 : 255, a = e < 0 ? -1 * e : e, r = parseInt(n[0].slice(4), 10), o = parseInt(n[1], 10), s = parseInt(n[2], 10); return 'rgb(' + (Math.round((i - r) * a) + r) + ',' + (Math.round((i - o) * a) + o) + ',' + (Math.round((i - s) * a) + s) + ')'; }, }, { key: 'shadeHexColor', value: function (e, t) { var n = parseInt(t.slice(1), 16), i = e < 0 ? 0 : 255, a = e < 0 ? -1 * e : e, r = n >> 16, o = n >> 8 & 255, s = 255 & n; return '#' + (16777216 + 65536 * (Math.round((i - r) * a) + r) + 256 * (Math.round((i - o) * a) + o) + (Math.round((i - s) * a) + s)).toString(16). slice(1); }, }, { key: 'shadeColor', value: function (e, t) { return n.isColorHex(t) ? this.shadeHexColor(e, t) : this.shadeRGBColor(e, t); }, }], [ { key: 'bind', value: function (e, t) { return function () { return e.apply(t, arguments); }; }, }, { key: 'isObject', value: function (t) { return t && 'object' === e(t) && !Array.isArray(t) && null != t; }, }, { key: 'listToArray', value: function (e) { var t, n = []; for (t = 0; t < e.length; t++) n[t] = e[t]; return n; }, }, { key: 'extend', value: function (e, t) { var n = this; 'function' != typeof Object.assign && (Object.assign = function (e) { if (null == e) throw new TypeError( 'Cannot convert undefined or null to object'); for (var t = Object(e), n = 1; n < arguments.length; n++) { var i = arguments[n]; if (null != i) for (var a in i) i.hasOwnProperty( a) && (t[a] = i[a]); } return t; }); var i = Object.assign({}, e); return this.isObject(e) && this.isObject(t) && Object.keys(t). forEach((function (r) { n.isObject(t[r]) && r in e ? i[r] = n.extend(e[r], t[r]) : Object.assign(i, a({}, r, t[r])); })), i; }, }, { key: 'extendArray', value: function (e, t) { var i = []; return e.map((function (e) {i.push(n.extend(t, e));})), i; }, }, { key: 'monthMod', value: function (e) {return e % 12;} }, { key: 'clone', value: function (t) { if ('[object Array]' === Object.prototype.toString.call( t)) { for (var n = [], i = 0; i < t.length; i++) n[i] = this.clone(t[i]); return n; } if ('[object Null]' === Object.prototype.toString.call(t)) return null; if ('[object Date]' === Object.prototype.toString.call(t)) return t; if ('object' === e(t)) { var a = {}; for (var r in t) t.hasOwnProperty(r) && (a[r] = this.clone(t[r])); return a; } return t; }, }, { key: 'log10', value: function (e) {return Math.log(e) / Math.LN10;}, }, { key: 'roundToBase10', value: function (e) { return Math.pow(10, Math.floor(Math.log10(e))); }, }, { key: 'roundToBase', value: function (e, t) { return Math.pow(t, Math.floor(Math.log(e) / Math.log(t))); }, }, { key: 'parseNumber', value: function (e) {return null === e ? e : parseFloat(e);}, }, { key: 'randomId', value: function () { return (Math.random() + 1).toString(36). substring(4); }, }, { key: 'noExponents', value: function (e) { var t = String(e).split(/[eE]/); if (1 === t.length) return t[0]; var n = '', i = e < 0 ? '-' : '', a = t[0].replace('.', ''), r = Number(t[1]) + 1; if (r < 0) { for (n = i + '0.'; r++;) n += '0'; return n + a.replace(/^-/, ''); } for (r -= a.length; r--;) n += '0'; return a + n; }, }, { key: 'getDimensions', value: function (e) { var t = getComputedStyle(e, null), n = e.clientHeight, i = e.clientWidth; return n -= parseFloat(t.paddingTop) + parseFloat(t.paddingBottom), [ i -= parseFloat(t.paddingLeft) + parseFloat(t.paddingRight), n]; }, }, { key: 'getBoundingClientRect', value: function (e) { var t = e.getBoundingClientRect(); return { top: t.top, right: t.right, bottom: t.bottom, left: t.left, width: e.clientWidth, height: e.clientHeight, x: t.left, y: t.top, }; }, }, { key: 'getLargestStringFromArr', value: function (e) { return e.reduce((function (e, t) { return Array.isArray(t) && (t = t.reduce( (function (e, t) { return e.length > t.length ? e : t; }))), e.length > t.length ? e : t; }), 0); }, }, { key: 'hexToRgba', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : '#999999', t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : .6; '#' !== e.substring(0, 1) && (e = '#999999'); var n = e.replace('#', ''); n = n.match(new RegExp('(.{' + n.length / 3 + '})', 'g')); for (var i = 0; i < n.length; i++) n[i] = parseInt( 1 === n[i].length ? n[i] + n[i] : n[i], 16); return void 0 !== t && n.push(t), 'rgba(' + n.join(',') + ')'; }, }, { key: 'getOpacityFromRGBA', value: function (e) { return parseFloat(e.replace(/^.*,(.+)\)/, '$1')); }, }, { key: 'rgb2hex', value: function (e) { return (e = e.match( /^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i)) && 4 === e.length ? '#' + ('0' + parseInt(e[1], 10).toString(16)).slice(-2) + ('0' + parseInt(e[2], 10).toString(16)).slice(-2) + ('0' + parseInt(e[3], 10).toString(16)).slice(-2) : ''; }, }, { key: 'isColorHex', value: function (e) { return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)|(^#[0-9A-F]{8}$)/i.test( e); }, }, { key: 'polarToCartesian', value: function (e, t, n, i) { var a = (i - 90) * Math.PI / 180; return { x: e + n * Math.cos(a), y: t + n * Math.sin(a) }; }, }, { key: 'escapeString', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 'x', n = e.toString().slice(); return n.replace(/[` ~!@#$%^&*()_|+\-=?;:'",.<>{}[\]\\/]/gi, t); }, }, { key: 'negToZero', value: function (e) {return e < 0 ? 0 : e;} }, { key: 'moveIndexInArray', value: function (e, t, n) { if (n >= e.length) for (var i = n - e.length + 1; i--;) e.push(void 0); return e.splice(n, 0, e.splice(t, 1)[0]), e; }, }, { key: 'extractNumber', value: function (e) { return parseFloat(e.replace(/[^\d.]*/g, '')); }, }, { key: 'findAncestor', value: function (e, t) { for (; (e = e.parentElement) && !e.classList.contains(t);) ; return e; }, }, { key: 'setELstyles', value: function (e, t) { for (var n in t) t.hasOwnProperty(n) && (e.style.key = t[n]); }, }, { key: 'isNumber', value: function (e) { return !isNaN(e) && parseFloat(Number(e)) === e && !isNaN(parseInt(e, 10)); }, }, { key: 'isFloat', value: function (e) {return Number(e) === e && e % 1 != 0;}, }, { key: 'isSafari', value: function () { return /^((?!chrome|android).)*safari/i.test( navigator.userAgent); }, }, { key: 'isFirefox', value: function () { return navigator.userAgent.toLowerCase(). indexOf('firefox') > -1; }, }, { key: 'isIE11', value: function () { if (-1 !== window.navigator.userAgent.indexOf('MSIE') || window.navigator.appVersion.indexOf('Trident/') > -1) return !0; }, }, { key: 'isIE', value: function () { var e = window.navigator.userAgent, t = e.indexOf('MSIE '); if (t > 0) return parseInt( e.substring(t + 5, e.indexOf('.', t)), 10); if (e.indexOf('Trident/') > 0) { var n = e.indexOf('rv:'); return parseInt(e.substring(n + 3, e.indexOf('.', n)), 10); } var i = e.indexOf('Edge/'); return i > 0 && parseInt(e.substring(i + 5, e.indexOf('.', i)), 10); }, }]), n; }(), m = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'getDefaultFilter', value: function (e, t) { var n = this.w; e.unfilter(!0), (new window.SVG.Filter).size('120%', '180%', '-5%', '-40%'), 'none' !== n.config.states.normal.filter ? this.applyFilter(e, t, n.config.states.normal.filter.type, n.config.states.normal.filter.value) : n.config.chart.dropShadow.enabled && this.dropShadow(e, n.config.chart.dropShadow, t); }, }, { key: 'addNormalFilter', value: function (e, t) { var n = this.w; n.config.chart.dropShadow.enabled && !e.node.classList.contains('apexcharts-marker') && this.dropShadow(e, n.config.chart.dropShadow, t); }, }, { key: 'addLightenFilter', value: function (e, t, n) { var i = this, a = this.w, r = n.intensity; e.unfilter(!0), new window.SVG.Filter, e.filter( (function (e) { var n = a.config.chart.dropShadow; (n.enabled ? i.addShadow(e, t, n) : e).componentTransfer({ rgb: { type: 'linear', slope: 1.5, intercept: r, }, }); })), e.filterer.node.setAttribute('filterUnits', 'userSpaceOnUse'), this._scaleFilterSize( e.filterer.node); }, }, { key: 'addDarkenFilter', value: function (e, t, n) { var i = this, a = this.w, r = n.intensity; e.unfilter(!0), new window.SVG.Filter, e.filter( (function (e) { var n = a.config.chart.dropShadow; (n.enabled ? i.addShadow(e, t, n) : e).componentTransfer( { rgb: { type: 'linear', slope: r } }); })), e.filterer.node.setAttribute('filterUnits', 'userSpaceOnUse'), this._scaleFilterSize( e.filterer.node); }, }, { key: 'applyFilter', value: function (e, t, n) { var i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : .5; switch (n) { case'none': this.addNormalFilter(e, t); break; case'lighten': this.addLightenFilter(e, t, { intensity: i }); break; case'darken': this.addDarkenFilter(e, t, { intensity: i }); } }, }, { key: 'addShadow', value: function (e, t, n) { var i = n.blur, a = n.top, r = n.left, o = n.color, s = n.opacity, l = e.flood(Array.isArray(o) ? o[t] : o, s). composite(e.sourceAlpha, 'in'). offset(r, a). gaussianBlur(i). merge(e.source); return e.blend(e.source, l); }, }, { key: 'dropShadow', value: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, i = t.top, a = t.left, r = t.blur, o = t.color, s = t.opacity, l = t.noUserSpaceOnUse, c = this.w; return e.unfilter(!0), p.isIE() && 'radialBar' === c.config.chart.type || (o = Array.isArray(o) ? o[n] : o, e.filter((function (e) { var t; t = p.isSafari() || p.isFirefox() || p.isIE() ? e.flood(o, s). composite(e.sourceAlpha, 'in'). offset(a, i). gaussianBlur(r) : e.flood(o, s). composite(e.sourceAlpha, 'in'). offset(a, i). gaussianBlur(r). merge(e.source), e.blend(e.source, t); })), l || e.filterer.node.setAttribute('filterUnits', 'userSpaceOnUse'), this._scaleFilterSize( e.filterer.node)), e; }, }, { key: 'setSelectionFilter', value: function (e, t, n) { var i = this.w; if (void 0 !== i.globals.selectedDataPoints[t] && i.globals.selectedDataPoints[t].indexOf(n) > -1) { e.node.setAttribute('selected', !0); var a = i.config.states.active.filter; 'none' !== a && this.applyFilter(e, t, a.type, a.value); } }, }, { key: '_scaleFilterSize', value: function (e) { !function (t) { for (var n in t) t.hasOwnProperty(n) && e.setAttribute(n, t[n]); }({ width: '200%', height: '200%', x: '-50%', y: '-50%' }); }, }]), e; }(), g = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w, this.setEasingFunctions(); } return i(e, [ { key: 'setEasingFunctions', value: function () { var e; if (!this.w.globals.easing) { switch (this.w.config.chart.animations.easing) { case'linear': e = '-'; break; case'easein': e = '<'; break; case'easeout': e = '>'; break; case'easeinout': e = '<>'; break; case'swing': e = function (e) { var t = 1.70158; return (e -= 1) * e * ((t + 1) * e + t) + 1; }; break; case'bounce': e = function (e) { return e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : e < 2.5 / 2.75 ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375; }; break; case'elastic': e = function (e) { return e === !!e ? e : Math.pow(2, -10 * e) * Math.sin( (e - .075) * (2 * Math.PI) / .3) + 1; }; break; default: e = '<>'; } this.w.globals.easing = e; } }, }, { key: 'animateLine', value: function (e, t, n, i) {e.attr(t).animate(i).attr(n);}, }, { key: 'animateCircleRadius', value: function (e, t, n, i, a, r) { t || (t = 0), e.attr({ r: t }). animate(i, a). attr({ r: n }). afterAll((function () {r();})); }, }, { key: 'animateCircle', value: function (e, t, n, i, a) { e.attr({ r: t.r, cx: t.cx, cy: t.cy }). animate(i, a). attr({ r: n.r, cx: n.cx, cy: n.cy }); }, }, { key: 'animateRect', value: function (e, t, n, i, a) { e.attr(t). animate(i). attr(n). afterAll((function () {return a();})); }, }, { key: 'animatePathsGradually', value: function (e) { var t = e.el, n = e.realIndex, i = e.j, a = e.fill, r = e.pathFrom, o = e.pathTo, s = e.speed, l = e.delay, c = this.w, u = 0; c.config.chart.animations.animateGradually.enabled && (u = c.config.chart.animations.animateGradually.delay), c.config.chart.animations.dynamicAnimation.enabled && c.globals.dataChanged && 'bar' !== c.config.chart.type && (u = 0), this.morphSVG(t, n, i, 'line' !== c.config.chart.type || c.globals.comboCharts ? a : 'stroke', r, o, s, l * u); }, }, { key: 'showDelayedElements', value: function () { this.w.globals.delayedElements.forEach((function (e) { e.el.classList.remove('apexcharts-element-hidden'); })); }, }, { key: 'animationCompleted', value: function (e) { var t = this.w; t.globals.animationEnded || (t.globals.animationEnded = !0, this.showDelayedElements(), 'function' == typeof t.config.chart.events.animationEnd && t.config.chart.events.animationEnd(this.ctx, { el: e, w: t })); }, }, { key: 'morphSVG', value: function (e, t, n, i, a, r, o, s) { var l = this, c = this.w; a || (a = e.attr('pathFrom')), r || (r = e.attr('pathTo')); var u = function (e) { return 'radar' === c.config.chart.type && (o = 1), 'M 0 '.concat(c.globals.gridHeight); }; (!a || a.indexOf('undefined') > -1 || a.indexOf('NaN') > -1) && (a = u()), (!r || r.indexOf('undefined') > -1 || r.indexOf('NaN') > -1) && (r = u()), c.globals.shouldAnimate || (o = 1), e.plot(a). animate(1, c.globals.easing, s). plot(a). animate(o, c.globals.easing, s). plot(r). afterAll((function () { p.isNumber(n) ? n === c.globals.series[c.globals.maxValsInArrayIndex].length - 2 && c.globals.shouldAnimate && l.animationCompleted(e) : 'none' !== i && c.globals.shouldAnimate && (!c.globals.comboCharts && t === c.globals.series.length - 1 || c.globals.comboCharts) && l.animationCompleted( e), l.showDelayedElements(); })); }, }]), e; }(), v = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'drawLine', value: function (e, t, n, i) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : '#a8a8a8', r = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : 0, o = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : null, s = this.w, l = s.globals.dom.Paper.line(). attr({ x1: e, y1: t, x2: n, y2: i, stroke: a, 'stroke-dasharray': r, 'stroke-width': o, }); return l; }, }, { key: 'drawRect', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : 0, n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 0, i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0, a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 0, r = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : '#fefefe', o = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : 1, s = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : null, l = arguments.length > 8 && void 0 !== arguments[8] ? arguments[8] : null, c = arguments.length > 9 && void 0 !== arguments[9] ? arguments[9] : 0, u = this.w, d = u.globals.dom.Paper.rect(); return d.attr({ x: e, y: t, width: n > 0 ? n : 0, height: i > 0 ? i : 0, rx: a, ry: a, opacity: o, 'stroke-width': null !== s ? s : 0, stroke: null !== l ? l : 'none', 'stroke-dasharray': c, }), d.node.setAttribute('fill', r), d; }, }, { key: 'drawPolygon', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : '#e1e1e1', n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 1, i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 'none', a = this.w, r = a.globals.dom.Paper.polygon(e). attr({ fill: i, stroke: t, 'stroke-width': n }); return r; }, }, { key: 'drawCircle', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, n = this.w, i = n.globals.dom.Paper.circle(2 * e); return null !== t && i.attr(t), i; }, }, { key: 'drawPath', value: function (e) { var t = e.d, n = void 0 === t ? '' : t, i = e.stroke, a = void 0 === i ? '#a8a8a8' : i, r = e.strokeWidth, o = void 0 === r ? 1 : r, s = e.fill, l = e.fillOpacity, c = void 0 === l ? 1 : l, u = e.strokeOpacity, d = void 0 === u ? 1 : u, h = e.classes, f = e.strokeLinecap, p = void 0 === f ? null : f, m = e.strokeDashArray, g = void 0 === m ? 0 : m, v = this.w; return null === p && (p = v.config.stroke.lineCap), (n.indexOf('undefined') > -1 || n.indexOf('NaN') > -1) && (n = 'M 0 '.concat( v.globals.gridHeight)), v.globals.dom.Paper.path(n). attr({ fill: s, 'fill-opacity': c, stroke: a, 'stroke-opacity': d, 'stroke-linecap': p, 'stroke-width': o, 'stroke-dasharray': g, class: h, }); }, }, { key: 'group', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, t = this.w, n = t.globals.dom.Paper.group(); return null !== e && n.attr(e), n; }, }, { key: 'move', value: function (e, t) {return ['M', e, t].join(' ');}, }, { key: 'line', value: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, i = null; return null === n ? i = ['L', e, t].join(' ') : 'H' === n ? i = ['H', e].join(' ') : 'V' === n && (i = ['V', t].join(' ')), i; }, }, { key: 'curve', value: function (e, t, n, i, a, r) { return [ 'C', e, t, n, i, a, r].join(' '); }, }, { key: 'quadraticCurve', value: function (e, t, n, i) { return ['Q', e, t, n, i].join(' '); }, }, { key: 'arc', value: function ( e, t, n, i, a, r, o) { var s = arguments.length > 7 && void 0 !== arguments[7] && arguments[7], l = 'A'; s && (l = 'a'); var c = [l, e, t, n, i, a, r, o].join(' '); return c; }, }, { key: 'renderPaths', value: function (e) { var t, n = e.j, i = e.realIndex, a = e.pathFrom, r = e.pathTo, s = e.stroke, l = e.strokeWidth, c = e.strokeLinecap, u = e.fill, d = e.animationDelay, h = e.initialSpeed, f = e.dataChangeSpeed, p = e.className, v = e.shouldClipToGrid, y = void 0 === v || v, b = e.bindEventsOnPaths, x = void 0 === b || b, _ = e.drawShadow, w = void 0 === _ || _, k = this.w, M = new m(this.ctx), L = new g(this.ctx), S = this.w.config.chart.animations.enabled, T = S && this.w.config.chart.animations.dynamicAnimation.enabled, A = !!(S && !k.globals.resized || T && k.globals.dataChanged && k.globals.shouldAnimate); A ? t = a : (t = r, k.globals.animationEnded = !0); var D, C = k.config.stroke.dashArray; D = Array.isArray(C) ? C[i] : k.config.stroke.dashArray; var E = this.drawPath({ d: t, stroke: s, strokeWidth: l, fill: u, fillOpacity: 1, classes: p, strokeLinecap: c, strokeDashArray: D, }); if (E.attr('index', i), y && E.attr({ 'clip-path': 'url(#gridRectMask'.concat(k.globals.cuid, ')'), }), 'none' !== k.config.states.normal.filter.type) M.getDefaultFilter(E, i); else if (k.config.chart.dropShadow.enabled && w && (!k.config.chart.dropShadow.enabledOnSeries || k.config.chart.dropShadow.enabledOnSeries && -1 !== k.config.chart.dropShadow.enabledOnSeries.indexOf( i))) { var O = k.config.chart.dropShadow; M.dropShadow(E, O, i); } x && (E.node.addEventListener('mouseenter', this.pathMouseEnter.bind(this, E)), E.node.addEventListener('mouseleave', this.pathMouseLeave.bind(this, E)), E.node.addEventListener('mousedown', this.pathMouseDown.bind(this, E))), E.attr( { pathTo: r, pathFrom: a }); var Y = { el: E, j: n, realIndex: i, pathFrom: a, pathTo: r, fill: u, strokeWidth: l, delay: d, }; return !S || k.globals.resized || k.globals.dataChanged ? !k.globals.resized && k.globals.dataChanged || L.showDelayedElements() : L.animatePathsGradually(o(o({}, Y), {}, { speed: h })), k.globals.dataChanged && T && A && L.animatePathsGradually(o(o({}, Y), {}, { speed: f })), E; }, }, { key: 'drawPattern', value: function (e, t, n) { var i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : '#a8a8a8', a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 0, r = this.w, o = r.globals.dom.Paper.pattern(t, n, (function (r) { 'horizontalLines' === e ? r.line(0, 0, n, 0). stroke({ color: i, width: a + 1 }) : 'verticalLines' === e ? r.line(0, 0, 0, t). stroke({ color: i, width: a + 1 }) : 'slantedLines' === e ? r.line(0, 0, t, n). stroke({ color: i, width: a }) : 'squares' === e ? r.rect(t, n). fill('none'). stroke({ color: i, width: a }) : 'circles' === e && r.circle(t). fill('none'). stroke({ color: i, width: a }); })); return o; }, }, { key: 'drawGradient', value: function (e, t, n, i, a) { var r, o = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : null, s = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : null, l = arguments.length > 7 && void 0 !== arguments[7] ? arguments[7] : null, c = arguments.length > 8 && void 0 !== arguments[8] ? arguments[8] : 0, u = this.w; t.length < 9 && 0 === t.indexOf('#') && (t = p.hexToRgba(t, i)), n.length < 9 && 0 === n.indexOf('#') && (n = p.hexToRgba(n, a)); var d = 0, h = 1, f = 1, m = null; null !== s && (d = void 0 !== s[0] ? s[0] / 100 : 0, h = void 0 !== s[1] ? s[1] / 100 : 1, f = void 0 !== s[2] ? s[2] / 100 : 1, m = void 0 !== s[3] ? s[3] / 100 : null); var g = !('donut' !== u.config.chart.type && 'pie' !== u.config.chart.type && 'polarArea' !== u.config.chart.type && 'bubble' !== u.config.chart.type); if (r = null === l || 0 === l.length ? u.globals.dom.Paper.gradient(g ? 'radial' : 'linear', (function (e) { e.at(d, t, i), e.at(h, n, a), e.at(f, n, a), null !== m && e.at(m, t, i); })) : u.globals.dom.Paper.gradient(g ? 'radial' : 'linear', (function (e) { (Array.isArray(l[c]) ? l[c] : l).forEach((function (t) { e.at(t.offset / 100, t.color, t.opacity); })); })), g) { var v = u.globals.gridWidth / 2, y = u.globals.gridHeight / 2; 'bubble' !== u.config.chart.type ? r.attr({ gradientUnits: 'userSpaceOnUse', cx: v, cy: y, r: o, }) : r.attr({ cx: .5, cy: .5, r: .8, fx: .2, fy: .2 }); } else 'vertical' === e ? r.from(0, 0).to(0, 1) : 'diagonal' === e ? r.from(0, 0).to(1, 1) : 'horizontal' === e ? r.from(0, 1).to(1, 1) : 'diagonal2' === e && r.from(1, 0).to(0, 1); return r; }, }, { key: 'drawText', value: function (e) { var t, n = e.x, i = e.y, a = e.text, r = e.textAnchor, o = e.fontSize, s = e.fontFamily, l = e.fontWeight, c = e.foreColor, u = e.opacity, d = e.cssClass, h = void 0 === d ? '' : d, f = e.isPlainText, p = void 0 === f || f, m = this.w; return void 0 === a && (a = ''), r || (r = 'start'), c && c.length || (c = m.config.chart.foreColor), s = s || m.config.chart.fontFamily, l = l || 'regular', (t = Array.isArray(a) ? m.globals.dom.Paper.text((function (e) { for (var t = 0; t < a.length; t++) 0 === t ? e.tspan(a[t]) : e.tspan(a[t]).newLine(); })) : p ? m.globals.dom.Paper.plain(a) : m.globals.dom.Paper.text( (function (e) {return e.tspan(a);}))).attr({ x: n, y: i, 'text-anchor': r, 'dominant-baseline': 'auto', 'font-size': o, 'font-family': s, 'font-weight': l, fill: c, class: 'apexcharts-text ' + h, }), t.node.style.fontFamily = s, t.node.style.opacity = u, t; }, }, { key: 'drawMarker', value: function (e, t, n) { e = e || 0; var i = n.pSize || 0, a = null; if ('square' === n.shape) { var r = void 0 === n.pRadius ? i / 2 : n.pRadius; null !== t && i || (i = 0, r = 0); var o = 1.2 * i + r, s = this.drawRect(o, o, o, o, r); s.attr({ x: e - o / 2, y: t - o / 2, cx: e, cy: t, class: n.class ? n.class : '', fill: n.pointFillColor, 'fill-opacity': n.pointFillOpacity ? n.pointFillOpacity : 1, stroke: n.pointStrokeColor, 'stroke-width': n.pWidth ? n.pWidth : 0, 'stroke-opacity': n.pointStrokeOpacity ? n.pointStrokeOpacity : 1, }), a = s; } else 'circle' !== n.shape && n.shape || (p.isNumber(t) || (i = 0, t = 0), a = this.drawCircle(i, { cx: e, cy: t, class: n.class ? n.class : '', stroke: n.pointStrokeColor, fill: n.pointFillColor, 'fill-opacity': n.pointFillOpacity ? n.pointFillOpacity : 1, 'stroke-width': n.pWidth ? n.pWidth : 0, 'stroke-opacity': n.pointStrokeOpacity ? n.pointStrokeOpacity : 1, })); return a; }, }, { key: 'pathMouseEnter', value: function (e, t) { var n = this.w, i = new m(this.ctx), a = parseInt(e.node.getAttribute('index'), 10), r = parseInt(e.node.getAttribute('j'), 10); if ('function' == typeof n.config.chart.events.dataPointMouseEnter && n.config.chart.events.dataPointMouseEnter(t, this.ctx, { seriesIndex: a, dataPointIndex: r, w: n, }), this.ctx.events.fireEvent('dataPointMouseEnter', [ t, this.ctx, { seriesIndex: a, dataPointIndex: r, w: n, }]), ('none' === n.config.states.active.filter.type || 'true' !== e.node.getAttribute('selected')) && 'none' !== n.config.states.hover.filter.type && 'none' !== n.config.states.active.filter.type && !n.globals.isTouchDevice) { var o = n.config.states.hover.filter; i.applyFilter(e, a, o.type, o.value); } }, }, { key: 'pathMouseLeave', value: function (e, t) { var n = this.w, i = new m(this.ctx), a = parseInt(e.node.getAttribute('index'), 10), r = parseInt(e.node.getAttribute('j'), 10); 'function' == typeof n.config.chart.events.dataPointMouseLeave && n.config.chart.events.dataPointMouseLeave(t, this.ctx, { seriesIndex: a, dataPointIndex: r, w: n, }), this.ctx.events.fireEvent('dataPointMouseLeave', [ t, this.ctx, { seriesIndex: a, dataPointIndex: r, w: n, }]), 'none' !== n.config.states.active.filter.type && 'true' === e.node.getAttribute('selected') || 'none' !== n.config.states.hover.filter.type && i.getDefaultFilter(e, a); }, }, { key: 'pathMouseDown', value: function (e, t) { var n = this.w, i = new m(this.ctx), a = parseInt(e.node.getAttribute('index'), 10), r = parseInt(e.node.getAttribute('j'), 10), o = 'false'; if ('true' === e.node.getAttribute('selected')) { if (e.node.setAttribute('selected', 'false'), n.globals.selectedDataPoints[a].indexOf( r) > -1) { var s = n.globals.selectedDataPoints[a].indexOf(r); n.globals.selectedDataPoints[a].splice(s, 1); } } else { if (!n.config.states.active.allowMultipleDataPointsSelection && n.globals.selectedDataPoints.length > 0) { n.globals.selectedDataPoints = []; var l = n.globals.dom.Paper.select( '.apexcharts-series path').members, c = n.globals.dom.Paper.select( '.apexcharts-series circle, .apexcharts-series rect').members, u = function (e) { Array.prototype.forEach.call(e, (function (e) { e.node.setAttribute('selected', 'false'), i.getDefaultFilter(e, a); })); }; u(l), u(c); } e.node.setAttribute('selected', 'true'), o = 'true', void 0 === n.globals.selectedDataPoints[a] && (n.globals.selectedDataPoints[a] = []), n.globals.selectedDataPoints[a].push( r); } if ('true' === o) { var d = n.config.states.active.filter; 'none' !== d && i.applyFilter(e, a, d.type, d.value); } else 'none' !== n.config.states.active.filter.type && i.getDefaultFilter(e, a); 'function' == typeof n.config.chart.events.dataPointSelection && n.config.chart.events.dataPointSelection(t, this.ctx, { selectedDataPoints: n.globals.selectedDataPoints, seriesIndex: a, dataPointIndex: r, w: n, }), t && this.ctx.events.fireEvent('dataPointSelection', [ t, this.ctx, { selectedDataPoints: n.globals.selectedDataPoints, seriesIndex: a, dataPointIndex: r, w: n, }]); }, }, { key: 'rotateAroundCenter', value: function (e) { var t = e.getBBox(); return { x: t.x + t.width / 2, y: t.y + t.height / 2 }; }, }, { key: 'getTextRects', value: function (e, t, n, i) { var a = !(arguments.length > 4 && void 0 !== arguments[4]) || arguments[4], r = this.w, o = this.drawText({ x: -200, y: -200, text: e, textAnchor: 'start', fontSize: t, fontFamily: n, foreColor: '#fff', opacity: 0, }); i && o.attr('transform', i), r.globals.dom.Paper.add(o); var s = o.bbox(); return a || (s = o.node.getBoundingClientRect()), o.remove(), { width: s.width, height: s.height, }; }, }, { key: 'placeTextWithEllipsis', value: function (e, t, n) { if ('function' == typeof e.getComputedTextLength && (e.textContent = t, t.length > 0 && e.getComputedTextLength() >= n / .8)) { for (var i = t.length - 3; i > 0; i -= 3) if (e.getSubStringLength(0, i) <= n / .8) return void (e.textContent = t.substring(0, i) + '...'); e.textContent = '.'; } }, }], [ { key: 'setAttrs', value: function (e, t) { for (var n in t) t.hasOwnProperty(n) && e.setAttribute(n, t[n]); }, }]), e; }(), y = function () { function e (n) {t(this, e), this.w = n.w, this.annoCtx = n;} return i(e, [ { key: 'setOrientations', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, n = this.w; if ('vertical' === e.label.orientation) { var i = null !== t ? t : 0, a = n.globals.dom.baseEl.querySelector( '.apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel=\''.concat( i, '\']')); if (null !== a) { var r = a.getBoundingClientRect(); a.setAttribute('x', parseFloat(a.getAttribute('x')) - r.height + 4), 'top' === e.label.position ? a.setAttribute('y', parseFloat(a.getAttribute('y')) + r.width) : a.setAttribute('y', parseFloat(a.getAttribute('y')) - r.width); var o = this.annoCtx.graphics.rotateAroundCenter(a), s = o.x, l = o.y; a.setAttribute('transform', 'rotate(-90 '.concat(s, ' ').concat(l, ')')); } } }, }, { key: 'addBackgroundToAnno', value: function (e, t) { var n = this.w; if (!e || !t.label.text || t.label.text && !t.label.text.trim()) return null; var i = n.globals.dom.baseEl.querySelector( '.apexcharts-grid').getBoundingClientRect(), a = e.getBoundingClientRect(), r = t.label.style.padding.left, o = t.label.style.padding.right, s = t.label.style.padding.top, l = t.label.style.padding.bottom; 'vertical' === t.label.orientation && (s = t.label.style.padding.left, l = t.label.style.padding.right, r = t.label.style.padding.top, o = t.label.style.padding.bottom); var c = a.left - i.left - r, u = a.top - i.top - s, d = this.annoCtx.graphics.drawRect( c - n.globals.barPadForNumericAxis, u, a.width + r + o, a.height + s + l, t.label.borderRadius, t.label.style.background, 1, t.label.borderWidth, t.label.borderColor, 0); return t.id && d.node.classList.add(t.id), d; }, }, { key: 'annotationsBackground', value: function () { var e = this, t = this.w, n = function (n, i, a) { var r = t.globals.dom.baseEl.querySelector( '.apexcharts-'.concat(a, '-annotations .apexcharts-'). concat(a, '-annotation-label[rel=\''). concat(i, '\']')); if (r) { var o = r.parentNode, s = e.addBackgroundToAnno(r, n); s && o.insertBefore(s.node, r); } }; t.config.annotations.xaxis.map((function (e, t) { n(e, t, 'xaxis'); })), t.config.annotations.yaxis.map((function (e, t) { n(e, t, 'yaxis'); })), t.config.annotations.points.map( (function (e, t) {n(e, t, 'point');})); }, }, { key: 'getStringX', value: function (e) { var t = this.w, n = e; t.config.xaxis.convertedCatToNumeric && t.globals.categoryLabels.length && (e = t.globals.categoryLabels.indexOf(e) + 1); var i = t.globals.labels.indexOf(e), a = t.globals.dom.baseEl.querySelector( '.apexcharts-xaxis-texts-g text:nth-child(' + (i + 1) + ')'); return a && (n = parseFloat(a.getAttribute('x'))), n; }, }]), e; }(), b = function () { function e (n) { t(this, e), this.w = n.w, this.annoCtx = n, this.invertAxis = this.annoCtx.invertAxis; } return i(e, [ { key: 'addXaxisAnnotation', value: function (e, t, n) { var i = this.w, a = this.invertAxis ? i.globals.minY : i.globals.minX, r = this.invertAxis ? i.globals.maxY : i.globals.maxX, o = this.invertAxis ? i.globals.yRange[0] : i.globals.xRange, s = (e.x - a) / (o / i.globals.gridWidth); this.annoCtx.inversedReversedAxis && (s = (r - e.x) / (o / i.globals.gridWidth)); var l = e.label.text; 'category' !== i.config.xaxis.type && !i.config.xaxis.convertedCatToNumeric || this.invertAxis || i.globals.dataFormatXNumeric || (s = this.annoCtx.helpers.getStringX(e.x)); var c = e.strokeDashArray; if (p.isNumber(s)) { if (null === e.x2 || void 0 === e.x2) { var u = this.annoCtx.graphics.drawLine( s + e.offsetX, 0 + e.offsetY, s + e.offsetX, i.globals.gridHeight + e.offsetY, e.borderColor, c, e.borderWidth); t.appendChild(u.node), e.id && u.node.classList.add(e.id); } else { var d = (e.x2 - a) / (o / i.globals.gridWidth); if (this.annoCtx.inversedReversedAxis && (d = (r - e.x2) / (o / i.globals.gridWidth)), 'category' !== i.config.xaxis.type && !i.config.xaxis.convertedCatToNumeric || this.invertAxis || i.globals.dataFormatXNumeric || (d = this.annoCtx.helpers.getStringX(e.x2)), d < s) { var h = s; s = d, d = h; } var f = this.annoCtx.graphics.drawRect( s + e.offsetX, 0 + e.offsetY, d - s, i.globals.gridHeight + e.offsetY, 0, e.fillColor, e.opacity, 1, e.borderColor, c); f.node.classList.add( 'apexcharts-annotation-rect'), f.attr( 'clip-path', 'url(#gridRectMask'.concat(i.globals.cuid, ')')), t.appendChild(f.node), e.id && f.node.classList.add(e.id); } var m = 'top' === e.label.position ? 4 : i.globals.gridHeight, g = this.annoCtx.graphics.getTextRects(l, parseFloat(e.label.style.fontSize)), v = this.annoCtx.graphics.drawText({ x: s + e.label.offsetX, y: m + e.label.offsetY - ('vertical' === e.label.orientation ? 'top' === e.label.position ? g.width / 2 - 12 : -g.width / 2 : 0), text: l, textAnchor: e.label.textAnchor, fontSize: e.label.style.fontSize, fontFamily: e.label.style.fontFamily, fontWeight: e.label.style.fontWeight, foreColor: e.label.style.color, cssClass: 'apexcharts-xaxis-annotation-label '.concat( e.label.style.cssClass, ' '). concat(e.id ? e.id : ''), }); v.attr({ rel: n }), t.appendChild( v.node), this.annoCtx.helpers.setOrientations(e, n); } }, }, { key: 'drawXAxisAnnotations', value: function () { var e = this, t = this.w, n = this.annoCtx.graphics.group( { class: 'apexcharts-xaxis-annotations' }); return t.config.annotations.xaxis.map((function (t, i) { e.addXaxisAnnotation(t, n.node, i); })), n; }, }]), e; }(), x = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'getStackedSeriesTotals', value: function () { var e = this.w, t = []; if (0 === e.globals.series.length) return t; for (var n = 0; n < e.globals.series[e.globals.maxValsInArrayIndex].length; n++) { for (var i = 0, a = 0; a < e.globals.series.length; a++) void 0 !== e.globals.series[a][n] && (i += e.globals.series[a][n]); t.push(i); } return e.globals.stackedSeriesTotals = t, t; }, }, { key: 'getSeriesTotalByIndex', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null; return null === e ? this.w.config.series.reduce( (function (e, t) {return e + t;}), 0) : this.w.globals.series[e].reduce( (function (e, t) {return e + t;}), 0); }, }, { key: 'isSeriesNull', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null; return 0 === (null === e ? this.w.config.series.filter( (function (e) {return null !== e;})) : this.w.config.series[e].data.filter( (function (e) {return null !== e;}))).length; }, }, { key: 'seriesHaveSameValues', value: function (e) { return this.w.globals.series[e].every( (function (e, t, n) {return e === n[0];})); }, }, { key: 'getCategoryLabels', value: function (e) { var t = this.w, n = e.slice(); return t.config.xaxis.convertedCatToNumeric && (n = e.map( (function (e, n) { return t.config.xaxis.labels.formatter( e - t.globals.minX + 1); }))), n; }, }, { key: 'getLargestSeries', value: function () { var e = this.w; e.globals.maxValsInArrayIndex = e.globals.series.map( (function (e) {return e.length;})). indexOf(Math.max.apply(Math, e.globals.series.map( (function (e) {return e.length;})))); }, }, { key: 'getLargestMarkerSize', value: function () { var e = this.w, t = 0; return e.globals.markers.size.forEach((function (e) { t = Math.max(t, e); })), e.globals.markers.largestSize = t, t; }, }, { key: 'getSeriesTotals', value: function () { var e = this.w; e.globals.seriesTotals = e.globals.series.map( (function (e, t) { var n = 0; if (Array.isArray(e)) for (var i = 0; i < e.length; i++) n += e[i]; else n += e; return n; })); }, }, { key: 'getSeriesTotalsXRange', value: function (e, t) { var n = this.w; return n.globals.series.map((function (i, a) { for (var r = 0, o = 0; o < i.length; o++) n.globals.seriesX[a][o] > e && n.globals.seriesX[a][o] < t && (r += i[o]); return r; })); }, }, { key: 'getPercentSeries', value: function () { var e = this.w; e.globals.seriesPercent = e.globals.series.map( (function (t, n) { var i = []; if (Array.isArray(t)) for (var a = 0; a < t.length; a++) { var r = e.globals.stackedSeriesTotals[a], o = 0; r && (o = 100 * t[a] / r), i.push(o); } else { var s = 100 * t / e.globals.seriesTotals.reduce( (function (e, t) {return e + t;}), 0); i.push(s); } return i; })); }, }, { key: 'getCalculatedRatios', value: function () { var e, t, n, i, a = this.w.globals, r = [], o = 0, s = [], l = .1, c = 0; if (a.yRange = [], a.isMultipleYAxis) for (var u = 0; u < a.minYArr.length; u++) a.yRange.push( Math.abs(a.minYArr[u] - a.maxYArr[u])), s.push( 0); else a.yRange.push(Math.abs(a.minY - a.maxY)); a.xRange = Math.abs(a.maxX - a.minX), a.zRange = Math.abs( a.maxZ - a.minZ); for (var d = 0; d < a.yRange.length; d++) r.push( a.yRange[d] / a.gridHeight); if (t = a.xRange / a.gridWidth, n = Math.abs( a.initialMaxX - a.initialMinX) / a.gridWidth, e = a.yRange / a.gridWidth, i = a.xRange / a.gridHeight, (o = a.zRange / a.gridHeight * 16) || (o = 1), a.minY !== Number.MIN_VALUE && 0 !== Math.abs(a.minY) && (a.hasNegs = !0), a.isMultipleYAxis) { s = []; for (var h = 0; h < r.length; h++) s.push( -a.minYArr[h] / r[h]); } else s.push(-a.minY / r[0]), a.minY !== Number.MIN_VALUE && 0 !== Math.abs(a.minY) && (l = -a.minY / e, c = a.minX / t); return { yRatio: r, invertedYRatio: e, zRatio: o, xRatio: t, initialXRatio: n, invertedXRatio: i, baseLineInvertedY: l, baseLineY: s, baseLineX: c, }; }, }, { key: 'getLogSeries', value: function (e) { var t = this, n = this.w; return n.globals.seriesLog = e.map((function (e, i) { return n.config.yaxis[i] && n.config.yaxis[i].logarithmic ? e.map((function (e) { return null === e ? null : t.getLogVal(e, i); })) : e; })), n.globals.invalidLogScale ? e : n.globals.seriesLog; }, }, { key: 'getLogVal', value: function (e, t) { var n = this.w; return (Math.log(e) - Math.log(n.globals.minYArr[t])) / (Math.log(n.globals.maxYArr[t]) - Math.log(n.globals.minYArr[t])); }, }, { key: 'getLogYRatios', value: function (e) { var t = this, n = this.w, i = this.w.globals; return i.yLogRatio = e.slice(), i.logYRange = i.yRange.map( (function (e, a) { if (n.config.yaxis[a] && t.w.config.yaxis[a].logarithmic) { var r, o = -Number.MAX_VALUE, s = Number.MIN_VALUE; return i.seriesLog.forEach((function (e, t) { e.forEach((function (e) { n.config.yaxis[t] && n.config.yaxis[t].logarithmic && (o = Math.max(e, o), s = Math.min(e, s)); })); })), r = Math.pow(i.yRange[a], Math.abs(s - o) / i.yRange[a]), i.yLogRatio[a] = r / i.gridHeight, r; } })), i.invalidLogScale ? e.slice() : i.yLogRatio; }, }], [ { key: 'checkComboSeries', value: function (e) { var t = !1, n = 0; return e.length && void 0 !== e[0].type && (t = !0, e.forEach((function (e) { 'bar' !== e.type && 'column' !== e.type && 'candlestick' !== e.type || n++; }))), { comboBarCount: n, comboCharts: t }; }, }, { key: 'extendArrayProps', value: function (e, t, n) { return t.yaxis && (t = e.extendYAxis(t, n)), t.annotations && (t.annotations.yaxis && (t = e.extendYAxisAnnotations(t)), t.annotations.xaxis && (t = e.extendXAxisAnnotations(t)), t.annotations.points && (t = e.extendPointAnnotations(t))), t; }, }]), e; }(), _ = function () { function e (n) {t(this, e), this.w = n.w, this.annoCtx = n;} return i(e, [ { key: 'addYaxisAnnotation', value: function (e, t, n) { var i, a = this.w, r = e.strokeDashArray, o = this._getY1Y2('y1', e), s = e.label.text; if (null === e.y2 || void 0 === e.y2) { var l = this.annoCtx.graphics.drawLine(0 + e.offsetX, o + e.offsetY, this._getYAxisAnnotationWidth(e), o + e.offsetY, e.borderColor, r, e.borderWidth); t.appendChild(l.node), e.id && l.node.classList.add(e.id); } else { if ((i = this._getY1Y2('y2', e)) > o) { var c = o; o = i, i = c; } var u = this.annoCtx.graphics.drawRect(0 + e.offsetX, i + e.offsetY, this._getYAxisAnnotationWidth(e), o - i, 0, e.fillColor, e.opacity, 1, e.borderColor, r); u.node.classList.add( 'apexcharts-annotation-rect'), u.attr('clip-path', 'url(#gridRectMask'.concat(a.globals.cuid, ')')), t.appendChild(u.node), e.id && u.node.classList.add(e.id); } var d = 'right' === e.label.position ? a.globals.gridWidth : 0, h = this.annoCtx.graphics.drawText({ x: d + e.label.offsetX, y: (i || o) + e.label.offsetY - 3, text: s, textAnchor: e.label.textAnchor, fontSize: e.label.style.fontSize, fontFamily: e.label.style.fontFamily, fontWeight: e.label.style.fontWeight, foreColor: e.label.style.color, cssClass: 'apexcharts-yaxis-annotation-label '.concat( e.label.style.cssClass, ' '). concat(e.id ? e.id : ''), }); h.attr({ rel: n }), t.appendChild(h.node); }, }, { key: '_getY1Y2', value: function (e, t) { var n, i = 'y1' === e ? t.y : t.y2, a = this.w; if (this.annoCtx.invertAxis) { var r = a.globals.labels.indexOf(i); a.config.xaxis.convertedCatToNumeric && (r = a.globals.categoryLabels.indexOf(i)); var o = a.globals.dom.baseEl.querySelector( '.apexcharts-yaxis-texts-g text:nth-child(' + (r + 1) + ')'); o && (n = parseFloat(o.getAttribute('y'))); } else { var s; s = a.config.yaxis[t.yAxisIndex].logarithmic ? (i = new x(this.annoCtx.ctx).getLogVal(i, t.yAxisIndex)) / a.globals.yLogRatio[t.yAxisIndex] : (i - a.globals.minYArr[t.yAxisIndex]) / (a.globals.yRange[t.yAxisIndex] / a.globals.gridHeight), n = a.globals.gridHeight - s, a.config.yaxis[t.yAxisIndex] && a.config.yaxis[t.yAxisIndex].reversed && (n = s); } return n; }, }, { key: '_getYAxisAnnotationWidth', value: function (e) { var t = this.w; return t.globals.gridWidth, (e.width.indexOf('%') > -1 ? t.globals.gridWidth * parseInt(e.width, 10) / 100 : parseInt(e.width, 10)) + e.offsetX; }, }, { key: 'drawYAxisAnnotations', value: function () { var e = this, t = this.w, n = this.annoCtx.graphics.group( { class: 'apexcharts-yaxis-annotations' }); return t.config.annotations.yaxis.map((function (t, i) { e.addYaxisAnnotation(t, n.node, i); })), n; }, }]), e; }(), w = function () { function e (n) {t(this, e), this.w = n.w, this.annoCtx = n;} return i(e, [ { key: 'addPointAnnotation', value: function (e, t, n) { var i = this.w, a = 0, r = 0, o = 0; this.annoCtx.invertAxis && console.warn( 'Point annotation is not supported in horizontal bar charts.'); var s, l = parseFloat(e.y); if ('string' == typeof e.x) { var c = i.globals.labels.indexOf(e.x); i.config.xaxis.convertedCatToNumeric && (c = i.globals.categoryLabels.indexOf( e.x)), a = this.annoCtx.helpers.getStringX( e.x), null === e.y && (l = i.globals.series[e.seriesIndex][c]); } else a = (e.x - i.globals.minX) / (i.globals.xRange / i.globals.gridWidth); if (s = i.config.yaxis[e.yAxisIndex].logarithmic ? (l = new x(this.annoCtx.ctx).getLogVal(l, e.yAxisIndex)) / i.globals.yLogRatio[e.yAxisIndex] : (l - i.globals.minYArr[e.yAxisIndex]) / (i.globals.yRange[e.yAxisIndex] / i.globals.gridHeight), r = i.globals.gridHeight - s - parseFloat(e.label.style.fontSize) - e.marker.size, o = i.globals.gridHeight - s, i.config.yaxis[e.yAxisIndex] && i.config.yaxis[e.yAxisIndex].reversed && (r = s + parseFloat(e.label.style.fontSize) + e.marker.size, o = s), p.isNumber(a)) { var u = { pSize: e.marker.size, pWidth: e.marker.strokeWidth, pointFillColor: e.marker.fillColor, pointStrokeColor: e.marker.strokeColor, shape: e.marker.shape, pRadius: e.marker.radius, class: 'apexcharts-point-annotation-marker '.concat( e.marker.cssClass, ' '). concat(e.id ? e.id : ''), }, d = this.annoCtx.graphics.drawMarker( a + e.marker.offsetX, o + e.marker.offsetY, u); t.appendChild(d.node); var h = e.label.text ? e.label.text : '', f = this.annoCtx.graphics.drawText({ x: a + e.label.offsetX, y: r + e.label.offsetY, text: h, textAnchor: e.label.textAnchor, fontSize: e.label.style.fontSize, fontFamily: e.label.style.fontFamily, fontWeight: e.label.style.fontWeight, foreColor: e.label.style.color, cssClass: 'apexcharts-point-annotation-label '.concat( e.label.style.cssClass, ' '). concat(e.id ? e.id : ''), }); if (f.attr({ rel: n }), t.appendChild( f.node), e.customSVG.SVG) { var m = this.annoCtx.graphics.group({ class: 'apexcharts-point-annotations-custom-svg ' + e.customSVG.cssClass, }); m.attr({ transform: 'translate('.concat( a + e.customSVG.offsetX, ', '). concat(r + e.customSVG.offsetY, ')'), }), m.node.innerHTML = e.customSVG.SVG, t.appendChild( m.node); } if (e.image.path) { var g = e.image.width ? e.image.width : 20, v = e.image.height ? e.image.height : 20; this.annoCtx.addImage({ x: a + e.image.offsetX - g / 2, y: r + e.image.offsetY - v / 2, width: g, height: v, path: e.image.path, appendTo: '.apexcharts-point-annotations', }); } } }, }, { key: 'drawPointAnnotations', value: function () { var e = this, t = this.w, n = this.annoCtx.graphics.group( { class: 'apexcharts-point-annotations' }); return t.config.annotations.points.map((function (t, i) { e.addPointAnnotation(t, n.node, i); })), n; }, }]), e; }(), k = { 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', }, }, }, M = function () { function e () { t(this, e), this.yAxis = { show: !0, showAlways: !1, showForNullSeries: !0, seriesName: void 0, opposite: !1, reversed: !1, logarithmic: !1, tickAmount: void 0, forceNiceScale: !1, max: void 0, min: void 0, floating: !1, decimalsInFloat: void 0, labels: { show: !0, 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 = { x: 0, y: null, yAxisIndex: 0, seriesIndex: 0, marker: { size: 4, fillColor: '#fff', strokeWidth: 2, strokeColor: '#333', shape: 'circle', offsetX: 0, offsetY: 0, radius: 2, cssClass: '', }, label: { borderColor: '#c2c2c2', borderWidth: 1, borderRadius: 2, text: void 0, textAnchor: 'middle', offsetX: 0, offsetY: 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 = { 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, 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 = { 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, 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 i(e, [ { key: 'init', value: function () { return { annotations: { position: 'front', yaxis: [this.yAxisAnnotation], xaxis: [this.xAxisAnnotation], points: [this.pointAnnotation], texts: [], images: [], shapes: [], }, chart: { animations: { enabled: !0, easing: 'easeinout', speed: 800, animateGradually: { delay: 150, enabled: !0 }, dynamicAnimation: { enabled: !0, speed: 350 }, }, background: 'transparent', locales: [k], defaultLocale: 'en', dropShadow: { enabled: !1, enabledOnSeries: void 0, top: 2, left: 2, blur: 4, color: '#000', opacity: .35, }, events: { animationEnd: void 0, beforeMount: void 0, mounted: void 0, updated: void 0, click: void 0, mouseMove: 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, 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, }, stacked: !1, 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', dateFormatter: function (e) { return new Date(e).toDateString(); }, }, png: { filename: void 0 }, svg: { filename: void 0 }, }, autoSelected: 'zoom', }, type: 'line', width: '100%', zoom: { enabled: !0, type: 'x', autoScaleYaxis: !1, zoomedArea: { fill: { color: '#90CAF9', opacity: .4, }, stroke: { color: '#0D47A1', opacity: .4, width: 1, }, }, }, }, plotOptions: { area: { fillTo: 'origin' }, bar: { horizontal: !1, columnWidth: '70%', barHeight: '70%', distributed: !1, startingShape: 'flat', endingShape: 'flat', rangeBarOverlap: !0, rangeBarGroupRows: !1, colors: { ranges: [], backgroundBarColors: [], backgroundBarOpacity: 1, backgroundBarRadius: 0, }, dataLabels: { position: 'top', maxItems: 100, hideOverflowingLabels: !0, orientation: 'horizontal', }, }, bubble: { minBubbleRadius: void 0, maxBubbleRadius: void 0, }, candlestick: { colors: { upward: '#00B746', downward: '#EF403C', }, wick: { useFillColor: !0 }, }, 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, colorScale: { inverse: !1, ranges: [], min: void 0, max: void 0, }, }, 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 (e) {return e;}, }, value: { show: !0, fontSize: '14px', fontFamily: void 0, fontWeight: 400, color: void 0, offsetY: 16, formatter: function (e) { return e + '%'; }, }, total: { show: !1, label: 'Total', fontSize: '16px', fontWeight: 600, fontFamily: void 0, color: void 0, formatter: function (e) { return e.globals.seriesTotals.reduce( (function (e, t) { return e + t; }), 0) / e.globals.series.length + '%'; }, }, }, }, 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 (e) {return e;}, }, value: { show: !0, fontSize: '20px', fontFamily: void 0, fontWeight: 400, color: void 0, offsetY: 10, formatter: function (e) {return e;}, }, total: { show: !1, showAlways: !1, label: 'Total', fontSize: '16px', fontWeight: 400, fontFamily: void 0, color: void 0, formatter: function (e) { return e.globals.seriesTotals.reduce( (function (e, t) { return e + t; }), 0); }, }, }, }, }, polarArea: { rings: { strokeWidth: 1, strokeColor: '#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 (e) { return null !== e ? e : ''; }, textAnchor: 'middle', distributed: !1, offsetX: 0, offsetY: 0, style: { fontSize: '12px', fontFamily: void 0, fontWeight: 600, colors: void 0, }, background: { enabled: !0, foreColor: '#fff', borderRadius: 2, padding: 4, opacity: .9, borderWidth: 1, borderColor: '#fff', dropShadow: { enabled: !1, top: 1, left: 1, blur: 1, color: '#000', opacity: .45, }, }, dropShadow: { enabled: !1, top: 1, left: 1, blur: 1, color: '#000', opacity: .45, }, }, 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, }, }, 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, labels: { colors: void 0, useSeriesColors: !1 }, markers: { width: 12, height: 12, strokeWidth: 0, fillColors: void 0, strokeColor: '#fff', radius: 12, customHTML: void 0, offsetX: 0, offsetY: 0, onClick: void 0, }, itemMargin: { horizontal: 5, vertical: 2 }, 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', radius: 2, offsetX: 0, offsetY: 0, onClick: void 0, onDblClick: void 0, showNullDataPoints: !0, hover: { size: void 0, sizeOffset: 3 }, }, 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: { normal: { filter: { type: 'none', value: 0, }, }, hover: { filter: { type: 'lighten', value: .1 } }, active: { allowMultipleDataPointsSelection: !1, filter: { type: 'darken', value: .5 }, }, }, 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, }, tooltip: { enabled: !0, enabledOnSeries: void 0, shared: !0, followCursor: !1, intersect: !1, inverseOrder: !1, custom: void 0, fillSeriesColor: !1, theme: 'light', 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 (e) { return e ? e + ': ' : ''; }, }, }, 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, sorted: !1, offsetX: 0, offsetY: 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', }, }, axisBorder: { show: !0, color: '#e0e0e0', width: '100%', height: 1, offsetX: 0, offsetY: 0, }, axisTicks: { show: !0, color: '#e0e0e0', height: 6, offsetX: 0, offsetY: 0, }, tickAmount: void 0, tickPlacement: 'on', min: void 0, max: void 0, range: void 0, floating: !1, 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: .4, }, }, tooltip: { enabled: !0, offsetY: 0, formatter: void 0, style: { fontSize: '12px', fontFamily: void 0 }, }, }, yaxis: this.yAxis, theme: { mode: 'light', palette: 'palette1', monochrome: { enabled: !1, color: '#008FFB', shadeTo: 'light', shadeIntensity: .65, }, }, }; }, }]), e; }(), L = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w, this.graphics = new v( this.ctx), this.w.globals.isBarHorizontal && (this.invertAxis = !0), this.helpers = new y( this), this.xAxisAnnotations = new b( this), this.yAxisAnnotations = new _( this), this.pointsAnnotations = new w( 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 i(e, [ { key: 'drawAxesAnnotations', value: function () { var e = this.w; if (e.globals.axisCharts) { for (var t = this.yAxisAnnotations.drawYAxisAnnotations(), n = this.xAxisAnnotations.drawXAxisAnnotations(), i = this.pointsAnnotations.drawPointAnnotations(), a = e.config.chart.animations.enabled, r = [ t, n, i], o = [n.node, t.node, i.node], s = 0; s < 3; s++) e.globals.dom.elGraphical.add(r[s]), !a || e.globals.resized || e.globals.dataChanged || 'scatter' !== e.config.chart.type && 'bubble' !== e.config.chart.type && e.globals.dataPoints > 1 && o[s].classList.add( 'apexcharts-element-hidden'), e.globals.delayedElements.push( { el: o[s], index: 0 }); this.helpers.annotationsBackground(); } }, }, { key: 'drawImageAnnos', value: function () { var e = this; this.w.config.annotations.images.map( (function (t, n) {e.addImage(t, n);})); }, }, { key: 'drawTextAnnos', value: function () { var e = this; this.w.config.annotations.texts.map( (function (t, n) {e.addText(t, n);})); }, }, { key: 'addXaxisAnnotation', value: function ( e, t, n) { this.xAxisAnnotations.addXaxisAnnotation(e, t, n); }, }, { key: 'addYaxisAnnotation', value: function ( e, t, n) { this.yAxisAnnotations.addYaxisAnnotation(e, t, n); }, }, { key: 'addPointAnnotation', value: function ( e, t, n) { this.pointsAnnotations.addPointAnnotation(e, t, n); }, }, { key: 'addText', value: function (e, t) { var n = e.x, i = e.y, a = e.text, r = e.textAnchor, o = e.foreColor, s = e.fontSize, l = e.fontFamily, c = e.fontWeight, u = e.cssClass, d = e.backgroundColor, h = e.borderWidth, f = e.strokeDashArray, p = e.borderRadius, m = e.borderColor, g = e.appendTo, v = void 0 === g ? '.apexcharts-annotations' : g, y = e.paddingLeft, b = void 0 === y ? 4 : y, x = e.paddingRight, _ = void 0 === x ? 4 : x, w = e.paddingBottom, k = void 0 === w ? 2 : w, M = e.paddingTop, L = void 0 === M ? 2 : M, S = this.w, T = this.graphics.drawText({ x: n, y: i, text: a, textAnchor: r || 'start', fontSize: s || '12px', fontWeight: c || 'regular', fontFamily: l || S.config.chart.fontFamily, foreColor: o || S.config.chart.foreColor, cssClass: u, }), A = S.globals.dom.baseEl.querySelector(v); A && A.appendChild(T.node); var D = T.bbox(); if (a) { var C = this.graphics.drawRect(D.x - b, D.y - L, D.width + b + _, D.height + k + L, p, d || 'transparent', 1, h, m, f); A.insertBefore(C.node, T.node); } }, }, { key: 'addImage', value: function (e, t) { var n = this.w, i = e.path, a = e.x, r = void 0 === a ? 0 : a, o = e.y, s = void 0 === o ? 0 : o, l = e.width, c = void 0 === l ? 20 : l, u = e.height, d = void 0 === u ? 20 : u, h = e.appendTo, f = void 0 === h ? '.apexcharts-annotations' : h, p = n.globals.dom.Paper.image(i); p.size(c, d).move(r, s); var m = n.globals.dom.baseEl.querySelector(f); m && m.appendChild(p.node); }, }, { key: 'addXaxisAnnotationExternal', value: function (e, t, n) { return this.addAnnotationExternal({ params: e, pushToMemory: t, context: n, type: 'xaxis', contextMethod: n.addXaxisAnnotation, }), n; }, }, { key: 'addYaxisAnnotationExternal', value: function (e, t, n) { return this.addAnnotationExternal({ params: e, pushToMemory: t, context: n, type: 'yaxis', contextMethod: n.addYaxisAnnotation, }), n; }, }, { key: 'addPointAnnotationExternal', value: function (e, t, n) { return void 0 === this.invertAxis && (this.invertAxis = n.w.globals.isBarHorizontal), this.addAnnotationExternal( { params: e, pushToMemory: t, context: n, type: 'point', contextMethod: n.addPointAnnotation, }), n; }, }, { key: 'addAnnotationExternal', value: function (e) { var t = e.params, n = e.pushToMemory, i = e.context, a = e.type, r = e.contextMethod, o = i, s = o.w, l = s.globals.dom.baseEl.querySelector( '.apexcharts-'.concat(a, '-annotations')), c = l.childNodes.length + 1, u = new M, d = Object.assign({}, 'xaxis' === a ? u.xAxisAnnotation : 'yaxis' === a ? u.yAxisAnnotation : u.pointAnnotation), h = p.extend(d, t); switch (a) { case'xaxis': this.addXaxisAnnotation(h, l, c); break; case'yaxis': this.addYaxisAnnotation(h, l, c); break; case'point': this.addPointAnnotation(h, l, c); } var f = s.globals.dom.baseEl.querySelector( '.apexcharts-'.concat(a, '-annotations .apexcharts-'). concat(a, '-annotation-label[rel=\''). concat(c, '\']')), m = this.helpers.addBackgroundToAnno(f, h); return m && l.insertBefore(m.node, f), n && s.globals.memory.methodsToExec.push({ context: o, id: h.id ? h.id : p.randomId(), method: r, label: 'addAnnotation', params: t, }), i; }, }, { key: 'clearAnnotations', value: function (e) { var t = e.w, n = t.globals.dom.baseEl.querySelectorAll( '.apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations'); t.globals.memory.methodsToExec.map((function (e, n) { 'addText' !== e.label && 'addAnnotation' !== e.label || t.globals.memory.methodsToExec.splice(n, 1); })), n = p.listToArray(n), Array.prototype.forEach.call(n, (function (e) { for (; e.firstChild;) e.removeChild(e.firstChild); })); }, }, { key: 'removeAnnotation', value: function (e, t) { var n = e.w, i = n.globals.dom.baseEl.querySelectorAll( '.'.concat(t)); i && (n.globals.memory.methodsToExec.map((function (e, i) { e.id === t && n.globals.memory.methodsToExec.splice(i, 1); })), Array.prototype.forEach.call(i, (function (e) {e.parentElement.removeChild(e);}))); }, }]), e; }(), S = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w, this.opts = null, this.seriesIndex = 0; } return i(e, [ { key: 'clippedImgArea', value: function (e) { var t = this.w, n = t.config, i = parseInt(t.globals.gridWidth, 10), a = parseInt(t.globals.gridHeight, 10), r = i > a ? i : a, o = e.image, s = 0, l = 0; void 0 === e.width && void 0 === e.height ? void 0 !== n.fill.image.width && void 0 !== n.fill.image.height ? (s = n.fill.image.width + 1, l = n.fill.image.height) : (s = r + 1, l = r) : (s = e.width, l = e.height); var c = document.createElementNS(t.globals.SVGNS, 'pattern'); v.setAttrs(c, { id: e.patternID, patternUnits: e.patternUnits ? e.patternUnits : 'userSpaceOnUse', width: s + 'px', height: l + 'px', }); var u = document.createElementNS(t.globals.SVGNS, 'image'); c.appendChild(u), u.setAttributeNS(window.SVG.xlink, 'href', o), v.setAttrs(u, { x: 0, y: 0, preserveAspectRatio: 'none', width: s + 'px', height: l + 'px', }), u.style.opacity = e.opacity, t.globals.dom.elDefs.node.appendChild( c); }, }, { key: 'getSeriesIndex', value: function (e) { var t = this.w; return ('bar' === t.config.chart.type || 'rangeBar' === t.config.chart.type) && t.config.plotOptions.bar.distributed || 'heatmap' === t.config.chart.type || 'treemap' === t.config.chart.type ? this.seriesIndex = e.seriesNumber : this.seriesIndex = e.seriesNumber % t.globals.series.length, this.seriesIndex; }, }, { key: 'fillPath', value: function (e) { var t = this.w; this.opts = e; var n, i, a, r = this.w.config; this.seriesIndex = this.getSeriesIndex(e); var o = this.getFillColors()[this.seriesIndex]; void 0 !== t.globals.seriesColors[this.seriesIndex] && (o = t.globals.seriesColors[this.seriesIndex]), 'function' == typeof o && (o = o({ seriesIndex: this.seriesIndex, dataPointIndex: e.dataPointIndex, value: e.value, w: t, })); var s = this.getFillType(this.seriesIndex), l = Array.isArray(r.fill.opacity) ? r.fill.opacity[this.seriesIndex] : r.fill.opacity; e.color && (o = e.color); var c = o; if (-1 === o.indexOf('rgb') ? o.length < 9 && (c = p.hexToRgba(o, l)) : o.indexOf('rgba') > -1 && (l = p.getOpacityFromRGBA(o)), e.opacity && (l = e.opacity), 'pattern' === s && (i = this.handlePatternFill(i, o, l, c)), 'gradient' === s && (a = this.handleGradientFill(o, l, this.seriesIndex)), 'image' === s) { var u = r.fill.image.src, d = e.patternID ? e.patternID : ''; this.clippedImgArea({ opacity: l, image: Array.isArray(u) ? e.seriesNumber < u.length ? u[e.seriesNumber] : u[0] : u, width: e.width ? e.width : void 0, height: e.height ? e.height : void 0, patternUnits: e.patternUnits, patternID: 'pattern'.concat(t.globals.cuid). concat(e.seriesNumber + 1). concat(d), }), n = 'url(#pattern'.concat(t.globals.cuid). concat(e.seriesNumber + 1). concat(d, ')'); } else n = 'gradient' === s ? a : 'pattern' === s ? i : c; return e.solid && (n = c), n; }, }, { key: 'getFillType', value: function (e) { var t = this.w; return Array.isArray(t.config.fill.type) ? t.config.fill.type[e] : t.config.fill.type; }, }, { key: 'getFillColors', value: function () { var e = this.w, t = e.config, n = this.opts, i = []; return e.globals.comboCharts ? 'line' === e.config.series[this.seriesIndex].type ? Array.isArray( e.globals.stroke.colors) ? i = e.globals.stroke.colors : i.push(e.globals.stroke.colors) : Array.isArray( e.globals.fill.colors) ? i = e.globals.fill.colors : i.push(e.globals.fill.colors) : 'line' === t.chart.type ? Array.isArray(e.globals.stroke.colors) ? i = e.globals.stroke.colors : i.push(e.globals.stroke.colors) : Array.isArray( e.globals.fill.colors) ? i = e.globals.fill.colors : i.push(e.globals.fill.colors), void 0 !== n.fillColors && (i = [], Array.isArray(n.fillColors) ? i = n.fillColors.slice() : i.push(n.fillColors)), i; }, }, { key: 'handlePatternFill', value: function (e, t, n, i) { var a = this.w.config, r = this.opts, o = new v(this.ctx), s = void 0 === a.fill.pattern.strokeWidth ? Array.isArray(a.stroke.width) ? a.stroke.width[this.seriesIndex] : a.stroke.width : Array.isArray(a.fill.pattern.strokeWidth) ? a.fill.pattern.strokeWidth[this.seriesIndex] : a.fill.pattern.strokeWidth, l = t; return Array.isArray(a.fill.pattern.style) ? void 0 !== a.fill.pattern.style[r.seriesNumber] ? o.drawPattern(a.fill.pattern.style[r.seriesNumber], a.fill.pattern.width, a.fill.pattern.height, l, s, n) : i : o.drawPattern(a.fill.pattern.style, a.fill.pattern.width, a.fill.pattern.height, l, s, n); }, }, { key: 'handleGradientFill', value: function (e, t, n) { var i, a = this.w.config, r = this.opts, o = new v(this.ctx), s = new p, l = a.fill.gradient.type, c = e, u = void 0 === a.fill.gradient.opacityFrom ? t : Array.isArray(a.fill.gradient.opacityFrom) ? a.fill.gradient.opacityFrom[n] : a.fill.gradient.opacityFrom; c.indexOf('rgba') > -1 && (u = p.getOpacityFromRGBA(c)); var d = void 0 === a.fill.gradient.opacityTo ? t : Array.isArray(a.fill.gradient.opacityTo) ? a.fill.gradient.opacityTo[n] : a.fill.gradient.opacityTo; if (void 0 === a.fill.gradient.gradientToColors || 0 === a.fill.gradient.gradientToColors.length) i = 'dark' === a.fill.gradient.shade ? s.shadeColor( -1 * parseFloat(a.fill.gradient.shadeIntensity), e.indexOf('rgb') > -1 ? p.rgb2hex(e) : e) : s.shadeColor( parseFloat(a.fill.gradient.shadeIntensity), e.indexOf('rgb') > -1 ? p.rgb2hex(e) : e); else if (a.fill.gradient.gradientToColors[r.seriesNumber]) { var h = a.fill.gradient.gradientToColors[r.seriesNumber]; i = h, h.indexOf('rgba') > -1 && (d = p.getOpacityFromRGBA(h)); } else i = e; if (a.fill.gradient.inverseColors) { var f = c; c = i, i = f; } return c.indexOf('rgb') > -1 && (c = p.rgb2hex(c)), i.indexOf('rgb') > -1 && (i = p.rgb2hex(i)), o.drawGradient(l, c, i, u, d, r.size, a.fill.gradient.stops, a.fill.gradient.colorStops, n); }, }]), e; }(), T = function () { function e (n, i) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'setGlobalMarkerSize', value: function () { var e = this.w; if (e.globals.markers.size = Array.isArray( e.config.markers.size) ? e.config.markers.size : [e.config.markers.size], e.globals.markers.size.length > 0) { if (e.globals.markers.size.length < e.globals.series.length + 1) for (var t = 0; t <= e.globals.series.length; t++) void 0 === e.globals.markers.size[t] && e.globals.markers.size.push(e.globals.markers.size[0]); } else e.globals.markers.size = e.config.series.map( (function (t) {return e.config.markers.size;})); }, }, { key: 'plotChartMarkers', value: function (e, t, n, i) { var a, r = arguments.length > 4 && void 0 !== arguments[4] && arguments[4], o = this.w, s = t, l = e, c = null, u = new v(this.ctx); if ((o.globals.markers.size[t] > 0 || r) && (c = u.group( { class: r ? '' : 'apexcharts-series-markers' })).attr( 'clip-path', 'url(#gridRectMarkerMask'.concat(o.globals.cuid, ')')), Array.isArray(l.x)) for (var d = 0; d < l.x.length; d++) { var h = n; 1 === n && 0 === d && (h = 0), 1 === n && 1 === d && (h = 1); var f = 'apexcharts-marker'; 'line' !== o.config.chart.type && 'area' !== o.config.chart.type || o.globals.comboCharts || o.config.tooltip.intersect || (f += ' no-pointer-events'); var g = Array.isArray(o.config.markers.size) ? o.globals.markers.size[t] > 0 : o.config.markers.size > 0; if (g || r) { p.isNumber(l.y[d]) ? f += ' w'.concat(p.randomId()) : f = 'apexcharts-nullpoint'; var y = this.getMarkerConfig(f, t, h); o.config.series[s].data[h] && (o.config.series[s].data[h].fillColor && (y.pointFillColor = o.config.series[s].data[h].fillColor), o.config.series[s].data[h].strokeColor && (y.pointStrokeColor = o.config.series[s].data[h].strokeColor)), i && (y.pSize = i), (a = u.drawMarker(l.x[d], l.y[d], y)).attr('rel', h), a.attr('j', h), a.attr( 'index', t), a.node.setAttribute( 'default-marker-size', y.pSize); var b = new m(this.ctx); b.setSelectionFilter(a, t, h), this.addEvents( a), c && c.add(a); } else void 0 === o.globals.pointsArray[t] && (o.globals.pointsArray[t] = []), o.globals.pointsArray[t].push( [l.x[d], l.y[d]]); } return c; }, }, { key: 'getMarkerConfig', value: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, i = this.w, a = this.getMarkerStyle(t), r = i.globals.markers.size[t], o = i.config.markers; return null !== n && o.discrete.length && o.discrete.map( (function (e) { e.seriesIndex === t && e.dataPointIndex === n && (a.pointStrokeColor = e.strokeColor, a.pointFillColor = e.fillColor, r = e.size); })), { pSize: r, pRadius: o.radius, pWidth: Array.isArray(o.strokeWidth) ? o.strokeWidth[t] : o.strokeWidth, pointStrokeColor: a.pointStrokeColor, pointFillColor: a.pointFillColor, shape: Array.isArray(o.shape) ? o.shape[t] : o.shape, class: e, pointStrokeOpacity: Array.isArray(o.strokeOpacity) ? o.strokeOpacity[t] : o.strokeOpacity, pointStrokeDashArray: Array.isArray(o.strokeDashArray) ? o.strokeDashArray[t] : o.strokeDashArray, pointFillOpacity: Array.isArray(o.fillOpacity) ? o.fillOpacity[t] : o.fillOpacity, seriesIndex: t, }; }, }, { key: 'addEvents', value: function (e) { var t = this.w, n = new v(this.ctx); e.node.addEventListener('mouseenter', n.pathMouseEnter.bind(this.ctx, e)), e.node.addEventListener('mouseleave', n.pathMouseLeave.bind(this.ctx, e)), e.node.addEventListener('mousedown', n.pathMouseDown.bind(this.ctx, e)), e.node.addEventListener('click', t.config.markers.onClick), e.node.addEventListener( 'dblclick', t.config.markers.onDblClick), e.node.addEventListener( 'touchstart', n.pathMouseDown.bind(this.ctx, e), { passive: !0 }); }, }, { key: 'getMarkerStyle', value: function (e) { var t = this.w, n = t.globals.markers.colors, i = t.config.markers.strokeColor || t.config.markers.strokeColors; return { pointStrokeColor: Array.isArray(i) ? i[e] : i, pointFillColor: Array.isArray(n) ? n[e] : n, }; }, }]), e; }(), A = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w, this.initialAnim = this.w.config.chart.animations.enabled, this.dynamicAnim = this.initialAnim && this.w.config.chart.animations.dynamicAnimation.enabled; } return i(e, [ { key: 'draw', value: function (e, t, n) { var i = this.w, a = new v(this.ctx), r = n.realIndex, o = n.pointsPos, s = n.zRatio, l = n.elParent, c = a.group({ class: 'apexcharts-series-markers apexcharts-series-'.concat( i.config.chart.type), }); if (c.attr('clip-path', 'url(#gridRectMarkerMask'.concat(i.globals.cuid, ')')), Array.isArray(o.x)) for (var u = 0; u < o.x.length; u++) { var d = t + 1, h = !0; 0 === t && 0 === u && (d = 0), 0 === t && 1 === u && (d = 1); var f = 0, p = i.globals.markers.size[r]; if (s !== 1 / 0) { p = i.globals.seriesZ[r][d] / s; var m = i.config.plotOptions.bubble; m.minBubbleRadius && p < m.minBubbleRadius && (p = m.minBubbleRadius), m.maxBubbleRadius && p > m.maxBubbleRadius && (p = m.maxBubbleRadius); } i.config.chart.animations.enabled || (f = p); var g = o.x[u], y = o.y[u]; if (f = f || 0, null !== y && void 0 !== i.globals.series[r][d] || (h = !1), h) { var b = this.drawPoint(g, y, f, p, r, d, t); c.add(b); } l.add(c); } }, }, { key: 'drawPoint', value: function (e, t, n, i, a, r, o) { var s = this.w, l = a, c = new g(this.ctx), u = new m(this.ctx), d = new S(this.ctx), h = new T(this.ctx), f = new v(this.ctx), p = h.getMarkerConfig('apexcharts-marker', l), y = d.fillPath({ seriesNumber: a, dataPointIndex: r, patternUnits: 'objectBoundingBox', value: s.globals.series[a][o], }), b = f.drawCircle(n); if (s.config.series[l].data[r] && s.config.series[l].data[r].fillColor && (y = s.config.series[l].data[r].fillColor), b.attr({ cx: e, cy: t, fill: y, stroke: p.pointStrokeColor, r: i, 'stroke-width': p.pWidth, 'stroke-dasharray': p.pointStrokeDashArray, 'stroke-opacity': p.pointStrokeOpacity, }), s.config.chart.dropShadow.enabled) { var x = s.config.chart.dropShadow; u.dropShadow(b, x, a); } if (this.initialAnim && !s.globals.dataChanged && !s.globals.resized) { var _ = s.config.chart.animations.speed; c.animateCircleRadius(b, 0, i, _, s.globals.easing, (function () { window.setTimeout( (function () {c.animationCompleted(b);}), 100); })); } if (s.globals.dataChanged) if (this.dynamicAnim) { var w, k, M, L, A = s.config.chart.animations.dynamicAnimation.speed; null != (L = s.globals.previousPaths[a] && s.globals.previousPaths[a][o]) && (w = L.x, k = L.y, M = void 0 !== L.r ? L.r : i); for (var D = 0; D < s.globals.collapsedSeries.length; D++) s.globals.collapsedSeries[D].index === a && (A = 1, i = 0); 0 === e && 0 === t && (i = 0), c.animateCircle(b, { cx: w, cy: k, r: M }, { cx: e, cy: t, r: i }, A, s.globals.easing); } else b.attr({ r: i }); return b.attr({ rel: r, j: r, index: a, 'default-marker-size': i, }), u.setSelectionFilter(b, a, r), h.addEvents( b), b.node.classList.add('apexcharts-marker'), b; }, }, { key: 'centerTextInBubble', value: function (e) { var t = this.w; return { y: e += parseInt(t.config.dataLabels.style.fontSize, 10) / 4, }; }, }]), e; }(), D = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'dataLabelsCorrection', value: function (e, t, n, i, a, r, o) { var s = this.w, l = !1, c = new v(this.ctx).getTextRects(n, o), u = c.width, d = c.height; void 0 === s.globals.dataLabelsRects[i] && (s.globals.dataLabelsRects[i] = []), s.globals.dataLabelsRects[i].push( { x: e, y: t, width: u, height: d }); var h = s.globals.dataLabelsRects[i].length - 2, f = void 0 !== s.globals.lastDrawnDataLabelsIndexes[i] ? s.globals.lastDrawnDataLabelsIndexes[i][s.globals.lastDrawnDataLabelsIndexes[i].length - 1] : 0; if (void 0 !== s.globals.dataLabelsRects[i][h]) { var p = s.globals.dataLabelsRects[i][f]; (e > p.x + p.width + 2 || t > p.y + p.height + 2 || e + u < p.x) && (l = !0); } return (0 === a || r) && (l = !0), { x: e, y: t, textRects: c, drawnextLabel: l, }; }, }, { key: 'drawDataLabel', value: function (e, t, n) { var i = this, a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : 2, r = this.w, o = new v(this.ctx), s = r.config.dataLabels, l = 0, c = 0, u = n, d = null; if (!s.enabled || !Array.isArray(e.x)) return d; d = o.group({ class: 'apexcharts-data-labels' }); for (var h = 0; h < e.x.length; h++) if (l = e.x[h] + s.offsetX, c = e.y[h] + s.offsetY + a, !isNaN(l)) { 1 === n && 0 === h && (u = 0), 1 === n && 1 === h && (u = 1); var f = r.globals.series[t][u], p = '', m = function (e) { return r.config.dataLabels.formatter(e, { ctx: i.ctx, seriesIndex: t, dataPointIndex: u, w: r, }); }; if ('bubble' === r.config.chart.type) { p = m(f = r.globals.seriesZ[t][u]), c = e.y[h]; var g = new A(this.ctx), y = g.centerTextInBubble(c, t, u); c = y.y; } else void 0 !== f && (p = m(f)); this.plotDataLabelsText({ x: l, y: c, text: p, i: t, j: u, parent: d, offsetCorrection: !0, dataLabelsConfig: r.config.dataLabels, }); } return d; }, }, { key: 'plotDataLabelsText', value: function (e) { var t = this.w, n = new v(this.ctx), i = e.x, a = e.y, r = e.i, o = e.j, s = e.text, l = e.textAnchor, c = e.fontSize, u = e.parent, d = e.dataLabelsConfig, h = e.color, f = e.alwaysDrawDataLabel, p = e.offsetCorrection; if (!(Array.isArray(t.config.dataLabels.enabledOnSeries) && t.config.dataLabels.enabledOnSeries.indexOf(r) < 0)) { var g = { x: i, y: a, drawnextLabel: !0 }; p && (g = this.dataLabelsCorrection(i, a, s, r, o, f, parseInt(d.style.fontSize, 10))), t.globals.zoomed || (i = g.x, a = g.y), g.textRects; var y = t.globals.dataLabels.style.colors[r]; (('bar' === t.config.chart.type || 'rangeBar' === t.config.chart.type) && t.config.plotOptions.bar.distributed || t.config.dataLabels.distributed) && (y = t.globals.dataLabels.style.colors[o]), h && (y = h); var b = d.offsetX, x = d.offsetY; if ('bar' !== t.config.chart.type && 'rangeBar' !== t.config.chart.type || (b = 0, x = 0), g.drawnextLabel) { var _ = n.drawText({ width: 100, height: parseInt(d.style.fontSize, 10), x: i + b, y: a + x, foreColor: y, textAnchor: l || d.textAnchor, text: s, fontSize: c || d.style.fontSize, fontFamily: d.style.fontFamily, fontWeight: d.style.fontWeight || 'normal', }); if (_.attr({ class: 'apexcharts-datalabel', cx: i, cy: a, }), d.dropShadow.enabled) { var w = d.dropShadow; new m(this.ctx).dropShadow(_, w); } u.add(_), void 0 === t.globals.lastDrawnDataLabelsIndexes[r] && (t.globals.lastDrawnDataLabelsIndexes[r] = []), t.globals.lastDrawnDataLabelsIndexes[r].push( o); } } }, }, { key: 'addBackgroundToDataLabel', value: function (e, t) { var n = this.w, i = n.config.dataLabels.background, a = i.padding, r = i.padding / 2, o = t.width, s = t.height, l = new v(this.ctx).drawRect(t.x - a, t.y - r / 2, o + 2 * a, s + r, i.borderRadius, 'transparent' === n.config.chart.background ? '#fff' : n.config.chart.background, i.opacity, i.borderWidth, i.borderColor); return i.dropShadow.enabled && new m(this.ctx).dropShadow(l, i.dropShadow), l; }, }, { key: 'dataLabelsBackground', value: function () { var e = this.w; if ('bubble' !== e.config.chart.type) for (var t = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-datalabels text'), n = 0; n < t.length; n++) { var i = t[n], a = i.getBBox(), r = null; if (a.width && a.height && (r = this.addBackgroundToDataLabel(i, a)), r) { i.parentNode.insertBefore(r.node, i); var o = i.getAttribute('fill'); !e.config.chart.animations.enabled || e.globals.resized || e.globals.dataChanged ? r.attr( { fill: o }) : r.animate(). attr({ fill: o }), i.setAttribute('fill', e.config.dataLabels.background.foreColor); } } }, }, { key: 'bringForward', value: function () { for (var e = this.w, t = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-datalabels'), n = e.globals.dom.baseEl.querySelector( '.apexcharts-plot-series:last-child'), i = 0; i < t.length; i++) n && n.insertBefore(t[i], n.nextSibling); }, }]), e; }(), C = function () { function e (n) {t(this, e), this.w = n.w, this.barCtx = n;} return i(e, [ { key: 'handleBarDataLabels', value: function (e) { var t = e.x, n = e.y, i = e.y1, a = e.y2, r = e.i, o = e.j, s = e.realIndex, l = e.series, c = e.barHeight, u = e.barWidth, d = e.barYPosition, h = e.visibleSeries, f = e.renderedPath, p = this.w, m = new v(this.barCtx.ctx), g = Array.isArray(this.barCtx.strokeWidth) ? this.barCtx.strokeWidth[s] : this.barCtx.strokeWidth, y = t + parseFloat(u * h), b = n + parseFloat(c * h); p.globals.isXNumeric && !p.globals.isBarHorizontal && (y = t + parseFloat(u * (h + 1)), b = n + parseFloat(c * (h + 1)) - g); var x, _ = t, w = n, k = p.config.dataLabels, M = this.barCtx.barOptions.dataLabels; void 0 !== d && this.barCtx.isTimelineBar && (b = d, w = d); var L = k.offsetX, S = k.offsetY, T = { width: 0, height: 0 }; if (p.config.dataLabels.enabled) { var A = this.barCtx.series[r][o]; T = m.getTextRects(p.globals.yLabelFormatters[0](A), parseFloat(k.style.fontSize)); } var D = { x: t, y: n, i: r, j: o, renderedPath: f, bcx: y, bcy: b, barHeight: c, barWidth: u, textRects: T, strokeWidth: g, dataLabelsX: _, dataLabelsY: w, barDataLabelsConfig: M, offX: L, offY: S, }; return x = this.barCtx.isHorizontal ? this.calculateBarsDataLabelsPosition(D) : this.calculateColumnsDataLabelsPosition(D), f.attr({ cy: x.bcy, cx: x.bcx, j: o, val: l[r][o], barHeight: c, barWidth: u, }), this.drawCalculatedDataLabels({ x: x.dataLabelsX, y: x.dataLabelsY, val: this.barCtx.isTimelineBar ? [i, a] : l[r][o], i: s, j: o, barWidth: u, barHeight: c, textRects: T, dataLabelsConfig: k, }); }, }, { key: 'calculateColumnsDataLabelsPosition', value: function (e) { var t, n = this.w, i = e.i, a = e.j, r = e.y, o = e.bcx, s = e.barWidth, l = e.barHeight, c = e.textRects, u = e.dataLabelsY, d = e.barDataLabelsConfig, h = e.strokeWidth, f = e.offX, p = e.offY; l = Math.abs(l); var m = 'vertical' === n.config.plotOptions.bar.dataLabels.orientation; o -= h / 2; var g = n.globals.gridWidth / n.globals.dataPoints; t = n.globals.isXNumeric ? o - s / 2 + f : o - g + s / 2 + f, m && (t = t + c.height / 2 - h / 2 - 2); var v = this.barCtx.series[i][a] < 0, y = r; switch (this.barCtx.isReversed && (y = r - l + (v ? 2 * l : 0), r -= l), d.position) { case'center': u = m ? v ? y + l / 2 + p : y + l / 2 - p : v ? y - l / 2 + c.height / 2 + p : y + l / 2 + c.height / 2 - p; break; case'bottom': u = m ? v ? y + l + p : y + l - p : v ? y - l + c.height + h + p : y + l - c.height / 2 + h - p; break; case'top': u = m ? v ? y + p : y - p : v ? y - c.height / 2 - p : y + c.height + p; } return n.config.chart.stacked || (u < 0 ? u = 0 + h : u + c.height / 3 > n.globals.gridHeight && (u = n.globals.gridHeight - h)), { bcx: o, bcy: r, dataLabelsX: t, dataLabelsY: u, }; }, }, { key: 'calculateBarsDataLabelsPosition', value: function (e) { var t = this.w, n = e.x, i = e.i, a = e.j, r = e.bcy, o = e.barHeight, s = e.barWidth, l = e.textRects, c = e.dataLabelsX, u = e.strokeWidth, d = e.barDataLabelsConfig, h = e.offX, f = e.offY, p = t.globals.gridHeight / t.globals.dataPoints; s = Math.abs(s); var m = r - (this.barCtx.isTimelineBar ? 0 : p) + o / 2 + l.height / 2 + f - 3, g = this.barCtx.series[i][a] < 0, v = n; switch (this.barCtx.isReversed && (v = n + s - (g ? 2 * s : 0), n = t.globals.gridWidth - s), d.position) { case'center': c = g ? v + s / 2 - h : Math.max(l.width / 2, v - s / 2) + h; break; case'bottom': c = g ? v + s - u - Math.round(l.width / 2) - h : v - s + u + Math.round(l.width / 2) + h; break; case'top': c = g ? v - u + Math.round(l.width / 2) - h : v - u - Math.round(l.width / 2) + h; } return t.config.chart.stacked || (c < 0 ? c = c + l.width + u : c + l.width / 2 > t.globals.gridWidth && (c = t.globals.gridWidth - l.width - u)), { bcx: n, bcy: r, dataLabelsX: c, dataLabelsY: m, }; }, }, { key: 'drawCalculatedDataLabels', value: function (e) { var t = e.x, n = e.y, i = e.val, a = e.i, r = e.j, s = e.textRects, l = e.barHeight, c = e.barWidth, u = e.dataLabelsConfig, d = this.w, h = 'rotate(0)'; 'vertical' === d.config.plotOptions.bar.dataLabels.orientation && (h = 'rotate(-90, '.concat(t, ', ').concat(n, ')')); var f = new D(this.barCtx.ctx), p = new v(this.barCtx.ctx), m = u.formatter, g = null, y = d.globals.collapsedSeriesIndices.indexOf(a) > -1; if (u.enabled && !y) { g = p.group( { class: 'apexcharts-data-labels', transform: h }); var b = ''; void 0 !== i && (b = m(i, { seriesIndex: a, dataPointIndex: r, w: d })), 0 === i && d.config.chart.stacked && (b = ''); var x = d.globals.series[a][r] <= 0, _ = d.config.plotOptions.bar.dataLabels.position; 'vertical' === d.config.plotOptions.bar.dataLabels.orientation && ('top' === _ && (u.textAnchor = x ? 'end' : 'start'), 'center' === _ && (u.textAnchor = 'middle'), 'bottom' === _ && (u.textAnchor = x ? 'end' : 'start')), this.barCtx.isTimelineBar && this.barCtx.barOptions.dataLabels.hideOverflowingLabels && c < p.getTextRects(b, parseFloat(u.style.fontSize)).width && (b = ''), d.config.chart.stacked && this.barCtx.barOptions.dataLabels.hideOverflowingLabels && (this.barCtx.isHorizontal ? (c > 0 && s.width / 1.6 > c || c < 0 && s.width / 1.6 < c) && (b = '') : s.height / 1.6 > l && (b = '')); var w = o({}, u); this.barCtx.isHorizontal && i < 0 && ('start' === u.textAnchor ? w.textAnchor = 'end' : 'end' === u.textAnchor && (w.textAnchor = 'start')), f.plotDataLabelsText({ x: t, y: n, text: b, i: a, j: r, parent: g, dataLabelsConfig: w, alwaysDrawDataLabel: !0, offsetCorrection: !0, }); } return g; }, }]), e; }(), E = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w, this.legendInactiveClass = 'legend-mouseover-inactive'; } return i(e, [ { key: 'getAllSeriesEls', value: function () { return this.w.globals.dom.baseEl.getElementsByClassName( 'apexcharts-series'); }, }, { key: 'getSeriesByName', value: function (e) { return this.w.globals.dom.baseEl.querySelector( '.apexcharts-inner .apexcharts-series[seriesName=\''.concat( p.escapeString(e), '\']')); }, }, { key: 'isSeriesHidden', value: function (e) { var t = this.getSeriesByName(e), n = parseInt(t.getAttribute('data:realIndex'), 10); return { isHidden: t.classList.contains( 'apexcharts-series-collapsed'), realIndex: n, }; }, }, { key: 'addCollapsedClassToSeries', value: function (e, t) { var n = this.w; function i (n) { for (var i = 0; i < n.length; i++) n[i].index === t && e.node.classList.add('apexcharts-series-collapsed'); } i(n.globals.collapsedSeries), i( n.globals.ancillaryCollapsedSeries); }, }, { key: 'toggleSeries', value: function (e) { var t = this.isSeriesHidden(e); return this.ctx.legend.legendHelpers.toggleDataSeries( t.realIndex, t.isHidden), t.isHidden; }, }, { key: 'showSeries', value: function (e) { var t = this.isSeriesHidden(e); t.isHidden && this.ctx.legend.legendHelpers.toggleDataSeries(t.realIndex, !0); }, }, { key: 'hideSeries', value: function (e) { var t = this.isSeriesHidden(e); t.isHidden || this.ctx.legend.legendHelpers.toggleDataSeries(t.realIndex, !1); }, }, { key: 'resetSeries', value: function () { var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0], t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], i = this.w, a = p.clone(i.globals.initialSeries); i.globals.previousPaths = [], n ? (i.globals.collapsedSeries = [], i.globals.ancillaryCollapsedSeries = [], i.globals.collapsedSeriesIndices = [], i.globals.ancillaryCollapsedSeriesIndices = []) : a = this.emptyCollapsedSeries( a), i.config.series = a, e && (t && (i.globals.zoomed = !1, this.ctx.updateHelpers.revertDefaultAxisMinMax()), this.ctx.updateHelpers._updateSeries( a, i.config.chart.animations.dynamicAnimation.enabled)); }, }, { key: 'emptyCollapsedSeries', value: function (e) { for (var t = this.w, n = 0; n < e.length; n++) t.globals.collapsedSeriesIndices.indexOf(n) > -1 && (e[n].data = []); return e; }, }, { key: 'toggleSeriesOnHover', value: function (e, t) { var n = this.w, i = n.globals.dom.baseEl.querySelectorAll( '.apexcharts-series, .apexcharts-datalabels'); if ('mousemove' === e.type) { var a = parseInt(t.getAttribute('rel'), 10) - 1, r = null, o = null; n.globals.axisCharts || 'radialBar' === n.config.chart.type ? n.globals.axisCharts ? (r = n.globals.dom.baseEl.querySelector( '.apexcharts-series[data\\:realIndex=\''.concat( a, '\']')), o = n.globals.dom.baseEl.querySelector( '.apexcharts-datalabels[data\\:realIndex=\''.concat( a, '\']'))) : r = n.globals.dom.baseEl.querySelector( '.apexcharts-series[rel=\''.concat(a + 1, '\']')) : r = n.globals.dom.baseEl.querySelector( '.apexcharts-series[rel=\''.concat(a + 1, '\'] path')); for (var s = 0; s < i.length; s++) i[s].classList.add( this.legendInactiveClass); null !== r && (n.globals.axisCharts || r.parentNode.classList.remove( this.legendInactiveClass), r.classList.remove( this.legendInactiveClass), null !== o && o.classList.remove(this.legendInactiveClass)); } else if ('mouseout' === e.type) for (var l = 0; l < i.length; l++) i[l].classList.remove( this.legendInactiveClass); }, }, { key: 'highlightRangeInSeries', value: function (e, t) { var n = this, i = this.w, a = i.globals.dom.baseEl.getElementsByClassName( 'apexcharts-heatmap-rect'), r = function (e) { for (var t = 0; t < a.length; t++) a[t].classList[e]( n.legendInactiveClass); }; if ('mousemove' === e.type) { var o = parseInt(t.getAttribute('rel'), 10) - 1; r('add'), function (e) { for (var t = 0; t < a.length; t++) { var i = parseInt(a[t].getAttribute('val'), 10); i >= e.from && i <= e.to && a[t].classList.remove(n.legendInactiveClass); } }(i.config.plotOptions.heatmap.colorScale.ranges[o]); } else 'mouseout' === e.type && r('remove'); }, }, { key: 'getActiveConfigSeriesIndex', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0], t = this.w, n = 0; if (t.config.series.length > 1) for (var i = t.config.series.map((function (n, i) { var a = !1; return e && (a = 'bar' === t.config.series[i].type || 'column' === t.config.series[i].type), n.data && n.data.length > 0 && !a ? i : -1; })), a = 0; a < i.length; a++) if (-1 !== i[a]) { n = i[a]; break; } return n; }, }, { key: 'getPreviousPaths', value: function () { var e = this.w; function t ( t, n, i) { for (var a = t[n].childNodes, r = { type: i, paths: [], realIndex: t[n].getAttribute('data:realIndex'), }, o = 0; o < a.length; o++) if (a[o].hasAttribute( 'pathTo')) { var s = a[o].getAttribute('pathTo'); r.paths.push({ d: s }); } e.globals.previousPaths.push(r); } e.globals.previousPaths = [], [ 'line', 'area', 'bar', 'rangebar', 'candlestick', 'radar'].forEach((function (n) { for (var i, a = (i = n, e.globals.dom.baseEl.querySelectorAll( '.apexcharts-'.concat(i, '-series .apexcharts-series'))), r = 0; r < a.length; r++) t(a, r, n); })), this.handlePrevBubbleScatterPaths( 'bubble'), this.handlePrevBubbleScatterPaths('scatter'); var n = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-'.concat(e.config.chart.type, ' .apexcharts-series')); if (n.length > 0) for (var i = function (t) { for (var n = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-'.concat(e.config.chart.type, ' .apexcharts-series[data\\:realIndex=\''). concat(t, '\'] rect')), i = [], a = function (e) { var t = function (t) { return n[e].getAttribute(t); }, a = { x: parseFloat(t('x')), y: parseFloat(t('y')), width: parseFloat(t('width')), height: parseFloat(t('height')), }; i.push( { rect: a, color: n[e].getAttribute('color') }); }, r = 0; r < n.length; r++) a(r); e.globals.previousPaths.push(i); }, a = 0; a < n.length; a++) i(a); e.globals.axisCharts || (e.globals.previousPaths = e.globals.series); }, }, { key: 'handlePrevBubbleScatterPaths', value: function (e) { var t = this.w, n = t.globals.dom.baseEl.querySelectorAll( '.apexcharts-'.concat(e, '-series .apexcharts-series')); if (n.length > 0) for (var i = 0; i < n.length; i++) { for (var a = t.globals.dom.baseEl.querySelectorAll( '.apexcharts-'.concat(e, '-series .apexcharts-series[data\\:realIndex=\''). concat(i, '\'] circle')), r = [], o = 0; o < a.length; o++) r.push({ x: a[o].getAttribute('cx'), y: a[o].getAttribute('cy'), r: a[o].getAttribute('r'), }); t.globals.previousPaths.push(r); } }, }, { key: 'clearPreviousPaths', value: function () { var e = this.w; e.globals.previousPaths = [], e.globals.allSeriesCollapsed = !1; }, }, { key: 'handleNoData', value: function () { var e = this.w, t = e.config.noData, n = new v(this.ctx), i = e.globals.svgWidth / 2, a = e.globals.svgHeight / 2, r = 'middle'; if (e.globals.noData = !0, e.globals.animationEnded = !0, 'left' === t.align ? (i = 10, r = 'start') : 'right' === t.align && (i = e.globals.svgWidth - 10, r = 'end'), 'top' === t.verticalAlign ? a = 50 : 'bottom' === t.verticalAlign && (a = e.globals.svgHeight - 50), i += t.offsetX, a = a + parseInt(t.style.fontSize, 10) + 2 + t.offsetY, void 0 !== t.text && '' !== t.text) { var o = n.drawText({ x: i, y: a, text: t.text, textAnchor: r, fontSize: t.style.fontSize, fontFamily: t.style.fontFamily, foreColor: t.style.color, opacity: 1, class: 'apexcharts-text-nodata', }); e.globals.dom.Paper.add(o); } }, }, { key: 'setNullSeriesToZeroValues', value: function (e) { for (var t = this.w, n = 0; n < e.length; n++) if (0 === e[n].length) for (var i = 0; i < e[t.globals.maxValsInArrayIndex].length; i++) e[n].push(0); return e; }, }, { key: 'hasAllSeriesEqualX', value: function () { for (var e = !0, t = this.w, n = this.filteredSeriesX(), i = 0; i < n.length - 1; i++) if (n[i][0] !== n[i + 1][0]) { e = !1; break; } return t.globals.allSeriesHasEqualX = e, e; }, }, { key: 'filteredSeriesX', value: function () { return this.w.globals.seriesX.map( (function (e) {return e.length > 0 ? e : [];})); }, }]), e; }(), O = function () { function e (n) {t(this, e), this.w = n.w, this.barCtx = n;} return i(e, [ { key: 'initVariables', value: function (e) { var t = this.w; this.barCtx.series = e, this.barCtx.totalItems = 0, this.barCtx.seriesLen = 0, this.barCtx.visibleI = -1, this.barCtx.visibleItems = 1; for (var n = 0; n < e.length; n++) if (e[n].length > 0 && (this.barCtx.seriesLen = this.barCtx.seriesLen + 1, this.barCtx.totalItems += e[n].length), t.globals.isXNumeric) for (var i = 0; i < e[n].length; i++) t.globals.seriesX[n][i] > t.globals.minX && t.globals.seriesX[n][i] < t.globals.maxX && this.barCtx.visibleItems++; else this.barCtx.visibleItems = t.globals.dataPoints; 0 === this.barCtx.seriesLen && (this.barCtx.seriesLen = 1); }, }, { key: 'initialPositions', value: function () { var e, t, n, i, a, r, o, s, l = this.w, c = l.globals.dataPoints; this.barCtx.isTimelineBar && (c = l.globals.labels.length); var u = this.barCtx.seriesLen; if (l.config.plotOptions.bar.rangeBarGroupRows && (u = 1), this.barCtx.isHorizontal) a = (n = l.globals.gridHeight / c) / u, l.globals.isXNumeric && (a = (n = l.globals.gridHeight / this.barCtx.totalItems) / this.barCtx.seriesLen), a = a * parseInt(this.barCtx.barOptions.barHeight, 10) / 100, s = this.barCtx.baseLineInvertedY + l.globals.padHorizontal + (this.barCtx.isReversed ? l.globals.gridWidth : 0) - (this.barCtx.isReversed ? 2 * this.barCtx.baseLineInvertedY : 0), t = (n - a * this.barCtx.seriesLen) / 2; else { if (i = l.globals.gridWidth / this.barCtx.visibleItems, l.config.xaxis.convertedCatToNumeric && (i = l.globals.gridWidth / l.globals.dataPoints), r = i / this.barCtx.seriesLen * parseInt(this.barCtx.barOptions.columnWidth, 10) / 100, l.globals.isXNumeric) { var d = this.barCtx.xRatio; l.config.xaxis.convertedCatToNumeric && (d = this.barCtx.initialXRatio), l.globals.minXDiff && .5 !== l.globals.minXDiff && l.globals.minXDiff / d > 0 && (i = l.globals.minXDiff / d), (r = i / this.barCtx.seriesLen * parseInt(this.barCtx.barOptions.columnWidth, 10) / 100) < 1 && (r = 1); } o = l.globals.gridHeight - this.barCtx.baseLineY[this.barCtx.yaxisIndex] - (this.barCtx.isReversed ? l.globals.gridHeight : 0) + (this.barCtx.isReversed ? 2 * this.barCtx.baseLineY[this.barCtx.yaxisIndex] : 0), e = l.globals.padHorizontal + (i - r * this.barCtx.seriesLen) / 2; } return { x: e, y: t, yDivision: n, xDivision: i, barHeight: a, barWidth: r, zeroH: o, zeroW: s, }; }, }, { key: 'getPathFillColor', value: function (e, t, n, i) { var a = this.w, r = new S(this.barCtx.ctx), o = null, s = this.barCtx.barOptions.distributed ? n : t; return this.barCtx.barOptions.colors.ranges.length > 0 && this.barCtx.barOptions.colors.ranges.map((function (i) { e[t][n] >= i.from && e[t][n] <= i.to && (o = i.color); })), a.config.series[t].data[n] && a.config.series[t].data[n].fillColor && (o = a.config.series[t].data[n].fillColor), r.fillPath({ seriesNumber: this.barCtx.barOptions.distributed ? s : i, dataPointIndex: n, color: o, value: e[t][n], }); }, }, { key: 'getStrokeWidth', value: function (e, t, n) { var i = 0, a = this.w; return void 0 === this.barCtx.series[e][t] || null === this.barCtx.series[e][t] ? this.barCtx.isNullValue = !0 : this.barCtx.isNullValue = !1, a.config.stroke.show && (this.barCtx.isNullValue || (i = Array.isArray(this.barCtx.strokeWidth) ? this.barCtx.strokeWidth[n] : this.barCtx.strokeWidth)), i; }, }, { key: 'barBackground', value: function (e) { var t = e.j, n = e.i, i = e.x1, a = e.x2, r = e.y1, o = e.y2, s = e.elSeries, l = this.w, c = new v(this.barCtx.ctx), u = new E(this.barCtx.ctx).getActiveConfigSeriesIndex(); if (this.barCtx.barOptions.colors.backgroundBarColors.length > 0 && u === n) { t >= this.barCtx.barOptions.colors.backgroundBarColors.length && (t -= this.barCtx.barOptions.colors.backgroundBarColors.length); var d = this.barCtx.barOptions.colors.backgroundBarColors[t], h = c.drawRect(void 0 !== i ? i : 0, void 0 !== r ? r : 0, void 0 !== a ? a : l.globals.gridWidth, void 0 !== o ? o : l.globals.gridHeight, this.barCtx.barOptions.colors.backgroundBarRadius, d, this.barCtx.barOptions.colors.backgroundBarOpacity); s.add(h), h.node.classList.add( 'apexcharts-backgroundBar'); } }, }, { key: 'getColumnPaths', value: function (e) { var t = e.barWidth, n = e.barXPosition, i = e.yRatio, a = e.y1, r = e.y2, o = e.strokeWidth, s = e.series, l = e.realIndex, c = e.i, u = e.j, d = e.w, h = new v(this.barCtx.ctx); (o = Array.isArray(o) ? o[l] : o) || (o = 0); var f = { barWidth: t, strokeWidth: o, yRatio: i, barXPosition: n, y1: a, y2: r, }, p = this.getRoundedBars(d, f, s, c, u), m = n, g = n + t, y = h.move(m, p.y1), b = h.move(m, p.y1); return d.globals.previousPaths.length > 0 && (b = this.barCtx.getPreviousPath(l, u, !1)), { pathTo: y = y + h.line(m, p.y2) + p.endingPath + h.line(g - o, p.y2) + h.line(g - o, p.y1) + p.startingPath + 'z', pathFrom: b = b + h.line(m, a) + h.line(g - o, a) + h.line(g - o, a) + h.line(g - o, a) + h.line(m, a), }; }, }, { key: 'getBarpaths', value: function (e) { var t = e.barYPosition, n = e.barHeight, i = e.x1, a = e.x2, r = e.strokeWidth, o = e.series, s = e.realIndex, l = e.i, c = e.j, u = e.w, d = new v(this.barCtx.ctx); (r = Array.isArray(r) ? r[s] : r) || (r = 0); var h = { barHeight: n, strokeWidth: r, barYPosition: t, x2: a, x1: i, }, f = this.getRoundedBars(u, h, o, l, c), p = d.move(f.x1, t), m = d.move(f.x1, t); u.globals.previousPaths.length > 0 && (m = this.barCtx.getPreviousPath(s, c, !1)); var g = t, y = t + n; return { pathTo: p = p + d.line(f.x2, g) + f.endingPath + d.line(f.x2, y - r) + d.line(f.x1, y - r) + f.startingPath + 'z', pathFrom: m = m + d.line(i, g) + d.line(i, y - r) + d.line(i, y - r) + d.line(i, y - r) + d.line(i, g), }; }, }, { key: 'getRoundedBars', value: function (e, t, n, i, a) { var r = new v(this.barCtx.ctx), o = Array.isArray(t.strokeWidth) ? t.strokeWidth[i] : t.strokeWidth; if (o || (o = 0), this.barCtx.isHorizontal) { var s = null, l = '', c = t.x2, u = t.x1; if (void 0 !== n[i][a] || null !== n[i][a]) { var d = n[i][a] < 0, h = t.barHeight / 2 - o; switch (d && (h = -t.barHeight / 2 - o), h > Math.abs(c - u) && (h = Math.abs(c - u)), 'rounded' === this.barCtx.barOptions.endingShape && (c = t.x2 - h / 2), 'rounded' === this.barCtx.barOptions.startingShape && (u = t.x1 + h / 2), this.barCtx.barOptions.endingShape) { case'flat': s = r.line(c, t.barYPosition + t.barHeight - o); break; case'rounded': s = r.quadraticCurve(c + h, t.barYPosition + (t.barHeight - o) / 2, c, t.barYPosition + t.barHeight - o); } switch (this.barCtx.barOptions.startingShape) { case'flat': l = r.line(u, t.barYPosition + t.barHeight - o); break; case'rounded': l = r.quadraticCurve(u - h, t.barYPosition + t.barHeight / 2, u, t.barYPosition); } } return { endingPath: s, startingPath: l, x2: c, x1: u }; } var f = null, p = '', m = t.y2, g = t.y1; if (void 0 !== n[i][a] || null !== n[i][a]) { var y = n[i][a] < 0, b = t.barWidth / 2 - o; switch (y && (b = -t.barWidth / 2 - o), b > Math.abs(m - g) && (b = Math.abs(m - g)), 'rounded' === this.barCtx.barOptions.endingShape && (m += b / 2), 'rounded' === this.barCtx.barOptions.startingShape && (g -= b / 2), this.barCtx.barOptions.endingShape) { case'flat': f = r.line(t.barXPosition + t.barWidth - o, m); break; case'rounded': f = r.quadraticCurve( t.barXPosition + (t.barWidth - o) / 2, m - b, t.barXPosition + t.barWidth - o, m); } switch (this.barCtx.barOptions.startingShape) { case'flat': p = r.line(t.barXPosition + t.barWidth - o, g); break; case'rounded': p = r.quadraticCurve( t.barXPosition + (t.barWidth - o) / 2, g + b, t.barXPosition, g); } } return { endingPath: f, startingPath: p, y2: m, y1: g }; }, }]), e; }(), Y = function () { function e (n, i) { t(this, e), this.ctx = n, this.w = n.w; var a = this.w; this.barOptions = a.config.plotOptions.bar, this.isHorizontal = this.barOptions.horizontal, this.strokeWidth = a.config.stroke.width, this.isNullValue = !1, this.isTimelineBar = 'datetime' === a.config.xaxis.type && a.globals.seriesRangeBarTimeline.length, this.xyRatios = i, null !== this.xyRatios && (this.xRatio = i.xRatio, this.initialXRatio = i.initialXRatio, this.yRatio = i.yRatio, this.invertedXRatio = i.invertedXRatio, this.invertedYRatio = i.invertedYRatio, this.baseLineY = i.baseLineY, this.baseLineInvertedY = i.baseLineInvertedY), this.yaxisIndex = 0, this.seriesLen = 0, this.barHelpers = new O( this); } return i(e, [ { key: 'draw', value: function (e, t) { var n = this.w, i = new v(this.ctx), a = new x(this.ctx, n); e = a.getLogSeries( e), this.series = e, this.yRatio = a.getLogYRatios( this.yRatio), this.barHelpers.initVariables(e); var r = i.group( { class: 'apexcharts-bar-series apexcharts-plot-series' }); n.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.'); for (var s = 0, l = 0; s < e.length; s++, l++) { var c, u, d, h, f = void 0, m = void 0, g = [], y = [], b = n.globals.comboCharts ? t[s] : s, _ = i.group({ class: 'apexcharts-series', rel: s + 1, seriesName: p.escapeString( n.globals.seriesNames[b]), 'data:realIndex': b, }); this.ctx.series.addCollapsedClassToSeries(_, b), e[s].length > 0 && (this.visibleI = this.visibleI + 1); var w = 0, k = 0; this.yRatio.length > 1 && (this.yaxisIndex = b), this.isReversed = n.config.yaxis[this.yaxisIndex] && n.config.yaxis[this.yaxisIndex].reversed; var M = this.barHelpers.initialPositions(); m = M.y, w = M.barHeight, u = M.yDivision, h = M.zeroW, f = M.x, k = M.barWidth, c = M.xDivision, d = M.zeroH, this.horizontal || y.push(f + k / 2); for (var L = i.group({ class: 'apexcharts-datalabels', 'data:realIndex': b, }), S = 0; S < n.globals.dataPoints; S++) { var T = this.barHelpers.getStrokeWidth(s, S, b), A = null, D = { indexes: { i: s, j: S, realIndex: b, bc: l }, x: f, y: m, strokeWidth: T, elSeries: _, }; this.isHorizontal ? (A = this.drawBarPaths(o(o({}, D), {}, { barHeight: w, zeroW: h, yDivision: u, })), k = this.series[s][S] / this.invertedYRatio) : (A = this.drawColumnPaths(o(o({}, D), {}, { xDivision: c, barWidth: k, zeroH: d, })), w = this.series[s][S] / this.yRatio[this.yaxisIndex]), m = A.y, f = A.x, S > 0 && y.push(f + k / 2), g.push(m); var C = this.barHelpers.getPathFillColor(e, s, S, b); this.renderSeries({ realIndex: b, pathFill: C, j: S, i: s, pathFrom: A.pathFrom, pathTo: A.pathTo, strokeWidth: T, elSeries: _, x: f, y: m, series: e, barHeight: w, barWidth: k, elDataLabelsWrap: L, visibleSeries: this.visibleI, type: 'bar', }); } n.globals.seriesXvalues[b] = y, n.globals.seriesYvalues[b] = g, r.add( _); } return r; }, }, { key: 'renderSeries', value: function (e) { var t = e.realIndex, n = e.pathFill, i = e.lineFill, a = e.j, r = e.i, o = e.pathFrom, s = e.pathTo, l = e.strokeWidth, c = e.elSeries, u = e.x, d = e.y, h = e.y1, f = e.y2, p = e.series, g = e.barHeight, y = e.barWidth, b = e.barYPosition, x = e.elDataLabelsWrap, _ = e.visibleSeries, w = e.type, k = this.w, M = new v(this.ctx); i || (i = this.barOptions.distributed ? k.globals.stroke.colors[a] : k.globals.stroke.colors[t]), k.config.series[r].data[a] && k.config.series[r].data[a].strokeColor && (i = k.config.series[r].data[a].strokeColor), this.isNullValue && (n = 'none'); var L = a / k.config.chart.animations.animateGradually.delay * (k.config.chart.animations.speed / k.globals.dataPoints) / 2.4, S = M.renderPaths({ i: r, j: a, realIndex: t, pathFrom: o, pathTo: s, stroke: i, strokeWidth: l, strokeLineCap: k.config.stroke.lineCap, fill: n, animationDelay: L, initialSpeed: k.config.chart.animations.speed, dataChangeSpeed: k.config.chart.animations.dynamicAnimation.speed, className: 'apexcharts-'.concat(w, '-area'), }); S.attr('clip-path', 'url(#gridRectMask'.concat(k.globals.cuid, ')')), void 0 !== h && void 0 !== f && (S.attr('data-range-y1', h), S.attr('data-range-y2', f)), new m(this.ctx).setSelectionFilter(S, t, a), c.add( S); var T = new C(this).handleBarDataLabels({ x: u, y: d, y1: h, y2: f, i: r, j: a, series: p, realIndex: t, barHeight: g, barWidth: y, barYPosition: b, renderedPath: S, visibleSeries: _, }); return null !== T && x.add(T), c.add(x), c; }, }, { key: 'drawBarPaths', value: function (e) { var t = e.indexes, n = e.barHeight, i = e.strokeWidth, a = e.zeroW, r = e.x, o = e.y, s = e.yDivision, l = e.elSeries, c = this.w, u = t.i, d = t.j; c.globals.isXNumeric && (o = (c.globals.seriesX[u][d] - c.globals.minX) / this.invertedXRatio - n); var h = o + n * this.visibleI; r = void 0 === this.series[u][d] || null === this.series[u][d] ? a : a + this.series[u][d] / this.invertedYRatio - 2 * (this.isReversed ? this.series[u][d] / this.invertedYRatio : 0); var f = this.barHelpers.getBarpaths({ barYPosition: h, barHeight: n, x1: a, x2: r, strokeWidth: i, series: this.series, realIndex: t.realIndex, i: u, j: d, w: c, }); return c.globals.isXNumeric || (o += s), this.barHelpers.barBackground({ j: d, i: u, y1: h - n * this.visibleI, y2: n * this.seriesLen, elSeries: l, }), { pathTo: f.pathTo, pathFrom: f.pathFrom, x: r, y: o, barYPosition: h, }; }, }, { key: 'drawColumnPaths', value: function (e) { var t = e.indexes, n = e.x, i = e.y, a = e.xDivision, r = e.barWidth, o = e.zeroH, s = e.strokeWidth, l = e.elSeries, c = this.w, u = t.realIndex, d = t.i, h = t.j, f = t.bc; if (c.globals.isXNumeric) { var p = u; c.globals.seriesX[u].length || (p = c.globals.maxValsInArrayIndex), n = (c.globals.seriesX[p][h] - c.globals.minX) / this.xRatio - r * this.seriesLen / 2; } var m = n + r * this.visibleI; i = void 0 === this.series[d][h] || null === this.series[d][h] ? o : o - this.series[d][h] / this.yRatio[this.yaxisIndex] + 2 * (this.isReversed ? this.series[d][h] / this.yRatio[this.yaxisIndex] : 0); var g = this.barHelpers.getColumnPaths({ barXPosition: m, barWidth: r, y1: o, y2: i, strokeWidth: s, series: this.series, realIndex: t.realIndex, i: d, j: h, w: c, }); return c.globals.isXNumeric || (n += a), this.barHelpers.barBackground({ bc: f, j: h, i: d, x1: m - s / 2 - r * this.visibleI, x2: r * this.seriesLen + s / 2, elSeries: l, }), { pathTo: g.pathTo, pathFrom: g.pathFrom, x: n, y: i, barXPosition: m, }; }, }, { key: 'getPreviousPath', value: function (e, t) { for (var n, i = this.w, a = 0; a < i.globals.previousPaths.length; a++) { var r = i.globals.previousPaths[a]; r.paths && r.paths.length > 0 && parseInt(r.realIndex, 10) === parseInt(e, 10) && void 0 !== i.globals.previousPaths[a].paths[t] && (n = i.globals.previousPaths[a].paths[t].d); } return n; }, }]), e; }(), P = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.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 i(e, [ { key: 'isValidDate', value: function (e) {return !isNaN(this.parseDate(e));}, }, { key: 'getTimeStamp', value: function (e) { return Date.parse(e) ? this.w.config.xaxis.labels.datetimeUTC ? new Date(new Date(e).toISOString(). substr(0, 25)).getTime() : new Date(e).getTime() : e; }, }, { key: 'getDate', value: function (e) { return this.w.config.xaxis.labels.datetimeUTC ? new Date(new Date(e).toUTCString()) : new Date(e); }, }, { key: 'parseDate', value: function (e) { var t = Date.parse(e); if (!isNaN(t)) return this.getTimeStamp(e); var n = Date.parse( e.replace(/-/g, '/').replace(/[a-z]+/gi, ' ')); return this.getTimeStamp(n); }, }, { key: 'parseDateWithTimezone', value: function (e) { return Date.parse( e.replace(/-/g, '/').replace(/[a-z]+/gi, ' ')); }, }, { key: 'formatDate', value: function (e, t) { var n = this.w.globals.locale, i = this.w.config.xaxis.labels.datetimeUTC, a = ['\0'].concat(h(n.months)), r = [''].concat(h(n.shortMonths)), o = [''].concat(h(n.days)), s = [''].concat(h(n.shortDays)); function l (e, t) { var n = e + ''; for (t = t || 2; n.length < t;) n = '0' + n; return n; } var c = i ? e.getUTCFullYear() : e.getFullYear(); t = (t = (t = t.replace(/(^|[^\\])yyyy+/g, '$1' + c)).replace(/(^|[^\\])yy/g, '$1' + c.toString().substr(2, 2))).replace( /(^|[^\\])y/g, '$1' + c); var u = (i ? e.getUTCMonth() : e.getMonth()) + 1; t = (t = (t = (t = t.replace(/(^|[^\\])MMMM+/g, '$1' + a[0])).replace(/(^|[^\\])MMM/g, '$1' + r[0])).replace(/(^|[^\\])MM/g, '$1' + l(u))).replace(/(^|[^\\])M/g, '$1' + u); var d = i ? e.getUTCDate() : e.getDate(); t = (t = (t = (t = t.replace(/(^|[^\\])dddd+/g, '$1' + o[0])).replace(/(^|[^\\])ddd/g, '$1' + s[0])).replace(/(^|[^\\])dd/g, '$1' + l(d))).replace(/(^|[^\\])d/g, '$1' + d); var f = i ? e.getUTCHours() : e.getHours(), p = f > 12 ? f - 12 : 0 === f ? 12 : f; t = (t = (t = (t = t.replace(/(^|[^\\])HH+/g, '$1' + l(f))).replace(/(^|[^\\])H/g, '$1' + f)).replace( /(^|[^\\])hh+/g, '$1' + l(p))).replace(/(^|[^\\])h/g, '$1' + p); var m = i ? e.getUTCMinutes() : e.getMinutes(); t = (t = t.replace(/(^|[^\\])mm+/g, '$1' + l(m))).replace( /(^|[^\\])m/g, '$1' + m); var g = i ? e.getUTCSeconds() : e.getSeconds(); t = (t = t.replace(/(^|[^\\])ss+/g, '$1' + l(g))).replace( /(^|[^\\])s/g, '$1' + g); var v = i ? e.getUTCMilliseconds() : e.getMilliseconds(); t = t.replace(/(^|[^\\])fff+/g, '$1' + l(v, 3)), v = Math.round(v / 10), t = t.replace( /(^|[^\\])ff/g, '$1' + l(v)), v = Math.round(v / 10); var y = f < 12 ? 'AM' : 'PM'; t = (t = (t = t.replace(/(^|[^\\])f/g, '$1' + v)).replace( /(^|[^\\])TT+/g, '$1' + y)).replace(/(^|[^\\])T/g, '$1' + y.charAt(0)); var b = y.toLowerCase(); t = (t = t.replace(/(^|[^\\])tt+/g, '$1' + b)).replace( /(^|[^\\])t/g, '$1' + b.charAt(0)); var x = -e.getTimezoneOffset(), _ = i || !x ? 'Z' : x > 0 ? '+' : '-'; if (!i) { var w = (x = Math.abs(x)) % 60; _ += l(Math.floor(x / 60)) + ':' + l(w); } t = t.replace(/(^|[^\\])K/g, '$1' + _); var k = (i ? e.getUTCDay() : e.getDay()) + 1; return (t = (t = (t = (t = t.replace(new RegExp(o[0], 'g'), o[k])).replace(new RegExp(s[0], 'g'), s[k])).replace( new RegExp(a[0], 'g'), a[u])).replace( new RegExp(r[0], 'g'), r[u])).replace(/\\(.)/g, '$1'); }, }, { key: 'getTimeUnitsfromTimestamp', value: function (e, t, n) { var i = this.w; void 0 !== i.config.xaxis.min && (e = i.config.xaxis.min), void 0 !== i.config.xaxis.max && (t = i.config.xaxis.max); var a = this.getDate(e), r = this.getDate(t), o = this.formatDate(a, 'yyyy MM dd HH mm ss'). split(' '), s = this.formatDate(r, 'yyyy MM dd HH mm ss'). split(' '); return { minSecond: parseInt(o[5], 10), maxSecond: parseInt(s[5], 10), minMinute: parseInt(o[4], 10), maxMinute: parseInt(s[4], 10), minHour: parseInt(o[3], 10), maxHour: parseInt(s[3], 10), minDate: parseInt(o[2], 10), maxDate: parseInt(s[2], 10), minMonth: parseInt(o[1], 10) - 1, maxMonth: parseInt(s[1], 10) - 1, minYear: parseInt(o[0], 10), maxYear: parseInt(s[0], 10), }; }, }, { key: 'isLeapYear', value: function (e) { return e % 4 == 0 && e % 100 != 0 || e % 400 == 0; }, }, { key: 'calculcateLastDaysOfMonth', value: function (e, t, n) { return this.determineDaysOfMonths(e, t) - n; }, }, { key: 'determineDaysOfYear', value: function (e) { var t = 365; return this.isLeapYear(e) && (t = 366), t; }, }, { key: 'determineRemainingDaysOfYear', value: function (e, t, n) { var i = this.daysCntOfYear[t] + n; return t > 1 && this.isLeapYear() && i++, i; }, }, { key: 'determineDaysOfMonths', value: function (e, t) { var n = 30; switch (e = p.monthMod(e), !0) { case this.months30.indexOf(e) > -1: 2 === e && (n = this.isLeapYear(t) ? 29 : 28); break; case this.months31.indexOf(e) > -1: default: n = 31; } return n; }, }]), e; }(), I = function (e) { s(a, e); var n = d(a); function a () {return t(this, a), n.apply(this, arguments);} return i(a, [ { key: 'draw', value: function (e, t) { var n = this.w, i = new v(this.ctx); this.rangeBarOptions = this.w.config.plotOptions.rangeBar, this.series = e, this.seriesRangeStart = n.globals.seriesRangeStart, this.seriesRangeEnd = n.globals.seriesRangeEnd, this.barHelpers.initVariables( e); for (var a = i.group( { class: 'apexcharts-rangebar-series apexcharts-plot-series' }), r = 0; r < e.length; r++) { var s, l, c, u = void 0, d = void 0, h = void 0, f = n.globals.comboCharts ? t[r] : r, m = i.group({ class: 'apexcharts-series', seriesName: p.escapeString( n.globals.seriesNames[f]), rel: r + 1, 'data:realIndex': f, }); e[r].length > 0 && (this.visibleI = this.visibleI + 1); var g = 0, y = 0; this.yRatio.length > 1 && (this.yaxisIndex = f); var b = this.barHelpers.initialPositions(); d = b.y, c = b.zeroW, u = b.x, y = b.barWidth, s = b.xDivision, l = b.zeroH; for (var x = i.group({ class: 'apexcharts-datalabels', 'data:realIndex': f, }), _ = 0; _ < n.globals.dataPoints; _++) { var w = this.barHelpers.getStrokeWidth(r, _, f), k = this.seriesRangeStart[r][_], M = this.seriesRangeEnd[r][_], L = null, S = null, T = { x: u, y: d, strokeWidth: w, elSeries: m }; if (h = b.yDivision, g = b.barHeight, this.isHorizontal) { S = d + g * this.visibleI; var A = this.seriesLen; n.config.plotOptions.bar.rangeBarGroupRows && (A = 1); var D = (h - g * A) / 2; if (void 0 === n.config.series[r].data[_]) break; if (this.isTimelineBar && n.config.series[r].data[_].x) { var C = this.detectOverlappingBars({ i: r, j: _, barYPosition: S, srty: D, barHeight: g, yDivision: h, initPositions: b, }); g = C.barHeight, S = C.barYPosition; } y = (L = this.drawRangeBarPaths(o({ indexes: { i: r, j: _, realIndex: f }, barHeight: g, barYPosition: S, zeroW: c, yDivision: h, y1: k, y2: M, }, T))).barWidth; } else g = (L = this.drawRangeColumnPaths(o({ indexes: { i: r, j: _, realIndex: f }, zeroH: l, barWidth: y, xDivision: s, }, T))).barHeight; d = L.y, u = L.x; var E = this.barHelpers.getPathFillColor(e, r, _, f), O = n.globals.stroke.colors[f]; this.renderSeries({ realIndex: f, pathFill: E, lineFill: O, j: _, i: r, x: u, y: d, y1: k, y2: M, pathFrom: L.pathFrom, pathTo: L.pathTo, strokeWidth: w, elSeries: m, series: e, barHeight: g, barYPosition: S, barWidth: y, elDataLabelsWrap: x, visibleSeries: this.visibleI, type: 'rangebar', }); } a.add(m); } return a; }, }, { key: 'detectOverlappingBars', value: function (e) { var t = e.i, n = e.j, i = e.barYPosition, a = e.srty, r = e.barHeight, o = e.yDivision, s = e.initPositions, l = this.w, c = [], u = l.config.series[t].data[n].rangeName, d = l.config.series[t].data[n].x, h = l.globals.labels.indexOf(d), f = l.globals.seriesRangeBarTimeline[t].findIndex( (function (e) { return e.x === d && e.overlaps.length > 0; })); return i = l.config.plotOptions.bar.rangeBarGroupRows ? a + o * h : a + r * this.visibleI + o * h, f > -1 && !l.config.plotOptions.bar.rangeBarOverlap && (c = l.globals.seriesRangeBarTimeline[t][f].overlaps).indexOf( u) > -1 && (i = (r = s.barHeight / c.length) * this.visibleI + o * (100 - parseInt(this.barOptions.barHeight, 10)) / 100 / 2 + r * (this.visibleI + c.indexOf(u)) + o * h), { barYPosition: i, barHeight: r }; }, }, { key: 'drawRangeColumnPaths', value: function (e) { var t = e.indexes, n = e.x, i = (e.strokeWidth, e.xDivision), a = e.barWidth, r = e.zeroH, o = this.w, s = t.i, l = t.j, c = this.yRatio[this.yaxisIndex], u = t.realIndex, d = this.getRangeValue(u, l), h = Math.min(d.start, d.end), f = Math.max(d.start, d.end); o.globals.isXNumeric && (n = (o.globals.seriesX[s][l] - o.globals.minX) / this.xRatio - a / 2); var p = n + a * this.visibleI; void 0 === this.series[s][l] || null === this.series[s][l] ? h = r : (h = r - h / c, f = r - f / c); var m = Math.abs(f - h), g = this.barHelpers.getColumnPaths( { barXPosition: p, barWidth: a, y1: h, y2: f, strokeWidth: this.strokeWidth, series: this.seriesRangeEnd, realIndex: t.realIndex, i: u, j: l, w: o, }); return o.globals.isXNumeric || (n += i), { pathTo: g.pathTo, pathFrom: g.pathFrom, barHeight: m, x: n, y: f, barXPosition: p, }; }, }, { key: 'drawRangeBarPaths', value: function (e) { var t = e.indexes, n = e.y, i = e.y1, a = e.y2, r = e.yDivision, o = e.barHeight, s = e.barYPosition, l = e.zeroW, c = this.w, u = l + i / this.invertedYRatio, d = l + a / this.invertedYRatio, h = Math.abs(d - u), f = this.barHelpers.getBarpaths({ barYPosition: s, barHeight: o, x1: u, x2: d, strokeWidth: this.strokeWidth, series: this.seriesRangeEnd, i: t.realIndex, realIndex: t.realIndex, j: t.j, w: c, }); return c.globals.isXNumeric || (n += r), { pathTo: f.pathTo, pathFrom: f.pathFrom, barWidth: h, x: d, y: n, }; }, }, { key: 'getRangeValue', value: function (e, t) { var n = this.w; return { start: n.globals.seriesRangeStart[e][t], end: n.globals.seriesRangeEnd[e][t], }; }, }, { key: 'getTooltipValues', value: function (e) { var t = e.ctx, n = e.seriesIndex, i = e.dataPointIndex, a = e.y1, r = e.y2, o = e.w, s = o.globals.seriesRangeStart[n][i], l = o.globals.seriesRangeEnd[n][i], c = o.globals.labels[i], u = o.config.series[n].name ? o.config.series[n].name : '', d = o.config.tooltip.y.formatter, h = o.config.tooltip.y.title.formatter, f = { w: o, seriesIndex: n, dataPointIndex: i }; 'function' == typeof h && (u = h(u, f)), a && r && (s = a, l = r, o.config.series[n].data[i].x && (c = o.config.series[n].data[i].x + ':'), 'function' == typeof d && (c = d(c, f))); var p = '', m = '', g = o.globals.colors[n]; if (void 0 === o.config.tooltip.x.formatter) if ('datetime' === o.config.xaxis.type) { var v = new P(t); p = v.formatDate(v.getDate(s), o.config.tooltip.x.format), m = v.formatDate( v.getDate(l), o.config.tooltip.x.format); } else p = s, m = l; else p = o.config.tooltip.x.formatter( s), m = o.config.tooltip.x.formatter(l); return { start: s, end: l, startVal: p, endVal: m, ylabel: c, color: g, seriesName: u, }; }, }, { key: 'buildCustomTooltipHTML', value: function (e) { return '<div class="apexcharts-tooltip-rangebar"><div> <span class="series-name" style="color: ' + e.color + '">' + (e.seriesName || '') + '</span></div><div> <span class="category">' + e.ylabel + ' </span> <span class="value start-value">' + e.start + '</span> <span class="separator">-</span> <span class="value end-value">' + e.end + '</span></div></div>'; }, }]), a; }(Y), j = function () { function e (n) {t(this, e), this.opts = n;} return i(e, [ { key: 'line', value: function () { return { chart: { animations: { easing: 'swing' } }, dataLabels: { enabled: !1 }, stroke: { width: 5, curve: 'straight' }, markers: { size: 0, hover: { sizeOffset: 6 } }, xaxis: { crosshairs: { width: 1 } }, }; }, }, { key: 'sparkline', value: function (e) { return 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, p.extend( e, { 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: 'bar', value: function () { return { chart: { stacked: !1, animations: { easing: 'swing' }, }, plotOptions: { bar: { dataLabels: { position: 'center' } } }, dataLabels: { style: { colors: ['#fff'] }, background: { enabled: !1 }, }, stroke: { width: 0, lineCap: 'square' }, fill: { opacity: .85 }, legend: { markers: { shape: 'square', radius: 2, size: 8, }, }, tooltip: { shared: !1 }, xaxis: { tooltip: { enabled: !1 }, tickPlacement: 'between', crosshairs: { width: 'barWidth', position: 'back', fill: { type: 'gradient' }, dropShadow: { enabled: !1 }, stroke: { width: 0 }, }, }, }; }, }, { key: 'candlestick', value: function () { return { stroke: { width: 1, colors: ['#333'], }, fill: { opacity: 1 }, dataLabels: { enabled: !1 }, tooltip: { shared: !0, custom: function (e) { var t = e.seriesIndex, n = e.dataPointIndex, i = e.w; return '<div class="apexcharts-tooltip-candlestick"><div>Open: <span class="value">' + i.globals.seriesCandleO[t][n] + '</span></div><div>High: <span class="value">' + i.globals.seriesCandleH[t][n] + '</span></div><div>Low: <span class="value">' + i.globals.seriesCandleL[t][n] + '</span></div><div>Close: <span class="value">' + i.globals.seriesCandleC[t][n] + '</span></div></div>'; }, }, states: { active: { filter: { type: 'none' } } }, xaxis: { crosshairs: { width: 1 } }, }; }, }, { key: 'rangeBar', value: function () { return { stroke: { width: 0, lineCap: 'square', }, plotOptions: { bar: { dataLabels: { position: 'center' } } }, dataLabels: { enabled: !1, formatter: function (e, t) { t.ctx; var n = t.seriesIndex, i = t.dataPointIndex, a = t.w, r = a.globals.seriesRangeStart[n][i]; return a.globals.seriesRangeEnd[n][i] - r; }, background: { enabled: !1 }, style: { colors: ['#fff'] }, }, tooltip: { shared: !1, followCursor: !0, custom: function (e) { return e.w.config.plotOptions && e.w.config.plotOptions.bar && e.w.config.plotOptions.bar.horizontal ? function (e) { var t = new I(e.ctx, null), n = t.getTooltipValues(e), i = n.color, a = n.seriesName, r = n.ylabel, o = n.startVal, s = n.endVal; return t.buildCustomTooltipHTML({ color: i, seriesName: a, ylabel: r, start: o, end: s, }); }(e) : function (e) { var t = new I(e.ctx, null), n = t.getTooltipValues(e), i = n.color, a = n.seriesName, r = n.ylabel, o = n.start, s = n.end; return t.buildCustomTooltipHTML({ color: i, seriesName: a, ylabel: r, start: o, end: s, }); }(e); }, }, xaxis: { tickPlacement: 'between', tooltip: { enabled: !1 }, crosshairs: { stroke: { width: 0 } }, }, }; }, }, { key: 'area', value: function () { return { stroke: { width: 4 }, 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: 'brush', value: function (e) { return p.extend(e, { 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 (e) { e.dataLabels = e.dataLabels || {}, e.dataLabels.formatter = e.dataLabels.formatter || void 0; var t = e.dataLabels.formatter; return e.yaxis.forEach((function ( t, n) {e.yaxis[n].min = 0, e.yaxis[n].max = 100;})), 'bar' === e.chart.type && (e.dataLabels.formatter = t || function (e) { return 'number' == typeof e && e ? e.toFixed(0) + '%' : e; }), e; }, }, { key: 'convertCatToNumeric', value: function (e) {return e.xaxis.convertedCatToNumeric = !0, e;}, }, { key: 'convertCatToNumericXaxis', value: function ( e, t, n) { e.xaxis.type = 'numeric', e.xaxis.labels = e.xaxis.labels || {}, e.xaxis.labels.formatter = e.xaxis.labels.formatter || function (e) { return p.isNumber(e) ? Math.floor(e) : e; }; var i = e.xaxis.labels.formatter, a = e.xaxis.categories && e.xaxis.categories.length ? e.xaxis.categories : e.labels; return n && n.length && (a = n.map((function (e) { return Array.isArray(e) ? e : String(e); }))), a && a.length && (e.xaxis.labels.formatter = function (e) { return p.isNumber(e) ? i(a[Math.floor(e) - 1]) : i(e); }), e.xaxis.categories = [], e.labels = [], e.xaxis.tickAmount = e.xaxis.tickAmount || 'dataPoints', e; }, }, { 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', size: 10, offsetY: 2 }, }, 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: { 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 (e) { return e.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' }, }; }, }, { key: 'donut', value: function () { return { chart: { toolbar: { show: !1 } }, dataLabels: { formatter: function (e) { return e.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' }, }; }, }, { key: 'polarArea', value: function () { return this.opts.yaxis[0].tickAmount = this.opts.yaxis[0].tickAmount ? this.opts.yaxis[0].tickAmount : 6, { chart: { toolbar: { show: !1 } }, dataLabels: { formatter: function (e) { return e.toFixed(1) + '%'; }, enabled: !1, }, stroke: { show: !0, width: 2 }, fill: { opacity: .7 }, tooltip: { theme: 'dark', fillSeriesColor: !0 }, legend: { position: 'right' }, }; }, }, { 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: 3, strokeWidth: 1, strokeOpacity: 1 }, fill: { opacity: .2 }, tooltip: { shared: !1, intersect: !0, followCursor: !0, }, grid: { show: !1 }, xaxis: { labels: { formatter: function (e) {return e;}, 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 }, }; }, }]), e; }(), N = function () { function n (e) {t(this, n), this.opts = e;} return i(n, [ { key: 'init', value: function (t) { var n = t.responsiveOverride, i = this.opts, a = new M, r = new j(i); this.chartType = i.chart.type, 'histogram' === this.chartType && (i.chart.type = 'bar', i = p.extend( { plotOptions: { bar: { columnWidth: '99.99%' } } }, i)), i = this.extendYAxis( i), i = this.extendAnnotations(i); var o = a.init(), s = {}; if (i && 'object' === e(i)) { var l = {}; l = -1 !== [ 'line', 'area', 'bar', 'candlestick', 'rangeBar', 'histogram', 'bubble', 'scatter', 'heatmap', 'treemap', 'pie', 'polarArea', 'donut', 'radar', 'radialBar'].indexOf(i.chart.type) ? r[i.chart.type]() : r.line(), i.chart.brush && i.chart.brush.enabled && (l = r.brush(l)), i.chart.stacked && '100%' === i.chart.stackType && (i = r.stacked100(i)), this.checkForDarkTheme( window.Apex), this.checkForDarkTheme( i), i.xaxis = i.xaxis || window.Apex.xaxis || {}, n || (i.xaxis.convertedCatToNumeric = !1), ((i = this.checkForCatToNumericXAxis( this.chartType, l, i)).chart.sparkline && i.chart.sparkline.enabled || window.Apex.chart && window.Apex.chart.sparkline && window.Apex.chart.sparkline.enabled) && (l = r.sparkline(l)), s = p.extend(o, l); } var c = p.extend(s, window.Apex); return o = p.extend(c, i), this.handleUserInputErrors(o); }, }, { key: 'checkForCatToNumericXAxis', value: function (e, t, n) { var i = new j(n), a = 'bar' === e && n.plotOptions && n.plotOptions.bar && n.plotOptions.bar.horizontal, r = 'pie' === e || 'polarArea' === e || 'donut' === e || 'radar' === e || 'radialBar' === e || 'heatmap' === e, o = 'datetime' !== n.xaxis.type && 'numeric' !== n.xaxis.type, s = n.xaxis.tickPlacement ? n.xaxis.tickPlacement : t.xaxis && t.xaxis.tickPlacement; return a || r || !o || 'between' === s || (n = i.convertCatToNumeric(n)), n; }, }, { key: 'extendYAxis', value: function (e, t) { var n = new M; (void 0 === e.yaxis || !e.yaxis || Array.isArray(e.yaxis) && 0 === e.yaxis.length) && (e.yaxis = {}), e.yaxis.constructor !== Array && window.Apex.yaxis && window.Apex.yaxis.constructor !== Array && (e.yaxis = p.extend(e.yaxis, window.Apex.yaxis)), e.yaxis.constructor !== Array ? e.yaxis = [p.extend(n.yAxis, e.yaxis)] : e.yaxis = p.extendArray(e.yaxis, n.yAxis); var i = !1; e.yaxis.forEach( (function (e) {e.logarithmic && (i = !0);})); var a = e.series; return t && !a && (a = t.config.series), i && a.length !== e.yaxis.length && a.length && (e.yaxis = a.map( (function (t, i) { if (t.name || (a[i].name = 'series-'.concat(i + 1)), e.yaxis[i]) return e.yaxis[i].seriesName = a[i].name, e.yaxis[i]; var r = p.extend(n.yAxis, e.yaxis[0]); return r.show = !1, r; }))), i && a.length > 1 && a.length !== e.yaxis.length && console.warn( 'A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both.'), e; }, }, { key: 'extendAnnotations', value: function (e) { return void 0 === e.annotations && (e.annotations = {}, e.annotations.yaxis = [], e.annotations.xaxis = [], e.annotations.points = []), e = this.extendYAxisAnnotations( e), e = this.extendXAxisAnnotations( e), this.extendPointAnnotations(e); }, }, { key: 'extendYAxisAnnotations', value: function (e) { var t = new M; return e.annotations.yaxis = p.extendArray( void 0 !== e.annotations.yaxis ? e.annotations.yaxis : [], t.yAxisAnnotation), e; }, }, { key: 'extendXAxisAnnotations', value: function (e) { var t = new M; return e.annotations.xaxis = p.extendArray( void 0 !== e.annotations.xaxis ? e.annotations.xaxis : [], t.xAxisAnnotation), e; }, }, { key: 'extendPointAnnotations', value: function (e) { var t = new M; return e.annotations.points = p.extendArray( void 0 !== e.annotations.points ? e.annotations.points : [], t.pointAnnotation), e; }, }, { key: 'checkForDarkTheme', value: function (e) { e.theme && 'dark' === e.theme.mode && (e.tooltip || (e.tooltip = {}), 'light' !== e.tooltip.theme && (e.tooltip.theme = 'dark'), e.chart.foreColor || (e.chart.foreColor = '#f6f7f8'), e.chart.background || (e.chart.background = '#424242'), e.theme.palette || (e.theme.palette = 'palette4')); }, }, { key: 'handleUserInputErrors', value: function (e) { var t = e; if (t.tooltip.shared && t.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' === t.chart.type && t.plotOptions.bar.horizontal) { if (t.yaxis.length > 1) throw new Error( 'Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false'); t.yaxis[0].reversed && (t.yaxis[0].opposite = !0), t.xaxis.tooltip.enabled = !1, t.yaxis[0].tooltip.enabled = !1, t.chart.zoom.enabled = !1; } return 'bar' !== t.chart.type && 'rangeBar' !== t.chart.type || t.tooltip.shared && ('barWidth' === t.xaxis.crosshairs.width && t.series.length > 1 && (console.warn( 'crosshairs.width = "barWidth" is only supported in single series, not in a multi-series barChart.'), t.xaxis.crosshairs.width = 'tickWidth'), t.plotOptions.bar.horizontal && (t.states.hover.type = 'none', t.tooltip.shared = !1), t.tooltip.followCursor || (console.warn( 'followCursor option in shared columns cannot be turned off. Please set %ctooltip.followCursor: true', 'color: blue;'), t.tooltip.followCursor = !0)), 'candlestick' === t.chart.type && t.yaxis[0].reversed && (console.warn( 'Reversed y-axis in candlestick chart is not supported.'), t.yaxis[0].reversed = !1), t.chart.group && 0 === t.yaxis[0].labels.minWidth && console.warn( 'It looks like you have multiple charts in synchronization. You must provide yaxis.labels.minWidth which must be EQUAL for all grouped charts to prevent incorrect behaviour.'), Array.isArray( t.stroke.width) && 'line' !== t.chart.type && 'area' !== t.chart.type && (console.warn( 'stroke.width option accepts array only for line and area charts. Reverted back to Number'), t.stroke.width = t.stroke.width[0]), t; }, }]), n; }(), H = function () { function e () {t(this, e);} return i(e, [ { key: 'initGlobalVars', value: function (e) { e.series = [], e.seriesCandleO = [], e.seriesCandleH = [], e.seriesCandleL = [], e.seriesCandleC = [], e.seriesRangeStart = [], e.seriesRangeEnd = [], e.seriesRangeBarTimeline = [], e.seriesPercent = [], e.seriesX = [], e.seriesZ = [], e.seriesNames = [], e.seriesTotals = [], e.seriesLog = [], e.seriesColors = [], e.stackedSeriesTotals = [], e.seriesXvalues = [], e.seriesYvalues = [], e.labels = [], e.categoryLabels = [], e.timescaleLabels = [], e.noLabelsProvided = !1, e.resizeTimer = null, e.selectionResizeTimer = null, e.delayedElements = [], e.pointsArray = [], e.dataLabelsRects = [], e.isXNumeric = !1, e.xaxisLabelsCount = 0, e.skipLastTimelinelabel = !1, e.skipFirstTimelinelabel = !1, e.isDataXYZ = !1, e.isMultiLineX = !1, e.isMultipleYAxis = !1, e.maxY = -Number.MAX_VALUE, e.minY = Number.MIN_VALUE, e.minYArr = [], e.maxYArr = [], e.maxX = -Number.MAX_VALUE, e.minX = Number.MAX_VALUE, e.initialMaxX = -Number.MAX_VALUE, e.initialMinX = Number.MAX_VALUE, e.maxDate = 0, e.minDate = Number.MAX_VALUE, e.minZ = Number.MAX_VALUE, e.maxZ = -Number.MAX_VALUE, e.minXDiff = Number.MAX_VALUE, e.yAxisScale = [], e.xAxisScale = null, e.xAxisTicksPositions = [], e.yLabelsCoords = [], e.yTitleCoords = [], e.barPadForNumericAxis = 0, e.padHorizontal = 0, e.xRange = 0, e.yRange = [], e.zRange = 0, e.dataPoints = 0, e.xTickAmount = 0; }, }, { key: 'globalVars', value: function (e) { 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: e.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: [], noLabelsProvided: !1, allSeriesCollapsed: !1, collapsedSeries: [], collapsedSeriesIndices: [], ancillaryCollapsedSeries: [], ancillaryCollapsedSeriesIndices: [], risingSeries: [], dataFormatXNumeric: !1, capturedSeriesIndex: -1, capturedDataPointIndex: -1, selectedDataPoints: [], goldenPadding: 35, invalidLogScale: !1, ignoreYAxisIndexes: [], yAxisSameScaleIndices: [], maxValsInArrayIndex: 0, radialSize: 0, selection: void 0, zoomEnabled: 'zoom' === e.chart.toolbar.autoSelected && e.chart.toolbar.tools.zoom && e.chart.zoom.enabled, panEnabled: 'pan' === e.chart.toolbar.autoSelected && e.chart.toolbar.tools.pan, selectionEnabled: 'selection' === e.chart.toolbar.autoSelected && e.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, resized: !1, resizeTimer: null, comboCharts: !1, dataChanged: !1, previousPaths: [], allSeriesHasEqualX: !0, pointsArray: [], dataLabelsRects: [], lastDrawnDataLabelsIndexes: [], hasNullValues: !1, easing: null, 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, xAxisLabelsWidth: 0, yAxisLabelsWidth: 0, scaleX: 1, scaleY: 1, translateX: 0, translateY: 0, translateYAxisX: [], yAxisWidths: [], translateXAxisY: 0, translateXAxisX: 0, tooltip: null, }; }, }, { key: 'init', value: function (e) { var t = this.globalVars(e); return this.initGlobalVars(t), t.initialConfig = p.extend( {}, e), t.initialSeries = p.clone( e.series), t.lastXAxis = p.clone( t.initialConfig.xaxis), t.lastYAxis = p.clone( t.initialConfig.yaxis), t; }, }]), e; }(), F = function () { function e (n) {t(this, e), this.opts = n;} return i(e, [ { key: 'init', value: function () { var e = new N(this.opts).init({ responsiveOverride: !1 }); return { config: e, globals: (new H).init(e) }; }, }]), e; }(), R = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w, this.twoDSeries = [], this.threeDSeries = [], this.twoDSeriesX = [], this.coreUtils = new x( this.ctx); } return i(e, [ { key: 'isMultiFormat', value: function () { return this.isFormatXY() || this.isFormat2DArray(); }, }, { key: 'isFormatXY', value: function () { var e = this.w.config.series.slice(), t = new E(this.ctx); if (this.activeSeriesIndex = t.getActiveConfigSeriesIndex(), void 0 !== e[this.activeSeriesIndex].data && e[this.activeSeriesIndex].data.length > 0 && null !== e[this.activeSeriesIndex].data[0] && void 0 !== e[this.activeSeriesIndex].data[0].x && null !== e[this.activeSeriesIndex].data[0]) return !0; }, }, { key: 'isFormat2DArray', value: function () { var e = this.w.config.series.slice(), t = new E(this.ctx); if (this.activeSeriesIndex = t.getActiveConfigSeriesIndex(), void 0 !== e[this.activeSeriesIndex].data && e[this.activeSeriesIndex].data.length > 0 && void 0 !== e[this.activeSeriesIndex].data[0] && null !== e[this.activeSeriesIndex].data[0] && e[this.activeSeriesIndex].data[0].constructor === Array) return !0; }, }, { key: 'handleFormat2DArray', value: function (e, t) { var n = this.w.config, i = this.w.globals; n.xaxis.sorted && ('datetime' === n.xaxis.type ? e[t].data.sort( (function (e, t) { return new Date(e[0]).getTime() - new Date(t[0]).getTime(); })) : 'numeric' === n.xaxis.type && e[t].data.sort( (function (e, t) {return e[0] - t[0];}))); for (var a = 0; a < e[t].data.length; a++) if (void 0 !== e[t].data[a][1] && (Array.isArray(e[t].data[a][1]) && 4 === e[t].data[a][1].length ? this.twoDSeries.push( p.parseNumber(e[t].data[a][1][3])) : 5 === e[t].data[a].length ? this.twoDSeries.push( p.parseNumber(e[t].data[a][4])) : this.twoDSeries.push( p.parseNumber( e[t].data[a][1])), i.dataFormatXNumeric = !0), 'datetime' === n.xaxis.type) { var r = new Date(e[t].data[a][0]); r = new Date(r).getTime(), this.twoDSeriesX.push(r); } else this.twoDSeriesX.push(e[t].data[a][0]); for (var o = 0; o < e[t].data.length; o++) void 0 !== e[t].data[o][2] && (this.threeDSeries.push(e[t].data[o][2]), i.isDataXYZ = !0); }, }, { key: 'handleFormatXY', value: function (e, t) { var n = this.w.config, i = this.w.globals, a = new P(this.ctx), r = t; i.collapsedSeriesIndices.indexOf(t) > -1 && (r = this.activeSeriesIndex), n.xaxis.sorted && ('datetime' === n.xaxis.type ? e[t].data.sort( (function (e, t) { return new Date(e.x).getTime() - new Date(t.x).getTime(); })) : 'numeric' === n.xaxis.type && e[t].data.sort((function (e, t) {return e.x - t.x;}))); for (var o = 0; o < e[t].data.length; o++) void 0 !== e[t].data[o].y && (Array.isArray(e[t].data[o].y) ? this.twoDSeries.push(p.parseNumber( e[t].data[o].y[e[t].data[o].y.length - 1])) : this.twoDSeries.push(p.parseNumber(e[t].data[o].y))); for (var s = 0; s < e[r].data.length; s++) { var l = 'string' == typeof e[r].data[s].x, c = Array.isArray(e[r].data[s].x), u = !c && !!a.isValidDate(e[r].data[s].x.toString()); if (l || u) if (l || n.xaxis.convertedCatToNumeric) { var d = i.isBarHorizontal && i.isRangeData; 'datetime' !== n.xaxis.type || d ? (this.fallbackToCategory = !0, this.twoDSeriesX.push( e[r].data[s].x)) : this.twoDSeriesX.push( a.parseDate(e[r].data[s].x)); } else 'datetime' === n.xaxis.type ? this.twoDSeriesX.push( a.parseDate(e[r].data[s].x.toString())) : (i.dataFormatXNumeric = !0, i.isXNumeric = !0, this.twoDSeriesX.push( parseFloat(e[r].data[s].x))); else c ? (this.fallbackToCategory = !0, this.twoDSeriesX.push( e[r].data[s].x)) : (i.isXNumeric = !0, i.dataFormatXNumeric = !0, this.twoDSeriesX.push( e[r].data[s].x)); } if (e[t].data[0] && void 0 !== e[t].data[0].z) { for (var h = 0; h < e[t].data.length; h++) this.threeDSeries.push( e[t].data[h].z); i.isDataXYZ = !0; } }, }, { key: 'handleRangeData', value: function (e, t) { var n = this.w.config, i = this.w.globals, a = {}; return this.isFormat2DArray() ? a = this.handleRangeDataFormat('array', e, t) : this.isFormatXY() && (a = this.handleRangeDataFormat('xy', e, t)), i.seriesRangeStart.push( a.start), i.seriesRangeEnd.push(a.end), 'datetime' === n.xaxis.type && i.seriesRangeBarTimeline.push( a.rangeUniques), i.seriesRangeBarTimeline.forEach( (function (e, t) { e && e.forEach((function (e, t) { e.y.forEach((function (t, n) { for (var i = 0; i < e.y.length; i++) if (n !== i) { var a = t.y1, r = t.y2, o = e.y[i].y1; a <= e.y[i].y2 && o <= r && (e.overlaps.indexOf(t.rangeName) < 0 && e.overlaps.push( t.rangeName), e.overlaps.indexOf( e.y[i].rangeName) < 0 && e.overlaps.push(e.y[i].rangeName)); } })); })); })), a; }, }, { key: 'handleCandleStickData', value: function (e, t) { var n = this.w.globals, i = {}; return this.isFormat2DArray() ? i = this.handleCandleStickDataFormat('array', e, t) : this.isFormatXY() && (i = this.handleCandleStickDataFormat('xy', e, t)), n.seriesCandleO[t] = i.o, n.seriesCandleH[t] = i.h, n.seriesCandleL[t] = i.l, n.seriesCandleC[t] = i.c, i; }, }, { key: 'handleRangeDataFormat', value: function (e, t, n) { var i = [], a = [], r = t[n].data.filter( (function (e, t, n) { return t === n.findIndex( (function (t) {return t.x === e.x;})); })). map((function (e, t) { return { x: e.x, overlaps: [], y: [], }; })), o = 'Please provide [Start, End] values in valid format. Read more https://apexcharts.com/docs/series/#rangecharts', s = new E(this.ctx).getActiveConfigSeriesIndex(); if ('array' === e) { if (2 !== t[s].data[0][1].length) throw new Error(o); for (var l = 0; l < t[n].data.length; l++) i.push( t[n].data[l][1][0]), a.push(t[n].data[l][1][1]); } else if ('xy' === e) { if (2 !== t[s].data[0].y.length) throw new Error(o); for (var c = function (e) { var o = p.randomId(), s = t[n].data[e].x, l = { y1: t[n].data[e].y[0], y2: t[n].data[e].y[1], rangeName: o, }; t[n].data[e].rangeName = o; var c = r.findIndex( (function (e) {return e.x === s;})); r[c].y.push(l), i.push(l.y1), a.push(l.y2); }, u = 0; u < t[n].data.length; u++) c(u); } return { start: i, end: a, rangeUniques: r }; }, }, { key: 'handleCandleStickDataFormat', value: function (e, t, n) { var i = this.w, a = [], r = [], o = [], s = [], l = 'Please provide [Open, High, Low and Close] values in valid format. Read more https://apexcharts.com/docs/series/#candlestick'; if ('array' === e) { if (!Array.isArray(t[n].data[0][1]) && 5 !== t[n].data[0].length || Array.isArray(t[n].data[0][1]) && 4 !== t[n].data[0][1].length) throw new Error(l); if (5 === t[n].data[0].length) for (var c = 0; c < t[n].data.length; c++) a.push(t[n].data[c][1]), r.push( t[n].data[c][2]), o.push(t[n].data[c][3]), s.push( t[n].data[c][4]); else for (var u = 0; u < t[n].data.length; u++) a.push( t[n].data[u][1][0]), r.push( t[n].data[u][1][1]), o.push( t[n].data[u][1][2]), s.push(t[n].data[u][1][3]); } else if ('xy' === e) { if (!i.globals.comboCharts && 4 !== t[n].data[0].y.length || i.globals.comboCharts && 'candlestick' === t[n].type && t[n].data.length && 4 !== t[n].data[0].y.length) throw new Error(l); for (var d = 0; d < t[n].data.length; d++) a.push( t[n].data[d].y[0]), r.push( t[n].data[d].y[1]), o.push( t[n].data[d].y[2]), s.push(t[n].data[d].y[3]); } return { o: a, h: r, l: o, c: s }; }, }, { key: 'parseDataAxisCharts', value: function (e) { var t = this, n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : this.ctx, i = this.w.config, a = this.w.globals, r = new P(n), o = i.labels.length > 0 ? i.labels.slice() : i.xaxis.categories.slice(); a.isTimelineBar = 'rangeBar' === i.chart.type && 'datetime' === i.xaxis.type; for (var s = function () { for (var e = 0; e < o.length; e++) if ('string' == typeof o[e]) { if (!r.isValidDate(o[e])) throw new Error( 'You have provided invalid Date format. Please provide a valid JavaScript Date'); t.twoDSeriesX.push(r.parseDate(o[e])); } else t.twoDSeriesX.push(o[e]); }, l = 0; l < e.length; l++) { if (this.twoDSeries = [], this.twoDSeriesX = [], this.threeDSeries = [], void 0 === e[l].data) return void console.error( 'It is a possibility that you may have not included \'data\' property in series.'); if ('rangeBar' !== i.chart.type && 'rangeArea' !== i.chart.type && 'rangeBar' !== e[l].type && 'rangeArea' !== e[l].type || (a.isRangeData = !0, this.handleRangeData(e, l)), this.isMultiFormat()) this.isFormat2DArray() ? this.handleFormat2DArray(e, l) : this.isFormatXY() && this.handleFormatXY(e, l), 'candlestick' !== i.chart.type && 'candlestick' !== e[l].type || this.handleCandleStickData(e, l), a.series.push( this.twoDSeries), a.labels.push( this.twoDSeriesX), a.seriesX.push( this.twoDSeriesX), l !== this.activeSeriesIndex || this.fallbackToCategory || (a.isXNumeric = !0); else { 'datetime' === i.xaxis.type ? (a.isXNumeric = !0, s(), a.seriesX.push( this.twoDSeriesX)) : 'numeric' === i.xaxis.type && (a.isXNumeric = !0, o.length > 0 && (this.twoDSeriesX = o, a.seriesX.push( this.twoDSeriesX))), a.labels.push( this.twoDSeriesX); var c = e[l].data.map( (function (e) {return p.parseNumber(e);})); a.series.push(c); } a.seriesZ.push(this.threeDSeries), void 0 !== e[l].name ? a.seriesNames.push(e[l].name) : a.seriesNames.push( 'series-' + parseInt(l + 1, 10)), void 0 !== e[l].color ? a.seriesColors.push(e[l].color) : a.seriesColors.push(void 0); } return this.w; }, }, { key: 'parseDataNonAxisCharts', value: function (e) { var t = this.w.globals, n = this.w.config; t.series = e.slice(), t.seriesNames = n.labels.slice(); for (var i = 0; i < t.series.length; i++) void 0 === t.seriesNames[i] && t.seriesNames.push('series-' + (i + 1)); return this.w; }, }, { key: 'handleExternalLabelsData', value: function (e) { var t = this.w.config, n = this.w.globals; t.xaxis.categories.length > 0 ? n.labels = t.xaxis.categories : t.labels.length > 0 ? n.labels = t.labels.slice() : this.fallbackToCategory ? (n.labels = n.labels[0], n.seriesRangeBarTimeline.length && (n.seriesRangeBarTimeline.map((function (e) { e.forEach((function (e) { n.labels.indexOf(e.x) < 0 && e.x && n.labels.push(e.x); })); })), n.labels = n.labels.filter( (function (e, t, n) { return n.indexOf(e) === t; }))), t.xaxis.convertedCatToNumeric && (new j(t).convertCatToNumericXaxis(t, this.ctx, n.seriesX[0]), this._generateExternalLabels(e))) : this._generateExternalLabels(e); }, }, { key: '_generateExternalLabels', value: function (e) { var t = this.w.globals, n = this.w.config, i = []; if (t.axisCharts) { if (t.series.length > 0) for (var a = 0; a < t.series[t.maxValsInArrayIndex].length; a++) i.push( a + 1); t.seriesX = []; for (var r = 0; r < e.length; r++) t.seriesX.push(i); t.isXNumeric = !0; } if (0 === i.length) { i = t.axisCharts ? [] : t.series.map( (function (e, t) {return t + 1;})); for (var o = 0; o < e.length; o++) t.seriesX.push(i); } t.labels = i, n.xaxis.convertedCatToNumeric && (t.categoryLabels = i.map((function (e) { return n.xaxis.labels.formatter(e); }))), t.noLabelsProvided = !0; }, }, { key: 'parseData', value: function (e) { var t = this.w, n = t.config, i = t.globals; if (this.excludeCollapsedSeriesInYAxis(), this.fallbackToCategory = !1, this.ctx.core.resetGlobals(), this.ctx.core.isMultipleY(), i.axisCharts ? this.parseDataAxisCharts(e) : this.parseDataNonAxisCharts( e), this.coreUtils.getLargestSeries(), 'bar' === n.chart.type && n.chart.stacked) { var a = new E(this.ctx); i.series = a.setNullSeriesToZeroValues(i.series); } this.coreUtils.getSeriesTotals(), i.axisCharts && this.coreUtils.getStackedSeriesTotals(), this.coreUtils.getPercentSeries(), i.dataFormatXNumeric || i.isXNumeric && ('numeric' !== n.xaxis.type || 0 !== n.labels.length || 0 !== n.xaxis.categories.length) || this.handleExternalLabelsData(e); for (var r = this.coreUtils.getCategoryLabels( i.labels), o = 0; o < r.length; o++) if (Array.isArray( r[o])) { i.isMultiLineX = !0; break; } }, }, { key: 'excludeCollapsedSeriesInYAxis', value: function () { var e = this, t = this.w; t.globals.ignoreYAxisIndexes = t.globals.collapsedSeries.map( (function (n, i) { if (e.w.globals.isMultipleYAxis && !t.config.chart.stacked) return n.index; })); }, }]), e; }(), z = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w, this.tooltipKeyFormat = 'dd MMM'; } return i(e, [ { key: 'xLabelFormat', value: function (e, t, n, i) { var a = this.w; if ('datetime' === a.config.xaxis.type && void 0 === a.config.xaxis.labels.formatter && void 0 === a.config.tooltip.x.formatter) { var r = new P(this.ctx); return r.formatDate(r.getDate(t), a.config.tooltip.x.format); } return e(t, n, i); }, }, { key: 'defaultGeneralFormatter', value: function (e) { return Array.isArray(e) ? e.map((function (e) {return e;})) : e; }, }, { key: 'defaultYFormatter', value: function (e, t, n) { var i = this.w; return p.isNumber(e) && (e = 0 !== i.globals.yValueDecimal ? e.toFixed( void 0 !== t.decimalsInFloat ? t.decimalsInFloat : i.globals.yValueDecimal) : i.globals.maxYArr[n] - i.globals.minYArr[n] < 5 ? e.toFixed(1) : e.toFixed(0)), e; }, }, { key: 'setLabelFormatters', value: function () { var e = this, t = this.w; return t.globals.xLabelFormatter = function (t) { return e.defaultGeneralFormatter(t); }, t.globals.xaxisTooltipFormatter = function (t) { return e.defaultGeneralFormatter(t); }, t.globals.ttKeyFormatter = function (t) { return e.defaultGeneralFormatter(t); }, t.globals.ttZFormatter = function (e) {return e;}, t.globals.legendFormatter = function (t) { return e.defaultGeneralFormatter(t); }, void 0 !== t.config.xaxis.labels.formatter ? t.globals.xLabelFormatter = t.config.xaxis.labels.formatter : t.globals.xLabelFormatter = function (e) { return p.isNumber(e) ? !t.config.xaxis.convertedCatToNumeric && 'numeric' === t.config.xaxis.type && t.globals.dataPoints < 50 || t.globals.isBarHorizontal && t.globals.maxY - t.globals.minYArr < 4 ? e.toFixed(1) : e.toFixed(0) : e; }, 'function' == typeof t.config.tooltip.x.formatter ? t.globals.ttKeyFormatter = t.config.tooltip.x.formatter : t.globals.ttKeyFormatter = t.globals.xLabelFormatter, 'function' == typeof t.config.xaxis.tooltip.formatter && (t.globals.xaxisTooltipFormatter = t.config.xaxis.tooltip.formatter), (Array.isArray( t.config.tooltip.y) || void 0 !== t.config.tooltip.y.formatter) && (t.globals.ttVal = t.config.tooltip.y), void 0 !== t.config.tooltip.z.formatter && (t.globals.ttZFormatter = t.config.tooltip.z.formatter), void 0 !== t.config.legend.formatter && (t.globals.legendFormatter = t.config.legend.formatter), t.config.yaxis.forEach( (function (n, i) { void 0 !== n.labels.formatter ? t.globals.yLabelFormatters[i] = n.labels.formatter : t.globals.yLabelFormatters[i] = function (a) { return t.globals.xyCharts ? Array.isArray(a) ? a.map((function (t) { return e.defaultYFormatter(t, n, i); })) : e.defaultYFormatter(a, n, i) : a; }; })), t.globals; }, }, { key: 'heatmapLabelFormatters', value: function () { var e = this.w; if ('heatmap' === e.config.chart.type) { e.globals.yAxisScale[0].result = e.globals.seriesNames.slice(); var t = e.globals.seriesNames.reduce((function (e, t) { return e.length > t.length ? e : t; }), 0); e.globals.yAxisScale[0].niceMax = t, e.globals.yAxisScale[0].niceMin = t; } }, }]), e; }(), B = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'getLabel', value: function (e, t, n, i) { var a = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : [], r = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : '12px', o = this.w, s = void 0 === e[i] ? '' : e[i], l = s, c = o.globals.xLabelFormatter, u = o.config.xaxis.labels.formatter, d = !1, h = new z(this.ctx), f = s; l = h.xLabelFormat(c, s, f, { i: i, dateFormatter: new P(this.ctx).formatDate, w: o, }), void 0 !== u && (l = u(s, e[i], { i: i, dateFormatter: new P(this.ctx).formatDate, w: o, })); var p = function (e) { var n = null; return t.forEach((function (e) { 'month' === e.unit ? n = 'year' : 'day' === e.unit ? n = 'month' : 'hour' === e.unit ? n = 'day' : 'minute' === e.unit && (n = 'hour'); })), n === e; }; t.length > 0 ? (d = p(t[i].unit), n = t[i].position, l = t[i].value) : 'datetime' === o.config.xaxis.type && void 0 === u && (l = ''), void 0 === l && (l = ''), l = Array.isArray(l) ? l : l.toString(); var m = new v(this.ctx), g = {}; g = o.globals.rotateXLabels ? m.getTextRects(l, parseInt(r, 10), null, 'rotate('.concat(o.config.xaxis.labels.rotate, ' 0 0)'), !1) : m.getTextRects(l, parseInt(r, 10)); var y = !o.config.xaxis.labels.showDuplicates && this.ctx.timeScale; return !Array.isArray(l) && (0 === l.indexOf('NaN') || 0 === l.toLowerCase().indexOf('invalid') || l.toLowerCase().indexOf('infinity') >= 0 || a.indexOf(l) >= 0 && y) && (l = ''), { x: n, text: l, textRect: g, isBold: d, }; }, }, { key: 'checkLabelBasedOnTickamount', value: function (e, t, n) { var i = this.w, a = i.config.xaxis.tickAmount; return 'dataPoints' === a && (a = Math.round(i.globals.gridWidth / 120)), a > n || e % Math.round(n / (a + 1)) == 0 || (t.text = ''), t; }, }, { key: 'checkForOverflowingLabels', value: function (e, t, n, i, a) { var r = this.w; if (0 === e && r.globals.skipFirstTimelinelabel && (t.text = ''), e === n - 1 && r.globals.skipLastTimelinelabel && (t.text = ''), r.config.xaxis.labels.hideOverlappingLabels && i.length > 0) { var o = a[a.length - 1]; t.x < o.textRect.width / (r.globals.rotateXLabels ? Math.abs( r.config.xaxis.labels.rotate) / 12 : 1.01) + o.x && (t.text = ''); } return t; }, }, { key: 'checkForReversedLabels', value: function (e, t) { var n = this.w; return n.config.yaxis[e] && n.config.yaxis[e].reversed && t.reverse(), t; }, }, { key: 'isYAxisHidden', value: function (e) { var t = this.w, n = new x(this.ctx); return !t.config.yaxis[e].show || !t.config.yaxis[e].showForNullSeries && n.isSeriesNull(e) && -1 === t.globals.collapsedSeriesIndices.indexOf(e); }, }, { key: 'getYAxisForeColor', value: function (e, t) { var n = this.w; return Array.isArray(e) && n.globals.yAxisScale[t] && this.ctx.theme.pushExtraColors(e, n.globals.yAxisScale[t].result.length, !1), e; }, }, { key: 'drawYAxisTicks', value: function (e, t, n, i, a, r, o) { var s = this.w, l = new v(this.ctx), c = s.globals.translateY; if (i.show && t > 0) { !0 === s.config.yaxis[a].opposite && (e += i.width); for (var u = t; u >= 0; u--) { var d = c + t / 10 + s.config.yaxis[a].labels.offsetY - 1; s.globals.isBarHorizontal && (d = r * u), 'heatmap' === s.config.chart.type && (d += r / 2); var h = l.drawLine( e + n.offsetX - i.width + i.offsetX, d + i.offsetY, e + n.offsetX + i.offsetX, d + i.offsetY, i.color); o.add(h), c += r; } } }, }]), e; }(), W = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'fixSvgStringForIe11', value: function (e) { if (!p.isIE11()) return e; var t = 0, n = e.replace(/xmlns="http:\/\/www.w3.org\/2000\/svg"/g, (function (e) { return 2 == ++t ? 'xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svgjs="http://svgjs.com/svgjs"' : e; })); return (n = n.replace(/xmlns:NS\d+=""/g, '')).replace( /NS\d+:(\w+:\w+=")/g, '$1'); }, }, { key: 'getSvgString', value: function () { var e = this.w.globals.dom.Paper.svg(); return this.fixSvgStringForIe11(e); }, }, { key: 'cleanup', value: function () { var e = this.w, t = e.globals.dom.baseEl.getElementsByClassName( 'apexcharts-xcrosshairs'), n = e.globals.dom.baseEl.getElementsByClassName( 'apexcharts-ycrosshairs'), i = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-zoom-rect, .apexcharts-selection-rect'); Array.prototype.forEach.call(i, (function (e) {e.setAttribute('width', 0);})), t && t[0] && (t[0].setAttribute('x', -500), t[0].setAttribute('x1', -500), t[0].setAttribute('x2', -500)), n && n[0] && (n[0].setAttribute('y', -100), n[0].setAttribute('y1', -100), n[0].setAttribute('y2', -100)); }, }, { key: 'svgUrl', value: function () { this.cleanup(); var e = this.getSvgString(), t = new Blob([e], { type: 'image/svg+xml;charset=utf-8' }); return URL.createObjectURL(t); }, }, { key: 'dataURI', value: function () { var e = this; return new Promise((function (t) { var n = e.w; e.cleanup(); var i = document.createElement('canvas'); i.width = n.globals.svgWidth, i.height = parseInt( n.globals.dom.elWrap.style.height, 10); var a = 'transparent' === n.config.chart.background ? '#fff' : n.config.chart.background, r = i.getContext('2d'); r.fillStyle = a, r.fillRect(0, 0, i.width, i.height); var o = e.getSvgString(); if (window.canvg && p.isIE11()) { var s = window.canvg.Canvg.fromString(r, o, { ignoreClear: !0, ignoreDimensions: !0 }); s.start(); var l = i.msToBlob(); s.stop(), t({ blob: l }); } else { var c = 'data:image/svg+xml,' + encodeURIComponent(o), u = new Image; u.crossOrigin = 'anonymous', u.onload = function () { if (r.drawImage(u, 0, 0), i.msToBlob) { var e = i.msToBlob(); t({ blob: e }); } else { var n = i.toDataURL('image/png'); t({ imgURI: n }); } }, u.src = c; } })); }, }, { key: 'exportToSVG', value: function () { this.triggerDownload(this.svgUrl(), this.w.config.chart.toolbar.export.svg.filename, '.svg'); }, }, { key: 'exportToPng', value: function () { var e = this; this.dataURI(). then((function (t) { var n = t.imgURI, i = t.blob; i ? navigator.msSaveOrOpenBlob(i, e.w.globals.chartID + '.png') : e.triggerDownload(n, e.w.config.chart.toolbar.export.png.filename, '.png'); })); }, }, { key: 'exportToCSV', value: function (e) { var t = this, n = e.series, i = e.columnDelimiter, a = e.lineDelimiter, r = void 0 === a ? '\n' : a, o = this.w, s = [], l = [], c = 'data:text/csv;charset=utf-8,', u = new R(this.ctx), d = new B(this.ctx), h = function (e) { var n = ''; if (o.globals.axisCharts) { if ('category' === o.config.xaxis.type || o.config.xaxis.convertedCatToNumeric) if (o.globals.isBarHorizontal) { var a = o.globals.yLabelFormatters[0], r = new E( t.ctx).getActiveConfigSeriesIndex(); n = a(o.globals.labels[e], { seriesIndex: r, dataPointIndex: e, w: o, }); } else n = d.getLabel(o.globals.labels, o.globals.timescaleLabels, 0, e).text; 'datetime' === o.config.xaxis.type && (o.config.xaxis.categories.length ? n = o.config.xaxis.categories[e] : o.config.labels.length && (n = o.config.labels[e])); } else n = o.config.labels[e]; return p.isNumber(n) ? n : n.split(i).join(''); }; s.push( o.config.chart.toolbar.export.csv.headerCategory), n.map( (function (e, t) { var n = e.name ? e.name : 'series-'.concat(t); o.globals.axisCharts && s.push(n.split(i).join('') ? n.split(i).join('') : 'series-'.concat(t)); })), o.globals.axisCharts || (s.push( o.config.chart.toolbar.export.csv.headerValue), l.push( s.join(i))), n.map((function (e, t) { o.globals.axisCharts ? function (e, t) { if (s.length && 0 === t && l.push(s.join(i)), e.data && e.data.length) for (var a = 0; a < e.data.length; a++) { s = []; var r = h(a); if (r || (u.isFormatXY() ? r = n[t].data[a].x : u.isFormat2DArray() && (r = n[t].data[a] ? n[t].data[a][0] : '')), 0 === t) { s.push((d = r, 'datetime' === o.config.xaxis.type && String(d).length >= 10 ? o.config.chart.toolbar.export.csv.dateFormatter( r) : r.split(i).join(''))); for (var c = 0; c < o.globals.series.length; c++) s.push( o.globals.series[c][a]); } ('candlestick' === o.config.chart.type || e.type && 'candlestick' === e.type) && (s.pop(), s.push( o.globals.seriesCandleO[t][a]), s.push( o.globals.seriesCandleH[t][a]), s.push( o.globals.seriesCandleL[t][a]), s.push( o.globals.seriesCandleC[t][a])), 'rangeBar' === o.config.chart.type && (s.pop(), s.push( o.globals.seriesRangeStart[t][a]), s.push( o.globals.seriesRangeEnd[t][a])), s.length && l.push(s.join(i)); } var d; }(e, t) : ((s = []).push( o.globals.labels[t].split(i).join('')), s.push( o.globals.series[t]), l.push(s.join(i))); })), c += l.join(r), this.triggerDownload(encodeURI(c), o.config.chart.toolbar.export.csv.filename, '.csv'); }, }, { key: 'triggerDownload', value: function (e, t, n) { var i = document.createElement('a'); i.href = e, i.download = (t || this.w.globals.chartID) + n, document.body.appendChild( i), i.click(), document.body.removeChild(i); }, }]), e; }(), V = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w; var i = this.w; this.axesUtils = new B( n), this.xaxisLabels = i.globals.labels.slice(), i.globals.timescaleLabels.length > 0 && !i.globals.isBarHorizontal && (this.xaxisLabels = i.globals.timescaleLabels.slice()), this.drawnLabels = [], this.drawnLabelsRects = [], 'top' === i.config.xaxis.position ? this.offY = 0 : this.offY = i.globals.gridHeight + 1, this.offY = this.offY + i.config.xaxis.axisBorder.offsetY, this.isCategoryBarHorizontal = 'bar' === i.config.chart.type && i.config.plotOptions.bar.horizontal, this.xaxisFontSize = i.config.xaxis.labels.style.fontSize, this.xaxisFontFamily = i.config.xaxis.labels.style.fontFamily, this.xaxisForeColors = i.config.xaxis.labels.style.colors, this.xaxisBorderWidth = i.config.xaxis.axisBorder.width, this.isCategoryBarHorizontal && (this.xaxisBorderWidth = i.config.yaxis[0].axisBorder.width.toString()), this.xaxisBorderWidth.indexOf( '%') > -1 ? this.xaxisBorderWidth = i.globals.gridWidth * parseInt(this.xaxisBorderWidth, 10) / 100 : this.xaxisBorderWidth = parseInt(this.xaxisBorderWidth, 10), this.xaxisBorderHeight = i.config.xaxis.axisBorder.height, this.yaxis = i.config.yaxis[0]; } return i(e, [ { key: 'drawXaxis', value: function () { var e, t = this, n = this.w, i = new v(this.ctx), a = i.group({ class: 'apexcharts-xaxis', transform: 'translate('.concat( n.config.xaxis.offsetX, ', '). concat(n.config.xaxis.offsetY, ')'), }), r = i.group({ class: 'apexcharts-xaxis-texts-g', transform: 'translate('.concat( n.globals.translateXAxisX, ', '). concat(n.globals.translateXAxisY, ')'), }); a.add(r); for (var o = n.globals.padHorizontal, s = [], l = 0; l < this.xaxisLabels.length; l++) s.push(this.xaxisLabels[l]); var c = s.length; if (n.globals.isXNumeric) { var u = c > 1 ? c - 1 : c; e = n.globals.gridWidth / u, o = o + e / 2 + n.config.xaxis.labels.offsetX; } else e = n.globals.gridWidth / s.length, o = o + e + n.config.xaxis.labels.offsetX; for (var d = function (a) { var l = o - e / 2 + n.config.xaxis.labels.offsetX; 0 === a && 1 === c && e / 2 === o && 1 === n.globals.dataPoints && (l = n.globals.gridWidth / 2); var u = t.axesUtils.getLabel(s, n.globals.timescaleLabels, l, a, t.drawnLabels, t.xaxisFontSize), d = 28; if (n.globals.rotateXLabels && (d = 22), (u = void 0 !== n.config.xaxis.tickAmount && 'dataPoints' !== n.config.xaxis.tickAmount && 'datetime' !== n.config.xaxis.type ? t.axesUtils.checkLabelBasedOnTickamount(a, u, c) : t.axesUtils.checkForOverflowingLabels(a, u, c, t.drawnLabels, t.drawnLabelsRects)).text && n.globals.xaxisLabelsCount++, n.config.xaxis.labels.show) { var h = i.drawText({ x: u.x, y: t.offY + n.config.xaxis.labels.offsetY + d - ('top' === n.config.xaxis.position ? n.globals.xAxisHeight + n.config.xaxis.axisTicks.height - 2 : 0), text: u.text, textAnchor: 'middle', fontWeight: u.isBold ? 600 : n.config.xaxis.labels.style.fontWeight, fontSize: t.xaxisFontSize, fontFamily: t.xaxisFontFamily, foreColor: Array.isArray(t.xaxisForeColors) ? n.config.xaxis.convertedCatToNumeric ? t.xaxisForeColors[n.globals.minX + a - 1] : t.xaxisForeColors[a] : t.xaxisForeColors, isPlainText: !1, cssClass: 'apexcharts-xaxis-label ' + n.config.xaxis.labels.style.cssClass, }); r.add(h); var f = document.createElementNS(n.globals.SVGNS, 'title'); f.textContent = Array.isArray(u.text) ? u.text.join( ' ') : u.text, h.node.appendChild(f), '' !== u.text && (t.drawnLabels.push( u.text), t.drawnLabelsRects.push(u)); } o += e; }, h = 0; h <= c - 1; h++) d(h); if (void 0 !== n.config.xaxis.title.text) { var f = i.group({ class: 'apexcharts-xaxis-title' }), p = i.drawText({ x: n.globals.gridWidth / 2 + n.config.xaxis.title.offsetX, y: this.offY - parseFloat(this.xaxisFontSize) + n.globals.xAxisLabelsHeight + n.config.xaxis.title.offsetY, text: n.config.xaxis.title.text, textAnchor: 'middle', fontSize: n.config.xaxis.title.style.fontSize, fontFamily: n.config.xaxis.title.style.fontFamily, fontWeight: n.config.xaxis.title.style.fontWeight, foreColor: n.config.xaxis.title.style.color, cssClass: 'apexcharts-xaxis-title-text ' + n.config.xaxis.title.style.cssClass, }); f.add(p), a.add(f); } if (n.config.xaxis.axisBorder.show) { var m = n.globals.barPadForNumericAxis, g = i.drawLine( n.globals.padHorizontal + n.config.xaxis.axisBorder.offsetX - m, this.offY, this.xaxisBorderWidth + m, this.offY, n.config.xaxis.axisBorder.color, 0, this.xaxisBorderHeight); a.add(g); } return a; }, }, { key: 'drawXaxisInversed', value: function (e) { var t, n, i = this, a = this.w, r = new v(this.ctx), o = a.config.yaxis[0].opposite ? a.globals.translateYAxisX[e] : 0, s = r.group({ class: 'apexcharts-yaxis apexcharts-xaxis-inversed', rel: e, }), l = r.group({ class: 'apexcharts-yaxis-texts-g apexcharts-xaxis-inversed-texts-g', transform: 'translate(' + o + ', 0)', }); s.add(l); var c = []; if (a.config.yaxis[e].show) for (var u = 0; u < this.xaxisLabels.length; u++) c.push(this.xaxisLabels[u]); t = a.globals.gridHeight / c.length, n = -t / 2.2; var d = a.globals.yLabelFormatters[0], h = a.config.yaxis[0].labels; if (h.show) for (var f = function (o) { var s = void 0 === c[o] ? '' : c[o]; s = d(s, { seriesIndex: e, dataPointIndex: o, w: a }); var u = i.axesUtils.getYAxisForeColor(h.style.colors, e), f = 0; Array.isArray(s) && (f = s.length / 2 * parseInt(h.style.fontSize, 10)); var p = r.drawText({ x: h.offsetX - 15, y: n + t + h.offsetY - f, text: s, textAnchor: i.yaxis.opposite ? 'start' : 'end', foreColor: Array.isArray(u) ? u[o] : u, fontSize: h.style.fontSize, fontFamily: h.style.fontFamily, fontWeight: h.style.fontWeight, isPlainText: !1, cssClass: 'apexcharts-yaxis-label ' + h.style.cssClass, }); l.add(p); var m = document.createElementNS(a.globals.SVGNS, 'title'); if (m.textContent = s.text, p.node.appendChild(m), 0 !== a.config.yaxis[e].labels.rotate) { var g = r.rotateAroundCenter(p.node); p.node.setAttribute('transform', 'rotate('.concat( a.config.yaxis[e].labels.rotate, ' 0 '). concat(g.y, ')')); } n += t; }, p = 0; p <= c.length - 1; p++) f(p); if (void 0 !== a.config.yaxis[0].title.text) { var m = r.group({ class: 'apexcharts-yaxis-title apexcharts-xaxis-title-inversed', transform: 'translate(' + o + ', 0)', }), g = r.drawText({ x: 0, y: a.globals.gridHeight / 2, text: a.config.yaxis[0].title.text, textAnchor: 'middle', foreColor: a.config.yaxis[0].title.style.color, fontSize: a.config.yaxis[0].title.style.fontSize, fontWeight: a.config.yaxis[0].title.style.fontWeight, fontFamily: a.config.yaxis[0].title.style.fontFamily, cssClass: 'apexcharts-yaxis-title-text ' + a.config.yaxis[0].title.style.cssClass, }); m.add(g), s.add(m); } var y = 0; this.isCategoryBarHorizontal && a.config.yaxis[0].opposite && (y = a.globals.gridWidth); var b = a.config.xaxis.axisBorder; if (b.show) { var x = r.drawLine( a.globals.padHorizontal + b.offsetX + y, 1 + b.offsetY, a.globals.padHorizontal + b.offsetX + y, a.globals.gridHeight + b.offsetY, b.color, 0); s.add(x); } return a.config.yaxis[0].axisTicks.show && this.axesUtils.drawYAxisTicks(y, c.length, a.config.yaxis[0].axisBorder, a.config.yaxis[0].axisTicks, 0, t, s), s; }, }, { key: 'drawXaxisTicks', value: function (e, t) { var n = this.w, i = e; if (!(e < 0 || e - 2 > n.globals.gridWidth)) { var a = this.offY + n.config.xaxis.axisTicks.offsetY, r = a + n.config.xaxis.axisTicks.height; if ('top' === n.config.xaxis.position && (r = a - n.config.xaxis.axisTicks.height), n.config.xaxis.axisTicks.show) { var o = new v(this.ctx).drawLine( e + n.config.xaxis.axisTicks.offsetX, a + n.config.xaxis.offsetY, i + n.config.xaxis.axisTicks.offsetX, r + n.config.xaxis.offsetY, n.config.xaxis.axisTicks.color); t.add(o), o.node.classList.add( 'apexcharts-xaxis-tick'); } } }, }, { key: 'getXAxisTicksPositions', value: function () { var e = this.w, t = [], n = this.xaxisLabels.length, i = e.globals.padHorizontal; if (e.globals.timescaleLabels.length > 0) for (var a = 0; a < n; a++) i = this.xaxisLabels[a].position, t.push( i); else for (var r = n, o = 0; o < r; o++) { var s = r; e.globals.isXNumeric && 'bar' !== e.config.chart.type && (s -= 1), i += e.globals.gridWidth / s, t.push(i); } return t; }, }, { key: 'xAxisLabelCorrections', value: function () { var e = this.w, t = new v(this.ctx), n = e.globals.dom.baseEl.querySelector( '.apexcharts-xaxis-texts-g'), i = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-xaxis-texts-g text'), a = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-yaxis-inversed text'), r = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-xaxis-inversed-texts-g text tspan'); if (e.globals.rotateXLabels || e.config.xaxis.labels.rotateAlways) for (var o = 0; o < i.length; o++) { var s = t.rotateAroundCenter(i[o]); s.y = s.y - 1, s.x = s.x + 1, i[o].setAttribute( 'transform', 'rotate('.concat(e.config.xaxis.labels.rotate, ' '). concat(s.x, ' '). concat(s.y, ')')), i[o].setAttribute( 'text-anchor', 'end'), n.setAttribute('transform', 'translate(0, '.concat(-10, ')')); var l = i[o].childNodes; e.config.xaxis.labels.trim && Array.prototype.forEach.call(l, (function (n) { t.placeTextWithEllipsis(n, n.textContent, e.config.xaxis.labels.maxHeight - ('bottom' === e.config.legend.position ? 20 : 10)); })); } else !function () { for (var n = e.globals.gridWidth / (e.globals.labels.length + 1), a = 0; a < i.length; a++) { var r = i[a].childNodes; e.config.xaxis.labels.trim && 'datetime' !== e.config.xaxis.type && Array.prototype.forEach.call(r, (function (e) { t.placeTextWithEllipsis(e, e.textContent, n); })); } }(); if (a.length > 0) { var c = a[a.length - 1].getBBox(), u = a[0].getBBox(); c.x < -20 && a[a.length - 1].parentNode.removeChild( a[a.length - 1]), u.x + u.width > e.globals.gridWidth && !e.globals.isBarHorizontal && a[0].parentNode.removeChild(a[0]); for (var d = 0; d < r.length; d++) t.placeTextWithEllipsis(r[d], r[d].textContent, e.config.yaxis[0].labels.maxWidth - 2 * parseFloat(e.config.yaxis[0].title.style.fontSize) - 20); } }, }]), e; }(), q = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w; var i = this.w; this.xaxisLabels = i.globals.labels.slice(), this.axesUtils = new B( n), this.isTimelineBar = 'datetime' === i.config.xaxis.type && i.globals.seriesRangeBarTimeline.length, i.globals.timescaleLabels.length > 0 && (this.xaxisLabels = i.globals.timescaleLabels.slice()); } return i(e, [ { key: 'drawGridArea', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, t = this.w, n = new v(this.ctx); null === e && (e = n.group({ class: 'apexcharts-grid' })); var i = n.drawLine(t.globals.padHorizontal, 1, t.globals.padHorizontal, t.globals.gridHeight, 'transparent'), a = n.drawLine(t.globals.padHorizontal, t.globals.gridHeight, t.globals.gridWidth, t.globals.gridHeight, 'transparent'); return e.add(a), e.add(i), e; }, }, { key: 'drawGrid', value: function () { var e = null; return this.w.globals.axisCharts && (e = this.renderGrid(), this.drawGridArea(e.el)), e; }, }, { key: 'createGridMask', value: function () { var e = this.w, t = e.globals, n = new v(this.ctx), i = Array.isArray(e.config.stroke.width) ? 0 : e.config.stroke.width; if (Array.isArray(e.config.stroke.width)) { var a = 0; e.config.stroke.width.forEach( (function (e) {a = Math.max(a, e);})), i = a; } t.dom.elGridRectMask = document.createElementNS(t.SVGNS, 'clipPath'), t.dom.elGridRectMask.setAttribute('id', 'gridRectMask'.concat( t.cuid)), t.dom.elGridRectMarkerMask = document.createElementNS( t.SVGNS, 'clipPath'), t.dom.elGridRectMarkerMask.setAttribute( 'id', 'gridRectMarkerMask'.concat(t.cuid)); var r = e.config.chart.type, o = 0, s = 0; ('bar' === r || 'rangeBar' === r || e.globals.comboBarCount > 0) && e.globals.isXNumeric && !e.globals.isBarHorizontal && (o = e.config.grid.padding.left, s = e.config.grid.padding.right, t.barPadForNumericAxis > o && (o = t.barPadForNumericAxis, s = t.barPadForNumericAxis)), t.dom.elGridRect = n.drawRect( -i / 2 - o - 2, -i / 2, t.gridWidth + i + s + o + 4, t.gridHeight + i, 0, '#fff'), new x( this).getLargestMarkerSize(); var l = e.globals.markers.largestSize + 1; t.dom.elGridRectMarker = n.drawRect(2 * -l, 2 * -l, t.gridWidth + 4 * l, t.gridHeight + 4 * l, 0, '#fff'), t.dom.elGridRectMask.appendChild( t.dom.elGridRect.node), t.dom.elGridRectMarkerMask.appendChild( t.dom.elGridRectMarker.node); var c = t.dom.baseEl.querySelector('defs'); c.appendChild(t.dom.elGridRectMask), c.appendChild( t.dom.elGridRectMarkerMask); }, }, { key: '_drawGridLines', value: function (e) { var t = e.i, n = e.x1, i = e.y1, a = e.x2, r = e.y2, o = e.xCount, s = e.parent, l = this.w; 0 === t && l.globals.skipFirstTimelinelabel || t === o - 1 && l.globals.skipLastTimelinelabel && !l.config.xaxis.labels.formatter || 'radar' === l.config.chart.type || (l.config.grid.xaxis.lines.show && this._drawGridLine( { x1: n, y1: i, x2: a, y2: r, parent: s }), new V( this.ctx).drawXaxisTicks(n, this.elg)); }, }, { key: '_drawGridLine', value: function (e) { var t = e.x1, n = e.y1, i = e.x2, a = e.y2, r = e.parent, o = this.w, s = r.node.classList.contains( 'apexcharts-gridlines-horizontal'), l = o.config.grid.strokeDashArray, c = o.globals.barPadForNumericAxis, u = new v(this).drawLine(t - (s ? c : 0), n, i + (s ? c : 0), a, o.config.grid.borderColor, l); u.node.classList.add('apexcharts-gridline'), r.add(u); }, }, { key: '_drawGridBandRect', value: function (e) { var t = e.c, n = e.x1, i = e.y1, a = e.x2, r = e.y2, o = e.type, s = this.w, l = new v(this.ctx), c = s.globals.barPadForNumericAxis; if ('column' !== o || 'datetime' !== s.config.xaxis.type) { var u = s.config.grid[o].colors[t], d = l.drawRect(n - ('row' === o ? c : 0), i, a + ('row' === o ? 2 * c : 0), r, 0, u, s.config.grid[o].opacity); this.elg.add(d), d.attr('clip-path', 'url(#gridRectMask'.concat(s.globals.cuid, ')')), d.node.classList.add( 'apexcharts-grid-'.concat(o)); } }, }, { key: '_drawXYLines', value: function (e) { var t = this, n = e.xCount, i = e.tickAmount, a = this.w; if (a.config.grid.xaxis.lines.show || a.config.xaxis.axisTicks.show) { var r, o = a.globals.padHorizontal, s = a.globals.gridHeight; a.globals.timescaleLabels.length ? function (e) { for (var i = e.xC, a = e.x1, r = e.y1, o = e.x2, s = e.y2, l = 0; l < i; l++) a = t.xaxisLabels[l].position, o = t.xaxisLabels[l].position, t._drawGridLines( { i: l, x1: a, y1: r, x2: o, y2: s, xCount: n, parent: t.elgridLinesV, }); }({ xC: n, x1: o, y1: 0, x2: r, y2: s }) : (a.globals.isXNumeric && (n = a.globals.xAxisScale.result.length), a.config.xaxis.convertedCatToNumeric && (n = a.globals.xaxisLabelsCount), function (e) { var i = e.xC, r = e.x1, o = e.y1, s = e.x2, l = e.y2; if (void 0 !== a.config.xaxis.tickAmount && 'dataPoints' !== a.config.xaxis.tickAmount) a.globals.dom.baseEl.querySelectorAll( '.apexcharts-text.apexcharts-xaxis-label tspan:not(:empty)'). forEach((function (e, i) { var a = e.getBBox(); t._drawGridLines({ i: i, x1: a.x + a.width / 2, y1: o, x2: a.x + a.width / 2, y2: l, xCount: n, parent: t.elgridLinesV, }); })); else for (var c = 0; c < i + (a.globals.isXNumeric ? 0 : 1); c++) 0 === c && 1 === i && 1 === a.globals.dataPoints && (s = r = a.globals.gridWidth / 2), t._drawGridLines( { i: c, x1: r, y1: o, x2: s, y2: l, xCount: n, parent: t.elgridLinesV, }), s = r += a.globals.gridWidth / (a.globals.isXNumeric ? i - 1 : i); }({ xC: n, x1: o, y1: 0, x2: r, y2: s })); } if (a.config.grid.yaxis.lines.show) { var l = 0, c = 0, u = a.globals.gridWidth, d = i + 1; this.isTimelineBar && (d = a.globals.labels.length); for (var h = 0; h < d + (this.isTimelineBar ? 1 : 0); h++) this._drawGridLine({ x1: 0, y1: l, x2: u, y2: c, parent: this.elgridLinesH, }), c = l += a.globals.gridHeight / (this.isTimelineBar ? d : i); } }, }, { key: '_drawInvertedXYLines', value: function (e) { var t = e.xCount, n = this.w; if (n.config.grid.xaxis.lines.show || n.config.xaxis.axisTicks.show) for (var i, a = n.globals.padHorizontal, r = n.globals.gridHeight, o = 0; o < t + 1; o++) n.config.grid.xaxis.lines.show && this._drawGridLine({ x1: a, y1: 0, x2: i, y2: r, parent: this.elgridLinesV, }), new V(this.ctx).drawXaxisTicks(a, this.elg), i = a = a + n.globals.gridWidth / t + .3; if (n.config.grid.yaxis.lines.show) for (var s = 0, l = 0, c = n.globals.gridWidth, u = 0; u < n.globals.dataPoints + 1; u++) this._drawGridLine({ x1: 0, y1: s, x2: c, y2: l, parent: this.elgridLinesH, }), l = s += n.globals.gridHeight / n.globals.dataPoints; }, }, { key: 'renderGrid', value: function () { var e = this.w, t = new v(this.ctx); this.elg = t.group( { class: 'apexcharts-grid' }), this.elgridLinesH = t.group( { class: 'apexcharts-gridlines-horizontal' }), this.elgridLinesV = t.group( { class: 'apexcharts-gridlines-vertical' }), this.elg.add( this.elgridLinesH), this.elg.add( this.elgridLinesV), e.config.grid.show || (this.elgridLinesV.hide(), this.elgridLinesH.hide()); for (var n, i = e.globals.yAxisScale.length ? e.globals.yAxisScale[0].result.length - 1 : 5, a = 0; a < e.globals.series.length && (void 0 !== e.globals.yAxisScale[a] && (i = e.globals.yAxisScale[a].result.length - 1), !(i > 2)); a++) ; return !e.globals.isBarHorizontal || this.isTimelineBar ? (n = this.xaxisLabels.length, this.isTimelineBar && (i = e.globals.labels.length, e.config.xaxis.tickAmount && e.config.xaxis.labels.formatter && (n = e.config.xaxis.tickAmount)), this._drawXYLines( { xCount: n, tickAmount: i })) : (n = i, i = e.globals.xTickAmount, this._drawInvertedXYLines( { xCount: n, tickAmount: i })), this.drawGridBands( n, i), { el: this.elg, xAxisTickWidth: e.globals.gridWidth / n, }; }, }, { key: 'drawGridBands', value: function (e, t) { var n = this.w; if (void 0 !== n.config.grid.row.colors && n.config.grid.row.colors.length > 0) for (var i = 0, a = n.globals.gridHeight / t, r = n.globals.gridWidth, o = 0, s = 0; o < t; o++, s++) s >= n.config.grid.row.colors.length && (s = 0), this._drawGridBandRect({ c: s, x1: 0, y1: i, x2: r, y2: a, type: 'row', }), i += n.globals.gridHeight / t; if (void 0 !== n.config.grid.column.colors && n.config.grid.column.colors.length > 0) for (var l = n.globals.isBarHorizontal || 'category' !== n.config.xaxis.type && !n.config.xaxis.convertedCatToNumeric ? e : e - 1, c = n.globals.padHorizontal, u = n.globals.padHorizontal + n.globals.gridWidth / l, d = n.globals.gridHeight, h = 0, f = 0; h < e; h++, f++) f >= n.config.grid.column.colors.length && (f = 0), this._drawGridBandRect({ c: f, x1: c, y1: 0, x2: u, y2: d, type: 'column', }), c += n.globals.gridWidth / l; }, }]), e; }(), U = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'niceScale', value: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 10, i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 0, a = arguments.length > 4 ? arguments[4] : void 0, r = this.w, o = Math.abs(t - e); if ('dataPoints' === (n = this._adjustTicksForSmallRange(n, i, o)) && (n = r.globals.dataPoints - 1), e === Number.MIN_VALUE && 0 === t || !p.isNumber(e) && !p.isNumber(t) || e === Number.MIN_VALUE && t === -Number.MAX_VALUE) { e = 0, t = n; var s = this.linearScale(e, t, n); return s; } e > t ? (console.warn( 'axis.min cannot be greater than axis.max'), t = e + .1) : e === t && (e = 0 === e ? 0 : e - .5, t = 0 === t ? 2 : t + .5); var l = []; o < 1 && a && ('candlestick' === r.config.chart.type || 'candlestick' === r.config.series[i].type || r.globals.isRangeData) && (t *= 1.01); var c = n + 1; c < 2 ? c = 2 : c > 2 && (c -= 2); var u = o / c, d = Math.floor(p.log10(u)), h = Math.pow(10, d), f = Math.round(u / h); f < 1 && (f = 1); var m = f * h, g = m * Math.floor(e / m), v = m * Math.ceil(t / m), y = g; if (a && o > 2) { for (; l.push(y), !((y += m) > v);) ; return { result: l, niceMin: l[0], niceMax: l[l.length - 1], }; } var b = e; (l = []).push(b); for (var x = Math.abs(t - e) / n, _ = 0; _ <= n; _++) b += x, l.push(b); return l[l.length - 2] >= t && l.pop(), { result: l, niceMin: l[0], niceMax: l[l.length - 1], }; }, }, { key: 'linearScale', value: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : 10, i = arguments.length > 3 ? arguments[3] : void 0, a = Math.abs(t - e), r = a / (n = this._adjustTicksForSmallRange(n, i, a)); n === Number.MAX_VALUE && (n = 10, r = 1); for (var o = [], s = e; n >= 0;) o.push(s), s += r, n -= 1; return { result: o, niceMin: o[0], niceMax: o[o.length - 1], }; }, }, { key: 'logarithmicScale', value: function (e) { for (var t = [], n = Math.ceil(Math.log10(e)) + 1, i = 0; i < n; i++) t.push(Math.pow(10, i)); return { result: t, niceMin: t[0], niceMax: t[t.length - 1], }; }, }, { key: '_adjustTicksForSmallRange', value: function (e, t, n) { var i = e; if (void 0 !== t && this.w.config.yaxis[t].labels.formatter && void 0 === this.w.config.yaxis[t].tickAmount) { var a = this.w.config.yaxis[t].labels.formatter(1); p.isNumber(Number(a)) && !p.isFloat(a) && (i = Math.ceil(n)); } return i < e ? i : e; }, }, { key: 'setYScaleForIndex', value: function (e, t, n) { var i = this.w.globals, a = this.w.config, r = i.isBarHorizontal ? a.xaxis : a.yaxis[e]; void 0 === i.yAxisScale[e] && (i.yAxisScale[e] = []); var o = Math.abs(n - t); if (r.logarithmic && o <= 5 && (i.invalidLogScale = !0), r.logarithmic && o > 5) i.allSeriesCollapsed = !1, i.yAxisScale[e] = this.logarithmicScale( n); else if (n !== -Number.MAX_VALUE && p.isNumber(n)) if (i.allSeriesCollapsed = !1, void 0 === r.min && void 0 === r.max || r.forceNiceScale) { var s = void 0 === a.yaxis[e].max && void 0 === a.yaxis[e].min || a.yaxis[e].forceNiceScale; i.yAxisScale[e] = this.niceScale(t, n, r.tickAmount ? r.tickAmount : o < 5 && o > 1 ? o + 1 : 5, e, s); } else i.yAxisScale[e] = this.linearScale(t, n, r.tickAmount, e); else i.yAxisScale[e] = this.linearScale(0, 5, 5); }, }, { key: 'setXScale', value: function (e, t) { var n = this.w, i = n.globals, a = n.config.xaxis, r = Math.abs(t - e); return t !== -Number.MAX_VALUE && p.isNumber(t) ? i.xAxisScale = this.niceScale(e, t, a.tickAmount ? a.tickAmount : r < 5 && r > 1 ? r + 1 : 5, 0) : i.xAxisScale = this.linearScale(0, 5, 5), i.xAxisScale; }, }, { key: 'setMultipleYScales', value: function () { var e = this, t = this.w.globals, n = this.w.config, i = t.minYArr.concat([]), a = t.maxYArr.concat([]), r = []; n.yaxis.forEach((function (t, o) { var s = o; n.series.forEach((function (e, n) { e.name === t.seriesName && (s = n, o !== n ? r.push( { index: n, similarIndex: o, alreadyExists: !0, }) : r.push({ index: n })); })); var l = i[s], c = a[s]; e.setYScaleForIndex(o, l, c); })), this.sameScaleInMultipleAxes(i, a, r); }, }, { key: 'sameScaleInMultipleAxes', value: function (e, t, n) { var i = this, a = this.w.config, r = this.w.globals, o = []; n.forEach((function (e) { e.alreadyExists && (void 0 === o[e.index] && (o[e.index] = []), o[e.index].push( e.index), o[e.index].push(e.similarIndex)); })), r.yAxisSameScaleIndices = o, o.forEach( (function (e, t) { o.forEach((function (n, i) { var a, r; t !== i && (a = e, r = n, a.filter( (function (e) { return -1 !== r.indexOf(e); }))).length > 0 && (o[t] = o[t].concat(o[i])); })); })); var s = o.map((function (e) { return e.filter( (function (t, n) {return e.indexOf(t) === n;})); })).map((function (e) {return e.sort();})); o = o.filter((function (e) {return !!e;})); var l = s.slice(), c = l.map((function (e) {return JSON.stringify(e);})); l = l.filter((function (e, t) { return c.indexOf(JSON.stringify(e)) === t; })); var u = [], d = []; e.forEach((function (e, n) { l.forEach((function (i, a) { i.indexOf(n) > -1 && (void 0 === u[a] && (u[a] = [], d[a] = []), u[a].push( { key: n, value: e }), d[a].push( { key: n, value: t[n] })); })); })); var h = Array.apply(null, Array(l.length)). map(Number.prototype.valueOf, Number.MIN_VALUE), f = Array.apply(null, Array(l.length)). map(Number.prototype.valueOf, -Number.MAX_VALUE); u.forEach((function (e, t) { e.forEach( (function (e, n) { h[t] = Math.min(e.value, h[t]); })); })), d.forEach((function (e, t) { e.forEach( (function (e, n) { f[t] = Math.max(e.value, f[t]); })); })), e.forEach((function (e, t) { d.forEach((function (e, n) { var o = h[n], s = f[n]; a.chart.stacked && (s = 0, e.forEach( (function (e, t) { e.value !== -Number.MAX_VALUE && (s += e.value), o !== Number.MIN_VALUE && (o += u[n][t].value); }))), e.forEach((function (n, l) { e[l].key === t && (void 0 !== a.yaxis[t].min && (o = 'function' == typeof a.yaxis[t].min ? a.yaxis[t].min(r.minY) : a.yaxis[t].min), void 0 !== a.yaxis[t].max && (s = 'function' == typeof a.yaxis[t].max ? a.yaxis[t].max(r.maxY) : a.yaxis[t].max), i.setYScaleForIndex(t, o, s)); })); })); })); }, }, { key: 'autoScaleY', value: function (e, t, n) { e || (e = this); var i = e.w; if (i.globals.isMultipleYAxis || i.globals.collapsedSeries.length) return console.warn( 'autoScaleYaxis is not supported in a multi-yaxis chart.'), t; var a = i.globals.seriesX[0], r = i.config.chart.stacked; return t.forEach((function (e, o) { for (var s = 0, l = 0; l < a.length; l++) if (a[l] >= n.xaxis.min) { s = l; break; } var c, u, d = i.globals.minYArr[o], h = i.globals.maxYArr[o], f = i.globals.stackedSeriesTotals; i.globals.series.forEach((function (o, l) { var p = o[s]; r ? (p = f[s], c = u = p, f.forEach( (function (e, t) { a[t] <= n.xaxis.max && a[t] >= n.xaxis.min && (e > u && null !== e && (u = e), o[t] < c && null !== o[t] && (c = o[t])); }))) : (c = u = p, o.forEach((function (e, t) { if (a[t] <= n.xaxis.max && a[t] >= n.xaxis.min) { var r = e, o = e; i.globals.series.forEach((function (n, i) { null !== e && (r = Math.min(n[t], r), o = Math.max( n[t], o)); })), o > u && null !== o && (u = o), r < c && null !== r && (c = r); } }))), void 0 === c && void 0 === u && (c = d, u = h), (u *= u < 0 ? .9 : 1.1) < 0 && u < h && (u = h), (c *= c < 0 ? 1.1 : .9) < 0 && c > d && (c = d), t.length > 1 ? (t[l].min = void 0 === e.min ? c : e.min, t[l].max = void 0 === e.max ? u : e.max) : (t[0].min = void 0 === e.min ? c : e.min, t[0].max = void 0 === e.max ? u : e.max); })); })), t; }, }]), e; }(), X = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w, this.scales = new U(n); } return i(e, [ { key: 'init', value: function () {this.setYRange(), this.setXRange(), this.setZRange();}, }, { key: 'getMinYMaxY', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : Number.MAX_VALUE, n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : -Number.MAX_VALUE, i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null, a = this.w.config, r = this.w.globals, o = -Number.MAX_VALUE, s = Number.MIN_VALUE; null === i && (i = e + 1); var l = r.series, c = l, u = l; 'candlestick' === a.chart.type ? (c = r.seriesCandleL, u = r.seriesCandleH) : r.isRangeData && (c = r.seriesRangeStart, u = r.seriesRangeEnd); for (var d = e; d < i; d++) { r.dataPoints = Math.max(r.dataPoints, l[d].length); for (var h = 0; h < r.series[d].length; h++) { var f = l[d][h]; null !== f && p.isNumber(f) ? (o = Math.max(o, u[d][h]), t = Math.min(t, c[d][h]), n = Math.max(n, c[d][h]), 'candlestick' === this.w.config.chart.type && (o = Math.max(o, r.seriesCandleO[d][h]), o = Math.max(o, r.seriesCandleH[d][h]), o = Math.max(o, r.seriesCandleL[d][h]), n = o = Math.max(o, r.seriesCandleC[d][h])), p.isFloat(f) && (f = p.noExponents(f), r.yValueDecimal = Math.max( r.yValueDecimal, f.toString().split('.')[1].length)), s > c[d][h] && c[d][h] < 0 && (s = c[d][h])) : r.hasNullValues = !0; } } return 'rangeBar' === a.chart.type && r.seriesRangeStart.length && r.isBarHorizontal && 'datetime' === a.xaxis.type && (s = t), 'bar' === a.chart.type && (s < 0 && o < 0 && (o = 0), s === Number.MIN_VALUE && (s = 0)), { minY: s, maxY: o, lowestY: t, highestY: n }; }, }, { key: 'setYRange', value: function () { var e = this.w.globals, t = this.w.config; e.maxY = -Number.MAX_VALUE, e.minY = Number.MIN_VALUE; var n = Number.MAX_VALUE; if (e.isMultipleYAxis) for (var i = 0; i < e.series.length; i++) { var a = this.getMinYMaxY(i, n, null, i + 1); e.minYArr.push(a.minY), e.maxYArr.push( a.maxY), n = a.lowestY; } var r = this.getMinYMaxY(0, n, null, e.series.length); if (e.minY = r.minY, e.maxY = r.maxY, n = r.lowestY, t.chart.stacked && this._setStackedMinMax(), ('line' === t.chart.type || 'area' === t.chart.type || 'candlestick' === t.chart.type || 'rangeBar' === t.chart.type && !e.isBarHorizontal) && e.minY === Number.MIN_VALUE && n !== -Number.MAX_VALUE && n !== e.maxY) { var o = e.maxY - n; (n >= 0 && n <= 10 || void 0 !== t.yaxis[0].min || void 0 !== t.yaxis[0].max) && (o = 0), e.minY = n - 5 * o / 100, n > 0 && e.minY < 0 && (e.minY = 0), e.maxY = e.maxY + 5 * o / 100; } return t.yaxis.forEach((function (t, n) { void 0 !== t.max && ('number' == typeof t.max ? e.maxYArr[n] = t.max : 'function' == typeof t.max && (e.maxYArr[n] = t.max(e.isMultipleYAxis ? e.maxYArr[n] : e.maxY)), e.maxY = e.maxYArr[n]), void 0 !== t.min && ('number' == typeof t.min ? e.minYArr[n] = t.min : 'function' == typeof t.min && (e.minYArr[n] = t.min(e.isMultipleYAxis ? e.minYArr[n] === Number.MIN_VALUE ? 0 : e.minYArr[n] : e.minY)), e.minY = e.minYArr[n]); })), e.isBarHorizontal && ['min', 'max'].forEach( (function (n) { void 0 !== t.xaxis[n] && 'number' == typeof t.xaxis[n] && ('min' === n ? e.minY = t.xaxis[n] : e.maxY = t.xaxis[n]); })), e.isMultipleYAxis ? (this.scales.setMultipleYScales(), e.minY = n, e.yAxisScale.forEach( (function ( t, n) {e.minYArr[n] = t.niceMin, e.maxYArr[n] = t.niceMax;}))) : (this.scales.setYScaleForIndex(0, e.minY, e.maxY), e.minY = e.yAxisScale[0].niceMin, e.maxY = e.yAxisScale[0].niceMax, e.minYArr[0] = e.yAxisScale[0].niceMin, e.maxYArr[0] = e.yAxisScale[0].niceMax), { minY: e.minY, maxY: e.maxY, minYArr: e.minYArr, maxYArr: e.maxYArr, yAxisScale: e.yAxisScale, }; }, }, { key: 'setXRange', value: function () { var e = this.w.globals, t = this.w.config, n = 'numeric' === t.xaxis.type || 'datetime' === t.xaxis.type || 'category' === t.xaxis.type && !e.noLabelsProvided || e.noLabelsProvided || e.isXNumeric; if (e.isXNumeric && function () { for (var t = 0; t < e.series.length; t++) if (e.labels[t]) for (var n = 0; n < e.labels[t].length; n++) null !== e.labels[t][n] && p.isNumber(e.labels[t][n]) && (e.maxX = Math.max(e.maxX, e.labels[t][n]), e.initialMaxX = Math.max(e.maxX, e.labels[t][n]), e.minX = Math.min(e.minX, e.labels[t][n]), e.initialMinX = Math.min(e.minX, e.labels[t][n])); }(), e.noLabelsProvided && 0 === t.xaxis.categories.length && (e.maxX = e.labels[e.labels.length - 1], e.initialMaxX = e.labels[e.labels.length - 1], e.minX = 1, e.initialMinX = 1), e.isXNumeric || e.noLabelsProvided || e.dataFormatXNumeric) { var i; if (void 0 === t.xaxis.tickAmount ? (i = Math.round( e.svgWidth / 150), 'numeric' === t.xaxis.type && e.dataPoints < 30 && (i = e.dataPoints - 1), i > e.dataPoints && 0 !== e.dataPoints && (i = e.dataPoints - 1)) : 'dataPoints' === t.xaxis.tickAmount ? (e.series.length > 1 && (i = e.series[e.maxValsInArrayIndex].length - 1), e.isXNumeric && (i = e.maxX - e.minX - 1)) : i = t.xaxis.tickAmount, e.xTickAmount = i, void 0 !== t.xaxis.max && 'number' == typeof t.xaxis.max && (e.maxX = t.xaxis.max), void 0 !== t.xaxis.min && 'number' == typeof t.xaxis.min && (e.minX = t.xaxis.min), void 0 !== t.xaxis.range && (e.minX = e.maxX - t.xaxis.range), e.minX !== Number.MAX_VALUE && e.maxX !== -Number.MAX_VALUE) if (t.xaxis.convertedCatToNumeric && !e.dataFormatXNumeric) { for (var a = [], r = e.minX - 1; r < e.maxX; r++) a.push(r + 1); e.xAxisScale = { result: a, niceMin: a[0], niceMax: a[a.length - 1], }; } else e.xAxisScale = this.scales.setXScale(e.minX, e.maxX); else e.xAxisScale = this.scales.linearScale( 1, i, i), e.noLabelsProvided && e.labels.length > 0 && (e.xAxisScale = this.scales.linearScale(1, e.labels.length, i - 1), e.seriesX = e.labels.slice()); n && (e.labels = e.xAxisScale.result.slice()); } return e.isBarHorizontal && e.labels.length && (e.xTickAmount = e.labels.length), this._handleSingleDataPoint(), this._getMinXDiff(), { minX: e.minX, maxX: e.maxX, }; }, }, { key: 'setZRange', value: function () { var e = this.w.globals; if (e.isDataXYZ) for (var t = 0; t < e.series.length; t++) if (void 0 !== e.seriesZ[t]) for (var n = 0; n < e.seriesZ[t].length; n++) null !== e.seriesZ[t][n] && p.isNumber(e.seriesZ[t][n]) && (e.maxZ = Math.max(e.maxZ, e.seriesZ[t][n]), e.minZ = Math.min(e.minZ, e.seriesZ[t][n])); }, }, { key: '_handleSingleDataPoint', value: function () { var e = this.w.globals, t = this.w.config; if (e.minX === e.maxX) { var n = new P(this.ctx); if ('datetime' === t.xaxis.type) { var i = n.getDate(e.minX); i.setUTCDate(i.getDate() - 2), e.minX = new Date( i).getTime(); var a = n.getDate(e.maxX); a.setUTCDate(a.getDate() + 2), e.maxX = new Date( a).getTime(); } else ('numeric' === t.xaxis.type || 'category' === t.xaxis.type && !e.noLabelsProvided) && (e.minX = e.minX - 2, e.initialMinX = e.minX, e.maxX = e.maxX + 2, e.initialMaxX = e.maxX); } }, }, { key: '_getMinXDiff', value: function () { var e = this.w.globals; e.isXNumeric && e.seriesX.forEach((function (t, n) { 1 === t.length && t.push( e.seriesX[e.maxValsInArrayIndex][e.seriesX[e.maxValsInArrayIndex].length - 1]); var i = t.slice(); i.sort((function (e, t) {return e - t;})), i.forEach( (function (t, i) { if (i > 0) { var a = t - e.seriesX[n][i - 1]; a > 0 && (e.minXDiff = Math.min(a, e.minXDiff)); } })), 1 === e.dataPoints && e.minXDiff === Number.MAX_VALUE && (e.minXDiff = .5); })); }, }, { key: '_setStackedMinMax', value: function () { var e = this.w.globals, t = [], n = []; if (e.series.length) for (var i = 0; i < e.series[e.maxValsInArrayIndex].length; i++) for (var a = 0, r = 0, o = 0; o < e.series.length; o++) null !== e.series[o][i] && p.isNumber(e.series[o][i]) && (e.series[o][i] > 0 ? a = a + parseFloat(e.series[o][i]) + 1e-4 : r += parseFloat(e.series[o][i])), o === e.series.length - 1 && (t.push(a), n.push(r)); for (var s = 0; s < t.length; s++) e.maxY = Math.max(e.maxY, t[s]), e.minY = Math.min(e.minY, n[s]); }, }]), e; }(), $ = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w; var i = this.w; this.xaxisFontSize = i.config.xaxis.labels.style.fontSize, this.axisFontFamily = i.config.xaxis.labels.style.fontFamily, this.xaxisForeColors = i.config.xaxis.labels.style.colors, this.isCategoryBarHorizontal = 'bar' === i.config.chart.type && i.config.plotOptions.bar.horizontal, this.xAxisoffX = 0, 'bottom' === i.config.xaxis.position && (this.xAxisoffX = i.globals.gridHeight), this.drawnLabels = [], this.axesUtils = new B( n); } return i(e, [ { key: 'drawYaxis', value: function (e) { var t = this, n = this.w, i = new v(this.ctx), a = n.config.yaxis[e].labels.style, r = a.fontSize, o = a.fontFamily, s = a.fontWeight, l = i.group({ class: 'apexcharts-yaxis', rel: e, transform: 'translate(' + n.globals.translateYAxisX[e] + ', 0)', }); if (this.axesUtils.isYAxisHidden(e)) return l; var c = i.group({ class: 'apexcharts-yaxis-texts-g' }); l.add(c); var u = n.globals.yAxisScale[e].result.length - 1, d = n.globals.gridHeight / u, h = n.globals.translateY, f = n.globals.yLabelFormatters[e], p = n.globals.yAxisScale[e].result.slice(); p = this.axesUtils.checkForReversedLabels(e, p); var m = ''; if (n.config.yaxis[e].labels.show) for (var g = function (l) { var g = p[l]; g = f(g, l); var v = n.config.yaxis[e].labels.padding; n.config.yaxis[e].opposite && 0 !== n.config.yaxis.length && (v *= -1); var y = t.axesUtils.getYAxisForeColor(a.colors, e), b = i.drawText({ x: v, y: h + u / 10 + n.config.yaxis[e].labels.offsetY + 1, text: g, textAnchor: n.config.yaxis[e].opposite ? 'start' : 'end', fontSize: r, fontFamily: o, fontWeight: s, foreColor: Array.isArray(y) ? y[l] : y, isPlainText: !1, cssClass: 'apexcharts-yaxis-label ' + a.cssClass, }); if (l === u && (m = b), c.add(b), 0 !== n.config.yaxis[e].labels.rotate) { var x = i.rotateAroundCenter(m.node), _ = i.rotateAroundCenter(b.node); b.node.setAttribute('transform', 'rotate('.concat( n.config.yaxis[e].labels.rotate, ' '). concat(x.x, ' '). concat(_.y, ')')); } h += d; }, y = u; y >= 0; y--) g(y); if (void 0 !== n.config.yaxis[e].title.text) { var b = i.group({ class: 'apexcharts-yaxis-title' }), x = 0; n.config.yaxis[e].opposite && (x = n.globals.translateYAxisX[e]); var _ = i.drawText({ x: x, y: n.globals.gridHeight / 2 + n.globals.translateY + n.config.yaxis[e].title.offsetY, text: n.config.yaxis[e].title.text, textAnchor: 'end', foreColor: n.config.yaxis[e].title.style.color, fontSize: n.config.yaxis[e].title.style.fontSize, fontWeight: n.config.yaxis[e].title.style.fontWeight, fontFamily: n.config.yaxis[e].title.style.fontFamily, cssClass: 'apexcharts-yaxis-title-text ' + n.config.yaxis[e].title.style.cssClass, }); b.add(_), l.add(b); } var w = n.config.yaxis[e].axisBorder, k = 31 + w.offsetX; if (n.config.yaxis[e].opposite && (k = -31 - w.offsetX), w.show) { var M = i.drawLine(k, n.globals.translateY + w.offsetY - 2, k, n.globals.gridHeight + n.globals.translateY + w.offsetY + 2, w.color, 0, w.width); l.add(M); } return n.config.yaxis[e].axisTicks.show && this.axesUtils.drawYAxisTicks(k, u, w, n.config.yaxis[e].axisTicks, e, d, l), l; }, }, { key: 'drawYaxisInversed', value: function (e) { var t = this.w, n = new v(this.ctx), i = n.group( { class: 'apexcharts-xaxis apexcharts-yaxis-inversed' }), a = n.group({ class: 'apexcharts-xaxis-texts-g', transform: 'translate('.concat( t.globals.translateXAxisX, ', '). concat(t.globals.translateXAxisY, ')'), }); i.add(a); var r = t.globals.yAxisScale[e].result.length - 1, o = t.globals.gridWidth / r + .1, s = o + t.config.xaxis.labels.offsetX, l = t.globals.xLabelFormatter, c = t.globals.yAxisScale[e].result.slice(), u = t.globals.timescaleLabels; u.length > 0 && (this.xaxisLabels = u.slice(), r = (c = u.slice()).length), c = this.axesUtils.checkForReversedLabels( e, c); var d = u.length; if (t.config.xaxis.labels.show) for (var h = d ? 0 : r; d ? h < d : h >= 0; d ? h++ : h--) { var f = c[h]; f = l(f, h); var p = t.globals.gridWidth + t.globals.padHorizontal - (s - o + t.config.xaxis.labels.offsetX); if (u.length) { var m = this.axesUtils.getLabel(c, u, p, h, this.drawnLabels, this.xaxisFontSize); p = m.x, f = m.text, this.drawnLabels.push( m.text), 0 === h && t.globals.skipFirstTimelinelabel && (f = ''), h === c.length - 1 && t.globals.skipLastTimelinelabel && (f = ''); } var g = n.drawText({ x: p, y: this.xAxisoffX + t.config.xaxis.labels.offsetY + 30 - ('top' === t.config.xaxis.position ? t.globals.xAxisHeight + t.config.xaxis.axisTicks.height - 2 : 0), text: f, textAnchor: 'middle', foreColor: Array.isArray(this.xaxisForeColors) ? this.xaxisForeColors[e] : this.xaxisForeColors, fontSize: this.xaxisFontSize, fontFamily: this.xaxisFontFamily, fontWeight: t.config.xaxis.labels.style.fontWeight, isPlainText: !1, cssClass: 'apexcharts-xaxis-label ' + t.config.xaxis.labels.style.cssClass, }); a.add(g), g.tspan(f); var y = document.createElementNS(t.globals.SVGNS, 'title'); y.textContent = f, g.node.appendChild(y), s += o; } return this.inversedYAxisTitleText( i), this.inversedYAxisBorder(i), i; }, }, { key: 'inversedYAxisBorder', value: function (e) { var t = this.w, n = new v(this.ctx), i = t.config.xaxis.axisBorder; if (i.show) { var a = 0; 'bar' === t.config.chart.type && t.globals.isXNumeric && (a -= 15); var r = n.drawLine( t.globals.padHorizontal + a + i.offsetX, this.xAxisoffX, t.globals.gridWidth, this.xAxisoffX, i.color, 0, i.height); e.add(r); } }, }, { key: 'inversedYAxisTitleText', value: function (e) { var t = this.w, n = new v(this.ctx); if (void 0 !== t.config.xaxis.title.text) { var i = n.group( { class: 'apexcharts-xaxis-title apexcharts-yaxis-title-inversed' }), a = n.drawText({ x: t.globals.gridWidth / 2 + t.config.xaxis.title.offsetX, y: this.xAxisoffX + parseFloat(this.xaxisFontSize) + parseFloat( t.config.xaxis.title.style.fontSize) + t.config.xaxis.title.offsetY + 20, 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, }); i.add(a), e.add(i); } }, }, { key: 'yAxisTitleRotate', value: function (e, t) { var n = this.w, i = new v(this.ctx), a = { width: 0, height: 0 }, r = { width: 0, height: 0 }, o = n.globals.dom.baseEl.querySelector( ' .apexcharts-yaxis[rel=\''.concat(e, '\'] .apexcharts-yaxis-texts-g')); null !== o && (a = o.getBoundingClientRect()); var s = n.globals.dom.baseEl.querySelector( '.apexcharts-yaxis[rel=\''.concat(e, '\'] .apexcharts-yaxis-title text')); if (null !== s && (r = s.getBoundingClientRect()), null !== s) { var l = this.xPaddingForYAxisTitle(e, a, r, t); s.setAttribute('x', l.xPos - (t ? 10 : 0)); } if (null !== s) { var c = i.rotateAroundCenter(s); s.setAttribute('transform', 'rotate('.concat(t ? -1 * n.config.yaxis[e].title.rotate : n.config.yaxis[e].title.rotate, ' '). concat(c.x, ' '). concat(c.y, ')')); } }, }, { key: 'xPaddingForYAxisTitle', value: function (e, t, n, i) { var a = this.w, r = 0, o = 0, s = 10; return void 0 === a.config.yaxis[e].title.text || e < 0 ? { xPos: o, padd: 0 } : (i ? (o = t.width + a.config.yaxis[e].title.offsetX + n.width / 2 + s / 2, 0 === (r += 1) && (o -= s / 2)) : (o = -1 * t.width + a.config.yaxis[e].title.offsetX + s / 2 + n.width / 2, a.globals.isBarHorizontal && (s = 25, o = -1 * t.width - a.config.yaxis[e].title.offsetX - s)), { xPos: o, padd: s }); }, }, { key: 'setYAxisXPosition', value: function (e, t) { var n = this.w, i = 0, a = 0, r = 18, o = 1; n.config.yaxis.length > 1 && (this.multipleYs = !0), n.config.yaxis.map((function ( s, l) { var c = n.globals.ignoreYAxisIndexes.indexOf(l) > -1 || !s.show || s.floating || 0 === e[l].width, u = e[l].width + t[l].width; s.opposite ? n.globals.isBarHorizontal ? (a = n.globals.gridWidth + n.globals.translateX - 1, n.globals.translateYAxisX[l] = a - s.labels.offsetX) : (a = n.globals.gridWidth + n.globals.translateX + o, c || (o = o + u + 20), n.globals.translateYAxisX[l] = a - s.labels.offsetX + 20) : (i = n.globals.translateX - r, c || (r = r + u + 20), n.globals.translateYAxisX[l] = i + s.labels.offsetX); })); }, }, { key: 'setYAxisTextAlignments', value: function () { var e = this.w, t = e.globals.dom.baseEl.getElementsByClassName( 'apexcharts-yaxis'); (t = p.listToArray(t)).forEach((function (t, n) { var i = e.config.yaxis[n]; if (i && void 0 !== i.labels.align) { var a = e.globals.dom.baseEl.querySelector( '.apexcharts-yaxis[rel=\''.concat(n, '\'] .apexcharts-yaxis-texts-g')), r = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-yaxis[rel=\''.concat(n, '\'] .apexcharts-yaxis-label')); r = p.listToArray(r); var o = a.getBoundingClientRect(); 'left' === i.labels.align ? (r.forEach((function (e, t) { e.setAttribute('text-anchor', 'start'); })), i.opposite || a.setAttribute('transform', 'translate(-'.concat(o.width, ', 0)'))) : 'center' === i.labels.align ? (r.forEach( (function (e, t) { e.setAttribute('text-anchor', 'middle'); })), a.setAttribute('transform', 'translate('.concat( o.width / 2 * (i.opposite ? 1 : -1), ', 0)'))) : 'right' === i.labels.align && (r.forEach((function (e, t) { e.setAttribute('text-anchor', 'end'); })), i.opposite && a.setAttribute('transform', 'translate('.concat(o.width, ', 0)'))); } })); }, }]), e; }(), G = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w, this.documentEvent = p.bind( this.documentEvent, this); } return i(e, [ { key: 'addEventListener', value: function (e, t) { var n = this.w; n.globals.events.hasOwnProperty(e) ? n.globals.events[e].push(t) : n.globals.events[e] = [t]; }, }, { key: 'removeEventListener', value: function (e, t) { var n = this.w; if (n.globals.events.hasOwnProperty(e)) { var i = n.globals.events[e].indexOf(t); -1 !== i && n.globals.events[e].splice(i, 1); } }, }, { key: 'fireEvent', value: function (e, t) { var n = this.w; if (n.globals.events.hasOwnProperty(e)) { t && t.length || (t = []); for (var i = n.globals.events[e], a = i.length, r = 0; r < a; r++) i[r].apply(null, t); } }, }, { key: 'setupEventHandlers', value: function () { var e = this, t = this.w, n = this.ctx, i = t.globals.dom.baseEl.querySelector( t.globals.chartClass); this.ctx.eventList.forEach((function (e) { i.addEventListener(e, (function (e) { var i = Object.assign({}, t, { seriesIndex: t.globals.capturedSeriesIndex, dataPointIndex: t.globals.capturedDataPointIndex, }); 'mousemove' === e.type || 'touchmove' === e.type ? 'function' == typeof t.config.chart.events.mouseMove && t.config.chart.events.mouseMove(e, n, i) : ('mouseup' === e.type && 1 === e.which || 'touchend' === e.type) && ('function' == typeof t.config.chart.events.click && t.config.chart.events.click(e, n, i), n.ctx.events.fireEvent('click', [e, n, i])); }), { capture: !1, passive: !0 }); })), this.ctx.eventList.forEach((function (n) { t.globals.dom.baseEl.addEventListener(n, e.documentEvent, { passive: !0 }); })), this.ctx.core.setupBrushHandler(); }, }, { key: 'documentEvent', value: function (e) { var t = this.w, n = e.target.className; if ('click' === e.type) { var i = t.globals.dom.baseEl.querySelector( '.apexcharts-menu'); i && i.classList.contains('apexcharts-menu-open') && 'apexcharts-menu-icon' !== n && i.classList.remove('apexcharts-menu-open'); } t.globals.clientX = 'touchmove' === e.type ? e.touches[0].clientX : e.clientX, t.globals.clientY = 'touchmove' === e.type ? e.touches[0].clientY : e.clientY; }, }]), e; }(), Z = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'setCurrentLocaleValues', value: function (e) { var t = this.w.config.chart.locales; window.Apex.chart && window.Apex.chart.locales && window.Apex.chart.locales.length > 0 && (t = this.w.config.chart.locales.concat( window.Apex.chart.locales)); var n = t.filter((function (t) {return t.name === e;}))[0]; if (!n) throw new Error( 'Wrong locale name provided. Please make sure you set the correct locale name in options'); var i = p.extend(k, n); this.w.globals.locale = i.options; }, }]), e; }(), K = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'drawAxis', value: function (e, t) { var n, i, a = this.w.globals, r = this.w.config, o = new V(this.ctx), s = new $(this.ctx); a.axisCharts && 'radar' !== e && (a.isBarHorizontal ? (i = s.drawYaxisInversed(0), n = o.drawXaxisInversed( 0), a.dom.elGraphical.add(n), a.dom.elGraphical.add( i)) : (n = o.drawXaxis(), a.dom.elGraphical.add( n), r.yaxis.map((function (e, t) { -1 === a.ignoreYAxisIndexes.indexOf(t) && (i = s.drawYaxis(t), a.dom.Paper.add(i)); })))), r.yaxis.map((function (e, t) { -1 === a.ignoreYAxisIndexes.indexOf(t) && s.yAxisTitleRotate(t, e.opposite); })); }, }]), e; }(), J = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'drawXCrosshairs', value: function () { var e = this.w, t = new v(this.ctx), n = new m(this.ctx), i = e.config.xaxis.crosshairs.fill.gradient, a = e.config.xaxis.crosshairs.dropShadow, r = e.config.xaxis.crosshairs.fill.type, o = i.colorFrom, s = i.colorTo, l = i.opacityFrom, c = i.opacityTo, u = i.stops, d = a.enabled, h = a.left, f = a.top, g = a.blur, y = a.color, b = a.opacity, x = e.config.xaxis.crosshairs.fill.color; if (e.config.xaxis.crosshairs.show) { 'gradient' === r && (x = t.drawGradient('vertical', o, s, l, c, null, u, null)); var _ = t.drawRect(); 1 === e.config.xaxis.crosshairs.width && (_ = t.drawLine()), _.attr({ class: 'apexcharts-xcrosshairs', x: 0, y: 0, y2: e.globals.gridHeight, width: p.isNumber(e.config.xaxis.crosshairs.width) ? e.config.xaxis.crosshairs.width : 0, height: e.globals.gridHeight, fill: x, filter: 'none', 'fill-opacity': e.config.xaxis.crosshairs.opacity, stroke: e.config.xaxis.crosshairs.stroke.color, 'stroke-width': e.config.xaxis.crosshairs.stroke.width, 'stroke-dasharray': e.config.xaxis.crosshairs.stroke.dashArray, }), d && (_ = n.dropShadow(_, { left: h, top: f, blur: g, color: y, opacity: b, })), e.globals.dom.elGraphical.add(_); } }, }, { key: 'drawYCrosshairs', value: function () { var e = this.w, t = new v(this.ctx), n = e.config.yaxis[0].crosshairs, i = e.globals.barPadForNumericAxis; if (e.config.yaxis[0].crosshairs.show) { var a = t.drawLine(-i, 0, e.globals.gridWidth + i, 0, n.stroke.color, n.stroke.dashArray, n.stroke.width); a.attr( { class: 'apexcharts-ycrosshairs' }), e.globals.dom.elGraphical.add( a); } var r = t.drawLine(-i, 0, e.globals.gridWidth + i, 0, n.stroke.color, 0, 0); r.attr( { class: 'apexcharts-ycrosshairs-hidden' }), e.globals.dom.elGraphical.add( r); }, }]), e; }(), Q = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'checkResponsiveConfig', value: function (e) { var t = this, n = this.w, i = n.config; if (0 !== i.responsive.length) { var a = i.responsive.slice(); a.sort((function (e, t) { return e.breakpoint > t.breakpoint ? 1 : t.breakpoint > e.breakpoint ? -1 : 0; })).reverse(); var r = new N({}), o = function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, i = a[0].breakpoint, o = window.innerWidth > 0 ? window.innerWidth : screen.width; if (o > i) { var s = x.extendArrayProps(r, n.globals.initialConfig, n); e = p.extend(s, e), e = p.extend(n.config, e), t.overrideResponsiveOptions(e); } else for (var l = 0; l < a.length; l++) o < a[l].breakpoint && (e = x.extendArrayProps(r, a[l].options, n), e = p.extend(n.config, e), t.overrideResponsiveOptions(e)); }; if (e) { var s = x.extendArrayProps(r, e, n); s = p.extend(n.config, s), o(s = p.extend(s, e)); } else o({}); } }, }, { key: 'overrideResponsiveOptions', value: function (e) { var t = new N(e).init({ responsiveOverride: !0 }); this.w.config = t; }, }]), e; }(), ee = function () { function e (n) { t(this, e), this.ctx = n, this.colors = [], this.w = n.w; var i = this.w; this.isColorFn = !1, this.isHeatmapDistributed = 'treemap' === i.config.chart.type && i.config.plotOptions.treemap.distributed || 'heatmap' === i.config.chart.type && i.config.plotOptions.heatmap.distributed, this.isBarDistributed = i.config.plotOptions.bar.distributed && ('bar' === i.config.chart.type || 'rangeBar' === i.config.chart.type); } return i(e, [ { key: 'init', value: function () {this.setDefaultColors();} }, { key: 'setDefaultColors', value: function () { var e = this, t = this.w, n = new p; if (t.globals.dom.elWrap.classList.add( 'apexcharts-theme-'.concat( t.config.theme.mode)), void 0 === t.config.colors ? t.globals.colors = this.predefined() : (t.globals.colors = t.config.colors, Array.isArray( t.config.colors) && t.config.colors.length > 0 && 'function' == typeof t.config.colors[0] && (t.globals.colors = t.config.series.map( (function (n, i) { var a = t.config.colors[i]; return a || (a = t.config.colors[0]), 'function' == typeof a ? (e.isColorFn = !0, a({ value: t.globals.axisCharts ? t.globals.series[i][0] ? t.globals.series[i][0] : 0 : t.globals.series[i], seriesIndex: i, dataPointIndex: i, w: t, })) : a; })))), t.globals.seriesColors.map((function (e, n) { e && (t.globals.colors[n] = e); })), t.config.theme.monochrome.enabled) { var i = [], a = t.globals.series.length; (this.isBarDistributed || this.isHeatmapDistributed) && (a = t.globals.series[0].length * t.globals.series.length); for (var r = t.config.theme.monochrome.color, o = 1 / (a / t.config.theme.monochrome.shadeIntensity), s = t.config.theme.monochrome.shadeTo, l = 0, c = 0; c < a; c++) { var u = void 0; 'dark' === s ? (u = n.shadeColor(-1 * l, r), l += o) : (u = n.shadeColor(l, r), l += o), i.push(u); } t.globals.colors = i.slice(); } var d = t.globals.colors.slice(); this.pushExtraColors(t.globals.colors), [ 'fill', 'stroke'].forEach((function (n) { void 0 === t.config[n].colors ? t.globals[n].colors = e.isColorFn ? t.config.colors : d : t.globals[n].colors = t.config[n].colors.slice(), e.pushExtraColors( t.globals[n].colors); })), void 0 === t.config.dataLabels.style.colors ? t.globals.dataLabels.style.colors = d : t.globals.dataLabels.style.colors = t.config.dataLabels.style.colors.slice(), this.pushExtraColors( t.globals.dataLabels.style.colors, 50), void 0 === t.config.plotOptions.radar.polygons.fill.colors ? t.globals.radarPolygons.fill.colors = [ 'dark' === t.config.theme.mode ? '#424242' : '#fff'] : t.globals.radarPolygons.fill.colors = t.config.plotOptions.radar.polygons.fill.colors.slice(), this.pushExtraColors( t.globals.radarPolygons.fill.colors, 20), void 0 === t.config.markers.colors ? t.globals.markers.colors = d : t.globals.markers.colors = t.config.markers.colors.slice(), this.pushExtraColors( t.globals.markers.colors); }, }, { key: 'pushExtraColors', value: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, i = this.w, a = t || i.globals.series.length; if (null === n && (n = this.isBarDistributed || this.isHeatmapDistributed || 'heatmap' === i.config.chart.type && i.config.plotOptions.heatmap.colorScale.inverse), n && i.globals.series.length && (a = i.globals.series[i.globals.maxValsInArrayIndex].length * i.globals.series.length), e.length < a) for (var r = a - e.length, o = 0; o < r; o++) e.push(e[o]); }, }, { key: 'updateThemeOptions', value: function (e) { e.chart = e.chart || {}, e.tooltip = e.tooltip || {}; var t = e.theme.mode || 'light', n = e.theme.palette ? e.theme.palette : 'dark' === t ? 'palette4' : 'palette1', i = e.chart.foreColor ? e.chart.foreColor : 'dark' === t ? '#f6f7f8' : '#373d3f'; return e.tooltip.theme = t, e.chart.foreColor = i, e.theme.palette = n, e; }, }, { key: 'predefined', value: function () { switch (this.w.config.theme.palette) { case'palette1': this.colors = [ '#008FFB', '#00E396', '#FEB019', '#FF4560', '#775DD0']; break; case'palette2': this.colors = [ '#3f51b5', '#03a9f4', '#4caf50', '#f9ce1d', '#FF9800']; break; case'palette3': this.colors = [ '#33b2df', '#546E7A', '#d4526e', '#13d8aa', '#A5978B']; break; case'palette4': this.colors = [ '#4ecdc4', '#c7f464', '#81D4FA', '#fd6a6a', '#546E7A']; break; case'palette5': this.colors = [ '#2b908f', '#f9a3a4', '#90ee7e', '#fa4443', '#69d2e7']; break; case'palette6': this.colors = [ '#449DD1', '#F86624', '#EA3546', '#662E9B', '#C5D86D']; break; case'palette7': this.colors = [ '#D7263D', '#1B998B', '#2E294E', '#F46036', '#E2C044']; break; case'palette8': this.colors = [ '#662E9B', '#F86624', '#F9C80E', '#EA3546', '#43BCCD']; break; case'palette9': this.colors = [ '#5C4742', '#A5978B', '#8D5B4C', '#5A2A27', '#C4BBAF']; break; case'palette10': this.colors = [ '#A300D6', '#7D02EB', '#5653FE', '#2983FF', '#00B1F2']; break; default: this.colors = [ '#008FFB', '#00E396', '#FEB019', '#FF4560', '#775DD0']; } return this.colors; }, }]), e; }(), te = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w; } return i(e, [ { key: 'draw', value: function () { this.drawTitleSubtitle('title'), this.drawTitleSubtitle( 'subtitle'); }, }, { key: 'drawTitleSubtitle', value: function (e) { var t = this.w, n = 'title' === e ? t.config.title : t.config.subtitle, i = t.globals.svgWidth / 2, a = n.offsetY, r = 'middle'; if ('left' === n.align ? (i = 10, r = 'start') : 'right' === n.align && (i = t.globals.svgWidth - 10, r = 'end'), i += n.offsetX, a = a + parseInt(n.style.fontSize, 10) + n.margin / 2, void 0 !== n.text) { var o = new v(this.ctx).drawText({ x: i, y: a, text: n.text, textAnchor: r, fontSize: n.style.fontSize, fontFamily: n.style.fontFamily, fontWeight: n.style.fontWeight, foreColor: n.style.color, opacity: 1, }); o.node.setAttribute('class', 'apexcharts-'.concat(e, '-text')), t.globals.dom.Paper.add(o); } }, }]), e; }(), ne = function () { function e (n) {t(this, e), this.w = n.w, this.dCtx = n;} return i(e, [ { key: 'getTitleSubtitleCoords', value: function (e) { var t = this.w, n = 0, i = 0, a = 'title' === e ? t.config.title.floating : t.config.subtitle.floating, r = t.globals.dom.baseEl.querySelector( '.apexcharts-'.concat(e, '-text')); if (null !== r && !a) { var o = r.getBoundingClientRect(); n = o.width, i = t.globals.axisCharts ? o.height + 5 : o.height; } return { width: n, height: i }; }, }, { key: 'getLegendsRect', value: function () { var e = this.w, t = e.globals.dom.baseEl.querySelector( '.apexcharts-legend'); e.config.legend.height || 'top' !== e.config.legend.position && 'bottom' !== e.config.legend.position || (t.style.maxHeight = e.globals.svgHeight / 2 + 'px'); var n = Object.assign({}, p.getBoundingClientRect(t)); return null !== t && !e.config.legend.floating && e.config.legend.show ? this.dCtx.lgRect = { x: n.x, y: n.y, height: n.height, width: 0 === n.height ? 0 : n.width, } : this.dCtx.lgRect = { x: 0, y: 0, height: 0, width: 0, }, 'left' !== e.config.legend.position && 'right' !== e.config.legend.position || 1.5 * this.dCtx.lgRect.width > e.globals.svgWidth && (this.dCtx.lgRect.width = e.globals.svgWidth / 1.5), this.dCtx.lgRect; }, }, { key: 'getLargestStringFromMultiArr', value: function (e, t) { var n = e; if (this.w.globals.isMultiLineX) { var i = t.map((function (e, t) { return Array.isArray(e) ? e.length : 1; })), a = Math.max.apply(Math, h(i)); n = t[i.indexOf(a)]; } return n; }, }]), e; }(), ie = function () { function e (n) {t(this, e), this.w = n.w, this.dCtx = n;} return i(e, [ { key: 'getxAxisLabelsCoords', value: function () { var e, t = this.w, n = t.globals.labels.slice(); if (t.config.xaxis.convertedCatToNumeric && 0 === n.length && (n = t.globals.categoryLabels), t.globals.timescaleLabels.length > 0) { var i = this.getxAxisTimeScaleLabelsCoords(); e = { width: i.width, height: i.height, }, t.globals.rotateXLabels = !1; } else { this.dCtx.lgWidthForSideLegends = 'left' !== t.config.legend.position && 'right' !== t.config.legend.position || t.config.legend.floating ? 0 : this.dCtx.lgRect.width; var a = t.globals.xLabelFormatter, r = p.getLargestStringFromArr(n), o = this.dCtx.dimHelpers.getLargestStringFromMultiArr( r, n); t.globals.isBarHorizontal && (o = r = t.globals.yAxisScale[0].result.reduce( (function (e, t) { return e.length > t.length ? e : t; }), 0)); var s = new z(this.dCtx.ctx), l = r; r = s.xLabelFormat(a, r, l, { i: void 0, dateFormatter: new P(this.dCtx.ctx).formatDate, w: t, }), o = s.xLabelFormat(a, o, l, { i: void 0, dateFormatter: new P(this.dCtx.ctx).formatDate, w: t, }), (t.config.xaxis.convertedCatToNumeric && void 0 === r || '' === String(r).trim()) && (o = r = '1'); var c = new v(this.dCtx.ctx), u = c.getTextRects(r, t.config.xaxis.labels.style.fontSize), d = u; if (r !== o && (d = c.getTextRects(o, t.config.xaxis.labels.style.fontSize)), (e = { width: u.width >= d.width ? u.width : d.width, height: u.height >= d.height ? u.height : d.height, }).width * n.length > t.globals.svgWidth - this.dCtx.lgWidthForSideLegends - this.dCtx.yAxisWidth - this.dCtx.gridPad.left - this.dCtx.gridPad.right && 0 !== t.config.xaxis.labels.rotate || t.config.xaxis.labels.rotateAlways) { if (!t.globals.isBarHorizontal) { t.globals.rotateXLabels = !0; var h = function (e) { return c.getTextRects(e, t.config.xaxis.labels.style.fontSize, t.config.xaxis.labels.style.fontFamily, 'rotate('.concat( t.config.xaxis.labels.rotate, ' 0 0)'), !1); }; u = h(r), r !== o && (d = h(o)), e.height = (u.height > d.height ? u.height : d.height) / 1.5, e.width = u.width > d.width ? u.width : d.width; } } else t.globals.rotateXLabels = !1; } return t.config.xaxis.labels.show || (e = { width: 0, height: 0 }), { width: e.width, height: e.height, }; }, }, { key: 'getxAxisTitleCoords', value: function () { var e = this.w, t = 0, n = 0; if (void 0 !== e.config.xaxis.title.text) { var i = new v(this.dCtx.ctx).getTextRects( e.config.xaxis.title.text, e.config.xaxis.title.style.fontSize); t = i.width, n = i.height; } return { width: t, height: n }; }, }, { key: 'getxAxisTimeScaleLabelsCoords', value: function () { var e, t = this.w; this.dCtx.timescaleLabels = t.globals.timescaleLabels.slice(); var n = this.dCtx.timescaleLabels.map( (function (e) {return e.value;})), i = n.reduce( (function (e, t) { return void 0 === e ? (console.error( 'You have possibly supplied invalid Date format. Please supply a valid JavaScript Date'), 0) : e.length > t.length ? e : t; }), 0); return 1.05 * (e = new v(this.dCtx.ctx).getTextRects(i, t.config.xaxis.labels.style.fontSize)).width * n.length > t.globals.gridWidth && 0 !== t.config.xaxis.labels.rotate && (t.globals.overlappingXLabels = !0), e; }, }, { key: 'additionalPaddingXLabels', value: function (e) { var t = this, n = this.w, i = n.globals, a = n.config, r = a.xaxis.type, o = e.width; i.skipLastTimelinelabel = !1, i.skipFirstTimelinelabel = !1; var s = n.config.yaxis[0].opposite && n.globals.isBarHorizontal, l = function (e, a) { (function (e) { return -1 !== i.collapsedSeriesIndices.indexOf(e); })(a) || function (e) { if (t.dCtx.timescaleLabels && t.dCtx.timescaleLabels.length) { var a = t.dCtx.timescaleLabels[0], s = t.dCtx.timescaleLabels[t.dCtx.timescaleLabels.length - 1].position + o / 1.75 - t.dCtx.yAxisWidthRight, l = a.position - o / 1.75 + t.dCtx.yAxisWidthLeft; s > i.svgWidth - i.translateX && (i.skipLastTimelinelabel = !0), l < 0 && (i.skipFirstTimelinelabel = !0); } else 'datetime' === r ? t.dCtx.gridPad.right < o && !i.rotateXLabels && (i.skipLastTimelinelabel = !0) : 'datetime' !== r && t.dCtx.gridPad.right < o / 2 - t.dCtx.yAxisWidthRight && !i.rotateXLabels && ('between' !== n.config.xaxis.tickPlacement || n.globals.isBarHorizontal) && (t.dCtx.xPadRight = o / 2 + 1); }(); }; a.yaxis.forEach((function (e, n) { s ? (t.dCtx.gridPad.left < o && (t.dCtx.xPadLeft = o / 2 + 1), t.dCtx.xPadRight = o / 2 + 1) : l(0, n); })); }, }]), e; }(), ae = function () { function e (n) {t(this, e), this.w = n.w, this.dCtx = n;} return i(e, [ { key: 'getyAxisLabelsCoords', value: function () { var e = this, t = this.w, n = [], i = 10, a = new B(this.dCtx.ctx); return t.config.yaxis.map((function (r, o) { var s = t.globals.yAxisScale[o]; if (!a.isYAxisHidden(o) && r.labels.show && s.result.length) { var l = t.globals.yLabelFormatters[o], c = String(s.niceMin).length > String(s.niceMax).length ? s.niceMin : s.niceMax, u = l(c, { seriesIndex: o, dataPointIndex: -1, w: t, }), d = u; if (void 0 !== u && 0 !== u.length || (u = c), t.globals.isBarHorizontal) { i = 0; var h = t.globals.labels.slice(); u = l(u = p.getLargestStringFromArr(h), { seriesIndex: o, dataPointIndex: -1, w: t, }), d = e.dCtx.dimHelpers.getLargestStringFromMultiArr( u, h); } var f = new v(e.dCtx.ctx), m = f.getTextRects(u, r.labels.style.fontSize), g = m; u !== d && (g = f.getTextRects(d, r.labels.style.fontSize)), n.push({ width: (g.width > m.width ? g.width : m.width) + i, height: g.height > m.height ? g.height : m.height, }); } else n.push({ width: 0, height: 0 }); })), n; }, }, { key: 'getyAxisTitleCoords', value: function () { var e = this, t = this.w, n = []; return t.config.yaxis.map((function (t, i) { if (t.show && void 0 !== t.title.text) { var a = new v(e.dCtx.ctx).getTextRects(t.title.text, t.title.style.fontSize, t.title.style.fontFamily, 'rotate(-90 0 0)', !1); n.push({ width: a.width, height: a.height }); } else n.push({ width: 0, height: 0 }); })), n; }, }, { key: 'getTotalYAxisWidth', value: function () { var e = this.w, t = 0, n = 0, i = 0, a = e.globals.yAxisScale.length > 1 ? 10 : 0, r = new B(this.dCtx.ctx), o = function (o, s) { var l = e.config.yaxis[s].floating, c = 0; o.width > 0 && !l ? (c = o.width + a, function (t) { return e.globals.ignoreYAxisIndexes.indexOf(t) > -1; }(s) && (c = c - o.width - a)) : c = l || r.isYAxisHidden(s) ? 0 : 5, e.config.yaxis[s].opposite ? i += c : n += c, t += c; }; return e.globals.yLabelsCoords.map((function (e, t) { o(e, t); })), e.globals.yTitleCoords.map((function (e, t) { o(e, t); })), e.globals.isBarHorizontal && !e.config.yaxis[0].floating && (t = e.globals.yLabelsCoords[0].width + e.globals.yTitleCoords[0].width + 15), this.dCtx.yAxisWidthLeft = n, this.dCtx.yAxisWidthRight = i, t; }, }]), e; }(), re = function () { function e (n) {t(this, e), this.w = n.w, this.dCtx = n;} return i(e, [ { key: 'gridPadForColumnsInNumericAxis', value: function (e) { var t = this.w; if (t.globals.noData || t.globals.allSeriesCollapsed) return 0; var n = t.config.chart.type, i = 0, a = 'bar' === n || 'rangeBar' === n ? t.config.series.length : 1; if (t.globals.comboBarCount > 0 && (a = t.globals.comboBarCount), t.globals.collapsedSeries.forEach( (function (e) { 'bar' !== e.type && 'rangeBar' !== e.type || (a -= 1); })), t.config.chart.stacked && (a = 1), ('bar' === n || 'rangeBar' === n || t.globals.comboBarCount > 0) && t.globals.isXNumeric && !t.globals.isBarHorizontal && a > 0) { var r, o, s = Math.abs( t.globals.initialMaxX - t.globals.initialMinX); s <= 3 && (s = t.globals.dataPoints), r = s / e, t.globals.minXDiff && t.globals.minXDiff / r > 0 && (o = t.globals.minXDiff / r), o > e / 2 && (o /= 2), (i = o / a * parseInt(t.config.plotOptions.bar.columnWidth, 10) / 100) < 1 && (i = 1), i = i / (a > 1 ? 1 : 1.5) + 5, t.globals.barPadForNumericAxis = i; } return i; }, }, { key: 'gridPadFortitleSubtitle', value: function () { var e = this, t = this.w, n = t.globals, i = this.dCtx.isSparkline || !t.globals.axisCharts ? 0 : 10; ['title', 'subtitle'].forEach((function (n) { void 0 !== t.config[n].text ? i += t.config[n].margin : i += e.dCtx.isSparkline || !t.globals.axisCharts ? 0 : 5; })), !t.config.legend.show || 'bottom' !== t.config.legend.position || t.config.legend.floating || t.globals.axisCharts || (i += 10); var a = this.dCtx.dimHelpers.getTitleSubtitleCoords( 'title'), r = this.dCtx.dimHelpers.getTitleSubtitleCoords( 'subtitle'); n.gridHeight = n.gridHeight - a.height - r.height - i, n.translateY = n.translateY + a.height + r.height + i; }, }, { key: 'setGridXPosForDualYAxis', value: function (e, t) { var n = this.w, i = new B(this.dCtx.ctx); n.config.yaxis.map((function (a, r) { -1 !== n.globals.ignoreYAxisIndexes.indexOf(r) || a.floating || i.isYAxisHidden(r) || (a.opposite && (n.globals.translateX = n.globals.translateX - (t[r].width + e[r].width) - parseInt(n.config.yaxis[r].labels.style.fontSize, 10) / 1.2 - 12), n.globals.translateX < 2 && (n.globals.translateX = 2)); })); }, }]), e; }(), oe = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.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 ne( this), this.dimYAxis = new ae(this), this.dimXAxis = new ie( this), this.dimGrid = new re( this), this.lgWidthForSideLegends = 0, this.gridPad = this.w.config.grid.padding, this.xPadRight = 0, this.xPadLeft = 0; } return i(e, [ { key: 'plotCoords', value: function () { var e = this.w.globals; this.lgRect = this.dimHelpers.getLegendsRect(), e.axisCharts ? this.setDimensionsForAxisCharts() : this.setDimensionsForNonAxisCharts(), this.dimGrid.gridPadFortitleSubtitle(), e.gridHeight = e.gridHeight - this.gridPad.top - this.gridPad.bottom, e.gridWidth = e.gridWidth - this.gridPad.left - this.gridPad.right - this.xPadRight - this.xPadLeft; var t = this.dimGrid.gridPadForColumnsInNumericAxis( e.gridWidth); e.gridWidth = e.gridWidth - 2 * t, e.translateX = e.translateX + this.gridPad.left + this.xPadLeft + (t > 0 ? t + 4 : 0), e.translateY = e.translateY + this.gridPad.top; }, }, { key: 'setDimensionsForAxisCharts', value: function () { var e = this, t = this.w, n = t.globals, i = this.dimYAxis.getyAxisLabelsCoords(), a = this.dimYAxis.getyAxisTitleCoords(); t.globals.yLabelsCoords = [], t.globals.yTitleCoords = [], t.config.yaxis.map( (function (e, n) { t.globals.yLabelsCoords.push({ width: i[n].width, index: n, }), t.globals.yTitleCoords.push( { width: a[n].width, index: n }); })), this.yAxisWidth = this.dimYAxis.getTotalYAxisWidth(); var r = this.dimXAxis.getxAxisLabelsCoords(), o = this.dimXAxis.getxAxisTitleCoords(); this.conditionalChecksForAxisCoords(r, o), n.translateXAxisY = t.globals.rotateXLabels ? this.xAxisHeight / 8 : -4, n.translateXAxisX = t.globals.rotateXLabels && t.globals.isXNumeric && t.config.xaxis.labels.rotate <= -45 ? -this.xAxisWidth / 4 : 0, t.globals.isBarHorizontal && (n.rotateXLabels = !1, n.translateXAxisY = parseInt( t.config.xaxis.labels.style.fontSize, 10) / 1.5 * -1), n.translateXAxisY = n.translateXAxisY + t.config.xaxis.labels.offsetY, n.translateXAxisX = n.translateXAxisX + t.config.xaxis.labels.offsetX; var s = this.yAxisWidth, l = this.xAxisHeight; n.xAxisLabelsHeight = this.xAxisHeight, n.xAxisLabelsWidth = this.xAxisWidth, n.xAxisHeight = this.xAxisHeight; var c = 10; ('radar' === t.config.chart.type || this.isSparkline) && (s = 0, l = n.goldenPadding), this.isSparkline && (this.lgRect = { height: 0, width: 0, }), (this.isSparkline || 'treemap' === t.config.chart.type) && (s = 0, l = 0, c = 0), this.isSparkline || this.dimXAxis.additionalPaddingXLabels(r); var u = function () { n.translateX = s, n.gridHeight = n.svgHeight - e.lgRect.height - l - (e.isSparkline || 'treemap' === t.config.chart.type ? 0 : t.globals.rotateXLabels ? 10 : 15), n.gridWidth = n.svgWidth - s; }; switch ('top' === t.config.xaxis.position && (c = n.xAxisHeight - t.config.xaxis.axisTicks.height - 5), t.config.legend.position) { case'bottom': n.translateY = c, u(); break; case'top': n.translateY = this.lgRect.height + c, u(); break; case'left': n.translateY = c, n.translateX = this.lgRect.width + s, n.gridHeight = n.svgHeight - l - 12, n.gridWidth = n.svgWidth - this.lgRect.width - s; break; case'right': n.translateY = c, n.translateX = s, n.gridHeight = n.svgHeight - l - 12, n.gridWidth = n.svgWidth - this.lgRect.width - s - 5; break; default: throw new Error('Legend position not supported'); } this.dimGrid.setGridXPosForDualYAxis(a, i), new $( this.ctx).setYAxisXPosition(i, a); }, }, { key: 'setDimensionsForNonAxisCharts', value: function () { var e = this.w, t = e.globals, n = e.config, i = 0; e.config.legend.show && !e.config.legend.floating && (i = 20); var a = 'pie' === n.chart.type || 'polarArea' === n.chart.type || 'donut' === n.chart.type ? 'pie' : 'radialBar', r = n.plotOptions[a].offsetY, o = n.plotOptions[a].offsetX; if (!n.legend.show || n.legend.floating) return t.gridHeight = t.svgHeight - n.grid.padding.left + n.grid.padding.right, t.gridWidth = t.gridHeight, t.translateY = r, void (t.translateX = o + (t.svgWidth - t.gridWidth) / 2); switch (n.legend.position) { case'bottom': t.gridHeight = t.svgHeight - this.lgRect.height - t.goldenPadding, t.gridWidth = t.svgWidth, t.translateY = r - 10, t.translateX = o + (t.svgWidth - t.gridWidth) / 2; break; case'top': t.gridHeight = t.svgHeight - this.lgRect.height - t.goldenPadding, t.gridWidth = t.svgWidth, t.translateY = this.lgRect.height + r + 10, t.translateX = o + (t.svgWidth - t.gridWidth) / 2; break; case'left': t.gridWidth = t.svgWidth - this.lgRect.width - i, t.gridHeight = 'auto' !== n.chart.height ? t.svgHeight : t.gridWidth, t.translateY = r, t.translateX = o + this.lgRect.width + i; break; case'right': t.gridWidth = t.svgWidth - this.lgRect.width - i - 5, t.gridHeight = 'auto' !== n.chart.height ? t.svgHeight : t.gridWidth, t.translateY = r, t.translateX = o + 10; break; default: throw new Error('Legend position not supported'); } }, }, { key: 'conditionalChecksForAxisCoords', value: function (e, t) { var n = this.w; this.xAxisHeight = (e.height + t.height) * (n.globals.isMultiLineX ? 1.2 : n.globals.LINE_HEIGHT_RATIO) + (n.globals.rotateXLabels ? 22 : 10), this.xAxisWidth = e.width, this.xAxisHeight - t.height > n.config.xaxis.labels.maxHeight && (this.xAxisHeight = n.config.xaxis.labels.maxHeight), n.config.xaxis.labels.minHeight && this.xAxisHeight < n.config.xaxis.labels.minHeight && (this.xAxisHeight = n.config.xaxis.labels.minHeight), n.config.xaxis.floating && (this.xAxisHeight = 0); var i = 0, a = 0; n.config.yaxis.forEach( (function (e) {i += e.labels.minWidth, a += e.labels.maxWidth;})), this.yAxisWidth < i && (this.yAxisWidth = i), this.yAxisWidth > a && (this.yAxisWidth = a); }, }]), e; }(), se = function () { function e (n) {t(this, e), this.w = n.w, this.lgCtx = n;} return i(e, [ { key: 'getLegendStyles', value: function () { var e = document.createElement('style'); e.setAttribute('type', 'text/css'); var t = document.createTextNode( '\t\n \t\n .apexcharts-legend {\t\n display: flex;\t\n overflow: auto;\t\n padding: 0 10px;\t\n }\t\n .apexcharts-legend.position-bottom, .apexcharts-legend.position-top {\t\n flex-wrap: wrap\t\n }\t\n .apexcharts-legend.position-right, .apexcharts-legend.position-left {\t\n flex-direction: column;\t\n bottom: 0;\t\n }\t\n .apexcharts-legend.position-bottom.apexcharts-align-left, .apexcharts-legend.position-top.apexcharts-align-left, .apexcharts-legend.position-right, .apexcharts-legend.position-left {\t\n justify-content: flex-start;\t\n }\t\n .apexcharts-legend.position-bottom.apexcharts-align-center, .apexcharts-legend.position-top.apexcharts-align-center {\t\n justify-content: center; \t\n }\t\n .apexcharts-legend.position-bottom.apexcharts-align-right, .apexcharts-legend.position-top.apexcharts-align-right {\t\n justify-content: flex-end;\t\n }\t\n .apexcharts-legend-series {\t\n cursor: pointer;\t\n line-height: normal;\t\n }\t\n .apexcharts-legend.position-bottom .apexcharts-legend-series, .apexcharts-legend.position-top .apexcharts-legend-series{\t\n display: flex;\t\n align-items: center;\t\n }\t\n .apexcharts-legend-text {\t\n position: relative;\t\n font-size: 14px;\t\n }\t\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\t\n pointer-events: none;\t\n }\t\n .apexcharts-legend-marker {\t\n position: relative;\t\n display: inline-block;\t\n cursor: pointer;\t\n margin-right: 3px;\t\n border-style: solid;\n }\t\n \t\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\t\n display: inline-block;\t\n }\t\n .apexcharts-legend-series.apexcharts-no-click {\t\n cursor: auto;\t\n }\t\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\t\n display: none !important;\t\n }\t\n .apexcharts-inactive-legend {\t\n opacity: 0.45;\t\n }'); return e.appendChild(t), e; }, }, { key: 'getLegendBBox', value: function () { var e = this.w.globals.dom.baseEl.querySelector( '.apexcharts-legend').getBoundingClientRect(), t = e.width; return { clwh: e.height, clww: t }; }, }, { key: 'appendToForeignObject', value: function () { var e = this.w.globals; e.dom.elLegendForeign = document.createElementNS(e.SVGNS, 'foreignObject'); var t = e.dom.elLegendForeign; t.setAttribute('x', 0), t.setAttribute('y', 0), t.setAttribute('width', e.svgWidth), t.setAttribute( 'height', e.svgHeight), e.dom.elLegendWrap.setAttribute( 'xmlns', 'http://www.w3.org/1999/xhtml'), t.appendChild( e.dom.elLegendWrap), t.appendChild( this.getLegendStyles()), e.dom.Paper.node.insertBefore( t, e.dom.elGraphical.node); }, }, { key: 'toggleDataSeries', value: function (e, t) { var n = this, i = this.w; if (i.globals.axisCharts || 'radialBar' === i.config.chart.type) { i.globals.resized = !0; var a = null, r = null; i.globals.risingSeries = [], i.globals.axisCharts ? (a = i.globals.dom.baseEl.querySelector( '.apexcharts-series[data\\:realIndex=\''.concat( e, '\']')), r = parseInt( a.getAttribute('data:realIndex'), 10)) : (a = i.globals.dom.baseEl.querySelector( '.apexcharts-series[rel=\''.concat(e + 1, '\']')), r = parseInt(a.getAttribute('rel'), 10) - 1), t ? [ { cs: i.globals.collapsedSeries, csi: i.globals.collapsedSeriesIndices, }, { cs: i.globals.ancillaryCollapsedSeries, csi: i.globals.ancillaryCollapsedSeriesIndices, }].forEach((function (e) { n.riseCollapsedSeries(e.cs, e.csi, r); })) : this.hideSeries({ seriesEl: a, realIndex: r }); } else { var o = i.globals.dom.Paper.select( ' .apexcharts-series[rel=\''.concat(e + 1, '\'] path')), s = i.config.chart.type; if ('pie' === s || 'polarArea' === s || 'donut' === s) { var l = i.config.plotOptions.pie.donut.labels; new v(this.lgCtx.ctx).pathMouseDown(o.members[0], null), this.lgCtx.ctx.pie.printDataLabelsInner( o.members[0].node, l); } o.fire('click'); } }, }, { key: 'hideSeries', value: function (e) { var t = e.seriesEl, n = e.realIndex, i = this.w, a = p.clone(i.config.series); if (i.globals.axisCharts) { var r = !1; if (i.config.yaxis[n] && i.config.yaxis[n].show && i.config.yaxis[n].showAlways && (r = !0, i.globals.ancillaryCollapsedSeriesIndices.indexOf( n) < 0 && (i.globals.ancillaryCollapsedSeries.push({ index: n, data: a[n].data.slice(), type: t.parentNode.className.baseVal.split('-')[1], }), i.globals.ancillaryCollapsedSeriesIndices.push( n))), !r) { i.globals.collapsedSeries.push({ index: n, data: a[n].data.slice(), type: t.parentNode.className.baseVal.split( '-')[1], }), i.globals.collapsedSeriesIndices.push(n); var o = i.globals.risingSeries.indexOf(n); i.globals.risingSeries.splice(o, 1); } } else i.globals.collapsedSeries.push({ index: n, data: a[n], }), i.globals.collapsedSeriesIndices.push(n); for (var s = t.childNodes, l = 0; l < s.length; l++) s[l].classList.contains( 'apexcharts-series-markers-wrap') && (s[l].classList.contains('apexcharts-hide') ? s[l].classList.remove('apexcharts-hide') : s[l].classList.add('apexcharts-hide')); i.globals.allSeriesCollapsed = i.globals.collapsedSeries.length === i.config.series.length, a = this._getSeriesBasedOnCollapsedState( a), this.lgCtx.ctx.updateHelpers._updateSeries(a, i.config.chart.animations.dynamicAnimation.enabled); }, }, { key: 'riseCollapsedSeries', value: function (e, t, n) { var i = this.w, a = p.clone(i.config.series); if (e.length > 0) { for (var r = 0; r < e.length; r++) e[r].index === n && (i.globals.axisCharts ? (a[n].data = e[r].data.slice(), e.splice(r, 1), t.splice(r, 1), i.globals.risingSeries.push( n)) : (a[n] = e[r].data, e.splice(r, 1), t.splice(r, 1), i.globals.risingSeries.push(n))); a = this._getSeriesBasedOnCollapsedState( a), this.lgCtx.ctx.updateHelpers._updateSeries(a, i.config.chart.animations.dynamicAnimation.enabled); } }, }, { key: '_getSeriesBasedOnCollapsedState', value: function (e) { var t = this.w; return t.globals.axisCharts ? e.forEach((function (n, i) { t.globals.collapsedSeriesIndices.indexOf(i) > -1 && (e[i].data = []); })) : e.forEach((function (n, i) { t.globals.collapsedSeriesIndices.indexOf(i) > -1 && (e[i] = 0); })), e; }, }]), e; }(), le = function () { function e (n, i) { t(this, e), this.ctx = n, this.w = n.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 se(this); } return i(e, [ { key: 'init', value: function () { var e = this.w, t = e.globals, n = e.config; if ((n.legend.showForSingleSeries && 1 === t.series.length || this.isBarsDistributed || t.series.length > 1 || !t.axisCharts) && n.legend.show) { for (; t.dom.elLegendWrap.firstChild;) t.dom.elLegendWrap.removeChild( t.dom.elLegendWrap.firstChild); this.drawLegends(), p.isIE11() ? document.getElementsByTagName( 'head')[0].appendChild( this.legendHelpers.getLegendStyles()) : this.legendHelpers.appendToForeignObject(), 'bottom' === n.legend.position || 'top' === n.legend.position ? this.legendAlignHorizontal() : 'right' !== n.legend.position && 'left' !== n.legend.position || this.legendAlignVertical(); } }, }, { key: 'drawLegends', value: function () { var e = this, t = this.w, n = t.config.legend.fontFamily, i = t.globals.seriesNames, a = t.globals.colors.slice(); if ('heatmap' === t.config.chart.type) { var r = t.config.plotOptions.heatmap.colorScale.ranges; i = r.map((function (e) { return e.name ? e.name : e.from + ' - ' + e.to; })), a = r.map((function (e) {return e.color;})); } else this.isBarsDistributed && (i = t.globals.labels.slice()); for (var o = t.globals.legendFormatter, s = t.config.legend.inverseOrder, l = s ? i.length - 1 : 0; s ? l >= 0 : l <= i.length - 1; s ? l-- : l++) { var c = o(i[l], { seriesIndex: l, w: t }), u = !1, d = !1; if (t.globals.collapsedSeries.length > 0) for (var h = 0; h < t.globals.collapsedSeries.length; h++) t.globals.collapsedSeries[h].index === l && (u = !0); if (t.globals.ancillaryCollapsedSeriesIndices.length > 0) for (var f = 0; f < t.globals.ancillaryCollapsedSeriesIndices.length; f++) t.globals.ancillaryCollapsedSeriesIndices[f] === l && (d = !0); var m = document.createElement('span'); m.classList.add('apexcharts-legend-marker'); var g = t.config.legend.markers.offsetX, y = t.config.legend.markers.offsetY, b = t.config.legend.markers.height, _ = t.config.legend.markers.width, w = t.config.legend.markers.strokeWidth, k = t.config.legend.markers.strokeColor, M = t.config.legend.markers.radius, L = m.style; L.background = a[l], L.color = a[l], L.setProperty( 'background', a[l], 'important'), t.config.legend.markers.fillColors && t.config.legend.markers.fillColors[l] && (L.background = t.config.legend.markers.fillColors[l]), void 0 !== t.globals.seriesColors[l] && (L.background = t.globals.seriesColors[l], L.color = t.globals.seriesColors[l]), L.height = Array.isArray( b) ? parseFloat(b[l]) + 'px' : parseFloat(b) + 'px', L.width = Array.isArray(_) ? parseFloat( _[l]) + 'px' : parseFloat(_) + 'px', L.left = Array.isArray(g) ? g[l] : g, L.top = Array.isArray(y) ? y[l] : y, L.borderWidth = Array.isArray(w) ? w[l] : w, L.borderColor = Array.isArray(k) ? k[l] : k, L.borderRadius = Array.isArray(M) ? parseFloat( M[l]) + 'px' : parseFloat(M) + 'px', t.config.legend.markers.customHTML && (Array.isArray(t.config.legend.markers.customHTML) ? t.config.legend.markers.customHTML[l] && (m.innerHTML = t.config.legend.markers.customHTML[l]()) : m.innerHTML = t.config.legend.markers.customHTML()), v.setAttrs( m, { rel: l + 1, 'data:collapsed': u || d }), (u || d) && m.classList.add('apexcharts-inactive-legend'); var S = document.createElement('div'), T = document.createElement('span'); T.classList.add( 'apexcharts-legend-text'), T.innerHTML = Array.isArray( c) ? c.join(' ') : c; var A = t.config.legend.labels.useSeriesColors ? t.globals.colors[l] : t.config.legend.labels.colors; A || (A = t.config.chart.foreColor), T.style.color = A, T.style.fontSize = parseFloat( t.config.legend.fontSize) + 'px', T.style.fontWeight = t.config.legend.fontWeight, T.style.fontFamily = n || t.config.chart.fontFamily, v.setAttrs(T, { rel: l + 1, i: l, 'data:default-text': encodeURIComponent(c), 'data:collapsed': u || d, }), S.appendChild(m), S.appendChild(T); var D = new x(this.ctx); t.config.legend.showForZeroSeries || 0 === D.getSeriesTotalByIndex(l) && D.seriesHaveSameValues(l) && !D.isSeriesNull(l) && -1 === t.globals.collapsedSeriesIndices.indexOf(l) && -1 === t.globals.ancillaryCollapsedSeriesIndices.indexOf(l) && S.classList.add( 'apexcharts-hidden-zero-series'), t.config.legend.showForNullSeries || D.isSeriesNull(l) && -1 === t.globals.collapsedSeriesIndices.indexOf(l) && -1 === t.globals.ancillaryCollapsedSeriesIndices.indexOf(l) && S.classList.add( 'apexcharts-hidden-null-series'), t.globals.dom.elLegendWrap.appendChild( S), t.globals.dom.elLegendWrap.classList.add( 'apexcharts-align-'.concat( t.config.legend.horizontalAlign)), t.globals.dom.elLegendWrap.classList.add( 'position-' + t.config.legend.position), S.classList.add( 'apexcharts-legend-series'), S.style.margin = ''.concat( t.config.legend.itemMargin.vertical, 'px '). concat(t.config.legend.itemMargin.horizontal, 'px'), t.globals.dom.elLegendWrap.style.width = t.config.legend.width ? t.config.legend.width + 'px' : '', t.globals.dom.elLegendWrap.style.height = t.config.legend.height ? t.config.legend.height + 'px' : '', v.setAttrs(S, { rel: l + 1, seriesName: p.escapeString(i[l]), 'data:collapsed': u || d, }), (u || d) && S.classList.add( 'apexcharts-inactive-legend'), t.config.legend.onItemClick.toggleDataSeries || S.classList.add('apexcharts-no-click'); } t.globals.dom.elWrap.addEventListener('click', e.onLegendClick, !0), t.config.legend.onItemHover.highlightDataSeries && (t.globals.dom.elWrap.addEventListener('mousemove', e.onLegendHovered, !0), t.globals.dom.elWrap.addEventListener('mouseout', e.onLegendHovered, !0)); }, }, { key: 'setLegendWrapXY', value: function (e, t) { var n = this.w, i = n.globals.dom.baseEl.querySelector( '.apexcharts-legend'), a = i.getBoundingClientRect(), r = 0, o = 0; if ('bottom' === n.config.legend.position) o += n.globals.svgHeight - a.height / 2; else if ('top' === n.config.legend.position) { var s = new oe(this.ctx), l = s.dimHelpers.getTitleSubtitleCoords( 'title').height, c = s.dimHelpers.getTitleSubtitleCoords( 'subtitle').height; o = o + (l > 0 ? l - 10 : 0) + (c > 0 ? c - 10 : 0); } i.style.position = 'absolute', r = r + e + n.config.legend.offsetX, o = o + t + n.config.legend.offsetY, i.style.left = r + 'px', i.style.top = o + 'px', 'bottom' === n.config.legend.position ? (i.style.top = 'auto', i.style.bottom = 5 - n.config.legend.offsetY + 'px') : 'right' === n.config.legend.position && (i.style.left = 'auto', i.style.right = 25 + n.config.legend.offsetX + 'px'), [ 'width', 'height'].forEach((function (e) { i.style[e] && (i.style[e] = parseInt(n.config.legend[e], 10) + 'px'); })); }, }, { key: 'legendAlignHorizontal', value: function () { var e = this.w; e.globals.dom.baseEl.querySelector( '.apexcharts-legend').style.right = 0; var t = this.legendHelpers.getLegendBBox(), n = new oe(this.ctx), i = n.dimHelpers.getTitleSubtitleCoords('title'), a = n.dimHelpers.getTitleSubtitleCoords('subtitle'), r = 0; 'bottom' === e.config.legend.position ? r = -t.clwh / 1.8 : 'top' === e.config.legend.position && (r = i.height + a.height + e.config.title.margin + e.config.subtitle.margin - 10), this.setLegendWrapXY(20, r); }, }, { key: 'legendAlignVertical', value: function () { var e = this.w, t = this.legendHelpers.getLegendBBox(), n = 0; 'left' === e.config.legend.position && (n = 20), 'right' === e.config.legend.position && (n = e.globals.svgWidth - t.clww - 10), this.setLegendWrapXY(n, 20); }, }, { key: 'onLegendHovered', value: function (e) { var t = this.w, n = e.target.classList.contains( 'apexcharts-legend-text') || e.target.classList.contains('apexcharts-legend-marker'); if ('heatmap' === t.config.chart.type || this.isBarsDistributed) { if (n) { var i = parseInt(e.target.getAttribute('rel'), 10) - 1; this.ctx.events.fireEvent('legendHover', [this.ctx, i, this.w]), new E( this.ctx).highlightRangeInSeries(e, e.target); } } else !e.target.classList.contains( 'apexcharts-inactive-legend') && n && new E(this.ctx).toggleSeriesOnHover(e, e.target); }, }, { key: 'onLegendClick', value: function (e) { var t = this.w; if (e.target.classList.contains('apexcharts-legend-text') || e.target.classList.contains( 'apexcharts-legend-marker')) { var n = parseInt(e.target.getAttribute('rel'), 10) - 1, i = 'true' === e.target.getAttribute('data:collapsed'), a = this.w.config.chart.events.legendClick; 'function' == typeof a && a(this.ctx, n, this.w), this.ctx.events.fireEvent( 'legendClick', [this.ctx, n, this.w]); var r = this.w.config.legend.markers.onClick; 'function' == typeof r && e.target.classList.contains( 'apexcharts-legend-marker') && (r(this.ctx, n, this.w), this.ctx.events.fireEvent( 'legendMarkerClick', [this.ctx, n, this.w])), 'treemap' !== t.config.chart.type && 'heatmap' !== t.config.chart.type && !this.isBarsDistributed && t.config.legend.onItemClick.toggleDataSeries && this.legendHelpers.toggleDataSeries(n, i); } }, }]), e; }(), ce = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w; var i = this.w; this.ev = this.w.config.chart.events, this.selectedClass = 'apexcharts-selected', this.localeValues = this.w.globals.locale.toolbar, this.minX = i.globals.minX, this.maxX = i.globals.maxX; } return i(e, [ { key: 'createToolbar', value: function () { var e = this, t = this.w, n = function () {return document.createElement('div');}, i = n(); if (i.setAttribute('class', 'apexcharts-toolbar'), i.style.top = t.config.chart.toolbar.offsetY + 'px', i.style.right = 3 - t.config.chart.toolbar.offsetX + 'px', t.globals.dom.elWrap.appendChild( i), this.elZoom = n(), this.elZoomIn = n(), this.elZoomOut = n(), this.elPan = n(), this.elSelection = n(), this.elZoomReset = n(), this.elMenuIcon = n(), this.elMenu = n(), this.elCustomIcons = [], this.t = t.config.chart.toolbar.tools, Array.isArray( this.t.customIcons)) for (var a = 0; a < this.t.customIcons.length; a++) this.elCustomIcons.push( n()); var r = [], o = function (n, i, a) { var o = n.toLowerCase(); e.t[o] && t.config.chart.zoom.enabled && r.push({ el: i, icon: 'string' == typeof e.t[o] ? e.t[o] : a, title: e.localeValues[n], class: 'apexcharts-'.concat(o, '-icon'), }); }; o('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'), o( '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 s = function (n) { e.t[n] && t.config.chart[n].enabled && r.push({ el: 'zoom' === n ? e.elZoom : e.elSelection, icon: 'string' == typeof e.t[n] ? e.t[n] : 'zoom' === n ? '<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: e.localeValues['zoom' === n ? 'selectionZoom' : 'selection'], class: t.globals.isTouchDevice ? 'apexcharts-element-hidden' : 'apexcharts-'.concat(n, '-icon'), }); }; s('zoom'), s('selection'), this.t.pan && t.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 0-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: t.globals.isTouchDevice ? 'apexcharts-element-hidden' : 'apexcharts-pan-icon', }), o('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 (e, t) { e.index && p.moveIndexInArray(r, t, e.index); })); for (var c = 0; c < r.length; c++) v.setAttrs(r[c].el, { class: r[c].class, title: r[c].title, }), r[c].el.innerHTML = r[c].icon, i.appendChild(r[c].el); this._createHamburgerMenu(i), t.globals.zoomEnabled ? this.elZoom.classList.add(this.selectedClass) : t.globals.panEnabled ? this.elPan.classList.add( this.selectedClass) : t.globals.selectionEnabled && this.elSelection.classList.add( this.selectedClass), this.addToolbarEventListeners(); }, }, { key: '_createHamburgerMenu', value: function (e) { this.elMenuItems = [], e.appendChild( this.elMenu), v.setAttrs(this.elMenu, { class: 'apexcharts-menu' }); var t = [ { name: 'exportSVG', title: this.localeValues.exportToSVG, }, { name: 'exportPNG', title: this.localeValues.exportToPNG, }, { name: 'exportCSV', title: this.localeValues.exportToCSV, }]; this.w.globals.allSeriesHasEqualX || t.splice(2, 1); for (var n = 0; n < t.length; n++) this.elMenuItems.push( document.createElement( 'div')), this.elMenuItems[n].innerHTML = t[n].title, v.setAttrs( this.elMenuItems[n], { class: 'apexcharts-menu-item '.concat(t[n].name), title: t[n].title, }), this.elMenu.appendChild(this.elMenuItems[n]); }, }, { key: 'addToolbarEventListeners', value: function () { var e = 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 (t) { t.classList.contains('exportSVG') ? t.addEventListener('click', e.handleDownload.bind(e, 'svg')) : t.classList.contains('exportPNG') ? t.addEventListener('click', e.handleDownload.bind(e, 'png')) : t.classList.contains('exportCSV') && t.addEventListener('click', e.handleDownload.bind(e, 'csv')); })); for (var t = 0; t < this.t.customIcons.length; t++) this.elCustomIcons[t].addEventListener( 'click', this.t.customIcons[t].click.bind(this, this.ctx, this.ctx.w)); }, }, { key: 'toggleZoomSelection', value: function (e) { this.ctx.getSyncedCharts(). forEach((function (t) { t.ctx.toolbar.toggleOtherControls(); var n = 'selection' === e ? t.ctx.toolbar.elSelection : t.ctx.toolbar.elZoom, i = 'selection' === e ? 'selectionEnabled' : 'zoomEnabled'; t.w.globals[i] = !t.w.globals[i], n.classList.contains( t.ctx.toolbar.selectedClass) ? n.classList.remove( t.ctx.toolbar.selectedClass) : n.classList.add(t.ctx.toolbar.selectedClass); })); }, }, { key: 'getToolbarIconsReference', value: function () { var e = this.w; this.elZoom || (this.elZoom = e.globals.dom.baseEl.querySelector( '.apexcharts-zoom-icon')), this.elPan || (this.elPan = e.globals.dom.baseEl.querySelector( '.apexcharts-pan-icon')), this.elSelection || (this.elSelection = e.globals.dom.baseEl.querySelector( '.apexcharts-selection-icon')); }, }, { key: 'enableZoomPanFromToolbar', value: function (e) { this.toggleOtherControls(), 'pan' === e ? this.w.globals.panEnabled = !0 : this.w.globals.zoomEnabled = !0; var t = 'pan' === e ? this.elPan : this.elZoom, n = 'pan' === e ? this.elZoom : this.elPan; t && t.classList.add(this.selectedClass), n && n.classList.remove(this.selectedClass); }, }, { key: 'togglePanning', value: function () { this.ctx.getSyncedCharts(). forEach((function (e) { e.ctx.toolbar.toggleOtherControls(), e.w.globals.panEnabled = !e.w.globals.panEnabled, e.ctx.toolbar.elPan.classList.contains( e.ctx.toolbar.selectedClass) ? e.ctx.toolbar.elPan.classList.remove( e.ctx.toolbar.selectedClass) : e.ctx.toolbar.elPan.classList.add( e.ctx.toolbar.selectedClass); })); }, }, { key: 'toggleOtherControls', value: function () { var e = this, t = this.w; t.globals.panEnabled = !1, t.globals.zoomEnabled = !1, t.globals.selectionEnabled = !1, this.getToolbarIconsReference(), [ this.elPan, this.elSelection, this.elZoom].forEach((function (t) { t && t.classList.remove(e.selectedClass); })); }, }, { key: 'handleZoomIn', value: function () { var e = this.w; e.globals.isTimelineBar && (this.minX = e.globals.minY, this.maxX = e.globals.maxY); var t = (this.minX + this.maxX) / 2, n = (this.minX + t) / 2, i = (this.maxX + t) / 2, a = this._getNewMinXMaxX(n, i); e.globals.disableZoomIn || this.zoomUpdateOptions(a.minX, a.maxX); }, }, { key: 'handleZoomOut', value: function () { var e = this.w; if (e.globals.isTimelineBar && (this.minX = e.globals.minY, this.maxX = e.globals.maxY), !('datetime' === e.config.xaxis.type && new Date(this.minX).getUTCFullYear() < 1e3)) { var t = (this.minX + this.maxX) / 2, n = this.minX - (t - this.minX), i = this.maxX - (t - this.maxX), a = this._getNewMinXMaxX(n, i); e.globals.disableZoomOut || this.zoomUpdateOptions(a.minX, a.maxX); } }, }, { key: '_getNewMinXMaxX', value: function ( e, t) { var n = this.w.config.xaxis.convertedCatToNumeric; return { minX: n ? Math.floor(e) : e, maxX: n ? Math.floor(t) : t, }; }, }, { key: 'zoomUpdateOptions', value: function (e, t) { var n = this.w; if (void 0 !== e || void 0 !== t) { if (!(n.config.xaxis.convertedCatToNumeric && (e < 1 && (e = 1, t = n.globals.dataPoints), t - e < 2))) { var i = { min: e, max: t }, a = this.getBeforeZoomRange(i); a && (i = a.xaxis); var r = { xaxis: i }, o = p.clone(n.globals.initialConfig.yaxis); n.config.chart.zoom.autoScaleYaxis && (o = new U(this.ctx).autoScaleY(this.ctx, o, { xaxis: i })), n.config.chart.group || (r.yaxis = o), this.w.globals.zoomed = !0, this.ctx.updateHelpers._updateOptions( r, !1, this.w.config.chart.animations.dynamicAnimation.enabled), this.zoomCallback( i, o); } } else this.handleZoomReset(); }, }, { key: 'zoomCallback', value: function (e, t) { 'function' == typeof this.ev.zoomed && this.ev.zoomed(this.ctx, { xaxis: e, yaxis: t }); }, }, { key: 'getBeforeZoomRange', value: function (e, t) { var n = null; return 'function' == typeof this.ev.beforeZoom && (n = this.ev.beforeZoom(this, { xaxis: e, yaxis: t })), n; }, }, { key: 'toggleMenu', value: function () { var e = this; window.setTimeout((function () { e.elMenu.classList.contains('apexcharts-menu-open') ? e.elMenu.classList.remove('apexcharts-menu-open') : e.elMenu.classList.add('apexcharts-menu-open'); }), 0); }, }, { key: 'handleDownload', value: function (e) { var t = this.w, n = new W(this.ctx); switch (e) { case'svg': n.exportToSVG(this.ctx); break; case'png': n.exportToPng(this.ctx); break; case'csv': n.exportToCSV({ series: t.config.series, columnDelimiter: t.config.chart.toolbar.export.csv.columnDelimiter, }); } }, }, { key: 'handleZoomReset', value: function (e) { this.ctx.getSyncedCharts(). forEach((function (e) { var t = e.w; if (t.globals.lastXAxis.min = void 0, t.globals.lastXAxis.max = void 0, e.updateHelpers.revertDefaultAxisMinMax(), 'function' == typeof t.config.chart.events.beforeResetZoom) { var n = t.config.chart.events.beforeResetZoom(e, t); n && e.updateHelpers.revertDefaultAxisMinMax(n); } 'function' == typeof t.config.chart.events.zoomed && e.ctx.toolbar.zoomCallback({ min: t.config.xaxis.min, max: t.config.xaxis.max, }), t.globals.zoomed = !1; var i = e.ctx.series.emptyCollapsedSeries( p.clone(t.globals.initialSeries)); e.updateHelpers._updateSeries(i, t.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;}, }]), e; }(), ue = function (e) { s(a, e); var n = d(a); function a (e) { var i; return t(this, a), (i = n.call(this, e)).ctx = e, i.w = e.w, i.dragged = !1, i.graphics = new v( i.ctx), i.eventList = [ 'mousedown', 'mouseleave', 'mousemove', 'touchstart', 'touchmove', 'mouseup', 'touchend'], i.clientX = 0, i.clientY = 0, i.startX = 0, i.endX = 0, i.dragX = 0, i.startY = 0, i.endY = 0, i.dragY = 0, i.moveDirection = 'none', i; } return i(a, [ { key: 'init', value: function (e) { var t = this, n = e.xyRatios, i = this.w, a = this; this.xyRatios = n, this.zoomRect = this.graphics.drawRect(0, 0, 0, 0), this.selectionRect = this.graphics.drawRect(0, 0, 0, 0), this.gridRect = i.globals.dom.baseEl.querySelector( '.apexcharts-grid'), this.zoomRect.node.classList.add( 'apexcharts-zoom-rect'), this.selectionRect.node.classList.add( 'apexcharts-selection-rect'), i.globals.dom.elGraphical.add( this.zoomRect), i.globals.dom.elGraphical.add( this.selectionRect), 'x' === i.config.chart.selection.type ? this.slDraggableRect = this.selectionRect.draggable({ minX: 0, minY: 0, maxX: i.globals.gridWidth, maxY: i.globals.gridHeight, }). on('dragmove', this.selectionDragging.bind(this, 'dragging')) : 'y' === i.config.chart.selection.type ? this.slDraggableRect = this.selectionRect.draggable( { minX: 0, maxX: i.globals.gridWidth }). on('dragmove', this.selectionDragging.bind(this, 'dragging')) : this.slDraggableRect = this.selectionRect.draggable(). on('dragmove', this.selectionDragging.bind(this, 'dragging')), this.preselectedSelection(), this.hoverArea = i.globals.dom.baseEl.querySelector( ''.concat(i.globals.chartClass, ' .apexcharts-svg')), this.hoverArea.classList.add( 'apexcharts-zoomable'), this.eventList.forEach( (function (e) { t.hoverArea.addEventListener(e, a.svgMouseEvents.bind(a, n), { capture: !1, passive: !0 }); })); }, }, { 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 (e, t) { var n = this.w, i = this, a = this.ctx.toolbar, r = n.globals.zoomEnabled ? n.config.chart.zoom.type : n.config.chart.selection.type, o = n.config.chart.toolbar.autoSelected; t.shiftKey ? (this.shiftWasPressed = !0, a.enableZoomPanFromToolbar( 'pan' === o ? 'zoom' : 'pan')) : this.shiftWasPressed && (a.enableZoomPanFromToolbar( o), this.shiftWasPressed = !1); var s = t.target.classList; if (!(s.contains('apexcharts-selection-rect') || s.contains('apexcharts-legend-marker') || s.contains('apexcharts-legend-text') || t.target.parentNode.classList.contains( 'apexcharts-toolbar'))) { if (i.clientX = 'touchmove' === t.type || 'touchstart' === t.type ? t.touches[0].clientX : 'touchend' === t.type ? t.changedTouches[0].clientX : t.clientX, i.clientY = 'touchmove' === t.type || 'touchstart' === t.type ? t.touches[0].clientY : 'touchend' === t.type ? t.changedTouches[0].clientY : t.clientY, 'mousedown' === t.type && 1 === t.which) { var l = i.gridRect.getBoundingClientRect(); i.startX = i.clientX - l.left, i.startY = i.clientY - l.top, i.dragged = !1, i.w.globals.mousedown = !0; } if (('mousemove' === t.type && 1 === t.which || 'touchmove' === t.type) && (i.dragged = !0, n.globals.panEnabled ? (n.globals.selection = null, i.w.globals.mousedown && i.panDragging( { context: i, zoomtype: r, xyRatios: e })) : (i.w.globals.mousedown && n.globals.zoomEnabled || i.w.globals.mousedown && n.globals.selectionEnabled) && (i.selection = i.selectionDrawing( { context: i, zoomtype: r }))), 'mouseup' === t.type || 'touchend' === t.type || 'mouseleave' === t.type) { var c = i.gridRect.getBoundingClientRect(); i.w.globals.mousedown && (i.endX = i.clientX - c.left, i.endY = i.clientY - c.top, i.dragX = Math.abs( i.endX - i.startX), i.dragY = Math.abs( i.endY - i.startY), (n.globals.zoomEnabled || n.globals.selectionEnabled) && i.selectionDrawn( { context: i, zoomtype: r, }), n.globals.panEnabled && n.config.xaxis.convertedCatToNumeric && i.delayedPanScrolled()), n.globals.zoomEnabled && i.hideSelectionRect( this.selectionRect), i.dragged = !1, i.w.globals.mousedown = !1; } this.makeSelectionRectDraggable(); } }, }, { key: 'makeSelectionRectDraggable', value: function () { var e = this.w; if (this.selectionRect) { var t = this.selectionRect.node.getBoundingClientRect(); t.width > 0 && t.height > 0 && this.slDraggableRect.selectize({ points: 'l, r', pointSize: 8, pointType: 'rect', }). resize({ constraint: { minX: 0, minY: 0, maxX: e.globals.gridWidth, maxY: e.globals.gridHeight, }, }). on('resizing', this.selectionDragging.bind(this, 'resizing')); } }, }, { key: 'preselectedSelection', value: function () { var e = this.w, t = this.xyRatios; if (!e.globals.zoomEnabled) if (void 0 !== e.globals.selection && null !== e.globals.selection) this.drawSelectionRect( e.globals.selection); else if (void 0 !== e.config.chart.selection.xaxis.min && void 0 !== e.config.chart.selection.xaxis.max) { var n = (e.config.chart.selection.xaxis.min - e.globals.minX) / t.xRatio, i = { x: n, y: 0, width: e.globals.gridWidth - (e.globals.maxX - e.config.chart.selection.xaxis.max) / t.xRatio - n, height: e.globals.gridHeight, translateX: 0, translateY: 0, selectionEnabled: !0, }; this.drawSelectionRect( i), this.makeSelectionRectDraggable(), 'function' == typeof e.config.chart.events.selection && e.config.chart.events.selection(this.ctx, { xaxis: { min: e.config.chart.selection.xaxis.min, max: e.config.chart.selection.xaxis.max, }, yaxis: {}, }); } }, }, { key: 'drawSelectionRect', value: function (e) { var t = e.x, n = e.y, i = e.width, a = e.height, r = e.translateX, o = void 0 === r ? 0 : r, s = e.translateY, l = void 0 === s ? 0 : s, c = this.w, u = this.zoomRect, d = this.selectionRect; if (this.dragged || null !== c.globals.selection) { var h = { transform: 'translate(' + o + ', ' + l + ')', }; c.globals.zoomEnabled && this.dragged && (i < 0 && (i = 1), u.attr({ x: t, y: n, width: i, height: a, fill: c.config.chart.zoom.zoomedArea.fill.color, 'fill-opacity': c.config.chart.zoom.zoomedArea.fill.opacity, stroke: c.config.chart.zoom.zoomedArea.stroke.color, 'stroke-width': c.config.chart.zoom.zoomedArea.stroke.width, 'stroke-opacity': c.config.chart.zoom.zoomedArea.stroke.opacity, }), v.setAttrs(u.node, h)), c.globals.selectionEnabled && (d.attr({ x: t, y: n, width: i > 0 ? i : 0, height: a > 0 ? a : 0, fill: c.config.chart.selection.fill.color, 'fill-opacity': c.config.chart.selection.fill.opacity, stroke: c.config.chart.selection.stroke.color, 'stroke-width': c.config.chart.selection.stroke.width, 'stroke-dasharray': c.config.chart.selection.stroke.dashArray, 'stroke-opacity': c.config.chart.selection.stroke.opacity, }), v.setAttrs(d.node, h)); } }, }, { key: 'hideSelectionRect', value: function (e) { e && e.attr({ x: 0, y: 0, width: 0, height: 0 }); }, }, { key: 'selectionDrawing', value: function (e) { var t, n = e.context, i = e.zoomtype, a = this.w, r = n, o = this.gridRect.getBoundingClientRect(), s = r.startX - 1, l = r.startY, c = !1, u = !1, d = r.clientX - o.left - s, h = r.clientY - o.top - l; return Math.abs(d + s) > a.globals.gridWidth ? d = a.globals.gridWidth - s : r.clientX - o.left < 0 && (d = s), s > r.clientX - o.left && (c = !0, d = Math.abs(d)), l > r.clientY - o.top && (u = !0, h = Math.abs(h)), t = 'x' === i ? { x: c ? s - d : s, y: 0, width: d, height: a.globals.gridHeight, } : 'y' === i ? { x: 0, y: u ? l - h : l, width: a.globals.gridWidth, height: h, } : { x: c ? s - d : s, y: u ? l - h : l, width: d, height: h, }, r.drawSelectionRect(t), r.selectionDragging( 'resizing'), t; }, }, { key: 'selectionDragging', value: function (e, t) { var n = this, i = this.w, a = this.xyRatios, r = this.selectionRect, o = 0; 'resizing' === e && (o = 30); var s = function (e) { return parseFloat(r.node.getAttribute(e)); }, l = { x: s('x'), y: s('y'), width: s('width'), height: s('height'), }; i.globals.selection = l, 'function' == typeof i.config.chart.events.selection && i.globals.selectionEnabled && (clearTimeout( this.w.globals.selectionResizeTimer), this.w.globals.selectionResizeTimer = window.setTimeout( (function () { var e = n.gridRect.getBoundingClientRect(), t = r.node.getBoundingClientRect(), o = { xaxis: { min: i.globals.xAxisScale.niceMin + (t.left - e.left) * a.xRatio, max: i.globals.xAxisScale.niceMin + (t.right - e.left) * a.xRatio, }, yaxis: { min: i.globals.yAxisScale[0].niceMin + (e.bottom - t.bottom) * a.yRatio[0], max: i.globals.yAxisScale[0].niceMax - (t.top - e.top) * a.yRatio[0], }, }; i.config.chart.events.selection(n.ctx, o), i.config.chart.brush.enabled && void 0 !== i.config.chart.events.brushScrolled && i.config.chart.events.brushScrolled(n.ctx, o); }), o)); }, }, { key: 'selectionDrawn', value: function (e) { var t = e.context, n = e.zoomtype, i = this.w, a = t, r = this.xyRatios, o = this.ctx.toolbar; if (a.startX > a.endX) { var s = a.startX; a.startX = a.endX, a.endX = s; } if (a.startY > a.endY) { var l = a.startY; a.startY = a.endY, a.endY = l; } var c = void 0, u = void 0; i.globals.isTimelineBar ? (c = i.globals.yAxisScale[0].niceMin + a.startX * r.invertedYRatio, u = i.globals.yAxisScale[0].niceMin + a.endX * r.invertedYRatio) : (c = i.globals.xAxisScale.niceMin + a.startX * r.xRatio, u = i.globals.xAxisScale.niceMin + a.endX * r.xRatio); var d = [], h = []; if (i.config.yaxis.forEach((function (e, t) { d.push(i.globals.yAxisScale[t].niceMax - r.yRatio[t] * a.startY), h.push( i.globals.yAxisScale[t].niceMax - r.yRatio[t] * a.endY); })), a.dragged && (a.dragX > 10 || a.dragY > 10) && c !== u) if (i.globals.zoomEnabled) { var f = p.clone(i.globals.initialConfig.yaxis), m = p.clone(i.globals.initialConfig.xaxis); if (i.globals.zoomed = !0, i.config.xaxis.convertedCatToNumeric && (c = Math.floor(c), u = Math.floor(u), c < 1 && (c = 1, u = i.globals.dataPoints), u - c < 2 && (u = c + 1)), 'xy' !== n && 'x' !== n || (m = { min: c, max: u }), 'xy' !== n && 'y' !== n || f.forEach((function ( e, t) {f[t].min = h[t], f[t].max = d[t];})), i.config.chart.zoom.autoScaleYaxis) { var g = new U(a.ctx); f = g.autoScaleY(a.ctx, f, { xaxis: m }); } if (o) { var v = o.getBeforeZoomRange(m, f); v && (m = v.xaxis ? v.xaxis : m, f = v.yaxis ? v.yaxis : f); } var y = { xaxis: m }; i.config.chart.group || (y.yaxis = f), a.ctx.updateHelpers._updateOptions(y, !1, a.w.config.chart.animations.dynamicAnimation.enabled), 'function' == typeof i.config.chart.events.zoomed && o.zoomCallback(m, f); } else if (i.globals.selectionEnabled) { var b, x = null; b = { min: c, max: u }, 'xy' !== n && 'y' !== n || (x = p.clone(i.config.yaxis)).forEach((function ( e, t) {x[t].min = h[t], x[t].max = d[t];})), i.globals.selection = a.selection, 'function' == typeof i.config.chart.events.selection && i.config.chart.events.selection(a.ctx, { xaxis: b, yaxis: x }); } }, }, { key: 'panDragging', value: function (e) { var t = e.context, n = this.w, i = t; if (void 0 !== n.globals.lastClientPosition.x) { var a = n.globals.lastClientPosition.x - i.clientX, r = n.globals.lastClientPosition.y - i.clientY; Math.abs(a) > Math.abs(r) && a > 0 ? this.moveDirection = 'left' : Math.abs(a) > Math.abs(r) && a < 0 ? this.moveDirection = 'right' : Math.abs(r) > Math.abs(a) && r > 0 ? this.moveDirection = 'up' : Math.abs(r) > Math.abs(a) && r < 0 && (this.moveDirection = 'down'); } n.globals.lastClientPosition = { x: i.clientX, y: i.clientY, }; var o = n.globals.isTimelineBar ? n.globals.minY : n.globals.minX, s = n.globals.isTimelineBar ? n.globals.maxY : n.globals.maxX; n.config.xaxis.convertedCatToNumeric || i.panScrolled(o, s); }, }, { key: 'delayedPanScrolled', value: function () { var e = this.w, t = e.globals.minX, n = e.globals.maxX, i = (e.globals.maxX - e.globals.minX) / 2; 'left' === this.moveDirection ? (t = e.globals.minX + i, n = e.globals.maxX + i) : 'right' === this.moveDirection && (t = e.globals.minX - i, n = e.globals.maxX - i), t = Math.floor(t), n = Math.floor( n), this.updateScrolledChart( { xaxis: { min: t, max: n } }, t, n); }, }, { key: 'panScrolled', value: function (e, t) { var n = this.w, i = this.xyRatios, a = p.clone(n.globals.initialConfig.yaxis), r = i.xRatio, o = n.globals.minX, s = n.globals.maxX; n.globals.isTimelineBar && (r = i.invertedYRatio, o = n.globals.minY, s = n.globals.maxY), 'left' === this.moveDirection ? (e = o + n.globals.gridWidth / 15 * r, t = s + n.globals.gridWidth / 15 * r) : 'right' === this.moveDirection && (e = o - n.globals.gridWidth / 15 * r, t = s - n.globals.gridWidth / 15 * r), n.globals.isTimelineBar || (e < n.globals.initialMinX || t > n.globals.initialMaxX) && (e = o, t = s); var l = { min: e, max: t }; n.config.chart.zoom.autoScaleYaxis && (a = new U(this.ctx).autoScaleY(this.ctx, a, { xaxis: l })); var c = { xaxis: { min: e, max: t } }; n.config.chart.group || (c.yaxis = a), this.updateScrolledChart(c, e, t); }, }, { key: 'updateScrolledChart', value: function (e, t, n) { var i = this.w; this.ctx.updateHelpers._updateOptions(e, !1, !1), 'function' == typeof i.config.chart.events.scrolled && i.config.chart.events.scrolled(this.ctx, { xaxis: { min: t, max: n } }); }, }]), a; }(ce), de = function () { function e (n) { t(this, e), this.w = n.w, this.ttCtx = n, this.ctx = n.ctx; } return i(e, [ { key: 'getNearestValues', value: function (e) { var t = e.hoverArea, n = e.elGrid, i = e.clientX, a = e.clientY, r = this.w, o = r.globals.gridWidth, s = o / (r.globals.dataPoints - 1), l = n.getBoundingClientRect(), c = this.hasBars(); !r.globals.comboCharts && !c || r.config.xaxis.convertedCatToNumeric || (s = o / r.globals.dataPoints); var u = i - l.left - r.globals.barPadForNumericAxis, d = a - l.top; u < 0 || d < 0 || u > r.globals.gridWidth || d > r.globals.gridHeight ? (t.classList.remove( 'hovering-zoom'), t.classList.remove('hovering-pan')) : r.globals.zoomEnabled ? (t.classList.remove('hovering-pan'), t.classList.add( 'hovering-zoom')) : r.globals.panEnabled && (t.classList.remove('hovering-zoom'), t.classList.add( 'hovering-pan')); var h = Math.round(u / s); c && !r.config.xaxis.convertedCatToNumeric && (h = Math.ceil(u / s), h -= 1); for (var f, m = null, g = null, v = [], y = 0; y < r.globals.seriesXvalues.length; y++) v.push( [r.globals.seriesXvalues[y][0] - 1e-6].concat( r.globals.seriesXvalues[y])); return v = v.map((function (e) { return e.filter((function (e) {return e;})); })), f = r.globals.seriesYvalues.map((function (e) { return e.filter((function (e) {return p.isNumber(e);})); })), r.globals.isXNumeric && (m = (g = this.closestInMultiArray(u, d, v, f)).index, h = g.j, null !== m && (v = r.globals.seriesXvalues[m], h = (g = this.closestInArray( u, v)).index)), r.globals.capturedSeriesIndex = null === m ? -1 : m, (!h || h < 1) && (h = 0), r.globals.capturedDataPointIndex = h, { capturedSeries: m, j: h, hoverX: u, hoverY: d, }; }, }, { key: 'closestInMultiArray', value: function (e, t, n, i) { var a = this.w, r = 0, o = null, s = -1; a.globals.series.length > 1 ? r = this.getFirstActiveXArray( n) : o = 0; var l = i[r][0], c = n[r][0], u = Math.abs(e - c), d = Math.abs(t - l), h = d + u; return i.map((function (a, r) { a.map((function (a, l) { var c = Math.abs(t - i[r][l]), f = Math.abs(e - n[r][l]), p = f + c; p < h && (h = p, u = f, d = c, o = r, s = l); })); })), { index: o, j: s }; }, }, { key: 'getFirstActiveXArray', value: function (e) { for (var t = 0, n = e.map((function (e, t) { return e.length > 0 ? t : -1; })), i = 0; i < n.length; i++) if (-1 !== n[i]) { t = n[i]; break; } return t; }, }, { key: 'closestInArray', value: function ( e, t) { for (var n = t[0], i = null, a = Math.abs(e - n), r = 0; r < t.length; r++) { var o = Math.abs(e - t[r]); o < a && (a = o, i = r); } return { index: i }; }, }, { key: 'isXoverlap', value: function (e) { var t = [], n = this.w.globals.seriesX.filter( (function (e) {return void 0 !== e[0];})); if (n.length > 0) for (var i = 0; i < n.length - 1; i++) void 0 !== n[i][e] && void 0 !== n[i + 1][e] && n[i][e] !== n[i + 1][e] && t.push('unEqual'); return 0 === t.length; }, }, { key: 'isInitialSeriesSameLen', value: function () { for (var e = !0, t = this.w.globals.initialSeries, n = 0; n < t.length - 1; n++) if (t[n].data.length !== t[n + 1].data.length) { e = !1; break; } return e; }, }, { key: 'getBarsHeight', value: function (e) { return h(e). reduce( (function (e, t) {return e + t.getBBox().height;}), 0); }, }, { key: 'getElMarkers', value: function () { return this.w.globals.dom.baseEl.querySelectorAll( ' .apexcharts-series-markers'); }, }, { key: 'getAllMarkers', value: function () { var e = this.w.globals.dom.baseEl.querySelectorAll( '.apexcharts-series-markers-wrap'); (e = h(e)).sort((function (e, t) { return Number(t.getAttribute('data:realIndex')) < Number(e.getAttribute('data:realIndex')) ? 0 : -1; })); var t = []; return e.forEach((function (e) { t.push(e.querySelector('.apexcharts-marker')); })), t; }, }, { key: 'hasMarkers', value: function () {return this.getElMarkers().length > 0;}, }, { key: 'getElBars', value: function () { return this.w.globals.dom.baseEl.querySelectorAll( '.apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-rangebar-series'); }, }, { key: 'hasBars', value: function () {return this.getElBars().length > 0;}, }, { key: 'getHoverMarkerSize', value: function (e) { var t = this.w, n = t.config.markers.hover.size; return void 0 === n && (n = t.globals.markers.size[e] + t.config.markers.hover.sizeOffset), n; }, }, { key: 'toggleAllTooltipSeriesGroups', value: function (e) { var t = this.w, n = this.ttCtx; 0 === n.allTooltipSeriesGroups.length && (n.allTooltipSeriesGroups = t.globals.dom.baseEl.querySelectorAll( '.apexcharts-tooltip-series-group')); for (var i = n.allTooltipSeriesGroups, a = 0; a < i.length; a++) 'enable' === e ? (i[a].classList.add( 'apexcharts-active'), i[a].style.display = t.config.tooltip.items.display) : (i[a].classList.remove( 'apexcharts-active'), i[a].style.display = 'none'); }, }]), e; }(), he = function () { function e (n) { t(this, e), this.w = n.w, this.ctx = n.ctx, this.ttCtx = n, this.tooltipUtil = new de( n); } return i(e, [ { key: 'drawSeriesTexts', value: function (e) { var t = e.shared, n = void 0 === t || t, i = e.ttItems, a = e.i, r = void 0 === a ? 0 : a, o = e.j, s = void 0 === o ? null : o, l = e.y1, c = e.y2, u = e.e, d = this.w; void 0 !== d.config.tooltip.custom ? this.handleCustomTooltip( { i: r, j: s, y1: l, y2: c, w: d }) : this.toggleActiveInactiveSeries(n); var h = this.getValuesToPrint({ i: r, j: s }); this.printLabels( { i: r, j: s, values: h, ttItems: i, shared: n, e: u }); var f = this.ttCtx.getElTooltip(); this.ttCtx.tooltipRect.ttWidth = f.getBoundingClientRect().width, this.ttCtx.tooltipRect.ttHeight = f.getBoundingClientRect().height; }, }, { key: 'printLabels', value: function (e) { var t, n = this, i = e.i, a = e.j, r = e.values, s = e.ttItems, l = e.shared, c = e.e, u = this.w, d = r.xVal, h = r.zVal, f = r.xAxisTTVal, p = '', m = u.globals.colors[i]; null !== a && u.config.plotOptions.bar.distributed && (m = u.globals.colors[a]); for (var g = function (e, r) { var g = n.getFormatters(i); p = n.getSeriesName({ fn: g.yLbTitleFormatter, index: i, seriesIndex: i, j: a, }), 'treemap' === u.config.chart.type && (p = g.yLbTitleFormatter( String(u.config.series[i].data[a].x), { series: u.globals.series, seriesIndex: i, dataPointIndex: a, w: u, })); var v = u.config.tooltip.inverseOrder ? r : e; if (u.globals.axisCharts) { var y = function (e) { return g.yLbFormatter(u.globals.series[e][a], { series: u.globals.series, seriesIndex: e, dataPointIndex: a, w: u, }); }; l ? (g = n.getFormatters(v), p = n.getSeriesName({ fn: g.yLbTitleFormatter, index: v, seriesIndex: i, j: a, }), m = u.globals.colors[v], t = y(v)) : (c && c.target && c.target.getAttribute('fill') && (m = c.target.getAttribute('fill')), t = y(i)); } null === a && (t = g.yLbFormatter(u.globals.series[i], o(o({}, u), {}, { seriesIndex: i, dataPointIndex: i, }))), n.DOMHandling({ i: i, t: v, j: a, ttItems: s, values: { val: t, xVal: d, xAxisTTVal: f, zVal: h }, seriesName: p, shared: l, pColor: m, }); }, v = 0, y = u.globals.series.length - 1; v < u.globals.series.length; v++, y--) g(v, y); }, }, { key: 'getFormatters', value: function (e) { var t, n = this.w, i = n.globals.yLabelFormatters[e]; return void 0 !== n.globals.ttVal ? Array.isArray(n.globals.ttVal) ? (i = n.globals.ttVal[e] && n.globals.ttVal[e].formatter, t = n.globals.ttVal[e] && n.globals.ttVal[e].title && n.globals.ttVal[e].title.formatter) : (i = n.globals.ttVal.formatter, 'function' == typeof n.globals.ttVal.title.formatter && (t = n.globals.ttVal.title.formatter)) : t = n.config.tooltip.y.title.formatter, 'function' != typeof i && (i = n.globals.yLabelFormatters[0] ? n.globals.yLabelFormatters[0] : function (e) {return e;}), 'function' != typeof t && (t = function (e) {return e;}), { yLbFormatter: i, yLbTitleFormatter: t, }; }, }, { key: 'getSeriesName', value: function (e) { var t = e.fn, n = e.index, i = e.seriesIndex, a = e.j, r = this.w; return t(String(r.globals.seriesNames[n]), { series: r.globals.series, seriesIndex: i, dataPointIndex: a, w: r, }); }, }, { key: 'DOMHandling', value: function (e) { e.i; var t = e.t, n = (e.j, e.ttItems), i = e.values, a = e.seriesName, r = e.shared, o = e.pColor, s = this.w, l = this.ttCtx, c = i.val, u = i.xVal, d = i.xAxisTTVal, h = i.zVal, f = null; f = n[t].children, s.config.tooltip.fillSeriesColor && (n[t].style.backgroundColor = o, f[0].style.display = 'none'), l.showTooltipTitle && (null === l.tooltipTitle && (l.tooltipTitle = s.globals.dom.baseEl.querySelector( '.apexcharts-tooltip-title')), l.tooltipTitle.innerHTML = u), l.blxaxisTooltip && (l.xaxisTooltipText.innerHTML = '' !== d ? d : u); var p = n[t].querySelector( '.apexcharts-tooltip-text-label'); p && (p.innerHTML = a || ''); var m = n[t].querySelector( '.apexcharts-tooltip-text-value'); m && (m.innerHTML = void 0 !== c ? c : ''), f[0] && f[0].classList.contains('apexcharts-tooltip-marker') && (s.config.tooltip.marker.fillColors && Array.isArray(s.config.tooltip.marker.fillColors) && (o = s.config.tooltip.marker.fillColors[t]), f[0].style.backgroundColor = o), s.config.tooltip.marker.show || (f[0].style.display = 'none'), null !== h && (n[t].querySelector( '.apexcharts-tooltip-text-z-label').innerHTML = s.config.tooltip.z.title, n[t].querySelector( '.apexcharts-tooltip-text-z-value').innerHTML = void 0 !== h ? h : ''), r && f[0] && (null == c || s.globals.collapsedSeriesIndices.indexOf(t) > -1 ? f[0].parentNode.style.display = 'none' : f[0].parentNode.style.display = s.config.tooltip.items.display); }, }, { key: 'toggleActiveInactiveSeries', value: function (e) { var t = this.w; if (e) this.tooltipUtil.toggleAllTooltipSeriesGroups( 'enable'); else { this.tooltipUtil.toggleAllTooltipSeriesGroups( 'disable'); var n = t.globals.dom.baseEl.querySelector( '.apexcharts-tooltip-series-group'); n && (n.classList.add( 'apexcharts-active'), n.style.display = t.config.tooltip.items.display); } }, }, { key: 'getValuesToPrint', value: function (e) { var t = e.i, n = e.j, i = this.w, a = this.ctx.series.filteredSeriesX(), r = '', o = '', s = null, l = null, c = { series: i.globals.series, seriesIndex: t, dataPointIndex: n, w: i, }, u = i.globals.ttZFormatter; null === n ? l = i.globals.series[t] : i.globals.isXNumeric && 'treemap' !== i.config.chart.type ? (r = a[t][n], 0 === a[t].length && (r = a[this.tooltipUtil.getFirstActiveXArray(a)][n])) : r = void 0 !== i.globals.labels[n] ? i.globals.labels[n] : ''; var d = r; return r = i.globals.isXNumeric && 'datetime' === i.config.xaxis.type ? new z(this.ctx).xLabelFormat( i.globals.ttKeyFormatter, d, d, { i: void 0, dateFormatter: new P(this.ctx).formatDate, w: this.w, }) : i.globals.isBarHorizontal ? i.globals.yLabelFormatters[0](d, c) : i.globals.xLabelFormatter(d, c), void 0 !== i.config.tooltip.x.formatter && (r = i.globals.ttKeyFormatter(d, c)), i.globals.seriesZ.length > 0 && i.globals.seriesZ[t].length > 0 && (s = u(i.globals.seriesZ[t][n], i)), o = 'function' == typeof i.config.xaxis.tooltip.formatter ? i.globals.xaxisTooltipFormatter(d, c) : r, { val: Array.isArray(l) ? l.join(' ') : l, xVal: Array.isArray(r) ? r.join(' ') : r, xAxisTTVal: Array.isArray(o) ? o.join(' ') : o, zVal: s, }; }, }, { key: 'handleCustomTooltip', value: function (e) { var t = e.i, n = e.j, i = e.y1, a = e.y2, r = e.w, o = this.ttCtx.getElTooltip(), s = r.config.tooltip.custom; Array.isArray(s) && s[t] && (s = s[t]), o.innerHTML = s({ ctx: this.ctx, series: r.globals.series, seriesIndex: t, dataPointIndex: n, y1: i, y2: a, w: r, }); }, }]), e; }(), fe = function () { function e (n) { t(this, e), this.ttCtx = n, this.ctx = n.ctx, this.w = n.w; } return i(e, [ { key: 'moveXCrosshairs', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : null, n = this.ttCtx, i = this.w, a = n.getElXCrosshairs(), r = e - n.xcrosshairsWidth / 2, o = i.globals.labels.slice().length; if (null !== t && (r = i.globals.gridWidth / o * t), null !== a && (a.setAttribute('x', r), a.setAttribute('x1', r), a.setAttribute('x2', r), a.setAttribute('y2', i.globals.gridHeight), a.classList.add( 'apexcharts-active')), r < 0 && (r = 0), r > i.globals.gridWidth && (r = i.globals.gridWidth), n.blxaxisTooltip) { var s = r; 'tickWidth' !== i.config.xaxis.crosshairs.width && 'barWidth' !== i.config.xaxis.crosshairs.width || (s = r + n.xcrosshairsWidth / 2), this.moveXAxisTooltip( s); } }, }, { key: 'moveYCrosshairs', value: function (e) { var t = this.ttCtx; null !== t.ycrosshairs && v.setAttrs(t.ycrosshairs, { y1: e, y2: e }), null !== t.ycrosshairsHidden && v.setAttrs(t.ycrosshairsHidden, { y1: e, y2: e }); }, }, { key: 'moveXAxisTooltip', value: function (e) { var t = this.w, n = this.ttCtx; if (null !== n.xaxisTooltip) { n.xaxisTooltip.classList.add('apexcharts-active'); var i, a = n.xaxisOffY + t.config.xaxis.tooltip.offsetY + t.globals.translateY + 1 + t.config.xaxis.offsetY; if (e -= n.xaxisTooltip.getBoundingClientRect().width / 2, !isNaN(e)) e += t.globals.translateX, i = new v( this.ctx).getTextRects( n.xaxisTooltipText.innerHTML), n.xaxisTooltipText.style.minWidth = i.width + 'px', n.xaxisTooltip.style.left = e + 'px', n.xaxisTooltip.style.top = a + 'px'; } }, }, { key: 'moveYAxisTooltip', value: function (e) { var t = this.w, n = this.ttCtx; null === n.yaxisTTEls && (n.yaxisTTEls = t.globals.dom.baseEl.querySelectorAll( '.apexcharts-yaxistooltip')); var i = parseInt(n.ycrosshairsHidden.getAttribute('y1'), 10), a = t.globals.translateY + i, r = n.yaxisTTEls[e].getBoundingClientRect().height, o = t.globals.translateYAxisX[e] - 2; t.config.yaxis[e].opposite && (o -= 26), a -= r / 2, -1 === t.globals.ignoreYAxisIndexes.indexOf(e) ? (n.yaxisTTEls[e].classList.add( 'apexcharts-active'), n.yaxisTTEls[e].style.top = a + 'px', n.yaxisTTEls[e].style.left = o + t.config.yaxis[e].tooltip.offsetX + 'px') : n.yaxisTTEls[e].classList.remove('apexcharts-active'); }, }, { key: 'moveTooltip', value: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, i = this.w, a = this.ttCtx, r = a.getElTooltip(), o = a.tooltipRect, s = null !== n ? parseFloat(n) : 1, l = parseFloat(e) + s + 5, c = parseFloat(t) + s / 2; if (l > i.globals.gridWidth / 2 && (l = l - o.ttWidth - s - 15), l > i.globals.gridWidth - o.ttWidth - 10 && (l = i.globals.gridWidth - o.ttWidth), l < -20 && (l = -20), i.config.tooltip.followCursor) { var u = a.getElGrid(), d = u.getBoundingClientRect(); c = a.e.clientY + i.globals.translateY - d.top - o.ttHeight / 2; } if (!i.config.tooltip.followCursor) { var h = this.positionChecks(o, l, c); l = h.x, c = h.y; } isNaN(l) || (l += i.globals.translateX, r.style.left = l + 'px', r.style.top = c + 'px'); }, }, { key: 'positionChecks', value: function (e, t, n) { var i = this.w; return e.ttHeight / 2 + n > i.globals.gridHeight && (n = i.globals.gridHeight - e.ttHeight + i.globals.translateY), n < 0 && (n = 0), { x: t, y: n }; }, }, { key: 'moveMarkers', value: function (e, t) { var n = this.w, i = this.ttCtx; if (n.globals.markers.size[e] > 0) for (var a = n.globals.dom.baseEl.querySelectorAll( ' .apexcharts-series[data\\:realIndex=\''.concat(e, '\'] .apexcharts-marker')), r = 0; r < a.length; r++) parseInt( a[r].getAttribute('rel'), 10) === t && (i.marker.resetPointsSize(), i.marker.enlargeCurrentPoint(t, a[r])); else i.marker.resetPointsSize(), this.moveDynamicPointOnHover( t, e); }, }, { key: 'moveDynamicPointOnHover', value: function (e, t) { var n, i, a = this.w, r = this.ttCtx, o = a.globals.pointsArray, s = r.tooltipUtil.getHoverMarkerSize(t), l = a.config.series[t].type; if (!l || 'column' !== l && 'candlestick' !== l) { n = o[t][e][0], i = o[t][e][1] ? o[t][e][1] : 0; var c = a.globals.dom.baseEl.querySelector( '.apexcharts-series[data\\:realIndex=\''.concat(t, '\'] .apexcharts-series-markers circle')); c && i < a.globals.gridHeight && i > 0 && (c.setAttribute('r', s), c.setAttribute('cx', n), c.setAttribute('cy', i)), this.moveXCrosshairs( n), r.fixedTooltip || this.moveTooltip(n, i, s); } }, }, { key: 'moveDynamicPointsOnHover', value: function (e) { var t, n = this.ttCtx, i = n.w, a = 0, r = 0, o = i.globals.pointsArray; t = new E(this.ctx).getActiveConfigSeriesIndex(!0); var s = n.tooltipUtil.getHoverMarkerSize(t); o[t] && (a = o[t][e][0], r = o[t][e][1]); var l = n.tooltipUtil.getAllMarkers(); if (null !== l) for (var c = 0; c < i.globals.series.length; c++) { var u = o[c]; if (i.globals.comboCharts && void 0 === u && l.splice(c, 0, null), u && u.length) { var d = o[c][e][1]; l[c].setAttribute('cx', a), null !== d && !isNaN(d) && d < i.globals.gridHeight && d > 0 ? (l[c] && l[c].setAttribute('r', s), l[c] && l[c].setAttribute('cy', d)) : l[c] && l[c].setAttribute('r', 0); } } if (this.moveXCrosshairs(a), !n.fixedTooltip) { var h = r || i.globals.gridHeight; this.moveTooltip(a, h, s); } }, }, { key: 'moveStickyTooltipOverBars', value: function (e) { var t, n = this.w, i = this.ttCtx, a = n.globals.columnSeries ? n.globals.columnSeries.length : n.globals.series.length, r = a >= 2 && a % 2 == 0 ? Math.floor(a / 2) : Math.floor(a / 2) + 1, o = n.globals.dom.baseEl.querySelector( '.apexcharts-bar-series .apexcharts-series[rel=\''.concat( r, '\'] path[j=\''). concat(e, '\'], .apexcharts-candlestick-series .apexcharts-series[rel=\''). concat(r, '\'] path[j=\''). concat(e, '\'], .apexcharts-rangebar-series .apexcharts-series[rel=\''). concat(r, '\'] path[j=\''). concat(e, '\']')), s = o ? parseFloat(o.getAttribute('cx')) : 0, l = o ? parseFloat(o.getAttribute('barWidth')) : 0; n.globals.isXNumeric ? s -= a % 2 != 0 ? l / 2 : 0 : (s = i.xAxisTicksPositions[e - 1] + i.dataPointsDividedWidth / 2, isNaN(s) && (s = i.xAxisTicksPositions[e] - i.dataPointsDividedWidth / 2)); var c = i.getElGrid().getBoundingClientRect(); if (t = i.e.clientY - c.top - i.tooltipRect.ttHeight / 2, this.moveXCrosshairs(s), !i.fixedTooltip) { var u = t || n.globals.gridHeight; this.moveTooltip(s, u); } }, }]), e; }(), pe = function () { function e (n) { t(this, e), this.w = n.w, this.ttCtx = n, this.ctx = n.ctx, this.tooltipPosition = new fe( n); } return i(e, [ { key: 'drawDynamicPoints', value: function () { var e = this.w, t = new v(this.ctx), n = new T(this.ctx), i = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-series'); i = h(i), e.config.chart.stacked && i.sort( (function (e, t) { return parseFloat( e.getAttribute('data:realIndex')) - parseFloat(t.getAttribute('data:realIndex')); })); for (var a = 0; a < i.length; a++) { var r = i[a].querySelector( '.apexcharts-series-markers-wrap'); if (null !== r) { var o = void 0, s = 'apexcharts-marker w'.concat( (Math.random() + 1).toString(36).substring(4)); 'line' !== e.config.chart.type && 'area' !== e.config.chart.type || e.globals.comboCharts || e.config.tooltip.intersect || (s += ' no-pointer-events'); var l = n.getMarkerConfig(s, a); (o = t.drawMarker(0, 0, l)).node.setAttribute( 'default-marker-size', 0); var c = document.createElementNS(e.globals.SVGNS, 'g'); c.classList.add( 'apexcharts-series-markers'), c.appendChild( o.node), r.appendChild(c); } } }, }, { key: 'enlargeCurrentPoint', value: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null, i = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : null, a = this.w; 'bubble' !== a.config.chart.type && this.newPointSize(e, t); var r = t.getAttribute('cx'), o = t.getAttribute('cy'); if (null !== n && null !== i && (r = n, o = i), this.tooltipPosition.moveXCrosshairs( r), !this.fixedTooltip) { if ('radar' === a.config.chart.type) { var s = this.ttCtx.getElGrid(), l = s.getBoundingClientRect(); r = this.ttCtx.e.clientX - l.left; } this.tooltipPosition.moveTooltip(r, o, a.config.markers.hover.size); } }, }, { key: 'enlargePoints', value: function (e) { for (var t = this.w, n = this, i = this.ttCtx, a = e, r = t.globals.dom.baseEl.querySelectorAll( '.apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker'), o = t.config.markers.hover.size, s = 0; s < r.length; s++) { var l = r[s].getAttribute('rel'), c = r[s].getAttribute('index'); if (void 0 === o && (o = t.globals.markers.size[c] + t.config.markers.hover.sizeOffset), a === parseInt(l, 10)) { n.newPointSize(a, r[s]); var u = r[s].getAttribute('cx'), d = r[s].getAttribute('cy'); n.tooltipPosition.moveXCrosshairs( u), i.fixedTooltip || n.tooltipPosition.moveTooltip(u, d, o); } else n.oldPointSize(r[s]); } }, }, { key: 'newPointSize', value: function (e, t) { var n = this.w, i = n.config.markers.hover.size, a = 0 === e ? t.parentNode.firstChild : t.parentNode.lastChild; if ('0' !== a.getAttribute('default-marker-size')) { var r = parseInt(a.getAttribute('index'), 10); void 0 === i && (i = n.globals.markers.size[r] + n.config.markers.hover.sizeOffset), a.setAttribute( 'r', i); } }, }, { key: 'oldPointSize', value: function (e) { var t = parseFloat(e.getAttribute('default-marker-size')); e.setAttribute('r', t); }, }, { key: 'resetPointsSize', value: function () { for (var e = this.w.globals.dom.baseEl.querySelectorAll( '.apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker'), t = 0; t < e.length; t++) { var n = parseFloat( e[t].getAttribute('default-marker-size')); p.isNumber(n) ? e[t].setAttribute('r', n) : e[t].setAttribute('r', 0); } }, }]), e; }(), me = function () { function e (n) {t(this, e), this.w = n.w, this.ttCtx = n;} return i(e, [ { key: 'getAttr', value: function (e, t) { return parseFloat(e.target.getAttribute(t)); }, }, { key: 'handleHeatTreeTooltip', value: function (e) { var t = e.e, n = e.opt, i = e.x, a = e.y, r = e.type, o = this.ttCtx, s = this.w; if (t.target.classList.contains('apexcharts-'.concat(r, '-rect'))) { var l = this.getAttr(t, 'i'), c = this.getAttr(t, 'j'), u = this.getAttr(t, 'cx'), d = this.getAttr(t, 'cy'), h = this.getAttr(t, 'width'), f = this.getAttr(t, 'height'); if (o.tooltipLabels.drawSeriesTexts({ ttItems: n.ttItems, i: l, j: c, shared: !1, e: t, }), s.globals.capturedSeriesIndex = l, s.globals.capturedDataPointIndex = c, i = u + o.tooltipRect.ttWidth / 2 + h, a = d + o.tooltipRect.ttHeight / 2 - f / 2, o.tooltipPosition.moveXCrosshairs(u + h / 2), i > s.globals.gridWidth / 2 && (i = u - o.tooltipRect.ttWidth / 2 + h), o.w.config.tooltip.followCursor) { var p = o.getElGrid(). getBoundingClientRect(); (i = o.e.clientX - p.left + 10) > s.globals.gridWidth / 2 && (i = i - o.tooltipRect.ttWidth - 10), a = o.e.clientY - p.top + s.globals.translateY / 2 - 10; } } return { x: i, y: a }; }, }, { key: 'handleMarkerTooltip', value: function (e) { var t, n, i = e.e, a = e.opt, r = e.x, o = e.y, s = this.w, l = this.ttCtx; if (i.target.classList.contains('apexcharts-marker')) { var c = parseInt(a.paths.getAttribute('cx'), 10), u = parseInt(a.paths.getAttribute('cy'), 10), d = parseFloat(a.paths.getAttribute('val')); if (n = parseInt(a.paths.getAttribute('rel'), 10), t = parseInt( a.paths.parentNode.parentNode.parentNode.getAttribute( 'rel'), 10) - 1, l.intersect) { var h = p.findAncestor(a.paths, 'apexcharts-series'); h && (t = parseInt(h.getAttribute('data:realIndex'), 10)); } if (l.tooltipLabels.drawSeriesTexts({ ttItems: a.ttItems, i: t, j: n, shared: !l.showOnIntersect && s.config.tooltip.shared, e: i, }), 'mouseup' === i.type && l.markerClick(i, t, n), s.globals.capturedSeriesIndex = t, s.globals.capturedDataPointIndex = n, r = c, o = u + s.globals.translateY - 1.4 * l.tooltipRect.ttHeight, l.w.config.tooltip.followCursor) { var f = l.getElGrid(). getBoundingClientRect(); o = l.e.clientY + s.globals.translateY - f.top; } d < 0 && (o = u), l.marker.enlargeCurrentPoint(n, a.paths, r, o); } return { x: r, y: o }; }, }, { key: 'handleBarTooltip', value: function (e) { var t, n, i = e.e, a = e.opt, r = this.w, o = this.ttCtx, s = o.getElTooltip(), l = 0, c = 0, u = 0, d = this.getBarTooltipXY({ e: i, opt: a }); t = d.i; var h = d.barHeight, f = d.j; if (r.globals.capturedSeriesIndex = t, r.globals.capturedDataPointIndex = f, r.globals.isBarHorizontal && o.tooltipUtil.hasBars() || !r.config.tooltip.shared ? (c = d.x, u = d.y, n = Array.isArray( r.config.stroke.width) ? r.config.stroke.width[t] : r.config.stroke.width, l = c) : r.globals.comboCharts || r.config.tooltip.shared || (l /= 2), isNaN(u) ? u = r.globals.svgHeight - o.tooltipRect.ttHeight : u < 0 && (u = 0), c + o.tooltipRect.ttWidth > r.globals.gridWidth ? c -= o.tooltipRect.ttWidth : c < 0 && (c = 0), o.w.config.tooltip.followCursor) { var p = o.getElGrid(). getBoundingClientRect(); u = o.e.clientY - p.top; } if (null === o.tooltip && (o.tooltip = r.globals.dom.baseEl.querySelector( '.apexcharts-tooltip')), r.config.tooltip.shared || (r.globals.comboBarCount > 0 ? o.tooltipPosition.moveXCrosshairs(l + n / 2) : o.tooltipPosition.moveXCrosshairs( l)), !o.fixedTooltip && (!r.config.tooltip.shared || r.globals.isBarHorizontal && o.tooltipUtil.hasBars())) { var m = r.globals.isMultipleYAxis ? r.config.yaxis[g] && r.config.yaxis[g].reversed : r.config.yaxis[0].reversed; m && (c -= o.tooltipRect.ttWidth) < 0 && (c = 0), s.style.left = c + r.globals.translateX + 'px'; var g = parseInt( a.paths.parentNode.getAttribute('data:realIndex'), 10); !m || r.globals.isBarHorizontal && o.tooltipUtil.hasBars() || (u = u + h - 2 * (r.globals.series[t][f] < 0 ? h : 0)), o.tooltipRect.ttHeight + u > r.globals.gridHeight ? (u = r.globals.gridHeight - o.tooltipRect.ttHeight + r.globals.translateY, s.style.top = u + 'px') : s.style.top = u + r.globals.translateY - o.tooltipRect.ttHeight / 2 + 'px'; } }, }, { key: 'getBarTooltipXY', value: function (e) { var t = e.e, n = e.opt, i = this.w, a = null, r = this.ttCtx, o = 0, s = 0, l = 0, c = 0, u = 0, d = t.target.classList; if (d.contains('apexcharts-bar-area') || d.contains('apexcharts-candlestick-area') || d.contains('apexcharts-rangebar-area')) { var h = t.target, f = h.getBoundingClientRect(), p = n.elGrid.getBoundingClientRect(), m = f.height; u = f.height; var g = f.width, v = parseInt(h.getAttribute('cx'), 10), y = parseInt(h.getAttribute('cy'), 10); c = parseFloat(h.getAttribute('barWidth')); var b = 'touchmove' === t.type ? t.touches[0].clientX : t.clientX; a = parseInt(h.getAttribute('j'), 10), o = parseInt( h.parentNode.getAttribute('rel'), 10) - 1; var x = h.getAttribute('data-range-y1'), _ = h.getAttribute('data-range-y2'); i.globals.comboCharts && (o = parseInt( h.parentNode.getAttribute('data:realIndex'), 10)), r.tooltipLabels.drawSeriesTexts({ ttItems: n.ttItems, i: o, j: a, y1: x ? parseInt(x, 10) : null, y2: _ ? parseInt(_, 10) : null, shared: !r.showOnIntersect && i.config.tooltip.shared, e: t, }), i.config.tooltip.followCursor ? i.globals.isBarHorizontal ? (s = b - p.left + 15, l = y - r.dataPointsDividedHeight + m / 2 - r.tooltipRect.ttHeight / 2) : (s = i.globals.isXNumeric ? v - g / 2 : v - r.dataPointsDividedWidth + g / 2, l = t.clientY - p.top - r.tooltipRect.ttHeight / 2 - 15) : i.globals.isBarHorizontal ? ((s = v) < r.xyRatios.baseLineInvertedY && (s = v - r.tooltipRect.ttWidth), l = y - r.dataPointsDividedHeight + m / 2 - r.tooltipRect.ttHeight / 2) : (s = i.globals.isXNumeric ? v - g / 2 : v - r.dataPointsDividedWidth + g / 2, l = y); } return { x: s, y: l, barHeight: u, barWidth: c, i: o, j: a, }; }, }]), e; }(), ge = function () { function e (n) {t(this, e), this.w = n.w, this.ttCtx = n;} return i(e, [ { key: 'drawXaxisTooltip', value: function () { var e = this.w, t = this.ttCtx, n = 'bottom' === e.config.xaxis.position; t.xaxisOffY = n ? e.globals.gridHeight + 1 : -e.globals.xAxisHeight - e.config.xaxis.axisTicks.height + 3; var i = n ? 'apexcharts-xaxistooltip apexcharts-xaxistooltip-bottom' : 'apexcharts-xaxistooltip apexcharts-xaxistooltip-top', a = e.globals.dom.elWrap; t.blxaxisTooltip && null === e.globals.dom.baseEl.querySelector( '.apexcharts-xaxistooltip') && (t.xaxisTooltip = document.createElement( 'div'), t.xaxisTooltip.setAttribute('class', i + ' apexcharts-theme-' + e.config.tooltip.theme), a.appendChild( t.xaxisTooltip), t.xaxisTooltipText = document.createElement( 'div'), t.xaxisTooltipText.classList.add( 'apexcharts-xaxistooltip-text'), t.xaxisTooltipText.style.fontFamily = e.config.xaxis.tooltip.style.fontFamily || e.config.chart.fontFamily, t.xaxisTooltipText.style.fontSize = e.config.xaxis.tooltip.style.fontSize, t.xaxisTooltip.appendChild( t.xaxisTooltipText)); }, }, { key: 'drawYaxisTooltip', value: function () { for (var e = this.w, t = this.ttCtx, n = function (n) { var i = e.config.yaxis[n].opposite || e.config.yaxis[n].crosshairs.opposite; t.yaxisOffX = i ? e.globals.gridWidth + 1 : 1; var a = 'apexcharts-yaxistooltip apexcharts-yaxistooltip-'.concat( n, i ? ' apexcharts-yaxistooltip-right' : ' apexcharts-yaxistooltip-left'); e.globals.yAxisSameScaleIndices.map((function (t, i) { t.map((function (t, i) { i === n && (a += e.config.yaxis[i].show ? ' ' : ' apexcharts-yaxistooltip-hidden'); })); })); var r = e.globals.dom.elWrap; null === e.globals.dom.baseEl.querySelector( '.apexcharts-yaxistooltip apexcharts-yaxistooltip-'.concat( n)) && (t.yaxisTooltip = document.createElement( 'div'), t.yaxisTooltip.setAttribute('class', a + ' apexcharts-theme-' + e.config.tooltip.theme), r.appendChild( t.yaxisTooltip), 0 === n && (t.yaxisTooltipText = []), t.yaxisTooltipText[n] = document.createElement( 'div'), t.yaxisTooltipText[n].classList.add( 'apexcharts-yaxistooltip-text'), t.yaxisTooltip.appendChild( t.yaxisTooltipText[n])); }, i = 0; i < e.config.yaxis.length; i++) n(i); }, }, { key: 'setXCrosshairWidth', value: function () { var e = this.w, t = this.ttCtx, n = t.getElXCrosshairs(); if (t.xcrosshairsWidth = parseInt( e.config.xaxis.crosshairs.width, 10), e.globals.comboCharts) { var i = e.globals.dom.baseEl.querySelector( '.apexcharts-bar-area'); if (null !== i && 'barWidth' === e.config.xaxis.crosshairs.width) { var a = parseFloat(i.getAttribute('barWidth')); t.xcrosshairsWidth = a; } else if ('tickWidth' === e.config.xaxis.crosshairs.width) { var r = e.globals.labels.length; t.xcrosshairsWidth = e.globals.gridWidth / r; } } else if ('tickWidth' === e.config.xaxis.crosshairs.width) { var o = e.globals.labels.length; t.xcrosshairsWidth = e.globals.gridWidth / o; } else if ('barWidth' === e.config.xaxis.crosshairs.width) { var s = e.globals.dom.baseEl.querySelector( '.apexcharts-bar-area'); if (null !== s) { var l = parseFloat(s.getAttribute('barWidth')); t.xcrosshairsWidth = l; } else t.xcrosshairsWidth = 1; } e.globals.isBarHorizontal && (t.xcrosshairsWidth = 0), null !== n && t.xcrosshairsWidth > 0 && n.setAttribute('width', t.xcrosshairsWidth); }, }, { key: 'handleYCrosshair', value: function () { var e = this.w, t = this.ttCtx; t.ycrosshairs = e.globals.dom.baseEl.querySelector( '.apexcharts-ycrosshairs'), t.ycrosshairsHidden = e.globals.dom.baseEl.querySelector( '.apexcharts-ycrosshairs-hidden'); }, }, { key: 'drawYaxisTooltipText', value: function (e, t, n) { var i = this.ttCtx, a = this.w, r = a.globals.yLabelFormatters[e]; if (i.yaxisTooltips[e]) { var o = i.getElGrid(). getBoundingClientRect(), s = (t - o.top) * n.yRatio[e], l = a.globals.maxYArr[e] - a.globals.minYArr[e], c = a.globals.minYArr[e] + (l - s); i.tooltipPosition.moveYCrosshairs( t - o.top), i.yaxisTooltipText[e].innerHTML = r( c), i.tooltipPosition.moveYAxisTooltip(e); } }, }]), e; }(), ve = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w; var i = this.w; this.tConfig = i.config.tooltip, this.tooltipUtil = new de( this), this.tooltipLabels = new he( this), this.tooltipPosition = new fe( this), this.marker = new pe(this), this.intersect = new me( this), this.axesTooltip = new ge( 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 = !i.globals.isBarHorizontal && this.tConfig.shared; } return i(e, [ { key: 'getElTooltip', value: function (e) { return e || (e = this), e.w.globals.dom.baseEl.querySelector( '.apexcharts-tooltip'); }, }, { 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 (e) { var t = this.w; this.xyRatios = e, this.blxaxisTooltip = t.config.xaxis.tooltip.enabled && t.globals.axisCharts, this.yaxisTooltips = t.config.yaxis.map( (function (e, n) { return !!(e.show && e.tooltip.enabled && t.globals.axisCharts); })), this.allTooltipSeriesGroups = [], t.globals.axisCharts || (this.showTooltipTitle = !1); var n = document.createElement('div'); if (n.classList.add('apexcharts-tooltip'), n.classList.add( 'apexcharts-theme-'.concat( this.tConfig.theme)), t.globals.dom.elWrap.appendChild( n), t.globals.axisCharts) { this.axesTooltip.drawXaxisTooltip(), this.axesTooltip.drawYaxisTooltip(), this.axesTooltip.setXCrosshairWidth(), this.axesTooltip.handleYCrosshair(); var i = new V(this.ctx); this.xAxisTicksPositions = i.getXAxisTicksPositions(); } if (!t.globals.comboCharts && !this.tConfig.intersect && 'bar' !== t.config.chart.type && 'rangeBar' !== t.config.chart.type || this.tConfig.shared || (this.showOnIntersect = !0), 0 !== t.config.markers.size && 0 !== t.globals.markers.largestSize || this.marker.drawDynamicPoints( this), t.globals.collapsedSeries.length !== t.globals.series.length) { this.dataPointsDividedHeight = t.globals.gridHeight / t.globals.dataPoints, this.dataPointsDividedWidth = t.globals.gridWidth / t.globals.dataPoints, this.showTooltipTitle && (this.tooltipTitle = document.createElement( 'div'), this.tooltipTitle.classList.add( 'apexcharts-tooltip-title'), this.tooltipTitle.style.fontFamily = this.tConfig.style.fontFamily || t.config.chart.fontFamily, this.tooltipTitle.style.fontSize = this.tConfig.style.fontSize, n.appendChild( this.tooltipTitle)); var a = t.globals.series.length; (t.globals.xyCharts || t.globals.comboCharts) && this.tConfig.shared && (a = this.showOnIntersect ? 1 : t.globals.series.length), this.legendLabels = t.globals.dom.baseEl.querySelectorAll( '.apexcharts-legend-text'), this.ttItems = this.createTTElements( a), this.addSVGEvents(); } }, }, { key: 'createTTElements', value: function (e) { for (var t = this.w, n = [], i = this.getElTooltip(), a = 0; a < e; a++) { var r = document.createElement('div'); r.classList.add( 'apexcharts-tooltip-series-group'), r.style.order = t.config.tooltip.inverseOrder ? e - a : a + 1, this.tConfig.shared && this.tConfig.enabledOnSeries && Array.isArray(this.tConfig.enabledOnSeries) && this.tConfig.enabledOnSeries.indexOf(a) < 0 && r.classList.add( 'apexcharts-tooltip-series-group-hidden'); var o = document.createElement('span'); o.classList.add( 'apexcharts-tooltip-marker'), o.style.backgroundColor = t.globals.colors[a], r.appendChild( o); var s = document.createElement('div'); s.classList.add( 'apexcharts-tooltip-text'), s.style.fontFamily = this.tConfig.style.fontFamily || t.config.chart.fontFamily, s.style.fontSize = this.tConfig.style.fontSize; var l = document.createElement('div'); l.classList.add('apexcharts-tooltip-y-group'); var c = document.createElement('span'); c.classList.add( 'apexcharts-tooltip-text-label'), l.appendChild(c); var u = document.createElement('span'); u.classList.add( 'apexcharts-tooltip-text-value'), l.appendChild(u); var d = document.createElement('div'); d.classList.add('apexcharts-tooltip-z-group'); var h = document.createElement('span'); h.classList.add( 'apexcharts-tooltip-text-z-label'), d.appendChild( h); var f = document.createElement('span'); f.classList.add( 'apexcharts-tooltip-text-z-value'), d.appendChild( f), s.appendChild(l), s.appendChild( d), r.appendChild(s), i.appendChild(r), n.push(r); } return n; }, }, { key: 'addSVGEvents', value: function () { var e = this.w, t = e.config.chart.type, n = this.getElTooltip(), i = !('bar' !== t && 'candlestick' !== t && 'rangeBar' !== t), a = 'area' === t || 'line' === t || 'scatter' === t || 'bubble' === t || 'radar' === t, r = e.globals.dom.Paper.node, o = this.getElGrid(); o && (this.seriesBound = o.getBoundingClientRect()); var s, l = [], c = [], u = { hoverArea: r, elGrid: o, tooltipEl: n, tooltipY: l, tooltipX: c, ttItems: this.ttItems, }; if (e.globals.axisCharts && (a ? s = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-series[data\\:longestSeries=\'true\'] .apexcharts-marker') : i ? s = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-series .apexcharts-bar-area, .apexcharts-series .apexcharts-candlestick-area, .apexcharts-series .apexcharts-rangebar-area') : 'heatmap' !== t && 'treemap' !== t || (s = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-series .apexcharts-heatmap, .apexcharts-series .apexcharts-treemap')), s && s.length)) for (var d = 0; d < s.length; d++) l.push( s[d].getAttribute('cy')), c.push( s[d].getAttribute('cx')); if (e.globals.xyCharts && !this.showOnIntersect || e.globals.comboCharts && !this.showOnIntersect || i && this.tooltipUtil.hasBars() && this.tConfig.shared) this.addPathsEventListeners([r], u); else if (i && !e.globals.comboCharts || a && this.showOnIntersect) this.addDatapointEventsListeners( u); else if (!e.globals.axisCharts || 'heatmap' === t || 'treemap' === t) { var h = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-series'); this.addPathsEventListeners(h, u); } if (this.showOnIntersect) { var f = e.globals.dom.baseEl.querySelectorAll( '.apexcharts-line-series .apexcharts-marker, .apexcharts-area-series .apexcharts-marker'); f.length > 0 && this.addPathsEventListeners(f, u), this.tooltipUtil.hasBars() && !this.tConfig.shared && this.addDatapointEventsListeners(u); } }, }, { key: 'drawFixedTooltipRect', value: function () { var e = this.w, t = this.getElTooltip(), n = t.getBoundingClientRect(), i = n.width + 10, a = n.height + 10, r = this.tConfig.fixed.offsetX, o = this.tConfig.fixed.offsetY, s = this.tConfig.fixed.position.toLowerCase(); return s.indexOf('right') > -1 && (r = r + e.globals.svgWidth - i + 10), s.indexOf('bottom') > -1 && (o = o + e.globals.svgHeight - a - 10), t.style.left = r + 'px', t.style.top = o + 'px', { x: r, y: o, ttWidth: i, ttHeight: a, }; }, }, { key: 'addDatapointEventsListeners', value: function (e) { var t = this.w.globals.dom.baseEl.querySelectorAll( '.apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-rangebar-area'); this.addPathsEventListeners(t, e); }, }, { key: 'addPathsEventListeners', value: function ( e, t) { for (var n = this, i = function (i) { var a = { paths: e[i], tooltipEl: t.tooltipEl, tooltipY: t.tooltipY, tooltipX: t.tooltipX, elGrid: t.elGrid, hoverArea: t.hoverArea, ttItems: t.ttItems, }; [ 'mousemove', 'mouseup', 'touchmove', 'mouseout', 'touchend'].map((function (t) { return e[i].addEventListener(t, n.seriesHover.bind(n, a), { capture: !1, passive: !0 }); })); }, a = 0; a < e.length; a++) i(a); }, }, { key: 'seriesHover', value: function (e, t) { var n = this, i = [], a = this.w; a.config.chart.group && (i = this.ctx.getGroupedCharts()), a.globals.axisCharts && (a.globals.minX === -1 / 0 && a.globals.maxX === 1 / 0 || 0 === a.globals.dataPoints) || (i.length ? i.forEach( (function (i) { var a = n.getElTooltip(i), r = { paths: e.paths, tooltipEl: a, tooltipY: e.tooltipY, tooltipX: e.tooltipX, elGrid: e.elGrid, hoverArea: e.hoverArea, ttItems: i.w.globals.tooltip.ttItems, }; i.w.globals.minX === n.w.globals.minX && i.w.globals.maxX === n.w.globals.maxX && i.w.globals.tooltip.seriesHoverByContext({ chartCtx: i, ttCtx: i.w.globals.tooltip, opt: r, e: t, }); })) : this.seriesHoverByContext({ chartCtx: this.ctx, ttCtx: this.w.globals.tooltip, opt: e, e: t, })); }, }, { key: 'seriesHoverByContext', value: function (e) { var t = e.chartCtx, n = e.ttCtx, i = e.opt, a = e.e, r = t.w, o = this.getElTooltip(); n.tooltipRect = { x: 0, y: 0, ttWidth: o.getBoundingClientRect().width, ttHeight: o.getBoundingClientRect().height, }, n.e = a, !n.tooltipUtil.hasBars() || r.globals.comboCharts || n.isBarShared || this.tConfig.onDatasetHover.highlightDataSeries && new E(t).toggleSeriesOnHover(a, a.target.parentNode), n.fixedTooltip && n.drawFixedTooltipRect(), r.globals.axisCharts ? n.axisChartsTooltips( { e: a, opt: i, tooltipRect: n.tooltipRect }) : n.nonAxisChartsTooltips( { e: a, opt: i, tooltipRect: n.tooltipRect }); }, }, { key: 'axisChartsTooltips', value: function (e) { var t, n, i = e.e, a = e.opt, r = this.w, o = a.elGrid.getBoundingClientRect(), s = 'touchmove' === i.type ? i.touches[0].clientX : i.clientX, l = 'touchmove' === i.type ? i.touches[0].clientY : i.clientY; if (this.clientY = l, this.clientX = s, r.globals.capturedSeriesIndex = -1, r.globals.capturedDataPointIndex = -1, l < o.top || l > o.top + o.height) this.handleMouseOut( a); else { if (Array.isArray(this.tConfig.enabledOnSeries) && !r.config.tooltip.shared) { var c = parseInt(a.paths.getAttribute('index'), 10); if (this.tConfig.enabledOnSeries.indexOf(c) < 0) return void this.handleMouseOut(a); } var u = this.getElTooltip(), d = this.getElXCrosshairs(), h = r.globals.xyCharts || 'bar' === r.config.chart.type && !r.globals.isBarHorizontal && this.tooltipUtil.hasBars() && this.tConfig.shared || r.globals.comboCharts && this.tooltipUtil.hasBars(); if (r.globals.isBarHorizontal && this.tooltipUtil.hasBars() && (h = !1), 'mousemove' === i.type || 'touchmove' === i.type || 'mouseup' === i.type) { null !== d && d.classList.add('apexcharts-active'); var f = this.yaxisTooltips.filter( (function (e) {return !0 === e;})); if (null !== this.ycrosshairs && f.length && this.ycrosshairs.classList.add( 'apexcharts-active'), h && !this.showOnIntersect) this.handleStickyTooltip(i, s, l, a); else if ('heatmap' === r.config.chart.type || 'treemap' === r.config.chart.type) { var p = this.intersect.handleHeatTreeTooltip({ e: i, opt: a, x: t, y: n, type: r.config.chart.type, }); t = p.x, n = p.y, u.style.left = t + 'px', u.style.top = n + 'px'; } else this.tooltipUtil.hasBars() && this.intersect.handleBarTooltip({ e: i, opt: a, }), this.tooltipUtil.hasMarkers() && this.intersect.handleMarkerTooltip( { e: i, opt: a, x: t, y: n }); if (this.yaxisTooltips.length) for (var m = 0; m < r.config.yaxis.length; m++) this.axesTooltip.drawYaxisTooltipText( m, l, this.xyRatios); a.tooltipEl.classList.add('apexcharts-active'); } else 'mouseout' !== i.type && 'touchend' !== i.type || this.handleMouseOut(a); } }, }, { key: 'nonAxisChartsTooltips', value: function (e) { var t = e.e, n = e.opt, i = e.tooltipRect, a = this.w, r = n.paths.getAttribute('rel'), o = this.getElTooltip(), s = a.globals.dom.elWrap.getBoundingClientRect(); if ('mousemove' === t.type || 'touchmove' === t.type) { o.classList.add( 'apexcharts-active'), this.tooltipLabels.drawSeriesTexts( { ttItems: n.ttItems, i: parseInt(r, 10) - 1, shared: !1, }); var l = a.globals.clientX - s.left - i.ttWidth / 2, c = a.globals.clientY - s.top - i.ttHeight - 10; if (o.style.left = l + 'px', o.style.top = c + 'px', a.config.legend.tooltipHoverFormatter) { var u = r - 1, d = (0, a.config.legend.tooltipHoverFormatter)( this.legendLabels[u].getAttribute( 'data:default-text'), { seriesIndex: u, dataPointIndex: u, w: a, }); this.legendLabels[u].innerHTML = d; } } else 'mouseout' !== t.type && 'touchend' !== t.type || (o.classList.remove( 'apexcharts-active'), a.config.legend.tooltipHoverFormatter && this.legendLabels.forEach((function (e) { var t = e.getAttribute('data:default-text'); e.innerHTML = decodeURIComponent(t); }))); }, }, { key: 'handleStickyTooltip', value: function (e, t, n, i) { var a = this.w, r = this.tooltipUtil.getNearestValues({ context: this, hoverArea: i.hoverArea, elGrid: i.elGrid, clientX: t, clientY: n, }), o = r.j, s = r.capturedSeries; r.hoverX < 0 || r.hoverX > a.globals.gridWidth ? this.handleMouseOut(i) : null !== s ? this.handleStickyCapturedSeries(e, s, i, o) : this.tooltipUtil.isXoverlap(o) && this.create(e, this, 0, o, i.ttItems); }, }, { key: 'handleStickyCapturedSeries', value: function (e, t, n, i) { var a = this.w; null === a.globals.series[t][i] ? this.handleMouseOut(n) : void 0 !== a.globals.series[t][i] ? this.tConfig.shared && this.tooltipUtil.isXoverlap(i) && this.tooltipUtil.isInitialSeriesSameLen() ? this.create( e, this, t, i, n.ttItems) : this.create(e, this, t, i, n.ttItems, !1) : this.tooltipUtil.isXoverlap(i) && this.create(e, this, 0, i, n.ttItems); }, }, { key: 'deactivateHoverFilter', value: function () { for (var e = this.w, t = new v( this.ctx), n = e.globals.dom.Paper.select( '.apexcharts-bar-area'), i = 0; i < n.length; i++) t.pathMouseLeave(n[i]); }, }, { key: 'handleMouseOut', value: function (e) { var t = this.w, n = this.getElXCrosshairs(); if (e.tooltipEl.classList.remove( 'apexcharts-active'), this.deactivateHoverFilter(), 'bubble' !== t.config.chart.type && this.marker.resetPointsSize(), null !== n && n.classList.remove('apexcharts-active'), null !== this.ycrosshairs && this.ycrosshairs.classList.remove( 'apexcharts-active'), this.blxaxisTooltip && this.xaxisTooltip.classList.remove( 'apexcharts-active'), this.yaxisTooltips.length) { null === this.yaxisTTEls && (this.yaxisTTEls = t.globals.dom.baseEl.querySelectorAll( '.apexcharts-yaxistooltip')); for (var i = 0; i < this.yaxisTTEls.length; i++) this.yaxisTTEls[i].classList.remove( 'apexcharts-active'); } t.config.legend.tooltipHoverFormatter && this.legendLabels.forEach((function (e) { var t = e.getAttribute('data:default-text'); e.innerHTML = decodeURIComponent(t); })); }, }, { key: 'markerClick', value: function (e, t, n) { var i = this.w; 'function' == typeof i.config.chart.events.markerClick && i.config.chart.events.markerClick(e, this.ctx, { seriesIndex: t, dataPointIndex: n, w: i, }), this.ctx.events.fireEvent('markerClick', [ e, this.ctx, { seriesIndex: t, dataPointIndex: n, w: i }]); }, }, { key: 'create', value: function (e, t, n, i, a) { var r = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : null, o = this.w, s = t; 'mouseup' === e.type && this.markerClick(e, n, i), null === r && (r = this.tConfig.shared); var l = this.tooltipUtil.hasMarkers(), c = this.tooltipUtil.getElBars(); if (o.config.legend.tooltipHoverFormatter) { var u = o.config.legend.tooltipHoverFormatter, d = Array.from(this.legendLabels); d.forEach((function (e) { var t = e.getAttribute('data:default-text'); e.innerHTML = decodeURIComponent(t); })); for (var h = 0; h < d.length; h++) { var f = d[h], p = parseInt(f.getAttribute('i'), 10), m = decodeURIComponent( f.getAttribute('data:default-text')), g = u(m, { seriesIndex: r ? p : n, dataPointIndex: i, w: o, }); if (r) f.innerHTML = o.globals.collapsedSeriesIndices.indexOf( p) < 0 ? g : m; else if (f.innerHTML = p === n ? g : m, n === p) break; } } if (r) { if (s.tooltipLabels.drawSeriesTexts({ ttItems: a, i: n, j: i, shared: !this.showOnIntersect && this.tConfig.shared, }), l && (o.globals.markers.largestSize > 0 ? s.marker.enlargePoints(i) : s.tooltipPosition.moveDynamicPointsOnHover( i)), this.tooltipUtil.hasBars() && (this.barSeriesHeight = this.tooltipUtil.getBarsHeight( c), this.barSeriesHeight > 0)) { var y = new v(this.ctx), b = o.globals.dom.Paper.select( '.apexcharts-bar-area[j=\''.concat(i, '\']')); this.deactivateHoverFilter(), this.tooltipPosition.moveStickyTooltipOverBars( i); for (var x = 0; x < b.length; x++) y.pathMouseEnter( b[x]); } } else s.tooltipLabels.drawSeriesTexts({ shared: !1, ttItems: a, i: n, j: i, }), this.tooltipUtil.hasBars() && s.tooltipPosition.moveStickyTooltipOverBars(i), l && s.tooltipPosition.moveMarkers(n, i); }, }]), e; }(), ye = function (e) { s(a, e); var n = d(a); function a () {return t(this, a), n.apply(this, arguments);} return i(a, [ { key: 'draw', value: function (e, t) { var n = this, i = this.w; this.graphics = new v(this.ctx), this.bar = new Y(this.ctx, this.xyRatios); var a = new x(this.ctx, i); e = a.getLogSeries(e), this.yRatio = a.getLogYRatios( this.yRatio), this.barHelpers.initVariables( e), '100%' === i.config.chart.stackType && (e = i.globals.seriesPercent.slice()), this.series = e, this.totalItems = 0, this.prevY = [], this.prevX = [], this.prevYF = [], this.prevXF = [], this.prevYVal = [], this.prevXVal = [], this.xArrj = [], this.xArrjF = [], this.xArrjVal = [], this.yArrj = [], this.yArrjF = [], this.yArrjVal = []; for (var r = 0; r < e.length; r++) e[r].length > 0 && (this.totalItems += e[r].length); for (var s = this.graphics.group( { class: 'apexcharts-bar-series apexcharts-plot-series' }), l = 0, c = 0, u = function ( a, r) { var u = void 0, d = void 0, h = void 0, f = void 0, m = [], g = [], v = i.globals.comboCharts ? t[a] : a; n.yRatio.length > 1 && (n.yaxisIndex = v), n.isReversed = i.config.yaxis[n.yaxisIndex] && i.config.yaxis[n.yaxisIndex].reversed; var y = n.graphics.group({ class: 'apexcharts-series', seriesName: p.escapeString( i.globals.seriesNames[v]), rel: a + 1, 'data:realIndex': v, }); n.ctx.series.addCollapsedClassToSeries(y, v); var b = n.graphics.group({ class: 'apexcharts-datalabels', 'data:realIndex': v, }), x = 0, _ = 0, w = n.initialPositions(l, c, u, d, h, f); c = w.y, x = w.barHeight, d = w.yDivision, f = w.zeroW, l = w.x, _ = w.barWidth, u = w.xDivision, h = w.zeroH, n.yArrj = [], n.yArrjF = [], n.yArrjVal = [], n.xArrj = [], n.xArrjF = [], n.xArrjVal = [], 1 === n.prevY.length && n.prevY[0].every((function (e) {return isNaN(e);})) && (n.prevY[0] = n.prevY[0].map( (function (e) {return h;})), n.prevYF[0] = n.prevYF[0].map( (function (e) {return 0;}))); for (var k = 0; k < i.globals.dataPoints; k++) { var M = n.barHelpers.getStrokeWidth(a, k, v), L = { indexes: { i: a, j: k, realIndex: v, bc: r }, strokeWidth: M, x: l, y: c, elSeries: y, }, S = null; n.isHorizontal ? (S = n.drawStackedBarPaths(o(o({}, L), {}, { zeroW: f, barHeight: x, yDivision: d, })), _ = n.series[a][k] / n.invertedYRatio) : (S = n.drawStackedColumnPaths(o(o({}, L), {}, { xDivision: u, barWidth: _, zeroH: h, })), x = n.series[a][k] / n.yRatio[n.yaxisIndex]), c = S.y, l = S.x, m.push( l), g.push(c); var T = n.barHelpers.getPathFillColor(e, a, k, v); y = n.renderSeries({ realIndex: v, pathFill: T, j: k, i: a, pathFrom: S.pathFrom, pathTo: S.pathTo, strokeWidth: M, elSeries: y, x: l, y: c, series: e, barHeight: x, barWidth: _, elDataLabelsWrap: b, type: 'bar', visibleSeries: 0, }); } i.globals.seriesXvalues[v] = m, i.globals.seriesYvalues[v] = g, n.prevY.push( n.yArrj), n.prevYF.push(n.yArrjF), n.prevYVal.push( n.yArrjVal), n.prevX.push(n.xArrj), n.prevXF.push( n.xArrjF), n.prevXVal.push(n.xArrjVal), s.add(y); }, d = 0, h = 0; d < e.length; d++, h++) u(d, h); return s; }, }, { key: 'initialPositions', value: function (e, t, n, i, a, r) { var o, s, l = this.w; return this.isHorizontal ? (o = (o = i = l.globals.gridHeight / l.globals.dataPoints) * parseInt(l.config.plotOptions.bar.barHeight, 10) / 100, r = this.baseLineInvertedY + l.globals.padHorizontal + (this.isReversed ? l.globals.gridWidth : 0) - (this.isReversed ? 2 * this.baseLineInvertedY : 0), t = (i - o) / 2) : (s = n = l.globals.gridWidth / l.globals.dataPoints, s = l.globals.isXNumeric && l.globals.dataPoints > 1 ? (n = l.globals.minXDiff / this.xRatio) * parseInt(this.barOptions.columnWidth, 10) / 100 : s * parseInt(l.config.plotOptions.bar.columnWidth, 10) / 100, a = this.baseLineY[this.yaxisIndex] + (this.isReversed ? l.globals.gridHeight : 0) - (this.isReversed ? 2 * this.baseLineY[this.yaxisIndex] : 0), e = l.globals.padHorizontal + (n - s) / 2), { x: e, y: t, yDivision: i, xDivision: n, barHeight: o, barWidth: s, zeroH: a, zeroW: r, }; }, }, { key: 'drawStackedBarPaths', value: function (e) { for (var t, n = e.indexes, i = e.barHeight, a = e.strokeWidth, r = e.zeroW, o = e.x, s = e.y, l = e.yDivision, c = e.elSeries, u = this.w, d = s, h = n.i, f = n.j, p = 0, m = 0; m < this.prevXF.length; m++) p += this.prevXF[m][f]; if (h > 0) { var g = r; this.prevXVal[h - 1][f] < 0 ? g = this.series[h][f] >= 0 ? this.prevX[h - 1][f] + p - 2 * (this.isReversed ? p : 0) : this.prevX[h - 1][f] : this.prevXVal[h - 1][f] >= 0 && (g = this.series[h][f] >= 0 ? this.prevX[h - 1][f] : this.prevX[h - 1][f] - p + 2 * (this.isReversed ? p : 0)), t = g; } else t = r; o = null === this.series[h][f] ? t : t + this.series[h][f] / this.invertedYRatio - 2 * (this.isReversed ? this.series[h][f] / this.invertedYRatio : 0), this.xArrj.push( o), this.xArrjF.push( Math.abs(t - o)), this.xArrjVal.push(this.series[h][f]); var v = this.barHelpers.getBarpaths({ barYPosition: d, barHeight: i, x1: t, x2: o, strokeWidth: a, series: this.series, realIndex: n.realIndex, i: h, j: f, w: u, }); return this.barHelpers.barBackground({ j: f, i: h, y1: d, y2: i, elSeries: c, }), s += l, { pathTo: v.pathTo, pathFrom: v.pathFrom, x: o, y: s, }; }, }, { key: 'drawStackedColumnPaths', value: function (e) { var t = e.indexes, n = e.x, i = e.y, a = e.xDivision, r = e.barWidth, o = e.zeroH, s = (e.strokeWidth, e.elSeries), l = this.w, c = t.i, u = t.j, d = t.bc; if (l.globals.isXNumeric) { var h = l.globals.seriesX[c][u]; h || (h = 0), n = (h - l.globals.minX) / this.xRatio - r / 2; } for (var f, p = n, m = 0, g = 0; g < this.prevYF.length; g++) m += isNaN(this.prevYF[g][u]) ? 0 : this.prevYF[g][u]; if (c > 0 && !l.globals.isXNumeric || c > 0 && l.globals.isXNumeric && l.globals.seriesX[c - 1][u] === l.globals.seriesX[c][u]) { var v, y, b = Math.min(this.yRatio.length + 1, c + 1); if (void 0 !== this.prevY[c - 1]) for (var x = 1; x < b; x++) if (!isNaN(this.prevY[c - x][u])) { y = this.prevY[c - x][u]; break; } for (var _ = 1; _ < b; _++) { if (this.prevYVal[c - _][u] < 0) { v = this.series[c][u] >= 0 ? y - m + 2 * (this.isReversed ? m : 0) : y; break; } if (this.prevYVal[c - _][u] >= 0) { v = this.series[c][u] >= 0 ? y : y + m - 2 * (this.isReversed ? m : 0); break; } } void 0 === v && (v = l.globals.gridHeight), f = this.prevYF[0].every( (function (e) {return 0 === e;})) && this.prevYF.slice(1, c). every((function (e) { return e.every( (function (e) {return isNaN(e);})); })) ? l.globals.gridHeight - o : v; } else f = l.globals.gridHeight - o; i = f - this.series[c][u] / this.yRatio[this.yaxisIndex] + 2 * (this.isReversed ? this.series[c][u] / this.yRatio[this.yaxisIndex] : 0), this.yArrj.push( i), this.yArrjF.push( Math.abs(f - i)), this.yArrjVal.push(this.series[c][u]); var w = this.barHelpers.getColumnPaths({ barXPosition: p, barWidth: r, y1: f, y2: i, yRatio: this.yRatio[this.yaxisIndex], strokeWidth: this.strokeWidth, series: this.series, realIndex: t.realIndex, i: c, j: u, w: l, }); return this.barHelpers.barBackground({ bc: d, j: u, i: c, x1: p, x2: r, elSeries: s, }), n += a, { pathTo: w.pathTo, pathFrom: w.pathFrom, x: l.globals.isXNumeric ? n - a : n, y: i, }; }, }]), a; }(Y), be = function (e) { s(a, e); var n = d(a); function a () {return t(this, a), n.apply(this, arguments);} return i(a, [ { key: 'draw', value: function (e, t) { var n = this.w, i = new v(this.ctx), a = new S(this.ctx); this.candlestickOptions = this.w.config.plotOptions.candlestick; var r = new x(this.ctx, n); e = r.getLogSeries( e), this.series = e, this.yRatio = r.getLogYRatios( this.yRatio), this.barHelpers.initVariables(e); for (var o = i.group( { class: 'apexcharts-candlestick-series apexcharts-plot-series' }), s = 0; s < e.length; s++) { var l, c, u, d, h = void 0, f = void 0, m = [], g = [], y = n.globals.comboCharts ? t[s] : s, b = i.group({ class: 'apexcharts-series', seriesName: p.escapeString( n.globals.seriesNames[y]), rel: s + 1, 'data:realIndex': y, }); e[s].length > 0 && (this.visibleI = this.visibleI + 1), this.yRatio.length > 1 && (this.yaxisIndex = y); var _ = this.barHelpers.initialPositions(); f = _.y, u = _.barHeight, h = _.x, d = _.barWidth, l = _.xDivision, c = _.zeroH, g.push( h + d / 2); for (var w = i.group({ class: 'apexcharts-datalabels', 'data:realIndex': y, }), k = 0; k < n.globals.dataPoints; k++) { var M, L = this.barHelpers.getStrokeWidth(s, k, y), T = this.drawCandleStickPaths({ indexes: { i: s, j: k, realIndex: y }, x: h, y: f, xDivision: l, barWidth: d, zeroH: c, strokeWidth: L, elSeries: b, }); f = T.y, h = T.x, M = T.color, k > 0 && g.push(h + d / 2), m.push(f); var A = a.fillPath({ seriesNumber: y, dataPointIndex: k, color: M, value: e[s][k], }), D = this.candlestickOptions.wick.useFillColor ? M : void 0; this.renderSeries({ realIndex: y, pathFill: A, lineFill: D, j: k, i: s, pathFrom: T.pathFrom, pathTo: T.pathTo, strokeWidth: L, elSeries: b, x: h, y: f, series: e, barHeight: u, barWidth: d, elDataLabelsWrap: w, visibleSeries: this.visibleI, type: 'candlestick', }); } n.globals.seriesXvalues[y] = g, n.globals.seriesYvalues[y] = m, o.add( b); } return o; }, }, { key: 'drawCandleStickPaths', value: function (e) { var t = e.indexes, n = e.x, i = (e.y, e.xDivision), a = e.barWidth, r = e.zeroH, o = e.strokeWidth, s = this.w, l = new v(this.ctx), c = t.i, u = t.j, d = !0, h = s.config.plotOptions.candlestick.colors.upward, f = s.config.plotOptions.candlestick.colors.downward, p = this.yRatio[this.yaxisIndex], m = t.realIndex, g = this.getOHLCValue(m, u), y = r, b = r; g.o > g.c && (d = !1); var x = Math.min(g.o, g.c), _ = Math.max(g.o, g.c); s.globals.isXNumeric && (n = (s.globals.seriesX[m][u] - s.globals.minX) / this.xRatio - a / 2); var w = n + a * this.visibleI; void 0 === this.series[c][u] || null === this.series[c][u] ? x = r : (x = r - x / p, _ = r - _ / p, y = r - g.h / p, b = r - g.l / p); var k = l.move(w, r), M = l.move(w, x); return s.globals.previousPaths.length > 0 && (M = this.getPreviousPath(m, u, !0)), k = l.move(w, _) + l.line(w + a / 2, _) + l.line(w + a / 2, y) + l.line(w + a / 2, _) + l.line(w + a, _) + l.line(w + a, x) + l.line(w + a / 2, x) + l.line(w + a / 2, b) + l.line(w + a / 2, x) + l.line(w, x) + l.line(w, _ - o / 2), M += l.move(w, x), s.globals.isXNumeric || (n += i), { pathTo: k, pathFrom: M, x: n, y: _, barXPosition: w, color: d ? h : f, }; }, }, { key: 'getOHLCValue', value: function (e, t) { var n = this.w; return { o: n.globals.seriesCandleO[e][t], h: n.globals.seriesCandleH[e][t], l: n.globals.seriesCandleL[e][t], c: n.globals.seriesCandleC[e][t], }; }, }]), a; }(Y), xe = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'checkColorRange', value: function () { var e = this.w, t = !1, n = e.config.plotOptions[e.config.chart.type]; return n.colorScale.ranges.length > 0 && n.colorScale.ranges.map( (function (e, n) {e.from <= 0 && (t = !0);})), t; }, }, { key: 'getShadeColor', value: function (e, t, n, i) { var a = this.w, r = 1, o = a.config.plotOptions[e].shadeIntensity, s = this.determineColor(e, t, n); a.globals.hasNegs || i ? r = a.config.plotOptions[e].reverseNegativeShade ? s.percent < 0 ? s.percent / 100 * (1.25 * o) : (1 - s.percent / 100) * (1.25 * o) : s.percent <= 0 ? 1 - (1 + s.percent / 100) * o : (1 - s.percent / 100) * o : (r = 1 - s.percent / 100, 'treemap' === e && (r = (1 - s.percent / 100) * (1.25 * o))); var l = s.color, c = new p; return a.config.plotOptions[e].enableShades && (r < 0 && (r = 0), l = 'dark' === this.w.config.theme.mode ? p.hexToRgba(c.shadeColor(-1 * r, s.color), a.config.fill.opacity) : p.hexToRgba(c.shadeColor(r, s.color), a.config.fill.opacity)), { color: l, colorProps: s, }; }, }, { key: 'determineColor', value: function (e, t, n) { var i = this.w, a = i.globals.series[t][n], r = i.config.plotOptions[e], o = r.colorScale.inverse ? n : t; i.config.plotOptions[e].distributed && (o = n); var s = i.globals.colors[o], l = null, c = Math.min.apply(Math, h(i.globals.series[t])), u = Math.max.apply(Math, h(i.globals.series[t])); r.distributed || 'heatmap' !== e || (c = i.globals.minY, u = i.globals.maxY), void 0 !== r.colorScale.min && (c = r.colorScale.min < i.globals.minY ? r.colorScale.min : i.globals.minY, u = r.colorScale.max > i.globals.maxY ? r.colorScale.max : i.globals.maxY); var d = Math.abs(u) + Math.abs(c), f = 100 * a / (0 === d ? d - 1e-6 : d); return r.colorScale.ranges.length > 0 && r.colorScale.ranges.map((function (e, t) { if (a >= e.from && a <= e.to) { s = e.color, l = e.foreColor ? e.foreColor : null, c = e.from, u = e.to; var n = Math.abs(u) + Math.abs(c); f = 100 * a / (0 === n ? n - 1e-6 : n); } })), { color: s, foreColor: l, percent: f }; }, }, { key: 'calculateDataLabels', value: function (e) { var t = e.text, n = e.x, i = e.y, a = e.i, r = e.j, o = e.colorProps, s = e.fontSize, l = this.w.config.dataLabels, c = new v(this.ctx), u = new D(this.ctx), d = null; if (l.enabled) { d = c.group({ class: 'apexcharts-data-labels' }); var h = l.offsetX, f = l.offsetY, p = n + h, m = i + parseFloat(l.style.fontSize) / 3 + f; u.plotDataLabelsText({ x: p, y: m, text: t, i: a, j: r, color: o.foreColor, parent: d, fontSize: s, dataLabelsConfig: l, }); } return d; }, }, { key: 'addListeners', value: function (e) { var t = new v(this.ctx); e.node.addEventListener('mouseenter', t.pathMouseEnter.bind(this, e)), e.node.addEventListener('mouseleave', t.pathMouseLeave.bind(this, e)), e.node.addEventListener('mousedown', t.pathMouseDown.bind(this, e)); }, }]), e; }(), _e = function () { function e (n, i) { t(this, e), this.ctx = n, this.w = n.w, this.xRatio = i.xRatio, this.yRatio = i.yRatio, this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation, this.helpers = new xe( n), this.rectRadius = this.w.config.plotOptions.heatmap.radius, this.strokeWidth = this.w.config.stroke.show ? this.w.config.stroke.width : 0; } return i(e, [ { key: 'draw', value: function (e) { var t = this.w, n = new v(this.ctx), i = n.group({ class: 'apexcharts-heatmap' }); i.attr('clip-path', 'url(#gridRectMask'.concat(t.globals.cuid, ')')); var a = t.globals.gridWidth / t.globals.dataPoints, r = t.globals.gridHeight / t.globals.series.length, o = 0, s = !1; this.negRange = this.helpers.checkColorRange(); var l = e.slice(); t.config.yaxis[0].reversed && (s = !0, l.reverse()); for (var c = s ? 0 : l.length - 1; s ? c < l.length : c >= 0; s ? c++ : c--) { var u = n.group({ class: 'apexcharts-series apexcharts-heatmap-series', seriesName: p.escapeString( t.globals.seriesNames[c]), rel: c + 1, 'data:realIndex': c, }); if (this.ctx.series.addCollapsedClassToSeries(u, c), t.config.chart.dropShadow.enabled) { var d = t.config.chart.dropShadow; new m(this.ctx).dropShadow(u, d, c); } for (var h = 0, f = t.config.plotOptions.heatmap.shadeIntensity, g = 0; g < l[c].length; g++) { var y = this.helpers.getShadeColor( t.config.chart.type, c, g, this.negRange), b = y.color, x = y.colorProps; 'image' === t.config.fill.type && (b = new S(this.ctx).fillPath({ seriesNumber: c, dataPointIndex: g, opacity: t.globals.hasNegs ? x.percent < 0 ? 1 - (1 + x.percent / 100) : f + x.percent / 100 : x.percent / 100, patternID: p.randomId(), width: t.config.fill.image.width ? t.config.fill.image.width : a, height: t.config.fill.image.height ? t.config.fill.image.height : r, })); var _ = this.rectRadius, w = n.drawRect(h, o, a, r, _); if (w.attr({ cx: h, cy: o }), w.node.classList.add( 'apexcharts-heatmap-rect'), u.add(w), w.attr({ fill: b, i: c, index: c, j: g, val: l[c][g], 'stroke-width': this.strokeWidth, stroke: t.config.plotOptions.heatmap.useFillColorAsStroke ? b : t.globals.stroke.colors[0], color: b, }), this.helpers.addListeners( w), t.config.chart.animations.enabled && !t.globals.dataChanged) { var k = 1; t.globals.resized || (k = t.config.chart.animations.speed), this.animateHeatMap( w, h, o, a, r, k); } if (t.globals.dataChanged) { var M = 1; if (this.dynamicAnim.enabled && t.globals.shouldAnimate) { M = this.dynamicAnim.speed; var L = t.globals.previousPaths[c] && t.globals.previousPaths[c][g] && t.globals.previousPaths[c][g].color; L || (L = 'rgba(255, 255, 255, 0)'), this.animateHeatColor( w, p.isColorHex(L) ? L : p.rgb2hex(L), p.isColorHex(b) ? b : p.rgb2hex(b), M); } } var T = (0, t.config.dataLabels.formatter)( t.globals.series[c][g], { value: t.globals.series[c][g], seriesIndex: c, dataPointIndex: g, w: t, }), A = this.helpers.calculateDataLabels({ text: T, x: h + a / 2, y: o + r / 2, i: c, j: g, colorProps: x, series: l, }); null !== A && u.add(A), h += a; } o += r, i.add(u); } var D = t.globals.yAxisScale[0].result.slice(); t.config.yaxis[0].reversed ? D.unshift('') : D.push( ''), t.globals.yAxisScale[0].result = D; var C = t.globals.gridHeight / t.globals.series.length; return t.config.yaxis[0].labels.offsetY = -C / 2, i; }, }, { key: 'animateHeatMap', value: function (e, t, n, i, a, r) { var o = new g(this.ctx); o.animateRect(e, { x: t + i / 2, y: n + a / 2, width: 0, height: 0 }, { x: t, y: n, width: i, height: a }, r, (function () {o.animationCompleted(e);})); }, }, { key: 'animateHeatColor', value: function (e, t, n, i) { e.attr({ fill: t }). animate(i). attr({ fill: n }); }, }]), e; }(), we = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w; } return i(e, [ { key: 'drawYAxisTexts', value: function (e, t, n, i) { var a = this.w, r = a.config.yaxis[0], o = a.globals.yLabelFormatters[0]; return new v(this.ctx).drawText({ x: e + r.labels.offsetX, y: t + r.labels.offsetY, text: o(i, n), textAnchor: 'middle', fontSize: r.labels.style.fontSize, fontFamily: r.labels.style.fontFamily, foreColor: Array.isArray(r.labels.style.colors) ? r.labels.style.colors[n] : r.labels.style.colors, }); }, }]), e; }(), ke = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w; var i = 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 !== i.globals.stroke.colors ? i.globals.stroke.colors : i.globals.colors, this.defaultSize = Math.min( i.globals.gridWidth, i.globals.gridHeight), this.centerY = this.defaultSize / 2, this.centerX = i.globals.gridWidth / 2, 'radialBar' === i.config.chart.type ? this.fullAngle = 360 : this.fullAngle = Math.abs(i.config.plotOptions.pie.endAngle - i.config.plotOptions.pie.startAngle), this.initialAngle = i.config.plotOptions.pie.startAngle % this.fullAngle, i.globals.radialSize = this.defaultSize / 2.05 - i.config.stroke.width - (i.config.chart.sparkline.enabled ? 0 : i.config.chart.dropShadow.blur), this.donutSize = i.globals.radialSize * parseInt(i.config.plotOptions.pie.donut.size, 10) / 100, this.maxY = 0, this.sliceLabels = [], this.sliceSizes = [], this.prevSectorAngleArr = []; } return i(e, [ { key: 'draw', value: function (e) { var t = this, n = this.w, i = new v(this.ctx); if (this.ret = i.group( { class: 'apexcharts-pie' }), n.globals.noData) return this.ret; for (var a = 0, r = 0; r < e.length; r++) a += p.negToZero( e[r]); var o = [], s = i.group(); 0 === a && (a = 1e-5), e.forEach((function (e) { t.maxY = Math.max(t.maxY, e); })), n.config.yaxis[0].max && (this.maxY = n.config.yaxis[0].max), 'polarArea' === this.chartType && this.drawPolarElements(); for (var l = 0; l < e.length; l++) { var c = this.fullAngle * p.negToZero(e[l]) / a; o.push(c), 'polarArea' === this.chartType ? (o[l] = this.fullAngle / e.length, this.sliceSizes.push( n.globals.radialSize * e[l] / this.maxY)) : this.sliceSizes.push(n.globals.radialSize); } if (n.globals.dataChanged) { for (var u, d = 0, h = 0; h < n.globals.previousPaths.length; h++) d += p.negToZero( n.globals.previousPaths[h]); for (var f = 0; f < n.globals.previousPaths.length; f++) u = this.fullAngle * p.negToZero(n.globals.previousPaths[f]) / d, this.prevSectorAngleArr.push(u); } this.donutSize < 0 && (this.donutSize = 0); var m = n.config.plotOptions.pie.customScale, g = n.globals.gridWidth / 2, y = n.globals.gridHeight / 2, b = g - n.globals.gridWidth / 2 * m, x = y - n.globals.gridHeight / 2 * m; if ('donut' === this.chartType) { var _ = i.drawCircle(this.donutSize); _.attr({ cx: this.centerX, cy: this.centerY, fill: n.config.plotOptions.pie.donut.background ? n.config.plotOptions.pie.donut.background : 'transparent', }), s.add(_); } var w = this.drawArcs(o, e); if (this.sliceLabels.forEach( (function (e) {w.add(e);})), s.attr({ transform: 'translate('.concat(b, ', '). concat(x, ') scale('). concat(m, ')'), }), s.add(w), this.ret.add(s), this.donutDataLabels.show) { var k = this.renderInnerDataLabels(this.donutDataLabels, { hollowSize: this.donutSize, centerX: this.centerX, centerY: this.centerY, opacity: this.donutDataLabels.show, translateX: b, translateY: x, }); this.ret.add(k); } return this.ret; }, }, { key: 'drawArcs', value: function (e, t) { var n = this.w, i = new m(this.ctx), a = new v(this.ctx), r = new S(this.ctx), o = a.group({ class: 'apexcharts-slices' }), s = this.initialAngle, l = this.initialAngle, c = this.initialAngle, u = this.initialAngle; this.strokeWidth = n.config.stroke.show ? n.config.stroke.width : 0; for (var d = 0; d < e.length; d++) { var h = a.group({ class: 'apexcharts-series apexcharts-pie-series', seriesName: p.escapeString( n.globals.seriesNames[d]), rel: d + 1, 'data:realIndex': d, }); o.add(h), l = u, c = (s = c) + e[d], u = l + this.prevSectorAngleArr[d]; var f = c < s ? this.fullAngle + c - s : c - s, g = r.fillPath({ seriesNumber: d, size: this.sliceSizes[d], value: t[d], }), y = this.getChangedPath(l, u), b = a.drawPath({ d: y, stroke: Array.isArray(this.lineColorArr) ? this.lineColorArr[d] : this.lineColorArr, strokeWidth: 0, fill: g, fillOpacity: n.config.fill.opacity, classes: 'apexcharts-pie-area apexcharts-'.concat( this.chartType.toLowerCase(), '-slice-'). concat(d), }); if (b.attr({ index: 0, j: d }), i.setSelectionFilter(b, 0, d), n.config.chart.dropShadow.enabled) { var x = n.config.chart.dropShadow; i.dropShadow(b, x, d); } this.addListeners(b, this.donutDataLabels), v.setAttrs( b.node, { 'data:angle': f, 'data:startAngle': s, 'data:strokeWidth': this.strokeWidth, 'data:value': t[d], }); var _ = { x: 0, y: 0 }; 'pie' === this.chartType || 'polarArea' === this.chartType ? _ = p.polarToCartesian(this.centerX, this.centerY, n.globals.radialSize / 1.25 + n.config.plotOptions.pie.dataLabels.offset, (s + f / 2) % this.fullAngle) : 'donut' === this.chartType && (_ = p.polarToCartesian(this.centerX, this.centerY, (n.globals.radialSize + this.donutSize) / 2 + n.config.plotOptions.pie.dataLabels.offset, (s + f / 2) % this.fullAngle)), h.add(b); var w = 0; if (!this.initialAnim || n.globals.resized || n.globals.dataChanged ? this.animBeginArr.push(0) : (0 == (w = f / this.fullAngle * n.config.chart.animations.speed) && (w = 1), this.animDur = w + this.animDur, this.animBeginArr.push( this.animDur)), this.dynamicAnim && n.globals.dataChanged ? this.animatePaths(b, { size: this.sliceSizes[d], endAngle: c, startAngle: s, prevStartAngle: l, prevEndAngle: u, animateStartingPos: !0, i: d, animBeginArr: this.animBeginArr, shouldSetPrevPaths: !0, dur: n.config.chart.animations.dynamicAnimation.speed, }) : this.animatePaths(b, { size: this.sliceSizes[d], endAngle: c, startAngle: s, i: d, totalItems: e.length - 1, animBeginArr: this.animBeginArr, dur: w, }), n.config.plotOptions.pie.expandOnClick && 'polarArea' !== this.chartType && b.click(this.pieClicked.bind(this, d)), void 0 !== n.globals.selectedDataPoints[0] && n.globals.selectedDataPoints[0].indexOf(d) > -1 && this.pieClicked(d), n.config.dataLabels.enabled) { var k = _.x, M = _.y, L = 100 * f / this.fullAngle + '%'; if (0 !== f && n.config.plotOptions.pie.dataLabels.minAngleToShowLabel < e[d]) { var T = n.config.dataLabels.formatter; void 0 !== T && (L = T(n.globals.seriesPercent[d][0], { seriesIndex: d, w: n })); var A = n.globals.dataLabels.style.colors[d], D = a.group( { class: 'apexcharts-datalabels' }), C = a.drawText({ x: k, y: M, text: L, textAnchor: 'middle', fontSize: n.config.dataLabels.style.fontSize, fontFamily: n.config.dataLabels.style.fontFamily, fontWeight: n.config.dataLabels.style.fontWeight, foreColor: A, }); if (D.add( C), n.config.dataLabels.dropShadow.enabled) { var E = n.config.dataLabels.dropShadow; i.dropShadow(C, E); } C.node.classList.add( 'apexcharts-pie-label'), n.config.chart.animations.animate && !1 === n.globals.resized && (C.node.classList.add( 'apexcharts-pie-label-delay'), C.node.style.animationDelay = n.config.chart.animations.speed / 940 + 's'), this.sliceLabels.push(D); } } } return o; }, }, { key: 'addListeners', value: function (e, t) { var n = new v(this.ctx); e.node.addEventListener('mouseenter', n.pathMouseEnter.bind(this, e)), e.node.addEventListener('mouseleave', n.pathMouseLeave.bind(this, e)), e.node.addEventListener('mouseleave', this.revertDataLabelsInner.bind(this, e.node, t)), e.node.addEventListener('mousedown', n.pathMouseDown.bind(this, e)), this.donutDataLabels.total.showAlways || (e.node.addEventListener('mouseenter', this.printDataLabelsInner.bind(this, e.node, t)), e.node.addEventListener('mousedown', this.printDataLabelsInner.bind(this, e.node, t))); }, }, { key: 'animatePaths', value: function (e, t) { var n = this.w, i = t.endAngle < t.startAngle ? this.fullAngle + t.endAngle - t.startAngle : t.endAngle - t.startAngle, a = i, r = t.startAngle, o = t.startAngle; void 0 !== t.prevStartAngle && void 0 !== t.prevEndAngle && (r = t.prevEndAngle, a = t.prevEndAngle < t.prevStartAngle ? this.fullAngle + t.prevEndAngle - t.prevStartAngle : t.prevEndAngle - t.prevStartAngle), t.i === n.config.series.length - 1 && (i + o > this.fullAngle ? t.endAngle = t.endAngle - (i + o) : i + o < this.fullAngle && (t.endAngle = t.endAngle + (this.fullAngle - (i + o)))), i === this.fullAngle && (i = this.fullAngle - .01), this.animateArc(e, r, o, i, a, t); }, }, { key: 'animateArc', value: function (e, t, n, i, a, r) { var o, s = this, l = this.w, c = new g(this.ctx), u = r.size; (isNaN(t) || isNaN(a)) && (t = n, a = i, r.dur = 0); var d = i, h = n, f = t < n ? this.fullAngle + t - n : t - n; l.globals.dataChanged && r.shouldSetPrevPaths && r.prevEndAngle && (o = s.getPiePath({ me: s, startAngle: r.prevStartAngle, angle: r.prevEndAngle < r.prevStartAngle ? this.fullAngle + r.prevEndAngle - r.prevStartAngle : r.prevEndAngle - r.prevStartAngle, size: u, }), e.attr({ d: o })), 0 !== r.dur ? e.animate(r.dur, l.globals.easing, r.animBeginArr[r.i]). afterAll((function () { 'pie' !== s.chartType && 'donut' !== s.chartType && 'polarArea' !== s.chartType || this.animate( l.config.chart.animations.dynamicAnimation.speed). attr({ 'stroke-width': s.strokeWidth }), r.i === l.config.series.length - 1 && c.animationCompleted(e); })). during((function (l) { d = f + (i - f) * l, r.animateStartingPos && (d = a + (i - a) * l, h = t - a + (n - (t - a)) * l), o = s.getPiePath({ me: s, startAngle: h, angle: d, size: u, }), e.node.setAttribute('data:pathOrig', o), e.attr( { d: o }); })) : (o = s.getPiePath({ me: s, startAngle: h, angle: i, size: u, }), r.isTrack || (l.globals.animationEnded = !0), e.node.setAttribute( 'data:pathOrig', o), e.attr( { d: o, 'stroke-width': s.strokeWidth })); }, }, { key: 'pieClicked', value: function (e) { var t, n = this.w, i = this, a = i.sliceSizes[e] + (n.config.plotOptions.pie.expandOnClick ? 4 : 0), r = n.globals.dom.Paper.select( '.apexcharts-'.concat(i.chartType.toLowerCase(), '-slice-').concat(e)).members[0]; if ('true' !== r.attr('data:pieClicked')) { var o = n.globals.dom.baseEl.getElementsByClassName( 'apexcharts-pie-area'); Array.prototype.forEach.call(o, (function (e) { e.setAttribute('data:pieClicked', 'false'); var t = e.getAttribute('data:pathOrig'); e.setAttribute('d', t); })), r.attr('data:pieClicked', 'true'); var s = parseInt(r.attr('data:startAngle'), 10), l = parseInt(r.attr('data:angle'), 10); t = i.getPiePath({ me: i, startAngle: s, angle: l, size: a, }), 360 !== l && r.plot(t); } else { r.attr( { 'data:pieClicked': 'false' }), this.revertDataLabelsInner( r.node, this.donutDataLabels); var c = r.attr('data:pathOrig'); r.attr({ d: c }); } }, }, { key: 'getChangedPath', value: function (e, t) { var n = ''; return this.dynamicAnim && this.w.globals.dataChanged && (n = this.getPiePath({ me: this, startAngle: e, angle: t - e, size: this.size, })), n; }, }, { key: 'getPiePath', value: function (e) { var t = e.me, n = e.startAngle, i = e.angle, a = e.size, r = n, o = Math.PI * (r - 90) / 180, s = i + n; Math.ceil(s) >= this.fullAngle + this.w.config.plotOptions.pie.startAngle % this.fullAngle && (s = this.fullAngle + this.w.config.plotOptions.pie.startAngle % this.fullAngle - .01), Math.ceil(s) > this.fullAngle && (s -= this.fullAngle); var l = Math.PI * (s - 90) / 180, c = t.centerX + a * Math.cos(o), u = t.centerY + a * Math.sin(o), d = t.centerX + a * Math.cos(l), h = t.centerY + a * Math.sin(l), f = p.polarToCartesian(t.centerX, t.centerY, t.donutSize, s), m = p.polarToCartesian(t.centerX, t.centerY, t.donutSize, r), g = i > 180 ? 1 : 0, v = ['M', c, u, 'A', a, a, 0, g, 1, d, h]; return 'donut' === t.chartType ? [].concat(v, [ 'L', f.x, f.y, 'A', t.donutSize, t.donutSize, 0, g, 0, m.x, m.y, 'L', c, u, 'z']).join(' ') : 'pie' === t.chartType || 'polarArea' === t.chartType ? [].concat(v, ['L', t.centerX, t.centerY, 'L', c, u]). join(' ') : [].concat(v).join(' '); }, }, { key: 'drawPolarElements', value: function () { var e = this.w, t = new U(this.ctx), n = new v(this.ctx), i = new we(this.ctx), a = n.group(), r = n.group(), o = t.niceScale(0, Math.ceil(this.maxY), e.config.yaxis[0].tickAmount, 0, !0), s = o.result.reverse(), l = o.result.length; this.maxY = o.niceMax; for (var c = e.globals.radialSize, u = c / (l - 1), d = 0; d < l - 1; d++) { var h = n.drawCircle(c); if (h.attr({ cx: this.centerX, cy: this.centerY, fill: 'none', 'stroke-width': e.config.plotOptions.polarArea.rings.strokeWidth, stroke: e.config.plotOptions.polarArea.rings.strokeColor, }), e.config.yaxis[0].show) { var f = i.drawYAxisTexts(this.centerX, this.centerY - c + parseInt( e.config.yaxis[0].labels.style.fontSize, 10) / 2, d, s[d]); r.add(f); } a.add(h), c -= u; } this.ret.add(a), this.ret.add(r); }, }, { key: 'renderInnerDataLabels', value: function (e, t) { var n = this.w, i = new v(this.ctx), a = i.group({ class: 'apexcharts-datalabels-group', transform: 'translate('.concat( t.translateX ? t.translateX : 0, ', '). concat(t.translateY ? t.translateY : 0, ') scale('). concat(n.config.plotOptions.pie.customScale, ')'), }), r = e.total.show; a.node.style.opacity = t.opacity; var o, s, l = t.centerX, c = t.centerY; o = void 0 === e.name.color ? n.globals.colors[0] : e.name.color; var u = e.name.fontSize, d = e.name.fontFamily, h = e.value.fontWeight; s = void 0 === e.value.color ? n.config.chart.foreColor : e.value.color; var f = e.value.formatter, p = '', m = ''; if (r ? (o = e.total.color, u = e.total.fontSize, d = e.total.fontFamily, h = e.total.fontWeight, m = e.total.label, p = e.total.formatter( n)) : 1 === n.globals.series.length && (p = f(n.globals.series[0], n), m = n.globals.seriesNames[0]), m && (m = e.name.formatter(m, e.total.show, n)), e.name.show) { var g = i.drawText({ x: l, y: c + parseFloat(e.name.offsetY), text: m, textAnchor: 'middle', foreColor: o, fontSize: u, fontWeight: h, fontFamily: d, }); g.node.classList.add( 'apexcharts-datalabel-label'), a.add(g); } if (e.value.show) { var y = e.name.show ? parseFloat(e.value.offsetY) + 16 : e.value.offsetY, b = i.drawText({ x: l, y: c + y, text: p, textAnchor: 'middle', foreColor: s, fontWeight: e.value.fontWeight, fontSize: e.value.fontSize, fontFamily: e.value.fontFamily, }); b.node.classList.add( 'apexcharts-datalabel-value'), a.add(b); } return a; }, }, { key: 'printInnerLabels', value: function (e, t, n, i) { var a, r = this.w; i ? a = void 0 === e.name.color ? r.globals.colors[parseInt( i.parentNode.getAttribute('rel'), 10) - 1] : e.name.color : r.globals.series.length > 1 && e.total.show && (a = e.total.color); var o = r.globals.dom.baseEl.querySelector( '.apexcharts-datalabel-label'), s = r.globals.dom.baseEl.querySelector( '.apexcharts-datalabel-value'); n = (0, e.value.formatter)(n, r), i || 'function' != typeof e.total.formatter || (n = e.total.formatter(r)); var l = t === e.total.label; t = e.name.formatter(t, l, r), null !== o && (o.textContent = t), null !== s && (s.textContent = n), null !== o && (o.style.fill = a); }, }, { key: 'printDataLabelsInner', value: function (e, t) { var n = this.w, i = e.getAttribute('data:value'), a = n.globals.seriesNames[parseInt( e.parentNode.getAttribute('rel'), 10) - 1]; n.globals.series.length > 1 && this.printInnerLabels(t, a, i, e); var r = n.globals.dom.baseEl.querySelector( '.apexcharts-datalabels-group'); null !== r && (r.style.opacity = 1); }, }, { key: 'revertDataLabelsInner', value: function (e, t, n) { var i = this, a = this.w, r = a.globals.dom.baseEl.querySelector( '.apexcharts-datalabels-group'), o = !1, s = a.globals.dom.baseEl.getElementsByClassName( 'apexcharts-pie-area'), l = function (e) { var n = e.makeSliceOut, a = e.printLabel; Array.prototype.forEach.call(s, (function (e) { 'true' === e.getAttribute('data:pieClicked') && (n && (o = !0), a && i.printDataLabelsInner(e, t)); })); }; if (l({ makeSliceOut: !0, printLabel: !1 }), t.total.show && a.globals.series.length > 1) o && !t.total.showAlways ? l({ makeSliceOut: !1, printLabel: !0 }) : this.printInnerLabels(t, t.total.label, t.total.formatter(a)); else if (l({ makeSliceOut: !1, printLabel: !0, }), !o) if (a.globals.selectedDataPoints.length && a.globals.series.length > 1) if (a.globals.selectedDataPoints[0].length > 0) { var c = a.globals.selectedDataPoints[0], u = a.globals.dom.baseEl.querySelector( '.apexcharts-'.concat( this.chartType.toLowerCase(), '-slice-'). concat(c)); this.printDataLabelsInner(u, t); } else r && a.globals.selectedDataPoints.length && 0 === a.globals.selectedDataPoints[0].length && (r.style.opacity = 0); else r && a.globals.series.length > 1 && (r.style.opacity = 0); }, }]), e; }(), Me = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.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 i = this.w; this.graphics = new v(this.ctx), this.lineColorArr = void 0 !== i.globals.stroke.colors ? i.globals.stroke.colors : i.globals.colors, this.defaultSize = i.globals.svgHeight < i.globals.svgWidth ? i.globals.gridHeight + 1.5 * i.globals.goldenPadding : i.globals.gridWidth, this.isLog = i.config.yaxis[0].logarithmic, this.coreUtils = new x( this.ctx), this.maxValue = this.isLog ? this.coreUtils.getLogVal(i.globals.maxY, 0) : i.globals.maxY, this.minValue = this.isLog ? this.coreUtils.getLogVal(this.w.globals.minY, 0) : i.globals.minY, this.polygons = i.config.plotOptions.radar.polygons, this.strokeWidth = i.config.stroke.show ? i.config.stroke.width : 0, this.size = this.defaultSize / 2.1 - this.strokeWidth - i.config.chart.dropShadow.blur, i.config.xaxis.labels.show && (this.size = this.size - i.globals.xAxisLabelsWidth / 1.75), void 0 !== i.config.plotOptions.radar.size && (this.size = i.config.plotOptions.radar.size), this.dataRadiusOfPercent = [], this.dataRadius = [], this.angleArr = [], this.yaxisLabelsTextsPos = []; } return i(e, [ { key: 'draw', value: function (e) { var t = this, n = this.w, i = new S(this.ctx), a = [], r = new D(this.ctx); e.length && (this.dataPointsLen = e[n.globals.maxValsInArrayIndex].length), this.disAngle = 2 * Math.PI / this.dataPointsLen; var s = n.globals.gridWidth / 2, l = n.globals.gridHeight / 2, c = s + n.config.plotOptions.radar.offsetX, u = l + n.config.plotOptions.radar.offsetY, d = this.graphics.group({ class: 'apexcharts-radar-series apexcharts-plot-series', transform: 'translate('.concat(c || 0, ', '). concat(u || 0, ')'), }), h = [], f = null, g = null; if (this.yaxisLabels = this.graphics.group( { class: 'apexcharts-yaxis' }), e.forEach( (function (e, s) { var l = e.length === n.globals.dataPoints, c = t.graphics.group(). attr({ class: 'apexcharts-series', 'data:longestSeries': l, seriesName: p.escapeString( n.globals.seriesNames[s]), rel: s + 1, 'data:realIndex': s, }); t.dataRadiusOfPercent[s] = [], t.dataRadius[s] = [], t.angleArr[s] = [], e.forEach( (function (e, n) { var i = Math.abs(t.maxValue - t.minValue); e += Math.abs(t.minValue), t.isLog && (e = t.coreUtils.getLogVal(e, 0)), t.dataRadiusOfPercent[s][n] = e / i, t.dataRadius[s][n] = t.dataRadiusOfPercent[s][n] * t.size, t.angleArr[s][n] = n * t.disAngle; })), h = t.getDataPointsPos(t.dataRadius[s], t.angleArr[s]); var u = t.createPaths(h, { x: 0, y: 0 }); f = t.graphics.group( { class: 'apexcharts-series-markers-wrap apexcharts-element-hidden' }), g = t.graphics.group( { class: 'apexcharts-datalabels', 'data:realIndex': s, }), n.globals.delayedElements.push( { el: f.node, index: s }); var d = { i: s, realIndex: s, animationDelay: s, initialSpeed: n.config.chart.animations.speed, dataChangeSpeed: n.config.chart.animations.dynamicAnimation.speed, className: 'apexcharts-radar', shouldClipToGrid: !1, bindEventsOnPaths: !1, stroke: n.globals.stroke.colors[s], strokeLineCap: n.config.stroke.lineCap, }, v = null; n.globals.previousPaths.length > 0 && (v = t.getPreviousPath(s)); for (var y = 0; y < u.linePathsTo.length; y++) { var b = t.graphics.renderPaths(o(o({}, d), {}, { pathFrom: null === v ? u.linePathsFrom[y] : v, pathTo: u.linePathsTo[y], strokeWidth: Array.isArray(t.strokeWidth) ? t.strokeWidth[s] : t.strokeWidth, fill: 'none', drawShadow: !1, })); c.add(b); var x = i.fillPath({ seriesNumber: s }), _ = t.graphics.renderPaths(o(o({}, d), {}, { pathFrom: null === v ? u.areaPathsFrom[y] : v, pathTo: u.areaPathsTo[y], strokeWidth: 0, fill: x, drawShadow: !1, })); if (n.config.chart.dropShadow.enabled) { var w = new m(t.ctx), k = n.config.chart.dropShadow; w.dropShadow(_, Object.assign({}, k, { noUserSpaceOnUse: !0 }), s); } c.add(_); } e.forEach((function (e, i) { var a = new T(t.ctx).getMarkerConfig( 'apexcharts-marker', s, i), l = t.graphics.drawMarker(h[i].x, h[i].y, a); l.attr('rel', i), l.attr('j', i), l.attr( 'index', s), l.node.setAttribute( 'default-marker-size', a.pSize); var u = t.graphics.group( { class: 'apexcharts-series-markers' }); u && u.add(l), f.add(u), c.add(f); var d = n.config.dataLabels; if (d.enabled) { var p = d.formatter(n.globals.series[s][i], { seriesIndex: s, dataPointIndex: i, w: n, }); r.plotDataLabelsText({ x: h[i].x, y: h[i].y, text: p, textAnchor: 'middle', i: s, j: s, parent: g, offsetCorrection: !1, dataLabelsConfig: o({}, d), }); } c.add(g); })), a.push(c); })), this.drawPolygons( { parent: d }), n.config.xaxis.labels.show) { var v = this.drawXAxisTexts(); d.add(v); } return d.add(this.yaxisLabels), a.forEach( (function (e) {d.add(e);})), d; }, }, { key: 'drawPolygons', value: function (e) { for (var t = this, n = this.w, i = e.parent, a = new we( this.ctx), r = n.globals.yAxisScale[0].result.reverse(), o = r.length, s = [], l = this.size / (o - 1), c = 0; c < o; c++) s[c] = l * c; s.reverse(); var u = [], d = []; s.forEach((function (e, n) { var i = t.getPolygonPos(e), a = ''; i.forEach((function (e, i) { if (0 === n) { var r = t.graphics.drawLine(e.x, e.y, 0, 0, Array.isArray(t.polygons.connectorColors) ? t.polygons.connectorColors[i] : t.polygons.connectorColors); d.push(r); } 0 === i && t.yaxisLabelsTextsPos.push( { x: e.x, y: e.y }), a += e.x + ',' + e.y + ' '; })), u.push(a); })), u.forEach((function (e, a) { var r = t.polygons.strokeColors, o = t.polygons.strokeWidth, s = t.graphics.drawPolygon(e, Array.isArray(r) ? r[a] : r, Array.isArray(o) ? o[a] : o, n.globals.radarPolygons.fill.colors[a]); i.add(s); })), d.forEach( (function (e) {i.add(e);})), n.config.yaxis[0].show && this.yaxisLabelsTextsPos.forEach((function (e, n) { var i = a.drawYAxisTexts(e.x, e.y, n, r[n]); t.yaxisLabels.add(i); })); }, }, { key: 'drawXAxisTexts', value: function () { var e = this, t = this.w, n = t.config.xaxis.labels, i = this.graphics.group({ class: 'apexcharts-xaxis' }), a = this.getPolygonPos(this.size); return t.globals.labels.forEach((function (r, s) { var l = t.config.xaxis.labels.formatter, c = new D(e.ctx); if (a[s]) { var u = e.getTextPos(a[s], e.size), d = l(r, { seriesIndex: -1, dataPointIndex: s, w: t }); c.plotDataLabelsText({ x: u.newX, y: u.newY, text: d, textAnchor: u.textAnchor, i: s, j: s, parent: i, color: Array.isArray(n.style.colors) && n.style.colors[s] ? n.style.colors[s] : '#a8a8a8', dataLabelsConfig: o({ textAnchor: u.textAnchor, dropShadow: { enabled: !1 }, }, n), offsetCorrection: !1, }); } })), i; }, }, { key: 'createPaths', value: function (e, t) { var n = this, i = [], a = [], r = [], o = []; if (e.length) { a = [ this.graphics.move(t.x, t.y)], o = [this.graphics.move(t.x, t.y)]; var s = this.graphics.move(e[0].x, e[0].y), l = this.graphics.move(e[0].x, e[0].y); e.forEach((function (t, i) { s += n.graphics.line(t.x, t.y), l += n.graphics.line(t.x, t.y), i === e.length - 1 && (s += 'Z', l += 'Z'); })), i.push(s), r.push(l); } return { linePathsFrom: a, linePathsTo: i, areaPathsFrom: o, areaPathsTo: r, }; }, }, { key: 'getTextPos', value: function (e, t) { var n = 'middle', i = e.x, a = e.y; return Math.abs(e.x) >= 10 ? e.x > 0 ? (n = 'start', i += 10) : e.x < 0 && (n = 'end', i -= 10) : n = 'middle', Math.abs(e.y) >= t - 10 && (e.y < 0 ? a -= 10 : e.y > 0 && (a += 10)), { textAnchor: n, newX: i, newY: a, }; }, }, { key: 'getPreviousPath', value: function (e) { for (var t = this.w, n = null, i = 0; i < t.globals.previousPaths.length; i++) { var a = t.globals.previousPaths[i]; a.paths.length > 0 && parseInt(a.realIndex, 10) === parseInt(e, 10) && void 0 !== t.globals.previousPaths[i].paths[0] && (n = t.globals.previousPaths[i].paths[0].d); } return n; }, }, { key: 'getDataPointsPos', value: function (e, t) { var n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : this.dataPointsLen; e = e || [], t = t || []; for (var i = [], a = 0; a < n; a++) { var r = {}; r.x = e[a] * Math.sin(t[a]), r.y = -e[a] * Math.cos(t[a]), i.push(r); } return i; }, }, { key: 'getPolygonPos', value: function (e) { for (var t = [], n = 2 * Math.PI / this.dataPointsLen, i = 0; i < this.dataPointsLen; i++) { var a = {}; a.x = e * Math.sin(i * n), a.y = -e * Math.cos(i * n), t.push(a); } return t; }, }]), e; }(), Le = function (e) { s(a, e); var n = d(a); function a (e) { var i; t(this, a), (i = n.call(this, e)).ctx = e, i.w = e.w, i.animBeginArr = [0], i.animDur = 0; var r = i.w; return i.startAngle = r.config.plotOptions.radialBar.startAngle, i.endAngle = r.config.plotOptions.radialBar.endAngle, i.totalAngle = Math.abs( r.config.plotOptions.radialBar.endAngle - r.config.plotOptions.radialBar.startAngle), i.trackStartAngle = r.config.plotOptions.radialBar.track.startAngle, i.trackEndAngle = r.config.plotOptions.radialBar.track.endAngle, i.radialDataLabels = r.config.plotOptions.radialBar.dataLabels, i.trackStartAngle || (i.trackStartAngle = i.startAngle), i.trackEndAngle || (i.trackEndAngle = i.endAngle), 360 === i.endAngle && (i.endAngle = 359.99), i.margin = parseInt( r.config.plotOptions.radialBar.track.margin, 10), i; } return i(a, [ { key: 'draw', value: function (e) { var t = this.w, n = new v(this.ctx), i = n.group({ class: 'apexcharts-radialbar' }); if (t.globals.noData) return i; var a = n.group(), r = this.defaultSize / 2, o = t.globals.gridWidth / 2, s = this.defaultSize / 2.05; t.config.chart.sparkline.enabled || (s = s - t.config.stroke.width - t.config.chart.dropShadow.blur); var l = t.globals.fill.colors; if (t.config.plotOptions.radialBar.track.show) { var c = this.drawTracks({ size: s, centerX: o, centerY: r, colorArr: l, series: e, }); a.add(c); } var u = this.drawArcs({ size: s, centerX: o, centerY: r, colorArr: l, series: e, }), d = 360; t.config.plotOptions.radialBar.startAngle < 0 && (d = this.totalAngle); var h = (360 - d) / 360; if (t.globals.radialSize = s - s * h, this.radialDataLabels.value.show) { var f = Math.max(this.radialDataLabels.value.offsetY, this.radialDataLabels.name.offsetY); t.globals.radialSize += f * h; } return a.add(u.g), 'front' === t.config.plotOptions.radialBar.hollow.position && (u.g.add(u.elHollow), u.dataLabels && u.g.add(u.dataLabels)), i.add(a), i; }, }, { key: 'drawTracks', value: function (e) { var t = this.w, n = new v(this.ctx), i = n.group({ class: 'apexcharts-tracks' }), a = new m(this.ctx), r = new S(this.ctx), o = this.getStrokeWidth(e); e.size = e.size - o / 2; for (var s = 0; s < e.series.length; s++) { var l = n.group( { class: 'apexcharts-radialbar-track apexcharts-track' }); i.add(l), l.attr({ rel: s + 1 }), e.size = e.size - o - this.margin; var c = t.config.plotOptions.radialBar.track, u = r.fillPath({ seriesNumber: 0, size: e.size, fillColors: Array.isArray(c.background) ? c.background[s] : c.background, solid: !0, }), d = this.trackStartAngle, h = this.trackEndAngle; Math.abs(h) + Math.abs(d) >= 360 && (h = 360 - Math.abs(this.startAngle) - .1); var f = n.drawPath({ d: '', stroke: u, strokeWidth: o * parseInt(c.strokeWidth, 10) / 100, fill: 'none', strokeOpacity: c.opacity, classes: 'apexcharts-radialbar-area', }); if (c.dropShadow.enabled) { var p = c.dropShadow; a.dropShadow(f, p); } l.add(f), f.attr('id', 'apexcharts-radialbarTrack-' + s), this.animatePaths(f, { centerX: e.centerX, centerY: e.centerY, endAngle: h, startAngle: d, size: e.size, i: s, totalItems: 2, animBeginArr: 0, dur: 0, isTrack: !0, easing: t.globals.easing, }); } return i; }, }, { key: 'drawArcs', value: function (e) { var t = this.w, n = new v(this.ctx), i = new S(this.ctx), a = new m(this.ctx), r = n.group(), o = this.getStrokeWidth(e); e.size = e.size - o / 2; var s = t.config.plotOptions.radialBar.hollow.background, l = e.size - o * e.series.length - this.margin * e.series.length - o * parseInt( t.config.plotOptions.radialBar.track.strokeWidth, 10) / 100 / 2, c = l - t.config.plotOptions.radialBar.hollow.margin; void 0 !== t.config.plotOptions.radialBar.hollow.image && (s = this.drawHollowImage(e, r, l, s)); var u = this.drawHollow({ size: c, centerX: e.centerX, centerY: e.centerY, fill: s || 'transparent', }); if (t.config.plotOptions.radialBar.hollow.dropShadow.enabled) { var d = t.config.plotOptions.radialBar.hollow.dropShadow; a.dropShadow(u, d); } var h = 1; !this.radialDataLabels.total.show && t.globals.series.length > 1 && (h = 0); var f = null; this.radialDataLabels.show && (f = this.renderInnerDataLabels(this.radialDataLabels, { hollowSize: l, centerX: e.centerX, centerY: e.centerY, opacity: h, })), 'back' === t.config.plotOptions.radialBar.hollow.position && (r.add(u), f && r.add(f)); var g = !1; t.config.plotOptions.radialBar.inverseOrder && (g = !0); for (var y = g ? e.series.length - 1 : 0; g ? y >= 0 : y < e.series.length; g ? y-- : y++) { var b = n.group({ class: 'apexcharts-series apexcharts-radial-series', seriesName: p.escapeString( t.globals.seriesNames[y]), }); r.add(b), b.attr({ rel: y + 1, 'data:realIndex': y, }), this.ctx.series.addCollapsedClassToSeries(b, y), e.size = e.size - o - this.margin; var x = i.fillPath({ seriesNumber: y, size: e.size, value: e.series[y], }), _ = this.startAngle, w = void 0, k = p.negToZero( e.series[y] > 100 ? 100 : e.series[y]) / 100, M = Math.round(this.totalAngle * k) + this.startAngle, L = void 0; t.globals.dataChanged && (w = this.startAngle, L = Math.round(this.totalAngle * p.negToZero(t.globals.previousPaths[y]) / 100) + w), Math.abs(M) + Math.abs(_) >= 360 && (M -= .01), Math.abs(L) + Math.abs(w) >= 360 && (L -= .01); var T = M - _, A = Array.isArray(t.config.stroke.dashArray) ? t.config.stroke.dashArray[y] : t.config.stroke.dashArray, D = n.drawPath({ d: '', stroke: x, strokeWidth: o, fill: 'none', fillOpacity: t.config.fill.opacity, classes: 'apexcharts-radialbar-area apexcharts-radialbar-slice-' + y, strokeDashArray: A, }); if (v.setAttrs(D.node, { 'data:angle': T, 'data:value': e.series[y], }), t.config.chart.dropShadow.enabled) { var C = t.config.chart.dropShadow; a.dropShadow(D, C, y); } a.setSelectionFilter(D, 0, y), this.addListeners(D, this.radialDataLabels), b.add(D), D.attr( { index: 0, j: y }); var E = 0; !this.initialAnim || t.globals.resized || t.globals.dataChanged || (E = (M - _) / 360 * t.config.chart.animations.speed, this.animDur = E / (1.2 * e.series.length) + this.animDur, this.animBeginArr.push( this.animDur)), t.globals.dataChanged && (E = (M - _) / 360 * t.config.chart.animations.dynamicAnimation.speed, this.animDur = E / (1.2 * e.series.length) + this.animDur, this.animBeginArr.push( this.animDur)), this.animatePaths(D, { centerX: e.centerX, centerY: e.centerY, endAngle: M, startAngle: _, prevEndAngle: L, prevStartAngle: w, size: e.size, i: y, totalItems: 2, animBeginArr: this.animBeginArr, dur: E, shouldSetPrevPaths: !0, easing: t.globals.easing, }); } return { g: r, elHollow: u, dataLabels: f }; }, }, { key: 'drawHollow', value: function (e) { var t = new v(this.ctx).drawCircle(2 * e.size); return t.attr({ class: 'apexcharts-radialbar-hollow', cx: e.centerX, cy: e.centerY, r: e.size, fill: e.fill, }), t; }, }, { key: 'drawHollowImage', value: function (e, t, n, i) { var a = this.w, r = new S(this.ctx), o = p.randomId(), s = a.config.plotOptions.radialBar.hollow.image; if (a.config.plotOptions.radialBar.hollow.imageClipped) r.clippedImgArea( { width: n, height: n, image: s, patternID: 'pattern'.concat(a.globals.cuid). concat(o), }), i = 'url(#pattern'.concat(a.globals.cuid). concat(o, ')'); else { var l = a.config.plotOptions.radialBar.hollow.imageWidth, c = a.config.plotOptions.radialBar.hollow.imageHeight; if (void 0 === l && void 0 === c) { var u = a.globals.dom.Paper.image(s). loaded((function (t) { this.move(e.centerX - t.width / 2 + a.config.plotOptions.radialBar.hollow.imageOffsetX, e.centerY - t.height / 2 + a.config.plotOptions.radialBar.hollow.imageOffsetY); })); t.add(u); } else { var d = a.globals.dom.Paper.image(s). loaded((function (t) { this.move(e.centerX - l / 2 + a.config.plotOptions.radialBar.hollow.imageOffsetX, e.centerY - c / 2 + a.config.plotOptions.radialBar.hollow.imageOffsetY), this.size( l, c); })); t.add(d); } } return i; }, }, { key: 'getStrokeWidth', value: function (e) { var t = this.w; return e.size * (100 - parseInt(t.config.plotOptions.radialBar.hollow.size, 10)) / 100 / (e.series.length + 1) - this.margin; }, }]), a; }(ke), Se = function () { function e (n) {t(this, e), this.w = n.w, this.lineCtx = n;} return i(e, [ { key: 'sameValueSeriesFix', value: function (e, t) { var n = this.w; if ('line' === n.config.chart.type && ('gradient' === n.config.fill.type || 'gradient' === n.config.fill.type[e]) && new x(this.lineCtx.ctx, n).seriesHaveSameValues(e)) { var i = t[e].slice(); i[i.length - 1] = i[i.length - 1] + 1e-6, t[e] = i; } return t; }, }, { key: 'calculatePoints', value: function (e) { var t = e.series, n = e.realIndex, i = e.x, a = e.y, r = e.i, o = e.j, s = e.prevY, l = this.w, c = [], u = []; if (0 === o) { var d = this.lineCtx.categoryAxisCorrection + l.config.markers.offsetX; l.globals.isXNumeric && (d = (l.globals.seriesX[n][0] - l.globals.minX) / this.lineCtx.xRatio + l.config.markers.offsetX), c.push(d), u.push( p.isNumber(t[r][0]) ? s + l.config.markers.offsetY : null), c.push( i + l.config.markers.offsetX), u.push( p.isNumber(t[r][o + 1]) ? a + l.config.markers.offsetY : null); } else c.push(i + l.config.markers.offsetX), u.push( p.isNumber(t[r][o + 1]) ? a + l.config.markers.offsetY : null); return { x: c, y: u }; }, }, { key: 'checkPreviousPaths', value: function (e) { for (var t = e.pathFromLine, n = e.pathFromArea, i = e.realIndex, a = this.w, r = 0; r < a.globals.previousPaths.length; r++) { var o = a.globals.previousPaths[r]; ('line' === o.type || 'area' === o.type) && o.paths.length > 0 && parseInt(o.realIndex, 10) === parseInt(i, 10) && ('line' === o.type ? (this.lineCtx.appendPathFrom = !1, t = a.globals.previousPaths[r].paths[0].d) : 'area' === o.type && (this.lineCtx.appendPathFrom = !1, n = a.globals.previousPaths[r].paths[0].d, a.config.stroke.show && a.globals.previousPaths[r].paths[1] && (t = a.globals.previousPaths[r].paths[1].d))); } return { pathFromLine: t, pathFromArea: n }; }, }, { key: 'determineFirstPrevY', value: function (e) { var t = e.i, n = e.series, i = e.prevY, a = e.lineYPosition, r = this.w; if (void 0 !== n[t][0]) i = (a = r.config.chart.stacked && t > 0 ? this.lineCtx.prevSeriesY[t - 1][0] : this.lineCtx.zeroY) - n[t][0] / this.lineCtx.yRatio[this.lineCtx.yaxisIndex] + 2 * (this.lineCtx.isReversed ? n[t][0] / this.lineCtx.yRatio[this.lineCtx.yaxisIndex] : 0); else if (r.config.chart.stacked && t > 0 && void 0 === n[t][0]) for (var o = t - 1; o >= 0; o--) if (null !== n[o][0] && void 0 !== n[o][0]) { i = a = this.lineCtx.prevSeriesY[o][0]; break; } return { prevY: i, lineYPosition: a }; }, }]), e; }(), Te = function () { function e (n, i, a) { t(this, e), this.ctx = n, this.w = n.w, this.xyRatios = i, this.pointsChart = !('bubble' !== this.w.config.chart.type && 'scatter' !== this.w.config.chart.type) || a, this.scatter = new A( this.ctx), this.noNegatives = this.w.globals.minX === Number.MAX_VALUE, this.lineHelpers = new Se( this), this.markers = new T( this.ctx), this.prevSeriesY = [], this.categoryAxisCorrection = 0, this.yaxisIndex = 0; } return i(e, [ { key: 'draw', value: function (e, t, n) { var i = this.w, a = new v(this.ctx), r = i.globals.comboCharts ? t : i.config.chart.type, o = a.group({ class: 'apexcharts-'.concat(r, '-series apexcharts-plot-series'), }), s = new x(this.ctx, i); this.yRatio = this.xyRatios.yRatio, this.zRatio = this.xyRatios.zRatio, this.xRatio = this.xyRatios.xRatio, this.baseLineY = this.xyRatios.baseLineY, e = s.getLogSeries( e), this.yRatio = s.getLogYRatios(this.yRatio); for (var l = [], c = 0; c < e.length; c++) { e = this.lineHelpers.sameValueSeriesFix(c, e); var u = i.globals.comboCharts ? n[c] : c; this._initSerieVariables(e, c, u); var d = [], h = [], f = i.globals.padHorizontal + this.categoryAxisCorrection; this.ctx.series.addCollapsedClassToSeries(this.elSeries, u), i.globals.isXNumeric && i.globals.seriesX.length > 0 && (f = (i.globals.seriesX[u][0] - i.globals.minX) / this.xRatio), h.push(f); var p, m = f, g = m, y = this.zeroY; y = this.lineHelpers.determineFirstPrevY({ i: c, series: e, prevY: y, lineYPosition: 0, }).prevY, d.push(y), p = y; var b = this._calculatePathsFrom({ series: e, i: c, realIndex: u, prevX: g, prevY: y, }), _ = this._iterateOverDataPoints({ series: e, realIndex: u, i: c, x: f, y: 1, pX: m, pY: p, pathsFrom: b, linePaths: [], areaPaths: [], seriesIndex: n, lineYPosition: 0, xArrj: h, yArrj: d, }); this._handlePaths({ type: r, realIndex: u, i: c, paths: _, }), this.elSeries.add( this.elPointsMain), this.elSeries.add( this.elDataLabelsWrap), l.push(this.elSeries); } if (i.config.chart.stacked) for (var w = l.length; w > 0; w--) o.add(l[w - 1]); else for (var k = 0; k < l.length; k++) o.add(l[k]); return o; }, }, { key: '_initSerieVariables', value: function (e, t, n) { var i = this.w, a = new v(this.ctx); this.xDivision = i.globals.gridWidth / (i.globals.dataPoints - ('on' === i.config.xaxis.tickPlacement ? 1 : 0)), this.strokeWidth = Array.isArray( i.config.stroke.width) ? i.config.stroke.width[n] : i.config.stroke.width, this.yRatio.length > 1 && (this.yaxisIndex = n), this.isReversed = i.config.yaxis[this.yaxisIndex] && i.config.yaxis[this.yaxisIndex].reversed, this.zeroY = i.globals.gridHeight - this.baseLineY[this.yaxisIndex] - (this.isReversed ? i.globals.gridHeight : 0) + (this.isReversed ? 2 * this.baseLineY[this.yaxisIndex] : 0), this.areaBottomY = this.zeroY, (this.zeroY > i.globals.gridHeight || 'end' === i.config.plotOptions.area.fillTo) && (this.areaBottomY = i.globals.gridHeight), this.categoryAxisCorrection = this.xDivision / 2, this.elSeries = a.group({ class: 'apexcharts-series', seriesName: p.escapeString(i.globals.seriesNames[n]), }), this.elPointsMain = a.group({ class: 'apexcharts-series-markers-wrap', 'data:realIndex': n, }), this.elDataLabelsWrap = a.group({ class: 'apexcharts-datalabels', 'data:realIndex': n, }); var r = e[t].length === i.globals.dataPoints; this.elSeries.attr({ 'data:longestSeries': r, rel: t + 1, 'data:realIndex': n, }), this.appendPathFrom = !0; }, }, { key: '_calculatePathsFrom', value: function (e) { var t, n, i, a, r = e.series, o = e.i, s = e.realIndex, l = e.prevX, c = e.prevY, u = this.w, d = new v(this.ctx); if (null === r[o][0]) { for (var h = 0; h < r[o].length; h++) if (null !== r[o][h]) { l = this.xDivision * h, c = this.zeroY - r[o][h] / this.yRatio[this.yaxisIndex], t = d.move(l, c), n = d.move(l, this.areaBottomY); break; } } else t = d.move(l, c), n = d.move(l, this.areaBottomY) + d.line(l, c); if (i = d.move(-1, this.zeroY) + d.line(-1, this.zeroY), a = d.move(-1, this.zeroY) + d.line(-1, this.zeroY), u.globals.previousPaths.length > 0) { var f = this.lineHelpers.checkPreviousPaths( { pathFromLine: i, pathFromArea: a, realIndex: s }); i = f.pathFromLine, a = f.pathFromArea; } return { prevX: l, prevY: c, linePath: t, areaPath: n, pathFromLine: i, pathFromArea: a, }; }, }, { key: '_handlePaths', value: function (e) { var t = e.type, n = e.realIndex, i = e.i, a = e.paths, r = this.w, s = new v(this.ctx), l = new S(this.ctx); this.prevSeriesY.push( a.yArrj), r.globals.seriesXvalues[n] = a.xArrj, r.globals.seriesYvalues[n] = a.yArrj, this.pointsChart || r.globals.delayedElements.push( { el: this.elPointsMain.node, index: n }); var c = { i: i, realIndex: n, animationDelay: i, initialSpeed: r.config.chart.animations.speed, dataChangeSpeed: r.config.chart.animations.dynamicAnimation.speed, className: 'apexcharts-'.concat(t), }; if ('area' === t) for (var u = l.fillPath( { seriesNumber: n }), d = 0; d < a.areaPaths.length; d++) { var h = s.renderPaths(o(o({}, c), {}, { pathFrom: a.pathFromArea, pathTo: a.areaPaths[d], stroke: 'none', strokeWidth: 0, strokeLineCap: null, fill: u, })); this.elSeries.add(h); } if (r.config.stroke.show && !this.pointsChart) { var f; f = 'line' === t ? l.fillPath({ seriesNumber: n, i: i }) : r.globals.stroke.colors[n]; for (var p = 0; p < a.linePaths.length; p++) { var m = s.renderPaths(o(o({}, c), {}, { pathFrom: a.pathFromLine, pathTo: a.linePaths[p], stroke: f, strokeWidth: this.strokeWidth, strokeLineCap: r.config.stroke.lineCap, fill: 'none', })); this.elSeries.add(m); } } }, }, { key: '_iterateOverDataPoints', value: function (e) { for (var t = e.series, n = e.realIndex, i = e.i, a = e.x, r = e.y, o = e.pX, s = e.pY, l = e.pathsFrom, c = e.linePaths, u = e.areaPaths, d = e.seriesIndex, h = e.lineYPosition, f = e.xArrj, m = e.yArrj, g = this.w, y = new v( this.ctx), b = this.yRatio, x = l.prevY, _ = l.linePath, w = l.areaPath, k = l.pathFromLine, M = l.pathFromArea, L = p.isNumber( g.globals.minYArr[n]) ? g.globals.minYArr[n] : g.globals.minY, S = g.globals.dataPoints > 1 ? g.globals.dataPoints - 1 : g.globals.dataPoints, T = 0; T < S; T++) { var A = void 0 === t[i][T + 1] || null === t[i][T + 1]; if (g.globals.isXNumeric) { var D = g.globals.seriesX[n][T + 1]; void 0 === g.globals.seriesX[n][T + 1] && (D = g.globals.seriesX[n][S - 1]), a = (D - g.globals.minX) / this.xRatio; } else a += this.xDivision; h = g.config.chart.stacked && i > 0 && g.globals.collapsedSeries.length < g.config.series.length - 1 ? this.prevSeriesY[function (e) { for (var t = e, n = 0; n < g.globals.series.length; n++) if (g.globals.collapsedSeriesIndices.indexOf( e) > -1) { t--; break; } return t >= 0 ? t : 0; }(i - 1)][T + 1] : this.zeroY, r = A ? h - L / b[this.yaxisIndex] + 2 * (this.isReversed ? L / b[this.yaxisIndex] : 0) : h - t[i][T + 1] / b[this.yaxisIndex] + 2 * (this.isReversed ? t[i][T + 1] / b[this.yaxisIndex] : 0), f.push(a), m.push(r); var C = this.lineHelpers.calculatePoints({ series: t, x: a, y: r, realIndex: n, i: i, j: T, prevY: x, }), E = this._createPaths({ series: t, i: i, realIndex: n, j: T, x: a, y: r, pX: o, pY: s, linePath: _, areaPath: w, linePaths: c, areaPaths: u, seriesIndex: d, }); u = E.areaPaths, c = E.linePaths, o = E.pX, s = E.pY, w = E.areaPath, _ = E.linePath, this.appendPathFrom && (k += y.line(a, this.zeroY), M += y.line(a, this.zeroY)), this.handleNullDataPoints(t, C, i, T, n), this._handleMarkersAndLabels({ pointsPos: C, series: t, x: a, y: r, prevY: x, i: i, j: T, realIndex: n, }); } return { yArrj: m, xArrj: f, pathFromArea: M, areaPaths: u, pathFromLine: k, linePaths: c, }; }, }, { key: '_handleMarkersAndLabels', value: function (e) { var t = e.pointsPos, n = (e.series, e.x, e.y, e.prevY, e.i), i = e.j, a = e.realIndex, r = this.w, o = new D(this.ctx); if (this.pointsChart) this.scatter.draw(this.elSeries, i, { realIndex: a, pointsPos: t, zRatio: this.zRatio, elParent: this.elPointsMain, }); else { r.globals.series[n].length > 1 && this.elPointsMain.node.classList.add( 'apexcharts-element-hidden'); var s = this.markers.plotChartMarkers(t, a, i + 1); null !== s && this.elPointsMain.add(s); } var l = o.drawDataLabel(t, a, i + 1, null); null !== l && this.elDataLabelsWrap.add(l); }, }, { key: '_createPaths', value: function (e) { var t = e.series, n = e.i, i = e.realIndex, a = e.j, r = e.x, o = e.y, s = e.pX, l = e.pY, c = e.linePath, u = e.areaPath, d = e.linePaths, h = e.areaPaths, f = e.seriesIndex, p = this.w, m = new v(this.ctx), g = p.config.stroke.curve, y = this.areaBottomY; if (Array.isArray(p.config.stroke.curve) && (g = Array.isArray(f) ? p.config.stroke.curve[f[n]] : p.config.stroke.curve[n]), 'smooth' === g) { var b = .35 * (r - s); p.globals.hasNullValues ? (null !== t[n][a] && (null !== t[n][a + 1] ? (c = m.move(s, l) + m.curve(s + b, l, r - b, o, r + 1, o), u = m.move( s + 1, l) + m.curve(s + b, l, r - b, o, r + 1, o) + m.line(r, y) + m.line(s, y) + 'z') : (c = m.move(s, l), u = m.move(s, l) + 'z')), d.push(c), h.push(u)) : (c += m.curve(s + b, l, r - b, o, r, o), u += m.curve(s + b, l, r - b, o, r, o)), s = r, l = o, a === t[n].length - 2 && (u = u + m.curve(s, l, r, o, r, y) + m.move(r, o) + 'z', p.globals.hasNullValues || (d.push(c), h.push(u))); } else { if (null === t[n][a + 1]) { c += m.move(r, o); var x = p.globals.isXNumeric ? (p.globals.seriesX[i][a] - p.globals.minX) / this.xRatio : r - this.xDivision; u = u + m.line(x, y) + m.move(r, o) + 'z'; } null === t[n][a] && (c += m.move(r, o), u += m.move(r, y)), 'stepline' === g ? (c = c + m.line(r, null, 'H') + m.line(null, o, 'V'), u = u + m.line(r, null, 'H') + m.line(null, o, 'V')) : 'straight' === g && (c += m.line(r, o), u += m.line(r, o)), a === t[n].length - 2 && (u = u + m.line(r, y) + m.move(r, o) + 'z', d.push( c), h.push(u)); } return { linePaths: d, areaPaths: h, pX: s, pY: l, linePath: c, areaPath: u, }; }, }, { key: 'handleNullDataPoints', value: function (e, t, n, i, a) { var r = this.w; if (null === e[n][i] && r.config.markers.showNullDataPoints || 1 === e[n].length) { var o = this.markers.plotChartMarkers(t, a, i + 1, this.strokeWidth - r.config.markers.strokeWidth / 2, !0); null !== o && this.elPointsMain.add(o); } }, }]), e; }(); window.TreemapSquared = {}, window.TreemapSquared.generate = function () { function e ( t, n, i, a) { this.xoffset = t, this.yoffset = n, this.height = a, this.width = i, this.shortestEdge = function () { return Math.min(this.height, this.width); }, this.getCoordinates = function (e) { var t, n = [], i = this.xoffset, a = this.yoffset, o = r(e) / this.height, s = r(e) / this.width; if (this.width >= this.height) for (t = 0; t < e.length; t++) n.push([i, a, i + o, a + e[t] / o]), a += e[t] / o; else for (t = 0; t < e.length; t++) n.push( [i, a, i + e[t] / s, a + s]), i += e[t] / s; return n; }, this.cutArea = function (t) { var n; if (this.width >= this.height) { var i = t / this.height, a = this.width - i; n = new e(this.xoffset + i, this.yoffset, a, this.height); } else { var r = t / this.width, o = this.height - r; n = new e(this.xoffset, this.yoffset + r, this.width, o); } return n; }; } function t (t, i, a, o, s) { return o = void 0 === o ? 0 : o, s = void 0 === s ? 0 : s, function (e) { var t, n, i = []; for (t = 0; t < e.length; t++) for (n = 0; n < e[t].length; n++) i.push(e[t][n]); return i; }(n(function (e, t) { var n, i = [], a = t / r(e); for (n = 0; n < e.length; n++) i[n] = e[n] * a; return i; }(t, i * a), [], new e(o, s, i, a), [])); } function n (e, t, a, o) { var s, l, c; if (0 !== e.length) return s = a.shortestEdge(), function ( e, t, n) { var a; return 0 === e.length || ((a = e.slice()).push(t), i(e, n) >= i(a, n)); }(t, l = e[0], s) ? (t.push(l), n(e.slice(1), t, a, o)) : (c = a.cutArea(r(t), o), o.push(a.getCoordinates(t)), n(e, [], c, o)), o; o.push(a.getCoordinates(t)); } function i (e, t) { var n = Math.min.apply(Math, e), i = Math.max.apply(Math, e), a = r(e); return Math.max(Math.pow(t, 2) * i / Math.pow(a, 2), Math.pow(a, 2) / (Math.pow(t, 2) * n)); } function a (e) {return e && e.constructor === Array;} function r (e) { var t, n = 0; for (t = 0; t < e.length; t++) n += e[t]; return n; } function o (e) { var t, n = 0; if (a(e[0])) for (t = 0; t < e.length; t++) n += o( e[t]); else n = r(e); return n; } return function e (n, i, r, s, l) { s = void 0 === s ? 0 : s, l = void 0 === l ? 0 : l; var c, u, d = [], h = []; if (a(n[0])) { for (u = 0; u < n.length; u++) d[u] = o(n[u]); for (c = t(d, i, r, s, l), u = 0; u < n.length; u++) h.push( e(n[u], c[u][2] - c[u][0], c[u][3] - c[u][1], c[u][0], c[u][1])); } else h = t(n, i, r, s, l); return h; }; }(); var Ae, De, Ce = function () { function e (n, i) { t(this, e), this.ctx = n, this.w = n.w, this.strokeWidth = this.w.config.stroke.width, this.helpers = new xe( n), this.dynamicAnim = this.w.config.chart.animations.dynamicAnimation, this.labels = []; } return i(e, [ { key: 'draw', value: function (e) { var t = this, n = this.w, i = new v(this.ctx), a = new S(this.ctx), r = i.group({ class: 'apexcharts-treemap' }); if (n.globals.noData) return r; var o = []; return e.forEach((function (e) { var t = e.map((function (e) {return Math.abs(e);})); o.push(t); })), this.negRange = this.helpers.checkColorRange(), n.config.series.forEach( (function (e, n) { e.data.forEach((function (e) { Array.isArray(t.labels[n]) || (t.labels[n] = []), t.labels[n].push(e.x); })); })), window.TreemapSquared.generate(o, n.globals.gridWidth, n.globals.gridHeight). forEach((function (o, s) { var l = i.group({ class: 'apexcharts-series apexcharts-treemap-series', seriesName: p.escapeString( n.globals.seriesNames[s]), rel: s + 1, 'data:realIndex': s, }); if (n.config.chart.dropShadow.enabled) { var c = n.config.chart.dropShadow; new m(t.ctx).dropShadow(r, c, s); } var u = i.group( { class: 'apexcharts-data-labels' }); o.forEach((function (r, o) { var c = r[0], u = r[1], d = r[2], h = r[3], f = i.drawRect(c, u, d - c, h - u, 0, '#fff', 1, t.strokeWidth, n.config.plotOptions.treemap.useFillColorAsStroke ? m : n.globals.stroke.colors[s]); f.attr({ cx: c, cy: u, index: s, i: s, j: o, width: d - c, height: h - u, }); var p = t.helpers.getShadeColor( n.config.chart.type, s, o, t.negRange), m = p.color; void 0 !== n.config.series[s].data[o] && n.config.series[s].data[o].fillColor && (m = n.config.series[s].data[o].fillColor); var g = a.fillPath({ color: m, seriesNumber: s, dataPointIndex: o, }); f.node.classList.add( 'apexcharts-treemap-rect'), f.attr( { fill: g }), t.helpers.addListeners(f); var v = { x: c + (d - c) / 2, y: u + (h - u) / 2, width: 0, height: 0, }, y = { x: c, y: u, width: d - c, height: h - u, }; if (n.config.chart.animations.enabled && !n.globals.dataChanged) { var b = 1; n.globals.resized || (b = n.config.chart.animations.speed), t.animateTreemap( f, v, y, b); } if (n.globals.dataChanged) { var x = 1; t.dynamicAnim.enabled && n.globals.shouldAnimate && (x = t.dynamicAnim.speed, n.globals.previousPaths[s][o] && n.globals.previousPaths[s][o].rect && (v = n.globals.previousPaths[s][o].rect), t.animateTreemap( f, v, y, x)); } var _ = t.getFontSize(r), w = n.config.dataLabels.formatter( t.labels[s][o], { value: n.globals.series[s][o], seriesIndex: s, dataPointIndex: o, w: n, }), k = t.helpers.calculateDataLabels({ text: w, x: (c + d) / 2, y: (u + h) / 2 + t.strokeWidth / 2 + _ / 3, i: s, j: o, colorProps: p, fontSize: _, series: e, }); n.config.dataLabels.enabled && k && t.rotateToFitLabel(k, w, c, u, d, h), l.add( f), null !== k && l.add(k); })), l.add(u), r.add(l); })), r; }, }, { key: 'getFontSize', value: function (e) { var t, n, i = this.w, a = function e (t) { var n, i = 0; if (Array.isArray(t[0])) for (n = 0; n < t.length; n++) i += e(t[n]); else for (n = 0; n < t.length; n++) i += t[n].length; return i; }(this.labels) / function e (t) { var n, i = 0; if (Array.isArray(t[0])) for (n = 0; n < t.length; n++) i += e(t[n]); else for (n = 0; n < t.length; n++) i += 1; return i; }(this.labels); return t = (e[2] - e[0]) * (e[3] - e[1]), n = Math.pow(t, .5), Math.min(n / a, parseInt(i.config.dataLabels.style.fontSize, 10)); }, }, { key: 'rotateToFitLabel', value: function (e, t, n, i, a, r) { var o = new v(this.ctx), s = o.getTextRects(t); if (s.width + 5 > a - n && s.width <= r - i) { var l = o.rotateAroundCenter(e.node); e.node.setAttribute('transform', 'rotate(-90 '.concat(l.x, ' ').concat(l.y, ')')); } }, }, { key: 'animateTreemap', value: function (e, t, n, i) { var a = new g(this.ctx); a.animateRect(e, { x: t.x, y: t.y, width: t.width, height: t.height }, { x: n.x, y: n.y, width: n.width, height: n.height }, i, (function () {a.animationCompleted(e);})); }, }]), e; }(), Ee = function () { function e (n) { t(this, e), this.ctx = n, this.w = n.w, this.timeScaleArray = [], this.utc = this.w.config.xaxis.labels.datetimeUTC; } return i(e, [ { key: 'calculateTimeScaleTicks', value: function (e, t) { var n = this, i = this.w; if (i.globals.allSeriesCollapsed) return i.globals.labels = [], i.globals.timescaleLabels = [], []; var a = new P(this.ctx), r = (t - e) / 864e5; this.determineInterval( r), i.globals.disableZoomIn = !1, i.globals.disableZoomOut = !1, r < .005 ? i.globals.disableZoomIn = !0 : r > 5e4 && (i.globals.disableZoomOut = !0); var s = a.getTimeUnitsfromTimestamp(e, t, this.utc), l = i.globals.gridWidth / r, c = l / 24, u = c / 60, d = u / 60, h = Math.floor(24 * r), f = Math.floor(24 * r * 60), p = Math.floor(24 * r * 60 * 60), m = Math.floor(r), g = Math.floor(r / 30), v = Math.floor(r / 365), y = { minSecond: s.minSecond, minMinute: s.minMinute, minHour: s.minHour, minDate: s.minDate, minMonth: s.minMonth, minYear: s.minYear, }, b = { firstVal: y, currentSecond: y.minSecond, currentMinute: y.minMinute, currentHour: y.minHour, currentMonthDate: y.minDate, currentDate: y.minDate, currentMonth: y.minMonth, currentYear: y.minYear, daysWidthOnXAxis: l, hoursWidthOnXAxis: c, minutesWidthOnXAxis: u, secondsWidthOnXAxis: d, numberOfSeconds: p, numberOfMinutes: f, numberOfHours: h, numberOfDays: m, numberOfMonths: g, numberOfYears: v, }; switch (this.tickInterval) { case'years': this.generateYearScale(b); break; case'months': case'half_year': this.generateMonthScale(b); break; case'months_days': case'months_fortnight': case'days': case'week_days': this.generateDayScale(b); break; case'hours': this.generateHourScale(b); break; case'minutes': this.generateMinuteScale(b); } var x = this.timeScaleArray.map((function (e) { var t = { position: e.position, unit: e.unit, year: e.year, day: e.day ? e.day : 1, hour: e.hour ? e.hour : 0, month: e.month + 1, }; return 'month' === e.unit ? o(o({}, t), {}, { day: 1, value: e.value + 1 }) : 'day' === e.unit || 'hour' === e.unit ? o(o({}, t), {}, { value: e.value }) : 'minute' === e.unit ? o(o({}, t), {}, { value: e.value, minute: e.value }) : e; })); return x.filter((function (e) { var t = 1, a = Math.ceil(i.globals.gridWidth / 120), r = e.value; void 0 !== i.config.xaxis.tickAmount && (a = i.config.xaxis.tickAmount), x.length > a && (t = Math.floor(x.length / a)); var o = !1, s = !1; switch (n.tickInterval) { case'years': 'year' === e.unit && (o = !0); break; case'half_year': t = 7, 'year' === e.unit && (o = !0); break; case'months': t = 1, 'year' === e.unit && (o = !0); break; case'months_fortnight': t = 15, 'year' !== e.unit && 'month' !== e.unit || (o = !0), 30 === r && (s = !0); break; case'months_days': t = 10, 'month' === e.unit && (o = !0), 30 === r && (s = !0); break; case'week_days': t = 8, 'month' === e.unit && (o = !0); break; case'days': t = 1, 'month' === e.unit && (o = !0); break; case'hours': 'day' === e.unit && (o = !0); break; case'minutes': r % 5 != 0 && (s = !0); } if ('minutes' === n.tickInterval || 'hours' === n.tickInterval) {if (!s) return !0;} else if ((r % t == 0 || o) && !s) return !0; })); }, }, { key: 'recalcDimensionsBasedOnFormat', value: function (e, t) { var n = this.w, i = this.formatDates(e), a = this.removeOverlappingTS(i); n.globals.timescaleLabels = a.slice(), new oe( this.ctx).plotCoords(); }, }, { key: 'determineInterval', value: function (e) { switch (!0) { case e > 1825: this.tickInterval = 'years'; break; case e > 800 && e <= 1825: this.tickInterval = 'half_year'; break; case e > 180 && e <= 800: this.tickInterval = 'months'; break; case e > 90 && e <= 180: this.tickInterval = 'months_fortnight'; break; case e > 60 && e <= 90: this.tickInterval = 'months_days'; break; case e > 30 && e <= 60: this.tickInterval = 'week_days'; break; case e > 2 && e <= 30: this.tickInterval = 'days'; break; case e > .1 && e <= 2: this.tickInterval = 'hours'; break; case e < .1: this.tickInterval = 'minutes'; break; default: this.tickInterval = 'days'; } }, }, { key: 'generateYearScale', value: function (e) { var t = e.firstVal, n = e.currentMonth, i = e.currentYear, a = e.daysWidthOnXAxis, r = e.numberOfYears, o = t.minYear, s = 0, l = new P(this.ctx), c = 'year'; if (t.minDate > 1 || t.minMonth > 0) { var u = l.determineRemainingDaysOfYear(t.minYear, t.minMonth, t.minDate); s = (l.determineDaysOfYear(t.minYear) - u + 1) * a, o = t.minYear + 1, this.timeScaleArray.push({ position: s, value: o, unit: c, year: o, month: p.monthMod(n + 1), }); } else 1 === t.minDate && 0 === t.minMonth && this.timeScaleArray.push({ position: s, value: o, unit: c, year: i, month: p.monthMod(n + 1), }); for (var d = o, h = s, f = 0; f < r; f++) d++, h = l.determineDaysOfYear(d - 1) * a + h, this.timeScaleArray.push( { position: h, value: d, unit: c, year: d, month: 1 }); }, }, { key: 'generateMonthScale', value: function (e) { var t = e.firstVal, n = e.currentMonthDate, i = e.currentMonth, a = e.currentYear, r = e.daysWidthOnXAxis, o = e.numberOfMonths, s = i, l = 0, c = new P(this.ctx), u = 'month', d = 0; if (t.minDate > 1) { l = (c.determineDaysOfMonths(i + 1, t.minYear) - n + 1) * r, s = p.monthMod(i + 1); var h = a + d, f = p.monthMod(s), m = s; 0 === s && (u = 'year', m = h, f = 1, h += d += 1), this.timeScaleArray.push( { position: l, value: m, unit: u, year: h, month: f, }); } else this.timeScaleArray.push({ position: l, value: s, unit: u, year: a, month: p.monthMod(i), }); for (var g = s + 1, v = l, y = 0, b = 1; y < o; y++, b++) { 0 === (g = p.monthMod(g)) ? (u = 'year', d += 1) : u = 'month'; var x = this._getYear(a, g, d); v = c.determineDaysOfMonths(g, x) * r + v; var _ = 0 === g ? x : g; this.timeScaleArray.push({ position: v, value: _, unit: u, year: x, month: 0 === g ? 1 : g, }), g++; } }, }, { key: 'generateDayScale', value: function (e) { var t = e.firstVal, n = e.currentMonth, i = e.currentYear, a = e.hoursWidthOnXAxis, r = e.numberOfDays, o = new P(this.ctx), s = 'day', l = t.minDate + 1, c = l, u = function (e, t, n) { return e > o.determineDaysOfMonths(t + 1, n) ? (c = 1, s = 'month', h = t += 1, t) : t; }, d = (24 - t.minHour) * a, h = l, f = u(c, n, i); 0 === t.minHour && 1 === t.minDate && (d = 0, h = p.monthMod( t.minMonth), s = 'month', c = t.minDate, r++), this.timeScaleArray.push( { position: d, value: h, unit: s, year: this._getYear(i, f, 0), month: p.monthMod(f), day: c, }); for (var m = d, g = 0; g < r; g++) { s = 'day', f = u(c += 1, f, this._getYear(i, f, 0)); var v = this._getYear(i, f, 0); m = 24 * a + m; var y = 1 === c ? p.monthMod(f) : c; this.timeScaleArray.push({ position: m, value: y, unit: s, year: v, month: p.monthMod(f), day: y, }); } }, }, { key: 'generateHourScale', value: function (e) { var t = e.firstVal, n = e.currentDate, i = e.currentMonth, a = e.currentYear, r = e.minutesWidthOnXAxis, o = e.numberOfHours, s = new P(this.ctx), l = 'hour', c = function (e, t) { return e > s.determineDaysOfMonths(t + 1, a) && (g = 1, t += 1), { month: t, date: g }; }, u = function (e, t) { return e > s.determineDaysOfMonths(t + 1, a) ? t += 1 : t; }, d = 60 - (t.minMinute + t.minSecond / 60), h = d * r, f = t.minHour + 1, m = f + 1; 60 === d && (h = 0, m = (f = t.minHour) + 1); var g = n, v = u(g, i); this.timeScaleArray.push({ position: h, value: f, unit: l, day: g, hour: m, year: a, month: p.monthMod(v), }); for (var y = h, b = 0; b < o; b++) { l = 'hour', m >= 24 && (m = 0, l = 'day', v = c(g += 1, v).month, v = u(g, v)); var x = this._getYear(a, v, 0); y = 0 === m && 0 === b ? d * r : 60 * r + y; var _ = 0 === m ? g : m; this.timeScaleArray.push({ position: y, value: _, unit: l, hour: m, day: g, year: x, month: p.monthMod(v), }), m++; } }, }, { key: 'generateMinuteScale', value: function (e) { var t = e.firstVal, n = (e.currentSecond, e.currentMinute, e.currentHour), i = e.currentDate, a = e.currentMonth, r = e.currentYear, o = e.minutesWidthOnXAxis, s = e.secondsWidthOnXAxis, l = e.numberOfMinutes, c = 'minute', u = (60 - t.minSecond) * s, d = t.minMinute + 1, h = d + 1, f = i, m = a, g = r, v = n; this.timeScaleArray.push({ position: u, value: d, unit: c, day: f, hour: v, minute: h, year: g, month: p.monthMod(m), }); for (var y = u, b = 0; b < l; b++) h >= 60 && (h = 0, 24 === (v += 1) && (v = 0)), y = o + y, this.timeScaleArray.push({ position: y, value: h, unit: c, hour: v, minute: h, day: f, year: this._getYear(r, m, 0), month: p.monthMod(m), }), h++; }, }, { key: 'createRawDateString', value: function (e, t) { var n = e.year; return n += '-' + ('0' + e.month.toString()).slice(-2), 'day' === e.unit ? n += 'day' === e.unit ? '-' + ('0' + t).slice(-2) : '-01' : n += '-' + ('0' + (e.day ? e.day : '1')).slice(-2), 'hour' === e.unit ? n += 'hour' === e.unit ? 'T' + ('0' + t).slice(-2) : 'T00' : n += 'T' + ('0' + (e.hour ? e.hour : '0')).slice( -2), n += 'minute' === e.unit ? ':' + ('0' + t).slice(-2) + ':00' : ':00:00', this.utc && (n += '.000Z'), n; }, }, { key: 'formatDates', value: function (e) { var t = this, n = this.w; return e.map((function (e) { var i = e.value.toString(), a = new P(t.ctx), r = t.createRawDateString(e, i), o = a.getDate(a.parseDate(r)); if (t.utc || (o = a.getDate(a.parseDateWithTimezone(r))), void 0 === n.config.xaxis.labels.format) { var s = 'dd MMM', l = n.config.xaxis.labels.datetimeFormatter; 'year' === e.unit && (s = l.year), 'month' === e.unit && (s = l.month), 'day' === e.unit && (s = l.day), 'hour' === e.unit && (s = l.hour), 'minute' === e.unit && (s = l.minute), i = a.formatDate(o, s); } else i = a.formatDate(o, n.config.xaxis.labels.format); return { dateString: r, position: e.position, value: i, unit: e.unit, year: e.year, month: e.month, }; })); }, }, { key: 'removeOverlappingTS', value: function (e) { var t, n = this, i = new v(this.ctx), a = !1; e.length > 0 && e[0].value && e.every((function (t) { return t.value.length === e[0].value.length; })) && (a = !0, t = i.getTextRects(e[0].value).width); var r = 0, o = e.map((function (o, s) { if (s > 0 && n.w.config.xaxis.labels.hideOverlappingLabels) { var l = a ? t : i.getTextRects(e[r].value).width, c = e[r].position; return o.position > c + l + 10 ? (r = s, o) : null; } return o; })); return o.filter((function (e) {return null !== e;})); }, }, { key: '_getYear', value: function (e, t, n) {return e + Math.floor(t / 12) + n;}, }]), e; }(), Oe = function () { function e (n, i) {t(this, e), this.ctx = i, this.w = i.w, this.el = n;} return i(e, [ { key: 'setupElements', value: function () { var e = this.w.globals, t = this.w.config, n = t.chart.type; e.axisCharts = [ 'line', 'area', 'bar', 'rangeBar', 'candlestick', 'scatter', 'bubble', 'radar', 'heatmap', 'treemap'].indexOf(n) > -1, e.xyCharts = [ 'line', 'area', 'bar', 'rangeBar', 'candlestick', 'scatter', 'bubble'].indexOf(n) > -1, e.isBarHorizontal = ('bar' === t.chart.type || 'rangeBar' === t.chart.type) && t.plotOptions.bar.horizontal, e.chartClass = '.apexcharts' + e.chartID, e.dom.baseEl = this.el, e.dom.elWrap = document.createElement( 'div'), v.setAttrs(e.dom.elWrap, { id: e.chartClass.substring(1), class: 'apexcharts-canvas ' + e.chartClass.substring(1), }), this.el.appendChild( e.dom.elWrap), e.dom.Paper = new window.SVG.Doc( e.dom.elWrap), e.dom.Paper.attr({ class: 'apexcharts-svg', 'xmlns:data': 'ApexChartsNS', transform: 'translate('.concat(t.chart.offsetX, ', '). concat(t.chart.offsetY, ')'), }), e.dom.Paper.node.style.background = t.chart.background, this.setSVGDimensions(), e.dom.elGraphical = e.dom.Paper.group(). attr( { class: 'apexcharts-inner apexcharts-graphical' }), e.dom.elAnnotations = e.dom.Paper.group(). attr( { class: 'apexcharts-annotations' }), e.dom.elDefs = e.dom.Paper.defs(), e.dom.elLegendWrap = document.createElement( 'div'), e.dom.elLegendWrap.classList.add( 'apexcharts-legend'), e.dom.elWrap.appendChild( e.dom.elLegendWrap), e.dom.Paper.add( e.dom.elGraphical), e.dom.elGraphical.add(e.dom.elDefs); }, }, { key: 'plotChartType', value: function (e, t) { var n = this.w, i = n.config, a = n.globals, r = { series: [], i: [] }, o = { series: [], i: [] }, s = { series: [], i: [] }, l = { series: [], i: [] }, c = { series: [], i: [] }, u = { series: [], i: [] }; a.series.map((function (t, d) { void 0 !== e[d].type ? ('column' === e[d].type || 'bar' === e[d].type ? (a.series.length > 1 && i.plotOptions.bar.horizontal && console.warn( 'Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`'), c.series.push( t), c.i.push( d), n.globals.columnSeries = c.series) : 'area' === e[d].type ? (o.series.push( t), o.i.push(d)) : 'line' === e[d].type ? (r.series.push(t), r.i.push(d)) : 'scatter' === e[d].type ? (s.series.push( t), s.i.push(d)) : 'bubble' === e[d].type ? (l.series.push(t), l.i.push(d)) : 'candlestick' === e[d].type ? (u.series.push(t), u.i.push(d)) : console.warn( 'You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble'), a.comboCharts = !0) : (r.series.push(t), r.i.push(d)); })); var d = new Te(this.ctx, t), h = new be(this.ctx, t); this.ctx.pie = new ke(this.ctx); var f = new Le(this.ctx); this.ctx.rangeBar = new I(this.ctx, t); var p = new Me(this.ctx), m = []; if (a.comboCharts) { if (o.series.length > 0 && m.push(d.draw(o.series, 'area', o.i)), c.series.length > 0) if (n.config.chart.stacked) { var g = new ye(this.ctx, t); m.push(g.draw(c.series, c.i)); } else { var v = new Y(this.ctx, t); m.push(v.draw(c.series, c.i)); } if (r.series.length > 0 && m.push(d.draw(r.series, 'line', r.i)), u.series.length > 0 && m.push(h.draw(u.series, u.i)), s.series.length > 0) { var y = new Te(this.ctx, t, !0); m.push(y.draw(s.series, 'scatter', s.i)); } if (l.series.length > 0) { var b = new Te(this.ctx, t, !0); m.push(b.draw(l.series, 'bubble', l.i)); } } else switch (i.chart.type) { case'line': m = d.draw(a.series, 'line'); break; case'area': m = d.draw(a.series, 'area'); break; case'bar': m = i.chart.stacked ? new ye(this.ctx, t).draw( a.series) : new Y(this.ctx, t).draw(a.series); break; case'candlestick': m = new be(this.ctx, t).draw(a.series); break; case'rangeBar': m = this.ctx.rangeBar.draw(a.series); break; case'heatmap': m = new _e(this.ctx, t).draw(a.series); break; case'treemap': m = new Ce(this.ctx, t).draw(a.series); break; case'pie': case'donut': case'polarArea': m = this.ctx.pie.draw(a.series); break; case'radialBar': m = f.draw(a.series); break; case'radar': m = p.draw(a.series); break; default: m = d.draw(a.series); } return m; }, }, { key: 'setSVGDimensions', value: function () { var e = this.w.globals, t = this.w.config; e.svgWidth = t.chart.width, e.svgHeight = t.chart.height; var n = p.getDimensions(this.el), i = t.chart.width.toString().split(/[0-9]+/g).pop(); '%' === i ? p.isNumber(n[0]) && (0 === n[0].width && (n = p.getDimensions( this.el.parentNode)), e.svgWidth = n[0] * parseInt(t.chart.width, 10) / 100) : 'px' !== i && '' !== i || (e.svgWidth = parseInt(t.chart.width, 10)); var a = t.chart.height.toString().split(/[0-9]+/g).pop(); if ('auto' !== e.svgHeight && '' !== e.svgHeight) if ('%' === a) { var r = p.getDimensions(this.el.parentNode); e.svgHeight = r[1] * parseInt(t.chart.height, 10) / 100; } else e.svgHeight = parseInt(t.chart.height, 10); else e.axisCharts ? e.svgHeight = e.svgWidth / 1.61 : e.svgHeight = e.svgWidth / 1.2; if (e.svgWidth < 0 && (e.svgWidth = 0), e.svgHeight < 0 && (e.svgHeight = 0), v.setAttrs(e.dom.Paper.node, { width: e.svgWidth, height: e.svgHeight }), '%' !== a) { var o = t.chart.sparkline.enabled ? 0 : e.axisCharts ? t.chart.parentHeightOffset : 0; e.dom.Paper.node.parentNode.parentNode.style.minHeight = e.svgHeight + o + 'px'; } e.dom.elWrap.style.width = e.svgWidth + 'px', e.dom.elWrap.style.height = e.svgHeight + 'px'; }, }, { key: 'shiftGraphPosition', value: function () { var e = this.w.globals, t = e.translateY, n = { transform: 'translate(' + e.translateX + ', ' + t + ')', }; v.setAttrs(e.dom.elGraphical.node, n); }, }, { key: 'resizeNonAxisCharts', value: function () { var e = this.w, t = e.globals, n = 0, i = e.config.chart.sparkline.enabled ? 1 : 15; i += e.config.grid.padding.bottom, 'top' !== e.config.legend.position && 'bottom' !== e.config.legend.position || !e.config.legend.show || e.config.legend.floating || (n = new le(this.ctx).legendHelpers.getLegendBBox().clwh + 10); var a = e.globals.dom.baseEl.querySelector( '.apexcharts-radialbar, .apexcharts-pie'), r = 2.05 * e.globals.radialSize; if (a && !e.config.chart.sparkline.enabled) { var o = p.getBoundingClientRect(a); r = o.bottom; var s = o.bottom - o.top; r = Math.max(2.05 * e.globals.radialSize, s); } var l = r + t.translateY + n + i; t.dom.elLegendForeign && t.dom.elLegendForeign.setAttribute('height', l), t.dom.elWrap.style.height = l + 'px', v.setAttrs( t.dom.Paper.node, { height: l }), t.dom.Paper.node.parentNode.parentNode.style.minHeight = l + 'px'; }, }, { key: 'coreCalculations', value: function () {new X(this.ctx).init();}, }, { key: 'resetGlobals', value: function () { var e = this, t = function () { return e.w.config.series.map( (function (e) {return [];})); }, n = new H, i = this.w.globals; n.initGlobalVars( i), i.seriesXvalues = t(), i.seriesYvalues = t(); }, }, { key: 'isMultipleY', value: function () { if (this.w.config.yaxis.constructor === Array && this.w.config.yaxis.length > 1) return this.w.globals.isMultipleYAxis = !0, !0; }, }, { key: 'xySettings', value: function () { var e = null, t = this.w; if (t.globals.axisCharts) { if ('back' === t.config.xaxis.crosshairs.position && new J(this.ctx).drawXCrosshairs(), 'back' === t.config.yaxis[0].crosshairs.position && new J(this.ctx).drawYCrosshairs(), 'datetime' === t.config.xaxis.type && void 0 === t.config.xaxis.labels.formatter) { this.ctx.timeScale = new Ee(this.ctx); var n = []; isFinite(t.globals.minX) && isFinite(t.globals.maxX) && !t.globals.isBarHorizontal ? n = this.ctx.timeScale.calculateTimeScaleTicks( t.globals.minX, t.globals.maxX) : t.globals.isBarHorizontal && (n = this.ctx.timeScale.calculateTimeScaleTicks( t.globals.minY, t.globals.maxY)), this.ctx.timeScale.recalcDimensionsBasedOnFormat( n); } e = new x(this.ctx).getCalculatedRatios(); } return e; }, }, { key: 'updateSourceChart', value: function (e) { this.ctx.w.globals.selection = void 0, this.ctx.updateHelpers._updateOptions( { chart: { selection: { xaxis: { min: e.w.globals.minX, max: e.w.globals.maxX, }, }, }, }, !1, !1); }, }, { key: 'setupBrushHandler', value: function () { var e = this, t = this.w; if (t.config.chart.brush.enabled && 'function' != typeof t.config.chart.events.selection) { var n = t.config.chart.brush.targets || [t.config.chart.brush.target]; n.forEach((function (t) { var n = ApexCharts.getChartByID(t); n.w.globals.brushSource = e.ctx, 'function' != typeof n.w.config.chart.events.zoomed && (n.w.config.chart.events.zoomed = function () { e.updateSourceChart(n); }), 'function' != typeof n.w.config.chart.events.scrolled && (n.w.config.chart.events.scrolled = function () { e.updateSourceChart(n); }); })), t.config.chart.events.selection = function ( e, i) { n.forEach((function (e) { var n = ApexCharts.getChartByID(e), a = p.clone(t.config.yaxis); if (t.config.chart.brush.autoScaleYaxis && 1 === n.w.globals.series.length) { var r = new U(n); a = r.autoScaleY(n, a, i); } var s = n.w.config.yaxis.reduce( (function (e, t, i) { return [].concat(h(e), [ o(o({}, n.w.config.yaxis[i]), {}, { min: a[0].min, max: a[0].max, })]); }), []); n.ctx.updateHelpers._updateOptions({ xaxis: { min: i.xaxis.min, max: i.xaxis.max, }, yaxis: s, }, !1, !1, !1, !1); })); }; } }, }]), e; }(), Ye = function () { function n (e) {t(this, n), this.ctx = e, this.w = e.w;} return i(n, [ { key: '_updateOptions', value: function (t) { var n = this, i = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], a = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], r = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3], o = arguments.length > 4 && void 0 !== arguments[4] && arguments[4], s = [this.ctx]; r && (s = this.ctx.getSyncedCharts()), this.ctx.w.globals.isExecCalled && (s = [this.ctx], this.ctx.w.globals.isExecCalled = !1), s.forEach( (function (r) { var s = r.w; return s.globals.shouldAnimate = a, i || (s.globals.resized = !0, s.globals.dataChanged = !0, a && r.series.getPreviousPaths()), t && 'object' === e(t) && (r.config = new N(t), t = x.extendArrayProps( r.config, t, s), r.w.globals.chartID !== n.ctx.w.globals.chartID && delete t.series, s.config = p.extend(s.config, t), o && (s.globals.lastXAxis = t.xaxis ? p.clone(t.xaxis) : [], s.globals.lastYAxis = t.yaxis ? p.clone(t.yaxis) : [], s.globals.initialConfig = p.extend({}, s.config), s.globals.initialSeries = p.clone( s.config.series))), r.update(t); })); }, }, { key: '_updateSeries', value: function (e, t) { var n, i = this, a = arguments.length > 2 && void 0 !== arguments[2] && arguments[2], r = this.w; return r.globals.shouldAnimate = t, r.globals.dataChanged = !0, t && this.ctx.series.getPreviousPaths(), r.globals.axisCharts ? (0 === (n = e.map((function (e, t) { return i._extendSeries(e, t); }))).length && (n = [{ data: [] }]), r.config.series = n) : r.config.series = e.slice(), a && (r.globals.initialSeries = p.clone( r.config.series)), this.ctx.update(); }, }, { key: '_extendSeries', value: function (e, t) { var n = this.w, i = n.config.series[t]; return o(o({}, n.config.series[t]), {}, { name: e.name ? e.name : i && i.name, color: e.color ? e.color : i && i.color, type: e.type ? e.type : i && i.type, data: e.data ? e.data : i && i.data, }); }, }, { key: 'toggleDataPointSelection', value: function (e, t) { var n = this.w, i = null, a = '.apexcharts-series[data\\:realIndex=\''.concat(e, '\']'); return n.globals.axisCharts ? i = n.globals.dom.Paper.select( ''.concat(a, ' path[j=\''). concat(t, '\'], '). concat(a, ' circle[j=\''). concat(t, '\'], '). concat(a, ' rect[j=\''). concat(t, '\']')).members[0] : void 0 === t && (i = n.globals.dom.Paper.select( ''.concat(a, ' path[j=\''). concat(e, '\']')).members[0], 'pie' !== n.config.chart.type && 'polarArea' !== n.config.chart.type && 'donut' !== n.config.chart.type || this.ctx.pie.pieClicked(e)), i ? (new v( this.ctx).pathMouseDown(i, null), i.node ? i.node : null) : (console.warn( 'toggleDataPointSelection: Element not found'), null); }, }, { key: 'forceXAxisUpdate', value: function (e) { var t = this.w; if (['min', 'max'].forEach((function (n) { void 0 !== e.xaxis[n] && (t.config.xaxis[n] = e.xaxis[n], t.globals.lastXAxis[n] = e.xaxis[n]); })), e.xaxis.categories && e.xaxis.categories.length && (t.config.xaxis.categories = e.xaxis.categories), t.config.xaxis.convertedCatToNumeric) { var n = new j(e); e = n.convertCatToNumericXaxis(e, this.ctx); } return e; }, }, { key: 'forceYAxisUpdate', value: function (e) { var t = this.w; return t.config.chart.stacked && '100%' === t.config.chart.stackType && (Array.isArray(e.yaxis) ? e.yaxis.forEach((function ( t, n) {e.yaxis[n].min = 0, e.yaxis[n].max = 100;})) : (e.yaxis.min = 0, e.yaxis.max = 100)), e; }, }, { key: 'revertDefaultAxisMinMax', value: function (e) { var t = this, n = this.w, i = n.globals.lastXAxis, a = n.globals.lastYAxis; e && e.xaxis && (i = e.xaxis), e && e.yaxis && (a = e.yaxis), n.config.xaxis.min = i.min, n.config.xaxis.max = i.max; n.config.yaxis.map((function (e, i) { n.globals.zoomed || void 0 !== a[i] ? function (e) { void 0 !== a[e] && (n.config.yaxis[e].min = a[e].min, n.config.yaxis[e].max = a[e].max); }(i) : void 0 !== t.ctx.opts.yaxis[i] && (e.min = t.ctx.opts.yaxis[i].min, e.max = t.ctx.opts.yaxis[i].max); })); }, }]), n; }(); Ae = 'undefined' != typeof window ? window : void 0, De = function (t, n) { var i = (void 0 !== this ? this : t).SVG = function (e) { if (i.supported) return e = new i.Doc(e), i.parser.draw || i.prepare(), e; }; if (i.ns = 'http://www.w3.org/2000/svg', i.xmlns = 'http://www.w3.org/2000/xmlns/', i.xlink = 'http://www.w3.org/1999/xlink', i.svgjs = 'http://svgjs.com/svgjs', i.supported = !0, !i.supported) return !1; i.did = 1e3, i.eid = function (e) { return 'Svgjs' + d(e) + i.did++; }, i.create = function (e) { var t = n.createElementNS(this.ns, e); return t.setAttribute('id', this.eid(e)), t; }, i.extend = function () { var e, t; t = (e = [].slice.call(arguments)).pop(); for (var n = e.length - 1; n >= 0; n--) if (e[n]) for (var a in t) e[n].prototype[a] = t[a]; i.Set && i.Set.inherit && i.Set.inherit(); }, i.invent = function (e) { var t = 'function' == typeof e.create ? e.create : function () { this.constructor.call(this, i.create(e.create)); }; return e.inherit && (t.prototype = new e.inherit), e.extend && i.extend(t, e.extend), e.construct && i.extend(e.parent || i.Container, e.construct), t; }, i.adopt = function (e) { return e ? e.instance ? e.instance : ((n = 'svg' == e.nodeName ? e.parentNode instanceof t.SVGElement ? new i.Nested : new i.Doc : 'linearGradient' == e.nodeName ? new i.Gradient('linear') : 'radialGradient' == e.nodeName ? new i.Gradient('radial') : i[d(e.nodeName)] ? new (i[d(e.nodeName)]) : new i.Element( e)).type = e.nodeName, n.node = e, e.instance = n, n instanceof i.Doc && n.namespace().defs(), n.setData( JSON.parse(e.getAttribute('svgjs:data')) || {}), n) : null; var n; }, i.prepare = function () { var e = n.getElementsByTagName('body')[0], t = (e ? new i.Doc(e) : i.adopt(n.documentElement). nested()).size(2, 0); i.parser = { body: e || n.documentElement, draw: t.style( 'opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden').node, poly: t.polyline().node, path: t.path().node, native: i.create('svg'), }; }, i.parser = { native: i.create('svg') }, n.addEventListener( 'DOMContentLoaded', (function () {i.parser.draw || i.prepare();}), !1), i.regex = { numberAndUnit: /^([+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?)([a-z%]*)$/i, hex: /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i, rgb: /rgb\((\d+),(\d+),(\d+)\)/, reference: /#([a-z0-9\-_]+)/i, transforms: /\)\s*,?\s*/, whitespace: /\s/g, isHex: /^#[a-f0-9]{3,6}$/i, isRgb: /^rgb\(/, isCss: /[^:]+:[^;]+;?/, isBlank: /^(\s+)?$/, isNumber: /^[+-]?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i, isPercent: /^-?[\d\.]+%$/, isImage: /\.(jpg|jpeg|png|gif|svg)(\?[^=]+.*)?/i, delimiter: /[\s,]+/, hyphen: /([^e])\-/gi, pathLetters: /[MLHVCSQTAZ]/gi, isPathLetter: /[MLHVCSQTAZ]/i, numbersWithDots: /((\d?\.\d+(?:e[+-]?\d+)?)((?:\.\d+(?:e[+-]?\d+)?)+))+/gi, dots: /\./g, }, i.utils = { map: function ( e, t) { for (var n = e.length, i = [], a = 0; a < n; a++) i.push( t(e[a])); return i; }, filter: function (e, t) { for (var n = e.length, i = [], a = 0; a < n; a++) t(e[a]) && i.push(e[a]); return i; }, filterSVGElements: function (e) { return this.filter(e, (function (e) {return e instanceof t.SVGElement;})); }, }, i.defaults = { attrs: { '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', 'font-size': 16, 'font-family': 'Helvetica, Arial, sans-serif', 'text-anchor': 'start', }, }, i.Color = function (t) { var n, a; this.r = 0, this.g = 0, this.b = 0, t && ('string' == typeof t ? i.regex.isRgb.test(t) ? (n = i.regex.rgb.exec( t.replace(i.regex.whitespace, '')), this.r = parseInt( n[1]), this.g = parseInt(n[2]), this.b = parseInt(n[3])) : i.regex.isHex.test(t) && (n = i.regex.hex.exec( 4 == (a = t).length ? [ '#', a.substring(1, 2), a.substring(1, 2), a.substring(2, 3), a.substring(2, 3), a.substring(3, 4), a.substring(3, 4)].join('') : a), this.r = parseInt( n[1], 16), this.g = parseInt(n[2], 16), this.b = parseInt( n[3], 16)) : 'object' === e(t) && (this.r = t.r, this.g = t.g, this.b = t.b)); }, i.extend(i.Color, { toString: function () {return this.toHex();}, toHex: function () { return '#' + h(this.r) + h(this.g) + h(this.b); }, toRgb: function () { return 'rgb(' + [this.r, this.g, this.b].join() + ')'; }, brightness: function () { return this.r / 255 * .3 + this.g / 255 * .59 + this.b / 255 * .11; }, morph: function (e) { return this.destination = new i.Color(e), this; }, at: function (e) { return this.destination ? (e = e < 0 ? 0 : e > 1 ? 1 : e, new i.Color({ r: ~~(this.r + (this.destination.r - this.r) * e), g: ~~(this.g + (this.destination.g - this.g) * e), b: ~~(this.b + (this.destination.b - this.b) * e), })) : this; }, }), i.Color.test = function (e) { return e += '', i.regex.isHex.test(e) || i.regex.isRgb.test(e); }, i.Color.isRgb = function (e) { return e && 'number' == typeof e.r && 'number' == typeof e.g && 'number' == typeof e.b; }, i.Color.isColor = function (e) { return i.Color.isRgb(e) || i.Color.test(e); }, i.Array = function (e, t) { 0 == (e = (e || []).valueOf()).length && t && (e = t.valueOf()), this.value = this.parse(e); }, i.extend(i.Array, { toString: function () {return this.value.join(' ');}, valueOf: function () {return this.value;}, parse: function (e) { return e = e.valueOf(), Array.isArray(e) ? e : this.split(e); }, }), i.PointArray = function (e, t) { i.Array.call(this, e, t || [[0, 0]]); }, i.PointArray.prototype = new i.Array, i.PointArray.prototype.constructor = i.PointArray; for (var a = { M: function ( e, t, n) { return t.x = n.x = e[0], t.y = n.y = e[1], [ 'M', t.x, t.y]; }, L: function (e, t) { return t.x = e[0], t.y = e[1], [ 'L', e[0], e[1]]; }, H: function (e, t) {return t.x = e[0], ['H', e[0]];}, V: function (e, t) {return t.y = e[0], ['V', e[0]];}, C: function (e, t) { return t.x = e[4], t.y = e[5], [ 'C', e[0], e[1], e[2], e[3], e[4], e[5]]; }, Q: function (e, t) { return t.x = e[2], t.y = e[3], [ 'Q', e[0], e[1], e[2], e[3]]; }, Z: function (e, t, n) {return t.x = n.x, t.y = n.y, ['Z'];}, }, r = 'mlhvqtcsaz'.split(''), o = 0, s = r.length; o < s; ++o) a[r[o]] = function (e) { return function ( t, n, i) { if ('H' == e) t[0] = t[0] + n.x; else if ('V' == e) t[0] = t[0] + n.y; else if ('A' == e) t[5] = t[5] + n.x, t[6] = t[6] + n.y; else for (var r = 0, o = t.length; r < o; ++r) t[r] = t[r] + (r % 2 ? n.y : n.x); return a[e](t, n, i); }; }(r[o].toUpperCase()); i.PathArray = function (e, t) { i.Array.call(this, e, t || [['M', 0, 0]]); }, i.PathArray.prototype = new i.Array, i.PathArray.prototype.constructor = i.PathArray, i.extend( i.PathArray, { toString: function () { return function (e) { for (var t = 0, n = e.length, i = ''; t < n; t++) i += e[t][0], null != e[t][1] && (i += e[t][1], null != e[t][2] && (i += ' ', i += e[t][2], null != e[t][3] && (i += ' ', i += e[t][3], i += ' ', i += e[t][4], null != e[t][5] && (i += ' ', i += e[t][5], i += ' ', i += e[t][6], null != e[t][7] && (i += ' ', i += e[t][7]))))); return i + ' '; }(this.value); }, move: function (e, t) { var n = this.bbox(); return n.x, n.y, this; }, at: function (e) { if (!this.destination) return this; for (var t = this.value, n = this.destination.value, a = [], r = new i.PathArray, o = 0, s = t.length; o < s; o++) { a[o] = [t[o][0]]; for (var l = 1, c = t[o].length; l < c; l++) a[o][l] = t[o][l] + (n[o][l] - t[o][l]) * e; 'A' === a[o][0] && (a[o][4] = +(0 != a[o][4]), a[o][5] = +(0 != a[o][5])); } return r.value = a, r; }, parse: function (e) { if (e instanceof i.PathArray) return e.valueOf(); var t, n = { M: 2, L: 2, H: 1, V: 1, C: 6, S: 4, Q: 4, T: 2, A: 7, Z: 0, }; e = 'string' == typeof e ? e.replace( i.regex.numbersWithDots, c). replace(i.regex.pathLetters, ' $& '). replace(i.regex.hyphen, '$1 -'). trim(). split(i.regex.delimiter) : e.reduce( (function (e, t) {return [].concat.call(e, t);}), []); var r = [], o = new i.Point, s = new i.Point, l = 0, u = e.length; do { i.regex.isPathLetter.test(e[l]) ? (t = e[l], ++l) : 'M' == t ? t = 'L' : 'm' == t && (t = 'l'), r.push(a[t].call(null, e.slice(l, l += n[t.toUpperCase()]).map(parseFloat), o, s)); } while (u > l); return r; }, bbox: function () { return i.parser.draw || i.prepare(), i.parser.path.setAttribute('d', this.toString()), i.parser.path.getBBox(); }, }), i.Number = i.invent({ create: function (e, t) { this.value = 0, this.unit = t || '', 'number' == typeof e ? this.value = isNaN(e) ? 0 : isFinite(e) ? e : e < 0 ? -34e37 : 34e37 : 'string' == typeof e ? (t = e.match(i.regex.numberAndUnit)) && (this.value = parseFloat(t[1]), '%' == t[5] ? this.value /= 100 : 's' == t[5] && (this.value *= 1e3), this.unit = t[5]) : e instanceof i.Number && (this.value = e.valueOf(), this.unit = e.unit); }, extend: { toString: function () { return ('%' == this.unit ? ~~(1e8 * this.value) / 1e6 : 's' == this.unit ? this.value / 1e3 : this.value) + this.unit; }, toJSON: function () {return this.toString();}, valueOf: function () {return this.value;}, plus: function (e) { return e = new i.Number(e), new i.Number(this + e, this.unit || e.unit); }, minus: function (e) { return e = new i.Number(e), new i.Number(this - e, this.unit || e.unit); }, times: function (e) { return e = new i.Number(e), new i.Number(this * e, this.unit || e.unit); }, divide: function (e) { return e = new i.Number(e), new i.Number(this / e, this.unit || e.unit); }, to: function (e) { var t = new i.Number(this); return 'string' == typeof e && (t.unit = e), t; }, morph: function (e) { return this.destination = new i.Number(e), e.relative && (this.destination.value += this.value), this; }, at: function (e) { return this.destination ? new i.Number( this.destination).minus(this).times(e).plus(this) : this; }, }, }), i.Element = i.invent({ create: function (e) { this._stroke = i.defaults.attrs.stroke, this._event = null, this.dom = {}, (this.node = e) && (this.type = e.nodeName, this.node.instance = this, this._stroke = e.getAttribute( 'stroke') || this._stroke); }, extend: { x: function (e) {return this.attr('x', e);}, y: function (e) {return this.attr('y', e);}, cx: function (e) { return null == e ? this.x() + this.width() / 2 : this.x(e - this.width() / 2); }, cy: function (e) { return null == e ? this.y() + this.height() / 2 : this.y( e - this.height() / 2); }, move: function (e, t) {return this.x(e).y(t);}, center: function (e, t) {return this.cx(e).cy(t);}, width: function (e) {return this.attr('width', e);}, height: function (e) {return this.attr('height', e);}, size: function (e, t) { var n = f(this, e, t); return this.width(new i.Number(n.width)). height(new i.Number(n.height)); }, clone: function (e) { this.writeDataToDom(); var t = g(this.node.cloneNode(!0)); return e ? e.add(t) : this.after(t), t; }, remove: function () { return this.parent() && this.parent().removeElement(this), this; }, replace: function (e) {return this.after(e).remove(), e;}, addTo: function (e) {return e.put(this);}, putIn: function (e) {return e.add(this);}, id: function (e) {return this.attr('id', e);}, show: function () {return this.style('display', '');}, hide: function () {return this.style('display', 'none');}, visible: function () {return 'none' != this.style('display');}, toString: function () {return this.attr('id');}, classes: function () { var e = this.attr('class'); return null == e ? [] : e.trim().split(i.regex.delimiter); }, hasClass: function (e) { return -1 != this.classes().indexOf(e); }, addClass: function (e) { if (!this.hasClass(e)) { var t = this.classes(); t.push(e), this.attr('class', t.join(' ')); } return this; }, removeClass: function (e) { return this.hasClass(e) && this.attr('class', this.classes(). filter((function (t) {return t != e;})). join(' ')), this; }, toggleClass: function (e) { return this.hasClass(e) ? this.removeClass(e) : this.addClass(e); }, reference: function (e) {return i.get(this.attr(e));}, parent: function (e) { var n = this; if (!n.node.parentNode) return null; if (n = i.adopt(n.node.parentNode), !e) return n; for (; n && n.node instanceof t.SVGElement;) { if ('string' == typeof e ? n.matches(e) : n instanceof e) return n; if (!n.node.parentNode || '#document' == n.node.parentNode.nodeName) return null; n = i.adopt(n.node.parentNode); } }, doc: function () { return this instanceof i.Doc ? this : this.parent(i.Doc); }, parents: function (e) { var t = [], n = this; do { if (!(n = n.parent(e)) || !n.node) break; t.push(n); } while (n.parent); return t; }, matches: function (e) { return function (e, t) { return (e.matches || e.matchesSelector || e.msMatchesSelector || e.mozMatchesSelector || e.webkitMatchesSelector || e.oMatchesSelector).call( e, t); }(this.node, e); }, native: function () {return this.node;}, svg: function (e) { var t = n.createElement('svg'); if (!(e && this instanceof i.Parent)) return t.appendChild( e = n.createElement( 'svg')), this.writeDataToDom(), e.appendChild( this.node.cloneNode(!0)), t.innerHTML.replace(/^<svg>/, '').replace(/<\/svg>$/, ''); t.innerHTML = '<svg>' + e.replace(/\n/, ''). replace(/<([\w:-]+)([^<]+?)\/>/g, '<$1$2></$1>') + '</svg>'; for (var a = 0, r = t.firstChild.childNodes.length; a < r; a++) this.node.appendChild(t.firstChild.firstChild); return this; }, writeDataToDom: function () { return (this.each || this.lines) && (this.each ? this : this.lines()).each( (function () {this.writeDataToDom();})), this.node.removeAttribute( 'svgjs:data'), Object.keys(this.dom).length && this.node.setAttribute('svgjs:data', JSON.stringify(this.dom)), this; }, setData: function (e) {return this.dom = e, this;}, is: function (e) { return function (e, t) { return e instanceof t; }(this, e); }, }, }), i.easing = { '-': function (e) {return e;}, '<>': function (e) {return -Math.cos(e * Math.PI) / 2 + .5;}, '>': function (e) {return Math.sin(e * Math.PI / 2);}, '<': function (e) {return 1 - Math.cos(e * Math.PI / 2);}, }, i.morph = function (e) { return function ( t, n) { return new i.MorphObj(t, n).at(e); }; }, i.Situation = i.invent({ create: function (e) { this.init = !1, this.reversed = !1, this.reversing = !1, this.duration = new i.Number( e.duration).valueOf(), this.delay = new i.Number( e.delay).valueOf(), this.start = +new Date + this.delay, this.finish = this.start + this.duration, this.ease = e.ease, this.loop = 0, this.loops = !1, this.animations = {}, this.attrs = {}, this.styles = {}, this.transforms = [], this.once = {}; }, }), i.FX = i.invent({ create: function (e) {this._target = e, this.situations = [], this.active = !1, this.situation = null, this.paused = !1, this.lastPos = 0, this.pos = 0, this.absPos = 0, this._speed = 1;}, extend: { animate: function (t, n, a) { 'object' === e(t) && (n = t.ease, a = t.delay, t = t.duration); var r = new i.Situation({ duration: t || 1e3, delay: a || 0, ease: i.easing[n || '-'] || n, }); return this.queue(r), this; }, target: function (e) { return e && e instanceof i.Element ? (this._target = e, this) : this._target; }, timeToAbsPos: function (e) { return (e - this.situation.start) / (this.situation.duration / this._speed); }, absPosToTime: function (e) { return this.situation.duration / this._speed * e + this.situation.start; }, startAnimFrame: function () { this.stopAnimFrame(), this.animationFrame = t.requestAnimationFrame( function () {this.step();}.bind(this)); }, stopAnimFrame: function () { t.cancelAnimationFrame(this.animationFrame); }, start: function () { return !this.active && this.situation && (this.active = !0, this.startCurrent()), this; }, startCurrent: function () { return this.situation.start = +new Date + this.situation.delay / this._speed, this.situation.finish = this.situation.start + this.situation.duration / this._speed, this.initAnimations().step(); }, queue: function (e) { return ('function' == typeof e || e instanceof i.Situation) && this.situations.push(e), this.situation || (this.situation = this.situations.shift()), this; }, dequeue: function () { return this.stop(), this.situation = this.situations.shift(), this.situation && (this.situation instanceof i.Situation ? this.start() : this.situation.call(this)), this; }, initAnimations: function () { var e, t = this.situation; if (t.init) return this; for (var n in t.animations) { e = this.target()[n](), Array.isArray(e) || (e = [e]), Array.isArray(t.animations[n]) || (t.animations[n] = [t.animations[n]]); for (var a = e.length; a--;) t.animations[n][a] instanceof i.Number && (e[a] = new i.Number( e[a])), t.animations[n][a] = e[a].morph( t.animations[n][a]); } for (var n in t.attrs) t.attrs[n] = new i.MorphObj( this.target().attr(n), t.attrs[n]); for (var n in t.styles) t.styles[n] = new i.MorphObj( this.target().style(n), t.styles[n]); return t.initialTransformation = this.target(). matrixify(), t.init = !0, this; }, clearQueue: function () {return this.situations = [], this;}, clearCurrent: function () {return this.situation = null, this;}, stop: function (e, t) { var n = this.active; return this.active = !1, t && this.clearQueue(), e && this.situation && (!n && this.startCurrent(), this.atEnd()), this.stopAnimFrame(), this.clearCurrent(); }, after: function (e) { var t = this.last(); return this.target(). on('finished.fx', (function n (i) { i.detail.situation == t && (e.call(this, t), this.off('finished.fx', n)); })), this._callStart(); }, during: function (e) { var t = this.last(), n = function (n) { n.detail.situation == t && e.call(this, n.detail.pos, i.morph(n.detail.pos), n.detail.eased, t); }; return this.target(). off('during.fx', n). on('during.fx', n), this.after((function () { this.off('during.fx', n); })), this._callStart(); }, afterAll: function (e) { var t = function t (n) { e.call(this), this.off('allfinished.fx', t); }; return this.target(). off('allfinished.fx', t). on('allfinished.fx', t), this._callStart(); }, last: function () { return this.situations.length ? this.situations[this.situations.length - 1] : this.situation; }, add: function (e, t, n) { return this.last()[n || 'animations'][e] = t, this._callStart(); }, step: function (e) { var t, n, i; e || (this.absPos = this.timeToAbsPos(+new Date)), !1 !== this.situation.loops ? (t = Math.max(this.absPos, 0), n = Math.floor( t), !0 === this.situation.loops || n < this.situation.loops ? (this.pos = t - n, i = this.situation.loop, this.situation.loop = n) : (this.absPos = this.situation.loops, this.pos = 1, i = this.situation.loop - 1, this.situation.loop = this.situation.loops), this.situation.reversing && (this.situation.reversed = this.situation.reversed != Boolean((this.situation.loop - i) % 2))) : (this.absPos = Math.min(this.absPos, 1), this.pos = this.absPos), this.pos < 0 && (this.pos = 0), this.situation.reversed && (this.pos = 1 - this.pos); var a = this.situation.ease(this.pos); for (var r in this.situation.once) r > this.lastPos && r <= a && (this.situation.once[r].call(this.target(), this.pos, a), delete this.situation.once[r]); return this.active && this.target(). fire('during', { pos: this.pos, eased: a, fx: this, situation: this.situation, }), this.situation ? (this.eachAt(), 1 == this.pos && !this.situation.reversed || this.situation.reversed && 0 == this.pos ? (this.stopAnimFrame(), this.target(). fire('finished', { fx: this, situation: this.situation, }), this.situations.length || (this.target(). fire('allfinished'), this.situations.length || (this.target().off('.fx'), this.active = !1)), this.active ? this.dequeue() : this.clearCurrent()) : !this.paused && this.active && this.startAnimFrame(), this.lastPos = a, this) : this; }, eachAt: function () { var e, t = this, n = this.target(), a = this.situation; for (var r in a.animations) e = [].concat(a.animations[r]). map((function (e) { return 'string' != typeof e && e.at ? e.at(a.ease(t.pos), t.pos) : e; })), n[r].apply(n, e); for (var r in a.attrs) e = [r].concat(a.attrs[r]). map((function (e) { return 'string' != typeof e && e.at ? e.at(a.ease(t.pos), t.pos) : e; })), n.attr.apply(n, e); for (var r in a.styles) e = [r].concat(a.styles[r]). map((function (e) { return 'string' != typeof e && e.at ? e.at(a.ease(t.pos), t.pos) : e; })), n.style.apply(n, e); if (a.transforms.length) { e = a.initialTransformation, r = 0; for (var o = a.transforms.length; r < o; r++) { var s = a.transforms[r]; s instanceof i.Matrix ? e = s.relative ? e.multiply((new i.Matrix).morph(s). at(a.ease(this.pos))) : e.morph(s).at(a.ease(this.pos)) : (s.relative || s.undo(e.extract()), e = e.multiply( s.at(a.ease(this.pos)))); } n.matrix(e); } return this; }, once: function (e, t, n) { var i = this.last(); return n || (e = i.ease(e)), i.once[e] = t, this; }, _callStart: function () { return setTimeout(function () {this.start();}.bind(this), 0), this; }, }, parent: i.Element, construct: { animate: function (e, t, n) { return (this.fx || (this.fx = new i.FX(this))).animate(e, t, n); }, delay: function (e) { return (this.fx || (this.fx = new i.FX(this))).delay(e); }, stop: function (e, t) { return this.fx && this.fx.stop(e, t), this; }, finish: function () {return this.fx && this.fx.finish(), this;}, }, }), i.MorphObj = i.invent({ create: function (e, t) { return i.Color.isColor(t) ? new i.Color(e).morph(t) : i.regex.delimiter.test(e) ? i.regex.pathLetters.test(e) ? new i.PathArray(e).morph(t) : new i.Array(e).morph(t) : i.regex.numberAndUnit.test( t) ? new i.Number(e).morph(t) : (this.value = e, void (this.destination = t)); }, extend: { at: function (e, t) { return t < 1 ? this.value : this.destination; }, valueOf: function () {return this.value;}, }, }), i.extend(i.FX, { attr: function (t, n, i) { if ('object' === e(t)) for (var a in t) this.attr(a, t[a]); else this.add(t, n, 'attrs'); return this; }, plot: function (e, t, n, i) { return 4 == arguments.length ? this.plot([e, t, n, i]) : this.add('plot', new (this.target().morphArray)(e)); }, }), i.Box = i.invent({ create: function (t, n, a, r) { if (!('object' !== e(t) || t instanceof i.Element)) return i.Box.call(this, null != t.left ? t.left : t.x, null != t.top ? t.top : t.y, t.width, t.height); 4 == arguments.length && (this.x = t, this.y = n, this.width = a, this.height = r), v( this); }, }), i.BBox = i.invent({ create: function (e) { if (i.Box.apply(this, [].slice.call(arguments)), e instanceof i.Element) { var t; try { if (!n.documentElement.contains) { for (var a = e.node; a.parentNode;) a = a.parentNode; if (a != n) throw new Error( 'Element not in the dom'); } t = e.node.getBBox(); } catch (n) { if (e instanceof i.Shape) { i.parser.draw || i.prepare(); var r = e.clone(i.parser.draw.instance).show(); t = r.node.getBBox(), r.remove(); } else t = { x: e.node.clientLeft, y: e.node.clientTop, width: e.node.clientWidth, height: e.node.clientHeight, }; } i.Box.call(this, t); } }, inherit: i.Box, parent: i.Element, construct: { bbox: function () {return new i.BBox(this);} }, }), i.BBox.prototype.constructor = i.BBox, i.Matrix = i.invent({ create: function (t) { var n = m([1, 0, 0, 1, 0, 0]); t = t instanceof i.Element ? t.matrixify() : 'string' == typeof t ? m(t.split(i.regex.delimiter).map(parseFloat)) : 6 == arguments.length ? m([].slice.call(arguments)) : Array.isArray( t) ? m(t) : 'object' === e(t) ? t : n; for (var a = b.length - 1; a >= 0; --a) this[b[a]] = null != t[b[a]] ? t[b[a]] : n[b[a]]; }, extend: { extract: function () { var e = p(this, 0, 1), t = (p(this, 1, 0), 180 / Math.PI * Math.atan2(e.y, e.x) - 90); return { x: this.e, y: this.f, transformedX: (this.e * Math.cos(t * Math.PI / 180) + this.f * Math.sin(t * Math.PI / 180)) / Math.sqrt(this.a * this.a + this.b * this.b), transformedY: (this.f * Math.cos(t * Math.PI / 180) + this.e * Math.sin(-t * Math.PI / 180)) / Math.sqrt(this.c * this.c + this.d * this.d), rotation: t, a: this.a, b: this.b, c: this.c, d: this.d, e: this.e, f: this.f, matrix: new i.Matrix(this), }; }, clone: function () {return new i.Matrix(this);}, morph: function (e) { return this.destination = new i.Matrix(e), this; }, multiply: function (e) { return new i.Matrix(this.native(). multiply(function (e) { return e instanceof i.Matrix || (e = new i.Matrix(e)), e; }(e).native())); }, inverse: function () { return new i.Matrix(this.native().inverse()); }, translate: function (e, t) { return new i.Matrix( this.native().translate(e || 0, t || 0)); }, native: function () { for (var e = i.parser.native.createSVGMatrix(), t = b.length - 1; t >= 0; t--) e[b[t]] = this[b[t]]; return e; }, toString: function () { return 'matrix(' + y(this.a) + ',' + y(this.b) + ',' + y(this.c) + ',' + y(this.d) + ',' + y(this.e) + ',' + y(this.f) + ')'; }, }, parent: i.Element, construct: { ctm: function () { return new i.Matrix(this.node.getCTM()); }, screenCTM: function () { if (this instanceof i.Nested) { var e = this.rect(1, 1), t = e.node.getScreenCTM(); return e.remove(), new i.Matrix(t); } return new i.Matrix(this.node.getScreenCTM()); }, }, }), i.Point = i.invent({ create: function (t, n) { var i; i = Array.isArray(t) ? { x: t[0], y: t[1] } : 'object' === e(t) ? { x: t.x, y: t.y } : null != t ? { x: t, y: null != n ? n : t } : { x: 0, y: 0, }, this.x = i.x, this.y = i.y; }, extend: { clone: function () {return new i.Point(this);}, morph: function (e, t) { return this.destination = new i.Point(e, t), this; }, }, }), i.extend(i.Element, { point: function (e, t) { return new i.Point(e, t).transform(this.screenCTM().inverse()); }, }), i.extend(i.Element, { attr: function (t, n, a) { if (null == t) { for (t = {}, a = (n = this.node.attributes).length - 1; a >= 0; a--) t[n[a].nodeName] = i.regex.isNumber.test( n[a].nodeValue) ? parseFloat(n[a].nodeValue) : n[a].nodeValue; return t; } if ('object' === e(t)) for (var r in t) this.attr(r, t[r]); else if (null === n) this.node.removeAttribute( t); else { if (null == n) return null == (n = this.node.getAttribute(t)) ? i.defaults.attrs[t] : i.regex.isNumber.test(n) ? parseFloat(n) : n; 'stroke-width' == t ? this.attr('stroke', parseFloat(n) > 0 ? this._stroke : null) : 'stroke' == t && (this._stroke = n), 'fill' != t && 'stroke' != t || (i.regex.isImage.test(n) && (n = this.doc().defs().image(n, 0, 0)), n instanceof i.Image && (n = this.doc(). defs(). pattern(0, 0, (function () {this.add(n);})))), 'number' == typeof n ? n = new i.Number(n) : i.Color.isColor(n) ? n = new i.Color(n) : Array.isArray(n) && (n = new i.Array(n)), 'leading' == t ? this.leading && this.leading(n) : 'string' == typeof a ? this.node.setAttributeNS(a, t, n.toString()) : this.node.setAttribute(t, n.toString()), !this.rebuild || 'font-size' != t && 'x' != t || this.rebuild(t, n); } return this; }, }), i.extend(i.Element, { transform: function (t, n) { var a; return 'object' !== e(t) ? (a = new i.Matrix(this).extract(), 'string' == typeof t ? a[t] : a) : (a = new i.Matrix(this), n = !!n || !!t.relative, null != t.a && (a = n ? a.multiply(new i.Matrix(t)) : new i.Matrix( t)), this.attr('transform', a)); }, }), i.extend(i.Element, { untransform: function () {return this.attr('transform', null);}, matrixify: function () { return (this.attr('transform') || '').split(i.regex.transforms). slice(0, -1). map((function (e) { var t = e.trim().split('('); return [ t[0], t[1].split(i.regex.delimiter). map((function (e) {return parseFloat(e);}))]; })). reduce((function (e, t) { return 'matrix' == t[0] ? e.multiply(m(t[1])) : e[t[0]].apply(e, t[1]); }), new i.Matrix); }, toParent: function (e) { if (this == e) return this; var t = this.screenCTM(), n = e.screenCTM().inverse(); return this.addTo(e). untransform(). transform(n.multiply(t)), this; }, toDoc: function () {return this.toParent(this.doc());}, }), i.Transformation = i.invent({ create: function (t, n) { if (arguments.length > 1 && 'boolean' != typeof n) return this.constructor.call(this, [].slice.call(arguments)); if (Array.isArray( t)) for (var i = 0, a = this.arguments.length; i < a; ++i) this[this.arguments[i]] = t[i]; else if ('object' === e(t)) for (i = 0, a = this.arguments.length; i < a; ++i) this[this.arguments[i]] = t[this.arguments[i]]; this.inversed = !1, !0 === n && (this.inversed = !0); }, }), i.Translate = i.invent({ parent: i.Matrix, inherit: i.Transformation, create: function (e, t) { this.constructor.apply(this, [].slice.call(arguments)); }, extend: { arguments: ['transformedX', 'transformedY'], method: 'translate', }, }), i.extend(i.Element, { style: function (t, n) { if (0 == arguments.length) return this.node.style.cssText || ''; if (arguments.length < 2) if ('object' === e(t)) for (var a in t) this.style(a, t[a]); else { if (!i.regex.isCss.test(t)) return this.node.style[u(t)]; for (t = t.split(/\s*;\s*/). filter((function (e) {return !!e;})). map((function (e) { return e.split(/\s*:\s*/); })); n = t.pop();) this.style(n[0], n[1]); } else this.node.style[u(t)] = null === n || i.regex.isBlank.test(n) ? '' : n; return this; }, }), i.Parent = i.invent({ create: function (e) {this.constructor.call(this, e);}, inherit: i.Element, extend: { children: function () { return i.utils.map( i.utils.filterSVGElements(this.node.childNodes), (function (e) {return i.adopt(e);})); }, add: function (e, t) { return null == t ? this.node.appendChild(e.node) : e.node != this.node.childNodes[t] && this.node.insertBefore(e.node, this.node.childNodes[t]), this; }, put: function (e, t) {return this.add(e, t), e;}, has: function (e) {return this.index(e) >= 0;}, index: function (e) { return [].slice.call(this.node.childNodes). indexOf(e.node); }, get: function (e) {return i.adopt(this.node.childNodes[e]);}, first: function () {return this.get(0);}, last: function () { return this.get(this.node.childNodes.length - 1); }, each: function (e, t) { for (var n = this.children(), a = 0, r = n.length; a < r; a++) n[a] instanceof i.Element && e.apply(n[a], [a, n]), t && n[a] instanceof i.Container && n[a].each(e, t); return this; }, removeElement: function (e) { return this.node.removeChild(e.node), this; }, clear: function () { for (; this.node.hasChildNodes();) this.node.removeChild( this.node.lastChild); return delete this._defs, this; }, defs: function () {return this.doc().defs();}, }, }), i.extend(i.Parent, { ungroup: function (e, t) { return 0 === t || this instanceof i.Defs || this.node == i.parser.draw || (e = e || (this instanceof i.Doc ? this : this.parent( i.Parent)), t = t || 1 / 0, this.each((function () { return this instanceof i.Defs ? this : this instanceof i.Parent ? this.ungroup(e, t - 1) : this.toParent(e); })), this.node.firstChild || this.remove()), this; }, flatten: function (e, t) {return this.ungroup(e, t);}, }), i.Container = i.invent({ create: function (e) {this.constructor.call(this, e);}, inherit: i.Parent, }), i.ViewBox = i.invent({ parent: i.Container, construct: {} }), [ 'click', 'dblclick', 'mousedown', 'mouseup', 'mouseover', 'mouseout', 'mousemove', 'touchstart', 'touchmove', 'touchleave', 'touchend', 'touchcancel'].forEach((function (e) { i.Element.prototype[e] = function (t) { return i.on(this.node, e, t), this; }; })), i.listeners = [], i.handlerMap = [], i.listenerId = 0, i.on = function ( e, t, n, a, r) { var o = n.bind(a || e.instance || e), s = (i.handlerMap.indexOf(e) + 1 || i.handlerMap.push(e)) - 1, l = t.split('.')[0], c = t.split('.')[1] || '*'; i.listeners[s] = i.listeners[s] || {}, i.listeners[s][l] = i.listeners[s][l] || {}, i.listeners[s][l][c] = i.listeners[s][l][c] || {}, n._svgjsListenerId || (n._svgjsListenerId = ++i.listenerId), i.listeners[s][l][c][n._svgjsListenerId] = o, e.addEventListener( l, o, r || { passive: !0 }); }, i.off = function (e, t, n) { var a = i.handlerMap.indexOf(e), r = t && t.split('.')[0], o = t && t.split('.')[1], s = ''; if (-1 != a) if (n) { if ('function' == typeof n && (n = n._svgjsListenerId), !n) return; i.listeners[a][r] && i.listeners[a][r][o || '*'] && (e.removeEventListener(r, i.listeners[a][r][o || '*'][n], !1), delete i.listeners[a][r][o || '*'][n]); } else if (o && r) { if (i.listeners[a][r] && i.listeners[a][r][o]) { for (var l in i.listeners[a][r][o]) i.off(e, [r, o].join('.'), l); delete i.listeners[a][r][o]; } } else if (o) for (var c in i.listeners[a]) for (var s in i.listeners[a][c]) o === s && i.off(e, [c, o].join('.')); else if (r) { if (i.listeners[a][r]) { for (var s in i.listeners[a][r]) i.off(e, [r, s].join('.')); delete i.listeners[a][r]; } } else { for (var c in i.listeners[a]) i.off(e, c); delete i.listeners[a], delete i.handlerMap[a]; } }, i.extend(i.Element, { on: function (e, t, n, a) { return i.on(this.node, e, t, n, a), this; }, off: function (e, t) {return i.off(this.node, e, t), this;}, fire: function (e, n) { return e instanceof t.Event ? this.node.dispatchEvent(e) : this.node.dispatchEvent(e = new i.CustomEvent(e, { detail: n, cancelable: !0 })), this._event = e, this; }, event: function () {return this._event;}, }), i.Defs = i.invent( { create: 'defs', inherit: i.Container }), i.G = i.invent({ create: 'g', inherit: i.Container, extend: { x: function (e) { return null == e ? this.transform('x') : this.transform({ x: e - this.x() }, !0); }, }, construct: { group: function () {return this.put(new i.G);} }, }), i.Doc = i.invent({ create: function (e) { e && ('svg' == (e = 'string' == typeof e ? n.getElementById(e) : e).nodeName ? this.constructor.call(this, e) : (this.constructor.call(this, i.create('svg')), e.appendChild(this.node), this.size( '100%', '100%')), this.namespace(). defs()); }, inherit: i.Container, extend: { namespace: function () { return this.attr({ xmlns: i.ns, version: '1.1' }). attr('xmlns:xlink', i.xlink, i.xmlns). attr('xmlns:svgjs', i.svgjs, i.xmlns); }, defs: function () { var e; return this._defs || ((e = this.node.getElementsByTagName('defs')[0]) ? this._defs = i.adopt(e) : this._defs = new i.Defs, this.node.appendChild( this._defs.node)), this._defs; }, parent: function () { return this.node.parentNode && '#document' != this.node.parentNode.nodeName ? this.node.parentNode : null; }, remove: function () { return this.parent() && this.parent().removeChild(this.node), this; }, clear: function () { for (; this.node.hasChildNodes();) this.node.removeChild( this.node.lastChild); return delete this._defs, i.parser.draw && !i.parser.draw.parentNode && this.node.appendChild(i.parser.draw), this; }, clone: function (e) { this.writeDataToDom(); var t = this.node, n = g(t.cloneNode(!0)); return e ? (e.node || e).appendChild(n.node) : t.parentNode.insertBefore(n.node, t.nextSibling), n; }, }, }), i.extend(i.Element, {}), i.Gradient = i.invent({ create: function (e) { this.constructor.call(this, i.create(e + 'Gradient')), this.type = e; }, inherit: i.Container, extend: { at: function (e, t, n) { return this.put(new i.Stop). update(e, t, n); }, update: function (e) { return this.clear(), 'function' == typeof e && e.call(this, this), this; }, fill: function () {return 'url(#' + this.id() + ')';}, toString: function () {return this.fill();}, attr: function (e, t, n) { return 'transform' == e && (e = 'gradientTransform'), i.Container.prototype.attr.call( this, e, t, n); }, }, construct: { gradient: function (e, t) { return this.defs(). gradient(e, t); }, }, }), i.extend(i.Gradient, i.FX, { from: function (e, t) { return 'radial' == (this._target || this).type ? this.attr( { fx: new i.Number(e), fy: new i.Number(t) }) : this.attr( { x1: new i.Number(e), y1: new i.Number(t) }); }, to: function (e, t) { return 'radial' == (this._target || this).type ? this.attr({ cx: new i.Number(e), cy: new i.Number(t) }) : this.attr({ x2: new i.Number(e), y2: new i.Number(t) }); }, }), i.extend(i.Defs, { gradient: function (e, t) { return this.put(new i.Gradient(e)). update(t); }, }), i.Stop = i.invent({ create: 'stop', inherit: i.Element, extend: { update: function (e) { return ('number' == typeof e || e instanceof i.Number) && (e = { offset: arguments[0], color: arguments[1], opacity: arguments[2], }), null != e.opacity && this.attr('stop-opacity', e.opacity), null != e.color && this.attr('stop-color', e.color), null != e.offset && this.attr('offset', new i.Number(e.offset)), this; }, }, }), i.Pattern = i.invent({ create: 'pattern', inherit: i.Container, extend: { fill: function () {return 'url(#' + this.id() + ')';}, update: function (e) { return this.clear(), 'function' == typeof e && e.call(this, this), this; }, toString: function () {return this.fill();}, attr: function (e, t, n) { return 'transform' == e && (e = 'patternTransform'), i.Container.prototype.attr.call( this, e, t, n); }, }, construct: { pattern: function (e, t, n) { return this.defs(). pattern(e, t, n); }, }, }), i.extend(i.Defs, { pattern: function (e, t, n) { return this.put(new i.Pattern). update(n). attr({ x: 0, y: 0, width: e, height: t, patternUnits: 'userSpaceOnUse', }); }, }), i.Shape = i.invent({ create: function (e) {this.constructor.call(this, e);}, inherit: i.Element, }), i.Symbol = i.invent({ create: 'symbol', inherit: i.Container, construct: { symbol: function () {return this.put(new i.Symbol);} }, }), i.Use = i.invent({ create: 'use', inherit: i.Shape, extend: { element: function (e, t) { return this.attr('href', (t || '') + '#' + e, i.xlink); }, }, construct: { use: function (e, t) { return this.put(new i.Use). element(e, t); }, }, }), i.Rect = i.invent({ create: 'rect', inherit: i.Shape, construct: { rect: function (e, t) { return this.put(new i.Rect). size(e, t); }, }, }), i.Circle = i.invent({ create: 'circle', inherit: i.Shape, construct: { circle: function (e) { return this.put(new i.Circle). rx(new i.Number(e).divide(2)). move(0, 0); }, }, }), i.extend(i.Circle, i.FX, { rx: function (e) {return this.attr('r', e);}, ry: function (e) {return this.rx(e);}, }), i.Ellipse = i.invent({ create: 'ellipse', inherit: i.Shape, construct: { ellipse: function (e, t) { return this.put(new i.Ellipse).size(e, t).move(0, 0); }, }, }), i.extend(i.Ellipse, i.Rect, i.FX, { rx: function (e) {return this.attr('rx', e);}, ry: function (e) {return this.attr('ry', e);}, }), i.extend(i.Circle, i.Ellipse, { x: function (e) { return null == e ? this.cx() - this.rx() : this.cx(e + this.rx()); }, y: function (e) { return null == e ? this.cy() - this.ry() : this.cy( e + this.ry()); }, cx: function (e) { return null == e ? this.attr('cx') : this.attr('cx', e); }, cy: function (e) { return null == e ? this.attr('cy') : this.attr('cy', e); }, width: function (e) { return null == e ? 2 * this.rx() : this.rx( new i.Number(e).divide(2)); }, height: function (e) { return null == e ? 2 * this.ry() : this.ry( new i.Number(e).divide(2)); }, size: function (e, t) { var n = f(this, e, t); return this.rx(new i.Number(n.width).divide(2)). ry(new i.Number(n.height).divide(2)); }, }), i.Line = i.invent({ create: 'line', inherit: i.Shape, extend: { array: function () { return new i.PointArray([ [this.attr('x1'), this.attr('y1')], [this.attr('x2'), this.attr('y2')]]); }, plot: function (e, t, n, a) { return null == e ? this.array() : (e = void 0 !== t ? { x1: e, y1: t, x2: n, y2: a } : new i.PointArray(e).toLine(), this.attr(e)); }, move: function (e, t) { return this.attr(this.array().move(e, t).toLine()); }, size: function (e, t) { var n = f(this, e, t); return this.attr( this.array().size(n.width, n.height).toLine()); }, }, construct: { line: function (e, t, n, a) { return i.Line.prototype.plot.apply(this.put(new i.Line), null != e ? [e, t, n, a] : [0, 0, 0, 0]); }, }, }), i.Polyline = i.invent({ create: 'polyline', inherit: i.Shape, construct: { polyline: function (e) { return this.put(new i.Polyline).plot(e || new i.PointArray); }, }, }), i.Polygon = i.invent({ create: 'polygon', inherit: i.Shape, construct: { polygon: function (e) { return this.put(new i.Polygon). plot(e || new i.PointArray); }, }, }), i.extend(i.Polyline, i.Polygon, { array: function () { return this._array || (this._array = new i.PointArray(this.attr('points'))); }, plot: function (e) { return null == e ? this.array() : this.clear(). attr('points', 'string' == typeof e ? e : this._array = new i.PointArray(e)); }, clear: function () {return delete this._array, this;}, move: function (e, t) { return this.attr('points', this.array().move(e, t)); }, size: function (e, t) { var n = f(this, e, t); return this.attr('points', this.array().size(n.width, n.height)); }, }), i.extend(i.Line, i.Polyline, i.Polygon, { morphArray: i.PointArray, x: function (e) { return null == e ? this.bbox().x : this.move(e, this.bbox().y); }, y: function (e) { return null == e ? this.bbox().y : this.move(this.bbox().x, e); }, width: function (e) { var t = this.bbox(); return null == e ? t.width : this.size(e, t.height); }, height: function (e) { var t = this.bbox(); return null == e ? t.height : this.size(t.width, e); }, }), i.Path = i.invent({ create: 'path', inherit: i.Shape, extend: { morphArray: i.PathArray, array: function () { return this._array || (this._array = new i.PathArray(this.attr('d'))); }, plot: function (e) { return null == e ? this.array() : this.clear(). attr('d', 'string' == typeof e ? e : this._array = new i.PathArray(e)); }, clear: function () {return delete this._array, this;}, }, construct: { path: function (e) { return this.put(new i.Path). plot(e || new i.PathArray); }, }, }), i.Image = i.invent({ create: 'image', inherit: i.Shape, extend: { load: function (e) { if (!e) return this; var n = this, a = new t.Image; return i.on(a, 'load', (function () { i.off(a); var t = n.parent(i.Pattern); null !== t && (0 == n.width() && 0 == n.height() && n.size(a.width, a.height), t && 0 == t.width() && 0 == t.height() && t.size(n.width(), n.height()), 'function' == typeof n._loaded && n._loaded.call(n, { width: a.width, height: a.height, ratio: a.width / a.height, url: e, })); })), i.on(a, 'error', (function (e) { i.off(a), 'function' == typeof n._error && n._error.call(n, e); })), this.attr('href', a.src = this.src = e, i.xlink); }, loaded: function (e) {return this._loaded = e, this;}, error: function (e) {return this._error = e, this;}, }, construct: { image: function (e, t, n) { return this.put(new i.Image). load(e). size(t || 0, n || t || 0); }, }, }), i.Text = i.invent({ create: function () { this.constructor.call(this, i.create('text')), this.dom.leading = new i.Number( 1.3), this._rebuild = !0, this._build = !1, this.attr( 'font-family', i.defaults.attrs['font-family']); }, inherit: i.Shape, extend: { x: function (e) { return null == e ? this.attr('x') : this.attr('x', e); }, text: function (e) { if (void 0 === e) { e = ''; for (var t = this.node.childNodes, n = 0, a = t.length; n < a; ++n) 0 != n && 3 != t[n].nodeType && 1 == i.adopt(t[n]).dom.newLined && (e += '\n'), e += t[n].textContent; return e; } if (this.clear().build(!0), 'function' == typeof e) e.call( this, this); else { n = 0; for (var r = (e = e.split('\n')).length; n < r; n++) this.tspan(e[n]).newLine(); } return this.build(!1).rebuild(); }, size: function (e) { return this.attr('font-size', e). rebuild(); }, leading: function (e) { return null == e ? this.dom.leading : (this.dom.leading = new i.Number(e), this.rebuild()); }, lines: function () { var e = (this.textPath && this.textPath() || this).node, t = i.utils.map(i.utils.filterSVGElements(e.childNodes), (function (e) {return i.adopt(e);})); return new i.Set(t); }, rebuild: function (e) { if ('boolean' == typeof e && (this._rebuild = e), this._rebuild) { var t = this, n = 0, a = this.dom.leading * new i.Number(this.attr('font-size')); this.lines(). each((function () { this.dom.newLined && (t.textPath() || this.attr('x', t.attr('x')), '\n' == this.text() ? n += a : (this.attr('dy', a + n), n = 0)); })), this.fire('rebuild'); } return this; }, build: function (e) {return this._build = !!e, this;}, setData: function (e) { return this.dom = e, this.dom.leading = new i.Number( e.leading || 1.3), this; }, }, construct: { text: function (e) { return this.put(new i.Text). text(e); }, plain: function (e) {return this.put(new i.Text).plain(e);}, }, }), i.Tspan = i.invent({ create: 'tspan', inherit: i.Shape, extend: { text: function (e) { return null == e ? this.node.textContent + (this.dom.newLined ? '\n' : '') : ('function' == typeof e ? e.call(this, this) : this.plain(e), this); }, dx: function (e) {return this.attr('dx', e);}, dy: function (e) {return this.attr('dy', e);}, newLine: function () { var e = this.parent(i.Text); return this.dom.newLined = !0, this.dy( e.dom.leading * e.attr('font-size')).attr('x', e.x()); }, }, }), i.extend(i.Text, i.Tspan, { plain: function (e) { return !1 === this._build && this.clear(), this.node.appendChild(n.createTextNode(e)), this; }, tspan: function (e) { var t = (this.textPath && this.textPath() || this).node, n = new i.Tspan; return !1 === this._build && this.clear(), t.appendChild( n.node), n.text(e); }, clear: function () { for (var e = (this.textPath && this.textPath() || this).node; e.hasChildNodes();) e.removeChild(e.lastChild); return this; }, length: function () {return this.node.getComputedTextLength();}, }), i.TextPath = i.invent({ create: 'textPath', inherit: i.Parent, parent: i.Text, construct: { morphArray: i.PathArray, array: function () { var e = this.track(); return e ? e.array() : null; }, plot: function (e) { var t = this.track(), n = null; return t && (n = t.plot(e)), null == e ? n : this; }, track: function () { var e = this.textPath(); if (e) return e.reference('href'); }, textPath: function () { if (this.node.firstChild && 'textPath' == this.node.firstChild.nodeName) return i.adopt( this.node.firstChild); }, }, }), i.Nested = i.invent({ create: function () { this.constructor.call(this, i.create('svg')), this.style( 'overflow', 'visible'); }, inherit: i.Container, construct: { nested: function () {return this.put(new i.Nested);} }, }); var l = { stroke: [ 'color', 'width', 'opacity', 'linecap', 'linejoin', 'miterlimit', 'dasharray', 'dashoffset'], fill: ['color', 'opacity', 'rule'], prefix: function (e, t) {return 'color' == t ? e : e + '-' + t;}, }; function c (e, t, n, a) {return n + a.replace(i.regex.dots, ' .');} function u (e) { return e.toLowerCase(). replace(/-(.)/g, (function (e, t) {return t.toUpperCase();})); } function d (e) {return e.charAt(0).toUpperCase() + e.slice(1);} function h (e) { var t = e.toString(16); return 1 == t.length ? '0' + t : t; } function f (e, t, n) { if (null == t || null == n) { var i = e.bbox(); null == t ? t = i.width / i.height * n : null == n && (n = i.height / i.width * t); } return { width: t, height: n }; } function p (e, t, n) { return { x: t * e.a + n * e.c + 0, y: t * e.b + n * e.d + 0, }; } function m (e) { return { a: e[0], b: e[1], c: e[2], d: e[3], e: e[4], f: e[5], }; } function g (e) { for (var n = e.childNodes.length - 1; n >= 0; n--) e.childNodes[n] instanceof t.SVGElement && g(e.childNodes[n]); return i.adopt(e).id(i.eid(e.nodeName)); } function v (e) { return null == e.x && (e.x = 0, e.y = 0, e.width = 0, e.height = 0), e.w = e.width, e.h = e.height, e.x2 = e.x + e.width, e.y2 = e.y + e.height, e.cx = e.x + e.width / 2, e.cy = e.y + e.height / 2, e; } function y (e) {return Math.abs(e) > 1e-37 ? e : 0;} ['fill', 'stroke'].forEach((function (e) { var t = {}; t[e] = function (t) { if (void 0 === t) return this; if ('string' == typeof t || i.Color.isRgb(t) || t && 'function' == typeof t.fill) this.attr(e, t); else for (var n = l[e].length - 1; n >= 0; n--) null != t[l[e][n]] && this.attr(l.prefix(e, l[e][n]), t[l[e][n]]); return this; }, i.extend(i.Element, i.FX, t); })), i.extend(i.Element, i.FX, { translate: function (e, t) { return this.transform({ x: e, y: t }); }, matrix: function (e) { return this.attr('transform', new i.Matrix( 6 == arguments.length ? [].slice.call(arguments) : e)); }, opacity: function (e) {return this.attr('opacity', e);}, dx: function (e) { return this.x( new i.Number(e).plus(this instanceof i.FX ? 0 : this.x()), !0); }, dy: function (e) { return this.y( new i.Number(e).plus(this instanceof i.FX ? 0 : this.y()), !0); }, }), i.extend(i.Path, { length: function () {return this.node.getTotalLength();}, pointAt: function (e) {return this.node.getPointAtLength(e);}, }), i.Set = i.invent({ create: function (e) { Array.isArray(e) ? this.members = e : this.clear(); }, extend: { add: function () { for (var e = [].slice.call( arguments), t = 0, n = e.length; t < n; t++) this.members.push(e[t]); return this; }, remove: function (e) { var t = this.index(e); return t > -1 && this.members.splice(t, 1), this; }, each: function (e) { for (var t = 0, n = this.members.length; t < n; t++) e.apply(this.members[t], [t, this.members]); return this; }, clear: function () {return this.members = [], this;}, length: function () {return this.members.length;}, has: function (e) {return this.index(e) >= 0;}, index: function (e) {return this.members.indexOf(e);}, get: function (e) {return this.members[e];}, first: function () {return this.get(0);}, last: function () {return this.get(this.members.length - 1);}, valueOf: function () {return this.members;}, }, construct: { set: function (e) {return new i.Set(e);} }, }), i.FX.Set = i.invent( { create: function (e) {this.set = e;} }), i.Set.inherit = function () { var e = []; for (var t in i.Shape.prototype) 'function' == typeof i.Shape.prototype[t] && 'function' != typeof i.Set.prototype[t] && e.push(t); for (var t in e.forEach((function (e) { i.Set.prototype[e] = function () { for (var t = 0, n = this.members.length; t < n; t++) this.members[t] && 'function' == typeof this.members[t][e] && this.members[t][e].apply(this.members[t], arguments); return 'animate' == e ? this.fx || (this.fx = new i.FX.Set(this)) : this; }; })), e = [], i.FX.prototype) 'function' == typeof i.FX.prototype[t] && 'function' != typeof i.FX.Set.prototype[t] && e.push(t); e.forEach((function (e) { i.FX.Set.prototype[e] = function () { for (var t = 0, n = this.set.members.length; t < n; t++) this.set.members[t].fx[e].apply( this.set.members[t].fx, arguments); return this; }; })); }, i.extend(i.Element, {}), i.extend(i.Element, { remember: function (t, n) { if ('object' === e(arguments[0])) for (var i in t) this.remember(i, t[i]); else { if (1 == arguments.length) return this.memory()[t]; this.memory()[t] = n; } return this; }, forget: function () { if (0 == arguments.length) this._memory = {}; else for (var e = arguments.length - 1; e >= 0; e--) delete this.memory()[arguments[e]]; return this; }, memory: function () {return this._memory || (this._memory = {});}, }), i.get = function (e) { var t = n.getElementById(function (e) { var t = (e || '').toString().match(i.regex.reference); if (t) return t[1]; }(e) || e); return i.adopt(t); }, i.select = function (e, t) { return new i.Set(i.utils.map((t || n).querySelectorAll(e), (function (e) {return i.adopt(e);}))); }, i.extend(i.Parent, { select: function (e) {return i.select(e, this.node);} }); var b = 'abcdef'.split(''); if ('function' != typeof t.CustomEvent) { var x = function ( e, t) { t = t || { bubbles: !1, cancelable: !1, detail: void 0 }; var i = n.createEvent('CustomEvent'); return i.initCustomEvent(e, t.bubbles, t.cancelable, t.detail), i; }; x.prototype = t.Event.prototype, i.CustomEvent = x; } else i.CustomEvent = t.CustomEvent; return i; }, 'function' == typeof define && define.amd ? define( (function () {return De(Ae, Ae.document);})) : 'object' === ('undefined' == typeof exports ? 'undefined' : e(exports)) && 'undefined' != typeof module ? module.exports = Ae.document ? De(Ae, Ae.document) : function (e) {return De(e, e.document);} : Ae.SVG = De(Ae, Ae.document), /*! svg.filter.js - v2.0.2 - 2016-02-24 * https://github.com/wout/svg.filter.js * Copyright (c) 2016 Wout Fierens; Licensed MIT */ function () { SVG.Filter = SVG.invent({ create: 'filter', inherit: SVG.Parent, extend: { source: 'SourceGraphic', sourceAlpha: 'SourceAlpha', background: 'BackgroundImage', backgroundAlpha: 'BackgroundAlpha', fill: 'FillPaint', stroke: 'StrokePaint', autoSetIn: !0, put: function (e, t) { return this.add(e, t), !e.attr('in') && this.autoSetIn && e.attr('in', this.source), e.attr( 'result') || e.attr('result', e), e; }, blend: function (e, t, n) { return this.put(new SVG.BlendEffect(e, t, n)); }, colorMatrix: function (e, t) { return this.put(new SVG.ColorMatrixEffect(e, t)); }, convolveMatrix: function (e) { return this.put(new SVG.ConvolveMatrixEffect(e)); }, componentTransfer: function (e) { return this.put(new SVG.ComponentTransferEffect(e)); }, composite: function (e, t, n) { return this.put(new SVG.CompositeEffect(e, t, n)); }, flood: function (e, t) { return this.put(new SVG.FloodEffect(e, t)); }, offset: function (e, t) { return this.put(new SVG.OffsetEffect(e, t)); }, image: function (e) { return this.put(new SVG.ImageEffect(e)); }, merge: function () { var e = [void 0]; for (var t in arguments) e.push(arguments[t]); return this.put( new (SVG.MergeEffect.bind.apply(SVG.MergeEffect, e))); }, gaussianBlur: function (e, t) { return this.put(new SVG.GaussianBlurEffect(e, t)); }, morphology: function (e, t) { return this.put(new SVG.MorphologyEffect(e, t)); }, diffuseLighting: function (e, t, n) { return this.put(new SVG.DiffuseLightingEffect(e, t, n)); }, displacementMap: function (e, t, n, i, a) { return this.put( new SVG.DisplacementMapEffect(e, t, n, i, a)); }, specularLighting: function (e, t, n, i) { return this.put( new SVG.SpecularLightingEffect(e, t, n, i)); }, tile: function () {return this.put(new SVG.TileEffect);}, turbulence: function (e, t, n, i, a) { return this.put( new SVG.TurbulenceEffect(e, t, n, i, a)); }, toString: function () { return 'url(#' + this.attr('id') + ')'; }, }, }), SVG.extend(SVG.Defs, { filter: function (e) { var t = this.put(new SVG.Filter); return 'function' == typeof e && e.call(t, t), t; }, }), SVG.extend(SVG.Container, { filter: function (e) { return this.defs(). filter(e); }, }), SVG.extend(SVG.Element, SVG.G, SVG.Nested, { filter: function (e) { return this.filterer = e instanceof SVG.Element ? e : this.doc().filter(e), this.doc() && this.filterer.doc() !== this.doc() && this.doc().defs().add(this.filterer), this.attr('filter', this.filterer), this.filterer; }, unfilter: function (e) { return this.filterer && !0 === e && this.filterer.remove(), delete this.filterer, this.attr( 'filter', null); }, }), SVG.Effect = SVG.invent({ create: function () {this.constructor.call(this);}, inherit: SVG.Element, extend: { in: function (e) { return null == e ? this.parent() && this.parent(). select('[result="' + this.attr('in') + '"]'). get(0) || this.attr('in') : this.attr('in', e); }, result: function (e) { return null == e ? this.attr('result') : this.attr('result', e); }, toString: function () {return this.result();}, }, }), SVG.ParentEffect = SVG.invent({ create: function () {this.constructor.call(this);}, inherit: SVG.Parent, extend: { in: function (e) { return null == e ? this.parent() && this.parent(). select('[result="' + this.attr('in') + '"]'). get(0) || this.attr('in') : this.attr('in', e); }, result: function (e) { return null == e ? this.attr('result') : this.attr('result', e); }, toString: function () {return this.result();}, }, }); var e = { blend: function (e, t) { return this.parent() && this.parent().blend(this, e, t); }, colorMatrix: function (e, t) { return this.parent() && this.parent().colorMatrix(e, t).in(this); }, convolveMatrix: function (e) { return this.parent() && this.parent().convolveMatrix(e).in(this); }, componentTransfer: function (e) { return this.parent() && this.parent().componentTransfer(e).in(this); }, composite: function (e, t) { return this.parent() && this.parent().composite(this, e, t); }, flood: function (e, t) { return this.parent() && this.parent().flood(e, t); }, offset: function (e, t) { return this.parent() && this.parent().offset(e, t).in(this); }, image: function (e) { return this.parent() && this.parent().image(e); }, merge: function () { return this.parent() && this.parent(). merge. apply(this.parent(), [this].concat(arguments)); }, gaussianBlur: function (e, t) { return this.parent() && this.parent().gaussianBlur(e, t).in(this); }, morphology: function (e, t) { return this.parent() && this.parent().morphology(e, t).in(this); }, diffuseLighting: function (e, t, n) { return this.parent() && this.parent().diffuseLighting(e, t, n).in(this); }, displacementMap: function (e, t, n, i) { return this.parent() && this.parent().displacementMap(this, e, t, n, i); }, specularLighting: function (e, t, n, i) { return this.parent() && this.parent().specularLighting(e, t, n, i).in(this); }, tile: function () { return this.parent() && this.parent().tile().in(this); }, turbulence: function (e, t, n, i, a) { return this.parent() && this.parent().turbulence(e, t, n, i, a).in(this); }, }; SVG.extend(SVG.Effect, e), SVG.extend(SVG.ParentEffect, e), SVG.ChildEffect = SVG.invent({ create: function () {this.constructor.call(this);}, inherit: SVG.Element, extend: { in: function (e) {this.attr('in', e);} }, }); var t = { blend: function (e, t, n) { this.attr({ in: e, in2: t, mode: n || 'normal' }); }, colorMatrix: function (e, t) { 'matrix' == e && (t = a(t)), this.attr( { type: e, values: void 0 === t ? null : t }); }, convolveMatrix: function (e) { e = a(e), this.attr({ order: Math.sqrt(e.split(' ').length), kernelMatrix: e, }); }, composite: function (e, t, n) { this.attr({ in: e, in2: t, operator: n }); }, flood: function (e, t) { this.attr('flood-color', e), null != t && this.attr('flood-opacity', t); }, offset: function (e, t) {this.attr({ dx: e, dy: t });}, image: function (e) {this.attr('href', e, SVG.xlink);}, displacementMap: function (e, t, n, i, a) { this.attr({ in: e, in2: t, scale: n, xChannelSelector: i, yChannelSelector: a, }); }, gaussianBlur: function (e, t) { null != e || null != t ? this.attr('stdDeviation', r(Array.prototype.slice.call(arguments))) : this.attr('stdDeviation', '0 0'); }, morphology: function (e, t) { this.attr({ operator: e, radius: t }); }, tile: function () {}, turbulence: function (e, t, n, i, a) { this.attr({ numOctaves: t, seed: n, stitchTiles: i, baseFrequency: e, type: a, }); }, }, n = { merge: function () { var e; if (arguments[0] instanceof SVG.Set) { var t = this; arguments[0].each((function (e) { this instanceof SVG.MergeNode ? t.put(this) : (this instanceof SVG.Effect || this instanceof SVG.ParentEffect) && t.put(new SVG.MergeNode(this)); })); } else { e = Array.isArray(arguments[0]) ? arguments[0] : arguments; for (var n = 0; n < e.length; n++) e[n] instanceof SVG.MergeNode ? this.put(e[n]) : this.put( new SVG.MergeNode(e[n])); } }, componentTransfer: function (e) { if (this.rgb = new SVG.Set, [ 'r', 'g', 'b', 'a'].forEach(function (e) { this[e] = new (SVG['Func' + e.toUpperCase()])( 'identity'), this.rgb.add( this[e]), this.node.appendChild(this[e].node); }.bind(this)), e) for (var t in e.rgb && (['r', 'g', 'b'].forEach( function (t) {this[t].attr(e.rgb);}.bind( this)), delete e.rgb), e) this[t].attr(e[t]); }, diffuseLighting: function (e, t, n) { this.attr({ surfaceScale: e, diffuseConstant: t, kernelUnitLength: n, }); }, specularLighting: function (e, t, n, i) { this.attr({ surfaceScale: e, diffuseConstant: t, specularExponent: n, kernelUnitLength: i, }); }, }, i = { distantLight: function (e, t) { this.attr({ azimuth: e, elevation: t }); }, pointLight: function (e, t, n) { this.attr({ x: e, y: t, z: n }); }, spotLight: function (e, t, n, i, a, r) { this.attr({ x: e, y: t, z: n, pointsAtX: i, pointsAtY: a, pointsAtZ: r, }); }, mergeNode: function (e) {this.attr('in', e);}, }; function a (e) { return Array.isArray(e) && (e = new SVG.Array(e)), e.toString(). replace(/^\s+/, ''). replace(/\s+$/, ''). replace(/\s+/g, ' '); } function r (e) { if (!Array.isArray(e)) return e; for (var t = 0, n = e.length, i = []; t < n; t++) i.push(e[t]); return i.join(' '); } function o () { var e = function () {}; for (var t in 'function' == typeof arguments[arguments.length - 1] && (e = arguments[arguments.length - 1], Array.prototype.splice.call(arguments, arguments.length - 1, 1)), arguments) for (var n in arguments[t]) e( arguments[t][n], n, arguments[t]); } ['r', 'g', 'b', 'a'].forEach((function (e) { i['Func' + e.toUpperCase()] = function (e) { switch (this.attr('type', e), e) { case'table': this.attr('tableValues', arguments[1]); break; case'linear': this.attr('slope', arguments[1]), this.attr( 'intercept', arguments[2]); break; case'gamma': this.attr('amplitude', arguments[1]), this.attr( 'exponent', arguments[2]), this.attr('offset', arguments[2]); } }; })), o(t, (function (e, t) { var n = t.charAt(0).toUpperCase() + t.slice(1); SVG[n + 'Effect'] = SVG.invent({ create: function () { this.constructor.call(this, SVG.create('fe' + n)), e.apply(this, arguments), this.result(this.attr('id') + 'Out'); }, inherit: SVG.Effect, extend: {}, }); })), o(n, (function (e, t) { var n = t.charAt(0).toUpperCase() + t.slice(1); SVG[n + 'Effect'] = SVG.invent({ create: function () { this.constructor.call(this, SVG.create('fe' + n)), e.apply(this, arguments), this.result(this.attr('id') + 'Out'); }, inherit: SVG.ParentEffect, extend: {}, }); })), o(i, (function (e, t) { var n = t.charAt(0).toUpperCase() + t.slice(1); SVG[n] = SVG.invent({ create: function () { this.constructor.call(this, SVG.create('fe' + n)), e.apply(this, arguments); }, inherit: SVG.ChildEffect, extend: {}, }); })), SVG.extend(SVG.MergeEffect, { in: function (e) { return e instanceof SVG.MergeNode ? this.add(e, 0) : this.add(new SVG.MergeNode(e), 0), this; }, }), SVG.extend(SVG.CompositeEffect, SVG.BlendEffect, SVG.DisplacementMapEffect, { in2: function (e) { return null == e ? this.parent() && this.parent(). select('[result="' + this.attr('in2') + '"]'). get(0) || this.attr('in2') : this.attr('in2', e); }, }), SVG.filter = { sepiatone: [ .343, .669, .119, 0, 0, .249, .626, .13, 0, 0, .172, .334, .111, 0, 0, 0, 0, 0, 1, 0], }; }.call(void 0), function () { function e (e, a, r, o, s, l, c) { for (var u = e.slice(a, r || c), d = o.slice(s, l || c), h = 0, f = { pos: [0, 0], start: [0, 0], }, p = { pos: [0, 0], start: [0, 0] }; u[h] = t.call(f, u[h]), d[h] = t.call(p, d[h]), u[h][0] != d[h][0] || "M" == u[h][0] || "A" == u[h][0] && (u[h][4] != d[h][4] || u[h][5] != d[h][5]) ? (Array.prototype.splice.apply(u, [h, 1].concat( i.call(f, u[h]))), Array.prototype.splice.apply(d, [h, 1].concat(i.call(p, d[h])))) : (u[h] = n.call(f, u[h]), d[h] = n.call(p, d[h])), ++h != u.length || h != d.length;) h == u.length && u.push([ 'C', f.pos[0], f.pos[1], f.pos[0], f.pos[1], f.pos[0], f.pos[1]]), h == 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: u, dest: d }; } function t (e) { switch (e[0]) { case'z': case'Z': e[0] = 'L', e[1] = this.start[0], e[2] = this.start[1]; break; case'H': e[0] = 'L', e[2] = this.pos[1]; break; case'V': e[0] = 'L', e[2] = e[1], e[1] = this.pos[0]; break; case'T': e[0] = 'Q', e[3] = e[1], e[4] = e[2], e[1] = this.reflection[1], e[2] = this.reflection[0]; break; case'S': e[0] = 'C', e[6] = e[4], e[5] = e[3], e[4] = e[2], e[3] = e[1], e[2] = this.reflection[1], e[1] = this.reflection[0]; } return e; } function n (e) { var t = e.length; return this.pos = [e[t - 2], e[t - 1]], -1 != 'SCQT'.indexOf(e[0]) && (this.reflection = [ 2 * this.pos[0] - e[t - 4], 2 * this.pos[1] - e[t - 3]]), e; } function i (e) { var t = [e]; switch (e[0]) { case'M': return this.pos = this.start = [e[1], e[2]], t; case'L': e[5] = e[3] = e[1], e[6] = e[4] = e[2], e[1] = this.pos[0], e[2] = this.pos[1]; break; case'Q': e[6] = e[4], e[5] = e[3], e[4] = 1 * e[4] / 3 + 2 * e[2] / 3, e[3] = 1 * e[3] / 3 + 2 * e[1] / 3, e[2] = 1 * this.pos[1] / 3 + 2 * e[2] / 3, e[1] = 1 * this.pos[0] / 3 + 2 * e[1] / 3; break; case'A': e = (t = function (e, t) { var n, i, a, r, o, s, l, c, u, d, h, f, p, m, g, v, y, b, x, _, w, k, M, L, S, T, A = Math.abs(t[1]), D = Math.abs(t[2]), C = t[3] % 360, E = t[4], O = t[5], Y = t[6], P = t[7], I = new SVG.Point(e), j = new SVG.Point(Y, P), N = []; if (0 === A || 0 === D || I.x === j.x && I.y === j.y) return [['C', I.x, I.y, j.x, j.y, j.x, j.y]]; for ((i = (n = new SVG.Point((I.x - j.x) / 2, (I.y - j.y) / 2).transform( (new SVG.Matrix).rotate(C))).x * n.x / (A * A) + n.y * n.y / (D * D)) > 1 && (A *= i = Math.sqrt( i), D *= i), a = (new SVG.Matrix).rotate(C). scale(1 / A, 1 / D). rotate(-C), I = I.transform(a), s = (r = [ (j = j.transform(a)).x - I.x, j.y - I.y])[0] * r[0] + r[1] * r[1], o = Math.sqrt( s), r[0] /= o, r[1] /= o, l = s < 4 ? Math.sqrt( 1 - s / 4) : 0, E === O && (l *= -1), c = new SVG.Point( (j.x + I.x) / 2 + l * -r[1], (j.y + I.y) / 2 + l * r[0]), u = new SVG.Point( I.x - c.x, I.y - c.y), d = new SVG.Point(j.x - c.x, j.y - c.y), h = Math.acos( u.x / Math.sqrt(u.x * u.x + u.y * u.y)), u.y < 0 && (h *= -1), f = Math.acos( d.x / Math.sqrt(d.x * d.x + d.y * d.y)), d.y < 0 && (f *= -1), O && h > f && (f += 2 * Math.PI), !O && h < f && (f -= 2 * Math.PI), v = [], y = h, p = (f - h) / (m = Math.ceil( 2 * Math.abs(h - f) / Math.PI)), g = 4 * Math.tan(p / 4) / 3, w = 0; w <= m; w++) x = Math.cos(y), b = Math.sin( y), _ = new SVG.Point(c.x + x, c.y + b), v[w] = [ new SVG.Point(_.x + g * b, _.y - g * x), _, new SVG.Point(_.x - g * b, _.y + g * x)], y += p; for (v[0][0] = v[0][1].clone(), v[v.length - 1][2] = v[v.length - 1][1].clone(), a = (new SVG.Matrix).rotate(C). scale(A, D). rotate(-C), w = 0, k = v.length; w < k; w++) v[w][0] = v[w][0].transform( a), v[w][1] = v[w][1].transform( a), v[w][2] = v[w][2].transform(a); for (w = 1, k = v.length; w < k; w++) M = (_ = v[w - 1][2]).x, L = _.y, S = (_ = v[w][0]).x, T = _.y, Y = (_ = v[w][1]).x, P = _.y, N.push( ['C', M, L, S, T, Y, P]); return N; }(this.pos, e))[0]; } return e[0] = 'C', this.pos = [e[5], e[6]], this.reflection = [ 2 * e[5] - e[3], 2 * e[6] - e[4]], t; } function a (e, t) { if (!1 === t) return !1; for (var n = t, i = e.length; n < i; ++n) if ('M' == e[n][0]) return n; return !1; } SVG.extend(SVG.PathArray, { morph: function (t) { for (var n = this.value, i = this.parse( t), r = 0, o = 0, s = !1, l = !1; !1 !== r || !1 !== o;) { var c; s = a(n, !1 !== r && r + 1), l = a(i, !1 !== o && o + 1), !1 === r && (r = 0 == (c = new SVG.PathArray(u.start).bbox()).height || 0 == c.width ? n.push(n[0]) - 1 : n.push( ['M', c.x + c.width / 2, c.y + c.height / 2]) - 1), !1 === o && (o = 0 == (c = new SVG.PathArray(u.dest).bbox()).height || 0 == c.width ? i.push(i[0]) - 1 : i.push( ['M', c.x + c.width / 2, c.y + c.height / 2]) - 1); var u = e(n, r, s, i, o, l); n = n.slice(0, r). concat(u.start, !1 === s ? [] : n.slice(s)), i = i.slice(0, o). concat(u.dest, !1 === l ? [] : i.slice(l)), r = !1 !== s && r + u.start.length, o = !1 !== l && o + u.dest.length; } return this.value = n, this.destination = new SVG.PathArray, this.destination.value = i, this; }, }); }(), /*! svg.draggable.js - v2.2.2 - 2019-01-08 * https://github.com/svgdotjs/svg.draggable.js * Copyright (c) 2019 Wout Fierens; Licensed MIT */ function () { function e (e) {e.remember('_draggable', this), this.el = e;} e.prototype.init = function (e, t) { var n = this; this.constraint = e, this.value = t, this.el.on( 'mousedown.drag', (function (e) {n.start(e);})), this.el.on( 'touchstart.drag', (function (e) {n.start(e);})); }, e.prototype.transformPoint = function (e, t) { var n = (e = e || window.event).changedTouches && e.changedTouches[0] || e; return this.p.x = n.clientX - (t || 0), this.p.y = n.clientY, this.p.matrixTransform( this.m); }, e.prototype.getBBox = function () { var e = this.el.bbox(); return this.el instanceof SVG.Nested && (e = this.el.rbox()), (this.el instanceof SVG.G || this.el instanceof SVG.Use || this.el instanceof SVG.Nested) && (e.x = this.el.x(), e.y = this.el.y()), e; }, e.prototype.start = function (e) { if ('click' != e.type && 'mousedown' != e.type && 'mousemove' != e.type || 1 == (e.which || e.buttons)) { var t = this; if (this.el.fire('beforedrag', { event: e, handler: this, }), !this.el.event().defaultPrevented) { e.preventDefault(), e.stopPropagation(), this.parent = this.parent || this.el.parent(SVG.Nested) || this.el.parent( SVG.Doc), this.p = this.parent.node.createSVGPoint(), this.m = this.el.node.getScreenCTM(). inverse(); var n, i = this.getBBox(); if (this.el instanceof SVG.Text) switch (n = this.el.node.getComputedTextLength(), this.el.attr( 'text-anchor')) { case'middle': n /= 2; break; case'start': n = 0; } this.startPoints = { point: this.transformPoint(e, n), box: i, transform: this.el.transform(), }, SVG.on(window, 'mousemove.drag', (function (e) {t.drag(e);})), SVG.on(window, 'touchmove.drag', (function (e) {t.drag(e);})), SVG.on(window, 'mouseup.drag', (function (e) {t.end(e);})), SVG.on( window, 'touchend.drag', (function (e) {t.end(e);})), this.el.fire( 'dragstart', { event: e, p: this.startPoints.point, m: this.m, handler: this, }); } } }, e.prototype.drag = function (e) { var t = this.getBBox(), n = this.transformPoint(e), i = this.startPoints.box.x + n.x - this.startPoints.point.x, a = this.startPoints.box.y + n.y - this.startPoints.point.y, r = this.constraint, o = n.x - this.startPoints.point.x, s = n.y - this.startPoints.point.y; if (this.el.fire('dragmove', { event: e, p: n, m: this.m, handler: this, }), this.el.event().defaultPrevented) return n; if ('function' == typeof r) { var l = r.call(this.el, i, a, this.m); 'boolean' == typeof l && (l = { x: l, y: l }), !0 === l.x ? this.el.x(i) : !1 !== l.x && this.el.x(l.x), !0 === l.y ? this.el.y( a) : !1 !== l.y && this.el.y(l.y); } else 'object' == typeof r && (null != r.minX && i < r.minX ? o = (i = r.minX) - this.startPoints.box.x : null != r.maxX && i > r.maxX - t.width && (o = (i = r.maxX - t.width) - this.startPoints.box.x), null != r.minY && a < r.minY ? s = (a = r.minY) - this.startPoints.box.y : null != r.maxY && a > r.maxY - t.height && (s = (a = r.maxY - t.height) - this.startPoints.box.y), null != r.snapToGrid && (i -= i % r.snapToGrid, a -= a % r.snapToGrid, o -= o % r.snapToGrid, s -= s % r.snapToGrid), this.el instanceof SVG.G ? this.el.matrix(this.startPoints.transform). transform({ x: o, y: s }, !0) : this.el.move(i, a)); return n; }, e.prototype.end = function (e) { var t = this.drag(e); this.el.fire('dragend', { event: e, p: t, m: this.m, handler: this }), SVG.off( window, 'mousemove.drag'), SVG.off(window, 'touchmove.drag'), SVG.off(window, 'mouseup.drag'), SVG.off( window, 'touchend.drag'); }, SVG.extend(SVG.Element, { draggable: function (t, n) { 'function' != typeof t && 'object' != typeof t || (n = t, t = !0); var i = this.remember('_draggable') || new e(this); return (t = void 0 === t || t) ? i.init(n || {}, t) : (this.off('mousedown.drag'), this.off( 'touchstart.drag')), this; }, }); }.call(void 0), function () { function e (e) { this.el = e, e.remember('_selectHandler', this), this.pointSelection = { isSelected: !1 }, this.rectSelection = { isSelected: !1 }, this.pointsList = { lt: [ 0, 0], rt: ['width', 0], rb: ['width', 'height'], lb: [0, 'height'], t: ['width', 0], r: ['width', 'height'], b: ['width', 'height'], l: [0, 'height'], }, this.pointCoord = function (e, t, n) { var i = 'string' != typeof e ? e : t[e]; return n ? i / 2 : i; }, this.pointCoords = function (e, t) { var n = this.pointsList[e]; return { x: this.pointCoord(n[0], t, 't' === e || 'b' === e), y: this.pointCoord(n[1], t, 'r' === e || 'l' === e), }; }; } e.prototype.init = function (e, t) { var n = this.el.bbox(); this.options = {}; var i = this.el.selectize.defaults.points; for (var a in this.el.selectize.defaults) this.options[a] = this.el.selectize.defaults[a], void 0 !== t[a] && (this.options[a] = t[a]); var r = ['points', 'pointsExclude']; for (var a in r) { var o = this.options[r[a]]; 'string' == typeof o ? o = o.length > 0 ? o.split(/\s*,\s*/i) : [] : 'boolean' == typeof o && 'points' === r[a] && (o = o ? i : []), this.options[r[a]] = o; } this.options.points = [i, this.options.points].reduce( (function (e, t) { return e.filter((function (e) {return t.indexOf(e) > -1;})); })), this.options.points = [ this.options.points, this.options.pointsExclude].reduce((function (e, t) { return e.filter((function (e) {return t.indexOf(e) < 0;})); })), this.parent = this.el.parent(), this.nested = this.nested || this.parent.group(), this.nested.matrix( new SVG.Matrix(this.el).translate(n.x, n.y)), this.options.deepSelect && -1 !== ['line', 'polyline', 'polygon'].indexOf(this.el.type) ? this.selectPoints(e) : this.selectRect(e), this.observe(), this.cleanup(); }, e.prototype.selectPoints = function (e) { return this.pointSelection.isSelected = e, this.pointSelection.set || (this.pointSelection.set = this.parent.set(), this.drawPoints()), this; }, e.prototype.getPointArray = function () { var e = this.el.bbox(); return this.el.array(). valueOf(). map((function (t) {return [t[0] - e.x, t[1] - e.y];})); }, e.prototype.drawPoints = function () { for (var e = this, t = this.getPointArray(), n = 0, i = t.length; n < i; ++n) { var a = function (t) { return function (n) { (n = n || window.event).preventDefault ? n.preventDefault() : n.returnValue = !1, n.stopPropagation(); var i = n.pageX || n.touches[0].pageX, a = n.pageY || n.touches[0].pageY; e.el.fire('point', { x: i, y: a, i: t, event: n }); }; }(n), r = this.drawPoint(t[n][0], t[n][1]). addClass(this.options.classPoints). addClass(this.options.classPoints + '_point'). on('touchstart', a). on('mousedown', a); this.pointSelection.set.add(r); } }, e.prototype.drawPoint = function ( e, t) { var n = this.options.pointType; switch (n) { case'circle': return this.drawCircle(e, t); case'rect': return this.drawRect(e, t); default: if ('function' == typeof n) return n.call(this, e, t); throw new Error('Unknown ' + n + ' point type!'); } }, e.prototype.drawCircle = function (e, t) { return this.nested.circle(this.options.pointSize).center(e, t); }, e.prototype.drawRect = function (e, t) { return this.nested.rect(this.options.pointSize, this.options.pointSize).center(e, t); }, e.prototype.updatePointSelection = function () { var e = this.getPointArray(); this.pointSelection.set.each((function (t) { this.cx() === e[t][0] && this.cy() === e[t][1] || this.center(e[t][0], e[t][1]); })); }, e.prototype.updateRectSelection = function () { var e = this, t = this.el.bbox(); if (this.rectSelection.set.get(0). attr({ width: t.width, height: t.height, }), this.options.points.length && this.options.points.map( (function (n, i) { var a = e.pointCoords(n, t); e.rectSelection.set.get(i + 1).center(a.x, a.y); })), this.options.rotationPoint) { var n = this.rectSelection.set.length(); this.rectSelection.set.get(n - 1).center(t.width / 2, 20); } }, e.prototype.selectRect = function (e) { var t = this, n = this.el.bbox(); function i (e) { return function (n) { (n = n || window.event).preventDefault ? n.preventDefault() : n.returnValue = !1, n.stopPropagation(); var i = n.pageX || n.touches[0].pageX, a = n.pageY || n.touches[0].pageY; t.el.fire(e, { x: i, y: a, event: n }); }; } if (this.rectSelection.isSelected = e, this.rectSelection.set = this.rectSelection.set || this.parent.set(), this.rectSelection.set.get(0) || this.rectSelection.set.add(this.nested.rect(n.width, n.height). addClass(this.options.classRect)), this.options.points.length && this.rectSelection.set.length() < 2 && (this.options.points.map( (function (e, a) { var r = t.pointCoords(e, n), o = t.drawPoint(r.x, r.y). attr('class', t.options.classPoints + '_' + e). on('mousedown', i(e)). on('touchstart', i(e)); t.rectSelection.set.add(o); })), this.rectSelection.set.each((function () { this.addClass(t.options.classPoints); }))), this.options.rotationPoint && (this.options.points && !this.rectSelection.set.get(9) || !this.options.points && !this.rectSelection.set.get(1))) { var a = function (e) { (e = e || window.event).preventDefault ? e.preventDefault() : e.returnValue = !1, e.stopPropagation(); var n = e.pageX || e.touches[0].pageX, i = e.pageY || e.touches[0].pageY; t.el.fire('rot', { x: n, y: i, event: e }); }, r = this.drawPoint(n.width / 2, 20). attr('class', this.options.classPoints + '_rot'). on('touchstart', a). on('mousedown', a); this.rectSelection.set.add(r); } }, e.prototype.handler = function () { var e = this.el.bbox(); this.nested.matrix(new SVG.Matrix(this.el).translate(e.x, e.y)), this.rectSelection.isSelected && this.updateRectSelection(), this.pointSelection.isSelected && this.updatePointSelection(); }, e.prototype.observe = function () { var e = this; if (MutationObserver) if (this.rectSelection.isSelected || this.pointSelection.isSelected) this.observerInst = this.observerInst || new MutationObserver( (function () {e.handler();})), this.observerInst.observe( this.el.node, { attributes: !0 }); else try {this.observerInst.disconnect(), delete this.observerInst;} catch (e) {} else this.el.off( 'DOMAttrModified.select'), (this.rectSelection.isSelected || this.pointSelection.isSelected) && this.el.on('DOMAttrModified.select', (function () {e.handler();})); }, e.prototype.cleanup = function () { !this.rectSelection.isSelected && this.rectSelection.set && (this.rectSelection.set.each( (function () {this.remove();})), this.rectSelection.set.clear(), delete this.rectSelection.set), !this.pointSelection.isSelected && this.pointSelection.set && (this.pointSelection.set.each( (function () {this.remove();})), this.pointSelection.set.clear(), delete this.pointSelection.set), this.pointSelection.isSelected || this.rectSelection.isSelected || (this.nested.remove(), delete this.nested); }, SVG.extend(SVG.Element, { selectize: function (t, n) { return 'object' == typeof t && (n = t, t = !0), (this.remember( '_selectHandler') || new e(this)).init(void 0 === t || t, n || {}), this; }, }), SVG.Element.prototype.selectize.defaults = { points: [ 'lt', 'rt', 'rb', 'lb', 't', 'r', 'b', 'l'], pointsExclude: [], classRect: 'svg_select_boundingRect', classPoints: 'svg_select_points', pointSize: 7, rotationPoint: !0, deepSelect: !1, pointType: 'circle', }; }(), function () { (function () { function e (e) { e.remember('_resizeHandler', this), this.el = e, this.parameters = {}, this.lastUpdateCall = null, this.p = e.doc(). node. createSVGPoint(); } e.prototype.transformPoint = function ( e, t, n) { return this.p.x = e - (this.offset.x - window.pageXOffset), this.p.y = t - (this.offset.y - window.pageYOffset), this.p.matrixTransform( n || this.m); }, e.prototype._extractPosition = function (e) { return { x: null != e.clientX ? e.clientX : e.touches[0].clientX, y: null != e.clientY ? e.clientY : e.touches[0].clientY, }; }, e.prototype.init = function (e) { var t = this; if (this.stop(), 'stop' !== e) { for (var n in this.options = {}, this.el.resize.defaults) this.options[n] = this.el.resize.defaults[n], void 0 !== e[n] && (this.options[n] = e[n]); this.el.on('lt.resize', (function (e) { t.resize(e || window.event); })), this.el.on('rt.resize', (function (e) { t.resize(e || window.event); })), this.el.on('rb.resize', (function (e) { t.resize(e || window.event); })), this.el.on('lb.resize', (function (e) { t.resize(e || window.event); })), this.el.on('t.resize', (function (e) { t.resize(e || window.event); })), this.el.on('r.resize', (function (e) { t.resize(e || window.event); })), this.el.on('b.resize', (function (e) { t.resize(e || window.event); })), this.el.on('l.resize', (function (e) { t.resize(e || window.event); })), this.el.on('rot.resize', (function (e) { t.resize(e || window.event); })), this.el.on('point.resize', (function (e) { t.resize(e || window.event); })), this.update(); } }, e.prototype.stop = function () { return this.el.off('lt.resize'), this.el.off( 'rt.resize'), this.el.off('rb.resize'), this.el.off( 'lb.resize'), this.el.off('t.resize'), this.el.off( 'r.resize'), this.el.off('b.resize'), this.el.off( 'l.resize'), this.el.off('rot.resize'), this.el.off( 'point.resize'), this; }, e.prototype.resize = function (e) { var t = this; this.m = this.el.node.getScreenCTM(). inverse(), this.offset = { x: window.pageXOffset, y: window.pageYOffset, }; var n = this._extractPosition(e.detail.event); if (this.parameters = { type: this.el.type, p: this.transformPoint(n.x, n.y), x: e.detail.x, y: e.detail.y, box: this.el.bbox(), rotation: this.el.transform().rotation, }, 'text' === this.el.type && (this.parameters.fontSize = this.el.attr()['font-size']), void 0 !== e.detail.i) { var i = this.el.array().valueOf(); this.parameters.i = e.detail.i, this.parameters.pointCoords = [ i[e.detail.i][0], i[e.detail.i][1]]; } switch (e.type) { case'lt': this.calc = function (e, t) { var n = this.snapToGrid(e, t); if (this.parameters.box.width - n[0] > 0 && this.parameters.box.height - n[1] > 0) { if ('text' === this.parameters.type) return this.el.move( this.parameters.box.x + n[0], this.parameters.box.y), void this.el.attr( 'font-size', this.parameters.fontSize - n[0]); n = this.checkAspectRatio(n), this.el.move( this.parameters.box.x + n[0], this.parameters.box.y + n[1]). size(this.parameters.box.width - n[0], this.parameters.box.height - n[1]); } }; break; case'rt': this.calc = function (e, t) { var n = this.snapToGrid(e, t, 2); if (this.parameters.box.width + n[0] > 0 && this.parameters.box.height - n[1] > 0) { if ('text' === this.parameters.type) return this.el.move( this.parameters.box.x - n[0], this.parameters.box.y), void this.el.attr( 'font-size', this.parameters.fontSize + n[0]); n = this.checkAspectRatio(n, !0), this.el.move( this.parameters.box.x, this.parameters.box.y + n[1]). size(this.parameters.box.width + n[0], this.parameters.box.height - n[1]); } }; break; case'rb': this.calc = function (e, t) { var n = this.snapToGrid(e, t, 0); if (this.parameters.box.width + n[0] > 0 && this.parameters.box.height + n[1] > 0) { if ('text' === this.parameters.type) return this.el.move( this.parameters.box.x - n[0], this.parameters.box.y), void this.el.attr( 'font-size', this.parameters.fontSize + n[0]); n = this.checkAspectRatio(n), this.el.move( this.parameters.box.x, this.parameters.box.y). size(this.parameters.box.width + n[0], this.parameters.box.height + n[1]); } }; break; case'lb': this.calc = function (e, t) { var n = this.snapToGrid(e, t, 1); if (this.parameters.box.width - n[0] > 0 && this.parameters.box.height + n[1] > 0) { if ('text' === this.parameters.type) return this.el.move( this.parameters.box.x + n[0], this.parameters.box.y), void this.el.attr( 'font-size', this.parameters.fontSize - n[0]); n = this.checkAspectRatio(n, !0), this.el.move( this.parameters.box.x + n[0], this.parameters.box.y). size(this.parameters.box.width - n[0], this.parameters.box.height + n[1]); } }; break; case't': this.calc = function (e, t) { var n = this.snapToGrid(e, t, 2); if (this.parameters.box.height - n[1] > 0) { if ('text' === this.parameters.type) return; this.el.move(this.parameters.box.x, this.parameters.box.y + n[1]). height(this.parameters.box.height - n[1]); } }; break; case'r': this.calc = function (e, t) { var n = this.snapToGrid(e, t, 0); if (this.parameters.box.width + n[0] > 0) { if ('text' === this.parameters.type) return; this.el.move(this.parameters.box.x, this.parameters.box.y). width(this.parameters.box.width + n[0]); } }; break; case'b': this.calc = function (e, t) { var n = this.snapToGrid(e, t, 0); if (this.parameters.box.height + n[1] > 0) { if ('text' === this.parameters.type) return; this.el.move(this.parameters.box.x, this.parameters.box.y). height(this.parameters.box.height + n[1]); } }; break; case'l': this.calc = function (e, t) { var n = this.snapToGrid(e, t, 1); if (this.parameters.box.width - n[0] > 0) { if ('text' === this.parameters.type) return; this.el.move(this.parameters.box.x + n[0], this.parameters.box.y). width(this.parameters.box.width - n[0]); } }; break; case'rot': this.calc = function (e, t) { var n = e + this.parameters.p.x, i = t + this.parameters.p.y, a = Math.atan2( this.parameters.p.y - this.parameters.box.y - this.parameters.box.height / 2, this.parameters.p.x - this.parameters.box.x - this.parameters.box.width / 2), r = Math.atan2( i - this.parameters.box.y - this.parameters.box.height / 2, n - this.parameters.box.x - this.parameters.box.width / 2), o = this.parameters.rotation + 180 * (r - a) / Math.PI + this.options.snapToAngle / 2; this.el.center(this.parameters.box.cx, this.parameters.box.cy). rotate(o - o % this.options.snapToAngle, this.parameters.box.cx, this.parameters.box.cy); }; break; case'point': this.calc = function (e, t) { var n = this.snapToGrid(e, t, this.parameters.pointCoords[0], this.parameters.pointCoords[1]), i = this.el.array().valueOf(); i[this.parameters.i][0] = this.parameters.pointCoords[0] + n[0], i[this.parameters.i][1] = this.parameters.pointCoords[1] + n[1], this.el.plot(i); }; } this.el.fire('resizestart', { dx: this.parameters.x, dy: this.parameters.y, event: e, }), SVG.on(window, 'touchmove.resize', (function (e) {t.update(e || window.event);})), SVG.on( window, 'touchend.resize', (function () {t.done();})), SVG.on(window, 'mousemove.resize', (function (e) {t.update(e || window.event);})), SVG.on( window, 'mouseup.resize', (function () {t.done();})); }, e.prototype.update = function (e) { if (e) { var t = this._extractPosition(e), n = this.transformPoint(t.x, t.y), i = n.x - this.parameters.p.x, a = n.y - this.parameters.p.y; this.lastUpdateCall = [i, a], this.calc(i, a), this.el.fire( 'resizing', { dx: i, dy: a, event: e }); } else this.lastUpdateCall && this.calc(this.lastUpdateCall[0], this.lastUpdateCall[1]); }, e.prototype.done = function () { this.lastUpdateCall = null, SVG.off(window, 'mousemove.resize'), SVG.off(window, 'mouseup.resize'), SVG.off(window, 'touchmove.resize'), SVG.off(window, 'touchend.resize'), this.el.fire('resizedone'); }, e.prototype.snapToGrid = function (e, t, n, i) { var a; return void 0 !== i ? a = [ (n + e) % this.options.snapToGrid, (i + t) % this.options.snapToGrid] : (n = null == n ? 3 : n, a = [ (this.parameters.box.x + e + (1 & n ? 0 : this.parameters.box.width)) % this.options.snapToGrid, (this.parameters.box.y + t + (2 & n ? 0 : this.parameters.box.height)) % this.options.snapToGrid]), e < 0 && (a[0] -= this.options.snapToGrid), t < 0 && (a[1] -= this.options.snapToGrid), e -= Math.abs(a[0]) < this.options.snapToGrid / 2 ? a[0] : a[0] - (e < 0 ? -this.options.snapToGrid : this.options.snapToGrid), t -= Math.abs(a[1]) < this.options.snapToGrid / 2 ? a[1] : a[1] - (t < 0 ? -this.options.snapToGrid : this.options.snapToGrid), this.constraintToBox(e, t, n, i); }, e.prototype.constraintToBox = function (e, t, n, i) { var a, r, o = this.options.constraint || {}; return void 0 !== i ? (a = n, r = i) : (a = this.parameters.box.x + (1 & n ? 0 : this.parameters.box.width), r = this.parameters.box.y + (2 & n ? 0 : this.parameters.box.height)), void 0 !== o.minX && a + e < o.minX && (e = o.minX - a), void 0 !== o.maxX && a + e > o.maxX && (e = o.maxX - a), void 0 !== o.minY && r + t < o.minY && (t = o.minY - r), void 0 !== o.maxY && r + t > o.maxY && (t = o.maxY - r), [e, t]; }, e.prototype.checkAspectRatio = function ( e, t) { if (!this.options.saveAspectRatio) return e; var n = e.slice(), i = this.parameters.box.width / this.parameters.box.height, a = this.parameters.box.width + e[0], r = this.parameters.box.height - e[1], o = a / r; return o < i ? (n[1] = a / i - this.parameters.box.height, t && (n[1] = -n[1])) : o > i && (n[0] = this.parameters.box.width - r * i, t && (n[0] = -n[0])), n; }, SVG.extend(SVG.Element, { resize: function (t) { return (this.remember('_resizeHandler') || new e(this)).init(t || {}), this; }, }), SVG.Element.prototype.resize.defaults = { snapToAngle: .1, snapToGrid: 1, constraint: {}, saveAspectRatio: !1, }; }).call(this); }(), function (e, t) { void 0 === t && (t = {}); var n = t.insertAt; if ('undefined' != typeof document) { var i = document.head || document.getElementsByTagName('head')[0], a = document.createElement('style'); a.type = 'text/css', 'top' === n && i.firstChild ? i.insertBefore(a, i.firstChild) : i.appendChild(a), a.styleSheet ? a.styleSheet.cssText = e : a.appendChild(document.createTextNode(e)); } }('.apexcharts-canvas {\n position: relative;\n user-select: none;\n /* cannot give overflow: hidden as it will crop tooltips which overflow outside chart area */\n}\n\n\n/* scrollbar is not visible by default for legend, hence forcing the visibility */\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\n.apexcharts-inner {\n position: relative;\n}\n\n.apexcharts-text tspan {\n font-family: inherit;\n}\n\n.legend-mouseover-inactive {\n transition: 0.15s ease all;\n opacity: 0.20;\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: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-tooltip.apexcharts-theme-light {\n border: 1px solid #e3e3e3;\n background: rgba(255, 255, 255, 0.96);\n}\n\n.apexcharts-tooltip.apexcharts-theme-dark {\n color: #fff;\n background: rgba(30, 30, 30, 0.8);\n}\n\n.apexcharts-tooltip * {\n font-family: inherit;\n}\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, 0.7);\n border-bottom: 1px solid #333;\n}\n\n.apexcharts-tooltip-text-value,\n.apexcharts-tooltip-text-z-value {\n display: inline-block;\n font-weight: 600;\n margin-left: 5px;\n}\n\n.apexcharts-tooltip-text-z-label:empty,\n.apexcharts-tooltip-text-z-value:empty {\n display: none;\n}\n\n.apexcharts-tooltip-text-value,\n.apexcharts-tooltip-text-z-value {\n font-weight: 600;\n}\n\n.apexcharts-tooltip-marker {\n width: 12px;\n height: 12px;\n position: relative;\n top: 0px;\n margin-right: 10px;\n border-radius: 50%;\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-series-group-hidden {\n opacity: 0;\n height: 0;\n line-height: 0;\n padding: 0 !important;\n}\n\n.apexcharts-tooltip-y-group {\n padding: 6px 0 5px;\n}\n\n.apexcharts-tooltip-candlestick {\n padding: 4px 8px;\n}\n\n.apexcharts-tooltip-candlestick>div {\n margin: 4px 0;\n}\n\n.apexcharts-tooltip-candlestick span.value {\n font-weight: bold;\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: bold;\n display: block;\n margin-bottom: 5px;\n}\n\n.apexcharts-xaxistooltip {\n opacity: 0;\n padding: 9px 10px;\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 transition: 0.15s ease all;\n}\n\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 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: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-left: -6px;\n}\n\n.apexcharts-xaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\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 border-bottom-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\n border-bottom-color: rgba(0, 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 border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\n border-top-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-xaxistooltip.apexcharts-active {\n opacity: 1;\n transition: 0.15s ease all;\n}\n\n.apexcharts-yaxistooltip {\n opacity: 0;\n padding: 4px 10px;\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-yaxistooltip.apexcharts-theme-dark {\n background: rgba(0, 0, 0, 0.7);\n border: 1px solid rgba(0, 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: rgba(236, 239, 241, 0);\n border-width: 6px;\n margin-top: -6px;\n}\n\n.apexcharts-yaxistooltip:before {\n border-color: rgba(144, 164, 174, 0);\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 border-left-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\n border-left-color: rgba(0, 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 border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\n border-right-color: rgba(0, 0, 0, 0.5);\n}\n\n.apexcharts-yaxistooltip.apexcharts-active {\n opacity: 1;\n}\n\n.apexcharts-yaxistooltip-hidden {\n display: none;\n}\n\n.apexcharts-xcrosshairs,\n.apexcharts-ycrosshairs {\n pointer-events: none;\n opacity: 0;\n transition: 0.15s ease all;\n}\n\n.apexcharts-xcrosshairs.apexcharts-active,\n.apexcharts-ycrosshairs.apexcharts-active {\n opacity: 1;\n transition: 0.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_boundingRect, .svg_select_points_rot {\n pointer-events: none;\n opacity: 0;\n visibility: hidden;\n}\n.apexcharts-selection-rect + g .svg_select_boundingRect,\n.apexcharts-selection-rect + g .svg_select_points_rot {\n opacity: 0;\n visibility: hidden;\n}\n\n.apexcharts-selection-rect + g .svg_select_points_l,\n.apexcharts-selection-rect + g .svg_select_points_r {\n cursor: ew-resize;\n opacity: 1;\n visibility: visible;\n}\n\n.svg_select_points {\n fill: #efefef;\n stroke: #333;\n rx: 2;\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-zoom-icon,\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon,\n.apexcharts-reset-icon,\n.apexcharts-pan-icon,\n.apexcharts-selection-icon,\n.apexcharts-menu-icon,\n.apexcharts-toolbar-custom-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-zoom-icon svg,\n.apexcharts-zoomin-icon svg,\n.apexcharts-zoomout-icon svg,\n.apexcharts-reset-icon svg,\n.apexcharts-menu-icon svg {\n fill: #6E8192;\n}\n\n.apexcharts-selection-icon svg {\n fill: #444;\n transform: scale(0.76)\n}\n\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.apexcharts-theme-dark .apexcharts-reset-icon svg,\n.apexcharts-theme-dark .apexcharts-pan-icon svg,\n.apexcharts-theme-dark .apexcharts-selection-icon svg,\n.apexcharts-theme-dark .apexcharts-menu-icon svg,\n.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg {\n fill: #f3f4f5;\n}\n\n.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg {\n fill: #008FFB;\n}\n\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.apexcharts-theme-light .apexcharts-reset-icon:hover svg,\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg {\n fill: #333;\n}\n\n.apexcharts-selection-icon,\n.apexcharts-menu-icon {\n position: relative;\n}\n\n.apexcharts-reset-icon {\n margin-left: 5px;\n}\n\n.apexcharts-zoom-icon,\n.apexcharts-reset-icon,\n.apexcharts-menu-icon {\n transform: scale(0.85);\n}\n\n.apexcharts-zoomin-icon,\n.apexcharts-zoomout-icon {\n transform: scale(0.7)\n}\n\n.apexcharts-zoomout-icon {\n margin-right: 3px;\n}\n\n.apexcharts-pan-icon {\n transform: scale(0.62);\n position: relative;\n left: 1px;\n top: 0px;\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: 0px 6px 2px 6px;\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: 0.15s ease all;\n pointer-events: none;\n}\n\n.apexcharts-menu.apexcharts-menu-open {\n opacity: 1;\n pointer-events: all;\n transition: 0.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, 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-datalabel.apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-pie-label,\n.apexcharts-datalabels,\n.apexcharts-datalabel,\n.apexcharts-datalabel-label,\n.apexcharts-datalabel-value {\n cursor: default;\n pointer-events: none;\n}\n\n.apexcharts-pie-label-delay {\n opacity: 0;\n animation-name: opaque;\n animation-duration: 0.3s;\n animation-fill-mode: forwards;\n animation-timing-function: ease;\n}\n\n.apexcharts-canvas .apexcharts-element-hidden {\n opacity: 0;\n}\n\n.apexcharts-hide .apexcharts-series-points {\n opacity: 0;\n}\n\n.apexcharts-gridline,\n.apexcharts-annotation-rect,\n.apexcharts-tooltip .apexcharts-marker,\n.apexcharts-area-series .apexcharts-area,\n.apexcharts-line,\n.apexcharts-zoom-rect,\n.apexcharts-toolbar svg,\n.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,\n.apexcharts-radar-series path,\n.apexcharts-radar-series polygon {\n pointer-events: none;\n}\n\n\n/* markers */\n\n.apexcharts-marker {\n transition: 0.15s ease all;\n}\n\n@keyframes opaque {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 1;\n }\n}\n\n\n/* Resize generated styles */\n\n@keyframes resizeanim {\n from {\n opacity: 0;\n }\n to {\n opacity: 0;\n }\n}\n\n.resize-triggers {\n animation: 1ms resizeanim;\n visibility: hidden;\n opacity: 0;\n}\n\n.resize-triggers,\n.resize-triggers>div,\n.contract-trigger:before {\n content: " ";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n}\n\n.resize-triggers>div {\n background: #eee;\n overflow: auto;\n}\n\n.contract-trigger:before {\n width: 200%;\n height: 200%;\n}'), function () { function e (e) { var t = e.__resizeTriggers__, n = t.firstElementChild, i = t.lastElementChild, a = n ? n.firstElementChild : null; i && (i.scrollLeft = i.scrollWidth, i.scrollTop = i.scrollHeight), a && (a.style.width = n.offsetWidth + 1 + 'px', a.style.height = n.offsetHeight + 1 + 'px'), n && (n.scrollLeft = n.scrollWidth, n.scrollTop = n.scrollHeight); } function t (t) { var n = this; e(this), this.__resizeRAF__ && r(this.__resizeRAF__), this.__resizeRAF__ = a((function () { (function (e) { return e.offsetWidth != e.__resizeLast__.width || e.offsetHeight != e.__resizeLast__.height; })(n) && (n.__resizeLast__.width = n.offsetWidth, n.__resizeLast__.height = n.offsetHeight, n.__resizeListeners__.forEach( (function (e) {e.call(t);}))); })); } var n, i, a = (n = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || function (e) { return window.setTimeout(e, 20); }, function (e) {return n(e);}), r = (i = window.cancelAnimationFrame || window.mozCancelAnimationFrame || window.webkitCancelAnimationFrame || window.clearTimeout, function (e) {return i(e);}), o = !1, s = 'animationstart', l = 'Webkit Moz O ms'.split(' '), c = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split( ' '), u = document.createElement('fakeelement'); if (void 0 !== u.style.animationName && (o = !0), !1 === o) for (var d = 0; d < l.length; d++) if (void 0 !== u.style[l[d] + 'AnimationName']) { s = c[d]; break; } window.addResizeListener = function (n, i) { n.__resizeTriggers__ || ('static' == getComputedStyle(n).position && (n.style.position = 'relative'), n.__resizeLast__ = {}, n.__resizeListeners__ = [], (n.__resizeTriggers__ = document.createElement( 'div')).className = 'resize-triggers', n.__resizeTriggers__.innerHTML = '<div class="expand-trigger"><div></div></div><div class="contract-trigger"></div>', n.appendChild( n.__resizeTriggers__), e(n), n.addEventListener('scroll', t, !0), s && n.__resizeTriggers__.addEventListener(s, (function (t) { 'resizeanim' == t.animationName && e(n); }))), n.__resizeListeners__.push(i); }, window.removeResizeListener = function (e, n) { e && (e.__resizeListeners__.splice(e.__resizeListeners__.indexOf(n), 1), e.__resizeListeners__.length || (e.removeEventListener('scroll', t), e.__resizeTriggers__.parentNode && (e.__resizeTriggers__ = !e.removeChild(e.__resizeTriggers__)))); }; }(), void 0 === window.Apex && (window.Apex = {}); var Pe = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'initModules', value: function () { this.ctx.publicMethods = [ 'updateOptions', 'updateSeries', 'appendData', 'appendSeries', 'toggleSeries', 'showSeries', 'hideSeries', 'setLocale', 'resetSeries', 'zoomX', 'toggleDataPointSelection', 'dataURI', 'addXaxisAnnotation', 'addYaxisAnnotation', 'addPointAnnotation', 'clearAnnotations', 'removeAnnotation', 'paper', 'destroy'], this.ctx.eventList = [ 'click', 'mousedown', 'mousemove', 'touchstart', 'touchmove', 'mouseup', 'touchend'], this.ctx.animations = new g( this.ctx), this.ctx.axes = new K( this.ctx), this.ctx.core = new Oe(this.ctx.el, this.ctx), this.ctx.config = new N( {}), this.ctx.data = new R( this.ctx), this.ctx.grid = new q( this.ctx), this.ctx.graphics = new v( this.ctx), this.ctx.coreUtils = new x( this.ctx), this.ctx.crosshairs = new J( this.ctx), this.ctx.events = new G( this.ctx), this.ctx.exports = new W( this.ctx), this.ctx.localization = new Z( this.ctx), this.ctx.options = new M, this.ctx.responsive = new Q( this.ctx), this.ctx.series = new E( this.ctx), this.ctx.theme = new ee( this.ctx), this.ctx.formatters = new z( this.ctx), this.ctx.titleSubtitle = new te( this.ctx), this.ctx.legend = new le( this.ctx), this.ctx.toolbar = new ce( this.ctx), this.ctx.dimensions = new oe( this.ctx), this.ctx.updateHelpers = new Ye( this.ctx), this.ctx.zoomPanSelection = new ue( this.ctx), this.ctx.w.globals.tooltip = new ve( this.ctx); }, }]), e; }(), Ie = function () { function e (n) {t(this, e), this.ctx = n, this.w = n.w;} return i(e, [ { key: 'clear', value: function (e) { var t = e.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: t }); }, }, { key: 'killSVG', value: function (e) { e.each((function (e, t) { this.removeClass('*'), this.off(), this.stop(); }), !0), e.ungroup(), e.clear(); }, }, { key: 'clearDomElements', value: function (e) { var t = this, n = e.isUpdating, i = this.w.globals.dom.Paper.node; i.parentNode && i.parentNode.parentNode && !n && (i.parentNode.parentNode.style.minHeight = 'unset'); var a = this.w.globals.dom.baseEl; a && this.ctx.eventList.forEach((function (e) { a.removeEventListener(e, t.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.elAnnotations = null, r.elLegendWrap = null, r.baseEl = null, r.elGridRect = null, r.elGridRectMask = null, r.elGridRectMarkerMask = null, r.elDefs = null; }, }]), e; }(); return function () { function e (n, i) { t(this, e), this.opts = i, this.ctx = this, this.w = new F( i).init(), this.el = n, this.w.globals.cuid = p.randomId(), this.w.globals.chartID = this.w.config.chart.id ? p.escapeString(this.w.config.chart.id) : this.w.globals.cuid, new Pe( this).initModules(), this.create = p.bind(this.create, this), this.windowResizeHandler = this._windowResizeHandler.bind( this), this.parentResizeHandler = this._parentResizeCallback.bind( this); } return i(e, [ { key: 'render', value: function () { var e = this; return new Promise((function (t, n) { if (null !== e.el) { void 0 === Apex._chartInstances && (Apex._chartInstances = []), e.w.config.chart.id && Apex._chartInstances.push({ id: e.w.globals.chartID, group: e.w.config.chart.group, chart: e, }), e.setLocale(e.w.config.chart.defaultLocale); var i = e.w.config.chart.events.beforeMount; 'function' == typeof i && i(e, e.w), e.events.fireEvent('beforeMount', [e, e.w]), window.addEventListener('resize', e.windowResizeHandler), window.addResizeListener( e.el.parentNode, e.parentResizeHandler); var a = e.create(e.w.config.series, {}); if (!a) return t(e); e.mount(a). then((function () { 'function' == typeof e.w.config.chart.events.mounted && e.w.config.chart.events.mounted(e, e.w), e.events.fireEvent('mounted', [e, e.w]), t(a); })). catch((function (e) {n(e);})); } else n(new Error('Element not found')); })); }, }, { key: 'create', value: function (e, t) { var n = this.w; new Pe(this).initModules(); var i = this.w.globals; if (i.noData = !1, i.animationEnded = !1, this.responsive.checkResponsiveConfig( t), n.config.xaxis.convertedCatToNumeric && new j(n.config).convertCatToNumericXaxis(n.config, this.ctx), null === this.el) return i.animationEnded = !0, null; if (this.core.setupElements(), 'treemap' === n.config.chart.type && (n.config.grid.show = !1, n.config.yaxis[0].show = !1), 0 === i.svgWidth) return i.animationEnded = !0, null; var a = x.checkComboSeries(e); i.comboCharts = a.comboCharts, i.comboBarCount = a.comboBarCount; var r = e.every( (function (e) {return e.data && 0 === e.data.length;})); (0 === e.length || r) && this.series.handleNoData(), this.events.setupEventHandlers(), this.data.parseData( e), this.theme.init(), new T( this).setGlobalMarkerSize(), this.formatters.setLabelFormatters(), this.titleSubtitle.draw(), i.noData && i.collapsedSeries.length !== i.series.length && !n.config.legend.showForSingleSeries || this.legend.init(), this.series.hasAllSeriesEqualX(), i.axisCharts && (this.core.coreCalculations(), 'category' !== n.config.xaxis.type && this.formatters.setLabelFormatters()), this.formatters.heatmapLabelFormatters(), this.dimensions.plotCoords(); var o = this.core.xySettings(); this.grid.createGridMask(); var s = this.core.plotChartType(e, o), l = new D(this); l.bringForward(), n.config.dataLabels.background.enabled && l.dataLabelsBackground(), this.core.shiftGraphPosition(); var c = { plot: { left: n.globals.translateX, top: n.globals.translateY, width: n.globals.gridWidth, height: n.globals.gridHeight, }, }; return { elGraph: s, xyRatios: o, elInner: n.globals.dom.elGraphical, dimensions: c, }; }, }, { key: 'mount', value: function () { var e = this, t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, n = this, i = n.w; return new Promise((function (a, r) { if (null === n.el) return r(new Error( 'Not enough data to display or target element not found')); (null === t || i.globals.allSeriesCollapsed) && n.series.handleNoData(), 'treemap' !== i.config.chart.type && n.axes.drawAxis(i.config.chart.type, t.xyRatios), n.grid = new q(n); var o = n.grid.drawGrid(); n.annotations = new L( n), n.annotations.drawImageAnnos(), n.annotations.drawTextAnnos(), 'back' === i.config.grid.position && o && i.globals.dom.elGraphical.add(o.el); var s = new V(e.ctx), l = new $(e.ctx); if (null !== o && (s.xAxisLabelCorrections( o.xAxisTickWidth), l.setYAxisTextAlignments()), 'back' === i.config.annotations.position && (i.globals.dom.Paper.add( i.globals.dom.elAnnotations), n.annotations.drawAxesAnnotations()), Array.isArray( t.elGraph)) for (var c = 0; c < t.elGraph.length; c++) i.globals.dom.elGraphical.add( t.elGraph[c]); else i.globals.dom.elGraphical.add( t.elGraph); if ('front' === i.config.grid.position && o && i.globals.dom.elGraphical.add(o.el), 'front' === i.config.xaxis.crosshairs.position && n.crosshairs.drawXCrosshairs(), 'front' === i.config.yaxis[0].crosshairs.position && n.crosshairs.drawYCrosshairs(), 'front' === i.config.annotations.position && (i.globals.dom.Paper.add( i.globals.dom.elAnnotations), n.annotations.drawAxesAnnotations()), !i.globals.noData) { if (i.config.tooltip.enabled && !i.globals.noData && n.w.globals.tooltip.drawTooltip( t.xyRatios), i.globals.axisCharts && (i.globals.isXNumeric || i.config.xaxis.convertedCatToNumeric || i.globals.isTimelineBar)) (i.config.chart.zoom.enabled || i.config.chart.selection && i.config.chart.selection.enabled || i.config.chart.pan && i.config.chart.pan.enabled) && n.zoomPanSelection.init( { xyRatios: t.xyRatios }); else { var u = i.config.chart.toolbar.tools; [ 'zoom', 'zoomin', 'zoomout', 'selection', 'pan', 'reset'].forEach( (function (e) {u[e] = !1;})); } i.config.chart.toolbar.show && !i.globals.allSeriesCollapsed && n.toolbar.createToolbar(); } i.globals.memory.methodsToExec.length > 0 && i.globals.memory.methodsToExec.forEach((function (e) { e.method(e.params, !1, e.context); })), i.globals.axisCharts || i.globals.noData || n.core.resizeNonAxisCharts(), a(n); })); }, }, { key: 'destroy', value: function () { window.removeEventListener('resize', this.windowResizeHandler), window.removeResizeListener( this.el.parentNode, this.parentResizeHandler); var e = this.w.config.chart.id; e && Apex._chartInstances.forEach((function (t, n) { t.id === p.escapeString(e) && Apex._chartInstances.splice(n, 1); })), new Ie(this.ctx).clear({ isUpdating: !1 }); }, }, { key: 'updateOptions', value: function (e) { var t = this, n = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], i = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], a = !(arguments.length > 3 && void 0 !== arguments[3]) || arguments[3], r = !(arguments.length > 4 && void 0 !== arguments[4]) || arguments[4], o = this.w; return o.globals.selection = void 0, e.series && (this.series.resetSeries(!1, !0, !1), e.series.length && e.series[0].data && (e.series = e.series.map( (function (e, n) { return t.updateHelpers._extendSeries(e, n); }))), this.updateHelpers.revertDefaultAxisMinMax()), e.xaxis && (e = this.updateHelpers.forceXAxisUpdate(e)), e.yaxis && (e = this.updateHelpers.forceYAxisUpdate( e)), o.globals.collapsedSeriesIndices.length > 0 && this.series.clearPreviousPaths(), e.theme && (e = this.theme.updateThemeOptions( e)), this.updateHelpers._updateOptions(e, n, i, a, r); }, }, { key: 'updateSeries', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [], t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2]; return this.series.resetSeries( !1), this.updateHelpers.revertDefaultAxisMinMax(), this.updateHelpers._updateSeries( e, t, n); }, }, { key: 'appendSeries', value: function (e) { var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = !(arguments.length > 2 && void 0 !== arguments[2]) || arguments[2], i = this.w.config.series.slice(); return i.push(e), this.series.resetSeries( !1), this.updateHelpers.revertDefaultAxisMinMax(), this.updateHelpers._updateSeries( i, t, n); }, }, { key: 'appendData', value: function (e) { var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = this; n.w.globals.dataChanged = !0, n.series.getPreviousPaths(); for (var i = n.w.config.series.slice(), a = 0; a < i.length; a++) if (null !== e[a] && void 0 !== e[a]) for (var r = 0; r < e[a].data.length; r++) i[a].data.push(e[a].data[r]); return n.w.config.series = i, t && (n.w.globals.initialSeries = p.clone( n.w.config.series)), this.update(); }, }, { key: 'update', value: function (e) { var t = this; return new Promise((function (n, i) { new Ie(t.ctx).clear({ isUpdating: !0 }); var a = t.create(t.w.config.series, e); if (!a) return n(t); t.mount(a). then((function () { 'function' == typeof t.w.config.chart.events.updated && t.w.config.chart.events.updated(t, t.w), t.events.fireEvent('updated', [t, t.w]), t.w.globals.isDirty = !0, n(t); })). catch((function (e) {i(e);})); })); }, }, { key: 'getSyncedCharts', value: function () { var e = this.getGroupedCharts(), t = [this]; return e.length && (t = [], e.forEach((function (e) {t.push(e);}))), t; }, }, { key: 'getGroupedCharts', value: function () { var e = this; return Apex._chartInstances.filter( (function (e) {if (e.group) return !0;})). map((function (t) { return e.w.config.chart.group === t.group ? t.chart : e; })); }, }, { key: 'toggleSeries', value: function (e) {return this.series.toggleSeries(e);}, }, { key: 'showSeries', value: function (e) {this.series.showSeries(e);}, }, { key: 'hideSeries', value: function (e) {this.series.hideSeries(e);}, }, { key: 'resetSeries', value: function () { var e = !(arguments.length > 0 && void 0 !== arguments[0]) || arguments[0], t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1]; this.series.resetSeries(e, t); }, }, { key: 'addEventListener', value: function (e, t) {this.events.addEventListener(e, t);}, }, { key: 'removeEventListener', value: function (e, t) {this.events.removeEventListener(e, t);}, }, { key: 'addXaxisAnnotation', value: function (e) { var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : void 0, i = this; n && (i = n), i.annotations.addXaxisAnnotationExternal(e, t, i); }, }, { key: 'addYaxisAnnotation', value: function (e) { var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : void 0, i = this; n && (i = n), i.annotations.addYaxisAnnotationExternal(e, t, i); }, }, { key: 'addPointAnnotation', value: function (e) { var t = !(arguments.length > 1 && void 0 !== arguments[1]) || arguments[1], n = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : void 0, i = this; n && (i = n), i.annotations.addPointAnnotationExternal(e, t, i); }, }, { key: 'clearAnnotations', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : void 0, t = this; e && (t = e), t.annotations.clearAnnotations(t); }, }, { key: 'removeAnnotation', value: function (e) { var t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : void 0, n = this; t && (n = t), n.annotations.removeAnnotation(n, e); }, }, { key: 'getChartArea', value: function () { return this.w.globals.dom.baseEl.querySelector( '.apexcharts-inner'); }, }, { key: 'getSeriesTotalXRange', value: function ( e, t) { return this.coreUtils.getSeriesTotalsXRange(e, t); }, }, { key: 'getHighestValueInSeries', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, t = new X(this.ctx); return t.getMinYMaxY(e).highestY; }, }, { key: 'getLowestValueInSeries', value: function () { var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, t = new X(this.ctx); return t.getMinYMaxY(e).lowestY; }, }, { key: 'getSeriesTotal', value: function () {return this.w.globals.seriesTotals;}, }, { key: 'toggleDataPointSelection', value: function ( e, t) { return this.updateHelpers.toggleDataPointSelection(e, t); }, }, { key: 'zoomX', value: function (e, t) { this.ctx.toolbar.zoomUpdateOptions(e, t); }, }, { key: 'setLocale', value: function (e) { this.localization.setCurrentLocaleValues(e); }, }, { key: 'dataURI', value: function () {return new W(this.ctx).dataURI();}, }, { key: 'paper', value: function () {return this.w.globals.dom.Paper;}, }, { key: '_parentResizeCallback', value: function () { !this.w.globals.noData && this.w.globals.animationEnded && this.w.config.chart.redrawOnParentResize && this._windowResize(); }, }, { key: '_windowResize', value: function () { var e = this; clearTimeout( this.w.globals.resizeTimer), this.w.globals.resizeTimer = window.setTimeout( (function () {e.w.globals.resized = !0, e.w.globals.dataChanged = !1, e.ctx.update();}), 150); }, }, { key: '_windowResizeHandler', value: function () { var e = this.w.config.chart.redrawOnWindowResize; 'function' == typeof e && (e = e()), e && this._windowResize(); }, }], [ { key: 'getChartByID', value: function (e) { var t = p.escapeString(e), n = Apex._chartInstances.filter( (function (e) {return e.id === t;}))[0]; return n && n.chart; }, }, { key: 'initOnLoad', value: function () { for (var t = document.querySelectorAll( '[data-apexcharts]'), n = 0; n < t.length; n++) new e( t[n], JSON.parse(t[n].getAttribute('data-options'))).render(); }, }, { key: 'exec', value: function (e, t) { var n = this.getChartByID(e); if (n) { n.w.globals.isExecCalled = !0; var i = null; if (-1 !== n.publicMethods.indexOf(t)) { for (var a = arguments.length, r = new Array( a > 2 ? a - 2 : 0), o = 2; o < a; o++) r[o - 2] = arguments[o]; i = n[t].apply(n, r); } return i; } }, }, { key: 'merge', value: function (e, t) {return p.extend(e, t);}, }]), e; }(); })), /*! * Chart.js v3.3.2 * https://www.chartjs.org * (c) 2021 Chart.js Contributors * Released under the MIT License */ 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).Chart = t(); }(this, (function () { 'use strict'; const e = 'undefined' == typeof window ? function (e) {return e();} : window.requestAnimationFrame; function t (t, n, i) { const a = i || (e => Array.prototype.slice.call(e)); let r = !1, o = []; return function (...i) { o = a(i), r || (r = !0, e.call(window, (() => {r = !1, t.apply(n, o);}))); }; } function n (e, t) { let n; return function () { return t ? (clearTimeout(n), n = setTimeout(e, t)) : e(), t; }; } const i = e => 'start' === e ? 'left' : 'end' === e ? 'right' : 'center', a = (e, t, n) => 'start' === e ? t : 'end' === e ? n : (t + n) / 2, r = (e, t, n) => 'right' === e ? n : 'center' === e ? (t + n) / 2 : t; var o = new class { constructor () {this._request = null, this._charts = new Map, this._running = !1, this._lastDate = void 0;} _notify (e, t, n, i) { const a = t.listeners[i], r = t.duration; a.forEach((i => i({ chart: e, initial: t.initial, numSteps: r, currentStep: Math.min(n - t.start, r), }))); } _refresh () { const t = this; t._request || (t._running = !0, t._request = e.call(window, (() => { t._update(), t._request = null, t._running && t._refresh(); }))); } _update (e = Date.now()) { const t = this; let n = 0; t._charts.forEach(((i, a) => { if (!i.running || !i.items.length) return; const r = i.items; let o, s = r.length - 1, l = !1; for (; s >= 0; --s) o = r[s], o._active ? (o._total > i.duration && (i.duration = o._total), o.tick(e), l = !0) : (r[s] = r[r.length - 1], r.pop()); l && (a.draw(), t._notify(a, i, e, 'progress')), r.length || (i.running = !1, t._notify(a, i, e, 'complete'), i.initial = !1), n += r.length; })), t._lastDate = e, 0 === n && (t._running = !1); } _getAnims (e) { const t = this._charts; let n = t.get(e); return n || (n = { running: !1, initial: !0, items: [], listeners: { complete: [], progress: [] }, }, t.set(e, n)), n; } listen (e, t, n) {this._getAnims(e).listeners[t].push(n);} add (e, t) {t && t.length && this._getAnims(e).items.push(...t);} has (e) {return this._getAnims(e).items.length > 0;} start (e) { const t = this._charts.get(e); t && (t.running = !0, t.start = Date.now(), t.duration = t.items.reduce( ((e, t) => Math.max(e, t._duration)), 0), this._refresh()); } running (e) { if (!this._running) return !1; const t = this._charts.get(e); return !!(t && t.running && t.items.length); } stop (e) { const t = this._charts.get(e); if (!t || !t.items.length) return; const n = t.items; let i = n.length - 1; for (; i >= 0; --i) n[i].cancel(); t.items = [], this._notify(e, t, Date.now(), 'complete'); } remove (e) {return this._charts.delete(e);} }; /*! * @kurkle/color v0.1.9 * https://github.com/kurkle/color#readme * (c) 2020 Jukka Kurkela * Released under the MIT License */ const s = { 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, }, l = '0123456789ABCDEF', c = e => l[15 & e], u = e => l[(240 & e) >> 4] + l[15 & e], d = e => (240 & e) >> 4 == (15 & e); function h (e) { var t = function (e) { return d(e.r) && d(e.g) && d(e.b) && d(e.a); }(e) ? c : u; return e ? '#' + t(e.r) + t(e.g) + t(e.b) + (e.a < 255 ? t(e.a) : '') : e; } function f (e) {return e + .5 | 0;} const p = (e, t, n) => Math.max(Math.min(e, n), t); function m (e) {return p(f(2.55 * e), 0, 255);} function g (e) {return p(f(255 * e), 0, 255);} function v (e) {return p(f(e / 2.55) / 100, 0, 1);} function y (e) {return p(f(100 * e), 0, 100);} const b = /^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/; const x = /^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/; function _ (e, t, n) { const i = t * Math.min(n, 1 - n), a = (t, a = (t + e / 30) % 12) => n - i * Math.max(Math.min(a - 3, 9 - a, 1), -1); return [a(0), a(8), a(4)]; } function w (e, t, n) { const i = (i, a = (i + e / 60) % 6) => n - n * t * Math.max(Math.min(a, 4 - a, 1), 0); return [i(5), i(3), i(1)]; } function k (e, t, n) { const i = _(e, 1, .5); let a; for (t + n > 1 && (a = 1 / (t + n), t *= a, n *= a), a = 0; a < 3; a++) i[a] *= 1 - t - n, i[a] += t; return i; } function M (e) { const t = e.r / 255, n = e.g / 255, i = e.b / 255, a = Math.max(t, n, i), r = Math.min(t, n, i), o = (a + r) / 2; let s, l, c; return a !== r && (c = a - r, l = o > .5 ? c / (2 - a - r) : c / (a + r), s = a === t ? (n - i) / c + (n < i ? 6 : 0) : a === n ? (i - t) / c + 2 : (t - n) / c + 4, s = 60 * s + .5), [0 | s, l || 0, o]; } function L (e, t, n, i) { return (Array.isArray(t) ? e(t[0], t[1], t[2]) : e(t, n, i)).map(g); } function S (e, t, n) {return L(_, e, t, n);} function T (e) {return (e % 360 + 360) % 360;} function A (e) { const t = x.exec(e); let n, i = 255; if (!t) return; t[5] !== n && (i = t[6] ? m(+t[5]) : g(+t[5])); const a = T(+t[2]), r = +t[3] / 100, o = +t[4] / 100; return n = 'hwb' === t[1] ? function (e, t, n) { return L(k, e, t, n); }(a, r, o) : 'hsv' === t[1] ? function (e, t, n) { return L(w, e, t, n); }(a, r, o) : S(a, r, o), { r: n[0], g: n[1], b: n[2], a: i }; } const D = { 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', }, C = { 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 E; function O (e) { E || (E = function () { const e = {}, t = Object.keys(C), n = Object.keys(D); let i, a, r, o, s; for (i = 0; i < t.length; i++) { for (o = s = t[i], a = 0; a < n.length; a++) r = n[a], s = s.replace(r, D[r]); r = parseInt(C[o], 16), e[s] = [ r >> 16 & 255, r >> 8 & 255, 255 & r]; } return e; }(), E.transparent = [0, 0, 0, 0]); const t = E[e.toLowerCase()]; return t && { r: t[0], g: t[1], b: t[2], a: 4 === t.length ? t[3] : 255 }; } function Y (e, t, n) { if (e) { let i = M(e); i[t] = Math.max(0, Math.min(i[t] + i[t] * n, 0 === t ? 360 : 1)), i = S( i), e.r = i[0], e.g = i[1], e.b = i[2]; } } function P (e, t) {return e ? Object.assign(t || {}, e) : e;} function I (e) { var t = { r: 0, g: 0, b: 0, a: 255 }; return Array.isArray(e) ? e.length >= 3 && (t = { r: e[0], g: e[1], b: e[2], a: 255 }, e.length > 3 && (t.a = g(e[3]))) : (t = P(e, { r: 0, g: 0, b: 0, a: 1 })).a = g( t.a), t; } function j (e) { return 'r' === e.charAt(0) ? function (e) { const t = b.exec(e); let n, i, a, r = 255; if (t) { if (t[7] !== n) { const e = +t[7]; r = 255 & (t[8] ? m(e) : 255 * e); } return n = +t[1], i = +t[3], a = +t[5], n = 255 & (t[2] ? m(n) : n), i = 255 & (t[4] ? m(i) : i), a = 255 & (t[6] ? m(a) : a), { r: n, g: i, b: a, a: r, }; } }(e) : A(e); } class N { constructor (e) { if (e instanceof N) return e; const t = typeof e; let n; var i, a, r; 'object' === t ? n = I(e) : 'string' === t && (r = (i = e).length, '#' === i[0] && (4 === r || 5 === r ? a = { r: 255 & 17 * s[i[1]], g: 255 & 17 * s[i[2]], b: 255 & 17 * s[i[3]], a: 5 === r ? 17 * s[i[4]] : 255, } : 7 !== r && 9 !== r || (a = { r: s[i[1]] << 4 | s[i[2]], g: s[i[3]] << 4 | s[i[4]], b: s[i[5]] << 4 | s[i[6]], a: 9 === r ? s[i[7]] << 4 | s[i[8]] : 255, })), n = a || O(e) || j(e)), this._rgb = n, this._valid = !!n; } get valid () {return this._valid;} get rgb () { var e = P(this._rgb); return e && (e.a = v(e.a)), e; } set rgb (e) {this._rgb = I(e);} rgbString () { return this._valid ? (e = this._rgb) && (e.a < 255 ? `rgba(${e.r}, ${e.g}, ${e.b}, ${v(e.a)})` : `rgb(${e.r}, ${e.g}, ${e.b})`) : this._rgb; var e; } hexString () {return this._valid ? h(this._rgb) : this._rgb;} hslString () { return this._valid ? function (e) { if (!e) return; const t = M(e), n = t[0], i = y(t[1]), a = y(t[2]); return e.a < 255 ? `hsla(${n}, ${i}%, ${a}%, ${v(e.a)})` : `hsl(${n}, ${i}%, ${a}%)`; }(this._rgb) : this._rgb; } mix (e, t) { const n = this; if (e) { const i = n.rgb, a = e.rgb; let r; const o = t === r ? .5 : t, s = 2 * o - 1, l = i.a - a.a, c = ((s * l == -1 ? s : (s + l) / (1 + s * l)) + 1) / 2; r = 1 - c, i.r = 255 & c * i.r + r * a.r + .5, i.g = 255 & c * i.g + r * a.g + .5, i.b = 255 & c * i.b + r * a.b + .5, i.a = o * i.a + (1 - o) * a.a, n.rgb = i; } return n; } clone () {return new N(this.rgb);} alpha (e) {return this._rgb.a = g(e), this;} clearer (e) {return this._rgb.a *= 1 - e, this;} greyscale () { const e = this._rgb, t = f(.3 * e.r + .59 * e.g + .11 * e.b); return e.r = e.g = e.b = t, this; } opaquer (e) {return this._rgb.a *= 1 + e, this;} negate () { const e = this._rgb; return e.r = 255 - e.r, e.g = 255 - e.g, e.b = 255 - e.b, this; } lighten (e) {return Y(this._rgb, 2, e), this;} darken (e) {return Y(this._rgb, 2, -e), this;} saturate (e) {return Y(this._rgb, 1, e), this;} desaturate (e) {return Y(this._rgb, 1, -e), this;} rotate (e) { return function (e, t) { var n = M(e); n[0] = T(n[0] + t), n = S( n), e.r = n[0], e.g = n[1], e.b = n[2]; }(this._rgb, e), this; } } function H (e) {return new N(e);} const F = e => e instanceof CanvasGradient || e instanceof CanvasPattern; function R (e) {return F(e) ? e : H(e);} function z (e) { return F(e) ? e : H(e). saturate(.5). darken(.1). hexString(); } function B () {} const W = function () { let e = 0; return function () {return e++;}; }(); function V (e) {return null == e;} function q (e) { if (Array.isArray && Array.isArray(e)) return !0; const t = Object.prototype.toString.call(e); return '[object' === t.substr(0, 7) && 'Array]' === t.substr(-6); } function U (e) { return null !== e && '[object Object]' === Object.prototype.toString.call(e); } const X = e => ('number' == typeof e || e instanceof Number) && isFinite(+e); function $ (e, t) {return X(e) ? e : t;} function G (e, t) {return void 0 === e ? t : e;} const Z = (e, t) => 'string' == typeof e && e.endsWith('%') ? parseFloat(e) / 100 : e / t, K = (e, t) => 'string' == typeof e && e.endsWith('%') ? parseFloat( e) / 100 * t : +e; function J (e, t, n) { if (e && 'function' == typeof e.call) return e.apply(n, t); } function Q (e, t, n, i) { let a, r, o; if (q(e)) if (r = e.length, i) for (a = r - 1; a >= 0; a--) t.call( n, e[a], a); else for (a = 0; a < r; a++) t.call(n, e[a], a); else if (U(e)) for (o = Object.keys( e), r = o.length, a = 0; a < r; a++) t.call(n, e[o[a]], o[a]); } function ee (e, t) { let n, i, a, r; if (!e || !t || e.length !== t.length) return !1; for (n = 0, i = e.length; n < i; ++n) if (a = e[n], r = t[n], a.datasetIndex !== r.datasetIndex || a.index !== r.index) return !1; return !0; } function te (e) { if (q(e)) return e.map(te); if (U(e)) { const t = Object.create(null), n = Object.keys(e), i = n.length; let a = 0; for (; a < i; ++a) t[n[a]] = te(e[n[a]]); return t; } return e; } function ne (e) { return -1 === ['__proto__', 'prototype', 'constructor'].indexOf(e); } function ie (e, t, n, i) { if (!ne(e)) return; const a = t[e], r = n[e]; U(a) && U(r) ? ae(a, r, i) : t[e] = te(r); } function ae (e, t, n) { const i = q(t) ? t : [t], a = i.length; if (!U(e)) return e; const r = (n = n || {}).merger || ie; for (let o = 0; o < a; ++o) { if (!U(t = i[o])) continue; const a = Object.keys(t); for (let i = 0, o = a.length; i < o; ++i) r(a[i], e, t, n); } return e; } function re (e, t) {return ae(e, t, { merger: oe });} function oe (e, t, n) { if (!ne(e)) return; const i = t[e], a = n[e]; U(i) && U(a) ? re(i, a) : Object.prototype.hasOwnProperty.call(t, e) || (t[e] = te(a)); } function se (e, t) { const n = e.indexOf('.', t); return -1 === n ? e.length : n; } function le (e, t) { if ('' === t) return e; let n = 0, i = se(t, n); for (; e && i > n;) e = e[t.substr(n, i - n)], n = i + 1, i = se(t, n); return e; } function ce (e) {return e.charAt(0).toUpperCase() + e.slice(1);} const ue = e => void 0 !== e, de = e => 'function' == typeof e, he = (e, t) => { if (e.size !== t.size) return !1; for (const n of e) if (!t.has(n)) return !1; return !0; }, fe = Object.create(null), pe = Object.create(null); function me (e, t) { if (!t) return e; const n = t.split('.'); for (let t = 0, i = n.length; t < i; ++t) { const i = n[t]; e = e[i] || (e[i] = Object.create(null)); } return e; } function ge (e, t, n) { return 'string' == typeof t ? ae(me(e, t), n) : ae(me(e, ''), t); } var ve = new class { constructor (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 = e => e.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 = (e, t) => z( t.backgroundColor), this.hoverBorderColor = (e, t) => z( t.borderColor), this.hoverColor = (e, t) => z( t.color), this.indexAxis = 'x', this.interaction = { mode: 'nearest', intersect: !0, }, 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.describe( e); } set (e, t) {return ge(this, e, t);} get (e) {return me(this, e);} describe (e, t) {return ge(pe, e, t);} override (e, t) {return ge(fe, e, t);} route (e, t, n, i) { const a = me(this, e), r = me(this, n), o = '_' + t; Object.defineProperties(a, { [o]: { value: a[t], writable: !0 }, [t]: { enumerable: !0, get () { const e = this[o], t = r[i]; return U(e) ? Object.assign({}, t, e) : G(e, t); }, set (e) {this[o] = e;}, }, }); } }({ _scriptable: e => !e.startsWith('on'), _indexable: e => 'events' !== e, hover: { _fallback: 'interaction' }, interaction: { _scriptable: !1, _indexable: !1 }, }); const ye = Math.PI, be = 2 * ye, xe = be + ye, _e = Number.POSITIVE_INFINITY, we = ye / 180, ke = ye / 2, Me = ye / 4, Le = 2 * ye / 3, Se = Math.log10, Te = Math.sign; function Ae (e) { const t = Math.pow(10, Math.floor(Se(e))), n = e / t; return (n <= 1 ? 1 : n <= 2 ? 2 : n <= 5 ? 5 : 10) * t; } function De (e) { const t = [], n = Math.sqrt(e); let i; for (i = 1; i < n; i++) e % i == 0 && (t.push(i), t.push(e / i)); return n === (0 | n) && t.push(n), t.sort(((e, t) => e - t)). pop(), t; } function Ce (e) {return !isNaN(parseFloat(e)) && isFinite(e);} function Ee (e, t, n) {return Math.abs(e - t) < n;} function Oe (e, t) { const n = Math.round(e); return n - t <= e && n + t >= e; } function Ye (e, t, n) { let i, a, r; for (i = 0, a = e.length; i < a; i++) r = e[i][n], isNaN(r) || (t.min = Math.min(t.min, r), t.max = Math.max(t.max, r)); } function Pe (e) {return e * (ye / 180);} function Ie (e) {return e * (180 / ye);} function je (e) { if (!X(e)) return; let t = 1, n = 0; for (; Math.round(e * t) / t !== e;) t *= 10, n++; return n; } function Ne (e, t) { const n = t.x - e.x, i = t.y - e.y, a = Math.sqrt(n * n + i * i); let r = Math.atan2(i, n); return r < -.5 * ye && (r += be), { angle: r, distance: a }; } function He (e, t) { return Math.sqrt(Math.pow(t.x - e.x, 2) + Math.pow(t.y - e.y, 2)); } function Fe (e, t) {return (e - t + xe) % be - ye;} function Re (e) {return (e % be + be) % be;} function ze (e, t, n, i) { const a = Re(e), r = Re(t), o = Re(n), s = Re(r - a), l = Re(o - a), c = Re(a - r), u = Re(a - o); return a === r || a === o || i && r === o || s > l && c < u; } function Be (e, t, n) {return Math.max(t, Math.min(n, e));} function We (e) {return Be(e, -32768, 32767);} function Ve (e) { return !e || V(e.size) || V(e.family) ? null : (e.style ? e.style + ' ' : '') + (e.weight ? e.weight + ' ' : '') + e.size + 'px ' + e.family; } function qe (e, t, n, i, a) { let r = t[a]; return r || (r = t[a] = e.measureText(a).width, n.push(a)), r > i && (i = r), i; } function Ue (e, t, n, i) { let a = (i = i || {}).data = i.data || {}, r = i.garbageCollect = i.garbageCollect || []; i.font !== t && (a = i.data = {}, r = i.garbageCollect = [], i.font = t), e.save(), e.font = t; let o = 0; const s = n.length; let l, c, u, d, h; for (l = 0; l < s; l++) if (d = n[l], null != d && !0 !== q(d)) o = qe(e, a, r, o, d); else if (q( d)) for (c = 0, u = d.length; c < u; c++) h = d[c], null == h || q(h) || (o = qe(e, a, r, o, h)); e.restore(); const f = r.length / 2; if (f > n.length) { for (l = 0; l < f; l++) delete a[r[l]]; r.splice(0, f); } return o; } function Xe (e, t, n) { const i = e.currentDevicePixelRatio, a = 0 !== n ? Math.max(n / 2, .5) : 0; return Math.round((t - a) * i) / i + a; } function $e (e, t) { (t = t || e.getContext('2d')).save(), t.resetTransform(), t.clearRect(0, 0, e.width, e.height), t.restore(); } function Ge (e, t, n, i) { let a, r, o, s, l; const c = t.pointStyle, u = t.rotation, d = t.radius; let h = (u || 0) * we; if (c && 'object' == typeof c && (a = c.toString(), '[object HTMLImageElement]' === a || '[object HTMLCanvasElement]' === a)) return e.save(), e.translate(n, i), e.rotate( h), e.drawImage(c, -c.width / 2, -c.height / 2, c.width, c.height), void e.restore(); if (!(isNaN(d) || d <= 0)) { switch (e.beginPath(), c) { default: e.arc(n, i, d, 0, be), e.closePath(); break; case'triangle': e.moveTo(n + Math.sin(h) * d, i - Math.cos(h) * d), h += Le, e.lineTo( n + Math.sin(h) * d, i - Math.cos(h) * d), h += Le, e.lineTo( n + Math.sin(h) * d, i - Math.cos(h) * d), e.closePath(); break; case'rectRounded': l = .516 * d, s = d - l, r = Math.cos(h + Me) * s, o = Math.sin(h + Me) * s, e.arc(n - r, i - o, l, h - ye, h - ke), e.arc(n + o, i - r, l, h - ke, h), e.arc(n + r, i + o, l, h, h + ke), e.arc(n - o, i + r, l, h + ke, h + ye), e.closePath(); break; case'rect': if (!u) { s = Math.SQRT1_2 * d, e.rect(n - s, i - s, 2 * s, 2 * s); break; } h += Me; case'rectRot': r = Math.cos(h) * d, o = Math.sin(h) * d, e.moveTo( n - r, i - o), e.lineTo(n + o, i - r), e.lineTo( n + r, i + o), e.lineTo(n - o, i + r), e.closePath(); break; case'crossRot': h += Me; case'cross': r = Math.cos(h) * d, o = Math.sin(h) * d, e.moveTo( n - r, i - o), e.lineTo(n + r, i + o), e.moveTo( n + o, i - r), e.lineTo(n - o, i + r); break; case'star': r = Math.cos(h) * d, o = Math.sin(h) * d, e.moveTo( n - r, i - o), e.lineTo(n + r, i + o), e.moveTo( n + o, i - r), e.lineTo(n - o, i + r), h += Me, r = Math.cos(h) * d, o = Math.sin( h) * d, e.moveTo(n - r, i - o), e.lineTo(n + r, i + o), e.moveTo(n + o, i - r), e.lineTo(n - o, i + r); break; case'line': r = Math.cos(h) * d, o = Math.sin(h) * d, e.moveTo( n - r, i - o), e.lineTo(n + r, i + o); break; case'dash': e.moveTo(n, i), e.lineTo(n + Math.cos(h) * d, i + Math.sin(h) * d); } e.fill(), t.borderWidth > 0 && e.stroke(); } } function Ze (e, t, n) { return n = n || .5, e && e.x > t.left - n && e.x < t.right + n && e.y > t.top - n && e.y < t.bottom + n; } function Ke (e, t) { e.save(), e.beginPath(), e.rect(t.left, t.top, t.right - t.left, t.bottom - t.top), e.clip(); } function Je (e) {e.restore();} function Qe (e, t, n, i, a) { if (!t) return e.lineTo(n.x, n.y); if ('middle' === a) { const i = (t.x + n.x) / 2; e.lineTo(i, t.y), e.lineTo(i, n.y); } else 'after' === a != !!i ? e.lineTo(t.x, n.y) : e.lineTo(n.x, t.y); e.lineTo(n.x, n.y); } function et (e, t, n, i) { if (!t) return e.lineTo(n.x, n.y); e.bezierCurveTo(i ? t.cp1x : t.cp2x, i ? t.cp1y : t.cp2y, i ? n.cp2x : n.cp1x, i ? n.cp2y : n.cp1y, n.x, n.y); } function tt (e, t, n, i, a, r = {}) { const o = q(t) ? t : [t], s = r.strokeWidth > 0 && '' !== r.strokeColor; let l, c; for (e.save(), r.translation && e.translate(r.translation[0], r.translation[1]), V(r.rotation) || e.rotate(r.rotation), e.font = a.string, r.color && (e.fillStyle = r.color), r.textAlign && (e.textAlign = r.textAlign), r.textBaseline && (e.textBaseline = r.textBaseline), l = 0; l < o.length; ++l) { if (c = o[l], s && (r.strokeColor && (e.strokeStyle = r.strokeColor), V( r.strokeWidth) || (e.lineWidth = r.strokeWidth), e.strokeText(c, n, i, r.maxWidth)), e.fillText(c, n, i, r.maxWidth), r.strikethrough || r.underline) { const t = e.measureText(c), a = n - t.actualBoundingBoxLeft, o = n + t.actualBoundingBoxRight, s = i - t.actualBoundingBoxAscent, l = i + t.actualBoundingBoxDescent, u = r.strikethrough ? (s + l) / 2 : l; e.strokeStyle = e.fillStyle, e.beginPath(), e.lineWidth = r.decorationWidth || 2, e.moveTo(a, u), e.lineTo(o, u), e.stroke(); } i += a.lineHeight; } e.restore(); } function nt (e, t) { const { x: n, y: i, w: a, h: r, radius: o } = t; e.arc(n + o.topLeft, i + o.topLeft, o.topLeft, -ke, ye, !0), e.lineTo(n, i + r - o.bottomLeft), e.arc(n + o.bottomLeft, i + r - o.bottomLeft, o.bottomLeft, ye, ke, !0), e.lineTo( n + a - o.bottomRight, i + r), e.arc(n + a - o.bottomRight, i + r - o.bottomRight, o.bottomRight, ke, 0, !0), e.lineTo( n + a, i + o.topRight), e.arc(n + a - o.topRight, i + o.topRight, o.topRight, 0, -ke, !0), e.lineTo(n + o.topLeft, i); } function it (e, t, n) { n = n || (n => e[n] < t); let i, a = e.length - 1, r = 0; for (; a - r > 1;) i = r + a >> 1, n(i) ? r = i : a = i; return { lo: r, hi: a }; } const at = (e, t, n) => it(e, n, (i => e[i][t] < n)), rt = (e, t, n) => it(e, n, (i => e[i][t] >= n)); function ot (e, t, n) { let i = 0, a = e.length; for (; i < a && e[i] < t;) i++; for (; a > i && e[a - 1] > n;) a--; return i > 0 || a < e.length ? e.slice(i, a) : e; } const st = ['push', 'pop', 'shift', 'splice', 'unshift']; function lt (e, t) { e._chartjs ? e._chartjs.listeners.push(t) : (Object.defineProperty(e, '_chartjs', { configurable: !0, enumerable: !1, value: { listeners: [t] }, }), st.forEach((t => { const n = '_onData' + ce(t), i = e[t]; Object.defineProperty(e, t, { configurable: !0, enumerable: !1, value (...t) { const a = i.apply(this, t); return e._chartjs.listeners.forEach( (e => { 'function' == typeof e[n] && e[n](...t); })), a; }, }); }))); } function ct (e, t) { const n = e._chartjs; if (!n) return; const i = n.listeners, a = i.indexOf(t); -1 !== a && i.splice(a, 1), i.length > 0 || (st.forEach((t => {delete e[t];})), delete e._chartjs); } function ut (e) { const t = new Set; let n, i; for (n = 0, i = e.length; n < i; ++n) t.add(e[n]); if (t.size === i) return e; const a = []; return t.forEach((e => {a.push(e);})), a; } function dt (e) { let t = e.parentNode; return t && '[object ShadowRoot]' === t.toString() && (t = t.host), t; } function ht (e, t, n) { let i; return 'string' == typeof e ? (i = parseInt(e, 10), -1 !== e.indexOf('%') && (i = i / 100 * t.parentNode[n])) : i = e, i; } const ft = e => window.getComputedStyle(e, null); function pt (e, t) {return ft(e).getPropertyValue(t);} const mt = ['top', 'right', 'bottom', 'left']; function gt (e, t, n) { const i = {}; n = n ? '-' + n : ''; for (let a = 0; a < 4; a++) { const r = mt[a]; i[r] = parseFloat(e[t + '-' + r + n]) || 0; } return i.width = i.left + i.right, i.height = i.top + i.bottom, i; } function vt (e, t) { const { canvas: n, currentDevicePixelRatio: i } = t, a = ft(n), r = 'border-box' === a.boxSizing, o = gt(a, 'padding'), s = gt(a, 'border', 'width'), { x: l, y: c, box: u, } = function ( e, t) { const n = e.native || e, i = n.touches, a = i && i.length ? i[0] : n, { offsetX: r, offsetY: o, } = a; let s, l, c = !1; if (((e, t, n) => (e > 0 || t > 0) && (!n || !n.shadowRoot))(r, o, n.target)) s = r, l = o; else { const e = t.getBoundingClientRect(); s = a.clientX - e.left, l = a.clientY - e.top, c = !0; } return { x: s, y: l, box: c }; }(e, n), d = o.left + (u && s.left), h = o.top + (u && s.top); let { width: f, height: p } = t; return r && (f -= o.width + s.width, p -= o.height + s.height), { x: Math.round((l - d) / f * n.width / i), y: Math.round((c - h) / p * n.height / i), }; } const yt = e => Math.round(10 * e) / 10; function bt (e, t, n, i) { const a = ft(e), r = gt(a, 'margin'), o = ht(a.maxWidth, e, 'clientWidth') || _e, s = ht(a.maxHeight, e, 'clientHeight') || _e, l = function (e, t, n) { let i, a; if (void 0 === t || void 0 === n) { const r = dt(e); if (r) { const e = r.getBoundingClientRect(), o = ft(r), s = gt(o, 'border', 'width'), l = gt(o, 'padding'); t = e.width - l.width - s.width, n = e.height - l.height - s.height, i = ht(o.maxWidth, r, 'clientWidth'), a = ht(o.maxHeight, r, 'clientHeight'); } else t = e.clientWidth, n = e.clientHeight; } return { width: t, height: n, maxWidth: i || _e, maxHeight: a || _e, }; }(e, t, n); let { width: c, height: u } = l; if ('content-box' === a.boxSizing) { const e = gt(a, 'border', 'width'), t = gt(a, 'padding'); c -= t.width + e.width, u -= t.height + e.height; } return c = Math.max(0, c - r.width), u = Math.max(0, i ? Math.floor(c / i) : u - r.height), c = yt( Math.min(c, o, l.maxWidth)), u = yt( Math.min(u, s, l.maxHeight)), c && !u && (u = yt(c / 2)), { width: c, height: u }; } function xt (e, t, n) { const i = t || 1, a = Math.floor(e.height * i), r = Math.floor(e.width * i); e.height = a / i, e.width = r / i; const o = e.canvas; return o.style && (n || !o.style.height && !o.style.width) && (o.style.height = `${e.height}px`, o.style.width = `${e.width}px`), (e.currentDevicePixelRatio !== i || o.height !== a || o.width !== r) && (e.currentDevicePixelRatio = i, o.height = a, o.width = r, e.ctx.setTransform( i, 0, 0, i, 0, 0), !0); } const _t = function () { let e = !1; try { const t = { get passive () {return e = !0, !1;} }; window.addEventListener('test', null, t), window.removeEventListener('test', null, t); } catch (e) {} return e; }(); function wt (e, t) { const n = pt(e, t), i = n && n.match(/^(\d+)(\.\d+)?px$/); return i ? +i[1] : void 0; } function kt (e, t) { return 'native' in e ? { x: e.x, y: e.y } : vt(e, t); } function Mt (e, t, n, i) { const { controller: a, data: r, _sorted: o, } = e, s = a._cachedMeta.iScale; if (s && t === s.axis && o && r.length) { const e = s._reversePixels ? rt : at; if (!i) return e(r, t, n); if (a._sharedOptions) { const i = r[0], a = 'function' == typeof i.getRange && i.getRange(t); if (a) { const i = e(r, t, n - a), o = e(r, t, n + a); return { lo: i.lo, hi: o.hi }; } } } return { lo: 0, hi: r.length - 1 }; } function Lt (e, t, n, i, a) { const r = e.getSortedVisibleDatasetMetas(), o = n[t]; for (let e = 0, n = r.length; e < n; ++e) { const { index: n, data: s, } = r[e], { lo: l, hi: c } = Mt(r[e], t, o, a); for (let e = l; e <= c; ++e) { const t = s[e]; t.skip || i(t, n, e); } } } function St (e, t, n, i) { const a = []; if (!Ze(t, e.chartArea, e._minPadding)) return a; return Lt(e, n, t, (function (e, n, r) { e.inRange(t.x, t.y, i) && a.push({ element: e, datasetIndex: n, index: r }); }), !0), a; } function Tt (e, t, n, i, a) { const r = function (e) { const t = -1 !== e.indexOf('x'), n = -1 !== e.indexOf('y'); return function (e, i) { const a = t ? Math.abs(e.x - i.x) : 0, r = n ? Math.abs(e.y - i.y) : 0; return Math.sqrt(Math.pow(a, 2) + Math.pow(r, 2)); }; }(n); let o = Number.POSITIVE_INFINITY, s = []; if (!Ze(t, e.chartArea, e._minPadding)) return s; return Lt(e, n, t, (function (n, l, c) { if (i && !n.inRange(t.x, t.y, a)) return; const u = n.getCenterPoint(a); if (!Ze(u, e.chartArea, e._minPadding)) return; const d = r(t, u); d < o ? (s = [ { element: n, datasetIndex: l, index: c, }], o = d) : d === o && s.push({ element: n, datasetIndex: l, index: c }); })), s; } function At (e, t, n, i) { const a = kt(t, e), r = [], o = n.axis, s = 'x' === o ? 'inXRange' : 'inYRange'; let l = !1; return function (e, t) { const n = e.getSortedVisibleDatasetMetas(); let i, a, r; for (let e = 0, o = n.length; e < o; ++e) { ({ index: i, data: a, } = n[e]); for (let e = 0, n = a.length; e < n; ++e) r = a[e], r.skip || t(r, i, e); } }(e, ((e, t, n) => { e[s](a[o], i) && r.push({ element: e, datasetIndex: t, index: n }), e.inRange( a.x, a.y, i) && (l = !0); })), n.intersect && !l ? [] : r; } var Dt = { modes: { index (e, t, n, i) { const a = kt(t, e), r = n.axis || 'x', o = n.intersect ? St(e, a, r, i) : Tt(e, a, r, !1, i), s = []; return o.length ? (e.getSortedVisibleDatasetMetas(). forEach((e => { const t = o[0].index, n = e.data[t]; n && !n.skip && s.push( { element: n, datasetIndex: e.index, index: t, }); })), s) : []; }, dataset (e, t, n, i) { const a = kt(t, e), r = n.axis || 'xy'; let o = n.intersect ? St(e, a, r, i) : Tt(e, a, r, !1, i); if (o.length > 0) { const t = o[0].datasetIndex, n = e.getDatasetMeta(t).data; o = []; for (let e = 0; e < n.length; ++e) o.push( { element: n[e], datasetIndex: t, index: e }); } return o; }, point: (e, t, n, i) => St(e, kt(t, e), n.axis || 'xy', i), nearest: (e, t, n, i) => Tt(e, kt(t, e), n.axis || 'xy', n.intersect, i), x: (e, t, n, i) => (n.axis = 'x', At(e, t, n, i)), y: (e, t, n, i) => (n.axis = 'y', At(e, t, n, i)), }, }; const Ct = new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/), Et = new RegExp( /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/); function Ot (e, t) { const n = ('' + e).match(Ct); if (!n || 'normal' === n[1]) return 1.2 * t; switch (e = +n[2], n[3]) { case'px': return e; case'%': e /= 100; } return t * e; } function Yt (e, t) { const n = {}, i = U(t), a = i ? Object.keys(t) : t, r = U(e) ? i ? n => G(e[n], e[t[n]]) : t => e[t] : () => e; for (const e of a) n[e] = +r(e) || 0; return n; } function Pt (e) { return Yt(e, { top: 'y', right: 'x', bottom: 'y', left: 'x' }); } function It (e) { return Yt(e, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']); } function jt (e) { const t = Pt(e); return t.width = t.left + t.right, t.height = t.top + t.bottom, t; } function Nt (e, t) { e = e || {}, t = t || ve.font; let n = G(e.size, t.size); 'string' == typeof n && (n = parseInt(n, 10)); let i = G(e.style, t.style); i && !('' + i).match(Et) && (console.warn('Invalid font style specified: "' + i + '"'), i = ''); const a = { family: G(e.family, t.family), lineHeight: Ot(G(e.lineHeight, t.lineHeight), n), size: n, style: i, weight: G(e.weight, t.weight), string: '', }; return a.string = Ve(a), a; } function Ht (e, t, n, i) { let a, r, o, s = !0; for (a = 0, r = e.length; a < r; ++a) if (o = e[a], void 0 !== o && (void 0 !== t && 'function' == typeof o && (o = o(t), s = !1), void 0 !== n && q(o) && (o = o[n % o.length], s = !1), void 0 !== o)) return i && !s && (i.cacheable = !1), o; } function Ft (e, t) { const { min: n, max: i } = e; return { min: n - Math.abs(K(t, n)), max: i + K(t, i) }; } const Rt = ['left', 'top', 'right', 'bottom']; function zt (e, t) {return e.filter((e => e.pos === t));} function Bt (e, t) { return e.filter( (e => -1 === Rt.indexOf(e.pos) && e.box.axis === t)); } function Wt (e, t) { return e.sort(((e, n) => { const i = t ? n : e, a = t ? e : n; return i.weight === a.weight ? i.index - a.index : i.weight - a.weight; })); } function Vt (e, t, n, i) { return Math.max(e[n], t[n]) + Math.max(e[i], t[i]); } function qt (e, t) { e.top = Math.max(e.top, t.top), e.left = Math.max(e.left, t.left), e.bottom = Math.max(e.bottom, t.bottom), e.right = Math.max(e.right, t.right); } function Ut (e, t, n) { const i = n.box, a = e.maxPadding; U(n.pos) || (n.size && (e[n.pos] -= n.size), n.size = n.horizontal ? i.height : i.width, e[n.pos] += n.size), i.getPadding && qt(a, i.getPadding()); const r = Math.max(0, t.outerWidth - Vt(a, e, 'left', 'right')), o = Math.max(0, t.outerHeight - Vt(a, e, 'top', 'bottom')), s = r !== e.w, l = o !== e.h; return e.w = r, e.h = o, n.horizontal ? { same: s, other: l } : { same: l, other: s }; } function Xt (e, t) { const n = t.maxPadding; function i (e) { const i = { left: 0, top: 0, right: 0, bottom: 0 }; return e.forEach((e => {i[e] = Math.max(t[e], n[e]);})), i; } return i(e ? ['left', 'right'] : ['top', 'bottom']); } function $t (e, t, n) { const i = []; let a, r, o, s, l, c; for (a = 0, r = e.length, l = 0; a < r; ++a) { o = e[a], s = o.box, s.update(o.width || t.w, o.height || t.h, Xt(o.horizontal, t)); const { same: r, other: u } = Ut(t, n, o); l |= r && i.length, c = c || u, s.fullSize || i.push(o); } return l && $t(i, t, n) || c; } function Gt (e, t, n) { const i = n.padding; let a, r, o, s, l = t.x, c = t.y; for (a = 0, r = e.length; a < r; ++a) o = e[a], s = o.box, o.horizontal ? (s.left = s.fullSize ? i.left : t.left, s.right = s.fullSize ? n.outerWidth - i.right : t.left + t.w, s.top = c, s.bottom = c + s.height, s.width = s.right - s.left, c = s.bottom) : (s.left = l, s.right = l + s.width, s.top = s.fullSize ? i.top : t.top, s.bottom = s.fullSize ? n.outerHeight - i.right : t.top + t.h, s.height = s.bottom - s.top, l = s.right); t.x = l, t.y = c; } ve.set('layout', { padding: { top: 0, right: 0, bottom: 0, left: 0 } }); var Zt = { addBox (e, t) { e.boxes || (e.boxes = []), t.fullSize = t.fullSize || !1, t.position = t.position || 'top', t.weight = t.weight || 0, t._layers = t._layers || function () { return [ { z: 0, draw (e) {t.draw(e);}, }]; }, e.boxes.push(t); }, removeBox (e, t) { const n = e.boxes ? e.boxes.indexOf(t) : -1; -1 !== n && e.boxes.splice(n, 1); }, configure (e, t, n) {t.fullSize = n.fullSize, t.position = n.position, t.weight = n.weight;}, update (e, t, n, i) { if (!e) return; const a = jt(e.options.layout.padding), r = Math.max(t - a.width, 0), o = Math.max(n - a.height, 0), s = function (e) { const t = function (e) { const t = []; let n, i, a; for (n = 0, i = (e || []).length; n < i; ++n) a = e[n], t.push({ index: n, box: a, pos: a.position, horizontal: a.isHorizontal(), weight: a.weight, }); return t; }(e), n = Wt(t.filter((e => e.box.fullSize)), !0), i = Wt(zt(t, 'left'), !0), a = Wt(zt(t, 'right')), r = Wt(zt(t, 'top'), !0), o = Wt(zt(t, 'bottom')), s = Bt(t, 'x'), l = Bt(t, 'y'); return { fullSize: n, leftAndTop: i.concat(r), rightAndBottom: a.concat(l).concat(o).concat(s), chartArea: zt(t, 'chartArea'), vertical: i.concat(a).concat(l), horizontal: r.concat(o).concat(s), }; }(e.boxes), l = s.vertical, c = s.horizontal; Q(e.boxes, (e => { 'function' == typeof e.beforeLayout && e.beforeLayout(); })); const u = l.reduce( ((e, t) => t.box.options && !1 === t.box.options.display ? e : e + 1), 0) || 1, d = Object.freeze({ outerWidth: t, outerHeight: n, padding: a, availableWidth: r, availableHeight: o, vBoxMaxWidth: r / 2 / u, hBoxMaxHeight: o / 2, }), h = Object.assign({}, a); qt(h, jt(i)); const f = Object.assign( { maxPadding: h, w: r, h: o, x: a.left, y: a.top }, a); !function (e, t) { let n, i, a; for (n = 0, i = e.length; n < i; ++n) a = e[n], a.horizontal ? (a.width = a.box.fullSize && t.availableWidth, a.height = t.hBoxMaxHeight) : (a.width = t.vBoxMaxWidth, a.height = a.box.fullSize && t.availableHeight); }(l.concat(c), d), $t(s.fullSize, f, d), $t(l, f, d), $t(c, f, d) && $t(l, f, d), function (e) { const t = e.maxPadding; function n (n) { const i = Math.max(t[n] - e[n], 0); return e[n] += i, i; } e.y += n('top'), e.x += n('left'), n('right'), n('bottom'); }(f), Gt(s.leftAndTop, f, d), f.x += f.w, f.y += f.h, Gt( s.rightAndBottom, f, d), e.chartArea = { left: f.left, top: f.top, right: f.left + f.w, bottom: f.top + f.h, height: f.h, width: f.w, }, Q(s.chartArea, (t => { const n = t.box; Object.assign(n, e.chartArea), n.update(f.w, f.h); })); }, }; class Kt { acquireContext (e, t) {} releaseContext (e) {return !1;} addEventListener (e, t, n) {} removeEventListener (e, t, n) {} getDevicePixelRatio () {return 1;} getMaximumSize (e, t, n, i) { return t = Math.max(0, t || e.width), n = n || e.height, { width: t, height: Math.max(0, i ? Math.floor(t / i) : n), }; } isAttached (e) {return !0;} } class Jt extends Kt { acquireContext (e) { return e && e.getContext && e.getContext('2d') || null; } } const Qt = { touchstart: 'mousedown', touchmove: 'mousemove', touchend: 'mouseup', pointerenter: 'mouseenter', pointerdown: 'mousedown', pointermove: 'mousemove', pointerup: 'mouseup', pointerleave: 'mouseout', pointerout: 'mouseout', }, en = e => null === e || '' === e; const tn = !!_t && { passive: !0 }; function nn (e, t, n) {e.canvas.removeEventListener(t, n, tn);} function an (e, t, n) { const i = e.canvas, a = i && dt(i) || i, r = new MutationObserver((e => { const t = dt(a); e.forEach((e => { for (let i = 0; i < e.addedNodes.length; i++) { const r = e.addedNodes[i]; r !== a && r !== t || n(e.target); } })); })); return r.observe(document, { childList: !0, subtree: !0 }), r; } function rn (e, t, n) { const i = e.canvas, a = i && dt(i); if (!a) return; const r = new MutationObserver((e => { e.forEach((e => { for (let t = 0; t < e.removedNodes.length; t++) if (e.removedNodes[t] === i) { n(); break; } })); })); return r.observe(a, { childList: !0 }), r; } const on = new Map; let sn = 0; function ln () { const e = window.devicePixelRatio; e !== sn && (sn = e, on.forEach( ((t, n) => {n.currentDevicePixelRatio !== e && t();}))); } function cn (e, n, i) { const a = e.canvas, r = a && dt(a); if (!r) return; const o = t(((e, t) => { const n = r.clientWidth; i(e, t), n < r.clientWidth && i(); }), window), s = new ResizeObserver((e => { const t = e[0], n = t.contentRect.width, i = t.contentRect.height; 0 === n && 0 === i || o(n, i); })); return s.observe(r), function (e, t) { on.size || window.addEventListener('resize', ln), on.set(e, t); }(e, o), s; } function un (e, t, n) { n && n.disconnect(), 'resize' === t && function (e) { on.delete(e), on.size || window.removeEventListener('resize', ln); }(e); } function dn (e, n, i) { const a = e.canvas, r = t((t => { null !== e.ctx && i(function (e, t) { const n = Qt[e.type] || e.type, { x: i, y: a, } = vt(e, t); return { type: n, chart: t, native: e, x: void 0 !== i ? i : null, y: void 0 !== a ? a : null, }; }(t, e)); }), e, (e => { const t = e[0]; return [t, t.offsetX, t.offsetY]; })); return function (e, t, n) {e.addEventListener(t, n, tn);}(a, n, r), r; } class hn extends Kt { acquireContext (e, t) { const n = e && e.getContext && e.getContext('2d'); return n && n.canvas === e ? (function ( e, t) { const n = e.style, i = e.getAttribute('height'), a = e.getAttribute('width'); if (e.$chartjs = { initial: { height: i, width: a, style: { display: n.display, height: n.height, width: n.width, }, }, }, n.display = n.display || 'block', n.boxSizing = n.boxSizing || 'border-box', en( a)) { const t = wt(e, 'width'); void 0 !== t && (e.width = t); } if (en(i)) if ('' === e.style.height) e.height = e.width / (t || 2); else { const t = wt(e, 'height'); void 0 !== t && (e.height = t); } }(e, t), n) : null; } releaseContext (e) { const t = e.canvas; if (!t.$chartjs) return !1; const n = t.$chartjs.initial; ['height', 'width'].forEach((e => { const i = n[e]; V(i) ? t.removeAttribute(e) : t.setAttribute(e, i); })); const i = n.style || {}; return Object.keys(i). forEach( (e => {t.style[e] = i[e];})), t.width = t.width, delete t.$chartjs, !0; } addEventListener (e, t, n) { this.removeEventListener(e, t); const i = e.$proxies || (e.$proxies = {}), a = { attach: an, detach: rn, resize: cn }[t] || dn; i[t] = a(e, t, n); } removeEventListener (e, t) { const n = e.$proxies || (e.$proxies = {}), i = n[t]; if (!i) return; ({ attach: un, detach: un, resize: un }[t] || nn)(e, t, i), n[t] = void 0; } getDevicePixelRatio () {return window.devicePixelRatio;} getMaximumSize (e, t, n, i) {return bt(e, t, n, i);} isAttached (e) { const t = dt(e); return !(!t || !dt(t)); } } var fn = Object.freeze({ __proto__: null, BasePlatform: Kt, BasicPlatform: Jt, DomPlatform: hn, }); const pn = e => 0 === e || 1 === e, mn = (e, t, n) => -Math.pow(2, 10 * (e -= 1)) * Math.sin((e - t) * be / n), gn = (e, t, n) => Math.pow(2, -10 * e) * Math.sin((e - t) * be / n) + 1, vn = { linear: e => e, easeInQuad: e => e * e, easeOutQuad: e => -e * (e - 2), easeInOutQuad: e => (e /= .5) < 1 ? .5 * e * e : -.5 * (--e * (e - 2) - 1), easeInCubic: e => e * e * e, easeOutCubic: e => (e -= 1) * e * e + 1, easeInOutCubic: e => (e /= .5) < 1 ? .5 * e * e * e : .5 * ((e -= 2) * e * e + 2), easeInQuart: e => e * e * e * e, easeOutQuart: e => -((e -= 1) * e * e * e - 1), easeInOutQuart: e => (e /= .5) < 1 ? .5 * e * e * e * e : -.5 * ((e -= 2) * e * e * e - 2), easeInQuint: e => e * e * e * e * e, easeOutQuint: e => (e -= 1) * e * e * e * e + 1, easeInOutQuint: e => (e /= .5) < 1 ? .5 * e * e * e * e * e : .5 * ((e -= 2) * e * e * e * e + 2), easeInSine: e => 1 - Math.cos(e * ke), easeOutSine: e => Math.sin(e * ke), easeInOutSine: e => -.5 * (Math.cos(ye * e) - 1), easeInExpo: e => 0 === e ? 0 : Math.pow(2, 10 * (e - 1)), easeOutExpo: e => 1 === e ? 1 : 1 - Math.pow(2, -10 * e), easeInOutExpo: e => pn(e) ? e : e < .5 ? .5 * Math.pow(2, 10 * (2 * e - 1)) : .5 * (2 - Math.pow(2, -10 * (2 * e - 1))), easeInCirc: e => e >= 1 ? e : -(Math.sqrt(1 - e * e) - 1), easeOutCirc: e => Math.sqrt(1 - (e -= 1) * e), easeInOutCirc: e => (e /= .5) < 1 ? -.5 * (Math.sqrt(1 - e * e) - 1) : .5 * (Math.sqrt(1 - (e -= 2) * e) + 1), easeInElastic: e => pn(e) ? e : mn(e, .075, .3), easeOutElastic: e => pn(e) ? e : gn(e, .075, .3), easeInOutElastic (e) { const t = .1125; return pn(e) ? e : e < .5 ? .5 * mn(2 * e, t, .45) : .5 + .5 * gn(2 * e - 1, t, .45); }, easeInBack (e) { const t = 1.70158; return e * e * ((t + 1) * e - t); }, easeOutBack (e) { const t = 1.70158; return (e -= 1) * e * ((t + 1) * e + t) + 1; }, easeInOutBack (e) { let t = 1.70158; return (e /= .5) < 1 ? e * e * ((1 + (t *= 1.525)) * e - t) * .5 : .5 * ((e -= 2) * e * ((1 + (t *= 1.525)) * e + t) + 2); }, easeInBounce: e => 1 - vn.easeOutBounce(1 - e), easeOutBounce (e) { const t = 7.5625, n = 2.75; return e < 1 / n ? t * e * e : e < 2 / n ? t * (e -= 1.5 / n) * e + .75 : e < 2.5 / n ? t * (e -= 2.25 / n) * e + .9375 : t * (e -= 2.625 / n) * e + .984375; }, easeInOutBounce: e => e < .5 ? .5 * vn.easeInBounce(2 * e) : .5 * vn.easeOutBounce(2 * e - 1) + .5, }, yn = 'transparent', bn = { boolean: (e, t, n) => n > .5 ? t : e, color (e, t, n) { const i = R(e || yn), a = i.valid && R(t || yn); return a && a.valid ? a.mix(i, n).hexString() : t; }, number: (e, t, n) => e + (t - e) * n, }; class xn { constructor (e, t, n, i) { const a = t[n]; i = Ht([e.to, i, a, e.from]); const r = Ht([e.from, a, i]); this._active = !0, this._fn = e.fn || bn[e.type || typeof r], this._easing = vn[e.easing] || vn.linear, this._start = Math.floor(Date.now() + (e.delay || 0)), this._duration = this._total = Math.floor( e.duration), this._loop = !!e.loop, this._target = t, this._prop = n, this._from = r, this._to = i, this._promises = void 0; } active () {return this._active;} update (e, t, n) { const i = this; if (i._active) { i._notify(!1); const a = i._target[i._prop], r = n - i._start, o = i._duration - r; i._start = n, i._duration = Math.floor(Math.max(o, e.duration)), i._total += r, i._loop = !!e.loop, i._to = Ht( [e.to, t, a, e.from]), i._from = Ht([e.from, a, t]); } } cancel () { const e = this; e._active && (e.tick(Date.now()), e._active = !1, e._notify(!1)); } tick (e) { const t = this, n = e - t._start, i = t._duration, a = t._prop, r = t._from, o = t._loop, s = t._to; let l; if (t._active = r !== s && (o || n < i), !t._active) return t._target[a] = s, void t._notify(!0); n < 0 ? t._target[a] = r : (l = n / i % 2, l = o && l > 1 ? 2 - l : l, l = t._easing( Math.min(1, Math.max(0, l))), t._target[a] = t._fn(r, s, l)); } wait () { const e = this._promises || (this._promises = []); return new Promise(((t, n) => {e.push({ res: t, rej: n });})); } _notify (e) { const t = e ? 'res' : 'rej', n = this._promises || []; for (let e = 0; e < n.length; e++) n[e][t](); } } ve.set('animation', { delay: void 0, duration: 1e3, easing: 'easeOutQuart', fn: void 0, from: void 0, loop: void 0, to: void 0, type: void 0, }); const _n = Object.keys(ve.animation); ve.describe('animation', { _fallback: !1, _indexable: !1, _scriptable: e => 'onProgress' !== e && 'onComplete' !== e && 'fn' !== e, }), ve.set('animations', { colors: { type: 'color', properties: ['color', 'borderColor', 'backgroundColor'], }, numbers: { type: 'number', properties: ['x', 'y', 'borderWidth', 'radius', 'tension'], }, }), ve.describe('animations', { _fallback: 'animation' }), ve.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: e => 0 | e, }, }, }, }); class wn { constructor ( e, t) { this._chart = e, this._properties = new Map, this.configure(t); } configure (e) { if (!U(e)) return; const t = this._properties; Object.getOwnPropertyNames(e).forEach((n => { const i = e[n]; if (!U(i)) return; const a = {}; for (const e of _n) a[e] = i[e]; (q(i.properties) && i.properties || [n]).forEach( (e => {e !== n && t.has(e) || t.set(e, a);})); })); } _animateOptions (e, t) { const n = t.options, i = function (e, t) { if (!t) return; let n = e.options; if (!n) return void (e.options = t); n.$shared && (e.options = n = Object.assign({}, n, { $shared: !1, $animations: {} })); return n; }(e, n); if (!i) return []; const a = this._createAnimations(i, n); return n.$shared && function (e, t) { const n = [], i = Object.keys(t); for (let t = 0; t < i.length; t++) { const a = e[i[t]]; a && a.active() && n.push(a.wait()); } return Promise.all(n); }(e.options.$animations, n). then((() => {e.options = n;}), (() => {})), a; } _createAnimations (e, t) { const n = this._properties, i = [], a = e.$animations || (e.$animations = {}), r = Object.keys(t), o = Date.now(); let s; for (s = r.length - 1; s >= 0; --s) { const l = r[s]; if ('$' === l.charAt(0)) continue; if ('options' === l) { i.push(...this._animateOptions(e, t)); continue; } const c = t[l]; let u = a[l]; const d = n.get(l); if (u) { if (d && u.active()) { u.update(d, c, o); continue; } u.cancel(); } d && d.duration ? (a[l] = u = new xn(d, e, l, c), i.push(u)) : e[l] = c; } return i; } update (e, t) { if (0 === this._properties.size) return void Object.assign(e, t); const n = this._createAnimations(e, t); return n.length ? (o.add(this._chart, n), !0) : void 0; } } function kn (e, t) { const n = e && e.options || {}, i = n.reverse, a = void 0 === n.min ? t : 0, r = void 0 === n.max ? t : 0; return { start: i ? r : a, end: i ? a : r }; } function Mn (e, t) { const n = [], i = e._getSortedDatasetMetas(t); let a, r; for (a = 0, r = i.length; a < r; ++a) n.push(i[a].index); return n; } function Ln (e, t, n, i) { const a = e.keys, r = 'single' === i.mode; let o, s, l, c; if (null !== t) { for (o = 0, s = a.length; o < s; ++o) { if (l = +a[o], l === n) { if (i.all) continue; break; } c = e.values[l], X(c) && (r || 0 === t || Te(t) === Te(c)) && (t += c); } return t; } } function Sn (e, t) { const n = e && e.options.stacked; return n || void 0 === n && void 0 !== t.stack; } function Tn (e, t, n) { const i = e[t] || (e[t] = {}); return i[n] || (i[n] = {}); } function An (e, t, n) { for (const i of t.getMatchingVisibleMetas('bar'). reverse()) { const t = e[i.index]; if (n && t > 0 || !n && t < 0) return i.index; } return null; } function Dn (e, t) { const { chart: n, _cachedMeta: i } = e, a = n._stacks || (n._stacks = {}), { iScale: r, vScale: o, index: s, } = i, l = r.axis, c = o.axis, u = function (e, t, n) { return `${e.id}.${t.id}.${n.stack || n.type}`; }(r, o, i), d = t.length; let h; for (let e = 0; e < d; ++e) { const n = t[e], { [l]: i, [c]: r } = n; h = (n._stacks || (n._stacks = {}))[c] = Tn(a, u, i), h[s] = r, h._top = An(h, o, !0), h._bottom = An(h, o, !1); } } function Cn (e, t) { const n = e.scales; return Object.keys(n).filter((e => n[e].axis === t)).shift(); } function En (e, t) { const n = e.vScale && e.vScale.axis; if (n) { t = t || e._parsed; for (const i of t) { const t = i._stacks; if (!t || void 0 === t[n] || void 0 === t[n][e.index]) return; delete t[n][e.index]; } } } const On = e => 'reset' === e || 'none' === e, Yn = (e, t) => t ? e : Object.assign({}, e); class Pn { constructor ( e, t) {this.chart = e, this._ctx = e.ctx, this.index = t, 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.$context = void 0, this._syncList = [], this.initialize();} initialize () { const e = this, t = e._cachedMeta; e.configure(), e.linkScales(), t._stacked = Sn(t.vScale, t), e.addElements(); } updateIndex (e) { this.index !== e && En(this._cachedMeta), this.index = e; } linkScales () { const e = this, t = e.chart, n = e._cachedMeta, i = e.getDataset(), a = (e, t, n, i) => 'x' === e ? t : 'r' === e ? i : n, r = n.xAxisID = G(i.xAxisID, Cn(t, 'x')), o = n.yAxisID = G(i.yAxisID, Cn(t, 'y')), s = n.rAxisID = G(i.rAxisID, Cn(t, 'r')), l = n.indexAxis, c = n.iAxisID = a(l, r, o, s), u = n.vAxisID = a(l, o, r, s); n.xScale = e.getScaleForId(r), n.yScale = e.getScaleForId( o), n.rScale = e.getScaleForId( s), n.iScale = e.getScaleForId( c), n.vScale = e.getScaleForId(u); } getDataset () {return this.chart.data.datasets[this.index];} getMeta () {return this.chart.getDatasetMeta(this.index);} getScaleForId (e) {return this.chart.scales[e];} _getOtherScale (e) { const t = this._cachedMeta; return e === t.iScale ? t.vScale : t.iScale; } reset () {this._update('reset');} _destroy () { const e = this._cachedMeta; this._data && ct(this._data, this), e._stacked && En(e); } _dataCheck () { const e = this, t = e.getDataset(), n = t.data || (t.data = []), i = e._data; if (U(n)) e._data = function (e) { const t = Object.keys(e), n = new Array(t.length); let i, a, r; for (i = 0, a = t.length; i < a; ++i) r = t[i], n[i] = { x: r, y: e[r] }; return n; }(n); else if (i !== n) { if (i) { ct(i, e); const t = e._cachedMeta; En(t), t._parsed = []; } n && Object.isExtensible(n) && lt(n, e), e._syncList = [], e._data = n; } } addElements () { const e = this, t = e._cachedMeta; e._dataCheck(), e.datasetElementType && (t.dataset = new e.datasetElementType); } buildOrUpdateElements (e) { const t = this, n = t._cachedMeta, i = t.getDataset(); let a = !1; t._dataCheck(); const r = n._stacked; n._stacked = Sn(n.vScale, n), n.stack !== i.stack && (a = !0, En(n), n.stack = i.stack), t._resyncElements(e), (a || r !== n._stacked) && Dn(t, n._parsed); } configure () { const e = this, t = e.chart.config, n = t.datasetScopeKeys(e._type), i = t.getOptionScopes(e.getDataset(), n, !0); e.options = t.createResolver(i, e.getContext()), e._parsing = e.options.parsing; } parse (e, t) { const n = this, { _cachedMeta: i, _data: a, } = n, { iScale: r, _stacked: o } = i, s = r.axis; let l, c, u, d = 0 === e && t === a.length || i._sorted, h = e > 0 && i._parsed[e - 1]; if (!1 === n._parsing) i._parsed = a, i._sorted = !0, u = a; else { u = q(a[e]) ? n.parseArrayData(i, a, e, t) : U(a[e]) ? n.parseObjectData(i, a, e, t) : n.parsePrimitiveData(i, a, e, t); const r = () => null === c[s] || h && c[s] < h[s]; for (l = 0; l < t; ++l) i._parsed[l + e] = c = u[l], d && (r() && (d = !1), h = c); i._sorted = d; } o && Dn(n, u); } parsePrimitiveData (e, t, n, i) { const { iScale: a, vScale: r } = e, o = a.axis, s = r.axis, l = a.getLabels(), c = a === r, u = new Array(i); let d, h, f; for (d = 0, h = i; d < h; ++d) f = d + n, u[d] = { [o]: c || a.parse(l[f], f), [s]: r.parse(t[f], f), }; return u; } parseArrayData (e, t, n, i) { const { xScale: a, yScale: r } = e, o = new Array(i); let s, l, c, u; for (s = 0, l = i; s < l; ++s) c = s + n, u = t[c], o[s] = { x: a.parse(u[0], c), y: r.parse(u[1], c), }; return o; } parseObjectData (e, t, n, i) { const { xScale: a, yScale: r, } = e, { xAxisKey: o = 'x', yAxisKey: s = 'y' } = this._parsing, l = new Array(i); let c, u, d, h; for (c = 0, u = i; c < u; ++c) d = c + n, h = t[d], l[c] = { x: a.parse(le(h, o), d), y: r.parse(le(h, s), d), }; return l; } getParsed (e) {return this._cachedMeta._parsed[e];} getDataElement (e) {return this._cachedMeta.data[e];} applyStack (e, t, n) { const i = this.chart, a = this._cachedMeta, r = t[e.axis]; return Ln({ keys: Mn(i, !0), values: t._stacks[e.axis] }, r, a.index, { mode: n }); } updateRangeFromParsed (e, t, n, i) { const a = n[t.axis]; let r = null === a ? NaN : a; const o = i && n._stacks[t.axis]; i && o && (i.values = o, e.min = Math.min(e.min, r), e.max = Math.max( e.max, r), r = Ln(i, a, this._cachedMeta.index, { all: !0 })), e.min = Math.min(e.min, r), e.max = Math.max( e.max, r); } getMinMax (e, t) { const n = this, i = n._cachedMeta, a = i._parsed, r = i._sorted && e === i.iScale, o = a.length, s = n._getOtherScale(e), l = t && i._stacked && { keys: Mn(n.chart, !0), values: null }, c = { min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY, }, { min: u, max: d } = function (e) { const { min: t, max: n, minDefined: i, maxDefined: a, } = e.getUserBounds(); return { min: i ? t : Number.NEGATIVE_INFINITY, max: a ? n : Number.POSITIVE_INFINITY, }; }(s); let h, f, p, m; function g () { return p = a[h], f = p[e.axis], m = p[s.axis], !X(f) || u > m || d < m; } for (h = 0; h < o && (g() || (n.updateRangeFromParsed(c, e, p, l), !r)); ++h) ; if (r) for (h = o - 1; h >= 0; --h) if (!g()) { n.updateRangeFromParsed(c, e, p, l); break; } return c; } getAllParsedValues (e) { const t = this._cachedMeta._parsed, n = []; let i, a, r; for (i = 0, a = t.length; i < a; ++i) r = t[i][e.axis], X(r) && n.push(r); return n; } getMaxOverflow () {return !1;} getLabelAndValue (e) { const t = this._cachedMeta, n = t.iScale, i = t.vScale, a = this.getParsed(e); return { label: n ? '' + n.getLabelForValue(a[n.axis]) : '', value: i ? '' + i.getLabelForValue(a[i.axis]) : '', }; } _update (e) { const t = this, n = t._cachedMeta; t.configure(), t._cachedDataOpts = {}, t.update( e || 'default'), n._clip = function (e) { let t, n, i, a; return U(e) ? (t = e.top, n = e.right, i = e.bottom, a = e.left) : t = n = i = a = e, { top: t, right: n, bottom: i, left: a, }; }(G(t.options.clip, function (e, t, n) { if (!1 === n) return !1; const i = kn(e, n), a = kn(t, n); return { top: a.end, right: i.end, bottom: a.start, left: i.start, }; }(n.xScale, n.yScale, t.getMaxOverflow()))); } update (e) {} draw () { const e = this, t = e._ctx, n = e.chart, i = e._cachedMeta, a = i.data || [], r = n.chartArea, o = [], s = e._drawStart || 0, l = e._drawCount || a.length - s; let c; for (i.dataset && i.dataset.draw(t, r, s, l), c = s; c < s + l; ++c) { const e = a[c]; e.active ? o.push(e) : e.draw(t, r); } for (c = 0; c < o.length; ++c) o[c].draw(t, r); } getStyle (e, t) { const n = t ? 'active' : 'default'; return void 0 === e && this._cachedMeta.dataset ? this.resolveDatasetElementOptions(n) : this.resolveDataElementOptions(e || 0, n); } getContext (e, t, n) { const i = this, a = i.getDataset(); let r; if (e >= 0 && e < i._cachedMeta.data.length) { const t = i._cachedMeta.data[e]; r = t.$context || (t.$context = function (e, t, n) { return Object.assign(Object.create(e), { active: !1, dataIndex: t, parsed: void 0, raw: void 0, element: n, index: t, mode: 'default', type: 'data', }); }(i.getContext(), e, t)), r.parsed = i.getParsed( e), r.raw = a.data[e], r.index = r.dataIndex = e; } else r = i.$context || (i.$context = function (e, t) { return Object.assign(Object.create(e), { active: !1, dataset: void 0, datasetIndex: t, index: t, mode: 'default', type: 'dataset', }); }(i.chart.getContext(), i.index)), r.dataset = a, r.index = r.datasetIndex = i.index; return r.active = !!t, r.mode = n, r; } resolveDatasetElementOptions (e) { return this._resolveElementOptions(this.datasetElementType.id, e); } resolveDataElementOptions ( e, t) { return this._resolveElementOptions(this.dataElementType.id, t, e); } _resolveElementOptions (e, t = 'default', n) { const i = this, a = 'active' === t, r = i._cachedDataOpts, o = e + '-' + t, s = r[o], l = i.enableOptionSharing && ue(n); if (s) return Yn(s, l); const c = i.chart.config, u = c.datasetElementScopeKeys(i._type, e), d = a ? [`${e}Hover`, 'hover', e, ''] : [e, ''], h = c.getOptionScopes(i.getDataset(), u), f = Object.keys(ve.elements[e]), p = c.resolveNamedOptions(h, f, (() => i.getContext(n, a)), d); return p.$shared && (p.$shared = l, r[o] = Object.freeze(Yn(p, l))), p; } _resolveAnimations (e, t, n) { const i = this, a = i.chart, r = i._cachedDataOpts, o = `animation-${t}`, s = r[o]; if (s) return s; let l; if (!1 !== a.options.animation) { const a = i.chart.config, r = a.datasetAnimationScopeKeys(i._type, t), o = a.getOptionScopes(i.getDataset(), r); l = a.createResolver(o, i.getContext(e, n, t)); } const c = new wn(a, l && l.animations); return l && l._cacheable && (r[o] = Object.freeze(c)), c; } getSharedOptions (e) { if (e.$shared) return this._sharedOptions || (this._sharedOptions = Object.assign({}, e)); } includeOptions (e, t) { return !t || On(e) || this.chart._animationsDisabled; } updateElement (e, t, n, i) { On(i) ? Object.assign(e, n) : this._resolveAnimations(t, i).update(e, n); } updateSharedOptions (e, t, n) { e && !On(t) && this._resolveAnimations(void 0, t).update(e, n); } _setStyle (e, t, n, i) { e.active = i; const a = this.getStyle(t, i); this._resolveAnimations(t, n, i). update(e, { options: !i && this.getSharedOptions(a) || a }); } removeHoverStyle (e, t, n) {this._setStyle(e, n, 'active', !1);} setHoverStyle (e, t, n) {this._setStyle(e, n, 'active', !0);} _removeDatasetHoverStyle () { const e = this._cachedMeta.dataset; e && this._setStyle(e, void 0, 'active', !1); } _setDatasetHoverStyle () { const e = this._cachedMeta.dataset; e && this._setStyle(e, void 0, 'active', !0); } _resyncElements (e) { const t = this, n = t._data, i = t._cachedMeta.data; for (const [e, n, i] of t._syncList) t[e](n, i); t._syncList = []; const a = i.length, r = n.length, o = Math.min(r, a); o && t.parse(0, o), r > a ? t._insertElements(a, r - a, e) : r < a && t._removeElements(r, a - r); } _insertElements (e, t, n = !0) { const i = this, a = i._cachedMeta, r = a.data, o = e + t; let s; const l = e => { for (e.length += t, s = e.length - 1; s >= o; s--) e[s] = e[s - t]; }; for (l(r), s = e; s < o; ++s) r[s] = new i.dataElementType; i._parsing && l(a._parsed), i.parse(e, t), n && i.updateElements(r, e, t, 'reset'); } updateElements (e, t, n, i) {} _removeElements (e, t) { const n = this._cachedMeta; if (this._parsing) { const i = n._parsed.splice(e, t); n._stacked && En(n, i); } n.data.splice(e, t); } _onDataPush () { const e = arguments.length; this._syncList.push( ['_insertElements', this.getDataset().data.length - e, e]); } _onDataPop () { this._syncList.push( ['_removeElements', this._cachedMeta.data.length - 1, 1]); } _onDataShift () {this._syncList.push(['_removeElements', 0, 1]);} _onDataSplice (e, t) { this._syncList.push( ['_removeElements', e, t]), this._syncList.push( ['_insertElements', e, arguments.length - 2]); } _onDataUnshift () { this._syncList.push(['_insertElements', 0, arguments.length]); } } Pn.defaults = {}, Pn.prototype.datasetElementType = null, Pn.prototype.dataElementType = null; class In { constructor () {this.x = void 0, this.y = void 0, this.active = !1, this.options = void 0, this.$animations = void 0;} tooltipPosition (e) { const { x: t, y: n } = this.getProps(['x', 'y'], e); return { x: t, y: n }; } hasValue () {return Ce(this.x) && Ce(this.y);} getProps (e, t) { const n = this, i = this.$animations; if (!t || !i) return n; const a = {}; return e.forEach( (e => { a[e] = i[e] && i[e].active() ? i[e]._to : n[e]; })), a; } } In.defaults = {}, In.defaultRoutes = void 0; const jn = new Map; function Nn (e, t, n) { return function (e, t) { t = t || {}; const n = e + JSON.stringify(t); let i = jn.get(n); return i || (i = new Intl.NumberFormat(e, t), jn.set(n, i)), i; }(t, n).format(e); } const Hn = { values: e => q(e) ? e : '' + e, numeric (e, t, n) { if (0 === e) return '0'; const i = this.chart.options.locale; let a, r = e; if (n.length > 1) { const t = Math.max(Math.abs(n[0].value), Math.abs(n[n.length - 1].value)); (t < 1e-4 || t > 1e15) && (a = 'scientific'), r = function (e, t) { let n = t.length > 3 ? t[2].value - t[1].value : t[1].value - t[0].value; Math.abs(n) >= 1 && e !== Math.floor(e) && (n = e - Math.floor(e)); return n; }(e, n); } const o = Se(Math.abs(r)), s = Math.max(Math.min(-1 * Math.floor(o), 20), 0), l = { notation: a, minimumFractionDigits: s, maximumFractionDigits: s, }; return Object.assign(l, this.options.ticks.format), Nn(e, i, l); }, logarithmic (e, t, n) { if (0 === e) return '0'; const i = e / Math.pow(10, Math.floor(Se(e))); return 1 === i || 2 === i || 5 === i ? Hn.numeric.call(this, e, t, n) : ''; }, }; var Fn = { formatters: Hn }; function Rn (e, t) { const n = e.options.ticks, i = n.maxTicksLimit || function (e) { const t = e.options.offset, n = e._tickSize(), i = e._length / n + (t ? 0 : 1), a = e._maxLength / n; return Math.floor(Math.min(i, a)); }(e), a = n.major.enabled ? function (e) { const t = []; let n, i; for (n = 0, i = e.length; n < i; n++) e[n].major && t.push(n); return t; }(t) : [], r = a.length, o = a[0], s = a[r - 1], l = []; if (r > i) return function (e, t, n, i) { let a, r = 0, o = n[0]; for (i = Math.ceil(i), a = 0; a < e.length; a++) a === o && (t.push(e[a]), r++, o = n[r * i]); }(t, l, a, r / i), l; const c = function ( e, t, n) { const i = function (e) { const t = e.length; let n, i; if (t < 2) return !1; for (i = e[0], n = 1; n < t; ++n) if (e[n] - e[n - 1] !== i) return !1; return i; }(e), a = t.length / n; if (!i) return Math.max(a, 1); const r = De(i); for (let e = 0, t = r.length - 1; e < t; e++) { const t = r[e]; if (t > a) return t; } return Math.max(a, 1); }(a, t, i); if (r > 0) { let e, n; const i = r > 1 ? Math.round((s - o) / (r - 1)) : null; for (zn(t, l, c, V(i) ? 0 : o - i, o), e = 0, n = r - 1; e < n; e++) zn(t, l, c, a[e], a[e + 1]); return zn(t, l, c, s, V(i) ? t.length : s + i), l; } return zn(t, l, c), l; } function zn (e, t, n, i, a) { const r = G(i, 0), o = Math.min(G(a, e.length), e.length); let s, l, c, u = 0; for (n = Math.ceil(n), a && (s = a - i, n = s / Math.floor(s / n)), c = r; c < 0;) u++, c = Math.round(r + u * n); for (l = Math.max(r, 0); l < o; l++) l === c && (t.push(e[l]), u++, c = Math.round(r + u * n)); } ve.set('scale', { display: !0, offset: !1, reverse: !1, beginAtZero: !1, bounds: 'ticks', grace: 0, grid: { display: !0, lineWidth: 1, drawBorder: !0, drawOnChartArea: !0, drawTicks: !0, tickLength: 8, tickWidth: (e, t) => t.lineWidth, tickColor: (e, t) => t.color, offset: !1, borderDash: [], borderDashOffset: 0, borderWidth: 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: Fn.formatters.values, minor: {}, major: {}, align: 'center', crossAlign: 'near', showLabelBackdrop: !1, backdropColor: 'rgba(255, 255, 255, 0.75)', backdropPadding: 2, }, }), ve.route('scale.ticks', 'color', '', 'color'), ve.route( 'scale.grid', 'color', '', 'borderColor'), ve.route('scale.grid', 'borderColor', '', 'borderColor'), ve.route('scale.title', 'color', '', 'color'), ve.describe('scale', { _fallback: !1, _scriptable: e => !e.startsWith('before') && !e.startsWith('after') && 'callback' !== e && 'parser' !== e, _indexable: e => 'borderDash' !== e && 'tickBorderDash' !== e, }), ve.describe('scales', { _fallback: 'scale' }); const Bn = (e, t, n) => 'top' === t || 'left' === t ? e[t] + n : e[t] - n; function Wn (e, t) { const n = [], i = e.length / t, a = e.length; let r = 0; for (; r < a; r += i) n.push(e[Math.floor(r)]); return n; } function Vn (e, t, n) { const i = e.ticks.length, a = Math.min(t, i - 1), r = e._startPixel, o = e._endPixel, s = 1e-6; let l, c = e.getPixelForTick(a); if (!(n && (l = 1 === i ? Math.max(c - r, o - c) : 0 === t ? (e.getPixelForTick(1) - c) / 2 : (c - e.getPixelForTick(a - 1)) / 2, c += a < t ? l : -l, c < r - s || c > o + s))) return c; } function qn (e) {return e.drawTicks ? e.tickLength : 0;} function Un (e, t) { if (!e.display) return 0; const n = Nt(e.font, t), i = jt(e.padding); return (q(e.text) ? e.text.length : 1) * n.lineHeight + i.height; } function Xn (e, t, n) { let a = i(e); return (n && 'right' !== t || !n && 'right' === t) && (a = (e => 'left' === e ? 'right' : 'right' === e ? 'left' : e)( a)), a; } class $n extends In { constructor (e) { super(), this.id = e.id, this.type = e.type, this.options = void 0, this.ctx = e.ctx, this.chart = e.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 (e) { const t = this; t.options = e.setContext( t.getContext()), t.axis = e.axis, t._userMin = t.parse( e.min), t._userMax = t.parse( e.max), t._suggestedMin = t.parse( e.suggestedMin), t._suggestedMax = t.parse(e.suggestedMax); } parse (e, t) {return e;} getUserBounds () { let { _userMin: e, _userMax: t, _suggestedMin: n, _suggestedMax: i, } = this; return e = $(e, Number.POSITIVE_INFINITY), t = $(t, Number.NEGATIVE_INFINITY), n = $(n, Number.POSITIVE_INFINITY), i = $(i, Number.NEGATIVE_INFINITY), { min: $(e, n), max: $(t, i), minDefined: X(e), maxDefined: X(t), }; } getMinMax (e) { const t = this; let n, { min: i, max: a, minDefined: r, maxDefined: o, } = t.getUserBounds(); if (r && o) return { min: i, max: a }; const s = t.getMatchingVisibleMetas(); for (let l = 0, c = s.length; l < c; ++l) n = s[l].controller.getMinMax(t, e), r || (i = Math.min(i, n.min)), o || (a = Math.max(a, n.max)); return { min: $(i, $(a, i)), max: $(a, $(i, a)) }; } getPadding () { const e = this; return { left: e.paddingLeft || 0, top: e.paddingTop || 0, right: e.paddingRight || 0, bottom: e.paddingBottom || 0, }; } getTicks () {return this.ticks;} getLabels () { const e = this.chart.data; return this.options.labels || (this.isHorizontal() ? e.xLabels : e.yLabels) || e.labels || []; } beforeLayout () {this._cache = {}, this._dataLimitsCached = !1;} beforeUpdate () {J(this.options.beforeUpdate, [this]);} update (e, t, n) { const i = this, a = i.options.ticks, r = a.sampleSize; i.beforeUpdate(), i.maxWidth = e, i.maxHeight = t, i._margins = n = Object.assign( { left: 0, right: 0, top: 0, bottom: 0 }, n), i.ticks = null, i._labelSizes = null, i._gridLineItems = null, i._labelItems = null, i.beforeSetDimensions(), i.setDimensions(), i.afterSetDimensions(), i._maxLength = i.isHorizontal() ? i.width + n.left + n.right : i.height + n.top + n.bottom, i._dataLimitsCached || (i.beforeDataLimits(), i.determineDataLimits(), i.afterDataLimits(), i._range = Ft( i, i.options.grace), i._dataLimitsCached = !0), i.beforeBuildTicks(), i.ticks = i.buildTicks() || [], i.afterBuildTicks(); const o = r < i.ticks.length; i._convertTicksToLabels(o ? Wn(i.ticks, r) : i.ticks), i.configure(), i.beforeCalculateLabelRotation(), i.calculateLabelRotation(), i.afterCalculateLabelRotation(), a.display && (a.autoSkip || 'auto' === a.source) && (i.ticks = Rn(i, i.ticks), i._labelSizes = null), o && i._convertTicksToLabels( i.ticks), i.beforeFit(), i.fit(), i.afterFit(), i.afterUpdate(); } configure () { const e = this; let t, n, i = e.options.reverse; e.isHorizontal() ? (t = e.left, n = e.right) : (t = e.top, n = e.bottom, i = !i), e._startPixel = t, e._endPixel = n, e._reversePixels = i, e._length = n - t, e._alignToPixels = e.options.alignToPixels; } afterUpdate () {J(this.options.afterUpdate, [this]);} beforeSetDimensions () { J(this.options.beforeSetDimensions, [this]); } setDimensions () { const e = this; e.isHorizontal() ? (e.width = e.maxWidth, e.left = 0, e.right = e.width) : (e.height = e.maxHeight, e.top = 0, e.bottom = e.height), e.paddingLeft = 0, e.paddingTop = 0, e.paddingRight = 0, e.paddingBottom = 0; } afterSetDimensions () {J(this.options.afterSetDimensions, [this]);} _callHooks (e) { const t = this; t.chart.notifyPlugins(e, t.getContext()), J(t.options[e], [t]); } beforeDataLimits () {this._callHooks('beforeDataLimits');} determineDataLimits () {} afterDataLimits () {this._callHooks('afterDataLimits');} beforeBuildTicks () {this._callHooks('beforeBuildTicks');} buildTicks () {return [];} afterBuildTicks () {this._callHooks('afterBuildTicks');} beforeTickToLabelConversion () { J(this.options.beforeTickToLabelConversion, [this]); } generateTickLabels (e) { const t = this, n = t.options.ticks; let i, a, r; for (i = 0, a = e.length; i < a; i++) r = e[i], r.label = J( n.callback, [r.value, i, e], t); for (i = 0; i < a; i++) V(e[i].label) && (e.splice(i, 1), a--, i--); } afterTickToLabelConversion () { J(this.options.afterTickToLabelConversion, [this]); } beforeCalculateLabelRotation () { J(this.options.beforeCalculateLabelRotation, [this]); } calculateLabelRotation () { const e = this, t = e.options, n = t.ticks, i = e.ticks.length, a = n.minRotation || 0, r = n.maxRotation; let o, s, l, c = a; if (!e._isVisible() || !n.display || a >= r || i <= 1 || !e.isHorizontal()) return void (e.labelRotation = a); const u = e._getLabelSizes(), d = u.widest.width, h = u.highest.height, f = Be(e.chart.width - d, 0, e.maxWidth); o = t.offset ? e.maxWidth / i : f / (i - 1), d + 6 > o && (o = f / (i - (t.offset ? .5 : 1)), s = e.maxHeight - qn(t.grid) - n.padding - Un(t.title, e.chart.options.font), l = Math.sqrt( d * d + h * h), c = Ie( Math.min(Math.asin(Math.min((u.highest.height + 6) / o, 1)), Math.asin(Math.min(s / l, 1)) - Math.asin(h / l))), c = Math.max(a, Math.min(r, c))), e.labelRotation = c; } afterCalculateLabelRotation () { J(this.options.afterCalculateLabelRotation, [this]); } beforeFit () {J(this.options.beforeFit, [this]);} fit () { const e = this, t = { width: 0, height: 0 }, { chart: n, options: { ticks: i, title: a, grid: r }, } = e, o = e._isVisible(), s = e.isHorizontal(); if (o) { const o = Un(a, n.options.font); if (s ? (t.width = e.maxWidth, t.height = qn(r) + o) : (t.height = e.maxHeight, t.width = qn(r) + o), i.display && e.ticks.length) { const { first: n, last: a, widest: r, highest: o, } = e._getLabelSizes(), l = 2 * i.padding, c = Pe(e.labelRotation), u = Math.cos(c), d = Math.sin(c); if (s) { const n = i.mirror ? 0 : d * r.width + u * o.height; t.height = Math.min(e.maxHeight, t.height + n + l); } else { const n = i.mirror ? 0 : u * r.width + d * o.height; t.width = Math.min(e.maxWidth, t.width + n + l); } e._calculatePadding(n, a, d, u); } } e._handleMargins(), s ? (e.width = e._length = n.width - e._margins.left - e._margins.right, e.height = t.height) : (e.width = t.width, e.height = e._length = n.height - e._margins.top - e._margins.bottom); } _calculatePadding (e, t, n, i) { const a = this, { ticks: { align: r, padding: o, }, position: s, } = a.options, l = 0 !== a.labelRotation, c = 'top' !== s && 'x' === a.axis; if (a.isHorizontal()) { const s = a.getPixelForTick(0) - a.left, u = a.right - a.getPixelForTick(a.ticks.length - 1); let d = 0, h = 0; l ? c ? (d = i * e.width, h = n * t.height) : (d = n * e.height, h = i * t.width) : 'start' === r ? h = t.width : 'end' === r ? d = e.width : (d = e.width / 2, h = t.width / 2), a.paddingLeft = Math.max( (d - s + o) * a.width / (a.width - s), 0), a.paddingRight = Math.max( (h - u + o) * a.width / (a.width - u), 0); } else { let n = t.height / 2, i = e.height / 2; 'start' === r ? (n = 0, i = e.height) : 'end' === r && (n = t.height, i = 0), a.paddingTop = n + o, a.paddingBottom = i + o; } } _handleMargins () { const e = this; e._margins && (e._margins.left = Math.max(e.paddingLeft, e._margins.left), e._margins.top = Math.max(e.paddingTop, e._margins.top), e._margins.right = Math.max(e.paddingRight, e._margins.right), e._margins.bottom = Math.max( e.paddingBottom, e._margins.bottom)); } afterFit () {J(this.options.afterFit, [this]);} isHorizontal () { const { axis: e, position: t } = this.options; return 'top' === t || 'bottom' === t || 'x' === e; } isFullSize () {return this.options.fullSize;} _convertTicksToLabels (e) { const t = this; t.beforeTickToLabelConversion(), t.generateTickLabels( e), t.afterTickToLabelConversion(); } _getLabelSizes () { const e = this; let t = e._labelSizes; if (!t) { const n = e.options.ticks.sampleSize; let i = e.ticks; n < i.length && (i = Wn(i, n)), e._labelSizes = t = e._computeLabelSizes(i, i.length); } return t; } _computeLabelSizes (e, t) { const { ctx: n, _longestTextCache: i, } = this, a = [], r = []; let o, s, l, c, u, d, h, f, p, m, g, v = 0, y = 0; for (o = 0; o < t; ++o) { if (c = e[o].label, u = this._resolveTickFontOptions( o), n.font = d = u.string, h = i[d] = i[d] || { data: {}, gc: [] }, f = u.lineHeight, p = m = 0, V( c) || q(c)) { if (q(c)) for (s = 0, l = c.length; s < l; ++s) g = c[s], V(g) || q(g) || (p = qe(n, h.data, h.gc, p, g), m += f); } else p = qe(n, h.data, h.gc, p, c), m = f; a.push(p), r.push(m), v = Math.max(p, v), y = Math.max(m, y); } !function (e, t) { Q(e, (e => { const n = e.gc, i = n.length / 2; let a; if (i > t) { for (a = 0; a < i; ++a) delete e.data[n[a]]; n.splice(0, i); } })); }(i, t); const b = a.indexOf(v), x = r.indexOf(y), _ = e => ({ width: a[e] || 0, height: r[e] || 0 }); return { first: _(0), last: _(t - 1), widest: _(b), highest: _(x), widths: a, heights: r, }; } getLabelForValue (e) {return e;} getPixelForValue (e, t) {return NaN;} getValueForPixel (e) {} getPixelForTick (e) { const t = this.ticks; return e < 0 || e > t.length - 1 ? null : this.getPixelForValue( t[e].value); } getPixelForDecimal (e) { const t = this; t._reversePixels && (e = 1 - e); const n = t._startPixel + e * t._length; return We(t._alignToPixels ? Xe(t.chart, n, 0) : n); } getDecimalForPixel (e) { const t = (e - this._startPixel) / this._length; return this._reversePixels ? 1 - t : t; } getBasePixel () {return this.getPixelForValue(this.getBaseValue());} getBaseValue () { const { min: e, max: t } = this; return e < 0 && t < 0 ? t : e > 0 && t > 0 ? e : 0; } getContext (e) { const t = this, n = t.ticks || []; if (e >= 0 && e < n.length) { const i = n[e]; return i.$context || (i.$context = function (e, t, n) { return Object.assign(Object.create(e), { tick: n, index: t, type: 'tick' }); }(t.getContext(), e, i)); } return t.$context || (t.$context = (i = t.chart.getContext(), a = t, Object.assign( Object.create(i), { scale: a, type: 'scale' }))); var i, a; } _tickSize () { const e = this, t = e.options.ticks, n = Pe(e.labelRotation), i = Math.abs(Math.cos(n)), a = Math.abs(Math.sin(n)), r = e._getLabelSizes(), o = t.autoSkipPadding || 0, s = r ? r.widest.width + o : 0, l = r ? r.highest.height + o : 0; return e.isHorizontal() ? l * i > s * a ? s / i : l / a : l * a < s * i ? l / i : s / a; } _isVisible () { const e = this.options.display; return 'auto' !== e ? !!e : this.getMatchingVisibleMetas().length > 0; } _computeGridLineItems (e) { const t = this, n = t.axis, i = t.chart, a = t.options, { grid: r, position: o } = a, s = r.offset, l = t.isHorizontal(), c = t.ticks.length + (s ? 1 : 0), u = qn(r), d = [], h = r.setContext(t.getContext()), f = h.drawBorder ? h.borderWidth : 0, p = f / 2, m = function (e) {return Xe(i, e, f);}; let g, v, y, b, x, _, w, k, M, L, S, T; if ('top' === o) g = m(t.bottom), _ = t.bottom - u, k = g - p, L = m(e.top) + p, T = e.bottom; else if ('bottom' === o) g = m(t.top), L = e.top, T = m(e.bottom) - p, _ = g + p, k = t.top + u; else if ('left' === o) g = m( t.right), x = t.right - u, w = g - p, M = m(e.left) + p, S = e.right; else if ('right' === o) g = m( t.left), M = e.left, S = m(e.right) - p, x = g + p, w = t.left + u; else if ('x' === n) { if ('center' === o) g = m( (e.top + e.bottom) / 2 + .5); else if (U(o)) { const e = Object.keys(o)[0], n = o[e]; g = m(t.chart.scales[e].getPixelForValue(n)); } L = e.top, T = e.bottom, _ = g + p, k = _ + u; } else if ('y' === n) { if ('center' === o) g = m( (e.left + e.right) / 2); else if (U(o)) { const e = Object.keys(o)[0], n = o[e]; g = m(t.chart.scales[e].getPixelForValue(n)); } x = g - p, w = x - u, M = e.left, S = e.right; } for (v = 0; v < c; ++v) { const e = r.setContext(t.getContext(v)), n = e.lineWidth, a = e.color, o = r.borderDash || [], c = e.borderDashOffset, u = e.tickWidth, h = e.tickColor, f = e.tickBorderDash || [], p = e.tickBorderDashOffset; y = Vn(t, v, s), void 0 !== y && (b = Xe(i, y, n), l ? x = w = M = S = b : _ = k = L = T = b, d.push({ tx1: x, ty1: _, tx2: w, ty2: k, x1: M, y1: L, x2: S, y2: T, width: n, color: a, borderDash: o, borderDashOffset: c, tickWidth: u, tickColor: h, tickBorderDash: f, tickBorderDashOffset: p, })); } return t._ticksLength = c, t._borderValue = g, d; } _computeLabelItems (e) { const t = this, n = t.axis, i = t.options, { position: a, ticks: r, } = i, o = t.isHorizontal(), s = t.ticks, { align: l, crossAlign: c, padding: u, mirror: d, } = r, h = qn(i.grid), f = h + u, p = d ? -u : f, m = -Pe(t.labelRotation), g = []; let v, y, b, x, _, w, k, M, L, S, T, A, D = 'middle'; if ('top' === a) w = t.bottom - p, k = t._getXAxisLabelAlignment(); else if ('bottom' === a) w = t.top + p, k = t._getXAxisLabelAlignment(); else if ('left' === a) { const e = t._getYAxisLabelAlignment(h); k = e.textAlign, _ = e.x; } else if ('right' === a) { const e = t._getYAxisLabelAlignment(h); k = e.textAlign, _ = e.x; } else if ('x' === n) { if ('center' === a) w = (e.top + e.bottom) / 2 + f; else if (U(a)) { const e = Object.keys(a)[0], n = a[e]; w = t.chart.scales[e].getPixelForValue(n) + f; } k = t._getXAxisLabelAlignment(); } else if ('y' === n) { if ('center' === a) _ = (e.left + e.right) / 2 - f; else if (U(a)) { const e = Object.keys(a)[0], n = a[e]; _ = t.chart.scales[e].getPixelForValue(n); } k = t._getYAxisLabelAlignment(h).textAlign; } 'y' === n && ('start' === l ? D = 'top' : 'end' === l && (D = 'bottom')); const C = t._getLabelSizes(); for (v = 0, y = s.length; v < y; ++v) { b = s[v], x = b.label; const e = r.setContext(t.getContext(v)); M = t.getPixelForTick(v) + r.labelOffset, L = t._resolveTickFontOptions( v), S = L.lineHeight, T = q(x) ? x.length : 1; const n = T / 2, i = e.color, l = e.textStrokeColor, u = e.textStrokeWidth; let h; if (o ? (_ = M, A = 'top' === a ? 'near' === c || 0 !== m ? -T * S + S / 2 : 'center' === c ? -C.highest.height / 2 - n * S + S : -C.highest.height + S / 2 : 'near' === c || 0 !== m ? S / 2 : 'center' === c ? C.highest.height / 2 - n * S : C.highest.height - T * S, d && (A *= -1)) : (w = M, A = (1 - T) * S / 2), e.showLabelBackdrop) { const t = jt(e.backdropPadding), n = C.heights[v], i = C.widths[v]; let a = w + A - t.top, r = _ - t.left; switch (D) { case'middle': a -= n / 2; break; case'bottom': a -= n; } switch (k) { case'center': r -= i / 2; break; case'right': r -= i; } h = { left: r, top: a, width: i + t.width, height: n + t.height, color: e.backdropColor, }; } g.push({ rotation: m, label: x, font: L, color: i, strokeColor: l, strokeWidth: u, textOffset: A, textAlign: k, textBaseline: D, translation: [_, w], backdrop: h, }); } return g; } _getXAxisLabelAlignment () { const { position: e, ticks: t, } = this.options; if (-Pe(this.labelRotation)) return 'top' === e ? 'left' : 'right'; let n = 'center'; return 'start' === t.align ? n = 'left' : 'end' === t.align && (n = 'right'), n; } _getYAxisLabelAlignment (e) { const t = this, { position: n, ticks: { crossAlign: i, mirror: a, padding: r }, } = t.options, o = e + r, s = t._getLabelSizes().widest.width; let l, c; return 'left' === n ? a ? (l = 'left', c = t.right + r) : (c = t.right - o, 'near' === i ? l = 'right' : 'center' === i ? (l = 'center', c -= s / 2) : (l = 'left', c = t.left)) : 'right' === n ? a ? (l = 'right', c = t.left + r) : (c = t.left + o, 'near' === i ? l = 'left' : 'center' === i ? (l = 'center', c += s / 2) : (l = 'right', c = t.right)) : l = 'right', { textAlign: l, x: c }; } _computeLabelArea () { const e = this; if (e.options.ticks.mirror) return; const t = e.chart, n = e.options.position; return 'left' === n || 'right' === n ? { top: 0, left: e.left, bottom: t.height, right: e.right, } : 'top' === n || 'bottom' === n ? { top: e.top, left: 0, bottom: e.bottom, right: t.width, } : void 0; } drawBackground () { const { ctx: e, options: { backgroundColor: t }, left: n, top: i, width: a, height: r, } = this; t && (e.save(), e.fillStyle = t, e.fillRect(n, i, a, r), e.restore()); } getLineWidthForValue (e) { const t = this, n = t.options.grid; if (!t._isVisible() || !n.display) return 0; const i = t.ticks.findIndex((t => t.value === e)); if (i >= 0) {return n.setContext(t.getContext(i)).lineWidth;} return 0; } drawGrid (e) { const t = this, n = t.options.grid, i = t.ctx, a = t._gridLineItems || (t._gridLineItems = t._computeGridLineItems(e)); let r, o; const s = (e, t, n) => { n.width && n.color && (i.save(), i.lineWidth = n.width, i.strokeStyle = n.color, i.setLineDash( n.borderDash || []), i.lineDashOffset = n.borderDashOffset, i.beginPath(), i.moveTo( e.x, e.y), i.lineTo(t.x, t.y), i.stroke(), i.restore()); }; if (n.display) for (r = 0, o = a.length; r < o; ++r) { const e = a[r]; n.drawOnChartArea && s({ x: e.x1, y: e.y1 }, { x: e.x2, y: e.y2 }, e), n.drawTicks && s({ x: e.tx1, y: e.ty1 }, { x: e.tx2, y: e.ty2 }, { color: e.tickColor, width: e.tickWidth, borderDash: e.tickBorderDash, borderDashOffset: e.tickBorderDashOffset, }); } } drawBorder () { const e = this, { chart: t, ctx: n, options: { grid: i }, } = e, a = i.setContext(e.getContext()), r = i.drawBorder ? a.borderWidth : 0; if (!r) return; const o = i.setContext(e.getContext(0)).lineWidth, s = e._borderValue; let l, c, u, d; e.isHorizontal() ? (l = Xe(t, e.left, r) - r / 2, c = Xe(t, e.right, o) + o / 2, u = d = s) : (u = Xe(t, e.top, r) - r / 2, d = Xe(t, e.bottom, o) + o / 2, l = c = s), n.save(), n.lineWidth = a.borderWidth, n.strokeStyle = a.borderColor, n.beginPath(), n.moveTo( l, u), n.lineTo(c, d), n.stroke(), n.restore(); } drawLabels (e) { const t = this; if (!t.options.ticks.display) return; const n = t.ctx, i = t._computeLabelArea(); i && Ke(n, i); const a = t._labelItems || (t._labelItems = t._computeLabelItems(e)); let r, o; for (r = 0, o = a.length; r < o; ++r) { const e = a[r], t = e.font, i = e.label; e.backdrop && (n.fillStyle = e.backdrop.color, n.fillRect(e.backdrop.left, e.backdrop.top, e.backdrop.width, e.backdrop.height)), tt(n, i, 0, e.textOffset, t, e); } i && Je(n); } drawTitle () { const { ctx: e, options: { position: t, title: n, reverse: i }, } = this; if (!n.display) return; const r = Nt(n.font), o = jt(n.padding), s = n.align; let l = r.lineHeight / 2; 'bottom' === t ? (l += o.bottom, q(n.text) && (l += r.lineHeight * (n.text.length - 1))) : l += o.top; const { titleX: c, titleY: u, maxWidth: d, rotation: h, } = function (e, t, n, i) { const { top: r, left: o, bottom: s, right: l, } = e; let c, u, d, h = 0; return e.isHorizontal() ? (u = a(i, o, l), d = Bn(e, n, t), c = l - o) : (u = Bn(e, n, t), d = a(i, s, r), h = 'left' === n ? -ke : ke), { titleX: u, titleY: d, maxWidth: c, rotation: h, }; }(this, l, t, s); tt(e, n.text, 0, 0, r, { color: n.color, maxWidth: d, rotation: h, textAlign: Xn(s, t, i), textBaseline: 'middle', translation: [c, u], }); } draw (e) { const t = this; t._isVisible() && (t.drawBackground(), t.drawGrid( e), t.drawBorder(), t.drawTitle(), t.drawLabels(e)); } _layers () { const e = this, t = e.options, n = t.ticks && t.ticks.z || 0, i = t.grid && t.grid.z || 0; return e._isVisible() && e.draw === $n.prototype.draw ? [ { z: i, draw (t) { e.drawBackground(), e.drawGrid(t), e.drawTitle(); }, }, { z: i + 1, draw () {e.drawBorder();} }, { z: n, draw (t) {e.drawLabels(t);} }] : [ { z: n, draw (t) {e.draw(t);}, }]; } getMatchingVisibleMetas (e) { const t = this, n = t.chart.getSortedVisibleDatasetMetas(), i = t.axis + 'AxisID', a = []; let r, o; for (r = 0, o = n.length; r < o; ++r) { const o = n[r]; o[i] !== t.id || e && o.type !== e || a.push(o); } return a; } _resolveTickFontOptions (e) { return Nt( this.options.ticks.setContext(this.getContext(e)).font); } _maxDigits () { const e = this, t = e._resolveTickFontOptions(0).lineHeight; return (e.isHorizontal() ? e.width : e.height) / t; } } function Gn (e, t = [''], n = e, i, a = (() => e[0])) { ue(i) || (i = oi('_fallback', e)); const r = { [Symbol.toStringTag]: 'Object', _cacheable: !0, _scopes: e, _rootScopes: n, _fallback: i, _getTarget: a, override: a => Gn([a, ...e], t, n, i), }; return new Proxy(r, { deleteProperty: ( t, n) => (delete t[n], delete t._keys, delete e[0][n], !0), get: (n, i) => ei(n, i, (() => function (e, t, n, i) { let a; for (const r of t) if (a = oi(Jn(r, e), n), ue( a)) return Qn(e, a) ? ai(n, i, e, a) : a; }(i, t, e, n))), getOwnPropertyDescriptor: ( e, t) => Reflect.getOwnPropertyDescriptor( e._scopes[0], t), getPrototypeOf: () => Reflect.getPrototypeOf(e[0]), has: (e, t) => si(e).includes(t), ownKeys: e => si(e), set: (e, t, n) => ((e._storage || (e._storage = a()))[t] = n, delete e[t], delete e._keys, !0), }); } function Zn (e, t, n, i) { const a = { _cacheable: !1, _proxy: e, _context: t, _subProxy: n, _stack: new Set, _descriptors: Kn(e, i), setContext: t => Zn(e, t, n, i), override: a => Zn(e.override(a), t, n, i), }; return new Proxy(a, { deleteProperty: (t, n) => (delete t[n], delete e[n], !0), get: (e, t, n) => ei(e, t, (() => function (e, t, n) { const { _proxy: i, _context: a, _subProxy: r, _descriptors: o, } = e; let s = i[t]; de(s) && o.isScriptable(t) && (s = function (e, t, n, i) { const { _proxy: a, _context: r, _subProxy: o, _stack: s, } = n; if (s.has(e)) throw new Error( 'Recursion detected: ' + [...s].join('->') + '->' + e); s.add(e), t = t(r, o || i), s.delete(e), U(t) && (t = ai(a._scopes, a, e, t)); return t; }(t, s, e, n)); q(s) && s.length && (s = function (e, t, n, i) { const { _proxy: a, _context: r, _subProxy: o, _descriptors: s, } = n; if (ue(r.index) && i(e)) t = t[r.index % t.length]; else if (U(t[0])) { const n = t, i = a._scopes.filter((e => e !== n)); t = []; for (const l of n) { const n = ai(i, a, e, l); t.push(Zn(n, r, o && o[e], s)); } } return t; }(t, s, e, o.isIndexable)); Qn(t, s) && (s = Zn(s, a, r && r[t], o)); return s; }(e, t, n))), getOwnPropertyDescriptor: (t, n) => t._descriptors.allKeys ? Reflect.has(e, n) ? { enumerable: !0, configurable: !0 } : void 0 : Reflect.getOwnPropertyDescriptor(e, n), getPrototypeOf: () => Reflect.getPrototypeOf(e), has: (t, n) => Reflect.has(e, n), ownKeys: () => Reflect.ownKeys(e), set: (t, n, i) => (e[n] = i, delete t[n], !0), }); } function Kn ( e, t = { scriptable: !0, indexable: !0, }) { const { _scriptable: n = t.scriptable, _indexable: i = t.indexable, _allKeys: a = t.allKeys, } = e; return { allKeys: a, scriptable: n, indexable: i, isScriptable: de(n) ? n : () => n, isIndexable: de(i) ? i : () => i, }; } const Jn = (e, t) => e ? e + ce(t) : t, Qn = (e, t) => U(t) && 'adapters' !== e; function ei (e, t, n) { let i = e[t]; return ue(i) || (i = n(), ue(i) && (e[t] = i)), i; } function ti (e, t, n) {return de(e) ? e(t, n) : e;} const ni = (e, t) => !0 === e ? t : 'string' == typeof e ? le(t, e) : void 0; function ii (e, t, n, i) { for (const a of t) { const t = ni(n, a); if (t) { e.add(t); const a = ti(t._fallback, n, t); if (ue(a) && a !== n && a !== i) return a; } else if (!1 === t && ue(i) && n !== i) return null; } return !1; } function ai (e, t, n, i) { const a = t._rootScopes, r = ti(t._fallback, n, i), o = [...e, ...a], s = new Set; s.add(i); let l = ri(s, o, n, r || n); return null !== l && ((!ue(r) || r === n || (l = ri(s, o, r, l), null !== l)) && Gn([...s], [''], a, r, (() => function (e, t, n) { const i = e._getTarget(); t in i || (i[t] = {}); const a = i[t]; if (q(a) && U(n)) return n; return a; }(t, n, i)))); } function ri (e, t, n, i) { for (; n;) n = ii(e, t, n, i); return n; } function oi (e, t) { for (const n of t) { if (!n) continue; const t = n[e]; if (ue(t)) return t; } } function si (e) { let t = e._keys; return t || (t = e._keys = function (e) { const t = new Set; for (const n of e) for (const e of Object.keys(n). filter((e => !e.startsWith('_')))) t.add(e); return [...t]; }(e._scopes)), t; } const li = Number.EPSILON || 1e-14, ci = (e, t) => t < e.length && !e[t].skip && e[t], ui = e => 'x' === e ? 'y' : 'x'; function di (e, t, n, i) { const a = e.skip ? t : e, r = t, o = n.skip ? t : n, s = He(r, a), l = He(o, r); let c = s / (s + l), u = l / (s + l); c = isNaN(c) ? 0 : c, u = isNaN(u) ? 0 : u; const d = i * c, h = i * u; return { previous: { x: r.x - d * (o.x - a.x), y: r.y - d * (o.y - a.y), }, next: { x: r.x + h * (o.x - a.x), y: r.y + h * (o.y - a.y) }, }; } function hi (e, t = 'x') { const n = ui(t), i = e.length, a = Array(i).fill(0), r = Array(i); let o, s, l, c = ci(e, 0); for (o = 0; o < i; ++o) if (s = l, l = c, c = ci(e, o + 1), l) { if (c) { const e = c[t] - l[t]; a[o] = 0 !== e ? (c[n] - l[n]) / e : 0; } r[o] = s ? c ? Te(a[o - 1]) !== Te(a[o]) ? 0 : (a[o - 1] + a[o]) / 2 : a[o - 1] : a[o]; } !function (e, t, n) { const i = e.length; let a, r, o, s, l, c = ci(e, 0); for (let u = 0; u < i - 1; ++u) l = c, c = ci(e, u + 1), l && c && (Ee(t[u], 0, li) ? n[u] = n[u + 1] = 0 : (a = n[u] / t[u], r = n[u + 1] / t[u], s = Math.pow(a, 2) + Math.pow(r, 2), s <= 9 || (o = 3 / Math.sqrt(s), n[u] = a * o * t[u], n[u + 1] = r * o * t[u]))); }(e, a, r), function (e, t, n = 'x') { const i = ui(n), a = e.length; let r, o, s, l = ci(e, 0); for (let c = 0; c < a; ++c) { if (o = s, s = l, l = ci(e, c + 1), !s) continue; const a = s[n], u = s[i]; o && (r = (a - o[n]) / 3, s[`cp1${n}`] = a - r, s[`cp1${i}`] = u - r * t[c]), l && (r = (l[n] - a) / 3, s[`cp2${n}`] = a + r, s[`cp2${i}`] = u + r * t[c]); } }(e, r, t); } function fi (e, t, n) {return Math.max(Math.min(e, n), t);} function pi (e, t, n, i, a) { let r, o, s, l; if (t.spanGaps && (e = e.filter((e => !e.skip))), 'monotone' === t.cubicInterpolationMode) hi(e, a); else { let n = i ? e[e.length - 1] : e[0]; for (r = 0, o = e.length; r < o; ++r) s = e[r], l = di(n, s, e[Math.min(r + 1, o - (i ? 0 : 1)) % o], t.tension), s.cp1x = l.previous.x, s.cp1y = l.previous.y, s.cp2x = l.next.x, s.cp2y = l.next.y, n = s; } t.capBezierPoints && function (e, t) { let n, i, a, r, o, s = Ze(e[0], t); for (n = 0, i = e.length; n < i; ++n) o = r, r = s, s = n < i - 1 && Ze(e[n + 1], t), r && (a = e[n], o && (a.cp1x = fi(a.cp1x, t.left, t.right), a.cp1y = fi(a.cp1y, t.top, t.bottom)), s && (a.cp2x = fi(a.cp2x, t.left, t.right), a.cp2y = fi(a.cp2y, t.top, t.bottom))); }(e, n); } function mi (e, t, n, i) { return { x: e.x + n * (t.x - e.x), y: e.y + n * (t.y - e.y), }; } function gi (e, t, n, i) { return { x: e.x + n * (t.x - e.x), y: 'middle' === i ? n < .5 ? e.y : t.y : 'after' === i ? n < 1 ? e.y : t.y : n > 0 ? t.y : e.y, }; } function vi (e, t, n, i) { const a = { x: e.cp2x, y: e.cp2y }, r = { x: t.cp1x, y: t.cp1y }, o = mi(e, a, n), s = mi(a, r, n), l = mi(r, t, n), c = mi(o, s, n), u = mi(s, l, n); return mi(c, u, n); } function yi (e, t, n) { return e ? function (e, t) { return { x: n => e + e + t - n, setWidth (e) {t = e;}, textAlign: e => 'center' === e ? e : 'right' === e ? 'left' : 'right', xPlus: (e, t) => e - t, leftForLtr: (e, t) => e - t, }; }(t, n) : { x: e => e, setWidth (e) {}, textAlign: e => e, xPlus: (e, t) => e + t, leftForLtr: (e, t) => e, }; } function bi (e, t) { let n, i; 'ltr' !== t && 'rtl' !== t || (n = e.canvas.style, i = [ n.getPropertyValue('direction'), n.getPropertyPriority('direction')], n.setProperty('direction', t, 'important'), e.prevTextDirection = i); } function xi (e, t) { void 0 !== t && (delete e.prevTextDirection, e.canvas.style.setProperty('direction', t[0], t[1])); } function _i (e) { return 'angle' === e ? { between: ze, compare: Fe, normalize: Re, } : { between: (e, t, n) => e >= Math.min(t, n) && e <= Math.max(n, t), compare: (e, t) => e - t, normalize: e => e, }; } function wi ({ start: e, end: t, count: n, loop: i, style: a, }) { return { start: e % n, end: t % n, loop: i && (t - e + 1) % n == 0, style: a, }; } function ki (e, t, n) { if (!n) return [e]; const { property: i, start: a, end: r } = n, o = t.length, { compare: s, between: l, normalize: c } = _i( i), { start: u, end: d, loop: h, style: f } = function ( e, t, n) { const { property: i, start: a, end: r, } = n, { between: o, normalize: s } = _i(i), l = t.length; let c, u, { start: d, end: h, loop: f } = e; if (f) { for (d += l, h += l, c = 0, u = l; c < u && o(s(t[d % l][i]), a, r); ++c) d--, h--; d %= l, h %= l; } return h < d && (h += l), { start: d, end: h, loop: f, style: e.style, }; }(e, t, n), p = []; let m, g, v, y = !1, b = null; const x = () => y || l(a, v, m) && 0 !== s(a, v), _ = () => !y || 0 === s(r, m) || l(r, v, m); for (let e = u, n = u; e <= d; ++e) g = t[e % o], g.skip || (m = c(g[i]), m !== v && (y = l(m, a, r), null === b && x() && (b = 0 === s(m, a) ? e : n), null !== b && _() && (p.push(wi({ start: b, end: e, loop: h, count: o, style: f, })), b = null), n = e, v = m)); return null !== b && p.push(wi({ start: b, end: d, loop: h, count: o, style: f })), p; } function Mi (e, t) { const n = [], i = e.segments; for (let a = 0; a < i.length; a++) { const r = ki(i[a], e.points, t); r.length && n.push(...r); } return n; } function Li (e, t) { const n = e.points, i = e.options.spanGaps, a = n.length; if (!a) return []; const r = !!e._loop, { start: o, end: s } = function ( e, t, n, i) { let a = 0, r = t - 1; if (n && !i) for (; a < t && !e[a].skip;) a++; for (; a < t && e[a].skip;) a++; for (a %= t, n && (r += a); r > a && e[r % t].skip;) r--; return r %= t, { start: a, end: r }; }(n, a, r, i); if (!0 === i) return Si([{ start: o, end: s, loop: r }], n, t); return Si(function (e, t, n, i) { const a = e.length, r = []; let o, s = t, l = e[t]; for (o = t + 1; o <= n; ++o) { const n = e[o % a]; n.skip || n.stop ? l.skip || (i = !1, r.push({ start: t % a, end: (o - 1) % a, loop: i, }), t = s = n.stop ? o : null) : (s = o, l.skip && (t = o)), l = n; } return null !== s && r.push({ start: t % a, end: s % a, loop: i }), r; }(n, o, s < o ? s + a : s, !!e._fullLoop && 0 === o && s === a - 1), n, t); } function Si (e, t, n) { return n && n.setContext && t ? function ( e, t, n) { const i = t.length, a = []; let r = e[0].start, o = r; for (const s of e) { let e, l, c = t[r % i]; for (o = r + 1; o <= s.end; o++) { const u = t[o % i]; l = Ti(n.setContext( { type: 'segment', p0: c, p1: u })), Ai(l, e) && (a.push({ start: r, end: o - 1, loop: s.loop, style: e, }), e = l, r = o - 1), c = u, e = l; } r < o - 1 && (a.push({ start: r, end: o - 1, loop: s.loop, style: l, }), r = o - 1); } return a; }(e, t, n) : e; } function Ti (e) { return { backgroundColor: e.backgroundColor, borderCapStyle: e.borderCapStyle, borderDash: e.borderDash, borderDashOffset: e.borderDashOffset, borderJoinStyle: e.borderJoinStyle, borderWidth: e.borderWidth, borderColor: e.borderColor, }; } function Ai (e, t) { return t && JSON.stringify(e) !== JSON.stringify(t); } var Di = Object.freeze({ __proto__: null, easingEffects: vn, color: R, getHoverColor: z, noop: B, uid: W, isNullOrUndef: V, isArray: q, isObject: U, isFinite: X, finiteOrDefault: $, valueOrDefault: G, toPercentage: Z, toDimension: K, callback: J, each: Q, _elementsEqual: ee, clone: te, _merger: ie, merge: ae, mergeIf: re, _mergerIf: oe, _deprecated: function (e, t, n, i) { void 0 !== t && console.warn( e + ': "' + n + '" is deprecated. Please use "' + i + '" instead'); }, resolveObjectKey: le, _capitalize: ce, defined: ue, isFunction: de, setsEqual: he, toFontString: Ve, _measureText: qe, _longestText: Ue, _alignPixel: Xe, clearCanvas: $e, drawPoint: Ge, _isPointInArea: Ze, clipArea: Ke, unclipArea: Je, _steppedLineTo: Qe, _bezierCurveTo: et, renderText: tt, addRoundedRectPath: nt, _lookup: it, _lookupByKey: at, _rlookupByKey: rt, _filterBetween: ot, listenArrayEvents: lt, unlistenArrayEvents: ct, _arrayUnique: ut, _createResolver: Gn, _attachContext: Zn, _descriptors: Kn, splineCurve: di, splineCurveMonotone: hi, _updateBezierControlPoints: pi, _getParentNode: dt, getStyle: pt, getRelativePosition: vt, getMaximumSize: bt, retinaScale: xt, supportsEventListenerOptions: _t, readUsedSize: wt, fontString: function (e, t, n) {return t + ' ' + e + 'px ' + n;}, requestAnimFrame: e, throttled: t, debounce: n, _toLeftRightCenter: i, _alignStartEnd: a, _textX: r, _pointInLine: mi, _steppedInterpolation: gi, _bezierInterpolation: vi, formatNumber: Nn, toLineHeight: Ot, _readValueToProps: Yt, toTRBL: Pt, toTRBLCorners: It, toPadding: jt, toFont: Nt, resolve: Ht, _addGrace: Ft, PI: ye, TAU: be, PITAU: xe, INFINITY: _e, RAD_PER_DEG: we, HALF_PI: ke, QUARTER_PI: Me, TWO_THIRDS_PI: Le, log10: Se, sign: Te, niceNum: Ae, _factorize: De, isNumber: Ce, almostEquals: Ee, almostWhole: Oe, _setMinAndMaxByKey: Ye, toRadians: Pe, toDegrees: Ie, _decimalPlaces: je, getAngleFromPoint: Ne, distanceBetweenPoints: He, _angleDiff: Fe, _normalizeAngle: Re, _angleBetween: ze, _limitValue: Be, _int16Range: We, getRtlAdapter: yi, overrideTextDirection: bi, restoreTextDirection: xi, _boundSegment: ki, _boundSegments: Mi, _computeSegments: Li, }); class Ci { constructor ( e, t, n) { this.type = e, this.scope = t, this.override = n, this.items = Object.create( null); } isForType (e) { return Object.prototype.isPrototypeOf.call(this.type.prototype, e.prototype); } register (e) { const t = this, n = Object.getPrototypeOf(e); let i; (function (e) {return 'id' in e && 'defaults' in e;})(n) && (i = t.register(n)); const a = t.items, r = e.id, o = t.scope + '.' + r; if (!r) throw new Error('class does not have id: ' + e); return r in a || (a[r] = e, function (e, t, n) { const i = ae(Object.create(null), [n ? ve.get(n) : {}, ve.get(t), e.defaults]); ve.set(t, i), e.defaultRoutes && function (e, t) { Object.keys(t). forEach((n => { const i = n.split('.'), a = i.pop(), r = [e].concat(i).join('.'), o = t[n].split('.'), s = o.pop(), l = o.join('.'); ve.route(r, a, l, s); })); }(t, e.defaultRoutes); e.descriptors && ve.describe(t, e.descriptors); }(e, o, i), t.override && ve.override(e.id, e.overrides)), o; } get (e) {return this.items[e];} unregister (e) { const t = this.items, n = e.id, i = this.scope; n in t && delete t[n], i && n in ve[i] && (delete ve[i][n], this.override && delete fe[n]); } } var Ei = new class { constructor () { this.controllers = new Ci(Pn, 'datasets', !0), this.elements = new Ci(In, 'elements'), this.plugins = new Ci(Object, 'plugins'), this.scales = new Ci($n, 'scales'), this._typedRegistries = [ this.controllers, this.scales, this.elements]; } add (...e) {this._each('register', e);} remove (...e) {this._each('unregister', e);} addControllers (...e) {this._each('register', e, this.controllers);} addElements (...e) {this._each('register', e, this.elements);} addPlugins (...e) {this._each('register', e, this.plugins);} addScales (...e) {this._each('register', e, this.scales);} getController (e) { return this._get(e, this.controllers, 'controller'); } getElement (e) {return this._get(e, this.elements, 'element');} getPlugin (e) {return this._get(e, this.plugins, 'plugin');} getScale (e) {return this._get(e, this.scales, 'scale');} removeControllers (...e) { this._each('unregister', e, this.controllers); } removeElements (...e) {this._each('unregister', e, this.elements);} removePlugins (...e) {this._each('unregister', e, this.plugins);} removeScales (...e) {this._each('unregister', e, this.scales);} _each (e, t, n) { const i = this; [...t].forEach((t => { const a = n || i._getRegistryForType(t); n || a.isForType(t) || a === i.plugins && t.id ? i._exec(e, a, t) : Q(t, (t => { const a = n || i._getRegistryForType(t); i._exec(e, a, t); })); })); } _exec (e, t, n) { const i = ce(e); J(n['before' + i], [], n), t[e](n), J(n['after' + i], [], n); } _getRegistryForType (e) { for (let t = 0; t < this._typedRegistries.length; t++) { const n = this._typedRegistries[t]; if (n.isForType(e)) return n; } return this.plugins; } _get (e, t, n) { const i = t.get(e); if (void 0 === i) throw new Error( '"' + e + '" is not a registered ' + n + '.'); return i; } }; class Oi { constructor () {this._init = [];} notify (e, t, n, i) { const a = this; 'beforeInit' === t && (a._init = a._createDescriptors(e, !0), a._notify(a._init, e, 'install')); const r = i ? a._descriptors(e).filter(i) : a._descriptors(e), o = a._notify(r, e, t, n); return 'destroy' === t && (a._notify(r, e, 'stop'), a._notify(a._init, e, 'uninstall')), o; } _notify (e, t, n, i) { i = i || {}; for (const a of e) { const e = a.plugin; if (!1 === J(e[n], [t, i, a.options], e) && i.cancelable) return !1; } return !0; } invalidate () { V(this._cache) || (this._oldCache = this._cache, this._cache = void 0); } _descriptors (e) { if (this._cache) return this._cache; const t = this._cache = this._createDescriptors(e); return this._notifyStateChanges(e), t; } _createDescriptors (e, t) { const n = e && e.config, i = G(n.options && n.options.plugins, {}), a = function (e) { const t = [], n = Object.keys(Ei.plugins.items); for (let e = 0; e < n.length; e++) t.push( Ei.getPlugin(n[e])); const i = e.plugins || []; for (let e = 0; e < i.length; e++) { const n = i[e]; -1 === t.indexOf(n) && t.push(n); } return t; }(n); return !1 !== i || t ? function (e, t, n, i) { const a = [], r = e.getContext(); for (let o = 0; o < t.length; o++) { const s = t[o], l = Yi(n[s.id], i); null !== l && a.push({ plugin: s, options: Pi(e.config, s, l, r) }); } return a; }(e, a, i, t) : []; } _notifyStateChanges (e) { const t = this._oldCache || [], n = this._cache, i = (e, t) => e.filter( (e => !t.some((t => e.plugin.id === t.plugin.id)))); this._notify(i(t, n), e, 'stop'), this._notify(i(n, t), e, 'start'); } } function Yi (e, t) {return t || !1 !== e ? !0 === e ? {} : e : null;} function Pi (e, t, n, i) { const a = e.pluginScopeKeys(t), r = e.getOptionScopes(n, a); return e.createResolver(r, i, [''], { scriptable: !1, indexable: !1, allKeys: !0 }); } function Ii (e, t) { const n = ve.datasets[e] || {}; return ((t.datasets || {})[e] || {}).indexAxis || t.indexAxis || n.indexAxis || 'x'; } function ji (e, t) { return 'x' === e || 'y' === e ? e : t.axis || ('top' === (n = t.position) || 'bottom' === n ? 'x' : 'left' === n || 'right' === n ? 'y' : void 0) || e.charAt(0).toLowerCase(); var n; } function Ni (e) { const t = e.options || (e.options = {}); t.plugins = G(t.plugins, {}), t.scales = function ( e, t) { const n = fe[e.type] || { scales: {} }, i = t.scales || {}, a = Ii(e.type, t), r = Object.create(null), o = Object.create(null); return Object.keys(i). forEach((e => { const t = i[e], s = ji(e, t), l = function (e, t) { return e === t ? '_index_' : '_value_'; }(s, a), c = n.scales || {}; r[s] = r[s] || e, o[e] = re(Object.create(null), [{ axis: s }, t, c[s], c[l]]); })), e.data.datasets.forEach((n => { const a = n.type || e.type, s = n.indexAxis || Ii(a, t), l = (fe[a] || {}).scales || {}; Object.keys(l). forEach((e => { const t = function (e, t) { let n = e; return '_index_' === e ? n = t : '_value_' === e && (n = 'x' === t ? 'y' : 'x'), n; }(e, s), a = n[t + 'AxisID'] || r[t] || t; o[a] = o[a] || Object.create(null), re(o[a], [{ axis: t }, i[a], l[e]]); })); })), Object.keys(o).forEach((e => { const t = o[e]; re(t, [ve.scales[t.type], ve.scale]); })), o; }(e, t); } function Hi (e) { return (e = e || {}).datasets = e.datasets || [], e.labels = e.labels || [], e; } const Fi = new Map, Ri = new Set; function zi (e, t) { let n = Fi.get(e); return n || (n = t(), Fi.set(e, n), Ri.add(n)), n; } const Bi = (e, t, n) => { const i = le(t, n); void 0 !== i && e.add(i); }; class Wi { constructor (e) { this._config = function (e) { return (e = e || {}).data = Hi(e.data), Ni(e), e; }(e), this._scopeCache = new Map, this._resolverCache = new Map; } get type () {return this._config.type;} set type (e) {this._config.type = e;} get data () {return this._config.data;} set data (e) {this._config.data = Hi(e);} get options () {return this._config.options;} set options (e) {this._config.options = e;} get plugins () {return this._config.plugins;} update () { const e = this._config; this.clearCache(), Ni(e); } clearCache () {this._scopeCache.clear(), this._resolverCache.clear();} datasetScopeKeys (e) { return zi(e, (() => [[`datasets.${e}`, '']])); } datasetAnimationScopeKeys (e, t) { return zi(`${e}.transition.${t}`, (() => [ [`datasets.${e}.transitions.${t}`, `transitions.${t}`], [`datasets.${e}`, '']])); } datasetElementScopeKeys (e, t) { return zi(`${e}-${t}`, (() => [ [ `datasets.${e}.elements.${t}`, `datasets.${e}`, `elements.${t}`, '']])); } pluginScopeKeys (e) { const t = e.id; return zi(`${this.type}-plugin-${t}`, (() => [ [ `plugins.${t}`, ...e.additionalOptionScopes || []]])); } _cachedScopes (e, t) { const n = this._scopeCache; let i = n.get(e); return i && !t || (i = new Map, n.set(e, i)), i; } getOptionScopes (e, t, n) { const { options: i, type: a } = this, r = this._cachedScopes(e, n), o = r.get(t); if (o) return o; const s = new Set; t.forEach((t => { e && (s.add(e), t.forEach((t => Bi(s, e, t)))), t.forEach( (e => Bi(s, i, e))), t.forEach( (e => Bi(s, fe[a] || {}, e))), t.forEach( (e => Bi(s, ve, e))), t.forEach((e => Bi(s, pe, e))); })); const l = [...s]; return Ri.has(t) && r.set(t, l), l; } chartOptionScopes () { const { options: e, type: t } = this; return [ e, fe[t] || {}, ve.datasets[t] || {}, { type: t }, ve, pe]; } resolveNamedOptions ( e, t, n, i = ['']) { const a = { $shared: !0 }, { resolver: r, subPrefixes: o, } = Vi(this._resolverCache, e, i); let s = r; if (function (e, t) { const { isScriptable: n, isIndexable: i, } = Kn(e); for (const a of t) if (n(a) && de(e[a]) || i(a) && q(e[a])) return !0; return !1; }(r, t)) { a.$shared = !1; s = Zn(r, n = de(n) ? n() : n, this.createResolver(e, n, o)); } for (const e of t) a[e] = s[e]; return a; } createResolver (e, t, n = [''], i) { const { resolver: a } = Vi(this._resolverCache, e, n); return U(t) ? Zn(a, t, void 0, i) : a; } } function Vi (e, t, n) { let i = e.get(t); i || (i = new Map, e.set(t, i)); const a = n.join(); let r = i.get(a); if (!r) { r = { resolver: Gn(t, n), subPrefixes: n.filter( (e => !e.toLowerCase().includes('hover'))), }, i.set(a, r); } return r; } const qi = ['top', 'bottom', 'left', 'right', 'chartArea']; function Ui (e, t) { return 'top' === e || 'bottom' === e || -1 === qi.indexOf(e) && 'x' === t; } function Xi (e, t) { return function (n, i) { return n[e] === i[e] ? n[t] - i[t] : n[e] - i[e]; }; } function $i (e) { const t = e.chart, n = t.options.animation; t.notifyPlugins('afterRender'), J(n && n.onComplete, [e], t); } function Gi (e) { const t = e.chart, n = t.options.animation; J(n && n.onProgress, [e], t); } function Zi () { return 'undefined' != typeof window && 'undefined' != typeof document; } function Ki (e) { return Zi() && 'string' == typeof e ? e = document.getElementById(e) : e && e.length && (e = e[0]), e && e.canvas && (e = e.canvas), e; } const Ji = {}, Qi = e => { const t = Ki(e); return Object.values(Ji).filter((e => e.canvas === t)).pop(); }; class ea { constructor (e, t) { const i = this; this.config = t = new Wi(t); const a = Ki(e), r = Qi(a); if (r) throw new Error( 'Canvas is already in use. Chart with ID \'' + r.id + '\' must be destroyed before the canvas can be reused.'); const s = t.createResolver(t.chartOptionScopes(), i.getContext()); this.platform = i._initializePlatform(a, t); const l = i.platform.acquireContext(a, s.aspectRatio), c = l && l.canvas, u = c && c.height, d = c && c.width; this.id = W(), this.ctx = l, this.canvas = c, this.width = d, this.height = u, this._options = s, 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.scale = void 0, this._plugins = new Oi, this.$proxies = {}, this._hiddenIndices = {}, this.attached = !1, this._animationsDisabled = void 0, this.$context = void 0, this._doResize = n( (() => this.update('resize')), s.resizeDelay || 0), Ji[i.id] = i, l && c ? (o.listen(i, 'complete', $i), o.listen(i, 'progress', Gi), i._initialize(), i.attached && i.update()) : console.error( 'Failed to create chart: can\'t acquire context from the given item'); } get aspectRatio () { const { options: { aspectRatio: e, maintainAspectRatio: t, }, width: n, height: i, _aspectRatio: a, } = this; return V(e) ? t && a ? a : i ? n / i : null : e; } get data () {return this.config.data;} set data (e) {this.config.data = e;} get options () {return this._options;} set options (e) {this.config.options = e;} _initialize () { const e = this; return e.notifyPlugins('beforeInit'), e.options.responsive ? e.resize() : xt(e, e.options.devicePixelRatio), e.bindEvents(), e.notifyPlugins( 'afterInit'), e; } _initializePlatform (e, t) { return t.platform ? new t.platform : !Zi() || 'undefined' != typeof OffscreenCanvas && e instanceof OffscreenCanvas ? new Jt : new hn; } clear () {return $e(this.canvas, this.ctx), this;} stop () {return o.stop(this), this;} resize (e, t) { o.running(this) ? this._resizeBeforeDraw = { width: e, height: t } : this._resize(e, t); } _resize (e, t) { const n = this, i = n.options, a = n.canvas, r = i.maintainAspectRatio && n.aspectRatio, o = n.platform.getMaximumSize(a, e, t, r), s = i.devicePixelRatio || n.platform.getDevicePixelRatio(); n.width = o.width, n.height = o.height, n._aspectRatio = n.aspectRatio, xt( n, s, !0) && (n.notifyPlugins('resize', { size: o }), J(i.onResize, [n, o], n), n.attached && n._doResize() && n.render()); } ensureScalesHaveIDs () { Q(this.options.scales || {}, ((e, t) => {e.id = t;})); } buildOrUpdateScales () { const e = this, t = e.options, n = t.scales, i = e.scales, a = Object.keys(i).reduce(((e, t) => (e[t] = !1, e)), {}); let r = []; n && (r = r.concat(Object.keys(n). map((e => { const t = n[e], i = ji(e, t), a = 'r' === i, r = 'x' === i; return { options: t, dposition: a ? 'chartArea' : r ? 'bottom' : 'left', dtype: a ? 'radialLinear' : r ? 'category' : 'linear', }; })))), Q(r, (n => { const r = n.options, o = r.id, s = ji(o, r), l = G(r.type, n.dtype); void 0 !== r.position && Ui(r.position, s) === Ui(n.dposition) || (r.position = n.dposition), a[o] = !0; let c = null; if (o in i && i[o].type === l) c = i[o]; else { c = new (Ei.getScale(l))({ id: o, type: l, ctx: e.ctx, chart: e, }), i[c.id] = c; } c.init(r, t); })), Q(a, ((e, t) => {e || delete i[t];})), Q(i, (t => {Zt.configure(e, t, t.options), Zt.addBox(e, t);})); } _updateMetasets () { const e = this, t = e._metasets, n = e.data.datasets.length, i = t.length; if (t.sort(((e, t) => e.index - t.index)), i > n) { for (let t = n; t < i; ++t) e._destroyDatasetMeta(t); t.splice(n, i - n); } e._sortedMetasets = t.slice(0).sort(Xi('order', 'index')); } _removeUnreferencedMetasets () { const e = this, { _metasets: t, data: { datasets: n }, } = e; t.length > n.length && delete e._stacks, t.forEach(((t, i) => { 0 === n.filter((e => e === t._dataset)).length && e._destroyDatasetMeta(i); })); } buildOrUpdateControllers () { const e = this, t = [], n = e.data.datasets; let i, a; for (e._removeUnreferencedMetasets(), i = 0, a = n.length; i < a; i++) { const a = n[i]; let r = e.getDatasetMeta(i); const o = a.type || e.config.type; if (r.type && r.type !== o && (e._destroyDatasetMeta(i), r = e.getDatasetMeta( i)), r.type = o, r.indexAxis = a.indexAxis || Ii(o, e.options), r.order = a.order || 0, r.index = i, r.label = '' + a.label, r.visible = e.isDatasetVisible( i), r.controller) r.controller.updateIndex( i), r.controller.linkScales(); else { const n = Ei.getController(o), { datasetElementType: a, dataElementType: s, } = ve.datasets[o]; Object.assign(n.prototype, { dataElementType: Ei.getElement(s), datasetElementType: a && Ei.getElement(a), }), r.controller = new n(e, i), t.push(r.controller); } } return e._updateMetasets(), t; } _resetElements () { const e = this; Q(e.data.datasets, ((t, n) => {e.getDatasetMeta(n).controller.reset();}), e); } reset () {this._resetElements(), this.notifyPlugins('reset');} update (e) { const t = this, n = t.config; n.update(), t._options = n.createResolver(n.chartOptionScopes(), t.getContext()), Q(t.scales, (e => {Zt.removeBox(t, e);})); const i = t._animationsDisabled = !t.options.animation; t.ensureScalesHaveIDs(), t.buildOrUpdateScales(); const a = new Set(Object.keys(t._listeners)), r = new Set(t.options.events); if (he(a, r) && !!this._responsiveListeners === t.options.responsive || (t.unbindEvents(), t.bindEvents()), t._plugins.invalidate(), !1 === t.notifyPlugins('beforeUpdate', { mode: e, cancelable: !0 })) return; const o = t.buildOrUpdateControllers(); t.notifyPlugins('beforeElementsUpdate'); let s = 0; for (let e = 0, n = t.data.datasets.length; e < n; e++) { const { controller: n } = t.getDatasetMeta(e), a = !i && -1 === o.indexOf(n); n.buildOrUpdateElements(a), s = Math.max( +n.getMaxOverflow(), s); } t._minPadding = s, t._updateLayout(s), i || Q(o, (e => {e.reset();})), t._updateDatasets( e), t.notifyPlugins( 'afterUpdate', { mode: e }), t._layers.sort( Xi('z', '_idx')), t._lastEvent && t._eventHandler(t._lastEvent, !0), t.render(); } _updateLayout (e) { const t = this; if (!1 === t.notifyPlugins('beforeLayout', { cancelable: !0 })) return; Zt.update(t, t.width, t.height, e); const n = t.chartArea, i = n.width <= 0 || n.height <= 0; t._layers = [], Q(t.boxes, (e => { i && 'chartArea' === e.position || (e.configure && e.configure(), t._layers.push( ...e._layers())); }), t), t._layers.forEach( ((e, t) => {e._idx = t;})), t.notifyPlugins('afterLayout'); } _updateDatasets (e) { const t = this, n = 'function' == typeof e; if (!1 !== t.notifyPlugins('beforeDatasetsUpdate', { mode: e, cancelable: !0, })) { for (let i = 0, a = t.data.datasets.length; i < a; ++i) t._updateDataset(i, n ? e({ datasetIndex: i }) : e); t.notifyPlugins('afterDatasetsUpdate', { mode: e }); } } _updateDataset (e, t) { const n = this, i = n.getDatasetMeta(e), a = { meta: i, index: e, mode: t, cancelable: !0 }; !1 !== n.notifyPlugins('beforeDatasetUpdate', a) && (i.controller._update(t), a.cancelable = !1, n.notifyPlugins( 'afterDatasetUpdate', a)); } render () { const e = this; !1 !== e.notifyPlugins('beforeRender', { cancelable: !0 }) && (o.has(e) ? e.attached && !o.running(e) && o.start(e) : (e.draw(), $i({ chart: e }))); } draw () { const e = this; let t; if (e._resizeBeforeDraw) { const { width: t, height: n, } = e._resizeBeforeDraw; e._resize(t, n), e._resizeBeforeDraw = null; } if (e.clear(), e.width <= 0 || e.height <= 0) return; if (!1 === e.notifyPlugins('beforeDraw', { cancelable: !0 })) return; const n = e._layers; for (t = 0; t < n.length && n[t].z <= 0; ++t) n[t].draw( e.chartArea); for (e._drawDatasets(); t < n.length; ++t) n[t].draw( e.chartArea); e.notifyPlugins('afterDraw'); } _getSortedDatasetMetas (e) { const t = this._sortedMetasets, n = []; let i, a; for (i = 0, a = t.length; i < a; ++i) { const a = t[i]; e && !a.visible || n.push(a); } return n; } getSortedVisibleDatasetMetas () { return this._getSortedDatasetMetas(!0); } _drawDatasets () { const e = this; if (!1 === e.notifyPlugins('beforeDatasetsDraw', { cancelable: !0 })) return; const t = e.getSortedVisibleDatasetMetas(); for (let n = t.length - 1; n >= 0; --n) e._drawDataset(t[n]); e.notifyPlugins('afterDatasetsDraw'); } _drawDataset (e) { const t = this, n = t.ctx, i = e._clip, a = t.chartArea, r = { meta: e, index: e.index, cancelable: !0 }; !1 !== t.notifyPlugins('beforeDatasetDraw', r) && (Ke(n, { left: !1 === i.left ? 0 : a.left - i.left, right: !1 === i.right ? t.width : a.right + i.right, top: !1 === i.top ? 0 : a.top - i.top, bottom: !1 === i.bottom ? t.height : a.bottom + i.bottom, }), e.controller.draw(), Je( n), r.cancelable = !1, t.notifyPlugins('afterDatasetDraw', r)); } getElementsAtEventForMode (e, t, n, i) { const a = Dt.modes[t]; return 'function' == typeof a ? a(this, e, n, i) : []; } getDatasetMeta (e) { const t = this.data.datasets[e], n = this._metasets; let i = n.filter((e => e && e._dataset === t)).pop(); return i || (i = { type: null, data: [], dataset: null, controller: null, hidden: null, xAxisID: null, yAxisID: null, order: t && t.order || 0, index: e, _dataset: t, _parsed: [], _sorted: !1, }, n.push(i)), i; } getContext () { return this.$context || (this.$context = { chart: this, type: 'chart' }); } getVisibleDatasetCount () {return this.getSortedVisibleDatasetMetas().length;} isDatasetVisible (e) { const t = this.data.datasets[e]; if (!t) return !1; const n = this.getDatasetMeta(e); return 'boolean' == typeof n.hidden ? !n.hidden : !t.hidden; } setDatasetVisibility (e, t) {this.getDatasetMeta(e).hidden = !t;} toggleDataVisibility (e) {this._hiddenIndices[e] = !this._hiddenIndices[e];} getDataVisibility (e) {return !this._hiddenIndices[e];} _updateDatasetVisibility (e, t) { const n = this, i = t ? 'show' : 'hide', a = n.getDatasetMeta(e), r = a.controller._resolveAnimations(void 0, i); n.setDatasetVisibility(e, t), r.update(a, { visible: t }), n.update( (t => t.datasetIndex === e ? i : void 0)); } hide (e) {this._updateDatasetVisibility(e, !1);} show (e) {this._updateDatasetVisibility(e, !0);} _destroyDatasetMeta (e) { const t = this, n = t._metasets && t._metasets[e]; n && n.controller && (n.controller._destroy(), delete t._metasets[e]); } destroy () { const e = this, { canvas: t, ctx: n } = e; let i, a; for (e.stop(), o.remove( e), i = 0, a = e.data.datasets.length; i < a; ++i) e._destroyDatasetMeta(i); e.config.clearCache(), t && (e.unbindEvents(), $e(t, n), e.platform.releaseContext( n), e.canvas = null, e.ctx = null), e.notifyPlugins( 'destroy'), delete Ji[e.id]; } toBase64Image (...e) {return this.canvas.toDataURL(...e);} bindEvents () { this.bindUserEvents(), this.options.responsive ? this.bindResponsiveEvents() : this.attached = !0; } bindUserEvents () { const e = this, t = e._listeners, n = e.platform, i = function (t, n, i) { t.offsetX = n, t.offsetY = i, e._eventHandler(t); }; Q(e.options.events, (a => ((i, a) => {n.addEventListener(e, i, a), t[i] = a;})( a, i))); } bindResponsiveEvents () { const e = this; e._responsiveListeners || (e._responsiveListeners = {}); const t = e._responsiveListeners, n = e.platform, i = (i, a) => {n.addEventListener(e, i, a), t[i] = a;}, a = (i, a) => { t[i] && (n.removeEventListener(e, i, a), delete t[i]); }, r = (t, n) => {e.canvas && e.resize(t, n);}; let o; const s = () => { a('attach', s), e.attached = !0, e.resize(), i('resize', r), i('detach', o); }; o = () => { e.attached = !1, a('resize', r), i('attach', s); }, n.isAttached(e.canvas) ? s() : o(); } unbindEvents () { const e = this; Q(e._listeners, ((t, n) => { e.platform.removeEventListener(e, n, t); })), e._listeners = {}, Q(e._responsiveListeners, ((t, n) => { e.platform.removeEventListener(e, n, t); })), e._responsiveListeners = void 0; } updateHoverStyle (e, t, n) { const i = n ? 'set' : 'remove'; let a, r, o, s; for ('dataset' === t && (a = this.getDatasetMeta( e[0].datasetIndex), a.controller['_' + i + 'DatasetHoverStyle']()), o = 0, s = e.length; o < s; ++o) { r = e[o]; const t = r && this.getDatasetMeta(r.datasetIndex).controller; t && t[i + 'HoverStyle'](r.element, r.datasetIndex, r.index); } } getActiveElements () {return this._active || [];} setActiveElements (e) { const t = this, n = t._active || [], i = e.map((({ datasetIndex: e, index: n, }) => { const i = t.getDatasetMeta(e); if (!i) throw new Error('No dataset found at index ' + e); return { datasetIndex: e, element: i.data[n], index: n }; })); !ee(i, n) && (t._active = i, t._updateHoverStyles(i, n)); } notifyPlugins (e, t, n) { return this._plugins.notify(this, e, t, n); } _updateHoverStyles (e, t, n) { const i = this, a = i.options.hover, r = (e, t) => e.filter( (e => !t.some( (t => e.datasetIndex === t.datasetIndex && e.index === t.index)))), o = r(t, e), s = n ? e : r(e, t); o.length && i.updateHoverStyle(o, a.mode, !1), s.length && a.mode && i.updateHoverStyle(s, a.mode, !0); } _eventHandler (e, t) { const n = this, i = { event: e, replay: t, cancelable: !0 }, a = t => (t.options.events || this.options.events).includes( e.type); if (!1 === n.notifyPlugins('beforeEvent', i, a)) return; const r = n._handleEvent(e, t); return i.cancelable = !1, n.notifyPlugins('afterEvent', i, a), (r || i.changed) && n.render(), n; } _handleEvent (e, t) { const n = this, { _active: i = [], options: a, } = n, r = a.hover, o = t; let s = [], l = !1, c = null; return 'mouseout' !== e.type && (s = n.getElementsAtEventForMode(e, r.mode, r, o), c = 'click' === e.type ? n._lastEvent : e), n._lastEvent = null, Ze(e, n.chartArea, n._minPadding) && (J(a.onHover, [e, s, n], n), 'mouseup' !== e.type && 'click' !== e.type && 'contextmenu' !== e.type || J(a.onClick, [e, s, n], n)), l = !ee(s, i), (l || t) && (n._active = s, n._updateHoverStyles(s, i, t)), n._lastEvent = c, l; } } const ta = () => Q(ea.instances, (e => e._plugins.invalidate())), na = !0; function ia () { throw new Error( 'This method is not implemented: Check that a complete date adapter is provided.'); } Object.defineProperties(ea, { defaults: { enumerable: na, value: ve }, instances: { enumerable: na, value: Ji }, overrides: { enumerable: na, value: fe }, registry: { enumerable: na, value: Ei }, version: { enumerable: na, value: '3.3.2' }, getChart: { enumerable: na, value: Qi }, register: { enumerable: na, value: (...e) => {Ei.add(...e), ta();}, }, unregister: { enumerable: na, value: (...e) => {Ei.remove(...e), ta();}, }, }); class aa { constructor (e) {this.options = e || {};} formats () {return ia();} parse (e, t) {return ia();} format (e, t) {return ia();} add (e, t, n) {return ia();} diff (e, t, n) {return ia();} startOf (e, t, n) {return ia();} endOf (e, t) {return ia();} } aa.override = function (e) {Object.assign(aa.prototype, e);}; var ra = { _date: aa }; function oa (e) { const t = function (e) { if (!e._cache.$bar) { const t = e.getMatchingVisibleMetas('bar'); let n = []; for (let i = 0, a = t.length; i < a; i++) n = n.concat( t[i].controller.getAllParsedValues(e)); e._cache.$bar = ut(n.sort(((e, t) => e - t))); } return e._cache.$bar; }(e); let n, i, a, r, o = e._length; const s = () => { 32767 !== a && -32768 !== a && (ue(r) && (o = Math.min(o, Math.abs(a - r) || o)), r = a); }; for (n = 0, i = t.length; n < i; ++n) a = e.getPixelForValue( t[n]), s(); for (r = void 0, n = 0, i = e.ticks.length; n < i; ++n) a = e.getPixelForTick(n), s(); return o; } function sa (e, t, n, i) { return q(e) ? function ( e, t, n, i) { const a = n.parse(e[0], i), r = n.parse(e[1], i), o = Math.min(a, r), s = Math.max(a, r); let l = o, c = s; Math.abs(o) > Math.abs(s) && (l = s, c = o), t[n.axis] = c, t._custom = { barStart: l, barEnd: c, start: a, end: r, min: o, max: s, }; }(e, t, n, i) : t[n.axis] = n.parse(e, i), t; } function la (e, t, n, i) { const a = e.iScale, r = e.vScale, o = a.getLabels(), s = a === r, l = []; let c, u, d, h; for (c = n, u = n + i; c < u; ++c) h = t[c], d = {}, d[a.axis] = s || a.parse(o[c], c), l.push( sa(h, d, r, c)); return l; } function ca (e) { return e && void 0 !== e.barStart && void 0 !== e.barEnd; } class ua extends Pn { parsePrimitiveData (e, t, n, i) {return la(e, t, n, i);} parseArrayData (e, t, n, i) {return la(e, t, n, i);} parseObjectData (e, t, n, i) { const { iScale: a, vScale: r, } = e, { xAxisKey: o = 'x', yAxisKey: s = 'y' } = this._parsing, l = 'x' === a.axis ? o : s, c = 'x' === r.axis ? o : s, u = []; let d, h, f, p; for (d = n, h = n + i; d < h; ++d) p = t[d], f = {}, f[a.axis] = a.parse(le(p, l), d), u.push(sa(le(p, c), f, r, d)); return u; } updateRangeFromParsed (e, t, n, i) { super.updateRangeFromParsed(e, t, n, i); const a = n._custom; a && t === this._cachedMeta.vScale && (e.min = Math.min(e.min, a.min), e.max = Math.max(e.max, a.max)); } getLabelAndValue (e) { const t = this._cachedMeta, { iScale: n, vScale: i, } = t, a = this.getParsed(e), r = a._custom, o = ca(r) ? '[' + r.start + ', ' + r.end + ']' : '' + i.getLabelForValue(a[i.axis]); return { label: '' + n.getLabelForValue(a[n.axis]), value: o }; } initialize () { const e = this; e.enableOptionSharing = !0, super.initialize(); e._cachedMeta.stack = e.getDataset().stack; } update (e) { const t = this._cachedMeta; this.updateElements(t.data, 0, t.data.length, e); } updateElements (e, t, n, i) { const a = this, r = 'reset' === i, o = a._cachedMeta.vScale, s = o.getBasePixel(), l = o.isHorizontal(), c = a._getRuler(), u = a.resolveDataElementOptions(t, i), d = a.getSharedOptions(u), h = a.includeOptions(i, d); a.updateSharedOptions(d, i, u); for (let u = t; u < t + n; u++) { const t = a.getParsed(u), n = r || V(t[o.axis]) ? { base: s, head: s } : a._calculateBarValuePixels(u), f = a._calculateBarIndexPixels(u, c), p = (t._stacks || {})[o.axis], m = { horizontal: l, base: n.base, enableBorderRadius: !p || ca(t._custom) || a.index === p._top || a.index === p._bottom, x: l ? n.head : f.center, y: l ? f.center : n.head, height: l ? f.size : void 0, width: l ? void 0 : f.size, }; h && (m.options = d || a.resolveDataElementOptions(u, i)), a.updateElement( e[u], u, m, i); } } _getStacks (e, t) { const n = this._cachedMeta.iScale, i = n.getMatchingVisibleMetas(this._type), a = n.options.stacked, r = i.length, o = []; let s, l; for (s = 0; s < r; ++s) { if (l = i[s], void 0 !== t) { const e = l.controller.getParsed( t)[l.controller._cachedMeta.vScale.axis]; if (V(e) || isNaN(e)) continue; } if ((!1 === a || -1 === o.indexOf(l.stack) || void 0 === a && void 0 === l.stack) && o.push(l.stack), l.index === e) break; } return o.length || o.push(void 0), o; } _getStackCount (e) {return this._getStacks(void 0, e).length;} _getStackIndex (e, t, n) { const i = this._getStacks(e, n), a = void 0 !== t ? i.indexOf(t) : -1; return -1 === a ? i.length - 1 : a; } _getRuler () { const e = this, t = e.options, n = e._cachedMeta, i = n.iScale, a = []; let r, o; for (r = 0, o = n.data.length; r < o; ++r) a.push( i.getPixelForValue(e.getParsed(r)[i.axis], r)); const s = t.barThickness; return { min: s || oa(i), pixels: a, start: i._startPixel, end: i._endPixel, stackCount: e._getStackCount(), scale: i, grouped: t.grouped, ratio: s ? 1 : t.categoryPercentage * t.barPercentage, }; } _calculateBarValuePixels (e) { const t = this, { vScale: n, _stacked: i, } = t._cachedMeta, { base: a, minBarLength: r } = t.options, o = t.getParsed(e), s = o._custom, l = ca(s); let c, u, d = o[n.axis], h = 0, f = i ? t.applyStack(n, o, i) : d; f !== d && (h = f - d, f = d), l && (d = s.barStart, f = s.barEnd - s.barStart, 0 !== d && Te(d) !== Te(s.barEnd) && (h = 0), h += d); const p = V(a) || l ? h : a; let m = n.getPixelForValue(p); c = this.chart.getDataVisibility(e) ? n.getPixelForValue(h + f) : m, u = c - m, void 0 !== r && Math.abs(u) < r && (u = u < 0 ? -r : r, 0 === d && (m -= u / 2), c = m + u); const g = a || 0; if (m === n.getPixelForValue(g)) { const e = n.getLineWidthForValue(g) / 2; u > 0 ? (m += e, u -= e) : u < 0 && (m -= e, u += e); } return { size: u, base: m, head: c, center: c + u / 2 }; } _calculateBarIndexPixels (e, t) { const n = this, i = t.scale, a = n.options, r = a.skipNull, o = G(a.maxBarThickness, 1 / 0); let s, l; if (t.grouped) { const i = r ? n._getStackCount(e) : t.stackCount, c = 'flex' === a.barThickness ? function (e, t, n, i) { const a = t.pixels, r = a[e]; let o = e > 0 ? a[e - 1] : null, s = e < a.length - 1 ? a[e + 1] : null; const l = n.categoryPercentage; null === o && (o = r - (null === s ? t.end - t.start : s - r)), null === s && (s = r + r - o); const c = r - (r - Math.min(o, s)) / 2 * l; return { chunk: Math.abs(s - o) / 2 * l / i, ratio: n.barPercentage, start: c, }; }(e, t, a, i) : function (e, t, n, i) { const a = n.barThickness; let r, o; return V(a) ? (r = t.min * n.categoryPercentage, o = n.barPercentage) : (r = a * i, o = 1), { chunk: r / i, ratio: o, start: t.pixels[e] - r / 2, }; }(e, t, a, i), u = n._getStackIndex(n.index, n._cachedMeta.stack, r ? e : void 0); s = c.start + c.chunk * u + c.chunk / 2, l = Math.min(o, c.chunk * c.ratio); } else s = i.getPixelForValue(n.getParsed(e)[i.axis], e), l = Math.min(o, t.min * t.ratio); return { base: s - l / 2, head: s + l / 2, center: s, size: l }; } draw () { const e = this, t = e.chart, n = e._cachedMeta, i = n.vScale, a = n.data, r = a.length; let o = 0; for (Ke(t.ctx, t.chartArea); o < r; ++o) null !== e.getParsed(o)[i.axis] && a[o].draw(e._ctx); Je(t.ctx); } } ua.id = 'bar', ua.defaults = { datasetElementType: !1, dataElementType: 'bar', categoryPercentage: .8, barPercentage: .9, grouped: !0, animations: { numbers: { type: 'number', properties: ['x', 'y', 'base', 'width', 'height'], }, }, }, ua.overrides = { interaction: { mode: 'index' }, scales: { _index_: { type: 'category', offset: !0, grid: { offset: !0 }, }, _value_: { type: 'linear', beginAtZero: !0 }, }, }; class da extends Pn { initialize () {this.enableOptionSharing = !0, super.initialize();} parseObjectData (e, t, n, i) { const { xScale: a, yScale: r, } = e, { xAxisKey: o = 'x', yAxisKey: s = 'y' } = this._parsing, l = []; let c, u, d; for (c = n, u = n + i; c < u; ++c) d = t[c], l.push({ x: a.parse(le(d, o), c), y: r.parse(le(d, s), c), _custom: d && d.r && +d.r, }); return l; } getMaxOverflow () { const { data: e, _parsed: t } = this._cachedMeta; let n = 0; for (let i = e.length - 1; i >= 0; --i) n = Math.max(n, e[i].size() / 2, t[i]._custom); return n > 0 && n; } getLabelAndValue (e) { const t = this._cachedMeta, { xScale: n, yScale: i, } = t, a = this.getParsed(e), r = n.getLabelForValue(a.x), o = i.getLabelForValue(a.y), s = a._custom; return { label: t.label, value: '(' + r + ', ' + o + (s ? ', ' + s : '') + ')', }; } update (e) { const t = this._cachedMeta.data; this.updateElements(t, 0, t.length, e); } updateElements (e, t, n, i) { const a = this, r = 'reset' === i, { iScale: o, vScale: s, } = a._cachedMeta, l = a.resolveDataElementOptions(t, i), c = a.getSharedOptions(l), u = a.includeOptions(i, c), d = o.axis, h = s.axis; for (let l = t; l < t + n; l++) { const t = e[l], n = !r && a.getParsed(l), c = {}, f = c[d] = r ? o.getPixelForDecimal(.5) : o.getPixelForValue(n[d]), p = c[h] = r ? s.getBasePixel() : s.getPixelForValue( n[h]); c.skip = isNaN(f) || isNaN(p), u && (c.options = a.resolveDataElementOptions(l, i), r && (c.options.radius = 0)), a.updateElement(t, l, c, i); } a.updateSharedOptions(c, i, l); } resolveDataElementOptions (e, t) { const n = this.getParsed(e); let i = super.resolveDataElementOptions(e, t); i.$shared && (i = Object.assign({}, i, { $shared: !1 })); const a = i.radius; return 'active' !== t && (i.radius = 0), i.radius += G( n && n._custom, a), i; } } da.id = 'bubble', da.defaults = { datasetElementType: !1, dataElementType: 'point', animations: { numbers: { type: 'number', properties: ['x', 'y', 'borderWidth', 'radius'], }, }, }, da.overrides = { scales: { x: { type: 'linear' }, y: { type: 'linear' }, }, plugins: { tooltip: { callbacks: { title: () => '' } } }, }; class ha extends Pn { constructor (e, t) { super(e, t), this.enableOptionSharing = !0, this.innerRadius = void 0, this.outerRadius = void 0, this.offsetX = void 0, this.offsetY = void 0; } linkScales () {} parse (e, t) { const n = this.getDataset().data, i = this._cachedMeta; let a, r; for (a = e, r = e + t; a < r; ++a) i._parsed[a] = +n[a]; } _getRotation () {return Pe(this.options.rotation - 90);} _getCircumference () {return Pe(this.options.circumference);} _getRotationExtents () { let e = be, t = -be; const n = this; for (let i = 0; i < n.chart.data.datasets.length; ++i) if (n.chart.isDatasetVisible( i)) { const a = n.chart.getDatasetMeta(i).controller, r = a._getRotation(), o = a._getCircumference(); e = Math.min(e, r), t = Math.max(t, r + o); } return { rotation: e, circumference: t - e }; } update (e) { const t = this, n = t.chart, { chartArea: i } = n, a = t._cachedMeta, r = a.data, o = t.getMaxBorderWidth() + t.getMaxOffset(r), s = Math.max((Math.min(i.width, i.height) - o) / 2, 0), l = Math.min(Z(t.options.cutout, s), 1), c = t._getRingWeight(t.index), { circumference: u, rotation: d, } = t._getRotationExtents(), { ratioX: h, ratioY: f, offsetX: p, offsetY: m, } = function (e, t, n) { let i = 1, a = 1, r = 0, o = 0; if (t < be) { const s = e, l = s + t, c = Math.cos(s), u = Math.sin(s), d = Math.cos(l), h = Math.sin(l), f = (e, t, i) => ze(e, s, l, !0) ? 1 : Math.max(t, t * n, i, i * n), p = (e, t, i) => ze(e, s, l, !0) ? -1 : Math.min(t, t * n, i, i * n), m = f(0, c, d), g = f(ke, u, h), v = p(ye, c, d), y = p(ye + ke, u, h); i = (m - v) / 2, a = (g - y) / 2, r = -(m + v) / 2, o = -(g + y) / 2; } return { ratioX: i, ratioY: a, offsetX: r, offsetY: o }; }(d, u, l), g = (i.width - o) / h, v = (i.height - o) / f, y = Math.max(Math.min(g, v) / 2, 0), b = K(t.options.radius, y), x = (b - Math.max(b * l, 0)) / t._getVisibleDatasetWeightTotal(); t.offsetX = p * b, t.offsetY = m * b, a.total = t.calculateTotal(), t.outerRadius = b - x * t._getRingWeightOffset(t.index), t.innerRadius = Math.max( t.outerRadius - x * c, 0), t.updateElements(r, 0, r.length, e); } _circumference (e, t) { const n = this, i = n.options, a = n._cachedMeta, r = n._getCircumference(); return t && i.animation.animateRotate || !this.chart.getDataVisibility(e) || null === a._parsed[e] ? 0 : n.calculateCircumference(a._parsed[e] * r / be); } updateElements (e, t, n, i) { const a = this, r = 'reset' === i, o = a.chart, s = o.chartArea, l = o.options.animation, c = (s.left + s.right) / 2, u = (s.top + s.bottom) / 2, d = r && l.animateScale, h = d ? 0 : a.innerRadius, f = d ? 0 : a.outerRadius, p = a.resolveDataElementOptions(t, i), m = a.getSharedOptions(p), g = a.includeOptions(i, m); let v, y = a._getRotation(); for (v = 0; v < t; ++v) y += a._circumference(v, r); for (v = t; v < t + n; ++v) { const t = a._circumference(v, r), n = e[v], o = { x: c + a.offsetX, y: u + a.offsetY, startAngle: y, endAngle: y + t, circumference: t, outerRadius: f, innerRadius: h, }; g && (o.options = m || a.resolveDataElementOptions(v, i)), y += t, a.updateElement(n, v, o, i); } a.updateSharedOptions(m, i, p); } calculateTotal () { const e = this._cachedMeta, t = e.data; let n, i = 0; for (n = 0; n < t.length; n++) { const t = e._parsed[n]; null !== t && !isNaN(t) && this.chart.getDataVisibility(n) && (i += Math.abs(t)); } return i; } calculateCircumference (e) { const t = this._cachedMeta.total; return t > 0 && !isNaN(e) ? be * (Math.abs(e) / t) : 0; } getLabelAndValue (e) { const t = this._cachedMeta, n = this.chart, i = n.data.labels || [], a = Nn(t._parsed[e], n.options.locale); return { label: i[e] || '', value: a }; } getMaxBorderWidth (e) { const t = this; let n = 0; const i = t.chart; let a, r, o, s, l; if (!e) for (a = 0, r = i.data.datasets.length; a < r; ++a) if (i.isDatasetVisible(a)) { o = i.getDatasetMeta(a), e = o.data, s = o.controller, s !== t && s.configure(); break; } if (!e) return 0; for (a = 0, r = e.length; a < r; ++a) l = s.resolveDataElementOptions(a), 'inner' !== l.borderAlign && (n = Math.max(n, l.borderWidth || 0, l.hoverBorderWidth || 0)); return n; } getMaxOffset (e) { let t = 0; for (let n = 0, i = e.length; n < i; ++n) { const e = this.resolveDataElementOptions(n); t = Math.max(t, e.offset || 0, e.hoverOffset || 0); } return t; } _getRingWeightOffset (e) { let t = 0; for (let n = 0; n < e; ++n) this.chart.isDatasetVisible(n) && (t += this._getRingWeight(n)); return t; } _getRingWeight (e) { return Math.max(G(this.chart.data.datasets[e].weight, 1), 0); } _getVisibleDatasetWeightTotal () { return this._getRingWeightOffset( this.chart.data.datasets.length) || 1; } } ha.id = 'doughnut', ha.defaults = { datasetElementType: !1, dataElementType: 'arc', animation: { animateRotate: !0, animateScale: !1 }, animations: { numbers: { type: 'number', properties: [ 'circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth'], }, }, cutout: '50%', rotation: 0, circumference: 360, radius: '100%', indexAxis: 'r', }, ha.overrides = { aspectRatio: 1, plugins: { legend: { labels: { generateLabels (e) { const t = e.data; return t.labels.length && t.datasets.length ? t.labels.map(((t, n) => { const i = e.getDatasetMeta(0). controller. getStyle(n); return { text: t, fillStyle: i.backgroundColor, strokeStyle: i.borderColor, lineWidth: i.borderWidth, hidden: !e.getDataVisibility(n), index: n, }; })) : []; }, }, onClick (e, t, n) { n.chart.toggleDataVisibility(t.index), n.chart.update(); }, }, tooltip: { callbacks: { title: () => '', label (e) { let t = e.label; const n = ': ' + e.formattedValue; return q(t) ? (t = t.slice(), t[0] += n) : t += n, t; }, }, }, }, }; class fa extends Pn { initialize () {this.enableOptionSharing = !0, super.initialize();} update (e) { const t = this, n = t._cachedMeta, { dataset: i, data: a = [], _dataset: r, } = n, o = t.chart._animationsDisabled; let { start: s, count: l } = function ( e, t, n) { const i = t.length; let a = 0, r = i; if (e._sorted) { const { iScale: o, _parsed: s } = e, l = o.axis, { min: c, max: u, minDefined: d, maxDefined: h, } = o.getUserBounds(); d && (a = Be(Math.min(at(s, o.axis, c).lo, n ? i : at(t, l, o.getPixelForValue(c)).lo), 0, i - 1)), r = h ? Be( Math.max(at(s, o.axis, u).hi + 1, n ? 0 : at(t, l, o.getPixelForValue(u)).hi + 1), a, i) - a : i - a; } return { start: a, count: r }; }(n, a, o); t._drawStart = s, t._drawCount = l, function (e) { const { xScale: t, yScale: n, _scaleRanges: i, } = e, a = { xmin: t.min, xmax: t.max, ymin: n.min, ymax: n.max, }; if (!i) return e._scaleRanges = a, !0; const r = i.xmin !== t.min || i.xmax !== t.max || i.ymin !== n.min || i.ymax !== n.max; return Object.assign(i, a), r; }(n) && (s = 0, l = a.length), i._decimated = !!r._decimated, i.points = a; const c = t.resolveDatasetElementOptions(e); t.options.showLine || (c.borderWidth = 0), c.segment = t.options.segment, t.updateElement( i, void 0, { animated: !o, options: c }, e), t.updateElements(a, s, l, e); } updateElements (e, t, n, i) { const a = this, r = 'reset' === i, { iScale: o, vScale: s, _stacked: l, } = a._cachedMeta, c = a.resolveDataElementOptions(t, i), u = a.getSharedOptions(c), d = a.includeOptions(i, u), h = o.axis, f = s.axis, p = a.options.spanGaps, m = Ce(p) ? p : Number.POSITIVE_INFINITY, g = a.chart._animationsDisabled || r || 'none' === i; let v = t > 0 && a.getParsed(t - 1); for (let c = t; c < t + n; ++c) { const t = e[c], n = a.getParsed(c), p = g ? t : {}, y = V(n[f]), b = p[h] = o.getPixelForValue(n[h], c), x = p[f] = r || y ? s.getBasePixel() : s.getPixelForValue( l ? a.applyStack(s, n, l) : n[f], c); p.skip = isNaN(b) || isNaN(x) || y, p.stop = c > 0 && n[h] - v[h] > m, p.parsed = n, d && (p.options = u || a.resolveDataElementOptions(c, i)), g || a.updateElement(t, c, p, i), v = n; } a.updateSharedOptions(u, i, c); } getMaxOverflow () { const e = this, t = e._cachedMeta, n = t.dataset, i = n.options && n.options.borderWidth || 0, a = t.data || []; if (!a.length) return i; const r = a[0].size(e.resolveDataElementOptions(0)), o = a[a.length - 1].size( e.resolveDataElementOptions(a.length - 1)); return Math.max(i, r, o) / 2; } draw () { const e = this._cachedMeta; e.dataset.updateControlPoints(this.chart.chartArea, e.iScale.axis), super.draw(); } } fa.id = 'line', fa.defaults = { datasetElementType: 'line', dataElementType: 'point', showLine: !0, spanGaps: !1, }, fa.overrides = { scales: { _index_: { type: 'category' }, _value_: { type: 'linear' }, }, }; class pa extends Pn { constructor (e, t) { super(e, t), this.innerRadius = void 0, this.outerRadius = void 0; } getLabelAndValue (e) { const t = this._cachedMeta, n = this.chart, i = n.data.labels || [], a = Nn(t._parsed[e].r, n.options.locale); return { label: i[e] || '', value: a }; } update (e) { const t = this._cachedMeta.data; this._updateRadius(), this.updateElements(t, 0, t.length, e); } _updateRadius () { const e = this, t = e.chart, n = t.chartArea, i = t.options, a = Math.min(n.right - n.left, n.bottom - n.top), r = Math.max(a / 2, 0), o = (r - Math.max( i.cutoutPercentage ? r / 100 * i.cutoutPercentage : 1, 0)) / t.getVisibleDatasetCount(); e.outerRadius = r - o * e.index, e.innerRadius = e.outerRadius - o; } updateElements (e, t, n, i) { const a = this, r = 'reset' === i, o = a.chart, s = a.getDataset(), l = o.options.animation, c = a._cachedMeta.rScale, u = c.xCenter, d = c.yCenter, h = c.getIndexAngle(0) - .5 * ye; let f, p = h; const m = 360 / a.countVisibleElements(); for (f = 0; f < t; ++f) p += a._computeAngle(f, i, m); for (f = t; f < t + n; f++) { const t = e[f]; let n = p, g = p + a._computeAngle(f, i, m), v = o.getDataVisibility(f) ? c.getDistanceFromCenterForValue(s.data[f]) : 0; p = g, r && (l.animateScale && (v = 0), l.animateRotate && (n = g = h)); const y = { x: u, y: d, innerRadius: 0, outerRadius: v, startAngle: n, endAngle: g, options: a.resolveDataElementOptions(f, i), }; a.updateElement(t, f, y, i); } } countVisibleElements () { const e = this.getDataset(), t = this._cachedMeta; let n = 0; return t.data.forEach(((t, i) => { !isNaN(e.data[i]) && this.chart.getDataVisibility(i) && n++; })), n; } _computeAngle (e, t, n) { return this.chart.getDataVisibility(e) ? Pe(this.resolveDataElementOptions(e, t).angle || n) : 0; } } pa.id = 'polarArea', pa.defaults = { dataElementType: 'arc', animation: { animateRotate: !0, animateScale: !0 }, animations: { numbers: { type: 'number', properties: [ 'x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius'], }, }, indexAxis: 'r', startAngle: 0, }, pa.overrides = { aspectRatio: 1, plugins: { legend: { labels: { generateLabels (e) { const t = e.data; return t.labels.length && t.datasets.length ? t.labels.map(((t, n) => { const i = e.getDatasetMeta(0). controller. getStyle(n); return { text: t, fillStyle: i.backgroundColor, strokeStyle: i.borderColor, lineWidth: i.borderWidth, hidden: !e.getDataVisibility(n), index: n, }; })) : []; }, }, onClick (e, t, n) { n.chart.toggleDataVisibility(t.index), n.chart.update(); }, }, tooltip: { callbacks: { title: () => '', label: e => e.chart.data.labels[e.dataIndex] + ': ' + e.formattedValue, }, }, }, scales: { r: { type: 'radialLinear', angleLines: { display: !1 }, beginAtZero: !0, grid: { circular: !0 }, pointLabels: { display: !1 }, startAngle: 0, }, }, }; class ma extends ha {} ma.id = 'pie', ma.defaults = { cutout: 0, rotation: 0, circumference: 360, radius: '100%', }; class ga extends Pn { getLabelAndValue (e) { const t = this._cachedMeta.vScale, n = this.getParsed(e); return { label: t.getLabels()[e], value: '' + t.getLabelForValue(n[t.axis]), }; } update (e) { const t = this, n = t._cachedMeta, i = n.dataset, a = n.data || [], r = n.iScale.getLabels(); if (i.points = a, 'resize' !== e) { const n = t.resolveDatasetElementOptions(e); t.options.showLine || (n.borderWidth = 0); const o = { _loop: !0, _fullLoop: r.length === a.length, options: n, }; t.updateElement(i, void 0, o, e); } t.updateElements(a, 0, a.length, e); } updateElements (e, t, n, i) { const a = this, r = a.getDataset(), o = a._cachedMeta.rScale, s = 'reset' === i; for (let l = t; l < t + n; l++) { const t = e[l], n = a.resolveDataElementOptions(l, i), c = o.getPointPositionForValue(l, r.data[l]), u = s ? o.xCenter : c.x, d = s ? o.yCenter : c.y, h = { x: u, y: d, angle: c.angle, skip: isNaN(u) || isNaN(d), options: n, }; a.updateElement(t, l, h, i); } } } ga.id = 'radar', ga.defaults = { datasetElementType: 'line', dataElementType: 'point', indexAxis: 'r', showLine: !0, elements: { line: { fill: 'start' } }, }, ga.overrides = { aspectRatio: 1, scales: { r: { type: 'radialLinear' } }, }; class va extends fa {} va.id = 'scatter', va.defaults = { showLine: !1, fill: !1, }, va.overrides = { interaction: { mode: 'point' }, plugins: { tooltip: { callbacks: { title: () => '', label: e => '(' + e.label + ', ' + e.formattedValue + ')', }, }, }, scales: { x: { type: 'linear' }, y: { type: 'linear' } }, }; var ya = Object.freeze({ __proto__: null, BarController: ua, BubbleController: da, DoughnutController: ha, LineController: fa, PolarAreaController: pa, PieController: ma, RadarController: ga, ScatterController: va, }); function ba (e, t, n) { const { startAngle: i, pixelMargin: a, x: r, y: o, outerRadius: s, innerRadius: l, } = t; let c = a / s; e.beginPath(), e.arc(r, o, s, i - c, n + c), l > a ? (c = a / l, e.arc(r, o, l, n + c, i - c, !0)) : e.arc(r, o, a, n + ke, i - ke), e.closePath(), e.clip(); } function xa (e, t, n, i) { const a = Yt(e.options.borderRadius, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']); const r = (n - t) / 2, o = Math.min(r, i * t / 2), s = e => { const t = (n - Math.min(r, e)) * i / 2; return Be(e, 0, Math.min(r, t)); }; return { outerStart: s(a.outerStart), outerEnd: s(a.outerEnd), innerStart: Be(a.innerStart, 0, o), innerEnd: Be(a.innerEnd, 0, o), }; } function _a (e, t, n, i) { return { x: n + e * Math.cos(t), y: i + e * Math.sin(t), }; } function wa (e, t, n, i) { const { x: a, y: r, startAngle: o, pixelMargin: s, innerRadius: l, } = t, c = Math.max(t.outerRadius + n - s, 0), u = l > 0 ? l + n + s : 0, d = i - o, h = (d - Math.max(.001, d * c - n / ye) / c) / 2, f = o + h, p = i - h, { outerStart: m, outerEnd: g, innerStart: v, innerEnd: y, } = xa(t, u, c, p - f), b = c - m, x = c - g, _ = f + m / b, w = p - g / x, k = u + v, M = u + y, L = f + v / k, S = p - y / M; if (e.beginPath(), e.arc(a, r, c, _, w), g > 0) { const t = _a(x, w, a, r); e.arc(t.x, t.y, g, w, p + ke); } const T = _a(M, p, a, r); if (e.lineTo(T.x, T.y), y > 0) { const t = _a(M, S, a, r); e.arc(t.x, t.y, y, p + ke, S + Math.PI); } if (e.arc(a, r, u, p - y / u, f + v / u, !0), v > 0) { const t = _a(k, L, a, r); e.arc(t.x, t.y, v, L + Math.PI, f - ke); } const A = _a(b, f, a, r); if (e.lineTo(A.x, A.y), m > 0) { const t = _a(b, _, a, r); e.arc(t.x, t.y, m, f - ke, _); } e.closePath(); } function ka (e, t, n, i) { const { options: a } = t, r = 'inner' === a.borderAlign; a.borderWidth && (r ? (e.lineWidth = 2 * a.borderWidth, e.lineJoin = 'round') : (e.lineWidth = a.borderWidth, e.lineJoin = 'bevel'), t.fullCircles && function (e, t, n) { const { x: i, y: a, startAngle: r, pixelMargin: o, fullCircles: s, } = t, l = Math.max(t.outerRadius - o, 0), c = t.innerRadius + o; let u; for (n && ba(e, t, r + be), e.beginPath(), e.arc(i, a, c, r + be, r, !0), u = 0; u < s; ++u) e.stroke(); for (e.beginPath(), e.arc(i, a, l, r, r + be), u = 0; u < s; ++u) e.stroke(); }(e, t, r), r && ba(e, t, i), wa(e, t, n, i), e.stroke()); } class Ma extends In { constructor (e) { 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, e && Object.assign(this, e); } inRange (e, t, n) { const i = this.getProps(['x', 'y'], n), { angle: a, distance: r, } = Ne(i, { x: e, y: t }), { startAngle: o, endAngle: s, innerRadius: l, outerRadius: c, circumference: u, } = this.getProps([ 'startAngle', 'endAngle', 'innerRadius', 'outerRadius', 'circumference'], n); return (u >= be || ze(a, o, s)) && (r >= l && r <= c); } getCenterPoint (e) { const { x: t, y: n, startAngle: i, endAngle: a, innerRadius: r, outerRadius: o, } = this.getProps([ 'x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius', 'circumference'], e), s = (i + a) / 2, l = (r + o) / 2; return { x: t + Math.cos(s) * l, y: n + Math.sin(s) * l }; } tooltipPosition (e) {return this.getCenterPoint(e);} draw (e) { const t = this, { options: n, circumference: i } = t, a = (n.offset || 0) / 2; if (t.pixelMargin = 'inner' === n.borderAlign ? .33 : 0, t.fullCircles = i > be ? Math.floor(i / be) : 0, 0 === i || t.innerRadius < 0 || t.outerRadius < 0) return; e.save(); let r = 0; if (a) { r = a / 2; const n = (t.startAngle + t.endAngle) / 2; e.translate(Math.cos(n) * r, Math.sin(n) * r), t.circumference >= ye && (r = a); } e.fillStyle = n.backgroundColor, e.strokeStyle = n.borderColor; const o = function (e, t, n) { const { fullCircles: i, startAngle: a, circumference: r, } = t; let o = t.endAngle; if (i) { wa(e, t, n, a + be); for (let t = 0; t < i; ++t) e.fill(); isNaN(r) || (o = a + r % be, r % be == 0 && (o += be)); } return wa(e, t, n, o), e.fill(), o; }(e, t, r); ka(e, t, r, o), e.restore(); } } function La (e, t, n = t) { e.lineCap = G(n.borderCapStyle, t.borderCapStyle), e.setLineDash( G(n.borderDash, t.borderDash)), e.lineDashOffset = G( n.borderDashOffset, t.borderDashOffset), e.lineJoin = G( n.borderJoinStyle, t.borderJoinStyle), e.lineWidth = G( n.borderWidth, t.borderWidth), e.strokeStyle = G(n.borderColor, t.borderColor); } function Sa (e, t, n) {e.lineTo(n.x, n.y);} function Ta (e, t, n = {}) { const i = e.length, { start: a = 0, end: r = i - 1, } = n, { start: o, end: s } = t, l = Math.max(a, o), c = Math.min(r, s), u = a < o && r < o || a > s && r > s; return { count: i, start: l, loop: t.loop, ilen: c < l && !u ? i + c - l : c - l, }; } function Aa (e, t, n, i) { const { points: a, options: r, } = t, { count: o, start: s, loop: l, ilen: c } = Ta(a, n, i), u = function (e) { return e.stepped ? Qe : e.tension || 'monotone' === e.cubicInterpolationMode ? et : Sa; }(r); let d, h, f, { move: p = !0, reverse: m } = i || {}; for (d = 0; d <= c; ++d) h = a[(s + (m ? c - d : d)) % o], h.skip || (p ? (e.moveTo(h.x, h.y), p = !1) : u(e, f, h, m, r.stepped), f = h); return l && (h = a[(s + (m ? c : 0)) % o], u(e, f, h, m, r.stepped)), !!l; } function Da (e, t, n, i) { const a = t.points, { count: r, start: o, ilen: s, } = Ta(a, n, i), { move: l = !0, reverse: c } = i || {}; let u, d, h, f, p, m, g = 0, v = 0; const y = e => (o + (c ? s - e : e)) % r, b = () => { f !== p && (e.lineTo(g, p), e.lineTo(g, f), e.lineTo(g, m)); }; for (l && (d = a[y(0)], e.moveTo(d.x, d.y)), u = 0; u <= s; ++u) { if (d = a[y(u)], d.skip) continue; const t = d.x, n = d.y, i = 0 | t; i === h ? (n < f ? f = n : n > p && (p = n), g = (v * g + t) / ++v) : (b(), e.lineTo(t, n), h = i, v = 0, f = p = n), m = n; } b(); } function Ca (e) { const t = e.options, n = t.borderDash && t.borderDash.length; return !(e._decimated || e._loop || t.tension || 'monotone' === t.cubicInterpolationMode || t.stepped || n) ? Da : Aa; } Ma.id = 'arc', Ma.defaults = { borderAlign: 'center', borderColor: '#fff', borderRadius: 0, borderWidth: 2, offset: 0, angle: void 0, }, Ma.defaultRoutes = { backgroundColor: 'backgroundColor' }; const Ea = 'function' == typeof Path2D; function Oa (e, t, n, i) { Ea && 1 === t.segments.length ? function ( e, t, n, i) { let a = t._path; a || (a = t._path = new Path2D, t.path(a, n, i) && a.closePath()), La(e, t.options), e.stroke(a); }(e, t, n, i) : function (e, t, n, i) { const { segments: a, options: r, } = t, o = Ca(t); for (const s of a) La(e, r, s.style), e.beginPath(), o(e, t, s, { start: n, end: n + i - 1 }) && e.closePath(), e.stroke(); }(e, t, n, i); } class Ya extends In { constructor (e) { super(), this.animated = !0, this.options = 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, e && Object.assign(this, e); } updateControlPoints (e, t) { const n = this, i = n.options; if ((i.tension || 'monotone' === i.cubicInterpolationMode) && !i.stepped && !n._pointsUpdated) { const a = i.spanGaps ? n._loop : n._fullLoop; pi(n._points, i, e, a, t), n._pointsUpdated = !0; } } set points (e) { const t = this; t._points = e, delete t._segments, delete t._path, t._pointsUpdated = !1; } get points () {return this._points;} get segments () { return this._segments || (this._segments = Li(this, this.options.segment)); } first () { const e = this.segments, t = this.points; return e.length && t[e[0].start]; } last () { const e = this.segments, t = this.points, n = e.length; return n && t[e[n - 1].end]; } interpolate (e, t) { const n = this, i = n.options, a = e[t], r = n.points, o = Mi(n, { property: t, start: a, end: a }); if (!o.length) return; const s = [], l = function (e) { return e.stepped ? gi : e.tension || 'monotone' === e.cubicInterpolationMode ? vi : mi; }(i); let c, u; for (c = 0, u = o.length; c < u; ++c) { const { start: n, end: u, } = o[c], d = r[n], h = r[u]; if (d === h) { s.push(d); continue; } const f = l(d, h, Math.abs((a - d[t]) / (h[t] - d[t])), i.stepped); f[t] = e[t], s.push(f); } return 1 === s.length ? s[0] : s; } pathSegment (e, t, n) {return Ca(this)(e, this, t, n);} path (e, t, n) { const i = this, a = i.segments, r = Ca(i); let o = i._loop; t = t || 0, n = n || i.points.length - t; for (const s of a) o &= r(e, i, s, { start: t, end: t + n - 1 }); return !!o; } draw (e, t, n, i) { const a = this, r = a.options || {}; (a.points || []).length && r.borderWidth && (e.save(), Oa(e, a, n, i), e.restore(), a.animated && (a._pointsUpdated = !1, a._path = void 0)); } } function Pa (e, t, n, i) { const a = e.options, { [n]: r } = e.getProps([n], i); return Math.abs(t - r) < a.radius + a.hitRadius; } Ya.id = 'line', Ya.defaults = { borderCapStyle: 'butt', borderDash: [], borderDashOffset: 0, borderJoinStyle: 'miter', borderWidth: 3, capBezierPoints: !0, cubicInterpolationMode: 'default', fill: !1, spanGaps: !1, stepped: !1, tension: 0, }, Ya.defaultRoutes = { backgroundColor: 'backgroundColor', borderColor: 'borderColor', }, Ya.descriptors = { _scriptable: !0, _indexable: e => 'borderDash' !== e && 'fill' !== e, }; class Ia extends In { constructor (e) { super(), this.options = void 0, this.parsed = void 0, this.skip = void 0, this.stop = void 0, e && Object.assign(this, e); } inRange (e, t, n) { const i = this.options, { x: a, y: r, } = this.getProps(['x', 'y'], n); return Math.pow(e - a, 2) + Math.pow(t - r, 2) < Math.pow(i.hitRadius + i.radius, 2); } inXRange (e, t) {return Pa(this, e, 'x', t);} inYRange (e, t) {return Pa(this, e, 'y', t);} getCenterPoint (e) { const { x: t, y: n } = this.getProps(['x', 'y'], e); return { x: t, y: n }; } size (e) { let t = (e = e || this.options || {}).radius || 0; t = Math.max(t, t && e.hoverRadius || 0); return 2 * (t + (t && e.borderWidth || 0)); } draw (e) { const t = this, n = t.options; t.skip || n.radius < .1 || (e.strokeStyle = n.borderColor, e.lineWidth = n.borderWidth, e.fillStyle = n.backgroundColor, Ge( e, n, t.x, t.y)); } getRange () { const e = this.options || {}; return e.radius + e.hitRadius; } } function ja (e, t) { const { x: n, y: i, base: a, width: r, height: o, } = e.getProps(['x', 'y', 'base', 'width', 'height'], t); let s, l, c, u, d; return e.horizontal ? (d = o / 2, s = Math.min(n, a), l = Math.max( n, a), c = i - d, u = i + d) : (d = r / 2, s = n - d, l = n + d, c = Math.min(i, a), u = Math.max(i, a)), { left: s, top: c, right: l, bottom: u, }; } function Na (e) { let t = e.options.borderSkipped; const n = {}; return t ? (t = e.horizontal ? Ha(t, 'left', 'right', e.base > e.x) : Ha(t, 'bottom', 'top', e.base < e.y), n[t] = !0, n) : n; } function Ha (e, t, n, i) { var a, r, o; return i ? (o = n, e = Fa( e = (a = e) === (r = t) ? o : a === o ? r : a, n, t)) : e = Fa( e, t, n), e; } function Fa (e, t, n) {return 'start' === e ? t : 'end' === e ? n : e;} function Ra (e, t, n, i) {return e ? 0 : Math.max(Math.min(t, i), n);} function za (e) { const t = ja(e), n = t.right - t.left, i = t.bottom - t.top, a = function (e, t, n) { const i = e.options.borderWidth, a = Na(e), r = Pt(i); return { t: Ra(a.top, r.top, 0, n), r: Ra(a.right, r.right, 0, t), b: Ra(a.bottom, r.bottom, 0, n), l: Ra(a.left, r.left, 0, t), }; }(e, n / 2, i / 2), r = function (e, t, n) { const { enableBorderRadius: i } = e.getProps( ['enableBorderRadius']), a = e.options.borderRadius, r = It(a), o = Math.min(t, n), s = Na(e), l = i || U(a); return { topLeft: Ra(!l || s.top || s.left, r.topLeft, 0, o), topRight: Ra(!l || s.top || s.right, r.topRight, 0, o), bottomLeft: Ra(!l || s.bottom || s.left, r.bottomLeft, 0, o), bottomRight: Ra(!l || s.bottom || s.right, r.bottomRight, 0, o), }; }(e, n / 2, i / 2); return { outer: { x: t.left, y: t.top, w: n, h: i, radius: r }, inner: { x: t.left + a.l, y: t.top + a.t, w: n - a.l - a.r, h: i - a.t - a.b, radius: { topLeft: Math.max(0, r.topLeft - Math.max(a.t, a.l)), topRight: Math.max(0, r.topRight - Math.max(a.t, a.r)), bottomLeft: Math.max(0, r.bottomLeft - Math.max(a.b, a.l)), bottomRight: Math.max(0, r.bottomRight - Math.max(a.b, a.r)), }, }, }; } function Ba (e, t, n, i) { const a = null === t, r = null === n, o = e && !(a && r) && ja(e, i); return o && (a || t >= o.left && t <= o.right) && (r || n >= o.top && n <= o.bottom); } function Wa (e, t) {e.rect(t.x, t.y, t.w, t.h);} Ia.id = 'point', Ia.defaults = { borderWidth: 1, hitRadius: 1, hoverBorderWidth: 1, hoverRadius: 4, pointStyle: 'circle', radius: 3, rotation: 0, }, Ia.defaultRoutes = { backgroundColor: 'backgroundColor', borderColor: 'borderColor', }; class Va extends In { constructor (e) { super(), this.options = void 0, this.horizontal = void 0, this.base = void 0, this.width = void 0, this.height = void 0, e && Object.assign(this, e); } draw (e) { const t = this.options, { inner: n, outer: i } = za(this), a = (r = i.radius).topLeft || r.topRight || r.bottomLeft || r.bottomRight ? nt : Wa; var r; e.save(), i.w === n.w && i.h === n.h || (e.beginPath(), a(e, i), e.clip(), a(e, n), e.fillStyle = t.borderColor, e.fill( 'evenodd')), e.beginPath(), a(e, n), e.fillStyle = t.backgroundColor, e.fill(), e.restore(); } inRange (e, t, n) {return Ba(this, e, t, n);} inXRange (e, t) {return Ba(this, e, null, t);} inYRange (e, t) {return Ba(this, null, e, t);} getCenterPoint (e) { const { x: t, y: n, base: i, horizontal: a, } = this.getProps(['x', 'y', 'base', 'horizontal'], e); return { x: a ? (t + i) / 2 : t, y: a ? n : (n + i) / 2 }; } getRange (e) {return 'x' === e ? this.width / 2 : this.height / 2;} } Va.id = 'bar', Va.defaults = { borderSkipped: 'start', borderWidth: 0, borderRadius: 0, enableBorderRadius: !0, pointStyle: void 0, }, Va.defaultRoutes = { backgroundColor: 'backgroundColor', borderColor: 'borderColor', }; var qa = Object.freeze({ __proto__: null, ArcElement: Ma, LineElement: Ya, PointElement: Ia, BarElement: Va, }); function Ua (e) { if (e._decimated) { const t = e._data; delete e._decimated, delete e._data, Object.defineProperty(e, 'data', { value: t }); } } function Xa (e) {e.data.datasets.forEach((e => {Ua(e);}));} var $a = { id: 'decimation', defaults: { algorithm: 'min-max', enabled: !1 }, beforeElementsUpdate: (e, t, n) => { if (!n.enabled) return void Xa(e); const i = e.width; e.data.datasets.forEach(((t, a) => { const { _data: r, indexAxis: o } = t, s = e.getDatasetMeta(a), l = r || t.data; if ('y' === Ht([o, e.options.indexAxis])) return; if ('line' !== s.type) return; const c = e.scales[s.xAxisID]; if ('linear' !== c.type && 'time' !== c.type) return; if (e.options.parsing) return; let u, { start: d, count: h } = function ( e, t) { const n = t.length; let i, a = 0; const { iScale: r } = e, { min: o, max: s, minDefined: l, maxDefined: c, } = r.getUserBounds(); return l && (a = Be(at(t, r.axis, o).lo, 0, n - 1)), i = c ? Be( at(t, r.axis, s).hi + 1, a, n) - a : n - a, { start: a, count: i }; }(s, l); if (h <= 4 * i) Ua(t); else { switch (V(r) && (t._data = l, delete t.data, Object.defineProperty(t, 'data', { configurable: !0, enumerable: !0, get: function () {return this._decimated;}, set: function (e) {this._data = e;}, })), n.algorithm) { case'lttb': u = function ( e, t, n, i, a) { const r = a.samples || i; if (r >= n) return e.slice(t, t + n); const o = [], s = (n - 2) / (r - 2); let l = 0; const c = t + n - 1; let u, d, h, f, p, m = t; for (o[l++] = e[m], u = 0; u < r - 2; u++) { let i, a = 0, r = 0; const c = Math.floor((u + 1) * s) + 1 + t, g = Math.min( Math.floor((u + 2) * s) + 1, n) + t, v = g - c; for (i = c; i < g; i++) a += e[i].x, r += e[i].y; a /= v, r /= v; const y = Math.floor(u * s) + 1 + t, b = Math.floor((u + 1) * s) + 1 + t, { x: x, y: _ } = e[m]; for (h = f = -1, i = y; i < b; i++) f = .5 * Math.abs( (x - a) * (e[i].y - _) - (x - e[i].x) * (r - _)), f > h && (h = f, d = e[i], p = i); o[l++] = d, m = p; } return o[l++] = e[c], o; }(l, d, h, i, n); break; case'min-max': u = function (e, t, n, i) { let a, r, o, s, l, c, u, d, h, f, p = 0, m = 0; const g = [], v = t + n - 1, y = e[t].x, b = e[v].x - y; for (a = t; a < t + n; ++a) { r = e[a], o = (r.x - y) / b * i, s = r.y; const t = 0 | o; if (t === l) s < h ? (h = s, c = a) : s > f && (f = s, u = a), p = (m * p + r.x) / ++m; else { const n = a - 1; if (!V(c) && !V(u)) { const t = Math.min(c, u), i = Math.max(c, u); t !== d && t !== n && g.push({ ...e[t], x: p }), i !== d && i !== n && g.push({ ...e[i], x: p }); } a > 0 && n !== d && g.push(e[n]), g.push( r), l = t, m = 0, h = f = s, c = u = d = a; } } return g; }(l, d, h, i); break; default: throw new Error( `Unsupported decimation algorithm '${n.algorithm}'`); } t._decimated = u; } })); }, destroy (e) {Xa(e);}, }; function Ga (e, t, n) { const i = function (e) { const t = e.options, n = t.fill; let i = G(n && n.target, n); return void 0 === i && (i = !!t.backgroundColor), !1 !== i && null !== i && (!0 === i ? 'origin' : i); }(e); if (U(i)) return !isNaN(i.value) && i; let a = parseFloat(i); return X(a) && Math.floor(a) === a ? ('-' !== i[0] && '+' !== i[0] || (a = t + a), !(a === t || a < 0 || a >= n) && a) : ['origin', 'start', 'end', 'stack'].indexOf(i) >= 0 && i; } class Za { constructor (e) {this.x = e.x, this.y = e.y, this.radius = e.radius;} pathSegment (e, t, n) { const { x: i, y: a, radius: r } = this; return t = t || { start: 0, end: be }, e.arc(i, a, r, t.end, t.start, !0), !n.bounds; } interpolate (e) { const { x: t, y: n, radius: i } = this, a = e.angle; return { x: t + Math.cos(a) * i, y: n + Math.sin(a) * i, angle: a, }; } } function Ka (e) { return (e.scale || {}).getPointPositionForValue ? function (e) { const { scale: t, fill: n } = e, i = t.options, a = t.getLabels().length, r = [], o = i.reverse ? t.max : t.min, s = i.reverse ? t.min : t.max; let l, c, u; if (u = 'start' === n ? o : 'end' === n ? s : U(n) ? n.value : t.getBaseValue(), i.grid.circular) return c = t.getPointPositionForValue( 0, o), new Za({ x: c.x, y: c.y, radius: t.getDistanceFromCenterForValue(u), }); for (l = 0; l < a; ++l) r.push( t.getPointPositionForValue(l, u)); return r; }(e) : function (e) { const { scale: t = {}, fill: n } = e; let i, a = null; return 'start' === n ? a = t.bottom : 'end' === n ? a = t.top : U(n) ? a = t.getPixelForValue(n.value) : t.getBasePixel && (a = t.getBasePixel()), X(a) ? (i = t.isHorizontal(), { x: i ? a : null, y: i ? null : a, }) : null; }(e); } function Ja (e) { const { chart: t, scale: n, index: i, line: a } = e, r = [], o = a.segments, s = a.points, l = function (e, t) { const n = [], i = e.getSortedVisibleDatasetMetas(); for (let e = 0; e < i.length; e++) { const a = i[e]; if (a.index === t) break; Qa(a) && n.unshift(a.dataset); } return n; }(t, i); l.push(nr({ x: null, y: n.bottom }, a)); for (let e = 0; e < o.length; e++) { const t = o[e]; for (let e = t.start; e <= t.end; e++) er(r, s[e], l); } return new Ya({ points: r, options: {} }); } const Qa = e => 'line' === e.type && !e.hidden; function er (e, t, n) { const i = []; for (let a = 0; a < n.length; a++) { const r = n[a], { first: o, last: s, point: l, } = tr(r, t, 'x'); if (!(!l || o && s)) if (o) i.unshift(l); else if (e.push( l), !s) break; } e.push(...i); } function tr (e, t, n) { const i = e.interpolate(t, n); if (!i) return {}; const a = i[n], r = e.segments, o = e.points; let s = !1, l = !1; for (let e = 0; e < r.length; e++) { const t = r[e], i = o[t.start][n], c = o[t.end][n]; if (a >= i && a <= c) { s = a === i, l = a === c; break; } } return { first: s, last: l, point: i }; } function nr (e, t) { let n = [], i = !1; return q(e) ? (i = !0, n = e) : n = function ( e, t) { const { x: n = null, y: i = null, } = e || {}, a = t.points, r = []; return t.segments.forEach((e => { const t = a[e.start], o = a[e.end]; null !== i ? (r.push({ x: t.x, y: i }), r.push( { x: o.x, y: i })) : null !== n && (r.push({ x: n, y: t.y }), r.push({ x: n, y: o.y })); })), r; }(e, t), n.length ? new Ya({ points: n, options: { tension: 0 }, _loop: i, _fullLoop: i, }) : null; } function ir (e, t, n) { let i = e[t].fill; const a = [t]; let r; if (!n) return i; for (; !1 !== i && -1 === a.indexOf(i);) { if (!X(i)) return i; if (r = e[i], !r) return !1; if (r.visible) return i; a.push(i), i = r.fill; } return !1; } function ar (e, t, n) { e.beginPath(), t.path(e), e.lineTo(t.last().x, n), e.lineTo( t.first().x, n), e.closePath(), e.clip(); } function rr (e, t, n, i) { if (i) return; let a = t[e], r = n[e]; return 'angle' === e && (a = Re(a), r = Re(r)), { property: e, start: a, end: r, }; } function or (e, t, n, i) { return e && t ? i(e[n], t[n]) : e ? e[n] : t ? t[n] : 0; } function sr (e, t, n) { const { top: i, bottom: a, } = t.chart.chartArea, { property: r, start: o, end: s } = n || {}; 'x' === r && (e.beginPath(), e.rect(o, i, s - o, a - i), e.clip()); } function lr (e, t, n, i) { const a = t.interpolate(n, i); a && e.lineTo(a.x, a.y); } function cr (e, t) { const { line: n, target: i, property: a, color: r, scale: o, } = t, s = function (e, t, n) { const i = e.segments, a = e.points, r = t.points, o = []; for (const e of i) { const i = rr(n, a[e.start], a[e.end], e.loop); if (!t.segments) { o.push({ source: e, target: i, start: a[e.start], end: a[e.end], }); continue; } const s = Mi(t, i); for (const t of s) { const s = rr(n, r[t.start], r[t.end], t.loop), l = ki(e, a, s); for (const e of l) o.push({ source: e, target: t, start: { [n]: or(i, s, 'start', Math.max) }, end: { [n]: or(i, s, 'end', Math.min) }, }); } } return o; }(n, i, a); for (const { source: t, target: l, start: c, end: u } of s) { const { style: { backgroundColor: s = r } = {} } = t; e.save(), e.fillStyle = s, sr(e, o, rr(a, c, u)), e.beginPath(); const d = !!n.pathSegment(e, t); d ? e.closePath() : lr(e, i, u, a); const h = !!i.pathSegment(e, l, { move: d, reverse: !0 }), f = d && h; f || lr(e, i, c, a), e.closePath(), e.fill( f ? 'evenodd' : 'nonzero'), e.restore(); } } function ur (e, t, n) { const i = function (e) { const { chart: t, fill: n, line: i, } = e; if (X(n)) return function (e, t) { const n = e.getDatasetMeta(t); return n && e.isDatasetVisible(t) ? n.dataset : null; }(t, n); if ('stack' === n) return Ja(e); const a = Ka(e); return a instanceof Za ? a : nr(a, i); }(t), { line: a, scale: r, axis: o } = t, s = a.options, l = s.fill, c = s.backgroundColor, { above: u = c, below: d = c } = l || {}; i && a.points.length && (Ke(e, n), function (e, t) { const { line: n, target: i, above: a, below: r, area: o, scale: s, } = t, l = n._loop ? 'angle' : t.axis; e.save(), 'x' === l && r !== a && (ar(e, i, o.top), cr(e, { line: n, target: i, color: a, scale: s, property: l, }), e.restore(), e.save(), ar(e, i, o.bottom)), cr(e, { line: n, target: i, color: r, scale: s, property: l, }), e.restore(); }(e, { line: a, target: i, above: u, below: d, area: n, scale: r, axis: o, }), Je(e)); } var dr = { id: 'filler', afterDatasetsUpdate (e, t, n) { const i = (e.data.datasets || []).length, a = []; let r, o, s, l; for (o = 0; o < i; ++o) r = e.getDatasetMeta( o), s = r.dataset, l = null, s && s.options && s instanceof Ya && (l = { visible: e.isDatasetVisible(o), index: o, fill: Ga(s, o, i), chart: e, axis: r.controller.options.indexAxis, scale: r.vScale, line: s, }), r.$filler = l, a.push(l); for (o = 0; o < i; ++o) l = a[o], l && !1 !== l.fill && (l.fill = ir(a, o, n.propagate)); }, beforeDraw (e, t, n) { const i = 'beforeDraw' === n.drawTime, a = e.getSortedVisibleDatasetMetas(), r = e.chartArea; for (let t = a.length - 1; t >= 0; --t) { const n = a[t].$filler; n && (n.line.updateControlPoints(r, n.axis), i && ur(e.ctx, n, r)); } }, beforeDatasetsDraw (e, t, n) { if ('beforeDatasetsDraw' !== n.drawTime) return; const i = e.getSortedVisibleDatasetMetas(); for (let t = i.length - 1; t >= 0; --t) { const n = i[t].$filler; n && ur(e.ctx, n, e.chartArea); } }, beforeDatasetDraw (e, t, n) { const i = t.meta.$filler; i && !1 !== i.fill && 'beforeDatasetDraw' === n.drawTime && ur(e.ctx, i, e.chartArea); }, defaults: { propagate: !0, drawTime: 'beforeDatasetDraw' }, }; const hr = (e, t) => { let { boxHeight: n = t, boxWidth: i = t } = e; return e.usePointStyle && (n = Math.min(n, t), i = Math.min(i, t)), { boxWidth: i, boxHeight: n, itemHeight: Math.max(t, n), }; }; class fr extends In { constructor (e) {super(), this._added = !1, this.legendHitBoxes = [], this._hoveredItem = null, this.doughnutMode = !1, this.chart = e.chart, this.options = e.options, this.ctx = e.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 (e, t, n) { const i = this; i.maxWidth = e, i.maxHeight = t, i._margins = n, i.setDimensions(), i.buildLabels(), i.fit(); } setDimensions () { const e = this; e.isHorizontal() ? (e.width = e.maxWidth, e.left = 0, e.right = e.width) : (e.height = e.maxHeight, e.top = 0, e.bottom = e.height); } buildLabels () { const e = this, t = e.options.labels || {}; let n = J(t.generateLabels, [e.chart], e) || []; t.filter && (n = n.filter((n => t.filter(n, e.chart.data)))), t.sort && (n = n.sort(((n, i) => t.sort(n, i, e.chart.data)))), e.options.reverse && n.reverse(), e.legendItems = n; } fit () { const e = this, { options: t, ctx: n } = e; if (!t.display) return void (e.width = e.height = 0); const i = t.labels, a = Nt(i.font), r = a.size, o = e._computeTitleHeight(), { boxWidth: s, itemHeight: l, } = hr(i, r); let c, u; n.font = a.string, e.isHorizontal() ? (c = e.maxWidth, u = e._fitRows(o, r, s, l) + 10) : (u = e.maxHeight, c = e._fitCols(o, r, s, l) + 10), e.width = Math.min(c, t.maxWidth || e.maxWidth), e.height = Math.min(u, t.maxHeight || e.maxHeight); } _fitRows (e, t, n, i) { const a = this, { ctx: r, maxWidth: o, options: { labels: { padding: s } }, } = a, l = a.legendHitBoxes = [], c = a.lineWidths = [0], u = i + s; let d = e; r.textAlign = 'left', r.textBaseline = 'middle'; let h = -1, f = -u; return a.legendItems.forEach(((e, a) => { const p = n + t / 2 + r.measureText(e.text).width; (0 === a || c[c.length - 1] + p + 2 * s > o) && (d += u, c[c.length - (a > 0 ? 0 : 1)] = 0, f += u, h++), l[a] = { left: 0, top: f, row: h, width: p, height: i, }, c[c.length - 1] += p + s; })), d; } _fitCols (e, t, n, i) { const a = this, { ctx: r, maxHeight: o, options: { labels: { padding: s } }, } = a, l = a.legendHitBoxes = [], c = a.columnSizes = [], u = o - e; let d = s, h = 0, f = 0, p = 0, m = 0, g = 0; return a.legendItems.forEach(((e, a) => { const o = n + t / 2 + r.measureText(e.text).width; a > 0 && f + t + 2 * s > u && (d += h + s, c.push({ width: h, height: f }), p += h + s, g++, m = 0, h = f = 0), h = Math.max(h, o), f += t + s, l[a] = { left: p, top: m, col: g, width: o, height: i, }, m += i + s; })), d += h, c.push({ width: h, height: f }), d; } adjustHitBoxes () { const e = this; if (!e.options.display) return; const t = e._computeTitleHeight(), { legendHitBoxes: n, options: { align: i, labels: { padding: r } }, } = e; if (this.isHorizontal()) { let o = 0, s = a(i, e.left + r, e.right - e.lineWidths[o]); for (const l of n) o !== l.row && (o = l.row, s = a(i, e.left + r, e.right - e.lineWidths[o])), l.top += e.top + t + r, l.left = s, s += l.width + r; } else { let o = 0, s = a(i, e.top + t + r, e.bottom - e.columnSizes[o].height); for (const l of n) l.col !== o && (o = l.col, s = a(i, e.top + t + r, e.bottom - e.columnSizes[o].height)), l.top = s, l.left += e.left + r, s += l.height + r; } } isHorizontal () { return 'top' === this.options.position || 'bottom' === this.options.position; } draw () { const e = this; if (e.options.display) { const t = e.ctx; Ke(t, e), e._draw(), Je(t); } } _draw () { const e = this, { options: t, columnSizes: n, lineWidths: i, ctx: o, } = e, { align: s, labels: l } = t, c = ve.color, u = yi(t.rtl, e.left, e.width), d = Nt(l.font), { color: h, padding: f, } = l, p = d.size, m = p / 2; let g; e.drawTitle(), o.textAlign = u.textAlign( 'left'), o.textBaseline = 'middle', o.lineWidth = .5, o.font = d.string; const { boxWidth: v, boxHeight: y, itemHeight: b } = hr(l, p), x = e.isHorizontal(), _ = this._computeTitleHeight(); g = x ? { x: a(s, e.left + f, e.right - i[0]), y: e.top + f + _, line: 0, } : { x: e.left + f, y: a(s, e.top + _ + f, e.bottom - n[0].height), line: 0, }, bi(e.ctx, t.textDirection); const w = b + f; e.legendItems.forEach(((t, k) => { o.strokeStyle = t.fontColor || h, o.fillStyle = t.fontColor || h; const M = o.measureText(t.text).width, L = u.textAlign( t.textAlign || (t.textAlign = l.textAlign)), S = v + p / 2 + M; let T = g.x, A = g.y; u.setWidth(e.width), x ? k > 0 && T + S + f > e.right && (A = g.y += w, g.line++, T = g.x = a(s, e.left + f, e.right - i[g.line])) : k > 0 && A + w > e.bottom && (T = g.x = T + n[g.line].width + f, g.line++, A = g.y = a(s, e.top + _ + f, e.bottom - n[g.line].height)); !function (e, t, n) { if (isNaN(v) || v <= 0 || isNaN(y) || y < 0) return; o.save(); const i = G(n.lineWidth, 1); if (o.fillStyle = G(n.fillStyle, c), o.lineCap = G( n.lineCap, 'butt'), o.lineDashOffset = G( n.lineDashOffset, 0), o.lineJoin = G(n.lineJoin, 'miter'), o.lineWidth = i, o.strokeStyle = G( n.strokeStyle, c), o.setLineDash(G(n.lineDash, [])), l.usePointStyle) { const a = { radius: v * Math.SQRT2 / 2, pointStyle: n.pointStyle, rotation: n.rotation, borderWidth: i, }, r = u.xPlus(e, v / 2); Ge(o, a, r, t + m); } else { const a = t + Math.max((p - y) / 2, 0), r = u.leftForLtr(e, v), s = It(n.borderRadius); o.beginPath(), Object.values(s).some((e => 0 !== e)) ? nt(o, { x: r, y: a, w: v, h: y, radius: s }) : o.rect(r, a, v, y), o.fill(), 0 !== i && o.stroke(); } o.restore(); }(u.x(T), A, t), T = r(L, T + v + m, e.right), function ( e, t, n) { tt(o, n.text, e, t + b / 2, d, { strikethrough: n.hidden, textAlign: n.textAlign, }); }(u.x(T), A, t), x ? g.x += S + f : g.y += w; })), xi(e.ctx, t.textDirection); } drawTitle () { const e = this, t = e.options, n = t.title, r = Nt(n.font), o = jt(n.padding); if (!n.display) return; const s = yi(t.rtl, e.left, e.width), l = e.ctx, c = n.position, u = r.size / 2, d = o.top + u; let h, f = e.left, p = e.width; if (this.isHorizontal()) p = Math.max( ...e.lineWidths), h = e.top + d, f = a(t.align, f, e.right - p); else { const n = e.columnSizes.reduce( ((e, t) => Math.max(e, t.height)), 0); h = d + a(t.align, e.top, e.bottom - n - t.labels.padding - e._computeTitleHeight()); } const m = a(c, f, f + p); l.textAlign = s.textAlign( i(c)), l.textBaseline = 'middle', l.strokeStyle = n.color, l.fillStyle = n.color, l.font = r.string, tt( l, n.text, m, h, r); } _computeTitleHeight () { const e = this.options.title, t = Nt(e.font), n = jt(e.padding); return e.display ? t.lineHeight + n.height : 0; } _getLegendItemAt (e, t) { const n = this; let i, a, r; if (e >= n.left && e <= n.right && t >= n.top && t <= n.bottom) for (r = n.legendHitBoxes, i = 0; i < r.length; ++i) if (a = r[i], e >= a.left && e <= a.left + a.width && t >= a.top && t <= a.top + a.height) return n.legendItems[i]; return null; } handleEvent (e) { const t = this, n = t.options; if (!function (e, t) { if ('mousemove' === e && (t.onHover || t.onLeave)) return !0; if (t.onClick && ('click' === e || 'mouseup' === e)) return !0; return !1; }(e.type, n)) return; const i = t._getLegendItemAt(e.x, e.y); if ('mousemove' === e.type) { const o = t._hoveredItem, s = (r = i, null !== (a = o) && null !== r && a.datasetIndex === r.datasetIndex && a.index === r.index); o && !s && J(n.onLeave, [e, o, t], t), t._hoveredItem = i, i && !s && J(n.onHover, [e, i, t], t); } else i && J(n.onClick, [e, i, t], t); var a, r; } } var pr = { id: 'legend', _element: fr, start (e, t, n) { const i = e.legend = new fr( { ctx: e.ctx, options: n, chart: e }); Zt.configure(e, i, n), Zt.addBox(e, i); }, stop (e) {Zt.removeBox(e, e.legend), delete e.legend;}, beforeUpdate (e, t, n) { const i = e.legend; Zt.configure(e, i, n), i.options = n; }, afterUpdate (e) { const t = e.legend; t.buildLabels(), t.adjustHitBoxes(); }, afterEvent (e, t) {t.replay || e.legend.handleEvent(t.event);}, defaults: { display: !0, position: 'top', align: 'center', fullSize: !0, reverse: !1, weight: 1e3, onClick (e, t, n) { const i = t.datasetIndex, a = n.chart; a.isDatasetVisible(i) ? (a.hide(i), t.hidden = !0) : (a.show(i), t.hidden = !1); }, onHover: null, onLeave: null, labels: { color: e => e.chart.options.color, boxWidth: 40, padding: 10, generateLabels (e) { const t = e.data.datasets, { labels: { usePointStyle: n, pointStyle: i, textAlign: a, color: r, }, } = e.legend.options; return e._getSortedDatasetMetas(). map((e => { const o = e.controller.getStyle(n ? 0 : void 0), s = jt(o.borderWidth); return { text: t[e.index].label, fillStyle: o.backgroundColor, fontColor: r, hidden: !e.visible, lineCap: o.borderCapStyle, lineDash: o.borderDash, lineDashOffset: o.borderDashOffset, lineJoin: o.borderJoinStyle, lineWidth: (s.width + s.height) / 4, strokeStyle: o.borderColor, pointStyle: i || o.pointStyle, rotation: o.rotation, textAlign: a || o.textAlign, borderRadius: 0, datasetIndex: e.index, }; }), this); }, }, title: { color: e => e.chart.options.color, display: !1, position: 'center', text: '', }, }, descriptors: { _scriptable: e => !e.startsWith('on'), labels: { _scriptable: e => ![ 'generateLabels', 'filter', 'sort'].includes(e), }, }, }; class mr extends In { constructor (e) {super(), this.chart = e.chart, this.options = e.options, this.ctx = e.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 (e, t) { const n = this, i = n.options; if (n.left = 0, n.top = 0, !i.display) return void (n.width = n.height = n.right = n.bottom = 0); n.width = n.right = e, n.height = n.bottom = t; const a = q(i.text) ? i.text.length : 1; n._padding = jt(i.padding); const r = a * Nt(i.font).lineHeight + n._padding.height; n.isHorizontal() ? n.height = r : n.width = r; } isHorizontal () { const e = this.options.position; return 'top' === e || 'bottom' === e; } _drawArgs (e) { const { top: t, left: n, bottom: i, right: r, options: o, } = this, s = o.align; let l, c, u, d = 0; return this.isHorizontal() ? (c = a(s, n, r), u = t + e, l = r - n) : ('left' === o.position ? (c = n + e, u = a(s, i, t), d = -.5 * ye) : (c = r - e, u = a(s, t, i), d = .5 * ye), l = i - t), { titleX: c, titleY: u, maxWidth: l, rotation: d, }; } draw () { const e = this, t = e.ctx, n = e.options; if (!n.display) return; const a = Nt(n.font), r = a.lineHeight / 2 + e._padding.top, { titleX: o, titleY: s, maxWidth: l, rotation: c, } = e._drawArgs(r); tt(t, n.text, 0, 0, a, { color: n.color, maxWidth: l, rotation: c, textAlign: i(n.align), textBaseline: 'middle', translation: [o, s], }); } } var gr = { id: 'title', _element: mr, start (e, t, n) { !function (e, t) { const n = new mr({ ctx: e.ctx, options: t, chart: e }); Zt.configure(e, n, t), Zt.addBox(e, n), e.titleBlock = n; }(e, n); }, stop (e) { const t = e.titleBlock; Zt.removeBox(e, t), delete e.titleBlock; }, beforeUpdate (e, t, n) { const i = e.titleBlock; Zt.configure(e, i, n), i.options = n; }, 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 vr = { average (e) { if (!e.length) return !1; let t, n, i = 0, a = 0, r = 0; for (t = 0, n = e.length; t < n; ++t) { const n = e[t].element; if (n && n.hasValue()) { const e = n.tooltipPosition(); i += e.x, a += e.y, ++r; } } return { x: i / r, y: a / r }; }, nearest (e, t) { if (!e.length) return !1; let n, i, a, r = t.x, o = t.y, s = Number.POSITIVE_INFINITY; for (n = 0, i = e.length; n < i; ++n) { const i = e[n].element; if (i && i.hasValue()) { const e = He(t, i.getCenterPoint()); e < s && (s = e, a = i); } } if (a) { const e = a.tooltipPosition(); r = e.x, o = e.y; } return { x: r, y: o }; }, }; function yr (e, t) { return t && (q(t) ? Array.prototype.push.apply(e, t) : e.push(t)), e; } function br (e) { return ('string' == typeof e || e instanceof String) && e.indexOf('\n') > -1 ? e.split('\n') : e; } function xr (e, t) { const { element: n, datasetIndex: i, index: a } = t, r = e.getDatasetMeta(i).controller, { label: o, value: s, } = r.getLabelAndValue(a); return { chart: e, label: o, parsed: r.getParsed(a), raw: e.data.datasets[i].data[a], formattedValue: s, dataset: r.getDataset(), dataIndex: a, datasetIndex: i, element: n, }; } function _r (e, t) { const n = e._chart.ctx, { body: i, footer: a, title: r, } = e, { boxWidth: o, boxHeight: s } = t, l = Nt(t.bodyFont), c = Nt(t.titleFont), u = Nt(t.footerFont), d = r.length, h = a.length, f = i.length, p = jt(t.padding); let m = p.height, g = 0, v = i.reduce( ((e, t) => e + t.before.length + t.lines.length + t.after.length), 0); if (v += e.beforeBody.length + e.afterBody.length, d && (m += d * c.lineHeight + (d - 1) * t.titleSpacing + t.titleMarginBottom), v) { m += f * (t.displayColors ? Math.max(s, l.lineHeight) : l.lineHeight) + (v - f) * l.lineHeight + (v - 1) * t.bodySpacing; } h && (m += t.footerMarginTop + h * u.lineHeight + (h - 1) * t.footerSpacing); let y = 0; const b = function (e) { g = Math.max(g, n.measureText(e).width + y); }; return n.save(), n.font = c.string, Q(e.title, b), n.font = l.string, Q(e.beforeBody.concat(e.afterBody), b), y = t.displayColors ? o + 2 : 0, Q(i, (e => { Q(e.before, b), Q(e.lines, b), Q(e.after, b); })), y = 0, n.font = u.string, Q(e.footer, b), n.restore(), g += p.width, { width: g, height: m }; } function wr (e, t, n, i) { const { x: a, width: r } = n, { width: o, chartArea: { left: s, right: l }, } = e; let c = 'center'; return 'center' === i ? c = a <= (s + l) / 2 ? 'left' : 'right' : a <= r / 2 ? c = 'left' : a >= o - r / 2 && (c = 'right'), function (e, t, n, i) { const { x: a, width: r, } = i, o = n.caretSize + n.caretPadding; return 'left' === e && a + r + o > t.width || 'right' === e && a - r - o < 0 || void 0; }(c, e, t, n) && (c = 'center'), c; } function kr (e, t, n) { const i = t.yAlign || function (e, t) { const { y: n, height: i } = t; return n < i / 2 ? 'top' : n > e.height - i / 2 ? 'bottom' : 'center'; }(e, n); return { xAlign: t.xAlign || wr(e, t, n, i), yAlign: i }; } function Mr (e, t, n, i) { const { caretSize: a, caretPadding: r, cornerRadius: o, } = e, { xAlign: s, yAlign: l } = n, c = a + r, u = o + r; let d = function (e, t) { let { x: n, width: i } = e; return 'right' === t ? n -= i : 'center' === t && (n -= i / 2), n; }(t, s); const h = function (e, t, n) { let { y: i, height: a } = e; return 'top' === t ? i += n : i -= 'bottom' === t ? a + n : a / 2, i; }(t, l, c); return 'center' === l ? 'left' === s ? d += c : 'right' === s && (d -= c) : 'left' === s ? d -= u : 'right' === s && (d += u), { x: Be(d, 0, i.width - t.width), y: Be(h, 0, i.height - t.height), }; } function Lr (e, t, n) { const i = jt(n.padding); return 'center' === t ? e.x + e.width / 2 : 'right' === t ? e.x + e.width - i.right : e.x + i.left; } function Sr (e) {return yr([], br(e));} function Tr (e, t) { const n = t && t.dataset && t.dataset.tooltip && t.dataset.tooltip.callbacks; return n ? e.override(n) : e; } class Ar extends In { constructor (e) {super(), this.opacity = 0, this._active = [], this._chart = e._chart, this._eventPosition = void 0, this._size = void 0, this._cachedAnimations = void 0, this._tooltipItems = [], this.$animations = void 0, this.$context = void 0, this.options = e.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 (e) {this.options = e, this._cachedAnimations = void 0, this.$context = void 0;} _resolveAnimations () { const e = this, t = e._cachedAnimations; if (t) return t; const n = e._chart, i = e.options.setContext(e.getContext()), a = i.enabled && n.options.animation && i.animations, r = new wn(e._chart, a); return a._cacheable && (e._cachedAnimations = Object.freeze(r)), r; } getContext () { const e = this; return e.$context || (e.$context = (t = e._chart.getContext(), n = e, i = e._tooltipItems, Object.assign( Object.create(t), { tooltip: n, tooltipItems: i, type: 'tooltip' }))); var t, n, i; } getTitle (e, t) { const n = this, { callbacks: i } = t, a = i.beforeTitle.apply(n, [e]), r = i.title.apply(n, [e]), o = i.afterTitle.apply(n, [e]); let s = []; return s = yr(s, br(a)), s = yr(s, br(r)), s = yr(s, br(o)), s; } getBeforeBody (e, t) { return Sr(t.callbacks.beforeBody.apply(this, [e])); } getBody (e, t) { const n = this, { callbacks: i } = t, a = []; return Q(e, (e => { const t = { before: [], lines: [], after: [] }, r = Tr(i, e); yr(t.before, br(r.beforeLabel.call(n, e))), yr(t.lines, r.label.call(n, e)), yr(t.after, br(r.afterLabel.call(n, e))), a.push(t); })), a; } getAfterBody (e, t) { return Sr(t.callbacks.afterBody.apply(this, [e])); } getFooter (e, t) { const n = this, { callbacks: i } = t, a = i.beforeFooter.apply(n, [e]), r = i.footer.apply(n, [e]), o = i.afterFooter.apply(n, [e]); let s = []; return s = yr(s, br(a)), s = yr(s, br(r)), s = yr(s, br(o)), s; } _createItems (e) { const t = this, n = t._active, i = t._chart.data, a = [], r = [], o = []; let s, l, c = []; for (s = 0, l = n.length; s < l; ++s) c.push( xr(t._chart, n[s])); return e.filter && (c = c.filter( ((t, n, a) => e.filter(t, n, a, i)))), e.itemSort && (c = c.sort(((t, n) => e.itemSort(t, n, i)))), Q(c, (n => { const i = Tr(e.callbacks, n); a.push(i.labelColor.call(t, n)), r.push( i.labelPointStyle.call(t, n)), o.push( i.labelTextColor.call(t, n)); })), t.labelColors = a, t.labelPointStyles = r, t.labelTextColors = o, t.dataPoints = c, c; } update (e, t) { const n = this, i = n.options.setContext(n.getContext()), a = n._active; let r, o = []; if (a.length) { const e = vr[i.position].call(n, a, n._eventPosition); o = n._createItems(i), n.title = n.getTitle(o, i), n.beforeBody = n.getBeforeBody(o, i), n.body = n.getBody(o, i), n.afterBody = n.getAfterBody(o, i), n.footer = n.getFooter(o, i); const t = n._size = _r(n, i), s = Object.assign({}, e, t), l = kr(n._chart, i, s), c = Mr(i, s, l, n._chart); n.xAlign = l.xAlign, n.yAlign = l.yAlign, r = { opacity: 1, x: c.x, y: c.y, width: t.width, height: t.height, caretX: e.x, caretY: e.y, }; } else 0 !== n.opacity && (r = { opacity: 0 }); n._tooltipItems = o, n.$context = void 0, r && n._resolveAnimations().update(n, r), e && i.external && i.external.call(n, { chart: n._chart, tooltip: n, replay: t }); } drawCaret (e, t, n, i) { const a = this.getCaretPosition(e, n, i); t.lineTo(a.x1, a.y1), t.lineTo(a.x2, a.y2), t.lineTo(a.x3, a.y3); } getCaretPosition (e, t, n) { const { xAlign: i, yAlign: a, } = this, { cornerRadius: r, caretSize: o } = n, { x: s, y: l, } = e, { width: c, height: u } = t; let d, h, f, p, m, g; return 'center' === a ? (m = l + u / 2, 'left' === i ? (d = s, h = d - o, p = m + o, g = m - o) : (d = s + c, h = d + o, p = m - o, g = m + o), f = d) : (h = 'left' === i ? s + r + o : 'right' === i ? s + c - r - o : this.caretX, 'top' === a ? (p = l, m = p - o, d = h - o, f = h + o) : (p = l + u, m = p + o, d = h + o, f = h - o), g = p), { x1: d, x2: h, x3: f, y1: p, y2: m, y3: g, }; } drawTitle (e, t, n) { const i = this, a = i.title, r = a.length; let o, s, l; if (r) { const c = yi(n.rtl, i.x, i.width); for (e.x = Lr(i, n.titleAlign, n), t.textAlign = c.textAlign( n.titleAlign), t.textBaseline = 'middle', o = Nt( n.titleFont), s = n.titleSpacing, t.fillStyle = n.titleColor, t.font = o.string, l = 0; l < r; ++l) t.fillText(a[l], c.x(e.x), e.y + o.lineHeight / 2), e.y += o.lineHeight + s, l + 1 === r && (e.y += n.titleMarginBottom - s); } } _drawColorBox (e, t, n, i, a) { const r = this, o = r.labelColors[n], s = r.labelPointStyles[n], { boxHeight: l, boxWidth: c, } = a, u = Nt(a.bodyFont), d = Lr(r, 'left', a), h = i.x(d), f = l < u.lineHeight ? (u.lineHeight - l) / 2 : 0, p = t.y + f; if (a.usePointStyle) { const t = { radius: Math.min(c, l) / 2, pointStyle: s.pointStyle, rotation: s.rotation, borderWidth: 1, }, n = i.leftForLtr(h, c) + c / 2, r = p + l / 2; e.strokeStyle = a.multiKeyBackground, e.fillStyle = a.multiKeyBackground, Ge( e, t, n, r), e.strokeStyle = o.borderColor, e.fillStyle = o.backgroundColor, Ge( e, t, n, r); } else { e.lineWidth = o.borderWidth || 1, e.strokeStyle = o.borderColor, e.setLineDash( o.borderDash || []), e.lineDashOffset = o.borderDashOffset || 0; const t = i.leftForLtr(h, c), n = i.leftForLtr(i.xPlus(h, 1), c - 2), r = It(o.borderRadius); Object.values(r).some((e => 0 !== e)) ? (e.beginPath(), e.fillStyle = a.multiKeyBackground, nt( e, { x: t, y: p, w: c, h: l, radius: r, }), e.fill(), e.stroke(), e.fillStyle = o.backgroundColor, e.beginPath(), nt( e, { x: n, y: p + 1, w: c - 2, h: l - 2, radius: r, }), e.fill()) : (e.fillStyle = a.multiKeyBackground, e.fillRect(t, p, c, l), e.strokeRect(t, p, c, l), e.fillStyle = o.backgroundColor, e.fillRect(n, p + 1, c - 2, l - 2)); } e.fillStyle = r.labelTextColors[n]; } drawBody ( e, t, n) { const i = this, { body: a } = i, { bodySpacing: r, bodyAlign: o, displayColors: s, boxHeight: l, boxWidth: c, } = n, u = Nt(n.bodyFont); let d = u.lineHeight, h = 0; const f = yi(n.rtl, i.x, i.width), p = function (n) { t.fillText(n, f.x(e.x + h), e.y + d / 2), e.y += d + r; }, m = f.textAlign(o); let g, v, y, b, x, _, w; for (t.textAlign = o, t.textBaseline = 'middle', t.font = u.string, e.x = Lr( i, m, n), t.fillStyle = n.bodyColor, Q(i.beforeBody, p), h = s && 'right' !== m ? 'center' === o ? c / 2 + 1 : c + 2 : 0, b = 0, _ = a.length; b < _; ++b) { for (g = a[b], v = i.labelTextColors[b], t.fillStyle = v, Q( g.before, p), y = g.lines, s && y.length && (i._drawColorBox(t, e, b, f, n), d = Math.max(u.lineHeight, l)), x = 0, w = y.length; x < w; ++x) p( y[x]), d = u.lineHeight; Q(g.after, p); } h = 0, d = u.lineHeight, Q(i.afterBody, p), e.y -= r; } drawFooter (e, t, n) { const i = this, a = i.footer, r = a.length; let o, s; if (r) { const l = yi(n.rtl, i.x, i.width); for (e.x = Lr(i, n.footerAlign, n), e.y += n.footerMarginTop, t.textAlign = l.textAlign( n.footerAlign), t.textBaseline = 'middle', o = Nt( n.footerFont), t.fillStyle = n.footerColor, t.font = o.string, s = 0; s < r; ++s) t.fillText(a[s], l.x(e.x), e.y + o.lineHeight / 2), e.y += o.lineHeight + n.footerSpacing; } } drawBackground (e, t, n, i) { const { xAlign: a, yAlign: r, } = this, { x: o, y: s } = e, { width: l, height: c } = n, u = i.cornerRadius; t.fillStyle = i.backgroundColor, t.strokeStyle = i.borderColor, t.lineWidth = i.borderWidth, t.beginPath(), t.moveTo( o + u, s), 'top' === r && this.drawCaret(e, t, n, i), t.lineTo(o + l - u, s), t.quadraticCurveTo(o + l, s, o + l, s + u), 'center' === r && 'right' === a && this.drawCaret(e, t, n, i), t.lineTo( o + l, s + c - u), t.quadraticCurveTo(o + l, s + c, o + l - u, s + c), 'bottom' === r && this.drawCaret(e, t, n, i), t.lineTo(o + u, s + c), t.quadraticCurveTo(o, s + c, o, s + c - u), 'center' === r && 'left' === a && this.drawCaret(e, t, n, i), t.lineTo(o, s + u), t.quadraticCurveTo(o, s, o + u, s), t.closePath(), t.fill(), i.borderWidth > 0 && t.stroke(); } _updateAnimationTarget (e) { const t = this, n = t._chart, i = t.$animations, a = i && i.x, r = i && i.y; if (a || r) { const i = vr[e.position].call(t, t._active, t._eventPosition); if (!i) return; const o = t._size = _r(t, e), s = Object.assign({}, i, t._size), l = kr(n, e, s), c = Mr(e, s, l, n); a._to === c.x && r._to === c.y || (t.xAlign = l.xAlign, t.yAlign = l.yAlign, t.width = o.width, t.height = o.height, t.caretX = i.x, t.caretY = i.y, t._resolveAnimations(). update(t, c)); } } draw (e) { const t = this, n = t.options.setContext(t.getContext()); let i = t.opacity; if (!i) return; t._updateAnimationTarget(n); const a = { width: t.width, height: t.height }, r = { x: t.x, y: t.y }; i = Math.abs(i) < .001 ? 0 : i; const o = jt(n.padding), s = t.title.length || t.beforeBody.length || t.body.length || t.afterBody.length || t.footer.length; n.enabled && s && (e.save(), e.globalAlpha = i, t.drawBackground(r, e, a, n), bi( e, n.textDirection), r.y += o.top, t.drawTitle(r, e, n), t.drawBody(r, e, n), t.drawFooter(r, e, n), xi(e, n.textDirection), e.restore()); } getActiveElements () {return this._active || [];} setActiveElements (e, t) { const n = this, i = n._active, a = e.map((({ datasetIndex: e, index: t, }) => { const i = n._chart.getDatasetMeta(e); if (!i) throw new Error( 'Cannot find a dataset at index ' + e); return { datasetIndex: e, element: i.data[t], index: t }; })), r = !ee(i, a), o = n._positionChanged(a, t); (r || o) && (n._active = a, n._eventPosition = t, n.update(!0)); } handleEvent (e, t) { const n = this, i = n.options, a = n._active || []; let r = !1, o = []; 'mouseout' !== e.type && (o = n._chart.getElementsAtEventForMode(e, i.mode, i, t), i.reverse && o.reverse()); const s = n._positionChanged(o, e); return r = t || !ee(o, a) || s, r && (n._active = o, (i.enabled || i.external) && (n._eventPosition = { x: e.x, y: e.y }, n.update(!0, t))), r; } _positionChanged (e, t) { const { caretX: n, caretY: i, options: a, } = this, r = vr[a.position].call(this, e, t); return !1 !== r && (n !== r.x || i !== r.y); } } Ar.positioners = vr; var Dr = { id: 'tooltip', _element: Ar, positioners: vr, afterInit (e, t, n) { n && (e.tooltip = new Ar({ _chart: e, options: n })); }, beforeUpdate (e, t, n) {e.tooltip && e.tooltip.initialize(n);}, reset (e, t, n) {e.tooltip && e.tooltip.initialize(n);}, afterDraw (e) { const t = e.tooltip, n = { tooltip: t }; !1 !== e.notifyPlugins('beforeTooltipDraw', n) && (t && t.draw(e.ctx), e.notifyPlugins('afterTooltipDraw', n)); }, afterEvent (e, t) { if (e.tooltip) { const n = t.replay; e.tooltip.handleEvent(t.event, n) && (t.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: (e, t) => t.bodyFont.size, boxWidth: (e, t) => t.bodyFont.size, multiKeyBackground: '#fff', displayColors: !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: { beforeTitle: B, title (e) { if (e.length > 0) { const t = e[0], n = t.chart.data.labels, i = n ? n.length : 0; if (this && this.options && 'dataset' === this.options.mode) return t.dataset.label || ''; if (t.label) return t.label; if (i > 0 && t.dataIndex < i) return n[t.dataIndex]; } return ''; }, afterTitle: B, beforeBody: B, beforeLabel: B, label (e) { if (this && this.options && 'dataset' === this.options.mode) return e.label + ': ' + e.formattedValue || e.formattedValue; let t = e.dataset.label || ''; t && (t += ': '); const n = e.formattedValue; return V(n) || (t += n), t; }, labelColor (e) { const t = e.chart.getDatasetMeta(e.datasetIndex). controller. getStyle(e.dataIndex); return { borderColor: t.borderColor, backgroundColor: t.backgroundColor, borderWidth: t.borderWidth, borderDash: t.borderDash, borderDashOffset: t.borderDashOffset, borderRadius: 0, }; }, labelTextColor () {return this.options.bodyColor;}, labelPointStyle (e) { const t = e.chart.getDatasetMeta(e.datasetIndex). controller. getStyle(e.dataIndex); return { pointStyle: t.pointStyle, rotation: t.rotation, }; }, afterLabel: B, afterBody: B, beforeFooter: B, footer: B, afterFooter: B, }, }, defaultRoutes: { bodyFont: 'font', footerFont: 'font', titleFont: 'font', }, descriptors: { _scriptable: e => 'filter' !== e && 'itemSort' !== e && 'external' !== e, _indexable: !1, callbacks: { _scriptable: !1, _indexable: !1 }, animation: { _fallback: !1 }, animations: { _fallback: 'animation' }, }, additionalOptionScopes: ['interaction'], }, Cr = Object.freeze({ __proto__: null, Decimation: $a, Filler: dr, Legend: pr, Title: gr, Tooltip: Dr, }); function Er (e, t, n) { const i = e.indexOf(t); if (-1 === i) return ((e, t, n) => 'string' == typeof t ? e.push( t) - 1 : isNaN(t) ? null : n)(e, t, n); return i !== e.lastIndexOf(t) ? n : i; } class Or extends $n { constructor (e) { super(e), this._startValue = void 0, this._valueRange = 0; } parse (e, t) { if (V(e)) return null; const n = this.getLabels(); return ((e, t) => null === e ? null : Be(Math.round(e), 0, t))( t = isFinite(t) && n[t] === e ? t : Er(n, e, G(t, e)), n.length - 1); } determineDataLimits () { const e = this, { minDefined: t, maxDefined: n, } = e.getUserBounds(); let { min: i, max: a } = e.getMinMax(!0); 'ticks' === e.options.bounds && (t || (i = 0), n || (a = e.getLabels().length - 1)), e.min = i, e.max = a; } buildTicks () { const e = this, t = e.min, n = e.max, i = e.options.offset, a = []; let r = e.getLabels(); r = 0 === t && n === r.length - 1 ? r : r.slice(t, n + 1), e._valueRange = Math.max(r.length - (i ? 0 : 1), 1), e._startValue = e.min - (i ? .5 : 0); for (let e = t; e <= n; e++) a.push({ value: e }); return a; } getLabelForValue (e) { const t = this.getLabels(); return e >= 0 && e < t.length ? t[e] : e; } configure () { const e = this; super.configure(), e.isHorizontal() || (e._reversePixels = !e._reversePixels); } getPixelForValue (e) { const t = this; return 'number' != typeof e && (e = t.parse(e)), null === e ? NaN : t.getPixelForDecimal((e - t._startValue) / t._valueRange); } getPixelForTick (e) { const t = this.ticks; return e < 0 || e > t.length - 1 ? null : this.getPixelForValue( t[e].value); } getValueForPixel (e) { const t = this; return Math.round( t._startValue + t.getDecimalForPixel(e) * t._valueRange); } getBasePixel () {return this.bottom;} } function Yr (e, t, { horizontal: n, minRotation: i }) { const a = Pe(i), r = (n ? Math.sin(a) : Math.cos(a)) || .001, o = .75 * t * ('' + e).length; return Math.min(t / r, o); } Or.id = 'category', Or.defaults = { ticks: { callback: Or.prototype.getLabelForValue } }; class Pr extends $n { constructor (e) { super( e), this.start = void 0, this.end = void 0, this._startValue = void 0, this._endValue = void 0, this._valueRange = 0; } parse (e, t) { return V(e) || ('number' == typeof e || e instanceof Number) && !isFinite(+e) ? null : +e; } handleTickRangeOptions () { const e = this, { beginAtZero: t } = e.options, { minDefined: n, maxDefined: i, } = e.getUserBounds(); let { min: a, max: r } = e; const o = e => a = n ? a : e, s = e => r = i ? r : e; if (t) { const e = Te(a), t = Te(r); e < 0 && t < 0 ? s(0) : e > 0 && t > 0 && o(0); } a === r && (s(r + 1), t || o(a - 1)), e.min = a, e.max = r; } getTickLimit () { const e = this, t = e.options.ticks; let n, { maxTicksLimit: i, stepSize: a } = t; return a ? n = Math.ceil(e.max / a) - Math.floor(e.min / a) + 1 : (n = e.computeTickLimit(), i = i || 11), i && (n = Math.min(i, n)), n; } computeTickLimit () {return Number.POSITIVE_INFINITY;} buildTicks () { const e = this, t = e.options, n = t.ticks; let i = e.getTickLimit(); i = Math.max(2, i); const a = function (e, t) { const n = [], { bounds: i, step: a, min: r, max: o, precision: s, count: l, maxTicks: c, maxDigits: u, includeBounds: d, } = e, h = a || 1, f = c - 1, { min: p, max: m } = t, g = !V(r), v = !V(o), y = !V(l), b = (m - p) / (u + 1); let x, _, w, k, M = Ae((m - p) / f / h) * h; if (M < 1e-14 && !g && !v) return [ { value: p }, { value: m }]; k = Math.ceil(m / M) - Math.floor(p / M), k > f && (M = Ae(k * M / f / h) * h), V(s) || (x = Math.pow(10, s), M = Math.ceil(M * x) / x), 'ticks' === i ? (_ = Math.floor(p / M) * M, w = Math.ceil(m / M) * M) : (_ = p, w = m), g && v && a && Oe((o - r) / a, M / 1e3) ? (k = Math.min((o - r) / M, c), M = (o - r) / k, _ = r, w = o) : y ? (_ = g ? r : _, w = v ? o : w, k = l - 1, M = (w - _) / k) : (k = (w - _) / M, k = Ee(k, Math.round(k), M / 1e3) ? Math.round(k) : Math.ceil(k)); const L = Math.max(je(M), je(_)); x = Math.pow(10, V(s) ? L : s), _ = Math.round(_ * x) / x, w = Math.round(w * x) / x; let S = 0; for (g && (d && _ !== r ? (n.push({ value: r }), _ < r && S++, Ee(Math.round((_ + S * M) * x) / x, r, Yr(r, b, e)) && S++) : _ < r && S++); S < k; ++S) n.push( { value: Math.round((_ + S * M) * x) / x }); return v && d && w !== o ? Ee(n[n.length - 1].value, o, Yr(o, b, e)) ? n[n.length - 1].value = o : n.push( { value: o }) : v && w !== o || n.push({ value: w }), n; }({ maxTicks: i, bounds: t.bounds, min: t.min, max: t.max, precision: n.precision, step: n.stepSize, count: n.count, maxDigits: e._maxDigits(), horizontal: e.isHorizontal(), minRotation: n.minRotation || 0, includeBounds: !1 !== n.includeBounds, }, e._range || e); return 'ticks' === t.bounds && Ye(a, e, 'value'), t.reverse ? (a.reverse(), e.start = e.max, e.end = e.min) : (e.start = e.min, e.end = e.max), a; } configure () { const e = this, t = e.ticks; let n = e.min, i = e.max; if (super.configure(), e.options.offset && t.length) { const e = (i - n) / Math.max(t.length - 1, 1) / 2; n -= e, i += e; } e._startValue = n, e._endValue = i, e._valueRange = i - n; } getLabelForValue (e) {return Nn(e, this.chart.options.locale);} } class Ir extends Pr { determineDataLimits () { const e = this, { min: t, max: n, } = e.getMinMax(!0); e.min = X(t) ? t : 0, e.max = X(n) ? n : 1, e.handleTickRangeOptions(); } computeTickLimit () { const e = this, t = e.isHorizontal(), n = t ? e.width : e.height, i = Pe(e.options.ticks.minRotation), a = (t ? Math.sin(i) : Math.cos(i)) || .001, r = e._resolveTickFontOptions(0); return Math.ceil(n / Math.min(40, r.lineHeight / a)); } getPixelForValue (e) { return null === e ? NaN : this.getPixelForDecimal( (e - this._startValue) / this._valueRange); } getValueForPixel (e) { return this._startValue + this.getDecimalForPixel(e) * this._valueRange; } } function jr (e) {return 1 === e / Math.pow(10, Math.floor(Se(e)));} Ir.id = 'linear', Ir.defaults = { ticks: { callback: Fn.formatters.numeric } }; class Nr extends $n { constructor (e) { super( e), this.start = void 0, this.end = void 0, this._startValue = void 0, this._valueRange = 0; } parse (e, t) { const n = Pr.prototype.parse.apply(this, [e, t]); if (0 !== n) return X(n) && n > 0 ? n : null; this._zero = !0; } determineDataLimits () { const e = this, { min: t, max: n, } = e.getMinMax(!0); e.min = X(t) ? Math.max(0, t) : null, e.max = X(n) ? Math.max(0, n) : null, e.options.beginAtZero && (e._zero = !0), e.handleTickRangeOptions(); } handleTickRangeOptions () { const e = this, { minDefined: t, maxDefined: n, } = e.getUserBounds(); let i = e.min, a = e.max; const r = e => i = t ? i : e, o = e => a = n ? a : e, s = (e, t) => Math.pow(10, Math.floor(Se(e)) + t); i === a && (i <= 0 ? (r(1), o(10)) : (r(s(i, -1)), o(s(a, 1)))), i <= 0 && r(s(a, -1)), a <= 0 && o(s(i, 1)), e._zero && e.min !== e._suggestedMin && i === s(e.min, 0) && r(s(i, -1)), e.min = i, e.max = a; } buildTicks () { const e = this, t = e.options, n = function (e, t) { const n = Math.floor(Se(t.max)), i = Math.ceil(t.max / Math.pow(10, n)), a = []; let r = $(e.min, Math.pow(10, Math.floor(Se(t.min)))), o = Math.floor(Se(r)), s = Math.floor(r / Math.pow(10, o)), l = o < 0 ? Math.pow(10, Math.abs(o)) : 1; do { a.push({ value: r, major: jr(r) }), ++s, 10 === s && (s = 1, ++o, l = o >= 0 ? 1 : l), r = Math.round( s * Math.pow(10, o) * l) / l; } while (o < n || o === n && s < i); const c = $(e.max, r); return a.push({ value: c, major: jr(r) }), a; }({ min: e._userMin, max: e._userMax }, e); return 'ticks' === t.bounds && Ye(n, e, 'value'), t.reverse ? (n.reverse(), e.start = e.max, e.end = e.min) : (e.start = e.min, e.end = e.max), n; } getLabelForValue (e) { return void 0 === e ? '0' : Nn(e, this.chart.options.locale); } configure () { const e = this, t = e.min; super.configure(), e._startValue = Se(t), e._valueRange = Se( e.max) - Se(t); } getPixelForValue (e) { const t = this; return void 0 !== e && 0 !== e || (e = t.min), null === e || isNaN(e) ? NaN : t.getPixelForDecimal( e === t.min ? 0 : (Se(e) - t._startValue) / t._valueRange); } getValueForPixel (e) { const t = this, n = t.getDecimalForPixel(e); return Math.pow(10, t._startValue + n * t._valueRange); } } function Hr (e) { const t = e.ticks; if (t.display && e.display) { const e = jt(t.backdropPadding); return G(t.font && t.font.size, ve.font.size) + e.height; } return 0; } function Fr (e, t, n, i, a) { return e === i || e === a ? { start: t - n / 2, end: t + n / 2, } : e < i || e > a ? { start: t - n, end: t } : { start: t, end: t + n, }; } function Rr (e) { return 0 === e || 180 === e ? 'center' : e < 180 ? 'left' : 'right'; } function zr (e, t, n) { 90 === e || 270 === e ? n.y -= t.h / 2 : (e > 270 || e < 90) && (n.y -= t.h); } function Br (e, t, n, i) { const { ctx: a } = e; if (n) a.arc(e.xCenter, e.yCenter, t, 0, be); else { let n = e.getPointPosition(0, t); a.moveTo(n.x, n.y); for (let r = 1; r < i; r++) n = e.getPointPosition(r, t), a.lineTo(n.x, n.y); } } function Wr (e) {return Ce(e) ? e : 0;} Nr.id = 'logarithmic', Nr.defaults = { ticks: { callback: Fn.formatters.logarithmic, major: { enabled: !0 }, }, }; class Vr extends Pr { constructor (e) { super( e), this.xCenter = void 0, this.yCenter = void 0, this.drawingArea = void 0, this._pointLabels = [], this._pointLabelItems = []; } setDimensions () { const e = this; e.width = e.maxWidth, e.height = e.maxHeight, e.paddingTop = Hr( e.options) / 2, e.xCenter = Math.floor( e.width / 2), e.yCenter = Math.floor( (e.height - e.paddingTop) / 2), e.drawingArea = Math.min( e.height - e.paddingTop, e.width) / 2; } determineDataLimits () { const e = this, { min: t, max: n, } = e.getMinMax(!1); e.min = X(t) && !isNaN(t) ? t : 0, e.max = X(n) && !isNaN(n) ? n : 0, e.handleTickRangeOptions(); } computeTickLimit () { return Math.ceil(this.drawingArea / Hr(this.options)); } generateTickLabels (e) { const t = this; Pr.prototype.generateTickLabels.call(t, e), t._pointLabels = t.getLabels(). map(((e, n) => { const i = J(t.options.pointLabels.callback, [e, n], t); return i || 0 === i ? i : ''; })); } fit () { const e = this, t = e.options; t.display && t.pointLabels.display ? function (e) { const t = { l: 0, r: e.width, t: 0, b: e.height - e.paddingTop, }, n = {}; let i, a, r; const o = [], s = [], l = e.getLabels().length; for (i = 0; i < l; i++) { const l = e.options.pointLabels.setContext( e.getContext(i)); s[i] = l.padding, r = e.getPointPosition(i, e.drawingArea + s[i]); const h = Nt(l.font); e.ctx.font = h.string, c = e.ctx, u = h.lineHeight, a = q( d = e._pointLabels[i]) ? { w: Ue(c, c.font, d), h: d.length * u, } : { w: c.measureText(d).width, h: u }, o[i] = a; const f = e.getIndexAngle(i), p = Ie(f), m = Fr(p, r.x, a.w, 0, 180), g = Fr(p, r.y, a.h, 90, 270); m.start < t.l && (t.l = m.start, n.l = f), m.end > t.r && (t.r = m.end, n.r = f), g.start < t.t && (t.t = g.start, n.t = f), g.end > t.b && (t.b = g.end, n.b = f); } var c, u, d; e._setReductions(e.drawingArea, t, n), e._pointLabelItems = []; const h = e.options, f = Hr(h), p = e.getDistanceFromCenterForValue( h.ticks.reverse ? e.min : e.max); for (i = 0; i < l; i++) { const t = 0 === i ? f / 2 : 0, n = e.getPointPosition(i, p + t + s[i]), a = Ie(e.getIndexAngle(i)), r = o[i]; zr(a, r, n); const l = Rr(a); let c; c = 'left' === l ? n.x : 'center' === l ? n.x - r.w / 2 : n.x - r.w; const u = c + r.w; e._pointLabelItems[i] = { x: n.x, y: n.y, textAlign: l, left: c, top: n.y, right: u, bottom: n.y + r.h, }; } }(e) : e.setCenterPoint(0, 0, 0, 0); } _setReductions (e, t, n) { const i = this; let a = t.l / Math.sin(n.l), r = Math.max(t.r - i.width, 0) / Math.sin(n.r), o = -t.t / Math.cos(n.t), s = -Math.max(t.b - (i.height - i.paddingTop), 0) / Math.cos(n.b); a = Wr(a), r = Wr(r), o = Wr(o), s = Wr( s), i.drawingArea = Math.max(e / 2, Math.min(Math.floor(e - (a + r) / 2), Math.floor(e - (o + s) / 2))), i.setCenterPoint(a, r, o, s); } setCenterPoint (e, t, n, i) { const a = this, r = a.width - t - a.drawingArea, o = e + a.drawingArea, s = n + a.drawingArea, l = a.height - a.paddingTop - i - a.drawingArea; a.xCenter = Math.floor( (o + r) / 2 + a.left), a.yCenter = Math.floor( (s + l) / 2 + a.top + a.paddingTop); } getIndexAngle (e) { return Re(e * (be / this.getLabels().length) + Pe(this.options.startAngle || 0)); } getDistanceFromCenterForValue (e) { const t = this; if (V(e)) return NaN; const n = t.drawingArea / (t.max - t.min); return t.options.reverse ? (t.max - e) * n : (e - t.min) * n; } getValueForDistanceFromCenter (e) { if (V(e)) return NaN; const t = this, n = e / (t.drawingArea / (t.max - t.min)); return t.options.reverse ? t.max - n : t.min + n; } getPointPosition (e, t) { const n = this, i = n.getIndexAngle(e) - ke; return { x: Math.cos(i) * t + n.xCenter, y: Math.sin(i) * t + n.yCenter, angle: i, }; } getPointPositionForValue (e, t) { return this.getPointPosition(e, this.getDistanceFromCenterForValue(t)); } getBasePosition (e) { return this.getPointPositionForValue(e || 0, this.getBaseValue()); } getPointLabelPosition (e) { const { left: t, top: n, right: i, bottom: a, } = this._pointLabelItems[e]; return { left: t, top: n, right: i, bottom: a }; } drawBackground () { const e = this, { backgroundColor: t, grid: { circular: n }, } = e.options; if (t) { const i = e.ctx; i.save(), i.beginPath(), Br(e, e.getDistanceFromCenterForValue(e._endValue), n, e.getLabels().length), i.closePath(), i.fillStyle = t, i.fill(), i.restore(); } } drawGrid () { const e = this, t = e.ctx, n = e.options, { angleLines: i, grid: a, } = n, r = e.getLabels().length; let o, s, l; if (n.pointLabels.display && function (e, t) { const { ctx: n, options: { pointLabels: i }, } = e; for (let a = t - 1; a >= 0; a--) { const t = i.setContext(e.getContext(a)), r = Nt(t.font), { x: o, y: s, textAlign: l, left: c, top: u, right: d, bottom: h, } = e._pointLabelItems[a], { backdropColor: f } = t; if (!V(f)) { const e = jt(t.backdropPadding); n.fillStyle = f, n.fillRect(c - e.left, u - e.top, d - c + e.width, h - u + e.height); } tt(n, e._pointLabels[a], o, s + r.lineHeight / 2, r, { color: t.color, textAlign: l, textBaseline: 'middle', }); } }(e, r), a.display && e.ticks.forEach(((t, n) => { if (0 !== n) { s = e.getDistanceFromCenterForValue(t.value); const i = a.setContext(e.getContext(n - 1)); !function (e, t, n, i) { const a = e.ctx, r = t.circular, { color: o, lineWidth: s, } = t; !r && !i || !o || !s || n < 0 || (a.save(), a.strokeStyle = o, a.lineWidth = s, a.setLineDash( t.borderDash), a.lineDashOffset = t.borderDashOffset, a.beginPath(), Br( e, n, r, i), a.closePath(), a.stroke(), a.restore()); }(e, i, s, r); } })), i.display) { for (t.save(), o = e.getLabels().length - 1; o >= 0; o--) { const a = i.setContext(e.getContext(o)), { color: r, lineWidth: c, } = a; c && r && (t.lineWidth = c, t.strokeStyle = r, t.setLineDash( a.borderDash), t.lineDashOffset = a.borderDashOffset, s = e.getDistanceFromCenterForValue( n.ticks.reverse ? e.min : e.max), l = e.getPointPosition(o, s), t.beginPath(), t.moveTo(e.xCenter, e.yCenter), t.lineTo(l.x, l.y), t.stroke()); } t.restore(); } } drawBorder () {} drawLabels () { const e = this, t = e.ctx, n = e.options, i = n.ticks; if (!i.display) return; const a = e.getIndexAngle(0); let r, o; t.save(), t.translate(e.xCenter, e.yCenter), t.rotate( a), t.textAlign = 'center', t.textBaseline = 'middle', e.ticks.forEach( ((a, s) => { if (0 === s && !n.reverse) return; const l = i.setContext(e.getContext(s)), c = Nt(l.font); if (r = e.getDistanceFromCenterForValue( e.ticks[s].value), l.showLabelBackdrop) { o = t.measureText( a.label).width, t.fillStyle = l.backdropColor; const e = jt(l.backdropPadding); t.fillRect(-o / 2 - e.left, -r - c.size / 2 - e.top, o + e.width, c.size + e.height); } tt(t, a.label, 0, -r, c, { color: l.color }); })), t.restore(); } drawTitle () {} } Vr.id = 'radialLinear', Vr.defaults = { display: !0, animate: !0, position: 'chartArea', angleLines: { display: !0, lineWidth: 1, borderDash: [], borderDashOffset: 0, }, grid: { circular: !1 }, startAngle: 0, ticks: { showLabelBackdrop: !0, callback: Fn.formatters.numeric }, pointLabels: { backdropColor: void 0, backdropPadding: 2, display: !0, font: { size: 10 }, callback: e => e, padding: 5, }, }, Vr.defaultRoutes = { 'angleLines.color': 'borderColor', 'pointLabels.color': 'color', 'ticks.color': 'color', }, Vr.descriptors = { angleLines: { _fallback: 'grid' } }; const qr = { 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 }, }, Ur = Object.keys(qr); function Xr (e, t) {return e - t;} function $r (e, t) { if (V(t)) return null; const n = e._adapter, { parser: i, round: a, isoWeekday: r, } = e._parseOpts; let o = t; return 'function' == typeof i && (o = i(o)), X(o) || (o = 'string' == typeof i ? n.parse(o, i) : n.parse(o)), null === o ? null : (a && (o = 'week' !== a || !Ce(r) && !0 !== r ? n.startOf(o, a) : n.startOf(o, 'isoWeek', r)), +o); } function Gr (e, t, n, i) { const a = Ur.length; for (let r = Ur.indexOf(e); r < a - 1; ++r) { const e = qr[Ur[r]], a = e.steps ? e.steps : Number.MAX_SAFE_INTEGER; if (e.common && Math.ceil((n - t) / (a * e.size)) <= i) return Ur[r]; } return Ur[a - 1]; } function Zr (e, t, n) { if (n) { if (n.length) { const { lo: i, hi: a, } = it(n, t); e[n[i] >= t ? n[i] : n[a]] = !0; } } else e[t] = !0; } function Kr (e, t, n) { const i = [], a = {}, r = t.length; let o, s; for (o = 0; o < r; ++o) s = t[o], a[s] = o, i.push( { value: s, major: !1 }); return 0 !== r && n ? function (e, t, n, i) { const a = e._adapter, r = +a.startOf(t[0].value, i), o = t[t.length - 1].value; let s, l; for (s = r; s <= o; s = +a.add(s, 1, i)) l = n[s], l >= 0 && (t[l].major = !0); return t; }(e, i, a, n) : i; } class Jr extends $n { constructor (e) { super(e), this._cache = { data: [], labels: [], all: [], }, this._unit = 'day', this._majorUnit = void 0, this._offsets = {}, this._normalized = !1, this._parseOpts = void 0; } init (e, t) { const n = e.time || (e.time = {}), i = this._adapter = new ra._date(e.adapters.date); re(n.displayFormats, i.formats()), this._parseOpts = { parser: n.parser, round: n.round, isoWeekday: n.isoWeekday, }, super.init(e), this._normalized = t.normalized; } parse (e, t) {return void 0 === e ? null : $r(this, e);} beforeLayout () { super.beforeLayout(), this._cache = { data: [], labels: [], all: [], }; } determineDataLimits () { const e = this, t = e.options, n = e._adapter, i = t.time.unit || 'day'; let { min: a, max: r, minDefined: o, maxDefined: s, } = e.getUserBounds(); function l (e) { o || isNaN(e.min) || (a = Math.min(a, e.min)), s || isNaN(e.max) || (r = Math.max(r, e.max)); } o && s || (l(e._getLabelBounds()), 'ticks' === t.bounds && 'labels' === t.ticks.source || l(e.getMinMax(!1))), a = X(a) && !isNaN(a) ? a : +n.startOf(Date.now(), i), r = X(r) && !isNaN(r) ? r : +n.endOf(Date.now(), i) + 1, e.min = Math.min(a, r - 1), e.max = Math.max(a + 1, r); } _getLabelBounds () { const e = this.getLabelTimestamps(); let t = Number.POSITIVE_INFINITY, n = Number.NEGATIVE_INFINITY; return e.length && (t = e[0], n = e[e.length - 1]), { min: t, max: n, }; } buildTicks () { const e = this, t = e.options, n = t.time, i = t.ticks, a = 'labels' === i.source ? e.getLabelTimestamps() : e._generate(); 'ticks' === t.bounds && a.length && (e.min = e._userMin || a[0], e.max = e._userMax || a[a.length - 1]); const r = e.min, o = ot(a, r, e.max); return e._unit = n.unit || (i.autoSkip ? Gr(n.minUnit, e.min, e.max, e._getLabelCapacity(r)) : function ( e, t, n, i, a) { for (let r = Ur.length - 1; r >= Ur.indexOf(n); r--) { const n = Ur[r]; if (qr[n].common && e._adapter.diff(a, i, n) >= t - 1) return n; } return Ur[n ? Ur.indexOf(n) : 0]; }(e, o.length, n.minUnit, e.min, e.max)), e._majorUnit = i.major.enabled && 'year' !== e._unit ? function (e) { for (let t = Ur.indexOf(e) + 1, n = Ur.length; t < n; ++t) if (qr[Ur[t]].common) return Ur[t]; }(e._unit) : void 0, e.initOffsets(a), t.reverse && o.reverse(), Kr(e, o, e._majorUnit); } initOffsets (e) { const t = this; let n, i, a = 0, r = 0; t.options.offset && e.length && (n = t.getDecimalForValue(e[0]), a = 1 === e.length ? 1 - n : (t.getDecimalForValue(e[1]) - n) / 2, i = t.getDecimalForValue(e[e.length - 1]), r = 1 === e.length ? i : (i - t.getDecimalForValue(e[e.length - 2])) / 2); const o = e.length < 3 ? .5 : .25; a = Be(a, 0, o), r = Be(r, 0, o), t._offsets = { start: a, end: r, factor: 1 / (a + 1 + r), }; } _generate () { const e = this, t = e._adapter, n = e.min, i = e.max, a = e.options, r = a.time, o = r.unit || Gr(r.minUnit, n, i, e._getLabelCapacity(n)), s = G(r.stepSize, 1), l = 'week' === o && r.isoWeekday, c = Ce(l) || !0 === l, u = {}; let d, h, f = n; if (c && (f = +t.startOf(f, 'isoWeek', l)), f = +t.startOf(f, c ? 'day' : o), t.diff(i, n, o) > 1e5 * s) throw new Error( n + ' and ' + i + ' are too far apart with stepSize of ' + s + ' ' + o); const p = 'data' === a.ticks.source && e.getDataTimestamps(); for (d = f, h = 0; d < i; d = +t.add(d, s, o), h++) Zr(u, d, p); return d !== i && 'ticks' !== a.bounds && 1 !== h || Zr(u, d, p), Object.keys(u). sort(((e, t) => e - t)). map((e => +e)); } getLabelForValue (e) { const t = this._adapter, n = this.options.time; return n.tooltipFormat ? t.format(e, n.tooltipFormat) : t.format(e, n.displayFormats.datetime); } _tickFormatFunction (e, t, n, i) { const a = this, r = a.options, o = r.time.displayFormats, s = a._unit, l = a._majorUnit, c = s && o[s], u = l && o[l], d = n[t], h = l && u && d && d.major, f = a._adapter.format(e, i || (h ? u : c)), p = r.ticks.callback; return p ? J(p, [f, t, n], a) : f; } generateTickLabels (e) { let t, n, i; for (t = 0, n = e.length; t < n; ++t) i = e[t], i.label = this._tickFormatFunction(i.value, t, e); } getDecimalForValue (e) { const t = this; return null === e ? NaN : (e - t.min) / (t.max - t.min); } getPixelForValue (e) { const t = this, n = t._offsets, i = t.getDecimalForValue(e); return t.getPixelForDecimal((n.start + i) * n.factor); } getValueForPixel (e) { const t = this, n = t._offsets, i = t.getDecimalForPixel(e) / n.factor - n.end; return t.min + i * (t.max - t.min); } _getLabelSize (e) { const t = this, n = t.options.ticks, i = t.ctx.measureText(e).width, a = Pe(t.isHorizontal() ? n.maxRotation : n.minRotation), r = Math.cos(a), o = Math.sin(a), s = t._resolveTickFontOptions(0).size; return { w: i * r + s * o, h: i * o + s * r }; } _getLabelCapacity (e) { const t = this, n = t.options.time, i = n.displayFormats, a = i[n.unit] || i.millisecond, r = t._tickFormatFunction(e, 0, Kr(t, [e], t._majorUnit), a), o = t._getLabelSize(r), s = Math.floor( t.isHorizontal() ? t.width / o.w : t.height / o.h) - 1; return s > 0 ? s : 1; } getDataTimestamps () { const e = this; let t, n, i = e._cache.data || []; if (i.length) return i; const a = e.getMatchingVisibleMetas(); if (e._normalized && a.length) return e._cache.data = a[0].controller.getAllParsedValues( e); for (t = 0, n = a.length; t < n; ++t) i = i.concat( a[t].controller.getAllParsedValues(e)); return e._cache.data = e.normalize(i); } getLabelTimestamps () { const e = this, t = e._cache.labels || []; let n, i; if (t.length) return t; const a = e.getLabels(); for (n = 0, i = a.length; n < i; ++n) t.push($r(e, a[n])); return e._cache.labels = e._normalized ? t : e.normalize(t); } normalize (e) {return ut(e.sort(Xr));} } function Qr (e, t, n) { let i, a, r, o; if (n) i = Math.floor(t), a = Math.ceil( t), r = e[i], o = e[a]; else { const n = it(e, t); r = n.lo, o = n.hi, i = e[r], a = e[o]; } const s = a - i; return s ? r + (o - r) * (t - i) / s : r; } Jr.id = 'time', Jr.defaults = { bounds: 'data', adapters: {}, time: { parser: !1, unit: !1, round: !1, isoWeekday: !1, minUnit: 'millisecond', displayFormats: {}, }, ticks: { source: 'auto', major: { enabled: !1 } }, }; class eo extends Jr { constructor (e) { super(e), this._table = [], this._maxIndex = void 0; } initOffsets () { const e = this, t = e._getTimestampsForTable(); e._table = e.buildLookupTable( t), e._maxIndex = e._table.length - 1, super.initOffsets(t); } buildLookupTable (e) { const { min: t, max: n } = this; if (!e.length) return [ { time: t, pos: 0 }, { time: n, pos: 1 }]; const i = [t]; let a, r, o; for (a = 0, r = e.length; a < r; ++a) o = e[a], o > t && o < n && i.push(o); return i.push(n), i; } _getTimestampsForTable () { const e = this; let t = e._cache.all || []; if (t.length) return t; const n = e.getDataTimestamps(), i = e.getLabelTimestamps(); return t = n.length && i.length ? e.normalize(n.concat(i)) : n.length ? n : i, t = e._cache.all = t, t; } getPixelForValue (e, t) { const n = this, i = n._offsets, a = n._normalized && n._maxIndex > 0 && !V(t) ? t / n._maxIndex : n.getDecimalForValue(e); return n.getPixelForDecimal((i.start + a) * i.factor); } getDecimalForValue (e) {return Qr(this._table, e) / this._maxIndex;} getValueForPixel (e) { const t = this, n = t._offsets, i = t.getDecimalForPixel(e) / n.factor - n.end; return Qr(t._table, i * this._maxIndex, !0); } } eo.id = 'timeseries', eo.defaults = Jr.defaults; var to = Object.freeze({ __proto__: null, CategoryScale: Or, LinearScale: Ir, LogarithmicScale: Nr, RadialLinearScale: Vr, TimeScale: Jr, TimeSeriesScale: eo, }); return ea.register(ya, to, qa, Cr), ea.helpers = { ...Di }, ea._adapters = ra, ea.Animation = xn, ea.Animations = wn, ea.animator = o, ea.controllers = Ei.controllers.items, ea.DatasetController = Pn, ea.Element = In, ea.elements = qa, ea.Interaction = Dt, ea.layouts = Zt, ea.platforms = fn, ea.Scale = $n, ea.Ticks = Fn, Object.assign( ea, ya, to, qa, Cr, fn), ea.Chart = ea, 'undefined' != typeof window && (window.Chart = ea), ea; })), function (e, t) { 'object' == typeof exports && 'undefined' != typeof module ? t(exports) : 'function' == typeof define && define.amd ? define(['exports'], t) : t((e = e || self).countUp = {}); }(this, (function (e) { 'use strict'; var t = function () { return (t = Object.assign || function (e) { for (var t, n = 1, i = arguments.length; n < i; n++) for (var a in t = arguments[n]) Object.prototype.hasOwnProperty.call( t, a) && (e[a] = t[a]); return e; }).apply(this, arguments); }, n = function () { function e (e, n, i) { var a = this; this.target = e, this.endVal = n, this.options = i, this.version = '2.0.7', this.defaults = { startVal: 0, decimalPlaces: 0, duration: 2, useEasing: !0, useGrouping: !0, smartEasingThreshold: 999, smartEasingAmount: 333, separator: ',', decimal: '.', prefix: '', suffix: '', }, this.finalEndVal = null, this.useEasing = !0, this.countDown = !1, this.error = '', this.startVal = 0, this.paused = !0, this.count = function (e) { a.startTime || (a.startTime = e); var t = e - a.startTime; a.remaining = a.duration - t, a.useEasing ? a.countDown ? a.frameVal = a.startVal - a.easingFn(t, 0, a.startVal - a.endVal, a.duration) : a.frameVal = a.easingFn(t, a.startVal, a.endVal - a.startVal, a.duration) : a.countDown ? a.frameVal = a.startVal - (a.startVal - a.endVal) * (t / a.duration) : a.frameVal = a.startVal + (a.endVal - a.startVal) * (t / a.duration), a.countDown ? a.frameVal = a.frameVal < a.endVal ? a.endVal : a.frameVal : a.frameVal = a.frameVal > a.endVal ? a.endVal : a.frameVal, a.frameVal = Number( a.frameVal.toFixed(a.options.decimalPlaces)), a.printValue( a.frameVal), t < a.duration ? a.rAF = requestAnimationFrame( a.count) : null !== a.finalEndVal ? a.update(a.finalEndVal) : a.callback && a.callback(); }, this.formatNumber = function (e) { var t, n, i, r, o, s = e < 0 ? '-' : ''; if (t = Math.abs(e). toFixed(a.options.decimalPlaces), i = (n = (t += '').split( '.'))[0], r = n.length > 1 ? a.options.decimal + n[1] : '', a.options.useGrouping) { o = ''; for (var l = 0, c = i.length; l < c; ++l) 0 !== l && l % 3 == 0 && (o = a.options.separator + o), o = i[c - l - 1] + o; i = o; } return a.options.numerals && a.options.numerals.length && (i = i.replace(/[0-9]/g, (function (e) {return a.options.numerals[+e];})), r = r.replace( /[0-9]/g, (function (e) {return a.options.numerals[+e];}))), s + a.options.prefix + i + r + a.options.suffix; }, this.easeOutExpo = function (e, t, n, i) { return n * (1 - Math.pow(2, -10 * e / i)) * 1024 / 1023 + t; }, this.options = t(t({}, this.defaults), i), this.formattingFn = this.options.formattingFn ? this.options.formattingFn : this.formatNumber, this.easingFn = this.options.easingFn ? this.options.easingFn : this.easeOutExpo, 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 = 'string' == typeof e ? document.getElementById(e) : e, this.el ? this.printValue(this.startVal) : this.error = '[CountUp] target is null or undefined'; } return e.prototype.determineDirectionAndSmartEasing = function () { var e = this.finalEndVal ? this.finalEndVal : this.endVal; this.countDown = this.startVal > e; var t = e - this.startVal; if (Math.abs(t) > this.options.smartEasingThreshold) { this.finalEndVal = e; var n = this.countDown ? 1 : -1; this.endVal = e + n * this.options.smartEasingAmount, this.duration = this.duration / 2; } else this.endVal = e, this.finalEndVal = null; this.finalEndVal ? this.useEasing = !1 : this.useEasing = this.options.useEasing; }, e.prototype.start = function (e) { this.error || (this.callback = e, this.duration > 0 ? (this.determineDirectionAndSmartEasing(), this.paused = !1, this.rAF = requestAnimationFrame( this.count)) : this.printValue(this.endVal)); }, e.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; }, e.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); }, e.prototype.update = function (e) { cancelAnimationFrame( this.rAF), this.startTime = null, this.endVal = this.validateValue( e), this.endVal !== this.frameVal && (this.startVal = this.frameVal, this.finalEndVal || this.resetDuration(), this.finalEndVal = null, this.determineDirectionAndSmartEasing(), this.rAF = requestAnimationFrame( this.count)); }, e.prototype.printValue = function (e) { var t = this.formattingFn(e); 'INPUT' === this.el.tagName ? this.el.value = t : 'text' === this.el.tagName || 'tspan' === this.el.tagName ? this.el.textContent = t : this.el.innerHTML = t; }, e.prototype.ensureNumber = function (e) { return 'number' == typeof e && !isNaN(e); }, e.prototype.validateValue = function (e) { var t = Number(e); return this.ensureNumber(t) ? t : (this.error = '[CountUp] invalid start or end value: ' + e, null); }, e.prototype.resetDuration = function () { this.startTime = null, this.duration = 1e3 * Number(this.options.duration), this.remaining = this.duration; }, e; }(); e.CountUp = n, Object.defineProperty(e, '__esModule', { value: !0 }); })), function (e) { function t () { for (var e = 0; e < w.length; e++) w[e][0](w[e][1]); w = [], m = !1; } function n (e, n) {w.push([e, n]), m || (m = !0, _(t, 0));} function i (e) { var t = (n = e.owner).state_, n = n.data_, i = e[t]; if (e = e.then, 'function' == typeof i) { t = y; try {n = i(n);} catch (t) {s(e, t);} } a(e, n) || (t === y && r(e, n), t === b && s(e, n)); } function a (e, t) { var n; try { if (e === t) throw new TypeError( 'A promises callback cannot return that same promise.'); if (t && ('function' == typeof t || 'object' == typeof t)) { var i = t.then; if ('function' == typeof i) return i.call(t, (function (i) { n || (n = !0, t !== i ? r(e, i) : o(e, i)); }), (function (t) {n || (n = !0, s(e, t));})), !0; } } catch (t) {return n || s(e, t), !0;} return !1; } function r (e, t) {e !== t && a(e, t) || o(e, t);} function o (e, t) {e.state_ === g && (e.state_ = v, e.data_ = t, n(c, e));} function s (e, t) {e.state_ === g && (e.state_ = v, e.data_ = t, n(u, e));} function l (e) { var t = e.then_; for (e.then_ = void 0, e = 0; e < t.length; e++) i(t[e]); } function c (e) {e.state_ = y, l(e);} function u (e) {e.state_ = b, l(e);} function d (e) { if ('function' != typeof e) throw new TypeError( 'Promise constructor takes a function argument'); if (!1 == this instanceof d) throw new TypeError( 'Failed to construct \'Promise\': Please use the \'new\' operator, this object constructor cannot be called as a function.'); this.then_ = [], function (e, t) { function n (e) {s(t, e);} try {e((function (e) {r(t, e);}), n);} catch (e) {n(e);} }(e, this); } var h, f = e.Promise, p = f && 'resolve' in f && 'reject' in f && 'all' in f && 'race' in f && (new f((function (e) {h = e;})), 'function' == typeof h); 'undefined' != typeof exports && exports ? (exports.Promise = p ? f : d, exports.Polyfill = d) : 'function' == typeof define && define.amd ? define((function () {return p ? f : d;})) : p || (e.Promise = d); var m, g = 'pending', v = 'sealed', y = 'fulfilled', b = 'rejected', x = function () {}, _ = 'undefined' != typeof setImmediate ? setImmediate : setTimeout, w = []; d.prototype = { constructor: d, state_: g, then_: null, data_: void 0, then: function (e, t) { var a = { owner: this, then: new this.constructor(x), fulfilled: e, rejected: t, }; return this.state_ === y || this.state_ === b ? n(i, a) : this.then_.push(a), a.then; }, catch: function (e) {return this.then(null, e);}, }, d.all = function (e) { if ('[object Array]' !== Object.prototype.toString.call(e)) throw new TypeError( 'You must pass an array to Promise.all().'); return new this((function (t, n) { function i (e) { return o++, function (n) { r[e] = n, --o || t(r); }; } for (var a, r = [], o = 0, s = 0; s < e.length; s++) (a = e[s]) && 'function' == typeof a.then ? a.then(i(s), n) : r[s] = a; o || t(r); })); }, d.race = function (e) { if ('[object Array]' !== Object.prototype.toString.call(e)) throw new TypeError( 'You must pass an array to Promise.race().'); return new this((function (t, n) { for (var i, a = 0; a < e.length; a++) (i = e[a]) && 'function' == typeof i.then ? i.then(t, n) : t(i); })); }, d.resolve = function (e) { return e && 'object' == typeof e && e.constructor === this ? e : new this((function (t) {t(e);})); }, d.reject = function (e) {return new this((function (t, n) {n(e);}));}; }('undefined' != typeof window ? window : 'undefined' != typeof global ? global : 'undefined' != typeof self ? self : this), function (e, t) { 'object' == typeof exports && 'undefined' != typeof module ? module.exports = t() : 'function' == typeof define && define.amd ? define(t) : (e = e || self).Sweetalert2 = t(); }(this, (function () { 'use strict'; function e (t) { return (e = '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; })(t); } function t (e, t) { if (!(e instanceof t)) throw new TypeError( 'Cannot call a class as a function'); } function n (e, t) { for (var n = 0; n < t.length; n++) { var i = t[n]; i.enumerable = i.enumerable || !1, i.configurable = !0, 'value' in i && (i.writable = !0), Object.defineProperty(e, i.key, i); } } function i (e, t, i) {return t && n(e.prototype, t), i && n(e, i), e;} function a () { return (a = Object.assign || function (e) { for (var t = 1; t < arguments.length; t++) { var n, i = arguments[t]; for (n in i) Object.prototype.hasOwnProperty.call(i, n) && (e[n] = i[n]); } return e; }).apply(this, arguments); } function r (e) { return (r = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {return e.__proto__ || Object.getPrototypeOf(e);})( e); } function o (e, t) { return (o = Object.setPrototypeOf || function (e, t) {return e.__proto__ = t, e;})(e, t); } function s () { if ('undefined' == typeof Reflect || !Reflect.construct) return !1; if (Reflect.construct.sham) return !1; if ('function' == typeof Proxy) return !0; try { return Boolean.prototype.valueOf.call( Reflect.construct(Boolean, [], (function () {}))), !0; } catch (e) {return !1;} } function l (e, t, n) { return (l = s() ? Reflect.construct : function ( e, t, n) { var i = [null]; return i.push.apply(i, t), i = new (Function.bind.apply(e, i)), n && o(i, n.prototype), i; }).apply(null, arguments); } function c (e, t) { return !t || 'object' != typeof t && 'function' != typeof t ? function (e) { if (void 0 === e) throw new ReferenceError( 'this hasn\'t been initialised - super() hasn\'t been called'); return e; }(e) : t; } function u (e, t, n) { return (u = 'undefined' != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, n) { if (e = function ( e, t) { for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = r(e));) ; return e; }(e, t)) return (t = Object.getOwnPropertyDescriptor(e, t)).get ? t.get.call(n) : t.value; })(e, t, n || e); } function d (e) {return e.charAt(0).toUpperCase() + e.slice(1);} function h (e) {return Object.keys(e).map((function (t) {return e[t];}));} function f (e) {return Array.prototype.slice.call(e);} function p (e, t) { t = '"'.concat(e, '" is deprecated and will be removed in the next major release. Please use "'). concat(t, '" instead.'), -1 === X.indexOf(t) && (X.push(t), q(t)); } function m (e) {return e && 'function' == typeof e.toPromise;} function g (e) {return m(e) ? e.toPromise() : Promise.resolve(e);} function v (e) {return e && Promise.resolve(e) === e;} function y (t) { return t instanceof Element || 'object' === e(t = t) && t.jquery; } function b () {return document.body.querySelector('.'.concat(Z.container));} function x (e) { var t = b(); return t ? t.querySelector(e) : null; } function _ (e) {return x('.'.concat(e));} function w () {return _(Z.popup);} function k () {return _(Z.icon);} function M () {return _(Z.title);} function L () {return _(Z.content);} function S () {return _(Z['html-container']);} function T () {return _(Z.image);} function A () {return _(Z['progress-steps']);} function D () {return _(Z['validation-message']);} function C () {return x('.'.concat(Z.actions, ' .').concat(Z.confirm));} function E () {return x('.'.concat(Z.actions, ' .').concat(Z.deny));} function O () {return x('.'.concat(Z.loader));} function Y () {return x('.'.concat(Z.actions, ' .').concat(Z.cancel));} function P () {return _(Z.actions);} function I () {return _(Z.header);} function j () {return _(Z.footer);} function N () {return _(Z['timer-progress-bar']);} function H () {return _(Z.close);} function F () { var e = f(w(). querySelectorAll( '[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')). sort((function (e, t) { return e = parseInt(e.getAttribute('tabindex')), (t = parseInt( t.getAttribute('tabindex'))) < e ? 1 : e < t ? -1 : 0; })), t = f(w(). 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')). filter( (function (e) {return '-1' !== e.getAttribute('tabindex');})); return function (e) { for (var t = [], n = 0; n < e.length; n++) -1 === t.indexOf(e[n]) && t.push(e[n]); return t; }(e.concat(t)).filter((function (e) {return ye(e);})); } function R () { return !J() && !document.body.classList.contains(Z['no-backdrop']); } function z (e, t) { e.textContent = '', t && (f((t = (new DOMParser).parseFromString(t, 'text/html')).querySelector( 'head').childNodes).forEach((function (t) {e.appendChild(t);})), f( t.querySelector('body').childNodes). forEach((function (t) {e.appendChild(t);}))); } function B (e, t) { if (t) { for (var n = t.split(/\s+/), i = 0; i < n.length; i++) if (!e.classList.contains(n[i])) return; return 1; } } function W (t, n, i) { var a, r; if (r = n, f((a = t).classList). forEach((function (e) { -1 === h(Z).indexOf(e) && -1 === h(K).indexOf(e) && -1 === h(r.showClass).indexOf(e) && a.classList.remove(e); })), n.customClass && n.customClass[i]) { if ('string' != typeof n.customClass[i] && !n.customClass[i].forEach) return q( 'Invalid type of customClass.'.concat(i, '! Expected string or iterable object, got "'). concat(e(n.customClass[i]), '"')); me(t, n.customClass[i]); } } var V = 'SweetAlert2:', q = function (t) { console.warn( ''.concat(V, ' ').concat('object' === e(t) ? t.join(' ') : t)); }, U = function (e) {console.error(''.concat(V, ' ').concat(e));}, X = [], $ = function (e) {return 'function' == typeof e ? e() : e;}, G = Object.freeze({ cancel: 'cancel', backdrop: 'backdrop', close: 'close', esc: 'esc', timer: 'timer', }), Z = (en = function (e) { var t, n = {}; for (t in e) n[e[t]] = 'swal2-' + e[t]; return n; })([ 'container', 'shown', 'height-auto', 'iosfix', 'popup', 'modal', 'no-backdrop', 'no-transition', 'toast', 'toast-shown', 'show', 'hide', 'close', 'title', 'header', 'content', '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']), K = en(['success', 'warning', 'info', 'question', 'error']), J = function () { return document.body.classList.contains(Z['toast-shown']); }, Q = { previousBodyPadding: null }; function ee (e, t) { if (!t) return null; switch (t) { case'select': case'textarea': case'file': return ve(e, Z[t]); case'checkbox': return e.querySelector('.'.concat(Z.checkbox, ' input')); case'radio': return e.querySelector('.'.concat(Z.radio, ' input:checked')) || e.querySelector('.'.concat(Z.radio, ' input:first-child')); case'range': return e.querySelector('.'.concat(Z.range, ' input')); default: return ve(e, Z.input); } } function te (e) { var t; e.focus(), 'file' !== e.type && (t = e.value, e.value = '', e.value = t); } function ne (e, t, n) { e && t && (t = 'string' == typeof t ? t.split(/\s+/).filter(Boolean) : t).forEach( (function (t) { e.forEach ? e.forEach((function (e) { n ? e.classList.add(t) : e.classList.remove(t); })) : n ? e.classList.add(t) : e.classList.remove(t); })); } function ie (e, t, n) { (n = n === ''.concat(parseInt(n)) ? parseInt(n) : n) || 0 === parseInt(n) ? e.style[t] = 'number' == typeof n ? ''.concat(n, 'px') : n : e.style.removeProperty(t); } function ae (e) { e.style.display = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : 'flex'; } function re (e) {e.style.display = 'none';} function oe (e, t, n, i) {(t = e.querySelector(t)) && (t.style[n] = i);} function se (e, t, n) {t ? ae(e, n) : re(e);} function le (e) {return !!(e.scrollHeight > e.clientHeight);} function ce (e) { var t = window.getComputedStyle(e); e = parseFloat( t.getPropertyValue('animation-duration') || '0'), t = parseFloat( t.getPropertyValue('transition-duration') || '0'); return 0 < e || 0 < t; } function ue (e) { var t = 1 < arguments.length && void 0 !== arguments[1] && arguments[1], n = N(); ye(n) && (t && (n.style.transition = 'none', n.style.width = '100%'), setTimeout( (function () { n.style.transition = 'width '.concat(e / 1e3, 's linear'), n.style.width = '0%'; }), 10)); } function de () { return 'undefined' == typeof window || 'undefined' == typeof document; } function he (e) { nn.isVisible() && pe !== e.target.value && nn.resetValidationMessage(), pe = e.target.value; } function fe (t, n) { t instanceof HTMLElement ? n.appendChild(t) : 'object' === e(t) ? xe(t, n) : t && z(n, t); } var pe, me = function (e, t) {ne(e, t, !0);}, ge = function (e, t) {ne(e, t, !1);}, ve = function (e, t) { for (var n = 0; n < e.childNodes.length; n++) if (B(e.childNodes[n], t)) return e.childNodes[n]; }, ye = function (e) { return !(!e || !(e.offsetWidth || e.offsetHeight || e.getClientRects().length)); }, be = '\n <div aria-labelledby="'.concat(Z.title, '" aria-describedby="'). concat(Z.content, '" class="'). concat(Z.popup, '" tabindex="-1">\n <div class="'). concat(Z.header, '">\n <ul class="'). concat(Z['progress-steps'], '"></ul>\n <div class="'). concat(Z.icon, '"></div>\n <img class="'). concat(Z.image, '" />\n <h2 class="'). concat(Z.title, '" id="'). concat(Z.title, '"></h2>\n <button type="button" class="'). concat(Z.close, '"></button>\n </div>\n <div class="'). concat(Z.content, '">\n <div id="'). concat(Z.content, '" class="'). concat(Z['html-container'], '"></div>\n <input class="'). concat(Z.input, '" />\n <input type="file" class="'). concat(Z.file, '" />\n <div class="'). concat(Z.range, '">\n <input type="range" />\n <output></output>\n </div>\n <select class="'). concat(Z.select, '"></select>\n <div class="'). concat(Z.radio, '"></div>\n <label for="'). concat(Z.checkbox, '" class="'). concat(Z.checkbox, '">\n <input type="checkbox" />\n <span class="'). concat(Z.label, '"></span>\n </label>\n <textarea class="'). concat(Z.textarea, '"></textarea>\n <div class="'). concat(Z['validation-message'], '" id="'). concat(Z['validation-message'], '"></div>\n </div>\n <div class="'). concat(Z.actions, '">\n <div class="'). concat(Z.loader, '"></div>\n <button type="button" class="'). concat(Z.confirm, '"></button>\n <button type="button" class="'). concat(Z.deny, '"></button>\n <button type="button" class="'). concat(Z.cancel, '"></button>\n </div>\n <div class="'). concat(Z.footer, '"></div>\n <div class="'). concat(Z['timer-progress-bar-container'], '">\n <div class="'). concat(Z['timer-progress-bar'], '"></div>\n </div>\n </div>\n'). replace(/(^|\n)\s*/g, ''), xe = function (e, t) {e.jquery ? _e(t, e) : z(t, e.toString());}, _e = function (e, t) { if (e.textContent = '', 0 in t) for (var n = 0; n in t; n++) e.appendChild(t[n].cloneNode(!0)); else e.appendChild( t.cloneNode(!0)); }, we = function () { if (de()) return !1; var e, t = document.createElement('div'), n = { WebkitAnimation: 'webkitAnimationEnd', OAnimation: 'oAnimationEnd oanimationend', animation: 'animationend', }; for (e in n) if (Object.prototype.hasOwnProperty.call(n, e) && void 0 !== t.style[e]) return n[e]; return !1; }(); function ke (e, t, n) { se(e, n['show'.concat(d(t), 'Button')], 'inline-block'), z(e, n[''.concat(t, 'ButtonText')]), e.setAttribute('aria-label', n[''.concat(t, 'ButtonAriaLabel')]), e.className = Z[t], W(e, n, ''.concat(t, 'Button')), me(e, n[''.concat(t, 'ButtonClass')]); } function Me (e, t) { e.placeholder && !t.inputPlaceholder || (e.placeholder = t.inputPlaceholder); } function Le (e, t, n) { var i, a; n.inputLabel && (e.id = Z.input, i = document.createElement( 'label'), a = Z['input-label'], i.setAttribute('for', e.id), i.className = a, me(i, n.customClass.inputLabel), i.innerText = n.inputLabel, t.insertAdjacentElement( 'beforebegin', i)); } var Se = { promise: new WeakMap, innerParams: new WeakMap, domCache: new WeakMap, }, Te = [ 'input', 'file', 'range', 'select', 'radio', 'checkbox', 'textarea'], Ae = function (e) {return e = Z[e] || Z.input, ve(L(), e);}, De = {}; function Ce (e, t) { var n, i, a, r = S(); W(r, t, 'htmlContainer'), t.html ? (fe(t.html, r), ae(r, 'block')) : t.text ? (r.textContent = t.text, ae(r, 'block')) : re( r), e = e, n = t, i = L(), e = Se.innerParams.get(e), a = !e || n.input !== e.input, Te.forEach((function (e) { var t = Z[e], r = ve(i, t); (function (e, t) { var n = ee(L(), e); if (n) for (var i in function (e) { for (var t = 0; t < e.attributes.length; t++) { var n = e.attributes[t].name; -1 === ['type', 'value', 'style'].indexOf(n) && e.removeAttribute(n); } }(n), t) 'range' === e && 'placeholder' === i || n.setAttribute(i, t[i]); })(e, n.inputAttributes), r.className = t, a && re(r); })), n.input && (a && function (e) { if (!De[e.input]) return U( 'Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "'.concat( e.input, '"')); var t = Ae(e.input), n = De[e.input](t, e); ae(n), setTimeout((function () {te(n);})); }(n), function (e) { var t = Ae(e.input); e.customClass && me(t, e.customClass.input); }(n)), W(L(), t, 'content'); } function Ee () {return b() && b().getAttribute('data-queue-step');} function Oe (e, t) { var n = A(); if (!t.progressSteps || 0 === t.progressSteps.length) return re(n), 0; ae(n), n.textContent = ''; var i = parseInt( void 0 === t.currentProgressStep ? Ee() : t.currentProgressStep); i >= t.progressSteps.length && q('Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)'), t.progressSteps.forEach( (function (e, a) { var r; r = e, e = document.createElement('li'), me(e, Z['progress-step']), z(e, r), e = e; n.appendChild(e), a === i && me(e, Z['active-progress-step']), a !== t.progressSteps.length - 1 && (e = t, a = document.createElement('li'), me(a, Z['progress-step-line']), e.progressStepsDistance && (a.style.width = e.progressStepsDistance), n.appendChild(a)); })); } function Ye (e, t) { var n, i, a; a = t, n = b(), i = w(), a.toast ? (ie(n, 'width', a.width), i.style.width = '100%') : ie(i, 'width', a.width), ie(i, 'padding', a.padding), a.background && (i.style.background = a.background), re(D()), ze(i, a), function ( e, t) { var n, i, a = b(); a && (i = a, 'string' == typeof (n = t.backdrop) ? i.style.background = n : n || me([document.documentElement, document.body], Z['no-backdrop']), !t.backdrop && t.allowOutsideClick && q('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`'), i = a, (n = t.position) in Z ? me(i, Z[n]) : (q( 'The "position" parameter is not valid, defaulting to "center"'), me( i, Z.center)), n = a, !(i = t.grow) || 'string' != typeof i || (i = 'grow-'.concat(i)) in Z && me(n, Z[i]), W(a, t, 'container'), (t = document.body.getAttribute( 'data-swal2-queue-step')) && (a.setAttribute('data-queue-step', t), document.body.removeAttribute('data-swal2-queue-step'))); }(0, t), function (e, t) { var n, i = I(); W(i, t, 'header'), Oe(0, t), n = e, i = t, e = Se.innerParams.get( n), n = k(), e && i.icon === e.icon ? (Ne(n, i), Ie(n, i)) : i.icon || i.iconHtml ? i.icon && -1 === Object.keys(K).indexOf(i.icon) ? (U( 'Unknown icon! Expected "success", "error", "warning", "info" or "question", got "'.concat( i.icon, '"')), re(n)) : (ae(n), Ne(n, i), Ie(n, i), me( n, i.showClass.icon)) : re(n), function (e) { var t = T(); if (!e.imageUrl) return re(t); ae(t, ''), t.setAttribute('src', e.imageUrl), t.setAttribute( 'alt', e.imageAlt), ie(t, 'width', e.imageWidth), ie(t, 'height', e.imageHeight), t.className = Z.image, W(t, e, 'image'); }(t), i = t, se(n = M(), i.title || i.titleText, 'block'), i.title && fe(i.title, n), i.titleText && (n.innerText = i.titleText), W(n, i, 'title'), i = t, z(t = H(), i.closeButtonHtml), W(t, i, 'closeButton'), se(t, i.showCloseButton), t.setAttribute('aria-label', i.closeButtonAriaLabel); }(e, t), Ce(e, t), function (e, t) { var n = P(), i = O(), a = C(), r = E(), o = Y(); t.showConfirmButton || t.showDenyButton || t.showCancelButton || re(n), W(n, t, 'actions'), ke(a, 'confirm', t), ke(r, 'deny', t), ke(o, 'cancel', t), function ( e, t, n, i) { if (!i.buttonsStyling) return ge([e, t, n], Z.styled); me([e, t, n], Z.styled), i.confirmButtonColor && (e.style.backgroundColor = i.confirmButtonColor), i.denyButtonColor && (t.style.backgroundColor = i.denyButtonColor), i.cancelButtonColor && (n.style.backgroundColor = i.cancelButtonColor); }(a, r, o, t), t.reverseButtons && (n.insertBefore(o, i), n.insertBefore(r, i), n.insertBefore(a, i)), z(i, t.loaderHtml), W(i, t, 'loader'); }(0, t), a = t, se(e = j(), a.footer), a.footer && fe(a.footer, e), W(e, a, 'footer'), 'function' == typeof t.didRender ? t.didRender(w()) : 'function' == typeof t.onRender && t.onRender(w()); } function Pe () {return C() && C().click();} De.text = De.email = De.password = De.number = De.tel = De.url = function ( t, n) { return 'string' == typeof n.inputValue || 'number' == typeof n.inputValue ? t.value = n.inputValue : v(n.inputValue) || q('Unexpected type of inputValue! Expected "string", "number" or "Promise", got "'.concat( e(n.inputValue), '"')), Le(t, t, n), Me(t, n), t.type = n.input, t; }, De.file = function (e, t) { return Le(e, e, t), Me(e, t), e; }, De.range = function (e, t) { var n = e.querySelector('input'), i = e.querySelector('output'); return n.value = t.inputValue, n.type = t.input, i.value = t.inputValue, Le( n, e, t), e; }, De.select = function (e, t) { var n; return e.textContent = '', t.inputPlaceholder && (z(n = document.createElement('option'), t.inputPlaceholder), n.value = '', n.disabled = !0, n.selected = !0, e.appendChild( n)), Le(e, e, t), e; }, De.radio = function (e) {return e.textContent = '', e;}, De.checkbox = function ( e, t) { var n = ee(L(), 'checkbox'); return n.value = 1, n.id = Z.checkbox, n.checked = Boolean( t.inputValue), z(n = e.querySelector('span'), t.inputPlaceholder), e; }, De.textarea = function (e, t) { function n (e) { return parseInt(window.getComputedStyle(e).paddingLeft) + parseInt(window.getComputedStyle(e).paddingRight); } var i; return e.value = t.inputValue, Me(e, t), Le(e, e, t), 'MutationObserver' in window && (i = parseInt(window.getComputedStyle(w()).width), new MutationObserver( (function () { var t = e.offsetWidth + n(w()) + n(L()); w().style.width = i < t ? ''.concat(t, 'px') : null; })).observe(e, { attributes: !0, attributeFilter: ['style'] })), e; }; var Ie = function (e, t) { for (var n in K) t.icon !== n && ge(e, K[n]); me(e, K[t.icon]), He(e, t), je(), W(e, t, 'icon'); }, je = function () { for (var e = w(), t = window.getComputedStyle(e). getPropertyValue('background-color'), n = e.querySelectorAll( '[class^=swal2-success-circular-line], .swal2-success-fix'), i = 0; i < n.length; i++) n[i].style.backgroundColor = t; }, Ne = function (e, t) { e.textContent = '', t.iconHtml ? z(e, Fe(t.iconHtml)) : 'success' === t.icon ? z(e, '\n <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> <div class="swal2-success-fix"></div>\n <div class="swal2-success-circular-line-right"></div>\n ') : 'error' === t.icon ? z(e, '\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 ') : z(e, Fe({ question: '?', warning: '!', info: 'i' }[t.icon])); }, He = function (e, t) { if (t.iconColor) { e.style.color = t.iconColor, e.style.borderColor = t.iconColor; for (var n = 0, i = [ '.swal2-success-line-tip', '.swal2-success-line-long', '.swal2-x-mark-line-left', '.swal2-x-mark-line-right']; n < i.length; n++) oe(e, i[n], 'backgroundColor', t.iconColor); oe(e, '.swal2-success-ring', 'borderColor', t.iconColor); } }, Fe = function (e) { return '<div class="'.concat(Z['icon-content'], '">'). concat(e, '</div>'); }, Re = [], ze = function (e, t) { e.className = ''.concat(Z.popup, ' '). concat(ye(e) ? t.showClass.popup : ''), t.toast ? (me( [document.documentElement, document.body], Z['toast-shown']), me(e, Z.toast)) : me(e, Z.modal), W(e, t, 'popup'), 'string' == typeof t.customClass && me(e, t.customClass), t.icon && me(e, Z['icon-'.concat(t.icon)]); }; function Be (e) { (t = w()) || nn.fire(); var t = w(), n = P(), i = O(); !e && ye(C()) && (e = C()), ae(n), e && (re(e), i.setAttribute('data-button-to-replace', e.className)), i.parentNode.insertBefore(i, e), me([t, n], Z.loading), ae(i), t.setAttribute('data-loading', !0), t.setAttribute('aria-busy', !0), t.focus(); } function We () { if (qe.timeout) return function () { var e = N(), t = parseInt(window.getComputedStyle(e).width); e.style.removeProperty('transition'), e.style.width = '100%'; var n = parseInt(window.getComputedStyle(e).width); n = parseInt(t / n * 100); e.style.removeProperty('transition'), e.style.width = ''.concat(n, '%'); }(), qe.timeout.stop(); } function Ve () { if (qe.timeout) { var e = qe.timeout.start(); return ue(e), e; } } var qe = {}, Ue = !1, Xe = {}; function $e (e) { for (var t = e.target; t && t !== document; t = t.parentNode) for (var n in Xe) { var i = t.getAttribute(n); if (i) return void Xe[n].fire({ template: i }); } } function Ge (e) {return Object.prototype.hasOwnProperty.call(Je, e);} function Ze (e) {return et[e];} function Ke (e) { for (var t in e) Ge(n = t) || q('Unknown parameter "'.concat(n, '"')), e.toast && (n = t, -1 !== tt.indexOf(n) && q('The parameter "'.concat(n, '" is incompatible with toasts'))), Ze( t = t) && p(t, Ze(t)); var n; } var Je = { title: '', titleText: '', text: '', html: '', footer: '', icon: void 0, iconColor: void 0, iconHtml: void 0, template: void 0, toast: !1, animation: !0, 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', 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: {}, inputAutoTrim: !0, inputAttributes: {}, inputValidator: void 0, returnInputValueOnDeny: !1, validationMessage: void 0, grow: !1, position: 'center', progressSteps: [], currentProgressStep: void 0, progressStepsDistance: void 0, onBeforeOpen: void 0, onOpen: void 0, willOpen: void 0, didOpen: void 0, onRender: void 0, didRender: void 0, onClose: void 0, onAfterClose: void 0, willClose: void 0, didClose: void 0, onDestroy: void 0, didDestroy: void 0, scrollbarPadding: !0, }, Qe = [ 'allowEscapeKey', 'allowOutsideClick', 'background', 'buttonsStyling', 'cancelButtonAriaLabel', 'cancelButtonColor', 'cancelButtonText', 'closeButtonAriaLabel', 'closeButtonHtml', 'confirmButtonAriaLabel', 'confirmButtonColor', 'confirmButtonText', 'currentProgressStep', 'customClass', 'denyButtonAriaLabel', 'denyButtonColor', 'denyButtonText', 'didClose', 'didDestroy', 'footer', 'hideClass', 'html', 'icon', 'iconColor', 'iconHtml', 'imageAlt', 'imageHeight', 'imageUrl', 'imageWidth', 'onAfterClose', 'onClose', 'onDestroy', 'progressSteps', 'returnFocus', 'reverseButtons', 'showCancelButton', 'showCloseButton', 'showConfirmButton', 'showDenyButton', 'text', 'title', 'titleText', 'willClose'], et = { animation: 'showClass" and "hideClass', onBeforeOpen: 'willOpen', onOpen: 'didOpen', onRender: 'didRender', onClose: 'willClose', onAfterClose: 'didClose', onDestroy: 'didDestroy', }, tt = [ 'allowOutsideClick', 'allowEnterKey', 'backdrop', 'focusConfirm', 'focusDeny', 'focusCancel', 'returnFocus', 'heightAuto', 'keydownListenerCapture'], nt = Object.freeze({ isValidParameter: Ge, isUpdatableParameter: function (e) {return -1 !== Qe.indexOf(e);}, isDeprecatedParameter: Ze, argsToParams: function (t) { var n = {}; return 'object' !== e(t[0]) || y(t[0]) ? [ 'title', 'html', 'icon'].forEach((function (i, a) { 'string' == typeof (a = t[a]) || y(a) ? n[i] = a : void 0 !== a && U('Unexpected type of '.concat(i, '! Expected "string" or "Element", got ').concat(e(a))); })) : a(n, t[0]), n; }, isVisible: function () {return ye(w());}, clickConfirm: Pe, clickDeny: function () {return E() && E().click();}, clickCancel: function () {return Y() && Y().click();}, getContainer: b, getPopup: w, getTitle: M, getContent: L, getHtmlContainer: S, getImage: T, getIcon: k, getInputLabel: function () {return _(Z['input-label']);}, getCloseButton: H, getActions: P, getConfirmButton: C, getDenyButton: E, getCancelButton: Y, getLoader: O, getHeader: I, getFooter: j, getTimerProgressBar: N, getFocusableElements: F, getValidationMessage: D, isLoading: function () {return w().hasAttribute('data-loading');}, fire: function () { for (var e = arguments.length, t = new Array(e), n = 0; n < e; n++) t[n] = arguments[n]; return l(this, t); }, mixin: function (e) { return function (n) { !function (e, t) { if ('function' != typeof t && null !== t) throw new TypeError( 'Super expression must either be null or a function'); e.prototype = Object.create(t && t.prototype, { constructor: { value: e, writable: !0, configurable: !0, }, }), t && o(e, t); }(f, n); var l, d, h = (l = f, d = s(), function () { var e, t = r(l); return c(this, d ? (e = r(this).constructor, Reflect.construct(t, arguments, e)) : t.apply(this, arguments)); }); function f () {return t(this, f), h.apply(this, arguments);} return i(f, [ { key: '_main', value: function (t, n) { return u(r(f.prototype), '_main', this). call(this, t, a({}, e, n)); }, }]), f; }(this); }, queue: function (e) { p('Swal.queue()', 'async/await'); var t = this; function n (e, t) {Re = [], e(t);} Re = e; var i = []; return new Promise((function (e) { !function a (r, o) { r < Re.length ? (document.body.setAttribute('data-swal2-queue-step', r), t.fire(Re[r]). then((function (t) { void 0 !== t.value ? (i.push(t.value), a(r + 1, o)) : n(e, { dismiss: t.dismiss }); }))) : n(e, { value: i }); }(0); })); }, getQueueStep: Ee, insertQueueStep: function (e, t) { return t && t < Re.length ? Re.splice(t, 0, e) : Re.push(e); }, deleteQueueStep: function (e) {void 0 !== Re[e] && Re.splice(e, 1);}, showLoading: Be, enableLoading: Be, getTimerLeft: function () { return qe.timeout && qe.timeout.getTimerLeft(); }, stopTimer: We, resumeTimer: Ve, toggleTimer: function () { var e = qe.timeout; return e && (e.running ? We : Ve)(); }, increaseTimer: function (e) { if (qe.timeout) return ue(e = qe.timeout.increase(e), !0), e; }, isTimerRunning: function () { return qe.timeout && qe.timeout.isRunning(); }, bindClickHandler: function () { Xe[0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : 'data-swal-template'] = this, Ue || (document.body.addEventListener('click', $e), Ue = !0); }, }); function it () { var e, t; Se.innerParams.get(this) && (re((e = Se.domCache.get( this)).loader), (t = e.popup.getElementsByClassName( e.loader.getAttribute('data-button-to-replace'))).length ? ae(t[0], 'inline-block') : ye(C()) || ye(E()) || ye(Y()) || re(e.actions), ge([e.popup, e.actions], Z.loading), e.popup.removeAttribute( 'aria-busy'), e.popup.removeAttribute( 'data-loading'), e.confirmButton.disabled = !1, e.denyButton.disabled = !1, e.cancelButton.disabled = !1); } function at () { return !!window.MSInputMethodContext && !!document.documentMode; } function rt () { var e = b(), t = w(); e.style.removeProperty('align-items'), t.offsetTop < 0 && (e.style.alignItems = 'flex-start'); } var ot = function (e) { var t = e.target, n = b(); return !(st(e) || lt(e) || t !== n && (le(n) || 'INPUT' === t.tagName || le(L()) && L().contains(t))); }, st = function (e) { return e.touches && e.touches.length && 'stylus' === e.touches[0].touchType; }, lt = function (e) {return e.touches && 1 < e.touches.length;}, ct = { swalPromiseResolve: new WeakMap }; function ut (e, t, n, i) { J() ? pt(e, i) : (function (e) { return new Promise((function (t) { if (!e) return t(); var n = window.scrollX, i = window.scrollY; qe.restoreFocusTimeout = setTimeout((function () { qe.previousActiveElement && qe.previousActiveElement.focus ? (qe.previousActiveElement.focus(), qe.previousActiveElement = null) : document.body && document.body.focus(), t(); }), 100), void 0 !== n && void 0 !== i && window.scrollTo(n, i); })); }(n). then((function () { return pt(e, i); })), qe.keydownTarget.removeEventListener('keydown', qe.keydownHandler, { capture: qe.keydownListenerCapture }), qe.keydownHandlerAdded = !1), t.parentNode && !document.body.getAttribute('data-swal2-queue-step') && t.parentNode.removeChild(t), R() && (null !== Q.previousBodyPadding && (document.body.style.paddingRight = ''.concat(Q.previousBodyPadding, 'px'), Q.previousBodyPadding = null), B(document.body, Z.iosfix) && (t = parseInt(document.body.style.top, 10), ge(document.body, Z.iosfix), document.body.style.top = '', document.body.scrollTop = -1 * t), 'undefined' != typeof window && at() && window.removeEventListener('resize', rt), f(document.body.children). forEach((function (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'); }))), ge([document.documentElement, document.body], [Z.shown, Z['height-auto'], Z['no-backdrop'], Z['toast-shown']]); } function dt (e) { var t, n, i, r = w(); r && (e = function (e) { return void 0 === e ? { isConfirmed: !1, isDenied: !1, isDismissed: !0, } : a({ isConfirmed: !1, isDenied: !1, isDismissed: !1 }, e); }(e), (t = Se.innerParams.get(this)) && !B(r, t.hideClass.popup) && (n = ct.swalPromiseResolve.get(this), ge(r, t.showClass.popup), me(r, t.hideClass.popup), i = b(), ge(i, t.showClass.backdrop), me(i, t.hideClass.backdrop), function (e, t, n) { var i = b(), a = we && ce(t), r = n.onClose, o = n.onAfterClose, s = n.willClose, l = n.didClose; ht(t, s, r), a ? ft(e, t, i, n.returnFocus, l || o) : ut(e, i, n.returnFocus, l || o); }(this, r, t), n(e))); } var ht = function (e, t, n) { null !== t && 'function' == typeof t ? t(e) : null !== n && 'function' == typeof n && n(e); }, ft = function (e, t, n, i, a) { qe.swalCloseEventFinishedCallback = ut.bind(null, e, n, i, a), t.addEventListener(we, (function (e) { e.target === t && (qe.swalCloseEventFinishedCallback(), delete qe.swalCloseEventFinishedCallback); })); }, pt = function (e, t) { setTimeout( (function () {'function' == typeof t && t(), e._destroy();})); }; function mt (e, t, n) { var i = Se.domCache.get(e); t.forEach((function (e) {i[e].disabled = n;})); } function gt (e, t) { if (!e) return !1; if ('radio' === e.type) for (var n = e.parentNode.parentNode.querySelectorAll( 'input'), i = 0; i < n.length; i++) n[i].disabled = t; else e.disabled = t; } var vt = function () { function e (n, i) { t(this, e), this.callback = n, this.remaining = i, this.running = !1, this.start(); } return i(e, [ { key: 'start', value: function () { return this.running || (this.running = !0, this.started = new Date, this.id = setTimeout( this.callback, this.remaining)), this.remaining; }, }, { key: 'stop', value: function () { return this.running && (this.running = !1, clearTimeout( this.id), this.remaining -= new Date - this.started), this.remaining; }, }, { key: 'increase', value: function (e) { var t = this.running; return t && this.stop(), this.remaining += e, t && this.start(), this.remaining; }, }, { key: 'getTimerLeft', value: function () { return this.running && (this.stop(), this.start()), this.remaining; }, }, { key: 'isRunning', value: function () {return this.running;}, }]), e; }(), yt = { email: function (e, t) { return /^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test( e) ? Promise.resolve() : Promise.resolve( t || 'Invalid email address'); }, url: function (e, t) { return /^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 bt (e) { var t, n; (t = e).inputValidator || Object.keys(yt). forEach((function (e) { t.input === e && (t.inputValidator = yt[e]); })), e.showLoaderOnConfirm && !e.preConfirm && q('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'), e.animation = $( e.animation), (n = e).target && ('string' != typeof n.target || document.querySelector(n.target)) && ('string' == typeof n.target || n.target.appendChild) || (q('Target parameter is not valid, defaulting to "body"'), n.target = 'body'), 'string' == typeof e.title && (e.title = e.title.split('\n').join('<br />')), function (e) { var t, n, i, a, r, o = !!(a = b()) && (a.parentNode.removeChild(a), ge( [document.documentElement, document.body], [Z['no-backdrop'], Z['toast-shown'], Z['has-column']]), !0); de() ? U('SweetAlert2 requires document to initialize') : ((r = document.createElement( 'div')).className = Z.container, o && me(r, Z['no-transition']), z(r, be), (a = 'string' == typeof (t = e.target) ? document.querySelector(t) : t).appendChild( r), o = e, (t = w()).setAttribute('role', o.toast ? 'alert' : 'dialog'), t.setAttribute('aria-live', o.toast ? 'polite' : 'assertive'), o.toast || t.setAttribute('aria-modal', 'true'), r = a, 'rtl' === window.getComputedStyle(r).direction && me(b(), Z.rtl), e = L(), o = ve(e, Z.input), t = ve(e, Z.file), n = e.querySelector( '.'.concat(Z.range, ' input')), i = e.querySelector( '.'.concat(Z.range, ' output')), a = ve(e, Z.select), r = e.querySelector( '.'.concat(Z.checkbox, ' input')), e = ve(e, Z.textarea), o.oninput = he, t.onchange = he, a.onchange = he, r.onchange = he, e.oninput = he, n.oninput = function (e) { he(e), i.value = n.value; }, n.onchange = function (e) { he(e), n.nextSibling.value = n.value; }); }(e); } function xt (e) { var t = w(); e.target === t && (e = b(), t.removeEventListener(we, xt), e.style.overflowY = 'auto'); } function _t (e, t) {e.closePopup({ isConfirmed: !0, value: t });} function wt (e, t, n) { var i = F(); if (i.length) return (t += n) === i.length ? t = 0 : -1 === t && (t = i.length - 1), i[t].focus(); w().focus(); } var kt = ['swal-title', 'swal-html', 'swal-footer'], Mt = function (e, t) { f(e.attributes). forEach((function (n) { -1 === t.indexOf(n.name) && q([ 'Unrecognized attribute "'.concat(n.name, '" on <'). concat(e.tagName.toLowerCase(), '>.'), ''.concat(t.length ? 'Allowed attributes are: '.concat(t.join(', ')) : 'To set the value, use HTML within the element.')]); })); }, Lt = function (e, t) { 'function' == typeof t.didOpen ? setTimeout( (function () {return t.didOpen(e);})) : 'function' == typeof t.onOpen && setTimeout((function () {return t.onOpen(e);})); }, St = function (e, t) { we && ce(t) ? (e.style.overflowY = 'hidden', t.addEventListener(we, xt)) : e.style.overflowY = 'auto'; }, Tt = function (e, t, n) { var i; (/iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream || 'MacIntel' === navigator.platform && 1 < navigator.maxTouchPoints) && !B(document.body, Z.iosfix) && (i = document.body.scrollTop, document.body.style.top = ''.concat( -1 * i, 'px'), me(document.body, Z.iosfix), function () { var e, t = b(); t.ontouchstart = function (t) { e = ot(t); }, t.ontouchmove = function (t) { e && (t.preventDefault(), t.stopPropagation()); }; }(), navigator.userAgent.match( /(CriOS|FxiOS|EdgiOS|YaBrowser|UCBrowser)/i) || w().scrollHeight > window.innerHeight - 44 && (b().style.paddingBottom = ''.concat(44, 'px'))), 'undefined' != typeof window && at() && (rt(), window.addEventListener('resize', rt)), t && 'hidden' !== n && null === Q.previousBodyPadding && document.body.scrollHeight > window.innerHeight && (Q.previousBodyPadding = parseInt( window.getComputedStyle(document.body). getPropertyValue( 'padding-right')), document.body.style.paddingRight = ''.concat( Q.previousBodyPadding + function () { var e = document.createElement('div'); e.className = Z['scrollbar-measure'], document.body.appendChild(e); var t = e.getBoundingClientRect().width - e.clientWidth; return document.body.removeChild(e), t; }(), 'px')), setTimeout((function () {e.scrollTop = 0;})); }, At = function (e, t, n) { me(e, n.showClass.backdrop), t.style.setProperty('opacity', '0', 'important'), ae(t), setTimeout((function () { me(t, n.showClass.popup), t.style.removeProperty('opacity'); }), 10), me([document.documentElement, document.body], Z.shown), n.heightAuto && n.backdrop && !n.toast && me([document.documentElement, document.body], Z['height-auto']); }, Dt = function (t, n) { function i (e) {return Ct[n.input](a, Et(e), n);} var a = L(); m(n.inputOptions) || v(n.inputOptions) ? (Be(C()), g(n.inputOptions). then((function (e) {t.hideLoading(), i(e);}))) : 'object' === e(n.inputOptions) ? i(n.inputOptions) : U( 'Unexpected type of inputOptions! Expected object, Map or Promise, got '.concat( e(n.inputOptions))); }, Ct = { select: function (e, t, n) { function i (e, t, i) { var a = document.createElement('option'); a.value = i, z(a, t), a.selected = Ot(i, n.inputValue), e.appendChild(a); } var a = ve(e, Z.select); t.forEach((function (e) { var t, n = e[0]; e = e[1]; Array.isArray(e) ? ((t = document.createElement( 'optgroup')).label = n, t.disabled = !1, a.appendChild( t), e.forEach((function (e) {return i(t, e[1], e[0]);}))) : i(a, e, n); })), a.focus(); }, radio: function (e, t, n) { var i = ve(e, Z.radio); t.forEach((function (e) { var t = e[0], a = e[1], r = document.createElement('input'); e = document.createElement('label'); r.type = 'radio', r.name = Z.radio, r.value = t, Ot(t, n.inputValue) && (r.checked = !0), z( t = document.createElement('span'), a), t.className = Z.label, e.appendChild(r), e.appendChild( t), i.appendChild(e); })), (t = i.querySelectorAll('input')).length && t[0].focus(); }, }, Et = function t (n) { var i = []; return 'undefined' != typeof Map && n instanceof Map ? n.forEach((function (n, a) { 'object' === e(n) && (n = t(n)), i.push([a, n]); })) : Object.keys(n).forEach((function (a) { var r = n[a]; 'object' === e(r) && (r = t(r)), i.push([a, r]); })), i; }, Ot = function (e, t) {return t && t.toString() === e.toString();}, Yt = function (e, t, n) { var i = function (e, t) { var n = e.getInput(); if (!n) return null; switch (t.input) { case'checkbox': return function (e) {return e.checked ? 1 : 0;}(n); case'radio': return function (e) { return e.checked ? e.value : null; }( n); case'file': return function (e) { return e.files.length ? null !== e.getAttribute('multiple') ? e.files : e.files[0] : null; }(n); default: return t.inputAutoTrim ? n.value.trim() : n.value; } }(e, t); t.inputValidator ? Pt(e, t, i) : e.getInput().checkValidity() ? ('deny' === n ? It : jt)(e, t, i) : (e.enableButtons(), e.showValidationMessage( t.validationMessage)); }, Pt = function (e, t, n) { e.disableInput(), Promise.resolve(). then((function () { return g(t.inputValidator(n, t.validationMessage)); })). then((function (i) { e.enableButtons(), e.enableInput(), i ? e.showValidationMessage(i) : jt(e, t, n); })); }, It = function (e, t, n) { t.showLoaderOnDeny && Be(E()), t.preDeny ? Promise.resolve(). then((function () { return g(t.preDeny(n, t.validationMessage)); })). then((function (t) { !1 === t ? e.hideLoading() : e.closePopup( { isDenied: !0, value: void 0 === t ? n : t }); })) : e.closePopup({ isDenied: !0, value: n }); }, jt = function (e, t, n) { t.showLoaderOnConfirm && Be(), t.preConfirm ? (e.resetValidationMessage(), Promise.resolve(). then((function () { return g(t.preConfirm(n, t.validationMessage)); })). then((function (t) { ye(D()) || !1 === t ? e.hideLoading() : _t(e, void 0 === t ? n : t); }))) : _t(e, n); }, Nt = ['ArrowRight', 'ArrowDown', 'Right', 'Down'], Ht = ['ArrowLeft', 'ArrowUp', 'Left', 'Up'], Ft = ['Escape', 'Esc'], Rt = function (e, t, n) { t.isComposing || t.target && e.getInput() && t.target.outerHTML === e.getInput().outerHTML && -1 === ['textarea', 'file'].indexOf(n.input) && (Pe(), t.preventDefault()); }, zt = function (e, t) { for (var n = e.target, i = F(), a = -1, r = 0; r < i.length; r++) if (n === i[r]) { a = r; break; } e.shiftKey ? wt(0, a, -1) : wt(0, a, 1), e.stopPropagation(), e.preventDefault(); }, Bt = function (e) { -1 !== [C(), E(), Y()].indexOf(document.activeElement) && (e = -1 !== Nt.indexOf(e) ? 'nextElementSibling' : 'previousElementSibling', (e = document.activeElement[e]) && e.focus()); }, Wt = function (e, t, n) { $(t.allowEscapeKey) && (e.preventDefault(), n(G.esc)); }, Vt = !1; function qt (t, n) { var i = function (t) { return (t = 'string' == typeof t.template ? document.querySelector( t.template) : t.template) ? (function (e) { var t = kt.concat([ 'swal-param', 'swal-button', 'swal-image', 'swal-icon', 'swal-input', 'swal-input-option']); f(e.querySelectorAll('*')). forEach((function (n) { n.parentNode === e && (n = n.tagName.toLowerCase(), -1 === t.indexOf(n) && q('Unrecognized element <'.concat(n, '>'))); })); }(t = t.content || t), a(function (t) { var n = {}; return f(t.querySelectorAll('swal-param')). forEach((function (t) { Mt(t, ['name', 'value']); var i = t.getAttribute('name'); t = t.getAttribute('value'), 'boolean' == typeof Je[i] && 'false' === t && (t = !1), 'object' === e(Je[i]) && (t = JSON.parse(t)), n[i] = t; })), n; }(t), function (e) { var t = {}; return f(e.querySelectorAll('swal-button')). forEach((function (e) { Mt(e, ['type', 'color', 'aria-label']); var n = e.getAttribute('type'); t[''.concat(n, 'ButtonText')] = e.innerHTML, t['show'.concat(d(n), 'Button')] = !0, e.hasAttribute('color') && (t[''.concat(n, 'ButtonColor')] = e.getAttribute( 'color')), e.hasAttribute('aria-label') && (t[''.concat(n, 'ButtonAriaLabel')] = e.getAttribute( 'aria-label')); })), t; }(t), function (e) { var t = {}; return (e = e.querySelector('swal-image')) && (Mt(e, ['src', 'width', 'height', 'alt']), e.hasAttribute( 'src') && (t.imageUrl = e.getAttribute('src')), e.hasAttribute('width') && (t.imageWidth = e.getAttribute('width')), e.hasAttribute( 'height') && (t.imageHeight = e.getAttribute('height')), e.hasAttribute( 'alt') && (t.imageAlt = e.getAttribute('alt'))), t; }(t), function (e) { var t = {}; return (e = e.querySelector('swal-icon')) && (Mt(e, ['type', 'color']), e.hasAttribute('type') && (t.icon = e.getAttribute('type')), e.hasAttribute('color') && (t.iconColor = e.getAttribute( 'color')), t.iconHtml = e.innerHTML), t; }(t), function (e) { var t = {}, n = e.querySelector('swal-input'); return n && (Mt(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'))), (e = e.querySelectorAll( 'swal-input-option')).length && (t.inputOptions = {}, f(e). forEach((function (e) { Mt(e, ['value']); var n = e.getAttribute('value'); e = e.innerHTML, t.inputOptions[n] = e; }))), t; }(t), function (e, t) { var n, i = {}; for (n in t) { var a = t[n], r = e.querySelector(a); r && (Mt(r, []), i[a.replace(/^swal-/, '')] = r.innerHTML.trim()); } return i; }(t, kt))) : {}; }(t); return (i = a({}, Je, n, i, t)).showClass = a({}, Je.showClass, i.showClass), i.hideClass = a({}, Je.hideClass, i.hideClass), !1 === t.animation && (i.showClass = { popup: 'swal2-noanimation', backdrop: 'swal2-noanimation', }, i.hideClass = {}), i; } function Ut (e, t, n) { return new Promise((function (i) { function a (t) {e.closePopup({ isDismissed: !0, dismiss: t });} var r, o, s, l; ct.swalPromiseResolve.set(e, i), t.confirmButton.onclick = function () { return i = n, (t = e).disableButtons(), void (i.input ? Yt(t, i, 'confirm') : jt(t, i, !0)); var t, i; }, t.denyButton.onclick = function () { return i = n, (t = e).disableButtons(), void (i.returnInputValueOnDeny ? Yt(t, i, 'deny') : It(t, i, !1)); var t, i; }, t.cancelButton.onclick = function () { return t = a, e.disableButtons(), void t(G.cancel); var t; }, t.closeButton.onclick = function () { return a(G.close); }, r = e, l = t, i = a, Se.innerParams.get(r).toast ? function ( e, t, n) { t.popup.onclick = function () { var t = Se.innerParams.get(e); t.showConfirmButton || t.showDenyButton || t.showCancelButton || t.showCloseButton || t.timer || t.input || n(G.close); }; }(r, l, i) : (function (e) { e.popup.onmousedown = function () { e.container.onmouseup = function (t) { e.container.onmouseup = void 0, t.target === e.container && (Vt = !0); }; }; }(l), function (e) { e.container.onmousedown = function () { e.popup.onmouseup = function (t) { e.popup.onmouseup = void 0, t.target !== e.popup && !e.popup.contains(t.target) || (Vt = !0); }; }; }(l), function ( e, t, n) { t.container.onclick = function (i) { var a = Se.innerParams.get(e); Vt ? Vt = !1 : i.target === t.container && $(a.allowOutsideClick) && n(G.backdrop); }; }(r, l, i)), o = e, l = n, s = a, (i = qe).keydownTarget && i.keydownHandlerAdded && (i.keydownTarget.removeEventListener('keydown', i.keydownHandler, { capture: i.keydownListenerCapture }), i.keydownHandlerAdded = !1), l.toast || (i.keydownHandler = function (e) { return function (e, t, n) { var i = Se.innerParams.get(e); i && (i.stopKeydownPropagation && t.stopPropagation(), 'Enter' === t.key ? Rt(e, t, i) : 'Tab' === t.key ? zt(t, i) : -1 !== [].concat(Nt, Ht).indexOf(t.key) ? Bt(t.key) : -1 !== Ft.indexOf(t.key) && Wt(t, i, n)); }(o, e, s); }, i.keydownTarget = l.keydownListenerCapture ? window : w(), i.keydownListenerCapture = l.keydownListenerCapture, i.keydownTarget.addEventListener( 'keydown', i.keydownHandler, { capture: i.keydownListenerCapture }), i.keydownHandlerAdded = !0), l = e, 'select' === (i = n).input || 'radio' === i.input ? Dt(l, i) : -1 !== ['text', 'email', 'number', 'tel', 'textarea'].indexOf( i.input) && (m(i.inputValue) || v(i.inputValue)) && function (e, t) { var n = e.getInput(); re(n), g(t.inputValue). then((function (i) { n.value = 'number' === t.input ? parseFloat(i) || 0 : ''.concat(i), ae( n), n.focus(), e.hideLoading(); })). catch((function (t) { U('Error in inputValue promise: '.concat( t)), n.value = '', ae( n), n.focus(), e.hideLoading(); })); }(l, i), function (e) { var t = b(), n = w(); 'function' == typeof e.willOpen ? e.willOpen(n) : 'function' == typeof e.onBeforeOpen && e.onBeforeOpen(n); var i = window.getComputedStyle(document.body).overflowY; At(t, n, e), setTimeout((function () {St(t, n);}), 10), R() && (Tt(t, e.scrollbarPadding, i), f(document.body.children). forEach((function (e) { e === b() || function (e, t) { if ('function' == typeof e.contains) return e.contains(t); }(e, b()) || (e.hasAttribute('aria-hidden') && e.setAttribute('data-previous-aria-hidden', e.getAttribute('aria-hidden')), e.setAttribute( 'aria-hidden', 'true')); }))), J() || qe.previousActiveElement || (qe.previousActiveElement = document.activeElement), Lt(n, e), ge(t, Z['no-transition']); }(n), $t(qe, n, a), Gt(t, n), setTimeout( (function () {t.container.scrollTop = 0;})); })); } function Xt (e) { var t = { popup: w(), container: b(), content: L(), actions: P(), confirmButton: C(), denyButton: E(), cancelButton: Y(), loader: O(), closeButton: H(), validationMessage: D(), progressSteps: A(), }; return Se.domCache.set(e, t), t; } var $t = function (e, t, n) { var i = N(); re(i), t.timer && (e.timeout = new vt((function () {n('timer'), delete e.timeout;}), t.timer), t.timerProgressBar && (ae(i), setTimeout( (function () {e.timeout && e.timeout.running && ue(t.timer);})))); }, Gt = function (e, t) { if (!t.toast) return $(t.allowEnterKey) ? void (Zt(e, t) || wt(0, -1, 1)) : Kt(); }, Zt = function (e, t) { return t.focusDeny && ye(e.denyButton) ? (e.denyButton.focus(), !0) : t.focusCancel && ye(e.cancelButton) ? (e.cancelButton.focus(), !0) : !(!t.focusConfirm || !ye(e.confirmButton) || (e.confirmButton.focus(), 0)); }, Kt = function () { document.activeElement && 'function' == typeof document.activeElement.blur && document.activeElement.blur(); }; var Jt, Qt = function (e) {for (var t in e) e[t] = new WeakMap;}, en = Object.freeze({ hideLoading: it, disableLoading: it, getInput: function (e) { var t = Se.innerParams.get(e || this); return (e = Se.domCache.get(e || this)) ? ee(e.content, t.input) : null; }, close: dt, closePopup: dt, closeModal: dt, closeToast: dt, enableButtons: function () { mt(this, ['confirmButton', 'denyButton', 'cancelButton'], !1); }, disableButtons: function () { mt(this, ['confirmButton', 'denyButton', 'cancelButton'], !0); }, enableInput: function () {return gt(this.getInput(), !1);}, disableInput: function () {return gt(this.getInput(), !0);}, showValidationMessage: function (e) { var t = Se.domCache.get(this), n = Se.innerParams.get(this); z(t.validationMessage, e), t.validationMessage.className = Z['validation-message'], n.customClass && n.customClass.validationMessage && me(t.validationMessage, n.customClass.validationMessage), ae( t.validationMessage), (t = this.getInput()) && (t.setAttribute('aria-invalid', !0), t.setAttribute( 'aria-describedBy', Z['validation-message']), te(t), me(t, Z.inputerror)); }, resetValidationMessage: function () { var e = Se.domCache.get(this); e.validationMessage && re(e.validationMessage), (e = this.getInput()) && (e.removeAttribute('aria-invalid'), e.removeAttribute( 'aria-describedBy'), ge(e, Z.inputerror)); }, getProgressSteps: function () { return Se.domCache.get(this).progressSteps; }, _main: function (e) { var t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}; return Ke(a({}, t, e)), qe.currentInstance && qe.currentInstance._destroy(), qe.currentInstance = this, bt( e = qt(e, t)), Object.freeze(e), qe.timeout && (qe.timeout.stop(), delete qe.timeout), clearTimeout( qe.restoreFocusTimeout), t = Xt(this), Ye(this, e), Se.innerParams.set(this, e), Ut(this, t, e); }, update: function (e) { var t = w(), n = Se.innerParams.get(this); if (!t || B(t, n.hideClass.popup)) return q( '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.'); var i = {}; Object.keys(e). forEach((function (t) { nn.isUpdatableParameter(t) ? i[t] = e[t] : q('Invalid parameter to update: "'.concat(t, '". Updatable params are listed here: https://github.com/sweetalert2/sweetalert2/blob/master/src/utils/params.js\n\nIf you think this parameter should be updatable, request it here: https://github.com/sweetalert2/sweetalert2/issues/new?template=02_feature_request.md')); })), Ye(this, n = a({}, n, i)), Se.innerParams.set(this, n), Object.defineProperties(this, { params: { value: a({}, this.params, e), writable: !1, enumerable: !0, }, }); }, _destroy: function () { var e = Se.domCache.get(this), t = Se.innerParams.get(this); t && (e.popup && qe.swalCloseEventFinishedCallback && (qe.swalCloseEventFinishedCallback(), delete qe.swalCloseEventFinishedCallback), qe.deferDisposalTimer && (clearTimeout( qe.deferDisposalTimer), delete qe.deferDisposalTimer), function (e) { 'function' == typeof e.didDestroy ? e.didDestroy() : 'function' == typeof e.onDestroy && e.onDestroy(); }(t), function (e) { delete e.params, delete qe.keydownHandler, delete qe.keydownTarget, Qt( Se), Qt(ct); }(this)); }, }), tn = function () { function e () { if (t(this, e), 'undefined' != typeof window) { 'undefined' == typeof Promise && U('This package requires a Promise library, please include a shim to enable it in this browser (See: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)'), Jt = this; for (var n = arguments.length, i = new Array(n), a = 0; a < n; a++) i[a] = arguments[a]; var r = Object.freeze(this.constructor.argsToParams(i)); Object.defineProperties(this, { params: { value: r, writable: !1, enumerable: !0, configurable: !0, }, }), r = this._main(this.params), Se.promise.set(this, r); } } return i(e, [ { key: 'then', value: function (e) {return Se.promise.get(this).then(e);}, }, { key: 'finally', value: function (e) {return Se.promise.get(this).finally(e);}, }]), e; }(); a(tn.prototype, en), a(tn, nt), Object.keys(en). forEach((function (e) { tn[e] = function () { if (Jt) return Jt[e].apply(Jt, arguments); }; })), tn.DismissReason = G, tn.version = '10.16.9'; var nn = tn; return nn.default = nn; })), void 0 !== this && this.Sweetalert2 && (this.swal = this.sweetAlert = this.Swal = this.SweetAlert = this.Sweetalert2), swal.mixin( { width: 400, heightAuto: !1, padding: '2.5rem', buttonsStyling: !1, confirmButtonClass: 'btn btn-success', confirmButtonColor: null, cancelButtonClass: 'btn btn-secondary', cancelButtonColor: null, });