PageSourceSearch

https://oniks-clinic.ru/site_files/js/libs.min.js

js oniks-clinic.ru collected 2026-10-09 22:58:54 UTC 996,352 bytes, 17,529 lines download raw bytes

1!(function (t, e) {
2    "use strict";
3    "object" == typeof module && "object" == typeof module.exports
4        ? (module.exports = t.document
5              ? e(t, !0)
6              : function (t) {
7                    if (!t.document) throw new Error("jQuery requires a window with a document");
8                    return e(t);
9                })
10        : e(t);
11})("undefined" != typeof window ? window : this, function (x, t) {
12    "use strict";
13    function m(t) {
14        return null != t && t === t.window;
15    }
16    var e = [],
17        C = x.document,
18        n = Object.getPrototypeOf,
19        a = e.slice,
20        g = e.concat,
21        l = e.push,
22        s = e.indexOf,
23        i = {},
24        o = i.toString,
25        v = i.hasOwnProperty,
26        r = v.toString,
27        c = r.call(Object),
28        b = {},
29        y = function (t) {
30            return "function" == typeof t && "number" != typeof t.nodeType;
31        },
32        u = { type: !0, src: !0, nonce: !0, noModule: !0 };
33    function _(t, e, i) {
34        var n,
35            s,
36            o = (i = i || C).createElement("script");
37        if (((o.text = t), e)) for (n in u) (s = e[n] || (e.getAttribute && e.getAttribute(n))) && o.setAttribute(n, s);
38        i.head.appendChild(o).parentNode.removeChild(o);
39    }
40    function k(t) {
41        return null == t ? t + "" : "object" == typeof t || "function" == typeof t ? i[o.call(t)] || "object" : typeof t;
42    }
43    var h = "3.4.1",
44        T = function (t, e) {
45            return new T.fn.init(t, e);
46        },
47        d = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
48    function p(t) {
49        var e = !!t && "length" in t && t.length,
50            i = k(t);
51        return !y(t) && !m(t) && ("array" === i || 0 === e || ("number" == typeof e && 0 < e && e - 1 in t));
52    }
53    (T.fn = T.prototype = {
54        jquery: h,
55        constructor: T,
56        length: 0,
57        toArray: function () {
58            return a.call(this);
59        },
60        get: function (t) {
61            return null == t ? a.call(this) : t < 0 ? this[t + this.length] : this[t];
62        },
63        pushStack: function (t) {
64            var e = T.merge(this.constructor(), t);
65            return (e.prevObject = this), e;
66        },
67        each: function (t) {
68            return T.each(this, t);
69        },
70        map: function (i) {
71            return this.pushStack(
72                T.map(this, function (t, e) {
73                    return i.call(t, e, t);
74                })
75            );
76        },
77        slice: function () {
78            return this.pushStack(a.apply(this, arguments));
79        },
80        first: function () {
81            return this.eq(0);
82        },
83        last: function () {
84            return this.eq(-1);
85        },
86        eq: function (t) {
87            var e = this.length,
88                i = +t + (t < 0 ? e : 0);
89            return this.pushStack(0 <= i && i < e ? [this[i]] : []);
90        },
91        end: function () {
92            return this.prevObject || this.constructor();
93        },
94        push: l,
95        sort: e.sort,
96        splice: e.splice,
97    }),
98        (T.extend = T.fn.extend = function () {
99            var t,
100                e,
101                i,
102                n,
103                s,
104                o,
105                r = arguments[0] || {},
106                a = 1,
107                l = arguments.length,
108                c = !1;
109            for ("boolean" == typeof r && ((c = r), (r = arguments[a] || {}), a++), "object" == typeof r || y(r) || (r = {}), a === l && ((r = this), a--); a < l; a++)
110                if (null != (t = arguments[a]))
111                    for (e in t)
112                        (n = t[e]),
113                            "__proto__" !== e &&
114                                r !== n &&
115                                (c && n && (T.isPlainObject(n) || (s = Array.isArray(n)))
116                                    ? ((i = r[e]), (o = s && !Array.isArray(i) ? [] : s || T.isPlainObject(i) ? i : {}), (s = !1), (r[e] = T.extend(c, o, n)))
117                                    : void 0 !== n && (r[e] = n));
118            return r;
119        }),
120        T.extend({
121            expando: "jQuery" + (h + Math.random()).replace(/\D/g, ""),
122            isReady: !0,
123            error: function (t) {
124                throw new Error(t);
125            },
126            noop: function () {},
127            isPlainObject: function (t) {
128                var e, i;
129                return !(!t || "[object Object]" !== o.call(t) || ((e = n(t)) && ("function" != typeof (i = v.call(e, "constructor") && e.constructor) || r.call(i) !== c)));
130            },
131            isEmptyObject: function (t) {
132                var e;
133                for (e in t) return !1;
134                return !0;
135            },
136            globalEval: function (t, e) {
137                _(t, { nonce: e && e.nonce });
138            },
139            each: function (t, e) {
140                var i,
141                    n = 0;
142                if (p(t)) for (i = t.length; n < i && !1 !== e.call(t[n], n, t[n]); n++);
143                else for (n in t) if (!1 === e.call(t[n], n, t[n])) break;
144                return t;
145            },
146            trim: function (t) {
147                return null == t ? "" : (t + "").replace(d, "");
148            },
149            makeArray: function (t, e) {
150                var i = e || [];
151                return null != t && (p(Object(t)) ? T.merge(i, "string" == typeof t ? [t] : t) : l.call(i, t)), i;
152            },
153            inArray: function (t, e, i) {
154                return null == e ? -1 : s.call(e, t, i);
155            },
156            merge: function (t, e) {
157                for (var i = +e.length, n = 0, s = t.length; n < i; n++) t[s++] = e[n];
158                return (t.length = s), t;
159            },
160            grep: function (t, e, i) {
161                for (var n = [], s = 0, o = t.length, r = !i; s < o; s++) !e(t[s], s) != r && n.push(t[s]);
162                return n;
163            },
164            map: function (t, e, i) {
165                var n,
166                    s,
167                    o = 0,
168                    r = [];
169                if (p(t)) for (n = t.length; o < n; o++) null != (s = e(t[o], o, i)) && r.push(s);
170                else for (o in t) null != (s = e(t[o], o, i)) && r.push(s);
171                return g.apply([], r);
172            },
173            guid: 1,
174            support: b,
175        }),
176        "function" == typeof Symbol && (T.fn[Symbol.iterator] = e[Symbol.iterator]),
177        T.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (t, e) {
178            i["[object " + e + "]"] = e.toLowerCase();
179        });
180    var f = (function (i) {
181        function h(t, e, i) {
182            var n = "0x" + e - 65536;
183            return n != n || i ? e : n < 0 ? String.fromCharCode(65536 + n) : String.fromCharCode((n >> 10) | 55296, (1023 & n) | 56320);
184        }
185        function s() {
186            w();
187        }
188        var t,
189            p,
190            _,
191            o,
192            r,
193            f,
194            d,
195            m,
196            k,
197            l,
198            c,
199            w,
200            x,
201            a,
202            C,
203            g,
204            u,
205            v,
206            b,
207            T = "sizzle" + +new Date(),
208            y = i.document,
209            S = 0,
210            n = 0,
211            D = lt(),
212            P = lt(),
213            I = lt(),
214            A = lt(),
215            M = function (t, e) {
216                return t === e && (c = !0), 0;
217            },
218            E = {}.hasOwnProperty,
219            e = [],
220            O = e.pop,
221            H = e.push,
222            N = e.push,
223            z = e.slice,
224            L = function (t, e) {
225                for (var i = 0, n = t.length; i < n; i++) if (t[i] === e) return i;
226                return -1;
227            },
228            j = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
229            F = "[\\x20\\t\\r\\n\\f]",
230            R = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
231            W = "\\[" + F + "*(" + R + ")(?:" + F + "*([*^$|!~]?=)" + F + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + R + "))|)" + F + "*\\]",
232            $ = ":(" + R + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + W + ")*)|.*)\\)|)",
233            B = new RegExp(F + "+", "g"),
234            q = new RegExp("^" + F + "+|((?:^|[^\\\\])(?:\\\\.)*)" + F + "+$", "g"),
235            Y = new RegExp("^" + F + "*," + F + "*"),
236            U = new RegExp("^" + F + "*([>+~]|" + F + ")" + F + "*"),
237            V = new RegExp(F + "|>"),
238            K = new RegExp($),
239            G = new RegExp("^" + R + "$"),
240            X = {
241                ID: new RegExp("^#(" + R + ")"),
242                CLASS: new RegExp("^\\.(" + R + ")"),
243                TAG: new RegExp("^(" + R + "|[*])"),
244                ATTR: new RegExp("^" + W),
245                PSEUDO: new RegExp("^" + $),
246                CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + F + "*(even|odd|(([+-]|)(\\d*)n|)" + F + "*(?:([+-]|)" + F + "*(\\d+)|))" + F + "*\\)|)", "i"),
247                bool: new RegExp("^(?:" + j + ")$", "i"),
248                needsContext: new RegExp("^" + F + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + F + "*((?:-\\d)?\\d*)" + F + "*\\)|)(?=[^-]|$)", "i"),
249            },
250            Q = /HTML$/i,
251            Z = /^(?:input|select|textarea|button)$/i,
252            J = /^h\d$/i,
253            tt = /^[^{]+\{\s*\[native \w/,
254            et = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
255            it = /[+~]/,
256            nt = new RegExp("\\\\([\\da-f]{1,6}" + F + "?|(" + F + ")|.)", "ig"),
257            st = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
258            ot = function (t, e) {
259                return e ? ("\0" === t ? "�" : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " ") : "\\" + t;
260            },
261            rt = _t(
262                function (t) {
263                    return !0 === t.disabled && "fieldset" === t.nodeName.toLowerCase();
264                },
265                { dir: "parentNode", next: "legend" }
266            );
267        try {
268            N.apply((e = z.call(y.childNodes)), y.childNodes), e[y.childNodes.length].nodeType;
269        } catch (t) {
270            N = {
271                apply: e.length
272                    ? function (t, e) {
273                          H.apply(t, z.call(e));
274                      }
275                    : function (t, e) {
276                          for (var i = t.length, n = 0; (t[i++] = e[n++]); );
277                          t.length = i - 1;
278                      },
279            };
280        }
281        function at(t, e, i, n) {
282            var s,
283                o,
284                r,
285                a,
286                l,
287                c,
288                u,
289                h = e && e.ownerDocument,
290                d = e ? e.nodeType : 9;
291            if (((i = i || []), "string" != typeof t || !t || (1 !== d && 9 !== d && 11 !== d))) return i;
292            if (!n && ((e ? e.ownerDocument || e : y) !== x && w(e), (e = e || x), C)) {
293                if (11 !== d && (l = et.exec(t)))
294                    if ((s = l[1])) {
295                        if (9 === d) {
296                            if (!(r = e.getElementById(s))) return i;
297                            if (r.id === s) return i.push(r), i;
298                        } else if (h && (r = h.getElementById(s)) && b(e, r) && r.id === s) return i.push(r), i;
299                    } else {
300                        if (l[2]) return N.apply(i, e.getElementsByTagName(t)), i;
301                        if ((s = l[3]) && p.getElementsByClassName && e.getElementsByClassName) return N.apply(i, e.getElementsByClassName(s)), i;
302                    }
303                if (p.qsa && !A[t + " "] && (!g || !g.test(t)) && (1 !== d || "object" !== e.nodeName.toLowerCase())) {
304                    if (((u = t), (h = e), 1 === d && V.test(t))) {
305                        for ((a = e.getAttribute("id")) ? (a = a.replace(st, ot)) : e.setAttribute("id", (a = T)), o = (c = f(t)).length; o--; ) c[o] = "#" + a + " " + yt(c[o]);
306                        (u = c.join(",")), (h = (it.test(t) && vt(e.parentNode)) || e);
307                    }
308                    try {
309                        return N.apply(i, h.querySelectorAll(u)), i;
310                    } catch (e) {
311                        A(t, !0);
312                    } finally {
313                        a === T && e.removeAttribute("id");
314                    }
315                }
316            }
317            return m(t.replace(q, "$1"), e, i, n);
318        }
319        function lt() {
320            var n = [];
321            return function t(e, i) {
322                return n.push(e + " ") > _.cacheLength && delete t[n.shift()], (t[e + " "] = i);
323            };
324        }
325        function ct(t) {
326            return (t[T] = !0), t;
327        }
328        function ut(t) {
329            var e = x.createElement("fieldset");
330            try {
331                return !!t(e);
332            } catch (t) {
333                return !1;
334            } finally {
335                e.parentNode && e.parentNode.removeChild(e), (e = null);
336            }
337        }
338        function ht(t, e) {
339            for (var i = t.split("|"), n = i.length; n--; ) _.attrHandle[i[n]] = e;
340        }
341        function dt(t, e) {
342            var i = e && t,
343                n = i && 1 === t.nodeType && 1 === e.nodeType && t.sourceIndex - e.sourceIndex;
344            if (n) return n;
345            if (i) for (; (i = i.nextSibling); ) if (i === e) return -1;
346            return t ? 1 : -1;
347        }
348        function pt(e) {
349            return function (t) {
350                return "input" === t.nodeName.toLowerCase() && t.type === e;
351            };
352        }
353        function ft(i) {
354            return function (t) {
355                var e = t.nodeName.toLowerCase();
356                return ("input" === e || "button" === e) && t.type === i;
357            };
358        }
359        function mt(e) {
360            return function (t) {
361                return "form" in t
362                    ? t.parentNode && !1 === t.disabled
363                        ? "label" in t
364                            ? "label" in t.parentNode
365                                ? t.parentNode.disabled === e
366                                : t.disabled === e
367                            : t.isDisabled === e || (t.isDisabled !== !e && rt(t) === e)
368                        : t.disabled === e
369                    : "label" in t && t.disabled === e;
370            };
371        }
372        function gt(r) {
373            return ct(function (o) {
374                return (
375                    (o = +o),
376                    ct(function (t, e) {
377                        for (var i, n = r([], t.length, o), s = n.length; s--; ) t[(i = n[s])] && (t[i] = !(e[i] = t[i]));
378                    })
379                );
380            });
381        }
382        function vt(t) {
383            return t && void 0 !== t.getElementsByTagName && t;
384        }
385        for (t in ((p = at.support = {}),
386        (r = at.isXML = function (t) {
387            var e = t.namespaceURI,
388                i = (t.ownerDocument || t).documentElement;
389            return !Q.test(e || (i && i.nodeName) || "HTML");
390        }),
391        (w = at.setDocument = function (t) {
392            var e,
393                i,
394                n = t ? t.ownerDocument || t : y;
395            return (
396                n !== x &&
397                    9 === n.nodeType &&
398                    n.documentElement &&
399                    ((a = (x = n).documentElement),
400                    (C = !r(x)),
401                    y !== x && (i = x.defaultView) && i.top !== i && (i.addEventListener ? i.addEventListener("unload", s, !1) : i.attachEvent && i.attachEvent("onunload", s)),
402                    (p.attributes = ut(function (t) {
403                        return (t.className = "i"), !t.getAttribute("className");
404                    })),
405                    (p.getElementsByTagName = ut(function (t) {
406                        return t.appendChild(x.createComment("")), !t.getElementsByTagName("*").length;
407                    })),
408                    (p.getElementsByClassName = tt.test(x.getElementsByClassName)),
409                    (p.getById = ut(function (t) {
410                        return (a.appendChild(t).id = T), !x.getElementsByName || !x.getElementsByName(T).length;
411                    })),
412                    p.getById
413                        ? ((_.filter.ID = function (t) {
414                              var e = t.replace(nt, h);
415                              return function (t) {
416                                  return t.getAttribute("id") === e;
417                              };
418                          }),
419                          (_.find.ID = function (t, e) {
420                              if (void 0 !== e.getElementById && C) {
421                                  var i = e.getElementById(t);
422                                  return i ? [i] : [];
423                              }
424                          }))
425                        : ((_.filter.ID = function (t) {
426                              var i = t.replace(nt, h);
427                              return function (t) {
428                                  var e = void 0 !== t.getAttributeNode && t.getAttributeNode("id");
429                                  return e && e.value === i;
430                              };
431                          }),
432                          (_.find.ID = function (t, e) {
433                              if (void 0 !== e.getElementById && C) {
434                                  var i,
435                                      n,
436                                      s,
437                                      o = e.getElementById(t);
438                                  if (o) {
439                                      if ((i = o.getAttributeNode("id")) && i.value === t) return [o];
440                                      for (s = e.getElementsByName(t), n = 0; (o = s[n++]); ) if ((i = o.getAttributeNode("id")) && i.value === t) return [o];
441                                  }
442                                  return [];
443                              }
444                          })),
445                    (_.find.TAG = p.getElementsByTagName
446                        ? function (t, e) {
447                              return void 0 !== e.getElementsByTagName ? e.getElementsByTagName(t) : p.qsa ? e.querySelectorAll(t) : void 0;
448                          }
449                        : function (t, e) {
450                              var i,
451                                  n = [],
452                                  s = 0,
453                                  o = e.getElementsByTagName(t);
454                              if ("*" !== t) return o;
455                              for (; (i = o[s++]); ) 1 === i.nodeType && n.push(i);
456                              return n;
457                          }),
458                    (_.find.CLASS =
459                        p.getElementsByClassName &&
460                        function (t, e) {
461                            if (void 0 !== e.getElementsByClassName && C) return e.getElementsByClassName(t);
462                        }),
463                    (u = []),
464                    (g = []),
465                    (p.qsa = tt.test(x.querySelectorAll)) &&
466                        (ut(function (t) {
467                            (a.appendChild(t).innerHTML = "<a id='" + T + "'></a><select id='" + T + "-\r\\' msallowcapture=''><option selected=''></option></select>"),
468                                t.querySelectorAll("[msallowcapture^='']").length && g.push("[*^$]=" + F + "*(?:''|\"\")"),
469                                t.querySelectorAll("[selected]").length || g.push("\\[" + F + "*(?:value|" + j + ")"),
470                                t.querySelectorAll("[id~=" + T + "-]").length || g.push("~="),
471                                t.querySelectorAll(":checked").length || g.push(":checked"),
472                                t.querySelectorAll("a#" + T + "+*").length || g.push(".#.+[+~]");
473                        }),
474                        ut(function (t) {
475                            t.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";
476                            var e = x.createElement("input");
477                            e.setAttribute("type", "hidden"),
478                                t.appendChild(e).setAttribute("name", "D"),
479                                t.querySelectorAll("[name=d]").length && g.push("name" + F + "*[*^$|!~]?="),
480                                2 !== t.querySelectorAll(":enabled").length && g.push(":enabled", ":disabled"),
481                                (a.appendChild(t).disabled = !0),
482                                2 !== t.querySelectorAll(":disabled").length && g.push(":enabled", ":disabled"),
483                                t.querySelectorAll("*,:x"),
484                                g.push(",.*:");
485                        })),
486                    (p.matchesSelector = tt.test((v = a.matches || a.webkitMatchesSelector || a.mozMatchesSelector || a.oMatchesSelector || a.msMatchesSelector))) &&
487                        ut(function (t) {
488                            (p.disconnectedMatch = v.call(t, "*")), v.call(t, "[s!='']:x"), u.push("!=", $);
489                        }),
490                    (g = g.length && new RegExp(g.join("|"))),
491                    (u = u.length && new RegExp(u.join("|"))),
492                    (e = tt.test(a.compareDocumentPosition)),
493                    (b =
494                        e || tt.test(a.contains)
495                            ? function (t, e) {
496                                  var i = 9 === t.nodeType ? t.documentElement : t,
497                                      n = e && e.parentNode;
498                                  return t === n || !(!n || 1 !== n.nodeType || !(i.contains ? i.contains(n) : t.compareDocumentPosition && 16 & t.compareDocumentPosition(n)));
499                              }
500                            : function (t, e) {
501                                  if (e) for (; (e = e.parentNode); ) if (e === t) return !0;
502                                  return !1;
503                              }),
504                    (M = e
505                        ? function (t, e) {
506                              if (t === e) return (c = !0), 0;
507                              var i = !t.compareDocumentPosition - !e.compareDocumentPosition;
508                              return (
509                                  i ||
510                                  (1 & (i = (t.ownerDocument || t) === (e.ownerDocument || e) ? t.compareDocumentPosition(e) : 1) || (!p.sortDetached && e.compareDocumentPosition(t) === i)
511                                      ? t === x || (t.ownerDocument === y && b(y, t))
512                                          ? -1
513                                          : e === x || (e.ownerDocument === y && b(y, e))
514                                          ? 1
515                                          : l
516                                          ? L(l, t) - L(l, e)
517                                          : 0
518                                      : 4 & i
519                                      ? -1
520                                      : 1)
521                              );
522                          }
523                        : function (t, e) {
524                              if (t === e) return (c = !0), 0;
525                              var i,
526                                  n = 0,
527                                  s = t.parentNode,
528                                  o = e.parentNode,
529                                  r = [t],
530                                  a = [e];
531                              if (!s || !o) return t === x ? -1 : e === x ? 1 : s ? -1 : o ? 1 : l ? L(l, t) - L(l, e) : 0;
532                              if (s === o) return dt(t, e);
533                              for (i = t; (i = i.parentNode); ) r.unshift(i);
534                              for (i = e; (i = i.parentNode); ) a.unshift(i);
535                              for (; r[n] === a[n]; ) n++;
536                              return n ? dt(r[n], a[n]) : r[n] === y ? -1 : a[n] === y ? 1 : 0;
537                          })),
538                x
539            );
540        }),
541        (at.matches = function (t, e) {
542            return at(t, null, null, e);
543        }),
544        (at.matchesSelector = function (t, e) {
545            if (((t.ownerDocument || t) !== x && w(t), p.matchesSelector && C && !A[e + " "] && (!u || !u.test(e)) && (!g || !g.test(e))))
546                try {
547                    var i = v.call(t, e);
548                    if (i || p.disconnectedMatch || (t.document && 11 !== t.document.nodeType)) return i;
549                } catch (t) {
550                    A(e, !0);
551                }
552            return 0 < at(e, x, null, [t]).length;
553        }),
554        (at.contains = function (t, e) {
555            return (t.ownerDocument || t) !== x && w(t), b(t, e);
556        }),
557        (at.attr = function (t, e) {
558            (t.ownerDocument || t) !== x && w(t);
559            var i = _.attrHandle[e.toLowerCase()],
560                n = i && E.call(_.attrHandle, e.toLowerCase()) ? i(t, e, !C) : void 0;
561            return void 0 !== n ? n : p.attributes || !C ? t.getAttribute(e) : (n = t.getAttributeNode(e)) && n.specified ? n.value : null;
562        }),
563        (at.escape = function (t) {
564            return (t + "").replace(st, ot);
565        }),
566        (at.error = function (t) {
567            throw new Error("Syntax error, unrecognized expression: " + t);
568        }),
569        (at.uniqueSort = function (t) {
570            var e,
571                i = [],
572                n = 0,
573                s = 0;
574            if (((c = !p.detectDuplicates), (l = !p.sortStable && t.slice(0)), t.sort(M), c)) {
575                for (; (e = t[s++]); ) e === t[s] && (n = i.push(s));
576                for (; n--; ) t.splice(i[n], 1);
577            }
578            return (l = null), t;
579        }),
580        (o = at.getText = function (t) {
581            var e,
582                i = "",
583                n = 0,
584                s = t.nodeType;
585            if (s) {
586                if (1 === s || 9 === s || 11 === s) {
587                    if ("string" == typeof t.textContent) return t.textContent;
588                    for (t = t.firstChild; t; t = t.nextSibling) i += o(t);
589                } else if (3 === s || 4 === s) return t.nodeValue;
590            } else for (; (e = t[n++]); ) i += o(e);
591            return i;
592        }),
593        ((_ = at.selectors = {
594            cacheLength: 50,
595            createPseudo: ct,
596            match: X,
597            attrHandle: {},
598            find: {},
599            relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } },
600            preFilter: {
601                ATTR: function (t) {
602                    return (t[1] = t[1].replace(nt, h)), (t[3] = (t[3] || t[4] || t[5] || "").replace(nt, h)), "~=" === t[2] && (t[3] = " " + t[3] + " "), t.slice(0, 4);
603                },
604                CHILD: function (t) {
605                    return (
606                        (t[1] = t[1].toLowerCase()),
607                        "nth" === t[1].slice(0, 3) ? (t[3] || at.error(t[0]), (t[4] = +(t[4] ? t[5] + (t[6] || 1) : 2 * ("even" === t[3] || "odd" === t[3]))), (t[5] = +(t[7] + t[8] || "odd" === t[3]))) : t[3] && at.error(t[0]),
608                        t
609                    );
610                },
611                PSEUDO: function (t) {
612                    var e,
613                        i = !t[6] && t[2];
614                    return X.CHILD.test(t[0])
615                        ? null
616                        : (t[3] ? (t[2] = t[4] || t[5] || "") : i && K.test(i) && (e = f(i, !0)) && (e = i.indexOf(")", i.length - e) - i.length) && ((t[0] = t[0].slice(0, e)), (t[2] = i.slice(0, e))), t.slice(0, 3));
617                },
618            },
619            filter: {
620                TAG: function (t) {
621                    var e = t.replace(nt, h).toLowerCase();
622                    return "*" === t
623                        ? function () {
624                              return !0;
625                          }
626                        : function (t) {
627                              return t.nodeName && t.nodeName.toLowerCase() === e;
628                          };
629                },
630                CLASS: function (t) {
631                    var e = D[t + " "];
632                    return (
633                        e ||
634                        ((e = new RegExp("(^|" + F + ")" + t + "(" + F + "|$)")) &&
635                            D(t, function (t) {
636                                return e.test(("string" == typeof t.className && t.className) || (void 0 !== t.getAttribute && t.getAttribute("class")) || "");
637                            }))
638                    );
639                },
640                ATTR: function (i, n, s) {
641                    return function (t) {
642                        var e = at.attr(t, i);
643                        return null == e
644                            ? "!=" === n
645                            : !n ||
646                                  ((e += ""),
647                                  "=" === n
648                                      ? e === s
649                                      : "!=" === n
650                                      ? e !== s
651                                      : "^=" === n
652                                      ? s && 0 === e.indexOf(s)
653                                      : "*=" === n
654                                      ? s && -1 < e.indexOf(s)
655                                      : "$=" === n
656                                      ? s && e.slice(-s.length) === s
657                                      : "~=" === n
658                                      ? -1 < (" " + e.replace(B, " ") + " ").indexOf(s)
659                                      : "|=" === n && (e === s || e.slice(0, s.length + 1) === s + "-"));
660                    };
661                },
662                CHILD: function (f, t, e, m, g) {
663                    var v = "nth" !== f.slice(0, 3),
664                        b = "last" !== f.slice(-4),
665                        y = "of-type" === t;
666                    return 1 === m && 0 === g
667                        ? function (t) {
668                              return !!t.parentNode;
669                          }
670                        : function (t, e, i) {
671                              var n,
672                                  s,
673                                  o,
674                                  r,
675                                  a,
676                                  l,
677                                  c = v != b ? "nextSibling" : "previousSibling",
678                                  u = t.parentNode,
679                                  h = y && t.nodeName.toLowerCase(),
680                                  d = !i && !y,
681                                  p = !1;
682                              if (u) {
683                                  if (v) {
684                                      for (; c; ) {
685                                          for (r = t; (r = r[c]); ) if (y ? r.nodeName.toLowerCase() === h : 1 === r.nodeType) return !1;
686                                          l = c = "only" === f && !l && "nextSibling";
687                                      }
688                                      return !0;
689                                  }
690                                  if (((l = [b ? u.firstChild : u.lastChild]), b && d)) {
691                                      for (
692                                          p = (a = (n = (s = (o = (r = u)[T] || (r[T] = {}))[r.uniqueID] || (o[r.uniqueID] = {}))[f] || [])[0] === S && n[1]) && n[2], r = a && u.childNodes[a];
693                                          (r = (++a && r && r[c]) || (p = a = 0) || l.pop());
694
695                                      )
696                                          if (1 === r.nodeType && ++p && r === t) {
697                                              s[f] = [S, a, p];
698                                              break;
699                                          }
700                                  } else if ((d && (p = a = (n = (s = (o = (r = t)[T] || (r[T] = {}))[r.uniqueID] || (o[r.uniqueID] = {}))[f] || [])[0] === S && n[1]), !1 === p))
701                                      for (
702                                          ;
703                                          (r = (++a && r && r[c]) || (p = a = 0) || l.pop()) &&
704                                          ((y ? r.nodeName.toLowerCase() !== h : 1 !== r.nodeType) || !++p || (d && ((s = (o = r[T] || (r[T] = {}))[r.uniqueID] || (o[r.uniqueID] = {}))[f] = [S, p]), r !== t));
705
706                                      );
707                                  return (p -= g) === m || (p % m == 0 && 0 <= p / m);
708                              }
709                          };
710                },
711                PSEUDO: function (t, o) {
712                    var e,
713                        r = _.pseudos[t] || _.setFilters[t.toLowerCase()] || at.error("unsupported pseudo: " + t);
714                    return r[T]
715                        ? r(o)
716                        : 1 < r.length
717                        ? ((e = [t, t, "", o]),
718                          _.setFilters.hasOwnProperty(t.toLowerCase())
719                              ? ct(function (t, e) {
720                                    for (var i, n = r(t, o), s = n.length; s--; ) t[(i = L(t, n[s]))] = !(e[i] = n[s]);
721                                })
722                              : function (t) {
723                                    return r(t, 0, e);
724                                })
725                        : r;
726                },
727            },
728            pseudos: {
729                not: ct(function (t) {
730                    var n = [],
731                        s = [],
732                        a = d(t.replace(q, "$1"));
733                    return a[T]
734                        ? ct(function (t, e, i, n) {
735                              for (var s, o = a(t, null, n, []), r = t.length; r--; ) (s = o[r]) && (t[r] = !(e[r] = s));
736                          })
737                        : function (t, e, i) {
738            
738                  return (n[0] = t), a(n, null, i, s), (n[0] = null), !s.pop();
739                          };
740                }),
741                has: ct(function (e) {
742                    return function (t) {
743                        return 0 < at(e, t).length;
744                    };
745                }),
746                contains: ct(function (e) {
747                    return (
748                        (e = e.replace(nt, h)),
749                        function (t) {
750                            return -1 < (t.textContent || o(t)).indexOf(e);
751                        }
752                    );
753                }),
754                lang: ct(function (i) {
755                    return (
756                        G.test(i || "") || at.error("unsupported lang: " + i),
757                        (i = i.replace(nt, h).toLowerCase()),
758                        function (t) {
759                            var e;
760                            do {
761                                if ((e = C ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang"))) return (e = e.toLowerCase()) === i || 0 === e.indexOf(i + "-");
762                            } while ((t = t.parentNode) && 1 === t.nodeType);
763                            return !1;
764                        }
765                    );
766                }),
767                target: function (t) {
768                    var e = i.location && i.location.hash;
769                    return e && e.slice(1) === t.id;
770                },
771                root: function (t) {
772                    return t === a;
773                },
774                focus: function (t) {
775                    return t === x.activeElement && (!x.hasFocus || x.hasFocus()) && !!(t.type || t.href || ~t.tabIndex);
776                },
777                enabled: mt(!1),
778                disabled: mt(!0),
779                checked: function (t) {
780                    var e = t.nodeName.toLowerCase();
781                    return ("input" === e && !!t.checked) || ("option" === e && !!t.selected);
782                },
783                selected: function (t) {
784                    return t.parentNode && t.parentNode.selectedIndex, !0 === t.selected;
785                },
786                empty: function (t) {
787                    for (t = t.firstChild; t; t = t.nextSibling) if (t.nodeType < 6) return !1;
788                    return !0;
789                },
790                parent: function (t) {
791                    return !_.pseudos.empty(t);
792                },
793                header: function (t) {
794                    return J.test(t.nodeName);
795                },
796                input: function (t) {
797                    return Z.test(t.nodeName);
798                },
799                button: function (t) {
800                    var e = t.nodeName.toLowerCase();
801                    return ("input" === e && "button" === t.type) || "button" === e;
802                },
803                text: function (t) {
804                    var e;
805                    return "input" === t.nodeName.toLowerCase() && "text" === t.type && (null == (e = t.getAttribute("type")) || "text" === e.toLowerCase());
806                },
807                first: gt(function () {
808                    return [0];
809                }),
810                last: gt(function (t, e) {
811                    return [e - 1];
812                }),
813                eq: gt(function (t, e, i) {
814                    return [i < 0 ? i + e : i];
815                }),
816                even: gt(function (t, e) {
817                    for (var i = 0; i < e; i += 2) t.push(i);
818                    return t;
819                }),
820                odd: gt(function (t, e) {
821                    for (var i = 1; i < e; i += 2) t.push(i);
822                    return t;
823                }),
824                lt: gt(function (t, e, i) {
825                    for (var n = i < 0 ? i + e : e < i ? e : i; 0 <= --n; ) t.push(n);
826                    return t;
827                }),
828                gt: gt(function (t, e, i) {
829                    for (var n = i < 0 ? i + e : i; ++n < e; ) t.push(n);
830                    return t;
831                }),
832            },
833        }).pseudos.nth = _.pseudos.eq),
834        { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }))
835            _.pseudos[t] = pt(t);
836        for (t in { submit: !0, reset: !0 }) _.pseudos[t] = ft(t);
837        function bt() {}
838        function yt(t) {
839            for (var e = 0, i = t.length, n = ""; e < i; e++) n += t[e].value;
840            return n;
841        }
842        function _t(a, t, e) {
843            var l = t.dir,
844                c = t.next,
845                u = c || l,
846                h = e && "parentNode" === u,
847                d = n++;
848            return t.first
849                ? function (t, e, i) {
850                      for (; (t = t[l]); ) if (1 === t.nodeType || h) return a(t, e, i);
851                      return !1;
852                  }
853                : function (t, e, i) {
854                      var n,
855                          s,
856                          o,
857                          r = [S, d];
858                      if (i) {
859                          for (; (t = t[l]); ) if ((1 === t.nodeType || h) && a(t, e, i)) return !0;
860                      } else
861                          for (; (t = t[l]); )
862                              if (1 === t.nodeType || h)
863                                  if (((s = (o = t[T] || (t[T] = {}))[t.uniqueID] || (o[t.uniqueID] = {})), c && c === t.nodeName.toLowerCase())) t = t[l] || t;
864                                  else {
865                                      if ((n = s[u]) && n[0] === S && n[1] === d) return (r[2] = n[2]);
866                                      if (((s[u] = r)[2] = a(t, e, i))) return !0;
867                                  }
868                      return !1;
869                  };
870        }
871        function kt(s) {
872            return 1 < s.length
873                ? function (t, e, i) {
874                      for (var n = s.length; n--; ) if (!s[n](t, e, i)) return !1;
875                      return !0;
876                  }
877                : s[0];
878        }
879        function wt(t, e, i, n, s) {
880            for (var o, r = [], a = 0, l = t.length, c = null != e; a < l; a++) (o = t[a]) && ((i && !i(o, n, s)) || (r.push(o), c && e.push(a)));
881            return r;
882        }
883        function xt(p, f, m, g, v, t) {
884            return (
885                g && !g[T] && (g = xt(g)),
886                v && !v[T] && (v = xt(v, t)),
887                ct(function (t, e, i, n) {
888                    var s,
889                        o,
890                        r,
891                        a = [],
892                        l = [],
893                        c = e.length,
894                        u =
895                            t ||
896                            (function (t, e, i) {
897                                for (var n = 0, s = e.length; n < s; n++) at(t, e[n], i);
898                                return i;
899                            })(f || "*", i.nodeType ? [i] : i, []),
900                        h = !p || (!t && f) ? u : wt(u, a, p, i, n),
901                        d = m ? (v || (t ? p : c || g) ? [] : e) : h;
902                    if ((m && m(h, d, i, n), g)) for (s = wt(d, l), g(s, [], i, n), o = s.length; o--; ) (r = s[o]) && (d[l[o]] = !(h[l[o]] = r));
903                    if (t) {
904                        if (v || p) {
905                            if (v) {
906                                for (s = [], o = d.length; o--; ) (r = d[o]) && s.push((h[o] = r));
907                                v(null, (d = []), s, n);
908                            }
909                            for (o = d.length; o--; ) (r = d[o]) && -1 < (s = v ? L(t, r) : a[o]) && (t[s] = !(e[s] = r));
910                        }
911                    } else (d = wt(d === e ? d.splice(c, d.length) : d)), v ? v(null, e, d, n) : N.apply(e, d);
912                })
913            );
914        }
915        function Ct(t) {
916            for (
917                var s,
918                    e,
919                    i,
920                    n = t.length,
921                    o = _.relative[t[0].type],
922                    r = o || _.relative[" "],
923                    a = o ? 1 : 0,
924                    l = _t(
925                        function (t) {
926                            return t === s;
927                        },
928                        r,
929                        !0
930                    ),
931                    c = _t(
932                        function (t) {
933                            return -1 < L(s, t);
934                        },
935                        r,
936                        !0
937                    ),
938                    u = [
939                        function (t, e, i) {
940                            var n = (!o && (i || e !== k)) || ((s = e).nodeType ? l : c)(t, e, i);
941                            return (s = null), n;
942                        },
943                    ];
944                a < n;
945                a++
946            )
947                if ((e = _.relative[t[a].type])) u = [_t(kt(u), e)];
948                else {
949                    if ((e = _.filter[t[a].type].apply(null, t[a].matches))[T]) {
950                        for (i = ++a; i < n && !_.relative[t[i].type]; i++);
951                        return xt(1 < a && kt(u), 1 < a && yt(t.slice(0, a - 1).concat({ value: " " === t[a - 2].type ? "*" : "" })).replace(q, "$1"), e, a < i && Ct(t.slice(a, i)), i < n && Ct((t = t.slice(i))), i < n && yt(t));
952                    }
953                    u.push(e);
954                }
955            return kt(u);
956        }
957        return (
958            (bt.prototype = _.filters = _.pseudos),
959            (_.setFilters = new bt()),
960            (f = at.tokenize = function (t, e) {
961                var i,
962                    n,
963                    s,
964                    o,
965                    r,
966                    a,
967                    l,
968                    c = P[t + " "];
969                if (c) return e ? 0 : c.slice(0);
970                for (r = t, a = [], l = _.preFilter; r; ) {
971                    for (o in ((i && !(n = Y.exec(r))) || (n && (r = r.slice(n[0].length) || r), a.push((s = []))),
972                    (i = !1),
973                    (n = U.exec(r)) && ((i = n.shift()), s.push({ value: i, type: n[0].replace(q, " ") }), (r = r.slice(i.length))),
974                    _.filter))
975                        !(n = X[o].exec(r)) || (l[o] && !(n = l[o](n))) || ((i = n.shift()), s.push({ value: i, type: o, matches: n }), (r = r.slice(i.length)));
976                    if (!i) break;
977                }
978                return e ? r.length : r ? at.error(t) : P(t, a).slice(0);
979            }),
980            (d = at.compile = function (t, e) {
981                var i,
982                    g,
983                    v,
984                    b,
985                    y,
986                    n,
987                    s = [],
988                    o = [],
989                    r = I[t + " "];
990                if (!r) {
991                    for (i = (e = e || f(t)).length; i--; ) (r = Ct(e[i]))[T] ? s.push(r) : o.push(r);
992                    (r = I(
993                        t,
994                        ((g = o),
995                        (b = 0 < (v = s).length),
996                        (y = 0 < g.length),
997                        (n = function (t, e, i, n, s) {
998                            var o,
999                                r,
1000                                a,
1001                                l = 0,
1002                                c = "0",
1003                                u = t && [],
1004                                h = [],
1005                                d = k,
1006                                p = t || (y && _.find.TAG("*", s)),
1007                                f = (S += null == d ? 1 : Math.random() || 0.1),
1008                                m = p.length;
1009                            for (s && (k = e === x || e || s); c !== m && null != (o = p[c]); c++) {
1010                                if (y && o) {
1011                                    for (r = 0, e || o.ownerDocument === x || (w(o), (i = !C)); (a = g[r++]); )
1012                                        if (a(o, e || x, i)) {
1013                                            n.push(o);
1014                                            break;
1015                                        }
1016                                    s && (S = f);
1017                                }
1018                                b && ((o = !a && o) && l--, t && u.push(o));
1019                            }
1020                            if (((l += c), b && c !== l)) {
1021                                for (r = 0; (a = v[r++]); ) a(u, h, e, i);
1022                                if (t) {
1023                                    if (0 < l) for (; c--; ) u[c] || h[c] || (h[c] = O.call(n));
1024                                    h = wt(h);
1025                                }
1026                                N.apply(n, h), s && !t && 0 < h.length && 1 < l + v.length && at.uniqueSort(n);
1027                            }
1028                            return s && ((S = f), (k = d)), u;
1029                        }),
1030                        b ? ct(n) : n)
1031                    )).selector = t;
1032                }
1033                return r;
1034            }),
1035            (m = at.select = function (t, e, i, n) {
1036                var s,
1037                    o,
1038                    r,
1039                    a,
1040                    l,
1041                    c = "function" == typeof t && t,
1042                    u = !n && f((t = c.selector || t));
1043                if (((i = i || []), 1 === u.length)) {
1044                    if (2 < (o = u[0] = u[0].slice(0)).length && "ID" === (r = o[0]).type && 9 === e.nodeType && C && _.relative[o[1].type]) {
1045                        if (!(e = (_.find.ID(r.matches[0].replace(nt, h), e) || [])[0])) return i;
1046                        c && (e = e.parentNode), (t = t.slice(o.shift().value.length));
1047                    }
1048                    for (s = X.needsContext.test(t) ? 0 : o.length; s-- && ((r = o[s]), !_.relative[(a = r.type)]); )
1049                        if ((l = _.find[a]) && (n = l(r.matches[0].replace(nt, h), (it.test(o[0].type) && vt(e.parentNode)) || e))) {
1050                            if ((o.splice(s, 1), !(t = n.length && yt(o)))) return N.apply(i, n), i;
1051                            break;
1052                        }
1053                }
1054                return (c || d(t, u))(n, e, !C, i, !e || (it.test(t) && vt(e.parentNode)) || e), i;
1055            }),
1056            (p.sortStable = T.split("").sort(M).join("") === T),
1057            (p.detectDuplicates = !!c),
1058            w(),
1059            (p.sortDetached = ut(function (t) {
1060                return 1 & t.compareDocumentPosition(x.createElement("fieldset"));
1061            })),
1062            ut(function (t) {
1063                return (t.innerHTML = "<a href='#'></a>"), "#" === t.firstChild.getAttribute("href");
1064            }) ||
1065                ht("type|href|height|width", function (t, e, i) {
1066                    if (!i) return t.getAttribute(e, "type" === e.toLowerCase() ? 1 : 2);
1067                }),
1068            (p.attributes &&
1069                ut(function (t) {
1070                    return (t.innerHTML = "<input/>"), t.firstChild.setAttribute("value", ""), "" === t.firstChild.getAttribute("value");
1071                })) ||
1072                ht("value", function (t, e, i) {
1073                    if (!i && "input" === t.nodeName.toLowerCase()) return t.defaultValue;
1074                }),
1075            ut(function (t) {
1076                return null == t.getAttribute("disabled");
1077            }) ||
1078                ht(j, function (t, e, i) {
1079                    var n;
1080                    if (!i) return !0 === t[e] ? e.toLowerCase() : (n = t.getAttributeNode(e)) && n.specified ? n.value : null;
1081                }),
1082            at
1083        );
1084    })(x);
1085    (T.find = f), (T.expr = f.selectors), (T.expr[":"] = T.expr.pseudos), (T.uniqueSort = T.unique = f.uniqueSort), (T.text = f.getText), (T.isXMLDoc = f.isXML), (T.contains = f.contains), (T.escapeSelector = f.escape);
1086    function w(t, e, i) {
1087        for (var n = [], s = void 0 !== i; (t = t[e]) && 9 !== t.nodeType; )
1088            if (1 === t.nodeType) {
1089                if (s && T(t).is(i)) break;
1090                n.push(t);
1091            }
1092        return n;
1093    }
1094    function S(t, e) {
1095        for (var i = []; t; t = t.nextSibling) 1 === t.nodeType && t !== e && i.push(t);
1096        return i;
1097    }
1098    var D = T.expr.match.needsContext;
1099    function P(t, e) {
1100        return t.nodeName && t.nodeName.toLowerCase() === e.toLowerCase();
1101    }
1102    var I = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;
1103    function A(t, i, n) {
1104        return y(i)
1105            ? T.grep(t, function (t, e) {
1106                  return !!i.call(t, e, t) !== n;
1107              })
1108            : i.nodeType
1109            ? T.grep(t, function (t) {
1110                  return (t === i) !== n;
1111              })
1112            : "string" != typeof i
1113            ? T.grep(t, function (t) {
1114                  return -1 < s.call(i, t) !== n;
1115              })
1116            : T.filter(i, t, n);
1117    }
1118    (T.filter = function (t, e, i) {
1119        var n = e[0];
1120        return (
1121            i && (t = ":not(" + t + ")"),
1122            1 === e.length && 1 === n.nodeType
1123                ? T.find.matchesSelector(n, t)
1124                    ? [n]
1125                    : []
1126                : T.find.matches(
1127                      t,
1128                      T.grep(e, function (t) {
1129                          return 1 === t.nodeType;
1130                      })
1131                  )
1132        );
1133    }),
1134        T.fn.extend({
1135            find: function (t) {
1136                var e,
1137                    i,
1138                    n = this.length,
1139                    s = this;
1140                if ("string" != typeof t)
1141                    return this.pushStack(
1142                        T(t).filter(function () {
1143                            for (e = 0; e < n; e++) if (T.contains(s[e], this)) return !0;
1144                        })
1145                    );
1146                for (i = this.pushStack([]), e = 0; e < n; e++) T.find(t, s[e], i);
1147                return 1 < n ? T.uniqueSort(i) : i;
1148            },
1149            filter: function (t) {
1150                return this.pushStack(A(this, t || [], !1));
1151            },
1152            not: function (t) {
1153                return this.pushStack(A(this, t || [], !0));
1154            },
1155            is: function (t) {
1156                return !!A(this, "string" == typeof t && D.test(t) ? T(t) : t || [], !1).length;
1157            },
1158        });
1159    var M,
1160        E = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;
1161    ((T.fn.init = function (t, e, i) {
1162        var n, s;
1163        if (!t) return this;
1164        if (((i = i || M), "string" != typeof t)) return t.nodeType ? ((this[0] = t), (this.length = 1), this) : y(t) ? (void 0 !== i.ready ? i.ready(t) : t(T)) : T.makeArray(t, this);
1165        if (!(n = "<" === t[0] && ">" === t[t.length - 1] && 3 <= t.length ? [null, t, null] : E.exec(t)) || (!n[1] && e)) return !e || e.jquery ? (e || i).find(t) : this.constructor(e).find(t);
1166        if (n[1]) {
1167            if (((e = e instanceof T ? e[0] : e), T.merge(this, T.parseHTML(n[1], e && e.nodeType ? e.ownerDocument || e : C, !0)), I.test(n[1]) && T.isPlainObject(e))) for (n in e) y(this[n]) ? this[n](e[n]) : this.attr(n, e[n]);
1168            return this;
1169        }
1170        return (s = C.getElementById(n[2])) && ((this[0] = s), (this.length = 1)), this;
1171    }).prototype = T.fn),
1172        (M = T(C));
1173    var O = /^(?:parents|prev(?:Until|All))/,
1174        H = { children: !0, contents: !0, next: !0, prev: !0 };
1175    function N(t, e) {
1176        for (; (t = t[e]) && 1 !== t.nodeType; );
1177        return t;
1178    }
1179    T.fn.extend({
1180        has: function (t) {
1181            var e = T(t, this),
1182                i = e.length;
1183            return this.filter(function () {
1184                for (var t = 0; t < i; t++) if (T.contains(this, e[t])) return !0;
1185            });
1186        },
1187        closest: function (t, e) {
1188            var i,
1189                n = 0,
1190                s = this.length,
1191                o = [],
1192                r = "string" != typeof t && T(t);
1193            if (!D.test(t))
1194                for (; n < s; n++)
1195                    for (i = this[n]; i && i !== e; i = i.parentNode)
1196                        if (i.nodeType < 11 && (r ? -1 < r.index(i) : 1 === i.nodeType && T.find.matchesSelector(i, t))) {
1197                            o.push(i);
1198                            break;
1199                        }
1200            return this.pushStack(1 < o.length ? T.uniqueSort(o) : o);
1201        },
1202        index: function (t) {
1203            return t ? ("string" == typeof t ? s.call(T(t), this[0]) : s.call(this, t.jquery ? t[0] : t)) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1;
1204        },
1205        add: function (t, e) {
1206            return this.pushStack(T.uniqueSort(T.merge(this.get(), T(t, e))));
1207        },
1208        addBack: function (t) {
1209            return this.add(null == t ? this.prevObject : this.prevObject.filter(t));
1210        },
1211    }),
1212        T.each(
1213            {
1214                parent: function (t) {
1215                    var e = t.parentNode;
1216                    return e && 11 !== e.nodeType ? e : null;
1217                },
1218                parents: function (t) {
1219                    return w(t, "parentNode");
1220                },
1221                parentsUntil: function (t, e, i) {
1222                    return w(t, "parentNode", i);
1223                },
1224                next: function (t) {
1225                    return N(t, "nextSibling");
1226                },
1227                prev: function (t) {
1228                    return N(t, "previousSibling");
1229                },
1230                nextAll: function (t) {
1231                    return w(t, "nextSibling");
1232                },
1233                prevAll: function (t) {
1234                    return w(t, "previousSibling");
1235                },
1236                nextUntil: function (t, e, i) {
1237                    return w(t, "nextSibling", i);
1238                },
1239                prevUntil: function (t, e, i) {
1240                    return w(t, "previousSibling", i);
1241                },
1242                siblings: function (t) {
1243                    return S((t.parentNode || {}).firstChild, t);
1244                },
1245                children: function (t) {
1246                    return S(t.firstChild);
1247                },
1248                contents: function (t) {
1249                    return void 0 !== t.contentDocument ? t.contentDocument : (P(t, "template") && (t = t.content || t), T.merge([], t.childNodes));
1250                },
1251            },
1252            function (n, s) {
1253                T.fn[n] = function (t, e) {
1254                    var i = T.map(this, s, t);
1255                    return "Until" !== n.slice(-5) && (e = t), e && "string" == typeof e && (i = T.filter(e, i)), 1 < this.length && (H[n] || T.uniqueSort(i), O.test(n) && i.reverse()), this.pushStack(i);
1256                };
1257            }
1258        );
1259    var z = /[^\x20\t\r\n\f]+/g;
1260    function L(t) {
1261        return t;
1262    }
1263    function j(t) {
1264        throw t;
1265    }
1266    function F(t, e, i, n) {
1267        var s;
1268        try {
1269            t && y((s = t.promise)) ? s.call(t).done(e).fail(i) : t && y((s = t.then)) ? s.call(t, e, i) : e.apply(void 0, [t].slice(n));
1270        } catch (t) {
1271            i.apply(void 0, [t]);
1272        }
1273    }
1274    (T.Callbacks = function (n) {
1275        var i;
1276        n =
1277            "string" == typeof n
1278                ? ((i = {}),
1279                  T.each(n.match(z) || [], function (t, e) {
1280                      i[e] = !0;
1281                  }),
1282                  i)
1283                : T.extend({}, n);
1284        function s() {
1285            for (r = r || n.once, e = o = !0; l.length; c = -1) for (t = l.shift(); ++c < a.length; ) !1 === a[c].apply(t[0], t[1]) && n.stopOnFalse && ((c = a.length), (t = !1));
1286            n.memory || (t = !1), (o = !1), r && (a = t ? [] : "");
1287        }
1288        var o,
1289            t,
1290            e,
1291            r,
1292            a = [],
1293            l = [],
1294            c = -1,
1295            u = {
1296                add: function () {
1297                    return (
1298                        a &&
1299                            (t && !o && ((c = a.length - 1), l.push(t)),
1300                            (function i(t) {
1301                                T.each(t, function (t, e) {
1302                                    y(e) ? (n.unique && u.has(e)) || a.push(e) : e && e.length && "string" !== k(e) && i(e);
1303                                });
1304                            })(arguments),
1305                            t && !o && s()),
1306                        this
1307                    );
1308                },
1309                remove: function () {
1310                    return (
1311                        T.each(arguments, function (t, e) {
1312                            for (var i; -1 < (i = T.inArray(e, a, i)); ) a.splice(i, 1), i <= c && c--;
1313                        }),
1314                        this
1315                    );
1316                },
1317                has: function (t) {
1318                    return t ? -1 < T.inArray(t, a) : 0 < a.length;
1319                },
1320                empty: function () {
1321                    return (a = a && []), this;
1322                },
1323                disable: function () {
1324                    return (r = l = []), (a = t = ""), this;
1325                },
1326                disabled: function () {
1327                    return !a;
1328                },
1329                lock: function () {
1330                    return (r = l = []), t || o || (a = t = ""), this;
1331                },
1332                locked: function () {
1333                    return !!r;
1334                },
1335                fireWith: function (t, e) {
1336                    return r || ((e = [t, (e = e || []).slice ? e.slice() : e]), l.push(e), o || s()), this;
1337                },
1338                fire: function () {
1339                    return u.fireWith(this, arguments), this;
1340                },
1341                fired: function () {
1342                    return !!e;
1343                },
1344            };
1345        return u;
1346    }),
1347        T.extend({
1348            Deferred: function (t) {
1349                var o = [
1350                        ["notify", "progress", T.Callbacks("memory"), T.Callbacks("memory"), 2],
1351                        ["resolve", "done", T.Callbacks("once memory"), T.Callbacks("once memory"), 0, "resolved"],
1352                        ["reject", "fail", T.Callbacks("once memory"), T.Callbacks("once memory"), 1, "rejected"],
1353                    ],
1354                    s = "pending",
1355                    r = {
1356                        state: function () {
1357                            return s;
1358                        },
1359                        always: function () {
1360                            return a.done(arguments).fail(arguments), this;
1361                        },
1362                        catch: function (t) {
1363                            return r.then(null, t);
1364                        },
1365                        pipe: function () {
1366                            var s = arguments;
1367                            return T.Deferred(function (n) {
1368                                T.each(o, function (t, e) {
1369                                    var i = y(s[e[4]]) && s[e[4]];
1370                                    a[e[1]](function () {
1371                                        var t = i && i.apply(this, arguments);
1372                                        t && y(t.promise) ? t.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[e[0] + "With"](this, i ? [t] : arguments);
1373                                    });
1374                                }),
1375                                    (s = null);
1376                            }).promise();
1377                        },
1378                        then: function (e, i, n) {
1379                            var l = 0;
1380                            function c(s, o, r, a) {
1381                                return function () {
1382                                    function t() {
1383                                        var t, e;
1384                                        if (!(s < l)) {
1385                                            if ((t = r.apply(i, n)) === o.promise()) throw new TypeError("Thenable self
1385-resolution");
1386                                            (e = t && ("object" == typeof t || "function" == typeof t) && t.then),
1387                                                y(e)
1388                                                    ? a
1389                                                        ? e.call(t, c(l, o, L, a), c(l, o, j, a))
1390                                                        : (l++, e.call(t, c(l, o, L, a), c(l, o, j, a), c(l, o, L, o.notifyWith)))
1391                                                    : (r !== L && ((i = void 0), (n = [t])), (a || o.resolveWith)(i, n));
1392                                        }
1393                                    }
1394                                    var i = this,
1395                                        n = arguments,
1396                                        e = a
1397                                            ? t
1398                                            : function () {
1399                                                  try {
1400                                                      t();
1401                                                  } catch (t) {
1402                                                      T.Deferred.exceptionHook && T.Deferred.exceptionHook(t, e.stackTrace), l <= s + 1 && (r !== j && ((i = void 0), (n = [t])), o.rejectWith(i, n));
1403                                                  }
1404                                              };
1405                                    s ? e() : (T.Deferred.getStackHook && (e.stackTrace = T.Deferred.getStackHook()), x.setTimeout(e));
1406                                };
1407                            }
1408                            return T.Deferred(function (t) {
1409                                o[0][3].add(c(0, t, y(n) ? n : L, t.notifyWith)), o[1][3].add(c(0, t, y(e) ? e : L)), o[2][3].add(c(0, t, y(i) ? i : j));
1410                            }).promise();
1411                        },
1412                        promise: function (t) {
1413                            return null != t ? T.extend(t, r) : r;
1414                        },
1415                    },
1416                    a = {};
1417                return (
1418                    T.each(o, function (t, e) {
1419                        var i = e[2],
1420                            n = e[5];
1421                        (r[e[1]] = i.add),
1422                            n &&
1423                                i.add(
1424                                    function () {
1425                                        s = n;
1426                                    },
1427                                    o[3 - t][2].disable,
1428                                    o[3 - t][3].disable,
1429                                    o[0][2].lock,
1430                                    o[0][3].lock
1431                                ),
1432                            i.add(e[3].fire),
1433                            (a[e[0]] = function () {
1434                                return a[e[0] + "With"](this === a ? void 0 : this, arguments), this;
1435                            }),
1436                            (a[e[0] + "With"] = i.fireWith);
1437                    }),
1438                    r.promise(a),
1439                    t && t.call(a, a),
1440                    a
1441                );
1442            },
1443            when: function (t) {
1444                function e(e) {
1445                    return function (t) {
1446                        (s[e] = this), (o[e] = 1 < arguments.length ? a.call(arguments) : t), --i || r.resolveWith(s, o);
1447                    };
1448                }
1449                var i = arguments.length,
1450                    n = i,
1451                    s = Array(n),
1452                    o = a.call(arguments),
1453                    r = T.Deferred();
1454                if (i <= 1 && (F(t, r.done(e(n)).resolve, r.reject, !i), "pending" === r.state() || y(o[n] && o[n].then))) return r.then();
1455                for (; n--; ) F(o[n], e(n), r.reject);
1456                return r.promise();
1457            },
1458        });
1459    var R = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
1460    (T.Deferred.exceptionHook = function (t, e) {
1461        x.console && x.console.warn && t && R.test(t.name) && x.console.warn("jQuery.Deferred exception: " + t.message, t.stack, e);
1462    }),
1463        (T.readyException = function (t) {
1464            x.setTimeout(function () {
1465                throw t;
1466            });
1467        });
1468    var W = T.Deferred();
1469    function $() {
1470        C.removeEventListener("DOMContentLoaded", $), x.removeEventListener("load", $), T.ready();
1471    }
1472    (T.fn.ready = function (t) {
1473        return (
1474            W.then(t).catch(function (t) {
1475                T.readyException(t);
1476            }),
1477            this
1478        );
1479    }),
1480        T.extend({
1481            isReady: !1,
1482            readyWait: 1,
1483            ready: function (t) {
1484                (!0 === t ? --T.readyWait : T.isReady) || ((T.isReady = !0) !== t && 0 < --T.readyWait) || W.resolveWith(C, [T]);
1485            },
1486        }),
1487        (T.ready.then = W.then),
1488        "complete" === C.readyState || ("loading" !== C.readyState && !C.documentElement.doScroll) ? x.setTimeout(T.ready) : (C.addEventListener("DOMContentLoaded", $), x.addEventListener("load", $));
1489    var B = function (t, e, i, n, s, o, r) {
1490            var a = 0,
1491                l = t.length,
1492                c = null == i;
1493            if ("object" === k(i)) for (a in ((s = !0), i)) B(t, e, a, i[a], !0, o, r);
1494            else if (
1495                void 0 !== n &&
1496                ((s = !0),
1497                y(n) || (r = !0),
1498                c &&
1499                    (e = r
1500                        ? (e.call(t, n), null)
1501                        : ((c = e),
1502                          function (t, e, i) {
1503                              return c.call(T(t), i);
1504                          })),
1505                e)
1506            )
1507                for (; a < l; a++) e(t[a], i, r ? n : n.call(t[a], a, e(t[a], i)));
1508            return s ? t : c ? e.call(t) : l ? e(t[0], i) : o;
1509        },
1510        q = /^-ms-/,
1511        Y = /-([a-z])/g;
1512    function U(t, e) {
1513        return e.toUpperCase();
1514    }
1515    function V(t) {
1516        return t.replace(q, "ms-").replace(Y, U);
1517    }
1518    function K(t) {
1519        return 1 === t.nodeType || 9 === t.nodeType || !+t.nodeType;
1520    }
1521    function G() {
1522        this.expando = T.expando + G.uid++;
1523    }
1524    (G.uid = 1),
1525        (G.prototype = {
1526            cache: function (t) {
1527                var e = t[this.expando];
1528                return e || ((e = {}), K(t) && (t.nodeType ? (t[this.expando] = e) : Object.defineProperty(t, this.expando, { value: e, configurable: !0 }))), e;
1529            },
1530            set: function (t, e, i) {
1531                var n,
1532                    s = this.cache(t);
1533                if ("string" == typeof e) s[V(e)] = i;
1534                else for (n in e) s[V(n)] = e[n];
1535                return s;
1536            },
1537            get: function (t, e) {
1538                return void 0 === e ? this.cache(t) : t[this.expando] && t[this.expando][V(e)];
1539            },
1540            access: function (t, e, i) {
1541                return void 0 === e || (e && "string" == typeof e && void 0 === i) ? this.get(t, e) : (this.set(t, e, i), void 0 !== i ? i : e);
1542            },
1543            remove: function (t, e) {
1544                var i,
1545                    n = t[this.expando];
1546                if (void 0 !== n) {
1547                    if (void 0 !== e) {
1548                        i = (e = Array.isArray(e) ? e.map(V) : (e = V(e)) in n ? [e] : e.match(z) || []).length;
1549                        for (; i--; ) delete n[e[i]];
1550                    }
1551                    (void 0 !== e && !T.isEmptyObject(n)) || (t.nodeType ? (t[this.expando] = void 0) : delete t[this.expando]);
1552                }
1553            },
1554            hasData: function (t) {
1555                var e = t[this.expando];
1556                return void 0 !== e && !T.isEmptyObject(e);
1557            },
1558        });
1559    var X = new G(),
1560        Q = new G(),
1561        Z = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
1562        J = /[A-Z]/g;
1563    function tt(t, e, i) {
1564        var n, s;
1565        if (void 0 === i && 1 === t.nodeType)
1566            if (((n = "data-" + e.replace(J, "-$&").toLowerCase()), "string" == typeof (i = t.getAttribute(n)))) {
1567                try {
1568                    i = "true" === (s = i) || ("false" !== s && ("null" === s ? null : s === +s + "" ? +s : Z.test(s) ? JSON.parse(s) : s));
1569                } catch (t) {}
1570                Q.set(t, e, i);
1571            } else i = void 0;
1572        return i;
1573    }
1574    T.extend({
1575        hasData: function (t) {
1576            return Q.hasData(t) || X.hasData(t);
1577        },
1578        data: function (t, e, i) {
1579            return Q.access(t, e, i);
1580        },
1581        removeData: function (t, e) {
1582            Q.remove(t, e);
1583        },
1584        _data: function (t, e, i) {
1585            return X.access(t, e, i);
1586        },
1587        _removeData: function (t, e) {
1588            X.remove(t, e);
1589        },
1590    }),
1591        T.fn.extend({
1592            data: function (i, t) {
1593                var e,
1594                    n,
1595                    s,
1596                    o = this[0],
1597                    r = o && o.attributes;
1598                if (void 0 !== i)
1599                    return "object" == typeof i
1600                        ? this.each(function () {
1601                              Q.set(this, i);
1602                          })
1603                        : B(
1604                              this,
1605                              function (t) {
1606                                  var e;
1607                                  if (o && void 0 === t) return void 0 !== (e = Q.get(o, i)) || void 0 !== (e = tt(o, i)) ? e : void 0;
1608                                  this.each(function () {
1609                                      Q.set(this, i, t);
1610                                  });
1611                              },
1612                              null,
1613                              t,
1614                              1 < arguments.length,
1615                              null,
1616                              !0
1617                          );
1618                if (this.length && ((s = Q.get(o)), 1 === o.nodeType && !X.get(o, "hasDataAttrs"))) {
1619                    for (e = r.length; e--; ) r[e] && 0 === (n = r[e].name).indexOf("data-") && ((n = V(n.slice(5))), tt(o, n, s[n])
1619);
1620                    X.set(o, "hasDataAttrs", !0);
1621                }
1622                return s;
1623            },
1624            removeData: function (t) {
1625                return this.each(function () {
1626                    Q.remove(this, t);
1627                });
1628            },
1629        }),
1630        T.extend({
1631            queue: function (t, e, i) {
1632                var n;
1633                if (t) return (e = (e || "fx") + "queue"), (n = X.get(t, e)), i && (!n || Array.isArray(i) ? (n = X.access(t, e, T.makeArray(i))) : n.push(i)), n || [];
1634            },
1635            dequeue: function (t, e) {
1636                e = e || "fx";
1637                var i = T.queue(t, e),
1638                    n = i.length,
1639                    s = i.shift(),
1640                    o = T._queueHooks(t, e);
1641                "inprogress" === s && ((s = i.shift()), n--),
1642                    s &&
1643                        ("fx" === e && i.unshift("inprogress"),
1644                        delete o.stop,
1645                        s.call(
1646                            t,
1647                            function () {
1648                                T.dequeue(t, e);
1649                            },
1650                            o
1651                        )),
1652                    !n && o && o.empty.fire();
1653            },
1654            _queueHooks: function (t, e) {
1655                var i = e + "queueHooks";
1656                return (
1657                    X.get(t, i) ||
1658                    X.access(t, i, {
1659                        empty: T.Callbacks("once memory").add(function () {
1660                            X.remove(t, [e + "queue", i]);
1661                        }),
1662                    })
1663                );
1664            },
1665        }),
1666        T.fn.extend({
1667            queue: function (e, i) {
1668                var t = 2;
1669                return (
1670                    "string" != typeof e && ((i = e), (e = "fx"), t--),
1671                    arguments.length < t
1672                        ? T.queue(this[0], e)
1673                        : void 0 === i
1674                        ? this
1675                        : this.each(function () {
1676                              var t = T.queue(this, e, i);
1677                              T._queueHooks(this, e), "fx" === e && "inprogress" !== t[0] && T.dequeue(this, e);
1678                          })
1679                );
1680            },
1681            dequeue: function (t) {
1682                return this.each(function () {
1683                    T.dequeue(this, t);
1684                });
1685            },
1686            clearQueue: function (t) {
1687                return this.queue(t || "fx", []);
1688            },
1689            promise: function (t, e) {
1690                function i() {
1691                    --s || o.resolveWith(r, [r]);
1692                }
1693                var n,
1694                    s = 1,
1695                    o = T.Deferred(),
1696                    r = this,
1697                    a = this.length;
1698                for ("string" != typeof t && ((e = t), (t = void 0)), t = t || "fx"; a--; ) (n = X.get(r[a], t + "queueHooks")) && n.empty && (s++, n.empty.add(i));
1699                return i(), o.promise(e);
1700            },
1701        });
1702    var et = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
1703        it = new RegExp("^(?:([+-])=|)(" + et + ")([a-z%]*)$", "i"),
1704        nt = ["Top", "Right", "Bottom", "Left"],
1705        st = C.documentElement,
1706        ot = function (t) {
1707            return T.contains(t.ownerDocument, t);
1708        },
1709        rt = { composed: !0 };
1710    st.getRootNode &&
1711        (ot = function (t) {
1712            return T.contains(t.ownerDocument, t) || t.getRootNode(rt) === t.ownerDocument;
1713        });
1714    function at(t, e) {
1715        return "none" === (t = e || t).style.display || ("" === t.style.display && ot(t) && "none" === T.css(t, "display"));
1716    }
1717    function lt(t, e, i, n) {
1718        var s,
1719            o,
1720            r = {};
1721        for (o in e) (r[o] = t.style[o]), (t.style[o] = e[o]);
1722        for (o in ((s = i.apply(t, n || [])), e)) t.style[o] = r[o];
1723        return s;
1724    }
1725    function ct(t, e, i, n) {
1726        var s,
1727            o,
1728            r = 20,
1729            a = n
1730                ? function () {
1731                      return n.cur();
1732                  }
1733                : function () {
1734                      return T.css(t, e, "");
1735                  },
1736            l = a(),
1737            c = (i && i[3]) || (T.cssNumber[e] ? "" : "px"),
1738            u = t.nodeType && (T.cssNumber[e] || ("px" !== c && +l)) && it.exec(T.css(t, e));
1739        if (u && u[3] !== c) {
1740            for (l /= 2, c = c || u[3], u = +l || 1; r--; ) T.style(t, e, u + c), (1 - o) * (1 - (o = a() / l || 0.5)) <= 0 && (r = 0), (u /= o);
1741            (u *= 2), T.style(t, e, u + c), (i = i || []);
1742        }
1743        return i && ((u = +u || +l || 0), (s = i[1] ? u + (i[1] + 1) * i[2] : +i[2]), n && ((n.unit = c), (n.start = u), (n.end = s
1743))), s;
1744    }
1745    var ut = {};
1746    function ht(t, e) {
1747        for (var i, n, s, o, r, a, l = [], c = 0, u = t.length; c < u; c++)
1748            (n = t[c]).style &&
1749                ((i = n.style.display),
1750                e
1751                    ? ("none" === i && ((l[c] = X.get(n, "display") || null), l[c] || (n.style.display = "")),
1752                      "" === n.style.display &&
1753                          at(n) &&
1754                          (l[c] =
1755                              ((a = o = s = void 0),
1756                              (o = n.ownerDocument),
1757                              (r = n.nodeName),
1758                              (a = ut[r]) || ((s = o.body.appendChild(o.createElement(r))), (a = T.css(s, "display")), s.parentNode.removeChild(s), "none" === a && (a = "block"), (ut[r] = a)))))
1759                    : "none" !== i && ((l[c] = "none"), X.set(n, "display", i)));
1760        for (c = 0; c < u; c++) null != l[c] && (t[c].style.display = l[c]);
1761        return t;
1762    }
1763    T.fn.extend({
1764        show: function () {
1765            return ht(this, !0);
1766        },
1767        hide: function () {
1768            return ht(this);
1769        },
1770        toggle: function (t) {
1771            return "boolean" == typeof t
1772                ? t
1773                    ? this.show()
1774                    : this.hide()
1775                : this.each(function () {
1776                      at(this) ? T(this).show() : T(this).hide();
1777                  });
1778        },
1779    });
1780    var dt = /^(?:checkbox|radio)$/i,
1781        pt = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i,
1782        ft = /^$|^module$|\/(?:java|ecma)script/i,
1783        mt = {
1784            option: [1, "<select multiple='multiple'>", "</select>"],
1785            thead: [1, "<table>", "</table>"],
1786            col: [2, "<table><colgroup>", "</colgroup></table>"],
1787            tr: [2, "<table><tbody>", "</tbody></table>"],
1788            td: [3, "<table><tbody><tr>", "</tr></tbody></table>"],
1789            _default: [0, "", ""],
1790        };
1791    function gt(t, e) {
1792        var i;
1793        return (i = void 0 !== t.getElementsByTagName ? t.getElementsByTagName(e || "*") : void 0 !== t.querySelectorAll ? t.querySelectorAll(e || "*") : []), void 0 === e || (e && P(t, e)) ? T.merge([t], i) : i;
1794    }
1795    function vt(t, e) {
1796        for (var i = 0, n = t.length; i < n; i++) X.set(t[i], "globalEval", !e || X.get(e[i], "globalEval"));
1797    }
1798    (mt.optgroup = mt.option), (mt.tbody = mt.tfoot = mt.colgroup = mt.caption = mt.thead), (mt.th = mt.td);
1799    var bt,
1800        yt,
1801        _t = /<|&#?\w+;/;
1802    function kt(t, e, i, n, s) {
1803        for (var o, r, a, l, c, u, h = e.createDocumentFragment(), d = [], p = 0, f = t.length; p < f; p++)
1804            if ((o = t[p]) || 0 === o)
1805                if ("object" === k(o)) T.merge(d, o.nodeType ? [o] : o);
1806                else if (_t.test(o)) {
1807                    for (r = r || h.appendChild(e.createElement("div")), a = (pt.exec(o) || ["", ""])[1].toLowerCase(), l = mt[a] || mt._default, r.innerHTML = l[1] + T.htmlPrefilter(o) + l[2], u = l[0]; u--; ) r = r.lastChild;
1808                    T.merge(d, r.childNodes), ((r = h.firstChild).textContent = "");
1809                } else d.push(e.createTextNode(o));
1810        for (h.textContent = "", p = 0; (o = d[p++]); )
1811            if (n && -1 < T.inArray(o, n)) s && s.push(o);
1812            else if (((c = ot(o)), (r = gt(h.appendChild(o), "script")), c && vt(r), i)) for (u = 0; (o = r[u++]); ) ft.test(o.type || "") && i.push(o);
1813        return h;
1814    }
1815    (bt = C.createDocumentFragment().appendChild(C.createElement("div"))),
1816        (yt = C.createElement("input")).setAttribute("type", "radio"),
1817        yt.setAttribute("checked", "checked"),
1818        yt.setAttribute("name", "t"),
1819        bt.appendChild(yt),
1820        (b.checkClone = bt.cloneNode(!0).cloneNode(!0).lastChild.checked),
1821        (bt.innerHTML = "<textarea>x</textarea>"),
1822        (b.noCloneChecked = !!bt.cloneNode(!0).lastChild.defaultValue);
1823    var wt = /^key/,
1824        xt = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
1825        Ct = /^([^.]*)(?:\.(.+)|)/;
1826    function Tt() {
1827        return !0;
1828    }
1829    function St() {
1830        return !1;
1831    }
1832    function Dt(t, e) {
1833        return (
1834            (t ===
1835                (function () {
1836                    try {
1837                        return C.activeElement;
1838                    } catch (t) {}
1839                })()) ==
1840            ("focus" === e)
1841        );
1842    }
1843    function Pt(t, e, i, n, s, o) {
1844        var r, a;
1845        if ("object" == typeof e) {
1846            for (a in ("string" != typeof i && ((n = n || i), (i = void 0)), e)) Pt(t, a, i, n, e[a], o);
1847            return t;
1848        }
1849        if ((null == n && null == s ? ((s = i), (n = i = void 0)) : null == s && ("string" == typeof i ? ((s = n), (n = void 0)) : ((s = n), (n = i), (i = void 0))), !1 === s)) s = St;
1850        else if (!s) return t;
1851        return (
1852            1 === o &&
1853                ((r = s),
1854                ((s = function (t) {
1855                    return T().off(t), r.apply(this, arguments);
1856                }).guid = r.guid || (r.guid = T.guid++))),
1857            t.each(function () {
1858                T.event.add(this, e, s, n, i);
1859            })
1860        );
1861    }
1862    function It(t, s, o) {
1863        o
1864            ? (X.set(t, s, !1),
1865              T.event.add(t, s, {
1866                  namespace: !1,
1867                  handler: function (t) {
1868                      var e,
1869                          i,
1870                          n = X.get(this, s);
1871                      if (1 & t.isTrigger && this[s]) {
1872                          if (n.length) (T.event.special[s] || {}).delegateType && t.stopPropagation();
1873                          else if (((n = a.call(arguments)), X.set(this, s, n), (e = o(this, s)), this[s](), n !== (i = X.get(this, s)) || e ? X.set(this, s, !1) : (i = {}), n !== i))
1874                              return t.stopImmediatePropagation(), t.preventDefault(), i.value;
1875                      } else n.length && (X.set(this, s, { value: T.event.trigger(T.extend(n[0], T.Event.prototype), n.slice(1), this) }), t.stopImmediatePropagation());
1876                  },
1877              }))
1878            : void 0 === X.get(t, s) && T.event.add(t, s, Tt);
1879    }
1880    (T.event = {
1881        global: {},
1882        add: function (e, t, i, n, s) {
1883            var o,
1884                r,
1885                a,
1886                l,
1887                c,
1888                u,
1889                h,
1890                d,
1891                p,
1892                f,
1893                m,
1894                g = X.get(e);
1895            if (g)
1896                for (
1897                    i.handler && ((i = (o = i).handler), (s = o.selector)),
1898                        s && T.find.matchesSelector(st, s),
1899                        i.guid || (i.guid = T.guid++),
1900                        (l = g.events) || (l = g.events = {}),
1901                        (r = g.handle) ||
1902                            (r = g.handle = function (t) {
1903                                return void 0 !== T && T.event.triggered !== t.type ? T.event.dispatch.apply(e, arguments) : void 0;
1904                            }),
1905                        c = (t = (t || "").match(z) || [""]).length;
1906                    c--;
1907
1908                )
1909                    (p = m = (a = Ct.exec(t[c]) || [])[1]),
1910                        (f = (a[2] || "").split(".").sort()),
1911                        p &&
1912                            ((h = T.event.special[p] || {}),
1913                            (p = (s ? h.delegateType : h.bindType) || p),
1914                            (h = T.event.special[p] || {}),
1915                            (u = T.extend({ type: p, origType: m, data: n, handler: i, guid: i.guid, selector: s, needsContext: s && T.expr.match.needsContext.test(s), namespace: f.join(".") }, o)),
1916                            (d = l[p]) || (((d = l[p] = []).delegateCount = 0), (h.setup && !1 !== h.setup.call(e, n, f, r)) || (e.addEventListener && e.addEventListener(p, r))),
1917                            h.add && (h.add.call(e, u), u.handler.guid || (u.handler.guid = i.guid)),
1918                            s ? d.splice(d.delegateCount++, 0, u) : d.push(u),
1919                            (T.event.global[p] = !0));
1920        },
1921        remove: function (t, e, i, n, s) {
1922            var o,
1923                r,
1924                a,
1925                l,
1926                c,
1927                u,
1928                h,
1929                d,
1930                p,
1931                f,
1932                m,
1933                g = X.hasData(t) && X.get(t);
1934            if (g && (l = g.events)) {
1935                for (c = (e = (e || "").match(z) || [""]).length; c--; )
1936                    if (((p = m = (a = Ct.exec(e[c]) || [])[1]), (f = (a[2] || "").split(".").sort()), p)) {
1937                        for (h = T.event.special[p] || {}, d = l[(p = (n ? h.delegateType : h.bindType) || p)] || [], a = a[2] && new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)"), r = o = d.length; o--; )
1938                            (u = d[o]),
1939                                (!s && m !== u.origType) ||
1940                                    (i && i.guid !== u.guid) ||
1941                                    (a && !a.test(u.namespace)) ||
1942                                    (n && n !== u.selector && ("**" !== n || !u.selector)) ||
1943                                    (d.splice(o, 1), u.selector && d.delegateCount--, h.remove && h.remove.call(t, u));
1944                        r && !d.length && ((h.teardown && !1 !== h.teardown.call(t, f, g.handle)) || T.removeEvent(t, p, g.handle), delete l[p]);
1945                    } else for (p in l) T.event.remove(t, p + e[c], i, n, !0);
1946                T.isEmptyObject(l) && X.remove(t, "handle events");
1947            }
1948        },
1949        dispatch: function (t) {
1950            var e,
1951                i,
1952                n,
1953                s,
1954                o,
1955                r,
1956                a = T.event.fix(t),
1957                l = new Array(arguments.length),
1958                c = (X.get(this, "events") || {})[a.type] || [],
1959                u = T.event.special[a.type] || {};
1960            for (l[0] = a, e = 1; e < arguments.length; e++) l[e] = arguments[e];
1961            if (((a.delegateTarget = this), !u.preDispatch || !1 !== u.preDispatch.call(this, a))) {
1962                for (r = T.event.handlers.call(this, a, c), e = 0; (s = r[e++]) && !a.isPropagationStopped(); )
1963                    for (a.currentTarget = s.elem, i = 0; (o = s.handlers[i++]) && !a.isImmediatePropagationStopped(); )
1964                        (a.rnamespace && !1 !== o.namespace && !a.rnamespace.test(o.namespace)) ||
1965                            ((a.handleObj = o), (a.data = o.data), void 0 !== (n = ((T.event.special[o.origType] || {}).handle || o.handler).apply(s.elem, l)) && !1 === (a.result = n) && (a.preventDefault(), a.stopPropagation()));
1966                return u.postDispatch && u.postDispatch.call(this, a), a.result;
1967            }
1968        },
1969        handlers: function (t, e) {
1970            var i,
1971                n,
1972                s,
1973                o,
1974                r,
1975                a = [],
1976                l = e.delegateCount,
1977                c = t.target;
1978            if (l && c.nodeType && !("click" === t.type && 1 <= t.button))
1979                for (; c !== this; c = c.parentNode || this)
1980                    if (1 === c.nodeType && ("click" !== t.type || !0 !== c.disabled)) {
1981                        for (o = [], r = {}, i = 0; i < l; i++) void 0 === r[(s = (n = e[i]).selector + " ")] && (r[s] = n.needsContext ? -1 < T(s, this).index(c) : T.find(s, this, null, [c]).length), r[s] && o.push(n);
1982                        o.length && a.push({ elem: c, handlers: o });
1983                    }
1984            return (c = this), l < e.length && a.push({ elem: c, handlers: e.slice(l) }), a;
1985        },
1986        addProp: function (e, t) {
1987            Object.defineProperty(T.Event.prototype, e, {
1988                enumerable: !0,
1989                configurable: !0,
1990                get: y(t)
1991                    ? function () {
1992                          if (this.originalEvent) return t(this.originalEvent);
1993                      }
1994                    : function () {
1995                          if (this.originalEvent) return this.originalEvent[e];
1996                      },
1997                set: function (t) {
1998                    Object.defineProperty(this, e, { enumerable: !0, configurable: !0, writable: !0, value: t });
1999                },
2000            });
2001        },
2002        fix: function (t) {
2003            return t[T.expando] ? t : new T.Event(t);
2004        },
2005        special: {
2006            load: { noBubble: !0 },
2007            click: {
2008                setup: function (t) {
2009                    var e = this || t;
2010                    return dt.test(e.type) && e.click && P(e, "input") && It(e, "click", Tt), !1;
2011                },
2012                trigger: function (t) {
2013                    var e = this || t;
2014                    return dt.test(e.type) && e.click && P(e, "input") && It(e, "click"), !0;
2015                },
2016                _default: function (t) {
2017                    var e = t.target;
2018                    return (dt.test(e.type) && e.click && P(e, "input") && X.get(e, "click")) || P(e, "a");
2019                },
2020            },
2021            beforeunload: {
2022                postDispatch: function (t) {
2023                    void 0 !== t.result && t.originalEvent && (t.originalEvent.returnValue = t.result);
2024                },
2025            },
2026        },
2027    }),
2028        (T.removeEvent = function (t, e, i) {
2029            t.removeEventListener && t.removeEventListener(e, i);
2030        }),
2031        (T.Event = function (t, e) {
2032            if (!(this instanceof T.Event)) return new T.Event(t, e);
2033            t && t.type
2034                ? ((this.originalEvent = t),
2035                  (this.type = t.type),
2036                  (this.isDefaultPrevented = t.defaultPrevented || (void 0 === t.defaultPrevented && !1 === t.returnValue) ? Tt : St),
2037                  (this.target = t.target && 3 === t.target.nodeType ? t.target.parentNode : t.target),
2038                  (this.currentTarget = t.currentTarget),
2039                  (this.relatedTarget = t.relatedTarget))
2040                : (this.type = t),
2041                e && T.extend(this, e),
2042                (this.timeStamp = (t && t.timeStamp) || Date.now()),
2043                (this[T.expando] = !0);
2044        }),
2045        (T.Event.prototype = {
2046            constructor: T.Event,
2047            isDefaultPrevented: St,
2048            isPropagationStopped: St,
2049            isImmediatePropagationStopped: St,
2050            isSimulated: !1,
2051            preventDefault: function () {
2052                var t = this.originalEvent;
2053                (this.isDefaultPrevented = Tt), t && !this.isSimulated && t.preventDefault();
2054            },
2055            stopPropagation: function () {
2056                var t = this.originalEvent;
2057                (this.isPropagationStopped = Tt), t && !this.isSimulated && t.stopPropagation();
2058            },
2059            stopImmediatePropagation: function () {
2060                var t = this.originalEvent;
2061                (this.isImmediatePropagationStopped = Tt), t && !this.isSimulated && t.stopImmediatePropagation(), this.stopPropagation();
2062            },
2063        }),
2064        T.each(
2065            {
2066                altKey: !0,
2067                bubbles: !0,
2068                cancelable: !0,
2069                changedTouches: !0,
2070                ctrlKey: !0,
2071                detail: !0,
2072                eventPhase: !0,
2073                metaKey: !0,
2074                pageX: !0,
2075                pageY: !0,
2076                shiftKey: !0,
2077                view: !0,
2078                char: !0,
2079                code: !0,
2080                charCode: !0,
2081                key: !0,
2082                keyCode: !0,
2083                button: !0,
2084                buttons: !0,
2085                clientX: !0,
2086                clientY: !0,
2087                offsetX: !0,
2088                offsetY: !0,
2089                pointerId: !0,
2090                pointerType: !0,
2091                screenX: !0,
2092                screenY: !0,
2093                targetTouches: !0,
2094                toElement: !0,
2095                touches: !0,
2096                which: function (t) {
2097                    var e = t.button;
2098                    return null == t.which && wt.test(t.type) ? (null != t.charCode ? t.charCode : t.keyCode) : !t.which && void 0 !== e && xt.test(t.type) ? (1 & e ? 1 : 2 & e ? 3 : 4 & e ? 2 : 0) : t.which;
2099                },
2100            },
2101            T.event.addProp
2102        ),
2103        T.each({ focus: "focusin", blur: "focusout" }, function (t, e) {
2104            T.event.special[t] = {
2105                setup: function () {
2106                    return It(this, t, Dt), !1;
2107                },
2108                trigger: function () {
2109                    return It(this, t), !0;
2110                },
2111                delegateType: e,
2112            };
2113        }),
2114        T.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (t, s) {
2115            T.event.special[t] = {
2116                delegateType: s,
2117                bindType: s,
2118                handle: function (t) {
2119                    var e,
2120                        i = t.relatedTarget,
2121                        n = t.handleObj;
2122                    return (i && (i === this || T.contains(this, i))) || ((t.type = n.origType), (e = n.handler.apply(this, arguments)), (t.type = s)), e;
2123                },
2124            };
2125        }),
2126        T.fn.extend({
2127            on: function (t, e, i, n) {
2128                return Pt(this, t, e, i, n);
2129            },
2130            one: function (t, e, i, n) {
2131                return Pt(this, t, e, i, n, 1);
2132            },
2133            off: function (t, e, i) {
2134                var n, s;
2135                if (t && t.preventDefault && t.handleObj) return (n = t.handleObj), T(t.delegateTarget).off(n.namespace ? n.origType + "." + n.namespace : n.origType, n.selector, n.handler), this;
2136                if ("object" != typeof t)
2137                    return (
2138                        (!1 !== e && "function" != typeof e) || ((i = e), (e = void 0)),
2139                        !1 === i && (i = St),
2140                        this.each(function () {
2141                            T.event.remove(this, t, i, e);
2142                        })
2143                    );
2144                for (s in t) this.off(s, e, t[s]);
2145                return this;
2146            },
2147        });
2148    var At = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
2149        Mt = /<script|<style|<link/i,
2150        Et = /checked\s*(?:[^=]|=\s*.checked.)/i,
2151        Ot = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
2152    function Ht(t, e) {
2153        return (P(t, "table") && P(11 !== e.nodeType ? e : e.firstChild, "tr") && T(t).children("tbody")[0]) || t;
2154    }
2155    function Nt(t) {
2156        return (t.type = (null !== t.getAttribute("type")) + "/" + t.type), t;
2157    }
2158    function zt(t) {
2159        return "true/" === (t.type || "").slice(0, 5) ? (t.type = t.type.slice(5)) : t.removeAttribute("type"), t;
2160    }
2161    function Lt(t, e) {
2162        var i, n, s, o, r, a, l, c;
2163        if (1 === e.nodeType) {
2164            if (X.hasData(t) && ((o = X.access(t)), (r = X.set(e, o)), (c = o.events))) for (s in (delete r.handle, (r.events = {}), c)) for (i = 0, n = c[s].length; i < n; i++) T.event.add(e, s, c[s][i]);
2165            Q.hasData(t) && ((a = Q.access(t)), (l = T.extend({}, a)), Q.set(e, l));
2166        }
2167    }
2168    function jt(i, n, s, o) {
2169        n = g.apply([], n);
2170        var t,
2171            e,
2172            r,
2173            a,
2174            l,
2175            c,
2176            u = 0,
2177            h = i.length,
2178            d = h - 1,
2179            p = n[0],
2180            f = y(p);
2181        if (f || (1 < h && "string" == typeof p && !b.checkClone && Et.test(p)))
2182            return i.each(function (t) {
2183                var e = i.eq(t);
2184                f && (n[0] = p.call(this, t, e.html())), jt(e, n, s, o);
2185            });
2186        if (h && ((e = (t = kt(n, i[0].ownerDocument, !1, i, o)).firstChild), 1 === t.childNodes.length && (t = e), e || o)) {
2187            for (a = (r = T.map(gt(t, "script"), Nt)).length; u < h; u++) (l = t), u !== d && ((l = T.clone(l, !0, !0)), a && T.merge(r, gt(l, "script"))), s.call(i[u], l, u);
2188            if (a)
2189                for (c = r[r.length - 1].ownerDocument, T.map(r, zt), u = 0; u < a; u++)
2190                    (l = r[u]),
2191                        ft.test(l.type || "") &&
2192                            !X.access(l, "globalEval") &&
2193                            T.contains(c, l) &&
2194                            (l.src && "module" !== (l.type || "").toLowerCase() ? T._evalUrl && !l.noModule && T._evalUrl(l.src, { nonce: l.nonce || l.getAttribute("nonce") }) : _(l.textContent.replace(Ot, ""), l, c));
2195        }
2196        return i;
2197    }
2198    function Ft(t, e, i) {
2199        for (var n, s = e ? T.filter(e, t) : t, o = 0; null != (n = s[o]); o++) i || 1 !== n.nodeType || T.cleanData(gt(n)), n.parentNode && (i && ot(n) && vt(gt(n, "script")), n.parentNode.removeChild(n));
2200        return t;
2201    }
2202    T.extend({
2203        htmlPrefilter: function (t) {
2204            return t.replace(At, "<$1></$2>");
2205        },
2206        clone: function (t, e, i) {
2207            var n,
2208                s,
2209                o,
2210                r,
2211                a,
2212                l,
2213                c,
2214                u = t.cloneNode(!0),
2215                h = ot(t);
2216            if (!(b.noCloneChecked || (1 !== t.nodeType && 11 !== t.nodeType) || T.isXMLDoc(t)))
2217                for (r = gt(u), n = 0, s = (o = gt(t)).length; n < s; n++)
2218                    (a = o[n]), "input" === (c = (l = r[n]).nodeName.toLowerCase()) && dt.test(a.type) ? (l.checked = a.checked) : ("input" !== c && "textarea" !== c) || (l.defaultValue = a.defaultValue);
2219            if (e)
2220                if (i) for (o = o || gt(t), r = r || gt(u), n = 0, s = o.length; n < s; n++) Lt(o[n], r[n]);
2221                else Lt(t, u);
2222            return 0 < (r = gt(u, "script")).length && vt(r, !h && gt(t, "script")), u;
2223        },
2224        cleanData: function (t) {
2225            for (var e, i, n, s = T.event.special, o = 0; void 0 !== (i = t[o]); o++)
2226                if (K(i)) {
2227                    if ((e = i[X.expando])) {
2228                        if (e.events) for (n in e.events) s[n] ? T.event.remove(i, n) : T.removeEvent(i, n, e.handle);
2229                        i[X.expando] = void 0;
2230                    }
2231                    i[Q.expando] && (i[Q.expando] = void 0);
2232                }
2233        },
2234    }),
2235        T.fn.extend({
2236            detach: function (t) {
2237                return Ft(this, t, !0);
2238            },
2239            remove: function (t) {
2240                return Ft(this, t);
2241            },
2242            text: function (t) {
2243                return B(
2244                    this,
2245                    function (t) {
2246                        return void 0 === t
2247                            ? T.text(this)
2248                            : this.empty().each(function () {
2249                                  (1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType) || (this.textContent = t);
2250                              });
2251                    },
2252                    null,
2253                    t,
2254                    arguments.length
2255                );
2256            },
2257            append: function () {
2258                return jt(this, arguments, function (t) {
2259                    (1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType) || Ht(this, t).appendChild(t);
2260                });
2261            },
2262            prepend: function () {
2263                return jt(this, arguments, function (t) {
2264                    if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) {
2265                        var e = Ht(this, t);
2266                        e.insertBefore(t, e.firstChild);
2267                    }
2268                });
2269            },
2270            before: function () {
2271                return jt(this, arguments, function (t) {
2272                    this.parentNode && this.parentNode.insertBefore(t, this);
2273                });
2274            },
2275            after: function () {
2276                return jt(this, arguments, function (t) {
2277                    this.parentNode && this.parentNode.insertBefore(t, this.nextSibling);
2278                });
2279            },
2280            empty: function () {
2281                for (var t, e = 0; null != (t = this[e]); e++) 1 === t.nodeType && (T.cleanData(gt(t, !1)), (t.textContent = ""));
2282                return this;
2283            },
2284            clone: function (t, e) {
2285                return (
2286                    (t = null != t && t),
2287                    (e = null == e ? t : e),
2288                    this.map(function () {
2289                        return T.clone(this, t, e);
2290                    })
2291                );
2292            },
2293            html: function (t) {
2294                return B(
2295                    this,
2296                    function (t) {
2297                        var e = this[0] || {},
2298                            i = 0,
2299                            n = this.length;
2300                        if (void 0 === t && 1 === e.nodeType) return e.innerHTML;
2301                        if ("string" == typeof t && !Mt.test(t) && !mt[(pt.exec(t) || ["", ""])[1].toLowerCase()]) {
2302                            t = T.htmlPrefilter(t);
2303                            try {
2304                                for (; i < n; i++) 1 === (e = this[i] || {}).nodeType && (T.cleanData(gt(e, !1)), (e.innerHTML = t));
2305                                e = 0;
2306                            } catch (t) {}
2307                        }
2308                        e && this.empty().append(t);
2309                    },
2310                    null,
2311                    t,
2312                    arguments.length
2313                );
2314            },
2315            replaceWith: function () {
2316                var i = [];
2317                return jt(
2318                    this,
2319                    arguments,
2320                    function (t) {
2321                        var e = this.parentNode;
2322                        T.inArray(this, i) < 0 && (T.cleanData(gt(this)), e && e.replaceChild(t, this));
2323                    },
2324                    i
2325                );
2326            },
2327        }),
2328        T.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (t, r) {
2329            T.fn[t] = function (t) {
2330                for (var e, i = [], n = T(t), s = n.length - 1, o = 0; o <= s; o++) (e = o === s ? this : this.clone(!0)), T(n[o])[r](e), l.apply(i, e.get());
2331                return this.pushStack(i);
2332            };
2333        });
2334    var Rt,
2335        Wt,
2336        $t,
2337        Bt,
2338        qt,
2339        Yt,
2340        Ut,
2341        Vt = new RegExp("^(" + et + ")(?!px)[a-z%]+$", "i"),
2342        Kt = function (t) {
2343            var e = t.ownerDocument.defaultView;
2344            return (e && e.opener) || (e = x), e.getComputedStyle(t);
2345        },
2346        Gt = new RegExp(nt.join("|"), "i");
2347    function Xt(t, e, i) {
2348        var n,
2349            s,
2350            o,
2351            r,
2352            a = t.style;
2353        return (
2354            (i = i || Kt(t)) &&
2355                ("" !== (r = i.getPropertyValue(e) || i[e]) || ot(t) || (r = T.style(t, e)),
2356                !b.pixelBoxStyles() && Vt.test(r) && Gt.test(e) && ((n = a.width), (s = a.minWidth), (o = a.maxWidth), (a.minWidth = a.maxWidth = a.width = r), (r = i.width), (a.width = n), (a.minWidth = s), (a.maxWidth = o))),
2357            void 0 !== r ? r + "" : r
2358        );
2359    }
2360    function Qt(t, e) {
2361        return {
2362            get: function () {
2363                if (!t()) return (this.get = e).apply(this, arguments);
2364                delete this.get;
2365            },
2366        };
2367    }
2368    function Zt() {
2369        if (Ut) {
2370            (Yt.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0"),
2371                (Ut.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%"),
2372                st.appendChild(Yt).appendChild(Ut);
2373            var t = x.getComputedStyle(Ut);
2374            (Rt = "1%" !== t.top),
2375                (qt = 12 === Jt(t.marginLeft)),
2376                (Ut.style.right = "60%"),
2377                (Bt = 36 === Jt(t.right)),
2378                (Wt = 36 === Jt(t.width)),
2379                (Ut.style.position = "absolute"),
2380                ($t = 12 === Jt(Ut.offsetWidth / 3)),
2381                st.removeChild(Yt),
2382                (Ut = null);
2383        }
2384    }
2385    function Jt(t) {
2386        return Math.round(parseFloat(t));
2387    }
2388    (Yt = C.createElement("div")),
2389        (Ut = C.createElement("div")).style &&
2390            ((Ut.style.backgroundClip = "content-box"),
2391            (Ut.cloneNode(!0).style.backgroundClip = ""),
2392            (b.clearCloneStyle = "content-box" === Ut.style.backgroundClip),
2393            T.extend(b, {
2394                boxSizingReliable: function () {
2395                    return Zt(), Wt;
2396                },
2397                pixelBoxStyles: function () {
2398                    return Zt(), Bt;
2399                },
2400                pixelPosition: function () {
2401                    return Zt(), Rt;
2402                },
2403                reliableMarginLeft: function () {
2404                    return Zt(), qt;
2405                },
2406                scrollboxSize: function () {
2407                    return Zt(), $t;
2408                },
2409            }));
2410    var te = ["Webkit", "Moz", "ms"],
2411        ee = C.createElement("div").style,
2412        ie = {};
2413    function ne(t) {
2414        return (
2415            T.cssProps[t] ||
2416            ie[t] ||
2417            (t in ee
2418                ? t
2419                : (ie[t] =
2420                      (function (t) {
2421                          for (var e = t[0].toUpperCase() + t.slice(1), i = te.length; i--; ) if ((t = te[i] + e) in ee) return t;
2422                      })(t) || t))
2423        );
2424    }
2425    var se = /^(none|table(?!-c[ea]).+)/,
2426        oe = /^--/,
2427        re = { position: "absolute", visibility: "hidden", display: "block" },
2428        ae = { letterSpacing: "0", fontWeight: "400" };
2429    function le(t, e, i) {
2430        var n = it.exec(e);
2431        return n ? Math.max(0, n[2] - (i || 0)) + (n[3] || "px") : e;
2432    }
2433    function ce(t, e, i, n, s, o) {
2434        var r = "width" === e ? 1 : 0,
2435            a = 0,
2436            l = 0;
2437        if (i === (n ? "border" : "content")) return 0;
2438        for (; r < 4; r += 2)
2439            "margin" === i && (l += T.css(t, i + nt[r], !0, s)),
2440                n
2441                    ? ("content" === i && (l -= T.css(t, "padding" + nt[r], !0, s)), "margin" !== i && (l -= T.css(t, "border" + nt[r] + "Width", !0, s)))
2442                    : ((l += T.css(t, "padding" + nt[r], !0, s)), "padding" !== i ? (l += T.css(t, "border" + nt[r] + "Width", !0, s)) : (a += T.css(t, "border" + nt[r] + "Width", !0, s)));
2443        return !n && 0 <= o && (l += Math.max(0, Math.ceil(t["offset" + e[0].toUpperCase() + e.slice(1)] - o - l - a - 0.5)) || 0), l;
2444    }
2445    function ue(t, e, i) {
2446        var n = Kt(t),
2447            s = (!b.boxSizingReliable() || i) && "border-box" === T.css(t, "boxSizing", !1, n),
2448            o = s,
2449            r = Xt(t, e, n),
2450            a = "offset" + e[0].toUpperCase() + e.slice(1);
2451        if (Vt.test(r)) {
2452            if (!i) return r;
2453            r = "auto";
2454        }
2455        return (
2456            ((!b.boxSizingReliable() && s) || "auto" === r || (!parseFloat(r) && "inline" === T.css(t, "dis
2456play", !1, n))) && t.getClientRects().length && ((s = "border-box" === T.css(t, "boxSizing", !1, n)), (o = a in t) && (r = t[a])),
2457            (r = parseFloat(r) || 0) + ce(t, e, i || (s ? "border" : "content"), o, n, r) + "px"
2458        );
2459    }
2460    function he(t, e, i, n, s) {
2461        return new he.prototype.init(t, e, i, n, s);
2462    }
2463    T.extend({
2464        cssHooks: {
2465            opacity: {
2466                get: function (t, e) {
2467                    if (e) {
2468                        var i = Xt(t, "opacity");
2469                        return "" === i ? "1" : i;
2470                    }
2471                },
2472            },
2473        },
2474        cssNumber: {
2475            animationIterationCount: !0,
2476            columnCount: !0,
2477            fillOpacity: !0,
2478            flexGrow: !0,
2479            flexShrink: !0,
2480            fontWeight: !0,
2481            gridArea: !0,
2482            gridColumn: !0,
2483            gridColumnEnd: !0,
2484            gridColumnStart: !0,
2485            gridRow: !0,
2486            gridRowEnd: !0,
2487            gridRowStart: !0,
2488            lineHeight: !0,
2489            opacity: !0,
2490            order: !0,
2491            orphans: !0,
2492            widows: !0,
2493            zIndex: !0,
2494            zoom: !0,
2495        },
2496        cssProps: {},
2497        style: function (t, e, i, n) {
2498            if (t && 3 !== t.nodeType && 8 !== t.nodeType && t.style) {
2499                var s,
2500                    o,
2501                    r,
2502                    a = V(e),
2503                    l = oe.test(e),
2504                    c = t.style;
2505                if ((l || (e = ne(a)), (r = T.cssHooks[e] || T.cssHooks[a]), void 0 === i)) return r && "get" in r && void 0 !== (s = r.get(t, !1, n)) ? s : c[e];
2506                "string" == (o = typeof i) && (s = it.exec(i)) && s[1] && ((i = ct(t, e, s)), (o = "number")),
2507                    null != i &&
2508                        i == i &&
2509                        ("number" !== o || l || (i += (s && s[3]) || (T.cssNumber[a] ? "" : "px")),
2510                        b.clearCloneStyle || "" !== i || 0 !== e.indexOf("background") || (c[e] = "inherit"),
2511                        (r && "set" in r && void 0 === (i = r.set(t, i, n))) || (l ? c.setProperty(e, i) : (c[e] = i)));
2512            }
2513        },
2514        css: function (t, e, i, n) {
2515            var s,
2516                o,
2517                r,
2518                a = V(e);
2519            return (
2520                oe.test(e) || (e = ne(a)),
2521                (r = T.cssHooks[e] || T.cssHooks[a]) && "get" in r && (s = r.get(t, !0, i)),
2522                void 0 === s && (s = Xt(t, e, n)),
2523                "normal" === s && e in ae && (s = ae[e]),
2524                "" === i || i ? ((o = parseFloat(s)), !0 === i || isFinite(o) ? o || 0 : s) : s
2525            );
2526        },
2527    }),
2528        T.each(["height", "width"], function (t, l) {
2529            T.cssHooks[l] = {
2530                get: function (t, e, i) {
2531                    if (e)
2532                        return !se.test(T.css(t, "display")) || (t.getClientRects().length && t.getBoundingClientRect().width)
2533                            ? ue(t, l, i)
2534                            : lt(t, re, function () {
2535                                  return ue(t, l, i);
2536                              });
2537                },
2538                set: function (t, e, i) {
2539                    var n,
2540                        s = Kt(t),
2541                        o = !b.scrollboxSize() && "absolute" === s.position,
2542                        r = (o || i) && "border-box" === T.css(t, "boxSizing", !1, s),
2543                        a = i ? ce(t, l, i, r, s) : 0;
2544                    return (
2545                        r && o && (a -= Math.ceil(t["offset" + l[0].toUpperCase() + l.slice(1)] - parseFloat(s[l]) - ce(t, l, "border", !1, s) - 0.5)),
2546                        a && (n = it.exec(e)) && "px" !== (n[3] || "px") && ((t.style[l] = e), (e = T.css(t, l))),
2547                        le(0, e, a)
2548                    );
2549                },
2550            };
2551        }),
2552        (T.cssHooks.marginLeft = Qt(b.reliableMarginLeft, function (t, e) {
2553            if (e)
2554                return (
2555                    (parseFloat(Xt(t, "marginLeft")) ||
2556                        t.getBoundingClientRect().left -
2557                            lt(t, { marginLeft: 0 }, function () {
2558                                return t.getBoundingClientRect().left;
2559                            })) + "px"
2560                );
2561        })),
2562        T.each({ margin: "", padding: "", border: "Width" }, function (s, o) {
2563            (T.cssHooks[s + o] = {
2564                expand: function (t) {
2565                    for (var e = 0, i = {}, n = "string" == typeof t ? t.split(" ") : [t]; e < 4; e++) i[s + nt[e] + o] = n[e] || n[e - 2] || n[0];
2566                    return i;
2567                },
2568            }),
2569                "margin" !== s && (T.cssHooks[s + o].set = le);
2570        }),
2571        T.fn.extend({
2572            css: function (t, e) {
2573                return B(
2574                    this,
2575                    function (t, e, i) {
2576                        var n,
2577                            s,
2578                            o = {},
2579                            r = 0;
2580                        if (Array.isArray(e)) {
2581                            for (n = Kt(t), s = e.length; r < s; r++) o[e[r]] = T.css(t, e[r], !1, n);
2582                            return o;
2583                        }
2584                        return void 0 !== i ? T.style(t, e, i) : T.css(t, e);
2585                    },
2586                    t,
2587                    e,
2588                    1 < arguments.length
2589                );
2590            },
2591        }),
2592        (((T.Tween = he).prototype = {
2593            constructor: he,
2594            init: function (t, e, i, n, s, o) {
2595                (this.elem = t), (this.prop = i), (this.easing = s || T.easing._default), (this.options = e), (this.start = this.now = this.cur()), (this.end = n), (this.unit = o || (T.cssNumber[i] ? "" : "px"));
2596            },
2597            cur: function () {
2598                var t = he.propHooks[this.prop];
2599                return t && t.get ? t.get(this) : he.propHooks._default.get(this);
2600            },
2601            run: function (t) {
2602                var e,
2603                    i = he.propHooks[this.prop];
2604                return (
2605                    this.options.duration ? (this.pos = e = T.easing[this.easing](t, this.options.duration * t, 0, 1, this.options.duration)) : (this.pos = e = t),
2606                    (this.now = (this.end - this.start) * e + this.start),
2607                    this.options.step && this.options.step.call(this.elem, this.now, this),
2608                    i && i.set ? i.set(this) : he.propHooks._default.set(this),
2609                    this
2610                );
2611            },
2612        }).init.prototype = he.prototype),
2613        ((he.propHooks = {
2614            _default: {
2615                get: function (t) {
2616                    var e;
2617                    return 1 !== t.elem.nodeType || (null != t.elem[t.prop] && null == t.elem.style[t.prop]) ? t.elem[t.prop] : (e = T.css(t.elem, t.prop, "")) && "auto" !== e ? e : 0;
2618                },
2619                set: function (t) {
2620                    T.fx.step[t.prop] ? T.fx.step[t.prop](t) : 1 !== t.elem.nodeType || (!T.cssHooks[t.prop] && null == t.elem.style[ne(t.prop)]) ? (t.elem[t.prop] = t.now) : T.style(t.elem, t.prop, t.now + t.unit);
2621                },
2622            },
2623        }).scrollTop = he.propHooks.scrollLeft = {
2624            set: function (t) {
2625                t.elem.nodeType && t.elem.parentNode && (t.elem[t.prop] = t.now);
2626            },
2627        }),
2628        (T.easing = {
2629            linear: function (t) {
2630                return t;
2631            },
2632            swing: function (t) {
2633                return 0.5 - Math.cos(t * Math.PI) / 2;
2634            },
2635            _default: "swing",
2636        }),
2637        (T.fx = he.prototype.init),
2638        (T.fx.step = {});
2639    var de,
2640        pe,
2641        fe,
2642        me,
2643        ge = /^(?:toggle|show|hide)$/,
2644        ve = /queueHooks$/;
2645    function be() {
2646        pe && (!1 === C.hidden && x.requestAnimationFrame ? x.requestAnimationFrame(be) : x.setTimeout(be, T.fx.interval), T.fx.tick());
2647    }
2648    function ye() {
2649        return (
2650            x.setTimeout(function () {
2651                de = void 0;
2652            }),
2653            (de = Date.now())
2654        );
2655    }
2656    function _e(t, e) {
2657        var i,
2658            n = 0,
2659            s = { height: t };
2660        for (e = e ? 1 : 0; n < 4; n += 2 - e) s["margin" + (i = nt[n])] = s["padding" + i] = t;
2661        return e && (s.opacity = s.width = t), s;
2662    }
2663    function ke(t, e, i) {
2664        for (var n, s = (we.tweeners[e] || []).concat(we.tweeners["*"]), o = 0, r = s.length; o < r; o++) if ((n = s[o].call(i, e, t))) return n;
2665    }
2666    function we(o, t, e) {
2667        var i,
2668            r,
2669            n = 0,
2670            s = we.prefilters.length,
2671            a = T.Deferred().always(function () {
2672                delete l.elem;
2673            }),
2674            l = function () {
2675                if (r) return !1;
2676                for (var t = de || ye(), e = Math.max(0, c.startTime + c.duration - t), i = 1 - (e / c.duration || 0), n = 0, s = c.tweens.length; n < s; n++) c.tweens[n].run(i);
2677                return a.notifyWith(o, [c, i, e]), i < 1 && s ? e : (s || a.notifyWith(o, [c, 1, 0]), a.resolveWith(o, [c]), !1);
2678            },
2679            c = a.promise({
2680                elem: o,
2681                props: T.extend({}, t),
2682                opts: T.extend(!0, { specialEasing: {}, easing: T.easing._default }, e),
2683                originalProperties: t,
2684                originalOptions: e,
2685                startTime: de || ye(),
2686                duration: e.duration,
2687                tweens: [],
2688                createTween: function (t, e) {
2689                    var i = T.Tween(o, c.opts, t, e, c.opts.specialEasing[t] || c.opts.easing);
2690                    return c.tweens.push(i), i;
2691                },
2692                stop: function (t) {
2693                    var e = 0,
2694                        i = t ? c.tweens.length : 0;
2695                    if (r) return this;
2696                    for (r = !0; e < i; e++) c.tweens[e].run(1);
2697                    return t ? (a.notifyWith(o, [c, 1, 0]), a.resolveWith(o, [c, t])) : a.rejectWith(o, [c, t]), this;
2698                },
2699            }),
2700            u = c.props;
2701        for (
2702            (function (t, e) {
2703                var i, n, s, o, r;
2704                for (i in t)
2705                    if (((s = e[(n = V(i))]), (o = t[i]), Array.isArray(o) && ((s = o[1]), (o = t[i] = o[0])), i !== n && ((t[n] = o), delete t[i]), (r = T.cssHooks[n]) && ("exp
2705and" in r)))
2706                        for (i in ((o = r.expand(o)), delete t[n], o)) (i in t) || ((t[i] = o[i]), (e[i] = s));
2707                    else e[n] = s;
2708            })(u, c.opts.specialEasing);
2709            n < s;
2710            n++
2711        )
2712            if ((i = we.prefilters[n].call(c, o, u, c.opts))) return y(i.stop) && (T._queueHooks(c.elem, c.opts.queue).stop = i.stop.bind(i)), i;
2713        return (
2714            T.map(u, ke, c),
2715            y(c.opts.start) && c.opts.start.call(o, c),
2716            c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always),
2717            T.fx.timer(T.extend(l, { elem: o, anim: c, queue: c.opts.queue })),
2718            c
2719        );
2720    }
2721    (T.Animation = T.extend(we, {
2722        tweeners: {
2723            "*": [
2724                function (t, e) {
2725                    var i = this.createTween(t, e);
2726                    return ct(i.elem, t, it.exec(e), i), i;
2727                },
2728            ],
2729        },
2730        tweener: function (t, e) {
2731            for (var i, n = 0, s = (t = y(t) ? ((e = t), ["*"]) : t.match(z)).length; n < s; n++) (i = t[n]), (we.tweeners[i] = we.tweeners[i] || []), we.tweeners[i].unshift(e);
2732        },
2733        prefilters: [
2734            function (t, e, i) {
2735                var n,
2736                    s,
2737                    o,
2738                    r,
2739                    a,
2740                    l,
2741                    c,
2742                    u,
2743                    h = "width" in e || "height" in e,
2744                    d = this,
2745                    p = {},
2746                    f = t.style,
2747                    m = t.nodeType && at(t),
2748                    g = X.get(t, "fxshow");
2749                for (n in (i.queue ||
2750                    (null == (r = T._queueHooks(t, "fx")).unqueued &&
2751                        ((r.unqueued = 0),
2752                        (a = r.empty.fire),
2753                        (r.empty.fire = function () {
2754                            r.unqueued || a();
2755                        })),
2756                    r.unqueued++,
2757                    d.always(function () {
2758                        d.always(function () {
2759                            r.unqueued--, T.queue(t, "fx").length || r.empty.fire();
2760                        });
2761                    })),
2762                e))
2763                    if (((s = e[n]), ge.test(s))) {
2764                        if ((delete e[n], (o = o || "toggle" === s), s === (m ? "hide" : "show"))) {
2765                            if ("show" !== s || !g || void 0 === g[n]) continue;
2766                            m = !0;
2767                        }
2768                        p[n] = (g && g[n]) || T.style(t, n);
2769                    }
2770                if ((l = !T.isEmptyObject(e)) || !T.isEmptyObject(p))
2771                    for (n in (h &&
2772                        1 === t.nodeType &&
2773                        ((i.overflow = [f.overflow, f.overflowX, f.overflowY]),
2774                        null == (c = g && g.display) && (c = X.get(t, "display")),
2775                        "none" === (u = T.css(t, "display")) && (c ? (u = c) : (ht([t], !0), (c = t.style.display || c), (u = T.css(t, "display")), ht([t]))),
2776                        ("inline" === u || ("inline-block" === u && null != c)) &&
2777                            "none" === T.css(t, "float") &&
2778                            (l ||
2779                                (d.done(function () {
2780                                    f.display = c;
2781                                }),
2782                                null == c && ((u = f.display), (c = "none" === u ? "" : u))),
2783                            (f.display = "inline-block"))),
2784                    i.overflow &&
2785                        ((f.overflow = "hidden"),
2786                        d.always(function () {
2787                            (f.overflow = i.overflow[0]), (f.overflowX = i.overflow[1]), (f.overflowY = i.overflow[2]);
2788                        })),
2789                    (l = !1),
2790                    p))
2791                        l ||
2792                            (g ? "hidden" in g && (m = g.hidden) : (g = X.access(t, "fxshow", { display: c })),
2793                            o && (g.hidden = !m),
2794                            m && ht([t], !0),
2795                            d.done(function () {
2796                                for (n in (m || ht([t]), X.remove(t, "fxshow"), p)) T.style(t, n, p[n]);
2797                            })),
2798                            (l = ke(m ? g[n] : 0, n, d)),
2799                            n in g || ((g[n] = l.start), m && ((l.end = l.start), (l.start = 0)));
2800            },
2801        ],
2802        prefilter: function (t, e) {
2803            e ? we.prefilters.unshift(t) : we.prefilters.push(t);
2804        },
2805    })),
2806        (T.speed = function (t, e, i) {
2807            var n = t && "object" == typeof t ? T.extend({}, t) : { complete: i || (!i && e) || (y(t) && t), duration: t, easing: (i && e) || (e && !y(e) && e) };
2808            return (
2809                T.fx.off ? (n.duration = 0) : "number" != typeof n.duration && (n.duration in T.fx.speeds ? (n.duration = T.fx.speeds[n.duration]) : (n.duration = T.fx.speeds._default)),
2810                (null != n.queue && !0 !== n.queue) || (n.queue = "fx"),
2811                (n.old = n.complete),
2812                (n.complete = function () {
2813                    y(n.old) && n.old.call(this), n.queue && T.dequeue(this, n.queue);
2814                }),
2815                n
2816            );
2817        }),
2818        T.fn.extend({
2819            fadeTo: function (t, e, i, n) {
2820                return this.filter(at).css("opacity", 0).show().end().animate({ opacity: e }, t, i, n);
2821            },
2822            animate: function (e, t, i, n) {
2823                function s() {
2824                    var t = we(this, T.extend({}, e), r);
2825                    (o || X.get(this, "finish")) && t.stop(!0);
2826                }
2827                var o = T.isEmptyObject(e),
2828                    r = T.speed(t, i, n);
2829                return (s.finish = s), o || !1 === r.queue ? this.each(s) : this.queue(r.queue, s);
2830            },
2831            stop: function (s, t, o) {
2832                function r(t) {
2833                    var e = t.stop;
2834                    delete t.stop, e(o);
2835                }
2836                return (
2837                    "string" != typeof s && ((o = t), (t = s), (s = void 0)),
2838                    t && !1 !== s && this.queue(s || "fx", []),
2839                    this.each(function () {
2840                        var t = !0,
2841                            e = null != s && s + "queueHooks",
2842                            i = T.timers,
2843                            n = X.get(this);
2844                        if (e) n[e] && n[e].stop && r(n[e]);
2845                        else for (e in n) n[e] && n[e].stop && ve.test(e) && r(n[e]);
2846                        for (e = i.length; e--; ) i[e].elem !== this || (null != s && i[e].queue !== s) || (i[e].anim.stop(o), (t = !1), i.splice(e, 1));
2847                        (!t && o) || T.dequeue(this, s);
2848                    })
2849                );
2850            },
2851            finish: function (r) {
2852                return (
2853                    !1 !== r && (r = r || "fx"),
2854                    this.each(function () {
2855                        var t,
2856                            e = X.get(this),
2857                            i = e[r + "queue"],
2858                            n = e[r + "queueHooks"],
2859                            s = T.timers,
2860                            o = i ? i.length : 0;
2861                        for (e.finish = !0, T.queue(this, r, []), n && n.stop && n.stop.call(this, !0), t = s.length; t--; ) s[t].elem === this && s[t].queue === r && (s[t].anim.stop(!0), s.splice(t, 1));
2862                        for (t = 0; t < o; t++) i[t] && i[t].finish && i[t].finish.call(this);
2863                        delete e.finish;
2864                    })
2865                );
2866            },
2867        }),
2868        T.each(["toggle", "show", "hide"], function (t, n) {
2869            var s = T.fn[n];
2870            T.fn[n] = function (t, e, i) {
2871                return null == t || "boolean" == typeof t ? s.apply(this, arguments) : this.animate(_e(n, !0), t, e, i);
2872            };
2873        }),
2874        T.each({ slideDown: _e("show"), slideUp: _e("hide"), slideToggle: _e("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function (t, n) {
2875            T.fn[t] = function (t, e, i) {
2876                return this.animate(n, t, e, i);
2877            };
2878        }),
2879        (T.timers = []),
2880        (T.fx.tick = function () {
2881            var t,
2882                e = 0,
2883                i = T.timers;
2884            for (de = Date.now(); e < i.length; e++) (t = i[e])() || i[e] !== t || i.splice(e--, 1);
2885            i.length || T.fx.stop(), (de = void 0);
2886        }),
2887        (T.fx.timer = function (t) {
2888            T.timers.push(t), T.fx.start();
2889        }),
2890        (T.fx.interval = 13),
2891        (T.fx.start = function () {
2892            pe || ((pe = !0), be());
2893        }),
2894        (T.fx.stop = function () {
2895            pe = null;
2896        }),
2897        (T.fx.speeds = { slow: 600, fast: 200, _default: 400 }),
2898        (T.fn.delay = function (n, t) {
2899            return (
2900                (n = (T.fx && T.fx.speeds[n]) || n),
2901                (t = t || "fx"),
2902                this.queue(t, function (t, e) {
2903                    var i = x.setTimeout(t, n);
2904                    e.stop = function () {
2905                        x.clearTimeout(i);
2906                    };
2907                })
2908            );
2909        }),
2910        (fe = C.createElement("input")),
2911        (me = C.createElement("select").appendChild(C.createElement("option"))),
2912        (fe.type = "checkbox"),
2913        (b.checkOn = "" !== fe.value),
2914        (b.optSelected = me.selected),
2915        ((fe = C.createElement("input")).value = "t"),
2916        (fe.type = "radio"),
2917        (b.radioValue = "t" === fe.value);
2918    var xe,
2919        Ce = T.expr.attrHandle;
2920    T.fn.extend({
2921        attr: function (t, e) {
2922            return B(this, T.attr, t, e, 1 < arguments.length);
2923        },
2924        removeAttr: function (t) {
2925            return this.each(function () {
2926                T.removeAttr(this, t);
2927            });
2928        },
2929    }),
2930        T.extend({
2931            attr: function (t, e, i) {
2932                var n,
2933                    s,
2934                    o = t.nodeType;
2935                if (3 !== o && 8 !== o && 2 !== o)
2936                    return void 0 === t.getAttribute
2937                        ? T.prop(t, e, i)
2938                        : ((1 === o && T.isXMLDoc(t)) || (s = T.attrHooks[e.toLowerCase()] || (T.expr.match.bool.test(e) ? xe : void 0)),
2939                          void 0 !== i
2940                              ? null === i
2941                                  ? void T.removeAttr(t, e)
2942                                  : s && "set" in s && void 0 !== (n = s.set(t, i, e))
2943                                  ? n
2944                                  : (t.setAttribute(e, i + ""), i)
2945                              : !(s && "get" in s && null !== (n = s.get(t, e))) && null == (n = T.find.attr(t, e))
2946                              ? void 0
2947                              : n);
2948            },
2949            attrHooks: {
2950                type: {
2951                    set: function (t, e) {
2952                        if (!b.radioValue && "radio" === e && P(t, "input")) {
2953                            var i = t.value;
2954                            return t.setAttribute("type", e), i && (t.value = i), e;
2955                        }
2956                    },
2957                },
2958            },
2959            removeAttr: function (t, e) {
2960                var i,
2961                    n = 0,
2962                    s = e && e.match(z);
2963                if (s && 1 === t.nodeType) for (; (i = s[n++]); ) t.removeAttribute(i);
2964            },
2965        }),
2966        (xe = {
2967            set: function (t, e, i) {
2968                return !1 === e ? T.removeAttr(t, i) : t.setAttribute(i, i), i;
2969            },
2970        }),
2971        T.each(T.expr.match.bool.source.match(/\w+/g), function (t, e) {
2972            var r = Ce[e] || T.find.attr;
2973            Ce[e] = function (t, e, i) {
2974                var n,
2975                    s,
2976                    o = e.toLowerCase();
2977                return i || ((s = Ce[o]), (Ce[o] = n), (n = null != r(t, e, i) ? o : null), (Ce[o] = s)), n;
2978            };
2979        });
2980    var Te = /^(?:input|select|textarea|button)$/i,
2981        Se = /^(?:a|area)$/i;
2982    function De(t) {
2983        return (t.match(z) || []).join(" ");
2984    }
2985    function Pe(t) {
2986        return (t.getAttribute && t.getAttribute("class")) || "";
2987    }
2988    function Ie(t) {
2989        return Array.isArray(t) ? t : ("string" == typeof t && t.match(z)) || [];
2990    }
2991    T.fn.extend({
2992        prop: function (t, e) {
2993            return B(this, T.prop, t, e, 1 < arguments.length);
2994        },
2995        removeProp: function (t) {
2996            return this.each(function () {
2997                delete this[T.propFix[t] || t];
2998            });
2999        },
3000    }),
3001        T.extend({
3002            prop: function (t, e, i) {
3003                var n,
3004                    s,
3005                    o = t.nodeType;
3006                if (3 !== o && 8 !== o && 2 !== o)
3007                    return (
3008                        (1 === o && T.isXMLDoc(t)) || ((e = T.propFix[e] || e), (s = T.propHooks[e])),
3009                        void 0 !== i ? (s && "set" in s && void 0 !== (n = s.set(t, i, e)) ? n : (t[e] = i)) : s && "get" in s && null !== (n = s.get(t, e)) ? n : t[e]
3010                    );
3011            },
3012            propHooks: {
3013                tabIndex: {
3014                    get: function (t) {
3015                        var e = T.find.attr(t, "tabindex");
3016                        return e ? parseInt(e, 10) : Te.test(t.no
3016deName) || (Se.test(t.nodeName) && t.href) ? 0 : -1;
3017                    },
3018                },
3019            },
3020            propFix: { for: "htmlFor", class: "className" },
3021        }),
3022        b.optSelected ||
3023            (T.propHooks.selected = {
3024                get: function (t) {
3025                    var e = t.parentNode;
3026                    return e && e.parentNode && e.parentNode.selectedIndex, null;
3027                },
3028                set: function (t) {
3029                    var e = t.parentNode;
3030                    e && (e.selectedIndex, e.parentNode && e.parentNode.selectedIndex);
3031                },
3032            }),
3033        T.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () {
3034            T.propFix[this.toLowerCase()] = this;
3035        }),
3036        T.fn.extend({
3037            addClass: function (e) {
3038                var t,
3039                    i,
3040                    n,
3041                    s,
3042                    o,
3043                    r,
3044                    a,
3045                    l = 0;
3046                if (y(e))
3047                    return this.each(function (t) {
3048                        T(this).addClass(e.call(this, t, Pe(this)));
3049                    });
3050                if ((t = Ie(e)).length)
3051                    for (; (i = this[l++]); )
3052                        if (((s = Pe(i)), (n = 1 === i.nodeType && " " + De(s) + " "))) {
3053                            for (r = 0; (o = t[r++]); ) n.indexOf(" " + o + " ") < 0 && (n += o + " ");
3054                            s !== (a = De(n)) && i.setAttribute("class", a);
3055                        }
3056                return this;
3057            },
3058            removeClass: function (e) {
3059                var t,
3060                    i,
3061                    n,
3062                    s,
3063                    o,
3064                    r,
3065                    a,
3066                    l = 0;
3067                if (y(e))
3068                    return this.each(function (t) {
3069                        T(this).removeClass(e.call(this, t, Pe(this)));
3070                    });
3071                if (!arguments.length) return this.attr("class", "");
3072                if ((t = Ie(e)).length)
3073                    for (; (i = this[l++]); )
3074                        if (((s = Pe(i)), (n = 1 === i.nodeType && " " + De(s) + " "))) {
3075                            for (r = 0; (o = t[r++]); ) for (; -1 < n.indexOf(" " + o + " "); ) n = n.replace(" " + o + " ", " ");
3076                            s !== (a = De(n)) && i.setAttribute("class", a);
3077                        }
3078                return this;
3079            },
3080            toggleClass: function (s, e) {
3081                var o = typeof s,
3082                    r = "string" == o || Array.isArray(s);
3083                return "boolean" == typeof e && r
3084                    ? e
3085                        ? this.addClass(s)
3086                        : this.removeClass(s)
3087                    : y(s)
3088                    ? this.each(function (t) {
3089                          T(this).toggleClass(s.call(this, t, Pe(this), e), e);
3090                      })
3091                    : this.each(function () {
3092                          var t, e, i, n;
3093                          if (r) for (e = 0, i = T(this), n = Ie(s); (t = n[e++]); ) i.hasClass(t) ? i.removeClass(t) : i.addClass(t);
3094                          else (void 0 !== s && "boolean" != o) || ((t = Pe(this)) && X.set(this, "__className__", t), this.setAttribute && this.setAttribute("class", (!t && !1 !== s && X.get(this, "__className__")) || ""));
3095                      });
3096            },
3097            hasClass: function (t) {
3098                var e,
3099                    i,
3100                    n = 0;
3101                for (e = " " + t + " "; (i = this[n++]); ) if (1 === i.nodeType && -1 < (" " + De(Pe(i)) + " ").indexOf(e)) return !0;
3102                return !1;
3103            },
3104        });
3105    var Ae = /\r/g;
3106    T.fn.extend({
3107        val: function (i) {
3108            var n,
3109                t,
3110                s,
3111                e = this[0];
3112            return arguments.length
3113                ? ((s = y(i)),
3114                  this.each(function (t) {
3115                      var e;
3116                      1 === this.nodeType &&
3117                          (null == (e = s ? i.call(this, t, T(this).val()) : i)
3118                              ? (e = "")
3119                              : "number" == typeof e
3120                              ? (e += "")
3121                              : Array.isArray(e) &&
3122                                (e = T.map(e, function (t) {
3123                                    return null == t ? "" : t + "";
3124                                })),
3125                          ((n = T.valHooks[this.type] || T.valHooks[this.nodeName.toLowerCase()]) && "set" in n && void 0 !== n.set(this, e, "value")) || (this.value = e));
3126                  }))
3127                : e
3128                ? (n = T.valHooks[e.type] || T.valHooks[e.nodeName.toLowerCase()]) && "get" in n && void 0 !== (t = n.get(e, "value"))
3129                    ? t
3130                    : "string" == typeof (t = e.value)
3131                    ? t.replace(Ae, "")
3132                    : null == t
3133                    ? ""
3134                    : t
3135                : void 0;
3136        },
3137    }),
3138        T.extend({
3139            valHooks: {
3140                option: {
3141                    get: function (t) {
3142                        var e = T.find.attr(t, "value");
3143                        return null != e ? e : De(T.text(t));
3144                    },
3145                },
3146                select: {
3147                    get: function (t) {
3148                        var e,
3149                            i,
3150                            n,
3151                            s = t.options,
3152                            o = t.selectedIndex,
3153                            r = "select-one" === t.type,
3154                            a = r ? null : [],
3155                            l = r ? o + 1 : s.length;
3156                        for (n = o < 0 ? l : r ? o : 0; n < l; n++)
3157                            if (((i = s[n]).selected || n === o) && !i.disabled && (!i.parentNode.disabled || !P(i.parentNode, "optgroup"))) {
3158                                if (((e = T(i).val()), r)) return e;
3159                                a.push(e);
3160                            }
3161                        return a;
3162                    },
3163                    set: function (t, e) {
3164                        for (var i, n, s = t.options, o = T.makeArray(e), r = s.length; r--; ) ((n = s[r]).selected = -1 < T.inArray(T.valHooks.option.get(n), o)) && (i = !0);
3165                        return i || (t.selectedIndex = -1), o;
3166                    },
3167                },
3168            },
3169        }),
3170        T.each(["radio", "checkbox"], function () {
3171            (T.valHooks[this] = {
3172                set: function (t, e) {
3173                    if (Array.isArray(e)) return (t.checked = -1 < T.inArray(T(t).val(), e));
3174                },
3175            }),
3176                b.checkOn ||
3177                    (T.valHooks[this].get = function (t) {
3178                        return null === t.getAttribute("value") ? "on" : t.value;
3179                    });
3180        }),
3181        (b.focusin = "onfocusin" in x);
3182    function Me(t) {
3183        t.stopPropagation();
3184    }
3185    var Ee = /^(?:focusinfocus|focusoutblur)$/;
3186    T.extend(T.event, {
3187        trigger: function (t, e, i, n) {
3188            var s,
3189                o,
3190                r,
3191                a,
3192                l,
3193                c,
3194                u,
3195                h,
3196                d = [i || C],
3197                p = v.call(t, "type") ? t.type : t,
3198                f = v.call(t, "namespace") ? t.namespace.split(".") : [];
3199            if (
3200                ((o = h = r = i = i || C),
3201                3 !== i.nodeType &&
3202                    8 !== i.nodeType &&
3203                    !Ee.test(p + T.event.triggered) &&
3204                    (-1 < p.indexOf(".") && ((p = (f = p.split(".")).shift()), f.sort()),
3205                    (l = p.indexOf(":") < 0 && "on" + p),
3206                    ((t = t[T.expando] ? t : new T.Event(p, "object" == typeof t && t)).isTrigger = n ? 2 : 3),
3207                    (t.namespace = f.join(".")),
3208                    (t.rnamespace = t.namespace ? new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)") : null),
3209                    (t.result = void 0),
3210                    t.target || (t.target = i),
3211                    (e = null == e ? [t] : T.makeArray(e, [t])),
3212                    (u = T.event.special[p] || {}),
3213                    n || !u.trigger || !1 !== u.trigger.apply(i, e)))
3214            ) {
3215                if (!n && !u.noBubble && !m(i)) {
3216                    for (a = u.delegateType || p, Ee.test(a + p) || (o = o.parentNode); o; o = o.parentNode) d.push(o), (r = o);
3217                    r === (i.ownerDocument || C) && d.push(r.defaultView || r.parentWindow || x);
3218                }
3219                for (s = 0; (o = d[s++]) && !t.isPropagationStopped(); )
3220                    (h = o),
3221                        (t.type = 1 < s ? a : u.bindType || p),
3222                        (c = (X.get(o, "events") || {})[t.type] && X.get(o, "handle")) && c.apply(o, e),
3223                        (c = l && o[l]) && c.apply && K(o) && ((t.result = c.apply(o, e)), !1 === t.result && t.preventDefault());
3224                return (
3225                    (t.type = p),
3226                    n ||
3227                        t.isDefaultPrevented() ||
3228                        (u._default && !1 !== u._default.apply(d.pop(), e)) ||
3229                        !K(i) ||
3230                        (l &&
3231                            y(i[p]) &&
3232                            !m(i) &&
3233                            ((r = i[l]) && (i[l] = null),
3234                            (T.event.triggered = p),
3235                            t.isPropagationStopped() && h.addEventListener(p, Me),
3236                            i[p](),
3237                            t.isPropagationStopped() && h.removeEventListener(p, Me),
3238                            (T.event.triggered = void 0),
3239                            r && (i[l] = r))),
3240                    t.result
3241                );
3242            }
3243        },
3244        simulate: function (t, e, i) {
3245            var n = T.extend(new T.Event(), i, { type: t, isSimulated: !0 });
3246            T.event.trigger(n, null, e);
3247        },
3248    }),
3249        T.fn.extend({
3250            trigger: function (t, e) {
3251                return this.each(function () {
3252                    T.event.trigger(t, e, this);
3253                });
3254            },
3255            triggerHandler: function (t, e) {
3256                var i = this[0];
3257                if (i) return T.event.trigger(t, e, i, !0);
3258            },
3259        }),
3260        b.focusin ||
3261            T.each({ focus: "focusin", blur: "focusout" }, function (i, n) {
3262                function s(t) {
3263                    T.event.simulate(n, t.target, T.event.fix(t));
3264                }
3265                T.event.special[n] = {
3266                    setup: function () {
3267                        var t = this.ownerDocument || this,
3268                            e = X.access(t, n);
3269                        e || t.addEventListener(i, s, !0), X.access(t, n, (e || 0) + 1);
3270                    },
3271                    teardown: function () {
3272                        var t = this.ownerDocument || this,
3273                            e = X.access(t, n) - 1;
3274                        e ? X.access(t, n, e) : (t.removeEventListener(i, s, !0), X.remove(t, n));
3275                    },
3276                };
3277            });
3278    var Oe = x.location,
3279        He = Date.now(),
3280        Ne = /\?/;
3281    T.parseXML = function (t) {
3282        var e;
3283        if (!t || "string" != typeof t) return null;
3284        try {
3285            e = new x.DOMParser().parseFromString(t, "text/xml");
3286        } catch (t) {
3287            e = void 0;
3288        }
3289        return (e && !e.getElementsByTagName("parsererror").length) || T.error("Invalid XML: " + t), e;
3290    };
3291    var ze = /\[\]$/,
3292        Le = /\r?\n/g,
3293        je = /^(?:submit|button|image|reset|file)$/i,
3294        Fe = /^(?:input|select|textarea|keygen)/i;
3295    function Re(i, t, n, s) {
3296        var e;
3297        if (Array.isArray(t))
3298            T.each(t, function (t, e) {
3299                n || ze.test(i) ? s(i, e) : Re(i + "[" + ("object" == typeof e && null != e ? t : "") + "]", e, n, s);
3300            });
3301        else if (n || "object" !== k(t)) s(i, t);
3302        else for (e in t) Re(i + "[" + e + "]", t[e], n, s);
3303    }
3304    (T.param = function (t, e) {
3305        function i(t, e) {
3306            var i = y(e) ? e() : e;
3307            s[s.length] = encodeURIComponent(t) + "=" + encodeURIComponent(null == i ? "" : i);
3308        }
3309        var n,
3310            s = [];
3311        if (null == t) return "";
3312        if (Array.isArray(t) || (t.jquery && !T.isPlainObject(t)))
3313            T.each(t, function () {
3314                i(this.name, this.value);
3315            });
3316        else for (n in t) Re(n, t[n], e, i);
3317        return s.join("&");
3318    }),
3319        T.fn.extend({
3320            serialize: function () {
3321                return T.param(this.serializeArray());
3322            },
3323            serializeArray: function () {
3324                return this.map(function () {
3325                    var t = T.prop(this, "elements");
3326                    return t ? T.makeArray(t) : this;
3327                })
3328                    .filter(function () {
3329                        var t = this.type;
3330                        return this.name && !T(this).is(":disabled") && Fe.test(this.nodeName) && !je.test(t) && (this.checked || !dt.test(t));
3331                    })
3332                    .map(function (t, e) {
3333                        var i = T(this).val();
3334                        return null == i
3335                            ? null
3336                            : Array.isArray(i)
3337                            ? T.map(i, function (t) {
3338                                  return { name: e.name, value: t.replace(Le, "\r\n") };
3339                              })
3340                            : { name: e.name, value: i.replace(Le, "\r\n") };
3341                    })
3342                    .get();
3343            },
3344        });
3345    var We = /%20/g,
3346        $e = /#.*$/,
3347        Be = /([?&])_=[^&]*/,
3348        qe = /^(.*?):[ \t]*([^\r\n]*)$/gm,
3349        Ye = /^(?:GET|HEAD)$/,
3350        Ue = /^\/\//,
3351        Ve = {},
3352        Ke = {},
3353        Ge = "*/".concat("*"),
3354        Xe = C.createElement("a");
3355    function Qe(o) {
3356        return function (t, e) {
3357            "string" != typeof t && ((e = t), (t = "*"));
3358            var i,
3359                n = 0,
3360                s = t.toLowerCase().match(z) || [];
3361            if (y(e)) for (; (i = s[n++]); ) "+" === i[0] ? ((i = i.slice(1) || "*"), (o[i] = o[i] || []).unshift(e)) : (o[i] = o[i] || []).push(e);
3362        };
3363    }
3364    function Ze(e, s, o, r) {
3365        var a = {},
3366            l = e === Ke;
3367        function c(t) {
3368            var n;
3369            return (
3370                (a[t] = !0),
3371                T.each(e[t] || [], function (t, e) {
3372                    var i = e(s, o, r);
3373                    return "string" != typeof i || l || a[i] ? (l ? !(n = i) : void 0) : (s.dataTypes.unshift(i), c(i), !1);
3374                }),
3375                n
3376            );
3377        }
3378        return c(s.dataTypes[0]) || (!a["*"] && c("*"));
3379    }
3380    function Je(t, e) {
3381        var i,
3382            n,
3383            s = T.ajaxSettings.flatOptions || {};
3384        for (i in e) void 0 !== e[i] && ((s[i] ? t : (n = n || {}))[i] = e[i]);
3385        return n && T.extend(!0, t, n), t;
3386    }
3387    (Xe.href = Oe.href),
3388        T.extend({
3389            active: 0,
3390            lastModified: {},
3391            etag: {},
3392            ajaxSettings: {
3393                url: Oe.href,
3394                type: "GET",
3395                isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Oe.protocol),
3396                global: !0,
3397                processData: !0,
3398                async: !0,
3399                contentType: "application/x-www-form-urlencoded; charset=UTF-8",
3400                accepts: { "*": Ge, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" },
3401                contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ },
3402                responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" },
3403                converters: { "* text": String, "text html": !0, "text json": JSON.parse, "text xml": T.parseXML },
3404                flatOptions: { url: !0, context: !0 },
3405            },
3406            ajaxSetup: function (t, e) {
3407                return e ? Je(Je(t, T.ajaxSettings), e) : Je(T.ajaxSettings, t);
3408            },
3409            ajaxPrefilter: Qe(Ve),
3410            ajaxTransport: Qe(Ke),
3411            ajax: function (t, e) {
3412                "object" == typeof t && ((e = t), (t = void 0)), (e = e || {});
3413                var u,
3414                    h,
3415                    d,
3416                    i,
3417                    p,
3418                    n,
3419                    f,
3420                    m,
3421                    s,
3422                    o,
3423                    g = T.ajaxSetup({}, e),
3424                    v = g.context || g,
3425                    b = g.context && (v.nodeType || v.jquery) ? T(v) : T.event,
3426                    y = T.Deferred(),
3427                    _ = T.Callbacks("once memory"),
3428                    k = g.statusCode || {},
3429                    r = {},
3430                    a = {},
3431                    l = "canceled",
3432                    w = {
3433                        readyState: 0,
3434                        getResponseHeader: function (t) {
3435                            var e;
3436                            if (f) {
3437                                if (!i) for (i = {}; (e = qe.exec(d)); ) i[e[1].toLowerCase() + " "] = (i[e[1].toLowerCase() + " "] || []).concat(e[2]);
3438                                e = i[t.toLowerCase() + " "];
3439                            }
3440                            return null == e ? null : e.join(", ");
3441                        },
3442                        getAllResponseHeaders: function () {
3443                            return f ? d : null;
3444                        },
3445                        setRequestHeader: function (t, e) {
3446                            return null == f && ((t = a[t.toLowerCase()] = a[t.toLowerCase()] || t), (r[t] = e)), this;
3447                        },
3448                        overrideMimeType: function (t) {
3449                            return null == f && (g.mimeType = t), this;
3450                        },
3451                        statusCode: function (t) {
3452                            var e;
3453                            if (t)
3454                                if (f) w.always(t[w.status]);
3455                                else for (e in t) k[e] = [k[e], t[e]];
3456                            return this;
3457                        },
3458                        abort: function (t) {
3459                            var e = t || l;
3460                            return u && u.abort(e), c(0, e), this;
3461                        },
3462                    };
3463                if (
3464                    (y.promise(w),
3465                    (g.url = ((t || g.url || Oe.href) + "").replace(Ue, Oe.protocol + "//")),
3466                    (g.type = e.method || e.type || g.method || g.type),
3467                    (g.dataTypes = (g.dataType || "*").toLowerCase().match(z) || [""]),
3468                    null == g.crossDomain)
3469                ) {
3470                    n = C.createElement("a");
3471                    try {
3472                        (n.href = g.url), (n.href = n.href), (g.crossDomain = Xe.protocol + "//" + Xe.host != n.protocol + "//" + n.host);
3473                    } catch (t) {
3474                        g.crossDomain = !0;
3475                    }
3476                }
3477                if ((g.data && g.processData && "string" != typeof g.data && (g.data = T.param(g.data, g.traditional)), Ze(Ve, g, e, w), f)) return w;
3478                for (s in ((m = T.event && g.global) && 0 == T.active++ && T.event.trigger("ajaxStart"),
3479                (g.type = g.type.toUpperCase()),
3480                (g.hasContent = !Ye.test(g.type)),
3481                (h = g.url.replace($e, "")),
3482                g.hasContent
3483                    ? g.data && g.processData && 0 === (g.contentType || "").indexOf("application/x-www-form-urlencoded") && (g.data = g.data.replace(We, "+"))
3484                    : ((o = g.url.slice(h.length)),
3485                      g.data && (g.processData || "string" == typeof g.data) && ((h += (Ne.test(h) ? "&" : "?") + g.data), delete g.data),
3486                      !1 === g.cache && ((h = h.replace(Be, "$1")), (o = (Ne.test(h) ? "&" : "?") + "_=" + He++ + o)),
3487                      (g.url = h + o)),
3488                g.ifModified && (T.lastModified[h] && w.setRequestHeader("If-Modified-Since", T.lastModified[h]), T.etag[h] && w.setRequestHeader("If-None-Match", T.etag[h])),
3489                ((g.data && g.hasContent && !1 !== g.contentType) || e.contentType) && w.setRequestHeader("Content-Type", g.contentType),
3490                w.setRequestHeader("Accept", g.dataTypes[0] && g.accepts[g.dataTypes[0]] ? g.accepts[g.dataTypes[0]] + ("*" !== g.dataTypes[0] ? ", " + Ge + "; q=0.01" : "") : g.accepts["*"]),
3491                g.headers))
3492                    w.setRequestHeader(s, g.headers[s]);
3493                if (g.beforeSend && (!1 === g.beforeSend.call(v, w, g) || f)) return w.abort();
3494                if (((l = "abort"), _.add(g.complete), w.done(g.success), w.fail(g.error), (u = Ze(Ke, g, e, w)))) {
3495                    if (((w.readyState = 1), m && b.trigger("ajaxSend", [w, g]), f)) return w;
3496                    g.async &&
3497                        0 < g.timeout &&
3498                        (p = x.setTimeout(function () {
3499                            w.abort("timeout");
3500                        }, g.timeout));
3501                    try {
3502                        (f = !1), u.send(r, c);
3503                    } catch (t) {
3504                        if (f) throw t;
3505                        c(-1, t);
3506                    }
3507                } else c(-1, "No Transport");
3508                function c(t, e, i, n) {
3509                    var s,
3510                        o,
3511                        r,
3512                        a,
3513                        l,
3514                        c = e;
3515                    f ||
3516                        ((f = !0),
3517                        p && x.clearTimeout(p),
3518                        (u = void 0),
3519                        (d = n || ""),
3520                        (w.readyState = 0 < t ? 4 : 0),
3521                        (s = (200 <= t && t < 300) || 304 === t),
3522                        i &&
3523                            (a = (function (t, e, i) {
3524                                for (var n, s, o, r, a = t.contents, l = t.dataTypes; "*" === l[0]; ) l.shift(), void 0 === n && (n = t.mimeType || e.getResponseHeader("Content-Type"));
3525                                if (n)
3526                                    for (s in a)
3527                                        if (a[s] && a[s].test(n)) {
3528                                            l.unshift(s);
3529                                            break;
3530                                        }
3531                                if (l[0] in i) o = l[0];
3532                                else {
3533                                    for (s in i) {
3534                                        if (!l[0] || t.converters[s + " " + l[0]]) {
3535                                            o = s;
3536                                            break;
3537                                        }
3538                                        r = r || s;
3539                                    }
3540                                    o = o || r;
3541                                }
3542                                if (o) return o !== l[0] && l.unshift(o), i[o];
3543                            })(g, w, i)),
3544                        (a = (function (t, e, i, n) {
3545                            var s,
3546                                o,
3547                                r,
3548                                a,
3549                                l,
3550                                c = {},
3551                                u = t.dataTypes.slice();
3552                            if (u[1]) for (r in t.converters) c[r.toLowerCase()] = t.converters[r];
3553                            for (o = u.shift(); o; )
3554                                if ((t.responseFields[o] && (i[t.responseFields[o]] = e), !l && n && t.dataFilter && (e = t.dataFilter(e, t.dataType)), (l = o), (o = u.shift())))
3555                                    if ("*" === o) o = l;
3556                                    else if ("*" !== l && l !== o) {
3557                                        if (!(r = c[l + " " + o] || c["* " + o]))
3558                                            for (s in c)
3559                                                if ((a = s.split(" "))[1] === o && (r = c[l + " " + a[0]] || c["* " + a[0]])) {
3560                                                    !0 === r ? (r = c[s]) : !0 !== c[s] && ((o = a[0]), u.unshift(a[1]));
3561                                                    break;
3562                                                }
3563                                        if (!0 !== r)
3564                                            if (r && t.throws) e = r(e);
3565                                            else
3566                                                try {
3567                                                    e = r(e);
3568                                                } catch (t) {
3569                                                    return { state: "parsererror", error: r ? t : "No conversion from " + l + " to " + o };
3570                                                }
3571                                    }
3572                            return { state: "success", data: e };
3573                        })(g, a, w, s)),
3574                        s
3575                            ? (g.ifModified && ((l = w.getResponseHeader("Last-Modified")) && (T.lastModified[h] = l), (l = w.getResponseHeader("etag")) && (T.etag[h] = l)),
3576                              204 === t || "HEAD" === g.type ? (c = "nocontent") : 304 === t ? (c = "notmodified") : ((c = a.state), (o = a.data), (s = !(r = a.error))))
3577                            : ((r = c), (!t && c) || ((c = "error"), t < 0 && (t = 0))),
3578                        (w.status = t),
3579                        (w.statusText = (e || c) + ""),
3580                        s ? y.resolveWith(v, [o, c, w]) : y.rejectWith(v, [w, c, r]),
3581                        w.statusCode(k),
3582                        (k = void 0),
3583                        m && b.trigger(s ? "ajaxSuccess" : "ajaxError", [w, g, s ? o : r]),
3584                        _.fireWith(v, [w, c]),
3585                        m && (b.trigger("ajaxComplete", [w, g]), --T.active || T.event.trigger("ajaxStop")));
3586                }
3587                return w;
3588            },
3589            getJSON: function (t, e, i) {
3590                return T.get(t, e, i, "json");
3591            },
3592            getScript: function (t, e) {
3593                return T.get(t, void 0, e, "script");
3594            },
3595        }),
3596        T.each(["get", "post"], function (t, s) {
3597            T[s] = function (t, e, i, n) {
3598                return y(e) && ((n = n || i), (i = e), (e = void 0)), T.ajax(T.extend({ url: t, type: s, dataType: n, data: e, success: i }, T.isPlainObject(t) && t));
3599            };
3600        }),
3601        (T._evalUrl = function (t, e) {
3602            return T.ajax({
3603                url: t,
3604                type: "GET",
3605                dataType: "script",
3606                cache: !0,
3607                async: !1,
3608                global: !1,
3609                converters: { "text script": function () {} },
3610                dataFilter: function (t) {
3611                    T.globalEval(t, e);
3612                },
3613            });
3614        }),
3615        T.fn.extend({
3616            wrapAll: function (t) {
3617                var e;
3618                return (
3619                    this[0] &&
3620                        (y(t) && (t = t.call(this[0])),
3621                        (e = T(t, this[0].ownerDocument).eq(0).clone(!0)),
3622                        this[0].parentNode && e.insertBefore(this[0]),
3623                        e
3624                            .map(function () {
3625                                for (var t = this; t.firstElementChild; ) t = t.firstElementChild;
3626                                return t;
3627                            })
3628                            .append(this)),
3629                    this
3630                );
3631            },
3632            wrapInner: function (i) {
3633                return y(i)
3634                    ? this.each(function (t) {
3635                          T(this).wrapInner(i.call(this, t));
3636                      })
3637                    : this.each(function () {
3638                          var t = T(this),
3639                              e = t.contents();
3640                          e.length ? e.wrapAll(i) : t.append(i);
3641                      });
3642            },
3643            wrap: function (e) {
3644                var i = y(e);
3645                return this.each(function (t) {
3646                    T(this).wrapAll(i ? e.call(this, t) : e);
3647                });
3648            },
3649            unwrap: function (t) {
3650                return (
3651                    this.parent(t)
3652                        .not("body")
3653                        .each(function () {
3654                            T(this).replaceWith(this.childNodes);
3655                        }),
3656                    this
3657                );
3658            },
3659        }),
3660        (T.expr.pseudos.hidden = function (t) {
3661            return !T.expr.pseudos.visible(t);
3662        }),
3663        (T.expr.pseudos.visible = function (t) {
3664            return !!(t.offsetWidth || t.offsetHeight || t.getClientRects().length);
3665        }),
3666        (T.ajaxSettings.xhr = function () {
3667            try {
3668                return new x.XMLHttpRequest();
3669            } catch (t) {}
3670        });
3671    var ti = { 0: 200, 1223: 204 },
3672        ei = T.ajaxSettings.xhr();
3673    (b.cors = !!ei && "withCredentials" in ei),
3674        (b.ajax = ei = !!ei),
3675        T.ajaxTransport(function (s) {
3676            var o, r;
3677            if (b.cors || (ei && !s.crossDomain))
3678                return {
3679                    send: function (t, e) {
3680                        var i,
3681                            n = s.xhr();
3682                        if ((n.open(s.type, s.url, s.async, s.username, s.password), s.xhrFields)) for (i in s.xhrFields) n[i] = s.xhrFields[i];
3683                        for (i in (s.mimeType && n.overrideMimeType && n.overrideMimeType(s.mimeType), s.crossDomain || t["X-Requested-With"] || (t["X-Requested-With"] = "XMLHttpRequest"), t)) n.setRequestHeader(i, t[i]);
3684                        (o = function (t) {
3685                            return function () {
3686                                o &&
3687                                    ((o = r = n.onload = n.onerror = n.onabort = n.ontimeout = n.onreadystatechange = null),
3688                                    "abort" === t
3689                                        ? n.abort()
3690                                        : "error" === t
3691                                        ? "number" != typeof n.status
3692                                            ? e(0, "error")
3693                                            : e(n.status, n.statusText)
3694                                        : e(ti[n.status] || n.status, n.statusText, "text" !== (n.responseType || "text") || "string" != typeof n.responseText ? { binary: n.response } : { text: n.responseText }, n.getAllResponseHeaders()));
3695                            };
3696                        }),
3697                            (n.onload = o()),
3698                            (r = n.onerror = n.ontimeout = o("error")),
3699                            void 0 !== n.onabort
3700                                ? (n.onabort = r)
3701                                : (n.onreadystatechange = function () {
3702                                      4 === n.readyState &&
3703                                          x.setTimeout(function () {
3704                                              o && r();
3705                                          });
3706                                  }),
3707                            (o = o("abort"));
3708                        try {
3709                            n.send((s.hasContent && s.data) || null);
3710                        } catch (t) {
3711                            if (o) throw t;
3712                        }
3713                    },
3714                    abort: function () {
3715                        o && o();
3716                    },
3717                };
3718        }),
3719        T.ajaxPrefilter(function (t) {
3720            t.crossDomain && (t.contents.script = !1);
3721        }),
3722        T.ajaxSetup({
3723            accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" },
3724            contents: { script: /\b(?:java|ecma)script\b/ },
3725            converters: {
3726                "text script": function (t) {
3727                    return T.globalEval(t), t;
3728                },
3729            },
3730        }),
3731        T.ajaxPrefilter("script", function (t) {
3732            void 0 === t.cache && (t.cache = !1), t.crossDomain && (t.type = "GET");
3733        }),
3734        T.ajaxTransport("script", function (i) {
3735            var n, s;
3736            if (i.crossDomain || i.scriptAttrs)
3737                return {
3738                    send: function (t, e) {
3739                        (n = T("<script>")
3740                            .attr(i.scriptAttrs || {})
3741                            .prop({ charset: i.scriptCharset, src: i.url })
3742                            .on(
3743                                "load error",
3744                                (s = function (t) {
3745                                    n.remove(), (s = null), t && e("error" === t.type ? 404 : 200, t.type);
3746                                })
3747                            )),
3748                            C.head.appendChild(n[0]);
3749                    },
3750                    abort: function () {
3751                        s && s();
3752                    },
3753                };
3754        });
3755    var ii,
3756        ni = [],
3757        si = /(=)\?(?=&|$)|\?\?/;
3758    T.ajaxSetup({
3759        jsonp: "callback",
3760        jsonpCallback: function () {
3761            var t = ni.pop() || T.expando + "_" + He++;
3762            return (this[t] = !0), t;
3763        },
3764    }),
3765        T.ajaxPrefilter("json jsonp", function (t, e, i) {
3766            var n,
3767                s,
3768                o,
3769                r = !1 !== t.jsonp && (si.test(t.url) ? "url" : "string" == typeof t.data && 0 === (t.contentType || "").indexOf("application/x-www-form-urlencoded") && si.test(t.data) && "data");
3770            if (r || "jsonp" === t.dataTypes[0])
3771                return (
3772                    (n = t.jsonpCallback = y(t.jsonpCallback) ? t.jsonpCallback() : t.jsonpCallback),
3773                    r ? (t[r] = t[r].replace(si, "$1" + n)) : !1 !== t.jsonp && (t.url += (Ne.test(t.url) ? "&" : "?") + t.jsonp + "=" + n),
3774                    (t.converters["script json"] = function () {
3775                        return o || T.error(n + " was not called"), o[0];
3776                    }),
3777                    (t.dataTypes[0] = "json"),
3778                    (s = x[n]),
3779                    (x[n] = function () {
3780                        o = arguments;
3781                    }),
3782                    i.always(function () {
3783                        void 0 === s ? T(x).removeProp(n) : (x[n] = s), t[n] && ((t.jsonpCallback = e.jsonpCallback), ni.push(n)), o && y(s) && s(o[0]), (o = s = void 0);
3784                    }),
3785                    "script"
3786                );
3787        }),
3788        (b.createHTMLDocument = (((ii = C.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>"), 2 === ii.childNodes.length)),
3789        (T.parseHTML = function (t, e, i) {
3790            return "string" != typeof t
3791                ? []
3792                : ("boolean" == typeof e && ((i = e), (e = !1)),
3793                  e || (b.createHTMLDocument ? (((n = (e = C.implementation.createHTMLDocument("")).createElement("base")).href = C.location.href), e.head.appendChild(n)) : (e = C)),
3794                  (o = !i && []),
3795                  (s = I.exec(t)) ? [e.createElement(s[1])] : ((s = kt([t], e, o)), o && o.length && T(o).remove(), T.merge([], s.childNodes)));
3796            var n, s, o;
3797        }),
3798        (T.fn.load = function (t, e, i) {
3799            var n,
3800                s,
3801                o,
3802                r = this,
3803                a = t.indexOf(" ");
3804            return (
3805                -1 < a && ((n = De(t.slice(a))), (t = t.slice(0, a))),
3806                y(e) ? ((i = e), (e = void 0)) : e && "object" == typeof e && (s = "POST"),
3807                0 < r.length &&
3808                    T.ajax({ url: t, type: s || "GET", dataType: "html", data: e })
3809                        .done(function (t) {
3810                            (o = arguments), r.html(n ? T("<div>").append(T.parseHTML(t)).find(n) : t);
3811                        })
3812                        .always(
3813                            i &&
3814                                function (t, e) {
3815                                    r.each(function () {
3816                                        i.apply(this, o || [t.responseText, e, t]);
3817                                    });
3818                                }
3819                        ),
3820                this
3821            );
3822        }),
3823        T.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (t, e) {
3824            T.fn[e] = function (t) {
3825                return this.on(e, t);
3826            };
3827        }),
3828        (T.expr.pseudos.animated = function (e) {
3829            return T.grep(T.timers, function (t) {
3830                return e === t.elem;
3831            }).length;
3832        }),
3833        (T.offset = {
3834            setOffset: function (t, e, i) {
3835                var n,
3836                    s,
3837                    o,
3838                    r,
3839                    a,
3840                    l,
3841                    c = T.css(t, "position"),
3842                    u = T(t),
3843                    h = {};
3844                "static" === c && (t.style.position = "relative"),
3845                    (a = u.offset()),
3846                    (o = T.css(t, "top")),
3847                    (l = T.css(t, "left")),
3848                    (s = ("absolute" === c || "fixed" === c) && -1 < (o + l).indexOf("auto") ? ((r = (n = u.position()).top), n.left) : ((r = parseFloat(o) || 0), parseFloat(l) || 0)),
3849                    y(e) && (e = e.call(t, i, T.extend({}, a))),
3850                    null != e.top && (h.top = e.top - a.top + r),
3851                    null != e.left && (h.left = e.left - a.left + s),
3852                    "using" in e ? e.using.call(t, h) : u.css(h);
3853            },
3854        }),
3855        T.fn.extend({
3856            offset: function (e) {
3857                if (arguments.length)
3858                    return void 0 === e
3859                        ? this
3860                        : this.each(function (t) {
3861                              T.offset.setOffset(this, e, t);
3862                          });
3863                var t,
3864                    i,
3865                    n = this[0];
3866                return n ? (n.getClientRects().length ? ((t = n.getBoundingClientRect()), (i = n.ownerDocument.defaultView), { top: t.top + i.pageYOffset, left: t.left + i.pageXOffset }) : { top: 0, left: 0 }) : void 0;
3867            },
3868            position: function () {
3869                if (this[0]) {
3870                    var t,
3871                        e,
3872                        i,
3873                        n = this[0],
3874                        s = { top: 0, left: 0 };
3875                    if ("fixed" === T.css(n, "position")) e = n.getBoundingClientRect();
3876                    else {
3877                        for (e = this.offset(), i = n.ownerDocument, t = n.offsetParent || i.documentElement; t && (t === i.body || t === i.documentElement) && "static" === T.css(t, "position"); ) t = t.parentNode;
3878                        t && t !== n && 1 === t.nodeType && (((s = T(t).offset()).top += T.css(t, "borderTopWidth", !0)), (s.left += T.css(t, "borderLeftWidth", !0)));
3879                    }
3880                    return { top: e.top - s.top - T.css(n, "marginTop", !0), left: e.left - s.left - T.css(n, "marginLeft", !0) };
3881                }
3882            },
3883            offsetParent: function () {
3884                return this.map(function () {
3885                    for (var t = this.offsetParent; t && "static" === T.css(t, "position"); ) t = t.offsetParent;
3886                    return t || st;
3887                });
3888            },
3889        }),
3890        T.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (e, s) {
3891            var o = "pageYOffset" === s;
3892            T.fn[e] = function (t) {
3893                return B(
3894                    this,
3895                    function (t, e, i) {
3896                        var n;
3897                        if ((m(t) ? (n = t) : 9 === t.nodeType && (n = t.defaultView), void 0 === i)) return n ? n[s] : t[e];
3898                        n ? n.scrollTo(o ? n.pageXOffset : i, o ? i : n.pageYOffset) : (t[e] = i);
3899                    },
3900                    e,
3901                    t,
3902                    arguments.length
3903                );
3904            };
3905        }),
3906        T.each(["top", "left"], function (t, i) {
3907            T.cssHooks[i] = Qt(b.pixelPosition, function (t, e) {
3908                if (e) return (e = Xt(t, i)), Vt.test(e) ? T(t).position()[i] + "px" : e;
3909            });
3910        }),
3911        T.each({ Height: "height", Width: "width" }, function (r, a) {
3912            T.each({ padding: "inner" + r, content: a, "": "outer" + r }, function (n, o) {
3913                T.fn[o] = function (t, e) {
3914                    var i = arguments.length && (n || "boolean" != typeof t),
3915                        s = n || (!0 === t || !0 === e ? "margin" : "border");
3916                    return B(
3917                        this,
3918                        function (t, e, i) {
3919                            var n;
3920                            return m(t)
3921                                ? 0 === o.indexOf("outer")
3922                                    ? t["inner" + r]
3923                                    : t.document.documentElement["client" + r]
3924                                : 9 === t.nodeType
3925                                ? ((n = t.documentElement), Math.max(t.body["scroll" + r], n["scroll" + r], t.body["offset" + r], n["offset" + r], n["client" + r]))
3926                                : void 0 === i
3927                                ? T.css(t, e, s)
3928                                : T.style(t, e, i, s);
3929                        },
3930                        a,
3931                        i ? t : void 0,
3932                        i
3933                    );
3934                };
3935            });
3936        }),
3937        T.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 (t, i) {
3938            T.fn[i] = function (t, e) {
3939                return 0 < arguments.length ? this.on(i, null, t, e) : this.trigger(i);
3940            };
3941        }),
3942        T.fn.extend({
3943            hover: function (t, e) {
3944                return this.mouseenter(t).mouseleave(e || t);
3945            },
3946        }),
3947        T.fn.extend({
3948            bind: function (t, e, i) {
3949                return this.on(t, null, e, i);
3950            },
3951            unbind: function (t, e) {
3952                return this.off(t, null, e);
3953            },
3954            delegate: function (t, e, i, n) {
3955                return this.on(e, t, i, n);
3956            },
3957            undelegate: function (t, e, i) {
3958                return 1 === arguments.length ? this.off(t, "**") : this.off(e, t || "**", i);
3959            },
3960        }),
3961        (T.proxy = function (t, e) {
3962            var i, n, s;
3963            if (("string" == typeof e && ((i = t[e]), (e = t), (t = i)), y(t)))
3964                return (
3965                    (n = a.call(arguments, 2)),
3966                    ((s = function () {
3967                        return t.apply(e || this, n.concat(a.call(arguments)));
3968                    }).guid = t.guid = t.guid || T.guid++),
3969                    s
3970                );
3971        }),
3972        (T.holdReady = function (t) {
3973            t ? T.readyWait++ : T.ready(!0);
3974        }),
3975        (T.isArray = Array.isArray),
3976        (T.parseJSON = JSON.parse),
3977        (T.nodeName = P),
3978        (T.isFunction = y),
3979        (T.isWindow = m),
3980        (T.camelCase = V),
3981        (T.type = k),
3982        (T.now = Date.now),
3983        (T.isNumeric = function (t) {
3984            var e = T.type(t);
3985            return ("number" === e || "string" === e) && !isNaN(t - parseFloat(t));
3986        }),
3987        "function" == typeof define &&
3988            define.amd &&
3989            define("jquery", [], function () {
3990                return T;
3991            });
3992    var oi = x.jQuery,
3993        ri = x.$;
3994    return (
3995        (T.noConflict = function (t) {
3996            return x.$ === T && (x.$ = ri), t && x.jQuery === T && (x.jQuery = oi), T;
3997        }),
3998        t || (x.jQuery = x.$ = T),
3999        T
4000    );
4001}),
4002    (function (t, e) {
4003        "function" == typeof define && define.amd ? define(e) : "object" == typeof exports ? (module.exports = e()) : (t.Blazy = e());
4004    })(this, function () {
4005        function n(t) {
4006            var e = t._util;
4007            (e.elements = (function (t) {
4008                for (var e = [], i = (t = t.root.querySelectorAll(t.selector)).length; i--; e.unshift(t[i]));
4009                return e;
4010            })(t.options)),
4011                (e.count = e.elements.length),
4012                e.destroyed &&
4013                    ((e.destroyed = !1),
4014                    t.options.container &&
4015                        g(t.options.container, function (t) {
4016                            f(t, "scroll", e.validateT);
4017                        }),
4018                    f(window, "resize", e.saveViewportOffsetT),
4019                    f(window, "resize", e.validateT),
4020                    f(window, "scroll", e.validateT)),
4021                s(t);
4022        }
4023        function s(t) {
4024            for (var e = t._util, i = 0; i < e.count; i++) {
4025                var n,
4026                    s = e.elements[i],
4027                    o = s;
4028                n = t.options;
4029                var r = o.getBoundingClientRect();
4030                n.container && _ && (o = o.closest(n.containerClass))
4031                    ? (n = !!a((o = o.getBoundingClientRect()), b) && a(r, { top: o.top - n.offset, right: o.right + n.offset, bottom: o.bottom + n.offset, left: o.left - n.offset }))
4032                    : (n = a(r, b)),
4033                    (n || d(s, t.options.successClass)) && (t.load(s), e.elements.splice(i, 1), e.count--, i--);
4034            }
4035            0 === e.count && t.destroy();
4036        }
4037        function a(t, e) {
4038            return t.right >= e.left && t.bottom >= e.top && t.left <= e.right && t.top <= e.bottom;
4039        }
4040        function r(t, e, n) {
4041            if (!d(t, n.successClass) && (e || n.loadInvisible || (0 < t.offsetWidth && 0 < t.offsetHeight)))
4042                if ((e = t.getAttribute(v) || t.getAttribute(n.src))) {
4043                    var i = (e = e.split(n.separator))[y && 1 < e.length ? 1 : 0],
4044                        s = t.getAttribute(n.srcset),
4045                        o = "img" === t.nodeName.toLowerCase(),
4046                        r = (e = t.parentNode) && "picture" === e.nodeName.toLowerCase();
4047                    if (o || void 0 === t.src) {
4048                        var a = new Image(),
4049                            l = function () {
4050                                n.error && n.error(t, "invalid"), p(t, n.errorClass), m(a, "error", l), m(a, "load", c);
4051                            },
4052                            c = function () {
4053                                o ? r || h(t, i, s) : (t.style.backgroundImage = 'url("' + i + '")'), u(t, n), m(a, "load", c), m(a, "error", l);
4054                            };
4055                        r &&
4056                            ((a = t),
4057                            g(e.getElementsByTagName("source"), function (t) {
4058                                var e = n.srcset,
4059                                    i = t.getAttribute(e);
4060                                i && (t.setAttribute("srcset", i), t.removeAttribute(e));
4061                            })),
4062                            f(a, "error", l),
4063                            f(a, "load", c),
4064                            h(a, i, s);
4065                    } else (t.src = i), u(t, n);
4066                } else
4067                    "video" === t.nodeName.toLowerCase()
4068                        ? (g(t.getElementsByTagName("source"), function (t) {
4069                              var e = n.src,
4070                                  i = t.getAttribute(e);
4071                              i && (t.setAttribute("src", i), t.removeAttribute(e));
4072                          }),
4073                          t.load(),
4074                          u(t, n))
4075                        : (n.error && n.error(t, "missing"), p(t, n.errorClass));
4076        }
4077        function u(e, t) {
4078            p(e, t.successClass),
4079                t.success && t.success(e),
4080                e.removeAttribute(t.src),
4081                e.removeAttribute(t.srcset),
4082                g(t.breakpoints, function (t) {
4083                    e.removeAttribute(t.src);
4084                });
4085        }
4086        function h(t, e, i) {
4087            i && t.setAttribute("srcset", i), (t.src = e);
4088        }
4089        function d(t, e) {
4090            return -1 !== (" " + t.className + " ").indexOf(" " + e + " ");
4091        }
4092        function p(t, e) {
4093            d(t, e) || (t.className += " " + e);
4094        }
4095        function l(t) {
4096            (b.bottom = (window.innerHeight || document.documentElement.clientHeight) + t), (b.right = (window.innerWidth || document.documentElement.clientWidth) + t);
4097        }
4098        function f(t, e, i) {
4099            t.attachEvent ? t.attachEvent && t.attachEvent("on" + e, i) : t.addEventListener(e, i, { capture: !1, passive: !0 });
4100        }
4101        function m(t, e, i) {
4102            t.detachEvent ? t.detachEvent && t.detachEvent("on" + e, i) : t.removeEventListener(e, i, { capture: !1, passive: !0 });
4103        }
4104        function g(t, e) {
4105            if (t && e) for (var i = t.length, n = 0; n < i && !1 !== e(t[n], n); n++);
4106        }
4107        function c(e, i, n) {
4108            var s = 0;
4109            return function () {
4110                var t = +new Date();
4111                t - s < i || ((s = t), e.apply(n, arguments));
4112            };
4113        }
4114        var v, b, y, _;
4115        return function (t) {
4116            if (!document.querySelectorAll) {
4117                var o = document.createStyleSheet();
4118                document.querySelectorAll = function (t, e, i, n, s) {
4119                    for (s = document.all, e = [], i = (t = t.replace(/\[for\b/gi, "[htmlFor").split(",")).length; i--; ) {
4120                        for (o.addRule(t[i], "k:v"), n = s.length; n--; ) s[n].currentStyle.k && e.push(s[n]);
4121                        o.removeRule(0);
4122                    }
4123                    return e;
4124                };
4125            }
4126            var e = this,
4127                i = (e._util = {});
4128            (i.elements = []),
4129                (i.destroyed = !0),
4130                (e.options = t || {}),
4131                (e.options.error = e.options.error || !1),
4132                (e.options.offset = e.options.offset || 100),
4133                (e.options.root = e.options.root || document),
4134                (e.options.success = e.options.success || !1),
4135                (e.options.selector = e.options.selector || ".b-lazy"),
4136                (e.options.separator = e.options.separator || "|"),
4137                (e.options.containerClass = e.options.container),
4138                (e.options.container = !!e.options.containerClass && document.querySelectorAll(e.options.containerClass)),
4139                (e.options.errorClass = e.options.errorClass || "b-error"),
4140                (e.options.breakpoints = e.options.breakpoints || !1),
4141                (e.options.loadInvisible = e.options.loadInvisible || !1),
4142                (e.options.successClass = e.options.successClass || "b-loaded"),
4143                (e.options.validateDelay = e.options.validateDelay || 25),
4144                (e.options.saveViewportOffsetDelay = e.options.saveViewportOffsetDelay || 50),
4145                (e.options.srcset = e.options.srcset || "data-srcset"),
4146                (e.options.src = v = e.options.src || "data-src"),
4147                (_ = Element.prototype.closest),
4148                (y = 1 < window.devicePixelRatio),
4149                ((b = {}).top = 0 - e.options.offset),
4150                (b.left = 0 - e.options.offset),
4151                (e.revalidate = function () {
4152                    n(e);
4153                }),
4154                (e.load = function (t, e) {
4155                    var i = this.options;
4156                    void 0 === t.length
4157                        ? r(t, e, i)
4158                        : g(t, function (t) {
4159                              r(t, e, i);
4160                          });
4161                }),
4162                (e.destroy = function () {
4163                    var e = this._util;
4164                    this.options.container &&
4165                        g(this.options.container, function (t) {
4166                            m(t, "scroll", e.validateT);
4167                        }),
4168                        m(window, "scroll", e.validateT),
4169                        m(window, "resize", e.validateT),
4170                        m(window, "resize", e.saveViewportOffsetT),
4171                        (e.count = 0),
4172                        (e.elements.length = 0),
4173                        (e.destroyed = !0);
4174                }),
4175                (i.validateT = c(
4176                    function () {
4177                        s(e);
4178                    },
4179                    e.options.validateDelay,
4180                    e
4181                )),
4182                (i.saveViewportOffsetT = c(
4183                    function () {
4184                        l(e.options.offset);
4185                    },
4186                    e.options.saveViewportOffsetDelay,
4187                    e
4188                )),
4189                l(e.options.offset),
4190                g(e.options.breakpoints, function (t) {
4191                    if (t.width >= window.screen.width) return (v = t.src), !1;
4192                }),
4193                setTimeout(function () {
4194                    n(e);
4195                });
4196        };
4197    }),
4198    (function (t, e) {
4199        if ("object" == typeof exports && "object" == typeof module) module.exports = e(require("jquery"));
4200        else if ("function" == typeof define && define.amd) define(["jquery"], e);
4201        else {
4202            var i = "object" == typeof exports ? e(require("jquery")) : e(t.jQuery);
4203            for (var n in i) ("object" == typeof exports ? exports : t)[n] = i[n];
4204        }
4205    })(window, function (__WEBPACK_EXTERNAL_MODULE__3__) {
4206        return (
4207            (modules = [
4208                function (t) {
4209                    t.exports = JSON.parse(
4210                        '{"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,"CONTROL":17}'
4211                    );
4212                },
4213                function (t, e, i) {
4214                    "use strict";
4215                    function n(t) {
4216                        return (n =
4217                            "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
4218                                ? function (t) {
4219                                      return typeof t;
4220                                  }
4221                                : function (t) {
4222                                      return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
4223                                  })(t);
4224                    }
4225                    var u = i(2),
4226                        h = i(4),
4227                        o = h.document,
4228                        r = i(5).generateMaskSet,
4229                        s = i(5).analyseMask,
4230                        a = i(8);
4231                    function l(t, e, i) {
4232                        if (!(this instanceof l)) return new l(t, e, i);
4233                        (this.el = void 0),
4234                            (this.events = {}),
4235                            (this.maskset = void 0),
4236                            !(this.refreshValue = !1) !== i &&
4237                                (u.isPlainObject(t) ? (e = t) : ((e = e || {}), t && (e.alias = t)),
4238                                (this.opts = u.extend(!0, {}, this.defaults, e)),
4239                                (this.noMasksCache = e && void 0 !== e.definitions),
4240                                (this.userOptions = e || {}),
4241                                d(this.opts.alias, e, this.opts),
4242                                (this.isRTL = this.opts.numericInput));
4243                    }
4244                    function d(t, e, i) {
4245                        var n = l.prototype.aliases[t];
4246                        return n ? (n.alias && d(n.alias, void 0, i), u.extend(!0, i, n), u.extend(!0, i, e), 1) : (null === i.mask && (i.mask = t), 0);
4247                    }
4248                    (l.prototype = {
4249                        dataAttribute: "data-inputmask",
4250                        defaults: {
4251                            _maxTestPos: 500,
4252                            placeholder: "_",
4253                            optionalmarker: ["[", "]"],
4254                            quantifiermarker: ["{", "}"],
4255                            groupmarker: ["(", ")"],
4256                            alternatormarker: "|",
4257                            escapeChar: "\\",
4258                            mask: null,
4259                            regex: null,
4260                            oncomplete: u.noop,
4261                            onincomplete: u.noop,
4262                            oncleared: u.noop,
4263                            repeat: 0,
4264                            greedy: !1,
4265                            autoUnmask: !1,
4266                            removeMaskOnSubmit: !1,
4267                            clearMaskOnLostFocus: !0,
4268                            insertMode: !0,
4269                            insertModeVisual: !0,
4270                            clearIncomplete: !1,
4271                            alias: null,
4272                            onKeyDown: u.noop,
4273                            onBeforeMask: null,
4274                            onBeforePaste: function (t, e) {
4275                                return u.isFunction(e.onBeforeMask) ? e.onBeforeMask.call(this, t, e) : t;
4276                            },
4277                            onBeforeWrite: null,
4278                            onUnMask: null,
4279                            showMaskOnFocus: !0,
4280                            showMaskOnHover: !0,
4281                            onKeyValidation: u.noop,
4282                            skipOptionalPartCharacter: " ",
4283                            numericInput: !1,
4284                            rightAlign: !1,
4285                            undoOnEscape: !0,
4286                            radixPoint: "",
4287                            _radixDance: !1,
4288                            groupSeparator: "",
4289                            keepStatic: null,
4290                            positionCaretOnTab: !0,
4291                            tabThrough: !1,
4292                            supportsInputType: ["text", "tel", "url", "password", "search"],
4293                            ignorables: [8, 9, 19, 27, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46, 93, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 0, 229],
4294                            isComplete: null,
4295                            preValidation: null,
4296                            postValidation: null,
4297                            staticDefinitionSymbol: void 0,
4298                            jitMasking: !1,
4299                            nullable: !0,
4300                            inputEventOnly: !1,
4301                            noValuePatching: !1,
4302                            positionCaretOnClick: "lvp",
4303                            casing: null,
4304                            inputmode: "text",
4305                            importDataAttributes: !0,
4306                            shiftPositions: !0,
4307                        },
4308                        definitions: { 9: { validator: "[0-91-9]", definitionSymbol: "*" }, a: { validator: "[A-Za-zА-яЁёÀ-ÿµ]", definitionSymbol: "*" }, "*": { validator: "[0-91-9A-Za-zА-яЁёÀ-ÿµ]" } },
4309                        aliases: {},
4310                        masksCache: {},
4311                        mask: function (t) {
4312                            var s = this;
4313                            return (
4314                                "string" == typeof t && (t = o.getElementById(t) || o.querySelectorAll(t)),
4315                                (t = t.nodeName ? [t] : t),
4316                                u.each(t, function (t, e) {
4317                                    var i = u.extend(!0, {}, s.opts);
4318                                    if (
4319                                        (function (i, t, n, s) {
4320                                            function e(t, e) {
4321                                                null !== (e = void 0 !== e ? e : i.getAttribute(s + "-" + t)) &&
4322                                                    ("string" == typeof e && (0 === t.indexOf("on") ? (e = h[e]) : "false" === e ? (e = !1) : "true" === e && (e = !0)), (n[t] = e));
4323                                            }
4324                                            if (!0 === t.importDataAttributes) {
4325                                                var o,
4326                                                    r,
4327                                                    a,
4328                                                    l,
4329                                                    c = i.getAttribute(s);
4330                                                if ((c && "" !== c && ((c = c.replace(/'/g, '"')), (r = JSON.parse("{" + c + "}"))), r))
4331                                                    for (l in ((a = void 0), r))
4332                                                        if ("alias" === l.toLowerCase()) {
4333                                                            a = r[l];
4334                                                            break;
4335                                                        }
4336                                                for (o in (e("alias", a), n.alias && d(n.alias, n, t), t)) {
4337                                                    if (r)
4338                                                        for (l in ((a = void 0), r))
4339                                                            if (l.toLowerCase() === o.toLowerCase()) {
4340                                                                a = r[l];
4341                                                                break;
4342                                                            }
4343                                                    e(o, a);
4344                                                }
4345                                            }
4346                                            return (
4347                                                u.extend(!0, t, n),
4348                                                ("rtl" !== i.dir && !t.rightAlign) || (i.style.textAlign = "right"),
4349                                                ("rtl" !== i.dir && !t.numericInput) || ((i.dir = "ltr"), i.removeAttribute("dir"), (t.isRTL = !0)),
4350                                                Object.keys(n).length
4351                                            );
4352                                        })(e, i, u.extend(!0, {}, s.userOptions), s.dataAttribute)
4353                                    ) {
4354                                        var n = r(i, s.noMasksCache);
4355                                        void 0 !== n &&
4356                                            (void 0 !== e.inputmask && ((e.inputmask.opts.autoUnmask = !0), e.inputmask.remove()),
4357                                            (e.inputmask = new l(void 0, void 0, !0)),
4358                                            (e.inputmask.opts = i),
4359                                            (e.inputmask.noMasksCache = s.noMasksCache),
4360                                            (e.inputmask.userOptions = u.extend(!0, {}, s.userOptions)),
4361                                            (e.inputmask.isRTL = i.isRTL || i.numericInput),
4362                                            ((e.inputmask.el = e).inputmask.maskset = n),
4363                                            u.data(e, "_inputmask_opts", i),
4364                                            a.call(e.inputmask, { action: "mask" }));
4365                                    }
4366                                }),
4367                                (t && t[0] && t[0].inputmask) || this
4368                            );
4369                        },
4370                        option: function (t, e) {
4371                            return "string" == typeof t ? this.opts[t] : "object" === n(t) ? (u.extend(this.userOptions, t), this.el && !0 !== e && this.mask(this.el), this) : void 0;
4372                        },
4373                        unmaskedvalue: function (t) {
4374                            return (this.maskset = this.maskset || r(this.opts, this.noMasksCache)), a.call(this, { action: "unmaskedvalue", value: t });
4375                        },
4376                        remove: function () {
4377                            return a.call(this, { action: "remove" });
4378                        },
4379                        getemptymask: function () {
4380                            return (this.maskset = this.maskset || r(this.opts, this.noMasksCache)), a.call(this, { action: "getemptymask" });
4381                        },
4382                        hasMaskedValue: function () {
4383                            return !this.opts.autoUnmask;
4384                        },
4385                        isComplete: function () {
4386                            return (this.maskset = this.maskset || r(this.opts, this.noMasksCache)), a.call(this, { action: "isComplete" });
4387                        },
4388                        getmetadata: function () {
4389                            return (this.maskset = this.maskset || r(this.opts, this.noMasksCache)), a.call(this, { action: "getmetadata" });
4390                        },
4391                        isValid: function (t) {
4392                            return (this.maskset = this.maskset || r(this.opts, this.noMasksCache)), a.call(this, { action: "isValid", value: t });
4393                        },
4394                        format: function (t, e) {
4395                            return (this.maskset = this.maskset || r(this.opts, this.noMasksCache)), a.call(this, { action: "format", value: t, metadata: e });
4396                        },
4397                        setValue: function (t) {
4398                            this.el && u(this.el).trigger("setvalue", [t]);
4399                        },
4400                        analyseMask: s,
4401                    }),
4402                        (l.extendDefaults = function (t) {
4403                            u.extend(!0, l.prototype.defaults, t);
4404                        }),
4405                        (l.extendDefinitions = function (t) {
4406                            u.extend(!0, l.prototype.definitions, t);
4407                        }),
4408                        (l.extendAliases = function (t) {
4409                            u.extend(!0, l.prototype.aliases, t);
4410                        }),
4411                        (l.format = function (t, e, i) {
4412                            return l(e).format(t, i);
4413                        }),
4414                        (l.unmask = function (t, e) {
4415                            return l(e).unmaskedvalue(t);
4416                        }),
4417                        (l.isValid = function (t, e) {
4418                            return l(e).isValid(t);
4419                        }),
4420                        (l.remove = function (t) {
4421                            "string" == typeof t && (t = o.getElementById(t) || o.querySelectorAll(t)),
4422                                (t = t.nodeName ? [t] : t),
4423                                u.each(t, function (t, e) {
4424                                    e.inputmask && e.inputmask.remove();
4425                                });
4426                        }),
4427                        (l.setValue = function (t, i) {
4428                            "string" == typeof t && (t = o.getElementById(t) || o.querySelectorAll(t)),
4429                                (t = t.nodeName ? [t] : t),
4430                                u.each(t, function (t, e) {
4431                                    e.inputmask ? e.inputmask.setValue(i) : u(e).trigger("setvalue", [i]);
4432                                });
4433                        });
4434                    var c = new RegExp("(\\" + ["/", ".", "*", "+", "?", "|", "(", ")", "[", "]", "{", "}", "\\", "$", "^"].join("|\\") + ")", "gim");
4435                    (l.escapeRegex = function (t) {
4436                        return t.replace(c, "\\$1");
4437                    }),
4438                        (l.dependencyLib = u),
4439                        (h.Inputmask = l),
4440                        (t.exports = l);
4441                },
4442                function (t, e, i) {
4443                    "use strict";
4444                    var n = i(3);
4445                    if (void 0 === n) throw "jQuery not loaded!";
4446                    t.exports = n;
4447                },
4448                function (t, e) {
4449                    t.exports = __WEBPACK_EXTERNAL_MODULE__3__;
4450                },
4451                function (module, exports, __webpack_require__) {
4452                    "use strict";
4453                    var __WEBPACK_AMD_DEFINE_RESULT__;
4454                    function _typeof(t) {
4455                        return (_typeof =
4456                            "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
4457                                ? function (t) {
4458                                      return typeof t;
4459                                  }
4460                                : function (t) {
4461                                      return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
4462                                  })(t);
4463                    }
4464                    (__WEBPACK_AMD_DEFINE_RESULT__ = function () {
4465                        return "undefined" != typeof window ? window : new (eval("require('jsdom').JSDOM"))("").window;
4466                    }.call(exports, __webpack_require__, exports, module)),
4467                        void 0 === __WEBPACK_AMD_DEFINE_RESULT__ || (module.exports = __WEBPACK_AMD_DEFINE_RESULT__);
4468                },
4469                function (t, e, i) {
4470                    "use strict";
4471                    var O = i(2);
4472                    t.exports = {
4473                        generateMaskSet: function (i, a) {
4474                            function t(t, e, i) {
4475                                var n,
4476                                    s,
4477                                    o = !1;
4478                                if (
4479                                    ((null !== t && "" !== t) || (t = (o = null !== i.regex) ? (t = i.regex).replace(/^(\^)(.*)(\$)$/, "$2") : ((o = !0), ".*")),
4480                                    1 === t.length && !1 === i.greedy && 0 !== i.repeat && (i.placeholder = ""),
4481                                    0 < i.repeat || "*" === i.repeat || "+" === i.repeat)
4482                                ) {
4483                                    var r = "*" === i.repeat ? 0 : "+" === i.repeat ? 1 : i.repeat;
4484                                    t = i.groupmarker[0] + t + i.groupmarker[1] + i.quantifiermarker[0] + r + "," + i.repeat + i.quantifiermarker[1];
4485                                }
4486                                return (
4487                                    (s = o ? "regex_" + i.regex : i.numericInput ? t.split("").reverse().join("") : t),
4488                                    !1 !== i.keepStatic && (s = "ks_" + s),
4489                                    void 0 === Inputmask.prototype.masksCache[s] || !0 === a
4490                                        ? ((n = { mask: t, maskToken: Inputmask.prototype.analyseMask(t, o, i), validPositions: {}, _buffer: void 0, buffer: void 0, tests: {}, excludes: {}, metadata: e, maskLength: void 0, jitOffset: {} }),
4491                                          !0 !== a && ((Inputmask.prototype.masksCache[s] = n), (n = O.extend(!0, {}, Inputmask.prototype.masksCache[s]))))
4492                                        : (n = O.extend(!0, {}, Inputmask.prototype.masksCache[s])),
4493                                    n
4494                                );
4495                            }
4496                            if ((O.isFunction(i.mask) && (i.mask = i.mask(i)), O.isArray(i.mask))) {
4497                                if (1 < i.mask.length) {
4498                                    null === i.keepStatic && (i.keepStatic = !0);
4499                                    var n = i.groupmarker[0];
4500                                    return (
4501                                        O.each(i.isRTL ? i.mask.reverse() : i.mask, function (t, e) {
4502                                            1 < n.length && (n += i.groupmarker[1] + i.alternatormarker + i.groupmarker[0]), void 0 === e.mask || O.isFunction(e.mask) ? (n += e) : (n += e.mask);
4503                                        }),
4504                                        t((n += i.groupmarker[1]), i.mask, i)
4505                                    );
4506                                }
4507                                i.mask = i.mask.pop();
4508                            }
4509                            return null === i.keepStatic && (i.keepStatic = !1), i.mask && void 0 !== i.mask.mask && !O.isFunction(i.mask.mask) ? t(i.mask.mask, i.mask, i) : t(i.mask, i.mask, i);
4510                        },
4511                        analyseMask: function (t, o, r) {
4512                            var e,
4513                                i,
4514                                n,
4515                                s,
4516                                a,
4517                                l,
4518                                c = /(?:[?*+]|\{[0-9+*]+(?:,[0-9+*]*)?(?:\|[0-9+*]*)?\})|[^.?*+^${[]()|\\]+|./g,
4519                                u = /\[\^?]?(?:[^\\\]]+|\\[\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,
4520                                h = !1,
4521                                d = new g(),
4522                                p = [],
4523                                f = [],
4524                                m = !1;
4525                            function g(t, e, i, n) {
4526                                (this.matches = []),
4527                                    (this.openGroup = t || !1),
4528                                    (this.alternatorGroup = !1),
4529                                    (this.isGroup = t || !1),
4530                                    (this.isOptional = e || !1),
4531                                    (this.isQuantifier = i || !1),
4532                                    (this.isAlternator = n || !1),
4533                                    (this.quantifier = { min: 1, max: 1 });
4534                            }
4535                            function v(i, t, n) {
4536                                n = void 0 !== n ? n : i.matches.length;
4537                                var s = i.matches[n - 1];
4538                                if (o)
4539                                    0 === t.indexOf("[") || (h && /\\d|\\s|\\w]/i.test(t)) || "." === t
4540                                        ? i.matches.splice(n++, 0, {
4541                                              fn: new RegExp(t, r.casing ? "i" : ""),
4542                                              static: !1,
4543                                              optionality: !1,
4544                                              newBlockMarker: void 0 === s ? "master" : s.def !== t,
4545                                              casing: null,
4546                                              def: t,
4547                                              placeholder: void 0,
4548                                              nativeDef: t,
4549                                          })
4550                                        : (h && (t = t[t.length - 1]),
4551                                          O.each(t.split(""), function (t, e) {
4552                                              (s = i.matches[n - 1]),
4553                                                  i.matches.splice(n++, 0, {
4554                                                      fn: /[a-z]/i.test(r.staticDefinitionSymbol || e) ? new RegExp("[" + (r.staticDefinitionSymbol || e) + "]", r.casing ? "i" : "") : null,
4555                                                      static: !0,
4556                                                      optionality: !1,
4557                                                      newBlockMarker: void 0 === s ? "master" : s.def !== e && !0 !== s.static,
4558                                                      casing: null,
4559                                                      def: r.staticDefinitionSymbol || e,
4560                                                      placeholder: void 0 !== r.staticDefinitionSymbol ? e : void 0,
4561                                                      nativeDef: (h ? "'" : "") + e,
4562                                                  });
4563                                          })),
4564                                        (h = !1);
4565                                else {
4566                                    var e = (r.definitions ? r.definitions[t] : void 0) || Inputmask.prototype.definitions[t];
4567                                    e && !h
4568                                        ? i.matches.splice(n++, 0, {
4569                                              fn: e.validator
4570                                                  ? "string" == typeof e.validator
4571                                                      ? new RegExp(e.validator, r.casing ? "i" : "")
4572                                                      : new (function () {
4573                                                            this.test = e.validator;
4574                                                        })()
4575                                                  : new RegExp("."),
4576                                              static: e.static || !1,
4577                                              optionality: !1,
4578                                              newBlockMarker: void 0 === s ? "master" : s.def !== (e.definitionSymbol || t),
4579                                              casing: e.casing,
4580                                              def: e.definitionSymbol || t,
4581                                              placeholder: e.placeholder,
4582                                              nativeDef: t,
4583                                              generated: e.generated,
4584                                          })
4585                                        : (i.matches.splice(n++, 0, {
4586                                              fn: /[a-z]/i.test(r.staticDefinitionSymbol || t) ? new RegExp("[" + (r.staticDefinitionSymbol || t) + "]", r.casing ? "i" : "") : null,
4587                                              static: !0,
4588                                              optionality: !1,
4589                                              newBlockMarker: void 0 === s ? "master" : s.def !== t && !0 !== s.static,
4590                                              casing: null,
4591                                              def: r.staticDefinitionSymbol || t,
4592                                              placeholder: void 0 !== r.staticDefinitionSymbol ? t : void 0,
4593                                              nativeDef: (h ? "'" : "") + t,
4594                                          }),
4595                                          (h = !1));
4596                                }
4597                            }
4598                            function b() {
4599                                if (0 < p.length) {
4600                                    if ((v((s = p[p.length - 1]), i), s.isAlternator)) {
4601                                        a = p.pop();
4602                                        for (var t = 0; t < a.matches.length; t++) a.matches[t].isGroup && (a.matches[t].isGroup = !1);
4603                                        0 < p.length ? (s = p[p.length - 1]).matches.push(a) : d.matches.push(a);
4604                                    }
4605                                } else v(d, i);
4606                            }
4607                            function y(t) {
4608                                var e = new g(!0);
4609                                return (e.openGroup = !1), (e.matches = t), e;
4610                            }
4611                            function _() {
4612                                if ((((n = p.pop()).openGroup = !1), void 0 !== n))
4613                                    if (0 < p.length) {
4614                                        if (((s = p[p.length - 1]).matches.push(n), s.isAlternator)) {
4615                                            a = p.pop();
4616                                            for (var t = 0; t < a.matches.length; t++) (a.matches[t].isGroup = !1), (a.matches[t].alternatorGroup = !1);
4617                                            0 < p.length ? (s = p[p.length - 1]).matches.push(a) : d.matches.push(a);
4618                                        }
4619                                    } else d.matches.push(n);
4620                                else b();
4621                            }
4622                            function k(t) {
4623                                var e = t.pop();
4624                                return e.isQuantifier && (e = y([t.pop(), e])), e;
4625                            }
4626                            for (o && ((r.optionalmarker[0] = void 0), (r.optionalmarker[1] = void 0)); (e = o ? u.exec(t) : c.exec(t)); ) {
4627                                if (((i = e[0]), o))
4628                                    switch (i.charAt(0)) {
4629                                        case "?":
4630                                            i = "{0,1}";
4631                                            break;
4632                                        case "+":
4633                                        case "*":
4634                                            i = "{" + i + "}";
4635                                            break;
4636                                        case "|":
4637                                            if (0 === p.length) {
4638                                                var w = y(d.matches);
4639                                                (w.openGroup = !0), p.push(w), (d.matches = []), (m = !0);
4640                                            }
4641                                    }
4642                                if (h) b();
4643                                else
4644                                    switch (i.charAt(0)) {
4645                                        case "(?=":
4646                                        case "(?!":
4647                                        case "(?<=":
4648                                        case "(?<!":
4649                                            break;
4650                                        case r.escapeChar:
4651                                            (h = !0), o && b();
4652                                            break;
4653                                        case r.optionalmarker[1]:
4654                                        case r.groupmarker[1]:
4655                                            _();
4656                                            break;
4657                                        case r.optionalmarker[0]:
4658                                            p.push(new g(!1, !0));
4659                                            break;
4660                                        case r.groupmarker[0]:
4661                                            p.push(new g(!0));
4662                                            break;
4663                                        case r.quantifiermarker[0]:
4664                                            var x = new g(!1, !1, !0),
4665                                                C = (i = i.replace(/[{}]/g, "")).split("|"),
4666                                                T = C[0].split(","),
4667                                                S = isNaN(T[0]) ? T[0] : parseInt(T[0]),
4668                                                D = 1 === T.length ? S : isNaN(T[1]) ? T[1] : parseInt(T[1]);
4669                                            ("*" !== S && "+" !== S) || (S = "*" === D ? 0 : 1), (x.quantifier = { min: S, max: D, jit: C[1] });
4670                                            var P = 0 < p.length ? p[p.length - 1].matches : d.matches;
4671                                            if ((e = P.pop()).isAlternator) {
4672                                                P.push(e), (P = e.matches);
4673                                                var I = new g(!0),
4674                                                    A = P.pop();
4675                                                P.push(I), (P = I.matches), (e = A);
4676                                            }
4677                                            e.isGroup || (e = y([e])), P.push(e), P.push(x);
4678                                            break;
4679                                        case r.alternatormarker:
4680                                            if (0 < p.length) {
4681                                                var M = (s = p[p.length - 1]).matches[s.matches.length - 1];
4682                                                l = s.openGroup && (void 0 === M.matches || (!1 === M.isGroup && !1 === M.isAlternator)) ? p.pop() : k(s.matches);
4683                                            } else l = k(d.matches);
4684                                            if (l.isAlternator) p.push(l);
4685                                            else if ((l.alternatorGroup ? ((a = p.pop()), (l.alternatorGroup = !1)) : (a = new g(!1, !1, !1, !0)), a.matches.push(l), p.push(a), l.o
4685penGroup)) {
4686                                                var E = new g(!(l.openGroup = !1));
4687                                                (E.alternatorGroup = !0), p.push(E);
4688                                            }
4689                                            break;
4690                                        default:
4691                                            b();
4692                                    }
4693                            }
4694                            for (m && _(); 0 < p.length; ) (n = p.pop()), d.matches.push(n);
4695                            return (
4696                                0 < d.matches.length &&
4697                                    ((function n(s) {
4698                                        s &&
4699                                            s.matches &&
4700                                            O.each(s.matches, function (t, e) {
4701                                                var i = s.matches[t + 1];
4702                                                (void 0 === i || void 0 === i.matches || !1 === i.isQuantifier) && e && e.isGroup && ((e.isGroup = !1), o || (v(e, r.groupmarker[0], 0), !0 !== e.openGroup && v(e, r.groupmarker[1]))), n(e);
4703                                            });
4704                                    })(d),
4705                                    f.push(d)),
4706                                (r.numericInput || r.isRTL) &&
4707                                    (function t(e) {
4708                                        for (var i in ((e.matches = e.matches.reverse()), e.matches))
4709                                            if (Object.prototype.hasOwnProperty.call(e.matches, i)) {
4710                                                var n = parseInt(i);
4711                                                if (e.matches[i].isQuantifier && e.matches[n + 1] && e.matches[n + 1].isGroup) {
4712                                                    var s = e.matches[i];
4713                                                    e.matches.splice(i, 1), e.matches.splice(n + 1, 0, s);
4714                                                }
4715                                                void 0 !== e.matches[i].matches
4716                                                    ? (e.matches[i] = t(e.matches[i]))
4717                                                    : (e.matches[i] =
4718                                                          ((o = e.matches[i]) === r.optionalmarker[0]
4719                                                              ? (o = r.optionalmarker[1])
4720                                                              : o === r.optionalmarker[1]
4721                                                              ? (o = r.optionalmarker[0])
4722                                                              : o === r.groupmarker[0]
4723                                                              ? (o = r.groupmarker[1])
4724                                                              : o === r.groupmarker[1] && (o = r.groupmarker[0]),
4725                                                          o));
4726                                            }
4727                                        var o;
4728                                        return e;
4729                                    })(f[0]),
4730                                f
4731                            );
4732                        },
4733                    };
4734                },
4735                function (t, e, i) {
4736                    "use strict";
4737                    i(7), i(9), i(10), i(11), (t.exports = i(1));
4738                },
4739                function (t, e, i) {
4740                    "use strict";
4741                    var n = i(1);
4742                    n.extendDefinitions({ A: { validator: "[A-Za-zА-яЁёÀ-ÿµ]", casing: "upper" }, "&": { validator: "[0-9A-Za-zА-яЁёÀ-ÿµ]", casing: "upper" }, "#": { validator: "[0-9A-Fa-f]", casing: "upper" } });
4743                    var o = new RegExp("25[0-5]|2[0-4][0-9]|[01][0-9][0-9]");
4744                    function s(t, e, i, n, s) {
4745                        return (t = -1 < i - 1 && "." !== e.buffer[i - 1] ? ((t = e.buffer[i - 1] + t), -1 < i - 2 && "." !== e.buffer[i - 2] ? e.buffer[i - 2] + t : "0" + t) : "00" + t), o.test(t);
4746                    }
4747                    n.extendAliases({
4748                        cssunit: { regex: "[+-]?[0-9]+\\.?([0-9]+)?(px|em|rem|ex|%|in|cm|mm|pt|pc)" },
4749                        url: { regex: "(https?|ftp)//.*", autoUnmask: !1 },
4750                        ip: {
4751                            mask: "i[i[i]].j[j[j]].k[k[k]].l[l[l]]",
4752                            definitions: { i: { validator: s }, j: { validator: s }, k: { validator: s }, l: { validator: s } },
4753                            onUnMask: function (t) {
4754                                return t;
4755                            },
4756                            inputmode: "numeric",
4757                        },
4758                        email: {
4759                            mask: "*{1,64}[.*{1,64}][.*{1,64}][.*{1,63}]@-{1,63}.-{1,63}[.-{1,63}][.-{1,63}]",
4760                            greedy: !1,
4761                            casing: "lower",
4762                            onBeforePaste: function (t) {
4763                                return (t = t.toLowerCase()).replace("mailto:", "");
4764                            },
4765                            definitions: { "*": { validator: "[0-91-9A-Za-zА-яЁёÀ-ÿµ!#$%&'*+/=?^_`{|}~-]" }, "-": { validator: "[0-9A-Za-z-]" } },
4766                            onUnMask: function (t) {
4767                                return t;
4768                            },
4769                            inputmode: "email",
4770                        },
4771                        mac: { mask: "##:##:##:##:##:##" },
4772                        vin: { mask: "V{13}9{4}", definitions: { V: { validator: "[A-HJ-NPR-Za-hj-npr-z\\d]", casing: "upper" } }, clearIncomplete: !0, autoUnmask: !0 },
4773                        ssn: {
4774                            mask: "999-99-9999",
4775                            postValidation: function (t) {
4776                                return /^(?!219-09-9999|078-05-1120)(?!666|000|9.{2}).{3}-(?!00).{2}-(?!0{4}).{4}$/.test(t.join(""));
4777                            },
4778                        },
4779                    }),
4780                        (t.exports = n);
4781                },
4782                function (t, e, i) {
4783                    "use strict";
4784                    function st(t) {
4785                        return (st =
4786                            "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
4787                                ? function (t) {
4788                                      return typeof t;
4789                                  }
4790                                : function (t) {
4791                                      return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
4792                                  })(t);
4793                    }
4794                    var ot = i(2),
4795                        rt = i(4),
4796                        at = rt.document,
4797                        n = (rt.navigator && rt.navigator.userAgent) || "",
4798                        lt = 0 < n.indexOf("MSIE ") || 0 < n.indexOf("Trident/"),
4799                        ct = "ontouchstart" in rt,
4800                        ut = /iemobile/i.test(n),
4801                        ht = /iphone/i.test(n) && !ut,
4802                        dt = i(0);
4803                    t.exports = function t(e, U, V) {
4804                        (U = U || this.maskset), (V = V || this.opts);
4805                        var p,
4806                            a,
4807                            b,
4808                            c = this,
4809                            K = this.el,
4810                            y = this.isRTL || (this.isRTL = V.numericInput),
4811                            l = !1,
4812                            f = !1,
4813                            u = !1,
4814                            m = !1,
4815                            i = !1,
4816                            s = void 0;
4817                        function _(t, e, i, n, s) {
4818                            var o = V.greedy;
4819                            s && (V.greedy = !1), (e = e || 0);
4820                            var r,
4821                                a,
4822                                l,
4823                                c,
4824                                u = [],
4825                                h = 0;
4826                            do {
4827                                if (!0 === t && U.validPositions[h])
4828                                    (a = (l =
4829                                        s &&
4830                                        !0 === U.validPositions[h].match.optionality &&
4831                                        void 0 === U.validPositions[h + 1] &&
4832                                        (!0 === U.validPositions[h].generatedInput || (U.validPositions[h].input == V.skipOptionalPartCharacter && 0 < h))
4833                                            ? g(h, w(h, r, h - 1))
4834                                            : U.validPositions[h]).match),
4835                                        (r = l.locator.slice()),
4836                                        u.push(!0 === i ? l.input : !1 === i ? a.nativeDef : j(h, a));
4837                                else {
4838                                    (a = (l = v(h, r, h - 1)).match), (r = l.locator.slice());
4839                                    var d = !0 !== n && (!1 !== V.jitMasking ? V.jitMasking : a.jit);
4840                                    (c = (c && a.static && a.def !== V.groupSeparator && null === a.fn) || (U.validPositions[h - 1] && a.static && a.def !== V.groupSeparator && null === a.fn)) ||
4841                                    !1 === d ||
4842                                    void 0 === d ||
4843                                    ("number" == typeof d && isFinite(d) && h < d)
4844                                        ? u.push(!1 === i ? a.nativeDef : j(h, a))
4845                                        : (c = !1);
4846                                }
4847                                h++;
4848                            } while (((void 0 === b || h < b) && (!0 !== a.static || "" !== a.def)) || h < e);
4849                            return "" === u[u.length - 1] && u.pop(), (!1 === i && void 0 !== U.maskLength) || (U.maskLength = h - 1), (V.greedy = o), u;
4850                        }
4851                        function x(t) {
4852                            !(U.buffer = void 0) !== t && ((U.validPositions = {}), (U.p = 0));
4853                        }
4854                        function C(t, e, i) {
4855                            var n = -1,
4856                                s = -1,
4857                                o = i || U.validPositions;
4858                            for (var r in (void 0 === t && (t = -1), o)) {
4859                                var a = parseInt(r);
4860                                o[a] && (e || !0 !== o[a].generatedInput) && (a <= t && (n = a), t <= a && (s = a));
4861                            }
4862                            return -1 !== n && n != t && (-1 == s || t - n < s - t) ? n : s;
4863                        }
4864                        function T(t) {
4865                            var e = t.locator[t.alternation];
4866                            return "string" == typeof e && 0 < e.length && (e = e.split(",")[0]), void 0 !== e ? e.toString() : "";
4867                        }
4868                        function h(t, e) {
4869                            var i = (null != t.alternation ? t.mloc[T(t)] : t.locator).join("");
4870                            if ("" !== i) for (; i.length < e; ) i += "0";
4871                            return i;
4872                        }
4873                        function g(t, e) {
4874                            for (var i, n, s, o = h(S((t = 0 < t ? t - 1 : 0))), r = 0; r < e.length; r++) {
4875                                var a = e[r];
4876                                i = h(a, o.length);
4877                                var l = Math.abs(i - o);
4878                                (void 0 === n ||
4879                                    ("" !== i && l < n) ||
4880                                    (s && !V.greedy && s.match.optionality && "master" === s.match.newBlockMarker && (!a.match.optionality || !a.match.newBlockMarker)) ||
4881                                    (s && s.match.optionalQuantifier && !a.match.optionalQuantifier)) &&
4882                                    ((n = l), (s = a));
4883                            }
4884                            return s;
4885                        }
4886                        function v(t, e, i) {
4887                            return U.validPositions[t] || g(t, w(t, e ? e.slice() : e, i));
4888                        }
4889                        function S(t, e) {
4890                            return U.validPositions[t] ? U.validPositions[t] : (e || w(t))[0];
4891                        }
4892                        function k(t, e, i) {
4893                            for (var n = !1, s = w(t), o = 0; o < s.length; o++) {
4894                                if (s[o].match && (!(s[o].match.nativeDef !== e.match[i.shiftPositions ? "def" : "nativeDef"] || (i.shiftPositions && e.match.static)) || s[o].match.nativeDef === e.match.nativeDef)) {
4895                                    n = !0;
4896                                    break;
4897                                }
4898                                if (s[o].match && s[o].match.def === e.match.nativeDef) {
4899                                    n = void 0;
4900                                    break;
4901                                }
4902                            }
4903                            return !1 === n && void 0 !== U.jitOffset[t] && (n = k(t + U.jitOffset[t], e, i)), n;
4904                        }
4905                        function w(F, t, e) {
4906                            var R,
4907                                i,
4908                                n,
4909                                s,
4910                                o = U.maskToken,
4911                                W = t ? e : 0,
4912                                r = t ? t.slice() : [0],
4913                                $ = [],
4914                                B = !1,
4915                                q = t ? t.join("") : "";
4916                            function Y(z, L, t, e) {
4917                                function j(t, e, i) {
4918                                    function o(i, n) {
4919                                        var s = 0 === ot.inArray(i, n.matches);
4920                                        return (
4921                                            s ||
4922                                                ot.each(n.matches, function (t, e) {
4923                                                    if ((!0 === e.isQuantifier ? (s = o(i, n.matches[t - 1])) : Object.prototype.hasOwnProperty.call(e, "matches") && (s = o(i, e)), s)) return !1;
4924                                                }),
4925                                            s
4926                                        );
4927                                    }
4928                                    function n(t, s, o) {
4929                                        var r, a;
4930                                        if (
4931                                            ((U.tests[t] || U.validPositions[t]) &&
4932                                                ot.each(U.tests[t] || [U.validPositions[t]], function (t, e) {
4933                                                    if (e.mloc[s]) return (r = e), !1;
4934                                                    var i = void 0 !== o ? o : e.alternation,
4935                                                        n = void 0 !== e.locator[i] ? e.locator[i].toString().indexOf(s) : -1;
4936                                                    (void 0 === a || n < a) && -1 !== n && ((r = e), (a = n));
4937                                                }),
4938                                            r)
4939                                        ) {
4940                                            var e = r.locator[r.alternation];
4941                                            return (r.mloc[s] || r.mloc[e] || r.locator).slice((void 0 !== o ? o : r.alternation) + 1);
4942                                        }
4943                                        return void 0 !== o ? n(t, s) : void 0;
4944                                    }
4945                                    function s(t, e) {
4946                                        function i(t) {
4947                                            for (var e, i = [], n = -1, s = 0, o = t.length; s < o; s++)
4948                                                if ("-" === t.charAt(s)) for (e = t.charCodeAt(s + 1); ++n < e; ) i.push(String.fromCharCode(n));
4949                                                else (n = t.charCodeAt(s)), i.push(t.charAt(s));
4950                                            return i.join("");
4951                                        }
4952                                        return (
4953                                            t.match.def === e.match.nativeDef ||
4954                                            ((V.regex || (t.match.fn instanceof RegExp && e.match.fn instanceof RegExp)) &&
4955                                                !0 !== t.match.static &&
4956                                                !0 !== e.match.static &&
4957                                                -1 !== i(e.match.fn.toString().replace(/[[\]/]/g, "")).indexOf(i(t.match.fn.toString().replace(/[[\]/]/g, ""))))
4958                                        );
4959                                    }
4960                                    function r(t, e) {
4961                                        var i = t.alternation,
4962                                            n = void 0 === e || (i === e.alternation && -1 === t.locator[i].toString().indexOf(e.locator[i]));
4963                                        if (!n && i > e.alternation)
4964                                            for (var s = e.alternation; s < i; s++)
4965                                                if (t.locator[s] !== e.locator[s]) {
4966                                                    (i = s), (n = !0);
4967                                                    break;
4968                                                }
4969                                        if (n) {
4970                                            t.mloc = t.mloc || {};
4971                                            var o = t.locator[i];
4972                                            if (void 0 !== o) {
4973                                                if (("string" == typeof o && (o = o.split(",")[0]), void 0 === t.mloc[o] && (t.mloc[o] = t.locator.slice()), void 0 !== e)) {
4974                                                    for (var r in e.mloc) "string" == typeof r && (r = r.split(",")[0]), void 0 === t.mloc[r] && (t.mloc[r] = e.mloc[r]);
4975                                                    t.locator[i] = Object.keys(t.mloc).join(",");
4976                                                }
4977                                                return 1;
4978                                            }
4979                                            t.alternation = void 0;
4980                                        }
4981                                    }
4982                                    function a(t, e) {
4983                                        if (t.locator.length === e.locator.length) {
4984                                            for (var i = t.alternation + 1; i < t.locator.length; i++) if (t.locator[i] !== e.locator[i]) return;
4985                                            return 1;
4986                                        }
4987                                    }
4988                                    if (W > V._maxTestPos && void 0 !== i) 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. " + U.mask;
4989                                    if (W === F && void 0 === t.matches) return $.push({ match: t, locator: e.reverse(), cd: q, mloc: {} }), !0;
4990                                    if (void 0 !== t.matches) {
4991                                        if (t.isGroup && i !== t) {
4992                                            if ((t = j(z.matches[ot.inArray(t, z.matches) + 1], e, i))) return !0;
4993                                        } else if (t.isOptional) {
4994                                            var l = t,
4995                                                c = $.length;
4996                                            if ((t = Y(t, L, e, i))) {
4997                                                if (
4998                                                    (ot.each($, function (t, e) {
4999                                                        c <= t && (e.match.optionality = !0);
5000                                                    }),
5001                                                    (R = $[$.length - 1].match),
5002                                                    void 0 !== i || !o(R, l))
5003                                                )
5004                                                    return !0;
5005                                                (B = !0), (W = F);
5006                                            }
5007                                        } else if (t.isAlternator) {
5008                                            var u,
5009                                                h = t,
5010                                                d = [],
5011                                                p = $.slice(),
5012                                                f = e.length,
5013                                                m = 0 < L.length ? L.shift() : -1;
5014                                            if (-1 === m || "string" == typeof m) {
5015                                                var g,
5016                                                    v = W,
5017                                                    b = L.slice(),
5018                                                    y = [];
5019                                                if ("string" == typeof m) y = m.split(",");
5020                                                else for (g = 0; g < h.matches.length; g++) y.push(g.toString());
5021                                                if (void 0 !== U.excludes[F]) {
5022                                                    for (var _ = y.slice(), k = 0, w = U.excludes[F].length; k < w; k++) {
5023                                                        var x = U.excludes[F][k].toString().split(":");
5024                                                        e.length == x[1] && y.splice(y.indexOf(x[
50240]), 1);
5025                                                    }
5026                                                    0 === y.length && (delete U.excludes[F], (y = _));
5027                                                }
5028                                                (!0 === V.keepStatic || (isFinite(parseInt(V.keepStatic)) && v >= V.keepStatic)) && (y = y.slice(0, 1));
5029                                                for (var C = !1, T = 0; T < y.length; T++) {
5030                                                    (g = parseInt(y[T])),
5031                                                        ($ = []),
5032                                                        (L = ("string" == typeof m && n(W, g, f)) || b.slice()),
5033                                                        h.matches[g] && j(h.matches[g], [g].concat(e), i) ? (t = !0) : 0 === T && (C = !0),
5034                                                        (u = $.slice()),
5035                                                        (W = v),
5036                                                        ($ = []);
5037                                                    for (var S = 0; S < u.length; S++) {
5038                                                        var D = u[S],
5039                                                            P = !1;
5040                                                        (D.match.jit = D.match.jit || C), (D.alternation = D.alternation || f), r(D);
5041                                                        for (var I = 0; I < d.length; I++) {
5042                                                            var A = d[I];
5043                                                            if ("string" != typeof m || (void 0 !== D.alternation && -1 !== ot.inArray(D.locator[D.alternation].toString(), y))) {
5044                                                                if (D.match.nativeDef === A.match.nativeDef) {
5045                                                                    (P = !0), r(A, D);
5046                                                                    break;
5047                                                                }
5048                                                                if (s(D, A)) {
5049                                                                    r(D, A) && ((P = !0), d.splice(d.indexOf(A), 0, D));
5050                                                                    break;
5051                                                                }
5052                                                                if (s(A, D)) {
5053                                                                    r(A, D);
5054                                                                    break;
5055                                                                }
5056                                                                if (((N = A), !0 === (H = D).match.static && !0 !== N.match.static && N.match.fn.test(H.match.def, U, F, !1, V, !1))) {
5057                                                                    a(D, A) || void 0 !== K.inputmask.userOptions.keepStatic ? r(D, A) && ((P = !0), d.splice(d.indexOf(A), 0, D)) : (V.keepStatic = !0);
5058                                                                    break;
5059                                                                }
5060                                                            }
5061                                                        }
5062                                                        P || d.push(D);
5063                                                    }
5064                                                }
5065                                                ($ = p.concat(d)), (W = F), (B = 0 < $.length), (t = 0 < d.length), (L = b.slice());
5066                                            } else t = j(h.matches[m] || z.matches[m], [m].concat(e), i);
5067                                            if (t) return !0;
5068                                        } else if (t.isQuantifier && i !== z.matches[ot.inArray(t, z.matches) - 1])
5069                                            for (var M = t, E = 0 < L.length ? L.shift() : 0; E < (isNaN(M.quantifier.max) ? E + 1 : M.quantifier.max) && W <= F; E++) {
5070                                                var O = z.matches[ot.inArray(M, z.matches) - 1];
5071                                                if ((t = j(O, [E].concat(e), O))) {
5072                                                    if ((((R = $[$.length - 1].match).optionalQuantifier = E >= M.quantifier.min), (R.jit = (E || 1) * O.matches.indexOf(R) >= M.quantifier.jit), R.optionalQuantifier && o(R, O))) {
5073                                                        (B = !0), (W = F);
5074                                                        break;
5075                                                    }
5076                                                    return R.jit && (U.jitOffset[F] = O.matches.length - O.matches.indexOf(R)), !0;
5077                                                }
5078                                            }
5079                                        else if ((t = Y(t, L, e, i))) return !0;
5080                                    } else W++;
5081                                    var H, N;
5082                                }
5083                                for (var i = 0 < L.length ? L.shift() : 0; i < z.matches.length; i++)
5084                                    if (!0 !== z.matches[i].isQuantifier) {
5085                                        var n = j(z.matches[i], [i].concat(t), e);
5086                                        if (n && W === F) return n;
5087                                        if (F < W) break;
5088                                    }
5089                            }
5090                            if (-1 < F && (void 0 === b || F < b)) {
5091                                if (void 0 === t) {
5092                                    for (var a, l = F - 1; void 0 === (a = U.validPositions[l] || U.tests[l]) && -1 < l; ) l--;
5093                                    void 0 !== a &&
5094                                        -1 < l &&
5095                                        ((i = l),
5096                                        (n = a),
5097                                        (s = []),
5098                                        ot.isArray(n) || (n = [n]),
5099                                        0 < n.length &&
5100                                            (void 0 === n[0].alternation || !0 === V.keepStatic
5101                                                ? 0 === (s = g(i, n.slice()).locator.slice()).length && (s = n[0].locator.slice())
5102                                                : ot.each(n, function (t, e) {
5103                                                      if ("" !== e.def)
5104                                                          if (0 === s.length) s = e.locator.slice();
5105                                                          else for (var i = 0; i < s.length; i++) e.locator[i] && -1 === s[i].toString().indexOf(e.locator[i]) && (s[i] += "," + e.locator[i]);
5106                                                  })),
5107                                        (q = (r = s).join("")),
5108                                        (W = l));
5109                                }
5110                                if (U.tests[F] && U.tests[F][0].cd === q) return U.tests[F];
5111                                for (var c = r.shift(); c < o.length; c++) {
5112                                    if ((Y(o[c], r, [c]) && W === F) || F < W) break;
5113                                }
5114                            }
5115                            return (
5116                                (0 !== $.length && !B) || $.push({ match: { fn: null, static: !0, optionality: !1, casing: null, def: "", placeholder: "" }, locator: [], mloc: {}, cd: q }),
5117                                void 0 !== t && U.tests[F] ? ot.extend(!0, [], $) : ((U.tests[F] = ot.extend(!0, [], $)), U.tests[F])
5118                            );
5119                        }
5120                        function d() {
5121                            return void 0 === U._buffer && ((U._buffer = _(!1, 1)), void 0 === U.buffer && (U.buffer = U._buffer.slice())), U._buffer;
5122                        }
5123                        function D(t) {
5124                            return (void 0 !== U.buffer && !0 !== t) || ((U.buffer = _(!0, C(), !0)), void 0 === U._buffer && (U._buffer = U.buffer.slice())), U.buffer;
5125                        }
5126                        function P(t, e, i) {
5127                            var n,
5128                                s,
5129                                o = V.skipOptionalPartCharacter,
5130                                r = y ? i.slice().reverse() : i;
5131                            if (!(V.skipOptionalPartCharacter = "") === t) x(), (U.tests = {}), (t = 0), (e = i.length), (s = R({ begin: 0, end: 0 }, !1).begin);
5132                            else {
5133                                for (n = t; n < e; n++) delete U.validPositions[n];
5134                                s = t;
5135                            }
5136                            var a = new ot.Event("keypress");
5137                            for (n = t; n < e; n++) {
5138                                (a.which = r[n].toString().charCo
5138deAt(0)), (m = !1);
5139                                var l = $.keypressEvent.call(K, a, !0, !1, !1, s);
5140                                !1 !== l && (s = l.forwardPosition);
5141                            }
5142                            V.skipOptionalPartCharacter = o;
5143                        }
5144                        function I(t, e, i) {
5145                            for (var n, s = V.greedy ? e : e.slice(0, 1), o = !1, r = void 0 !== i ? i.split(",") : [], a = 0; a < r.length; a++) -1 !== (n = t.indexOf(r[a])) && t.splice(n, 1);
5146                            for (var l = 0; l < t.length; l++)
5147                                if (-1 !== ot.inArray(t[l], s)) {
5148                                    o = !0;
5149                                    break;
5150                                }
5151                            return o;
5152                        }
5153                        function A(t, e, i, n, s, o) {
5154                            var r,
5155                                a,
5156                                l,
5157                                c,
5158                                u,
5159                                h,
5160                                d,
5161                                p,
5162                                f,
5163                                m = ot.extend(!0, {}, U.validPositions),
5164                                g = ot.extend(!0, {}, U.tests),
5165                                v = !1,
5166                                b = !1,
5167                                y = void 0 !== s ? s : C();
5168                            if ((o && ((p = o.begin), (f = o.end), o.begin > o.end && ((p = o.end), (f = o.begin))), -1 === y && void 0 === s)) a = (c = S((r = 0))).alternation;
5169                            else
5170                                for (; 0 <= y; y--)
5171                                    if ((l = U.validPositions[y]) && void 0 !== l.alternation) {
5172                                        if (c && c.locator[l.alternation] !== l.locator[l.alternation]) break;
5173                                        (r = y), (a = U.validPositions[r].alternation), (c = l);
5174                                    }
5175                            if (void 0 !== a) {
5176                                (d = parseInt(r)), (U.excludes[d] = U.excludes[d] || []), !0 !== t && U.excludes[d].push(T(c) + ":" + c.alternation);
5177                                var _ = [],
5178                                    k = -1;
5179                                for (u = d; u < C(void 0, !0) + 1; u++)
5180                                    -1 === k && t <= u && void 0 !== e && (_.push(e), (k = _.length - 1)),
5181                                        (h = U.validPositions[u]) && !0 !== h.generatedInput && (void 0 === o || u < p || f <= u) && _.push(h.input),
5182                                        delete U.validPositions[u];
5183                                for (-1 === k && void 0 !== e && (_.push(e), (k = _.length - 1)); void 0 !== U.excludes[d] && U.excludes[d].length < 10; ) {
5184                                    for (U.tests = {}, x(!0), v = !0, u = 0; u < _.length && (v = M(v.caret || C(void 0, !0) + 1, _[u], !1, n, !0)); u++) u === k && (b = v), 1 == t && v && (b = { caretPos: u });
5185                                    if (v) break;
5186                                    if ((x(), (c = S(d)), (U.validPositions = ot.extend(!0, {}, m)), (U.tests = ot.extend(!0, {}, g)), !U.excludes[d])) {
5187                                        b = A(t, e, i, n, d - 1, o);
5188                                        break;
5189                                    }
5190                                    var w = T(c);
5191                                    if (-1 !== U.excludes[d].indexOf(w + ":" + c.alternation)) {
5192                                        b = A(t, e, i, n, d - 1, o);
5193                                        break;
5194                                    }
5195                                    for (U.excludes[d].push(w + ":" + c.alternation), u = d; u < C(void 0, !0) + 1; u++) delete U.validPositions[u];
5196                                }
5197                            }
5198                            return (b && !1 === V.keepStatic) || delete U.excludes[d], b;
5199                        }
5200                        function M(c, t, e, u, i, n) {
5201                            function h(t) {
5202                                return y ? 1 < t.begin - t.end || t.begin - t.end == 1 : 1 < t.end - t.begin || t.end - t.begin == 1;
5203                            }
5204                            e = !0 === e;
5205                            var s = c;
5206                            function d(t) {
5207                                if (void 0 !== t) {
5208                                    if (
5209                                        (void 0 !== t.remove &&
5210                                            (ot.isArray(t.remove) || (t.remove = [t.remove]),
5211                                            ot.each(
5212                                                t.remove.sort(function (t, e) {
5213                                                    return e.pos - t.pos;
5214                                                }),
5215                                                function (t, e) {
5216                                                    O({ begin: e, end: e + 1 });
5217                                                }
5218                                            ),
5219                                            (t.remove = void 0)),
5220                                        void 0 !== t.insert &&
5221                                            (ot.isArray(t.insert) || (t.insert = [t.insert]),
5222                                            ot.each(
5223                                                t.insert.sort(function (t, e) {
5224                                                    return t.pos - e.pos;
5225                                                }),
5226                                                function (t, e) {
5227                                                    "" !== e.c && M(e.pos, e.c, void 0 === e.strict || e.strict, void 0 !== e.fromIsValid ? e.fromIsValid : u);
5228                                                }
5229                                            ),
5230                                            (t.insert = void 0)),
5231                                        t.refreshFromBuffer && t.buffer)
5232                                    ) {
5233                                        var e = t.refreshFromBuffer;
5234                                        P(!0 === e ? e : e.start, e.end, t.buffer), (t.refreshFromBuffer = void 0);
5235                                    }
5236                                    void 0 !== t.rewritePosition && ((s = t.rewritePosition), (t = !0));
5237                                }
5238                                return t;
5239                            }
5240                            function o(o, r, a) {
5241                                var l = !1;
5242                                return (
5243                                    ot.each(w(o), function (t, e) {
5244                                        var i = e.match;
5245                                        if ((D(!0), !1 !== (l = null != i.fn ? i.fn.test(r, U, o, a, V, h(c)) : (r === i.def || r === V.skipOptionalPartCharacter) && "" !== i.def && { c: j(o, i, !0) || i.def, pos: o }))) {
5246                                            var n = void 0 !== l.c ? l.c : r,
5247                                                s = o;
5248                                            return (
5249                                                (n = n === V.skipOptionalPartCharacter && !0 === i.static ? j(o, i, !0) || i.def : n),
5250                                                !0 !== (l = d(l)) && void 0 !== l.pos && l.pos !== o && (s = l.pos),
5251                                                (!0 !== l && void 0 === l.pos && void 0 === l.c) ||
5252                                                    (!1 ===
5253                                                        O(
5254                                                            c,
5255                                                            ot.extend({}, e, {
5256                                                                input: (function (t, e, i) {
5257                                                                    switch (V.casing || e.casing) {
5258                                                                        case "upper":
5259                                                                            t = t.toUpperCase();
5260                                                                            break;
5261                                                                        case "lower":
5262                                                                            t = t.toLowerCase();
5263                                                                            break;
5264                                                                        case "title":
5265                                                                            var n = U.validPositions[i - 1];
5266                                                                            t = 0 === i || (n && n.input === String.fromCharCode(dt.SPACE)) ? t.toUpperCase() : t.toLowerCase();
5267                                                                            break;
5268                                                                        default:
5269                                                                            if (ot.isFunction(V.casing)) {
5270                                                                                var s = Array.prototype.slice.call(arguments);
5271                                                                                s.push(U.validPositions), (t = V.casing.apply(this, s));
5272                                                                            }
5273                                                                    }
5274                                                                    return t;
5275                                                                })(n, i, s),
5276                                                            }),
5277                                                            u,
5278                                                            s
5279                                                        ) &&
5280                                                        (l = !1)),
5281                                                !1
5282                                            );
5283                                        }
5284                                    }),
5285                                    l
5286                                );
5287                            }
5288                            void 0 !== c.begin && (s = y ? c.end : c.begin);
5289                            var r = !0,
5290                                a = ot.extend(!0, {}, U.validPositions);
5291                            if (!1 === V.keepStatic && void 0 !== U.excludes[s] && !0 !== i && !0 !== u) for (var l = s; l < (y ? c.begin : c.end); l++) void 0 !== U.excludes[l] && ((U.excludes[l] = void 0), delete U.tests[l]);
5292                            if ((ot.isFunction(V.preValidation) && !0 !== u && !0 !== n && (r = d((r = V.preValidation.call(K, D(), s, t, h(c), V, U, c, e || i)))), !0 === r)) {
5293                                if (void 0 === b || s < b) {
5294                                    if (((r = o(s, t, e)), (!e || !0 === u) && !1 === r && !0 !== n)) {
5295                                        var p = U.validPositions[s];
5296                                        if (!p || !0 !== p.match.static || (p.match.def !== t && t !== V.skipOptionalPartCharacter)) {
5297                                            if (V.insertMode || void 0 === U.validPositions[N(s)] || c.end > s) {
5298                                                var f = !1;
5299                                                if (
5300                                                    (U.jitOffset[s] && void 0 === U.validPositions[N(s)] && !1 !== (r = M(s + U.jitOffset[s], t, !0)) && (!0 !== i && (r.caret = s), (f = !0)),
5301                                                    c.end > s && (U.validPositions[s] = void 0),
5302                                                    !f && !H(s, V.keepStatic))
5303                                                )
5304                                                    for (var m = s + 1, g = N(s); m <= g; m++)
5305                                                        if (!1 !== (r = o(m, t, e))) {
5306                                                            (r = E(s, void 0 !== r.pos ? r.pos : m) || r), (s = m);
5307                                                            break;
5308                                                        }
5309                                            }
5310                                        } else r = { caret: N(s) };
5311                                    }
5312                                } else r = !1;
5313                                !1 !== r || !V.keepStatic || (!X(D()) && 0 !== s) || e || !0 === i ? h(c) && U.tests[s] && 1 < U.tests[s].length && V.keepStatic && !e && !0 !== i && (r = A(!0)) : (r = A(s, t, e, u, void 0, c
5313)),
5314                                    !0 === r && (r = { pos: s });
5315                            }
5316                            if (ot.isFunction(V.postValidation) && !0 !== u && !0 !== n) {
5317                                var v = V.postValidation.call(K, D(!0), void 0 !== c.begin ? (y ? c.end : c.begin) : c, t, r, V, U, e);
5318                                void 0 !== v && (r = !0 === v ? r : v);
5319                            }
5320                            return r && void 0 === r.pos && (r.pos = s), !1 === r || !0 === n ? (x(!0), (U.validPositions = ot.extend(!0, {}, a))) : E(void 0, s, !0), d(r);
5321                        }
5322                        function E(t, e, i) {
5323                            if (void 0 === t) for (t = e - 1; 0 < t && !U.validPositions[t]; t--);
5324                            for (var n = t; n < e; n++)
5325                                if (void 0 === U.validPositions[n] && !H(n, !0)) {
5326                                    if (0 == n ? S(n) : U.validPositions[n - 1]) {
5327                                        var s = w(n).slice();
5328                                        "" === s[s.length - 1].match.def && s.pop();
5329                                        var o,
5330                                            r = g(n, s);
5331                                        if (
5332                                            r &&
5333                                            (!0 !== r.match.jit || ("master" === r.match.newBlockMarker && (o = U.validPositions[n + 1]) && !0 === o.match.optionalQuantifier)) &&
5334                                            (((r = ot.extend({}, r, { input: j(n, r.match, !0) || r.match.def })).generatedInput = !0), O(n, r, !0), !0 !== i)
5335                                        )
5336                                            return M(e, U.validPositions[e].input, !(U.validPositions[e] = void 0), !0);
5337                                    }
5338                                }
5339                        }
5340                        function O(t, e, i, n) {
5341                            function s(t, e, i) {
5342                                var n = e[t];
5343                                if (void 0 !== n && !0 === n.match.static && !0 !== n.match.optionality && (void 0 === e[0] || void 0 === e[0].alternation)) {
5344                                    var s = (!(i.begin <= t - 1) || (e[t - 1] && !0 === e[t - 1].match.static)) && e[t - 1],
5345                                        o = (!(i.end > t + 1) || (e[t + 1] && !0 === e[t + 1].match.static)) && e[t + 1];
5346                                    return s && o;
5347                                }
5348                            }
5349                            var o = 0,
5350                                r = void 0 !== t.begin ? t.begin : t,
5351                                a = void 0 !== t.end ? t.end : t;
5352                            if ((t.begin > t.end && ((r = t.end), (a = t.begin)), (n = void 0 !== n ? n : r), r !== a || (V.insertMode && void 0 !== U.validPositions[n] && void 0 === i) || void 0 === e)) {
5353                                var l,
5354                                    c = ot.extend(!0, {}, U.validPositions),
5355                                    u = C(void 0, !0);
5356                                for (U.p = r, l = u; r <= l; l--) delete U.validPositions[l], void 0 === e && delete U.tests[l + 1];
5357                                var h,
5358                                    d,
5359                                    p = !0,
5360                                    f = n,
5361                                    m = f;
5362                                for (e && ((U.validPositions[n] = ot.extend(!0, {}, e)), m++, f++), l = e ? a : a - 1; l <= u; l++) {
5363                                    if (void 0 !== (h = c[l]) && !0 !== h.generatedInput && (a <= l || (r <= l && s(l, c, { begin: r, end: a })))) {
5364                                        for (; "" !== S(m).match.def; ) {
5365                                            if (!1 !== (d = k(m, h, V)) || "+" === h.match.def) {
5366                                                "+" === h.match.def && D(!0);
5367                                                var g = M(m, h.input, "+" !== h.match.def, "+" !== h.match.def);
5368                                                if (((p = !1 !== g), (f = (g.pos || m) + 1), !p && d)) break;
5369                                            } else p = !1;
5370                                            if (p) {
5371                                                void 0 === e && h.match.static && l === t.begin && o++;
5372                                                break;
5373                                            }
5374                                            if (!p && m > U.maskLength) break;
5375                                            m++;
5376                                        }
5377                                        "" == S(m).match.def && (p = !1), (m = f);
5378                                    }
5379                                    if (!p) break;
5380                                }
5381                                if (!p) return (U.validPositions = ot.extend(!0, {}, c)), x(!0), !1;
5382                            } else e && S(n).match.cd === e.match.cd && (U.validPositions[n] = ot.extend(!0, {}, e));
5383                            return x(!0), o;
5384                        }
5385                        function H(t, e, i) {
5386                            var n = v(t).match;
5387                            if (("" === n.def && (n = S(t).match), !0 !== n.static)) return n.fn;
5388                            if (!0 === i && void 0 !== U.validPositions[t] && !0 !== U.validPositions[t].generatedInput) return 1;
5389                            if (!0 !== e && -1 < t) {
5390                                if (i) {
5391                                    var s = w(t);
5392                                    return s.length > 1 + ("" === s[s.length - 1].match.def ? 1 : 0);
5393                                }
5394                                var o = g(t, w(t)),
5395                                    r = j(t, o.match);
5396                                return o.match.def !== r;
5397                            }
5398                        }
5399                        function N(t, e, i) {
5400                            void 0 === i && (i = !0);
5401                            for (var n = t + 1; "" !== S(n).match.def && ((!0 === e && (!0 !== S(n).match.newBlockMarker || !H(n, void 0, !0))) || (!0 !== e && !H(n, void 0, i))); ) n++;
5402                            return n;
5403                        }
5404                        function z(t, e) {
5405                            var i,
5406                                n = t;
5407                            if (n <= 0) return 0;
5408                            for (; 0 < --n && ((!0 === e && !0 !== S(n).match.newBlockMarker) || (!0 !== e && !H(n, void 0, !0) && ((i = w(n)).length < 2 || (2 === i.length && "" === i[1].match.def)))); );
5409                            return n;
5410                        }
5411                        function L(t, e, i, n, s) {
5412                            if (n && ot.isFunction(V.onBeforeWrite)) {
5413                                var o = V.onBeforeWrite.call(c, n, e, i, V);
5414                                if (o) {
5415                                    if (o.refreshFromBuffer) {
5416                                        var r = o.refreshFromBuffer;
5417                                        P(!0 === r ? r : r.start, r.end, o.buffer || e), (e = D(!0));
5418                                    }
5419                                    void 0 !== i && (i = void 0 !== o.caret ? o.caret : i);
5420                                }
5421                            }
5422                            if (
5423                                void 0 !== t &&
5424                                (t.inputmask._valueSet(e.join("")),
5425                                void 0 === i || (void 0 !== n && "blur" === n.type) || Y(t, i, void 0, void 0, void 0 !== n && "keydown" === n.type && (n.keyCode === dt.DELETE || n.keyCode === dt.BACKSPACE)),
5426                                !0 === s)
5427                            ) {
5428                                var a = ot(t),
5429                                    l = t.inputmask._valueGet();
5430                                (f = !0),
5431                                    a.trigger("input"),
5432                                    setTimeout(function () {
5433                                        l === d().join("") ? a.trigger("cleared") : !0 === X(e) && a.trigger("complete");
5434                                    }, 0);
5435                            }
5436                        }
5437                        function j(t, e, i) {
5438                            if (void 0 !== (e = e || S(t).match).placeholder || !0 === i) return ot.isFunction(e.placeholder) ? e.placeholder(V) : e.placeholder;
5439                            if (!0 !== e.static) return V.placeholder.charAt(t % V.placeholder.length);
5440                            if (-1 < t && void 0 === U.validPositions[t]) {
5441                                var n,
5442                                    s = w(t),
5443                                    o = [];
5444                                if (s.length > 1 + ("" === s[s.length - 1].match.def ? 1 : 0))
5445                                    for (var r = 0; r < s.length; r++)
5446                                        if (
5447                                            "" !== s[r].match.def &&
5448                                            !0 !== s[r].match.optionality &&
5449                                            !0 !== s[r].match.optionalQuantifier &&
5450                                            (!0 === s[r].match.static || void 0 === n || !1 !== s[r].match.fn.test(n.match.def, U, t, !0, V)) &&
5451                                            (o.push(s[r]), !0 === s[r].match.static && (n = s[r]), 1 < o.length && /[0-9a-bA-Z]/.test(o[0].match.def))
5452                                        )
5453                                            return V.placeholder.charAt(t % V.placeholder.length);
5454                            }
5455                            return e.def;
5456                        }
5457                        function F(t, e) {
5458                            if (lt) {
5459                                if (t.inputmask._valueGet() !== e && (t.placeholder !== e || "" === t.placeholder)) {
5460                                    var i = D().slice(),
5461                                        n = t.inputmask._valueGet();
5462                                    if (n !== e) {
5463                                        var s = C();
5464                                        -1 === s && n === d().join("") ? (i = []) : -1 !== s && G(i), L(t, i);
5465                                    }
5466                                }
5467                            } else t.placeholder !== e && ((t.placeholder = e), "" === t.placeholder && t.removeAttribute("placeholder"));
5468                        }
5469                        function R(t, e) {
5470                            if ((e && (y ? (t.end = t.begin) : (t.begin = t.end)), t.begin === t.end)) {
5471                                switch (V.positionCaretOnClick) {
5472                                    case "none":
5473                                        break;
5474                                    case "select":
5475                                        t = { begin: 0, end: D().length };
5476                                        break;
5477                                    case "ignore":
5478                                        t.end = t.begin = N(C());
5479                                        break;
5480                                    case "radixFocus":
5481                                        if (
5482                                            (function (t) {
5483                                                if ("" !== V.radixPoint && 0 !== V.digits) {
5484                                                    var e = U.validPositions;
5485                                                    if (void 0 === e[t] || e[t].input === j(t)) {
5486                                                        if (t < N(-1)) return 1;
5487                                                        var i = ot.inArray(V.radixPoint, D());
5488                                                        if (-1 !== i) {
5489                                                            for (var n in e) if (e[
5489n] && i < n && e[n].input !== j(n)) return;
5490                                                            return 1;
5491                                                        }
5492                                                    }
5493                                                }
5494                                            })(t.begin)
5495                                        ) {
5496                                            var i = D().join("").indexOf(V.radixPoint);
5497                                            t.end = t.begin = V.numericInput ? N(i) : i;
5498                                            break;
5499                                        }
5500                                    default:
5501                                        var n = t.begin,
5502                                            s = C(n, !0),
5503                                            o = N(-1 !== s || H(0) ? s : 0);
5504                                        if (n < o) t.end = t.begin = H(n, !0) || H(n - 1, !0) ? n : N(n);
5505                                        else {
5506                                            var r = U.validPositions[s],
5507                                                a = v(o, r ? r.match.locator : void 0, r),
5508                                                l = j(o, a.match);
5509                                            if (("" !== l && D()[o] !== l && !0 !== a.match.optionalQuantifier && !0 !== a.match.newBlockMarker) || (!H(o, V.keepStatic) && a.match.def === l)) {
5510                                                var c = N(o);
5511                                                (c <= n || n === o) && (o = c);
5512                                            }
5513                                            t.end = t.begin = o;
5514                                        }
5515                                }
5516                                return t;
5517                            }
5518                        }
5519                        var n,
5520                            W = {
5521                                on: function (o, t, r) {
5522                                    function e(t) {
5523                                        t.originalEvent && ((t = t.originalEvent || t), (arguments[0] = t));
5524                                        var e,
5525                                            i = this;
5526                                        if (void 0 === i.inputmask && "FORM" !== this.nodeName) {
5527                                            var n = ot.data(i, "_inputmask_opts");
5528                                            n ? new Inputmask(n).mask(i) : W.off(i);
5529                                        } else {
5530                                            if (
5531                                                "setvalue" === t.type ||
5532                                                "FORM" === this.nodeName ||
5533                                                !(i.disabled || (i.readOnly && !(("keydown" === t.type && t.ctrlKey && 67 === t.keyCode) || (!1 === V.tabThrough && t.keyCode === dt.TAB))))
5534                                            ) {
5535                                                switch (t.type) {
5536                                                    case "input":
5537                                                        if (!0 === f || (t.inputType && "insertCompositionText" === t.inputType)) return (f = !1), t.preventDefault();
5538                                                        break;
5539                                                    case "keydown":
5540                                                        f = l = !1;
5541                                                        break;
5542                                                    case "keypress":
5543                                                        if (!0 === l) return t.preventDefault();
5544                                                        l = !0;
5545                                                        break;
5546                                                    case "click":
5547                                                    
5548                                                }
5549                                                var s = r.apply(i, arguments);
5550                                                return !1 === s && (t.preventDefault(), t.stopPropagation()), s;
5551                                            }
5552                                            t.preventDefault();
5553                                        }
5554                                    }
5555                                    (o.inputmask.events[t] = o.inputmask.events[t] || []), o.inputmask.events[t].push(e), -1 !== ot.inArray(t, ["submit", "reset"]) ? null !== o.form && ot(o.form).on(t, e) : ot(o).on(t, e);
5556                                },
5557                                off: function (n, t) {
5558                                    var e;
5559                                    n.inputmask &&
5560                                        n.inputmask.events &&
5561                                        (t ? ((e = [])[t] = n.inputmask.events[t]) : (e = n.inputmask.events),
5562                                        ot.each(e, function (t, e) {
5563                                            for (; 0 < e.length; ) {
5564                                                var i = e.pop();
5565                                                -1 !== ot.inArray(t, ["submit", "reset"]) ? null !== n.form && ot(n.form).off(t, i) : ot(n).off(t, i);
5566                                            }
5567                                            delete n.inputmask.events[t];
5568                                        }));
5569                                },
5570                            },
5571                            $ = {
5572                                keydownEvent: function (t) {
5573                                    var e = this,
5574                                        i = ot(e),
5575                                        n = t.keyCode,
5576                                        s = Y(e),
5577                                        o = V.onKeyDown.call(this, t, D(), s, V);
5578                                    if (void 0 !== o) return o;
5579                                    if (n === dt.BACKSPACE || n === dt.DELETE || (ht && n === dt.BACKSPACE_SAFARI) || (t.ctrlKey && n === dt.X && !("oncut" in e)))
5580                                        t.preventDefault(), Q(0, n, s), L(e, D(!0), U.p, t, e.inputmask._valueGet() !== D().join(""));
5581                                    else if (n === dt.END || n === dt.PAGE_DOWN) {
5582                                        t.preventDefault();
5583                                        var r = N(C());
5584                                        Y(e, t.shiftKey ? s.begin : r, r, !0);
5585                                    } else
5586                                        (n === dt.HOME && !t.shiftKey) || n === dt.PAGE_UP
5587                                            ? (t.preventDefault(), Y(e, 0, t.shiftKey ? s.begin : 0, !0))
5588                                            : ((V.undoOnEscape && n === dt.ESCAPE) || (90 === n && t.ctrlKey)) && !0 !== t.altKey
5589                                            ? (B(e, !0, !1, p.split("")), i.trigger("click"))
5590                                            : !0 === V.tabThrough && n === dt.TAB
5591                                            ? (!0 === t.shiftKey
5592                                                  ? (!0 === S(s.begin).match.static && (s.begin = N(s.begin)), (s.end = z(s.begin, !0)), (s.begin = z(s.end, !0)))
5593                                                  : ((s.begin = N(s.begin, !0)), (s.end = N(s.begin, !0)), s.end < U.maskLength && s.end--),
5594                                              s.begin < U.maskLength && (t.preventDefault(), Y(e, s.begin, s.end)))
5595                                            : t.shiftKey ||
5596                                              (V.insertModeVisual &&
5597                                                  !1 === V.insertMode &&
5598                                                  (n === dt.RIGHT
5599                                                      ? setTimeout(function () {
5600                                                            var t = Y(e);
5601                                                            Y(e, t.begin);
5602                                                        }, 0)
5603                                                      : n === dt.LEFT &&
5604                                                        setTimeout(function () {
5605                                                            var t = q(e.inputmask.caretPos.begin);
5606                                                            q(e.inputmask.caretPos.end);
5607                                                            Y(e, y ? t + (t === U.maskLength ? 0 : 1) : t - (0 === t ? 0 : 1));
5608                                                        }, 0)));
5609                                    m = -1 !== ot.inArray(n, V.ignorables);
5610                                },
5611                                keypressEvent: function (t, e, i, n, s) {
5612                                    var o = this,
5613                                        r = ot(o),
5614                                        a = t.which || t.charCode || t.keyCode;
5615                                    if (!(!0 === e || (t.ctrlKey && t.altKey)) && (t.ctrlKey || t.metaKey || m))
5616                                        return (
5617                                            a === dt.ENTER &&
5618                                                p !== D().join("") &&
5619                                                ((p = D().join("")),
5620                                                setTimeout(function () {
5621                                                    r.trigger("change");
5622                                                }, 0)),
5623                                            (f = !0)
5624                                        );
5625                                    if (a) {
5626                                        (44 !== a && 46 !== a) || 3 !== t.location || "" === V.radixPoint || (a = V.radixPoint.charCodeAt(0));
5627                                        var l,
5628                                            c = e ? { begin: s, end: s } : Y(o),
5629                                            u = String.fromCharCode(a);
5630                                        U.writeOutBuffer = !0;
5631                                        var h = M(c, u, n);
5632                                        if (
5633                                            (!1 !== h && (x(!0), (l = void 0 !== h.caret ? h.caret : N(h.pos.begin ? h.pos.begin : h.pos)), (U.p = l)),
5634                                            (l = V.numericInput && void 0 === h.caret ? z(l) : l),
5635                                            !1 !== i &&
5636                                                (setTimeout(function () {
5637                                                    V.onKeyValidation.call(o, a, h);
5638                                                }, 0),
5639                                                U.writeOutBuffer && !1 !== h))
5640                                        ) {
5641                                            var d = D();
5642                                            L(o, d, l, t, !0 !== e);
5643                                        }
5644                                        if ((t.preventDefault(), e)) return !1 !== h && (h.forwardPosition = l), h;
5645                                    }
5646                                },
5647                                pasteEvent: function (t) {
5648                                    var e,
5649                                        i = this.inputmask._valueGet(!0),
5650                                        n = Y(this);
5651                                    y && ((e = n.end), (n.end = n.begin), (n.begin = e));
5652                                    var s = i.substr(0, n.begin),
5653                                        o = i.substr(n.end, i.length);
5654                                    if ((s == (y ? d().slice().reverse() : d()).slice(0, n.begin).join("") && (s = ""), o == (y ? d().slice().reverse() : d()).slice(n.end).join("") && (o = ""), rt.clipboardData && rt.clipboardData.getData))
5655                                        i = s + rt.clipboardData.getData("Text") + o;
5656                                    else {
5657                                        if (!t.clipboardData || !t.clipboardData.getData) return !0;
5658                                        i = s + t.clipboardData.getData("text/plain") + o;
5659                                    }
5660                                    var r = i;
5661                                    if (ot.isFunction(V.onBeforePaste)) {
5662                                        if (!1 === (r = V.onBeforePaste.call(c, i, V))) return t.preventDefault();
5663                                        r = r || i;
5664                                    }
5665                                    return B(this, !1, !1, r.toString().split("")), L(this, D(), N(C()), t, p !== D().join("")), t.preventDefault();
5666                                },
5667                                inputFallBackEvent: function (t) {
5668                                    var n = this,
5669                                        e = n.inputmask._valueGet(!0),
5670                                        i = (y ? D().slice().reverse() : D()).join(""),
5671                                        s = Y(n, void 0, void 0, !0);
5672                                    if (i !== e) {
5673                                        var o = (function (t, e, i) {
5674                                            for (
5675                                                var n,
5676                                                    s,
5677                                                    o,
5678                                                    r = t.substr(0, i.begin).split(""),
5679                                                    a = t.substr(i.begin).split(""),
5680                                                    l = e.substr(0, i.begin).split(""),
5681                                                    c = e.substr(i.begin).split(""),
5682                                                    u = r.length >= l.length ? r.length : l.length,
5683                                                    h = a.length >= c.length ? a.length : c.length,
5684                                                    d = "",
5685                                                    p = [];
5686                                                r.length < u;
5687
5688                                            )
5689                                                r.push("~");
5690                                            for (; l.length < u; ) l.push("~");
5691                                            for (; a.length < h; ) a.unshift("~");
5692                                            for (; c.length < h; ) c.unshift("~");
5693                                            var f = r.concat(a),
5694                                                m = l.concat(c);
5695                                            for (s = 0, n = f.length; s < n; s++)
5696                                                switch (((o = j(q(s))), d)) {
5697                                                    case "insertText":
5698                                                        m[s - 1] === f[s] && i.begin == f.length - 1 && p.push(f[s]), (s = n);
5699                                                        break;
5700                                                    case "insertReplacementText":
5701                                                    case "deleteContentBackward":
5702                                                        "~" === f[s] ? i.end++ : (s = n);
5703                                                        break;
5704                                                    default:
5705                                                        f[s] !== m[s] &&
5706                                                            ((("~" === f[s + 1] || f[s + 1] === o || void 0 === f[s + 1]) && ((m[s] === o && "~" === m[s + 1]) || "~" === m[s])) || ("~" === m[s + 1] && m[s] === f[s + 1])
5707                                                                ? ((d = "insertText"), p.push(f[s]), i.begin--, i.end--)
5708                                                                : f[s] !== o && "~" 
5708!== f[s] && ("~" === f[s + 1] || (m[s] !== f[s] && m[s + 1] === f[s + 1]))
5709                                                                ? ((d = "insertReplacementText"), p.push(f[s]), i.begin--)
5710                                                                : "~" === f[s]
5711                                                                ? ((d = "deleteContentBackward"), (!H(q(s), !0) && m[s] !== V.radixPoint) || i.end++)
5712                                                                : (s = n));
5713                                                }
5714                                            return { action: d, data: p, caret: i };
5715                                        })(
5716                                            (e = (function (t, e) {
5717                                                if (ut) {
5718                                                    var i = t.replace(D().join(""), "");
5719                                                    if (1 === i.length) {
5720                                                        var n = t.split("");
5721                                                        n.splice(e.begin, 0, i), (t = n.join(""));
5722                                                    }
5723                                                }
5724                                                return t;
5725                                            })(e, s)),
5726                                            i,
5727                                            s
5728                                        );
5729                                        switch (((n.inputmask.shadowRoot || at).activeElement !== n && n.focus(), L(n, D()), Y(n, s.begin, s.end, !0), o.action)) {
5730                                            case "insertText":
5731                                            case "insertReplacementText":
5732                                                ot.each(o.data, function (t, e) {
5733                                                    var i = new ot.Event("keypress");
5734                                                    (i.which = e.charCodeAt(0)), (m = !1), $.keypressEvent.call(n, i);
5735                                                }),
5736                                                    setTimeout(function () {
5737                                                        a.trigger("keyup");
5738                                                    }, 0);
5739                                                break;
5740                                            case "deleteContentBackward":
5741                                                var r = new ot.Event("keydown");
5742                                                (r.keyCode = dt.BACKSPACE), $.keydownEvent.call(n, r);
5743                                                break;
5744                                            default:
5745                                                Z(n, e);
5746                                        }
5747                                        t.preventDefault();
5748                                    }
5749                                },
5750                                compositionendEvent: function () {
5751                                    a.trigger("input");
5752                                },
5753                                setValueEvent: function (t, e, i) {
5754                                    var n = t && t.detail ? t.detail[0] : e;
5755                                    void 0 === n && (n = this.inputmask._valueGet(!0)), Z(this, n), ((t.detail && void 0 !== t.detail[1]) || void 0 !== i) && Y(this, t.detail ? t.detail[1] : i);
5756                                },
5757                                focusEvent: function (t) {
5758                                    var e = this.inputmask._valueGet();
5759                                    V.showMaskOnFocus && e !== D().join("") && L(this, D(), N(C())), !0 !== V.positionCaretOnTab || !1 !== i || (X(D()) && -1 !== C()) || $.clickEvent.apply(this, [t, !0]), (p = D().join(""));
5760                                },
5761                                invalidEvent: function () {
5762                                    u = !0;
5763                                },
5764                                mouseleaveEvent: function () {
5765                                    (i = !1), V.clearMaskOnLostFocus && (this.inputmask.shadowRoot || at).activeElement !== this && F(this, s);
5766                                },
5767                                clickEvent: function (t, e) {
5768                                    if ((this.inputmask.shadowRoot || at).activeElement === this) {
5769                                        var i = R(Y(this), e);
5770                                        void 0 !== i && Y(this, i);
5771                                    }
5772                                },
5773                                cutEvent: function (t) {
5774                                    var e = Y(this),
5775                                        i = rt.clipboardData || t.clipboardData,
5776                                        n = y ? D().slice(e.end, e.begin) : D().slice(e.begin, e.end);
5777                                    i.setData("text", y ? n.reverse().join("") : n.join("")), at.execCommand && at.execCommand("copy"), Q(0, dt.DELETE, e), L(this, D(), U.p, t, p !== D().join(""));
5778                                },
5779                                blurEvent: function (t) {
5780                                    var e = ot(this);
5781                                    if (this.inputmask) {
5782                                        F(this, s);
5783                                        var i = this.inputmask._valueGet(),
5784                                            n = D().slice();
5785                                        "" !== i &&
5786                                            (V.clearMaskOnLostFocus && (-1 === C() && i === d().join("") ? (n = []) : G(n)),
5787                                            !1 === X(n) &&
5788                                                (setTimeout(function () {
5789                                                    e.trigger("incomplete");
5790                                                }, 0),
5791                                                V.clearIncomplete && (x(), (n = V.clearMaskOnLostFocus ? [] : d().slice()))),
5792                                            L(this, n, void 0, t)),
5793                                            p !== D().join("") && ((p = D().join("")), e.trigger("change"));
5794                                    }
5795                                },
5796                                mouseenterEvent: function () {
5797                                    (i = !0),
5798                                        (this.inputmask.shadowRoot || at).activeElement !== this && (null == s && this.placeholder !== s && (s = this.placeholder), V.showMaskOnHover && F(this, (y ? d().slice().reverse() : d()).join("")));
5799                                },
5800                                submitEvent: function () {
5801                                    p !== D().join("") && a.trigger("change"),
5802                                        V.clearMaskOnLostFocus && -1 === C() && K.inputmask._valueGet && K.inputmask._valueGet() === d().join("") && K.inputmask._valueSet(""),
5803                                        V.clearIncomplete && !1 === X(D()) && K.inputmask._valueSet(""),
5804                                        V.removeMaskOnSubmit &&
5805                                            (K.inputmask._valueSet(K.inputmask.unmaskedvalue(), !0),
5806                                            setTimeout(function () {
5807                                                L(K, D());
5808                                            }, 0));
5809                                },
5810                                resetEvent: function () {
5811                                    (K.inputmask.refreshValue = !0),
5812                                        setTimeout(function () {
5813                                            Z(K, K.inputmask._valueGet(!0));
5814                                        }, 0);
5815                                },
5816                            };
5817                        function B(s, t, o, e, i) {
5818                            var r = this || s.inputmask,
5819                                a = e.slice(),
5820                                l = "",
5821                                c = -1,
5822                                u = void 0;
5823                            x(), (U.tests = {}), (c = V.radixPoint ? R({ begin: 0, end: 0 }).begin : 0), (U.p = c), (r.caretPos = { begin: c });
5824                            var h = [],
5825                                d = r.caretPos;
5826                            if (
5827                                (ot.each(a, function (t, e) {
5828                                    if (void 0 !== e)
5829                                        if (void 0 === U.validPositions[t] && a[t] === j(t) && H(t, !0) && !1 === M(t, a[t], !0, void 0, void 0, !0)) U.p++;
5830                                        else {
5831                                            var i = new ot.Event("_checkval");
5832                                            (i.which = e.toString().charCo
5832deAt(0)), (l += e);
5833                                            var n = C(void 0, !0);
5834                                            !(function (t, e) {
5835                                                for (var i = _(!0, 0).slice(t, N(t)).join("").replace(/'/g, ""), n = i.indexOf(e); 0 < n && " " === i[n - 1]; ) n--;
5836                                                var s =
5837                                                    0 === n &&
5838                                                    !H(t) &&
5839                                                    (S(t).match.nativeDef === e.charAt(0) ||
5840                                                        (!0 === S(t).match.static && S(t).match.nativeDef === "'" + e.charAt(0)) ||
5841                                                        (" " === S(t).match.nativeDef && (S(t + 1).match.nativeDef === e.charAt(0) || (!0 === S(t + 1).match.static && S(t + 1).match.nativeDef === "'" + e.charAt(0)))));
5842                                                if (!s && 0 < n && !H(t, !1, !0)) {
5843                                                    var o = N(t);
5844                                                    r.caretPos.begin < o && (r.caretPos = { begin: o });
5845                                                }
5846                                                return s;
5847                                            })(c, l)
5848                                                ? (u = $.keypressEvent.call(s, i, !0, !1, o, r.caretPos.begin)) && ((c = r.caretPos.begin + 1), (l = ""))
5849                                                : (u = $.keypressEvent.call(s, i, !0, !1, o, n + 1)),
5850                                                u
5851                                                    ? (void 0 !== u.pos &&
5852                                                          U.validPositions[u.pos] &&
5853                                                          !0 === U.validPositions[u.pos].match.static &&
5854                                                          void 0 === U.validPositions[u.pos].alternation &&
5855                                                          (h.push(u.pos), y || (u.forwardPosition = u.pos + 1)),
5856                                                      L(void 0, D(), u.forwardPosition, i, !1),
5857                                                      (r.caretPos = { begin: u.forwardPosition, end: u.forwardPosition }),
5858                                                      (d = r.caretPos))
5859                                                    : (r.caretPos = d);
5860                                        }
5861                                }),
5862                                0 < h.length)
5863                            ) {
5864                                var n,
5865                                    p,
5866                                    f = N(-1, void 0, !1);
5867                                if ((!X(D()) && h.length <= f) || (X(D()) && 0 < h.length && h.length !== f && 0 === h[0]))
5868                                    for (var m = f; void 0 !== (n = h.shift()); ) {
5869                                        var g = new ot.Event("_checkval");
5870                                        if (
5871                                            (((p = U.validPositions[n]).generatedInput = !0),
5872                                            (g.which = p.input.charCodeAt(0)),
5873                                            (u = $.keypressEvent.call(s, g, !0, !1, o, m)) && void 0 !== u.pos && u.pos !== n && U.validPositions[u.pos] && !0 === U.validPositions[u.pos].match.static)
5874                                        )
5875                                            h.push(u.pos);
5876                                        else if (!u) break;
5877                                        m++;
5878                                    }
5879                                else for (; (n = h.pop()); ) (p = U.validPositions[n]) && (p.generatedInput = !0);
5880                            }
5881                            if (t)
5882                                for (var v in (L(s, D(), u ? u.forwardPosition : void 0, i || new ot.Event("checkval"), i && "input" === i.type), U.validPositions))
5883                                    !0 !== U.validPositions[v].match.generated && delete U.validPositions[v].generatedInput;
5884                        }
5885                        function o(t) {
5886                            if (t) {
5887                                if (void 0 === t.inputmask) return t.value;
5888                                t.inputmask && t.inputmask.refreshValue && Z(t, t.inputmask._valueGet(!0));
5889                            }
5890                            var e = [],
5891                                i = U.validPositions;
5892                            for (var n in i) i[n] && i[n].match && (1 != i[n].match.static || !0 !== i[n].generatedInput) && e.push(i[n].input);
5893                            var s = 0 === e.length ? "" : (y ? e.reverse() : e).join("");
5894                            if (ot.isFunction(V.onUnMask)) {
5895                                var o = (y ? D().slice().reverse() : D()).join("");
5896                                s = V.onUnMask.call(c, o, s, V);
5897                            }
5898                            return s;
5899                        }
5900                        function q(t) {
5901                            return !y || "number" != typeof t || (V.greedy && "" === V.placeholder) || !K || (t = K.inputmask._valueGet().length - t), t;
5902                        }
5903                        function Y(t, e, i, n, s) {
5904                            var o;
5905                            if (void 0 === e)
5906                                return (
5907                                    "selectionStart" in t && "selectionEnd" in t
5908                                        ? ((e = t.selectionStart), (i = t.selectionEnd))
5909                                        : rt.getSelection
5910                                        ? ((o = rt.getSelection().getRangeAt(0)).commonAncestorContainer.parentNode !== t && o.commonAncestorContainer !== t) || ((e = o.startOffset), (i = o.endOffset))
5911                                        : at.selection && at.selection.createRange && (i = (e = 0 - (o = at.selection.createRange()).duplicate().moveStart("character", -t.inputmask._valueGet().length)) + o.text.length),
5912                                    { begin: n ? e : q(e), end: n ? i : q(i) }
5913                                );
5914                            if ((ot.isArray(e) && ((i = y ? e[0] : e[1]), (e = y ? e[1] : e[0])), void 0 !== e.begin && ((i = y ? e.begin : e.end), (e = y ? e.end : e.begin)), "number" == typeof e)) {
5915                                (e = n ? e : q(e)), (i = "number" == typeof (i = n ? i : q(i)) ? i : e);
5916                                var r = parseInt(((t.ownerDocument.defaultView || rt).getComputedStyle ? (t.ownerDocument.defaultView || rt).getComputedStyle(t, null) : t.currentStyle).fontSize) * i;
5917                                if (
5918                                    ((t.scrollLeft = r > t.scrollWidth ? r : 0),
5919                                    (t.inputmask.caretPos = { begin: e, end: i }),
5920                                    V.insertModeVisual && !1 === V.insertMode && e === i && (s || i++),
5921                                    t === (t.inputmask.shadowRoot || at).activeElement)
5922                                )
5923                                    if ("setSelectionRange" in t) t.setSelectionRange(e, i);
5924                                    else if (rt.getSelection) {
5925                                        if (((o = at.createRange()), void 0 === t.firstChild || null === t.f
5925irstChild)) {
5926                                            var a = at.createTextNode("");
5927                                            t.appendChild(a);
5928                                        }
5929                                        o.setStart(t.firstChild, e < t.inputmask._valueGet().length ? e : t.inputmask._valueGet().length),
5930                                            o.setEnd(t.firstChild, i < t.inputmask._valueGet().length ? i : t.inputmask._valueGet().length),
5931                                            o.collapse(!0);
5932                                        var l = rt.getSelection();
5933                                        l.removeAllRanges(), l.addRange(o);
5934                                    } else t.createTextRange && ((o = t.createTextRange()).collapse(!0), o.moveEnd("character", i), o.moveStart("character", e), o.select());
5935                            }
5936                        }
5937                        function r(t) {
5938                            var e,
5939                                i,
5940                                n = _(!0, C(), !0, !0),
5941                                s = n.length,
5942                                o = C(),
5943                                r = {},
5944                                a = U.validPositions[o],
5945                                l = void 0 !== a ? a.locator.slice() : void 0;
5946                            for (e = o + 1; e < n.length; e++) (l = (i = v(e, l, e - 1)).locator.slice()), (r[e] = ot.extend(!0, {}, i));
5947                            var c = a && void 0 !== a.alternation ? a.locator[a.alternation] : void 0;
5948                            for (
5949                                e = s - 1;
5950                                o < e &&
5951                                ((i = r[e]).match.optionality ||
5952                                    (i.match.optionalQuantifier && i.match.newBlockMarker) ||
5953                                    (c &&
5954                                        ((c !== r[e].locator[a.alternation] && 1 != i.match.static) ||
5955                                            (!0 === i.match.static && i.locator[a.alternation] && I(i.locator[a.alternation].toString().split(","), c.toString().split(",")) && "" !== w(e)[0].def)))) &&
5956                                n[e] === j(e, i.match);
5957                                e--
5958                            )
5959                                s--;
5960                            return t ? { l: s, def: r[s] ? r[s].match : void 0 } : s;
5961                        }
5962                        function G(t) {
5963                            for (var e, i = _(!(t.length = 0), 0, !0, void 0, !0); void 0 !== (e = i.shift()); ) t.push(e);
5964                            return t;
5965                        }
5966                        function X(t) {
5967                            if (ot.isFunction(V.isComplete)) return V.isComplete(t, V);
5968                            if ("*" !== V.repeat) {
5969                                var e = !1,
5970                                    i = r(!0),
5971                                    n = z(i.l);
5972                                if (void 0 === i.def || i.def.newBlockMarker || i.def.optionality || i.def.optionalQuantifier) {
5973                                    e = !0;
5974                                    for (var s = 0; s <= n; s++) {
5975                                        var o = v(s).match;
5976                                        if ((!0 !== o.static && void 0 === U.validPositions[s] && !0 !== o.optionality && !0 !== o.optionalQuantifier) || (!0 === o.static && t[s] !== j(s, o))) {
5977                                            e = !1;
5978                                            break;
5979                                        }
5980                                    }
5981                                }
5982                                return e;
5983                            }
5984                        }
5985                        function Q(t, e, i, n) {
5986                            if ((V.numericInput || y) && (e === dt.BACKSPACE ? (e = dt.DELETE) : e === dt.DELETE && (e = dt.BACKSPACE), y)) {
5987                                var s = i.end;
5988                                (i.end = i.begin), (i.begin = s);
5989                            }
5990                            var o,
5991                                r = C(void 0, !0);
5992                            if (
5993                                (i.end >= D().length && r >= i.end && (i.end = r + 1),
5994                                e === dt.BACKSPACE ? i.end - i.begin < 1 && (i.begin = z(i.begin)) : e === dt.DELETE && i.begin === i.end && (i.end = H(i.end, !0, !0) ? i.end + 1 : N(i.end) + 1),
5995                                !1 !== (o = O(i)))
5996                            ) {
5997                                if ((!0 !== n && !1 !== V.keepStatic) || (null !== V.regex && -1 !== S(i.begin).match.def.indexOf("|"))) {
5998                                    var a = A(!0);
5999                                    if (a) {
6000                                        var l = void 0 !== a.caret ? a.caret : a.pos ? N(a.pos.begin ? a.pos.begin : a.pos) : C(-1, !0);
6001                                        (e !== dt.DELETE || i.begin > l) && i.begin;
6002                                    }
6003                                }
6004                                !0 !== n && (U.p = e === dt.DELETE ? i.begin + o : i.begin);
6005                            }
6006                        }
6007                        function Z(t, e) {
6008                            (t.inputmask.refreshValue = !1),
6009                                ot.isFunction(V.onBeforeMask) && (e = V.onBeforeMask.call(c, e, V) || e),
6010                                B(t, !0, !1, (e = e.toString().split(""))),
6011                                (p = D().join("")),
6012                                (V.clearMaskOnLostFocus || V.clearIncomplete) && t.inputmask._valueGet() === d().join("") && -1 === C() && t.inputmask._valueSet("");
6013                        }
6014                        if (void 0 !== e)
6015                            switch (e.action) {
6016                                case "isComplete":
6017                                    return (K = e.el), X(D());
6018                                case "unmaskedvalue":
6019                                    return (
6020                                        (void 0 !== K && void 0 === e.value) ||
6021                                            ((n = e.value),
6022                                            (n = ((ot.isFunction(V.onBeforeMask) && V.onBeforeMask.call(c, n, V)) || n).split("")),
6023                                            B.call(this, void 0, !1, !1, n),
6024                                            ot.isFunction(V.onBeforeWrite) && V.onBeforeWrite.call(c, void 0, D(), 0, V)),
6025                                        o(K)
6026                                    );
6027                                case "mask":
6028                                    !(function (t) {
6029                                        W.off(t);
6030                                        var e = (function (t, a) {
6031                                            "textarea" !== t.tagName.toLowerCase() && a.ignorables.push(dt.ENTER);
6032                                            var e = t.getAttribute("type"),
6033                                                i = ("input" === t.tagName.toLowerCase() && -1 !== ot.inArray(e, a.supportsInputType)) || t.isContentEditable || "textarea" === t.tagName.toLowerCase();
6034                                            if (!i)
6035                                                if ("input" === t.tagName.toLowerCase()) {
6036                                                    var n = at.createElement("input");
6037                                                    n.setAttribute("type", e), (i = "text" === n.type), (n = null);
6038                                                } else i = "partial";
6039                                            return (
6040                                                !1 !== i
6041                                                    ? (function (t) {
6042                                                          var e, i, n;
6043                                                          function s() {
6044                                                              return this.inputmask
6045                                                                  ? this.inputmask.opts.autoUnmask
6046                                                                      ? this.inputmask.unmaskedvalue()
6047                                                                      : -1 !== C() || !0 !== a.nullable
6048                                                                      ? (this.inputmask.shadowRoot || at.activeElement) === this && a.clearMaskOnLostFocus
6049                                                                          ? (y ? G(D().slice()).reverse() : G(D().slice())).join("")
6050                                                                          : e.call(this)
6051                                                                      : ""
6052                                                                  : e.call(this);
6053                                                          }
6054                                                          function o(t) {
6055                                                              i.call(this, t), this.inputmask && Z(this, t);
6056                                                          }
6057                                                          if (!t.inputmask.__valueGet) {
6058                                                              if (!0 !== a.noValuePatching) {
6059                                                                  if (Object.getOwnPropertyDescriptor) {
6060                                                                      "function" != typeof Object.getPrototypeOf &&
6061                                                                          (Object.getPrototypeOf =
6062                                                                              "object" === st("test".__proto__)
6063                                                                                  ? function (t) {
6064                                                                                        return t.__proto__;
6065                                                                                    }
6066                                                                                  : function (t) {
6067                                                                                        return t.constructor.prototype;
6068                                                                                    });
6069                                                                      var r = Object.getPrototypeOf ? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(t), "value") : void 0;
6070                                                                      r && r.get && r.set
6071                                                                          ? ((e = r.get), (i = r.set), Object.defineProperty(t, "value", { get: s, set: o, configurable: !0 }))
6072                                                                          : "input" !== t.tagName.toLowerCase() &&
6073                                                                            ((e = function () {
6074                                                                                return this.textContent;
6075                                                                            }),
6076                                                                            (i = function (t) {
6077                                                                                this.textContent = t;
6078                                                                            }),
6079                                                                            Object.defineProperty(t, "value", { get: s, set: o, configurable: !0 }));
6080                                                                  } else
6081                                                                      at.__lookupGetter__ &&
6082                                                                          t.__lookupGetter__("value") &&
6083                                                                          ((e = t.__lookupGetter__("value")), (i = t.__lookupSetter__("value")), t.__defineGetter__("value", s), t.__defineSetter__("value", o));
6084                                                                  (t.inputmask.__valueGet = e), (t.inputmask.__valueSet = i);
6085                                                              }
6086                                                              (t.inputmask._valueGet = function (t) {
6087                                                                  return y && !0 !== t ? e.call(this.el).split("").reverse().join("") : e.call(this.el);
6088                                                              }),
6089                                                                  (t.inputmask._valueSet = function (t, e) {
6090                                                                      i.call(this.el, null == t ? "" : !0 !== e && y ? t.split("").reverse().join("") : t);
6091                                                                  }),
6092                                                                  void 0 === e &&
6093                                                                      ((e = function () {
6094                                                                          return this.value;
6095                                                                      }),
6096                                                                      (i = function (t) {
6097                                                                          this.value = t;
6098                                                                      }),
6099                                                                      (function (t) {
6100                                                                          if (ot.valHooks && (void 0 === ot.valHooks[t] || !0 !== ot.valHooks[t].inputmaskpatch)) {
6101                                                                              var i =
6102                                                                                      ot.valHooks[t] && ot.valHooks[t].get
6103                                                                                          ? ot.valHooks[t].get
6104                                                                                          : function (t) {
6105                                                                                                return t.value;
6106                                                                                            },
6107                                                                                  n =
6108                                                                                      ot.valHooks[t] && ot.valHooks[t].set
6109                                                                                          ? ot.valHooks[t].set
6110                                                                                          : function (t, e) {
6111                                                                                                return (t.value = e), t;
6112                                                                                            };
6113                                                                              ot.valHooks[t] = {
6114                                                                                  get: function (t) {
6115                                                                                      if (t.inputmask) {
6116                                                                                          if (t.inputmask.opts.autoUnmask) return t.inputmask.unmaskedvalue();
6117                                                                                          var e = i(t);
6118                                                                                          return -1 !== C(void 0, void 0, t.inputmask.maskset.validPositions) || !0 !== a.nullable ? e : "";
6119                                                                                      }
6120                                                                                      return i(t);
6121                                                                                  },
6122                                                                                  set: function (t, e) {
6123                                                                                      var i = n(t, e);
6124                                                                                      return t.inputmask && Z(t, e), i;
6125                                                                                  },
6126                                                                                  inputmaskpatch: !0,
6127                                                                              };
6128                                                                          }
6129                                                                      })(t.type),
6130                                                                      (n = t),
6131                                                                      W.on(n, "mouseenter", function () {
6132                                                                          var t = this.inputmask._valueGet(!0);
6133                                                                          t !== (y ? D().reverse() : D()).join("") && Z(this, t);
6134                                                                      }));
6135                                                          }
6136                                                      })(t)
6137                                                    : (t.inputmask = void 0),
6138                                                i
6139                                            );
6140                                        })(t, V);
6141                                        if (!1 !== e) {
6142                                            (a = ot((K = t))),
6143                                                (s = K.placeholder),
6144                                                -1 === (b = void 0 !== K ? K.maxLength : void 0) && (b = void 0),
6145                                                "inputMode" in K && null === K.getAttribute("inputmode") && ((K.inputMode = V.inputmode), K.setAttribute("inputmode", V.inputmode)),
6146                                                !0 === e &&
6147                                                    ((V.showMaskOnFocus = V.showMaskOnFocus && -1 === ["cc-number", "cc-exp"].indexOf(K.autocomplete)),
6148                                                    ht && (V.insertModeVisual = !1),
6149                                                    W.on(K, "submit", $.submitEvent),
6150                                                    W.on(K, "reset", $.resetEvent),
6151                                                    W.on(K, "blur", $.blurEvent),
6152                                                    W.on(K, "focus", $.focu
6152sEvent),
6153                                                    W.on(K, "invalid", $.invalidEvent),
6154                                                    W.on(K, "click", $.clickEvent),
6155                                                    W.on(K, "mouseleave", $.mouseleaveEvent),
6156                                                    W.on(K, "mouseenter", $.mouseenterEvent),
6157                                                    W.on(K, "paste", $.pasteEvent),
6158                                                    W.on(K, "cut", $.cutEvent),
6159                                                    W.on(K, "complete", V.oncomplete),
6160                                                    W.on(K, "incomplete", V.onincomplete),
6161                                                    W.on(K, "cleared", V.oncleared),
6162                                                    ct || !0 === V.inputEventOnly ? K.removeAttribute("maxLength") : (W.on(K, "keydown", $.keydownEvent), W.on(K, "keypress", $.keypressEvent)),
6163                                                    W.on(K, "input", $.inputFallBackEvent),
6164                                                    W.on(K, "compositionend", $.compositionendEvent)),
6165                                                W.on(K, "setvalue", $.setValueEvent),
6166                                                (p = d().join(""));
6167                                            var i = (K.inputmask.shadowRoot || at).activeElement;
6168                                            if ("" !== K.inputmask._valueGet(!0) || !1 === V.clearMaskOnLostFocus || i === K) {
6169                                                Z(K, K.inputmask._valueGet(!0));
6170                                                var n = D().slice();
6171                                                !1 === X(n) && V.clearIncomplete && x(),
6172                                                    V.clearMaskOnLostFocus && i !== K && (-1 === C() ? (n = []) : G(n)),
6173                                                    (!1 === V.clearMaskOnLostFocus || (V.showMaskOnFocus && i === K) || "" !== K.inputmask._valueGet(!0)) && L(K, n),
6174                                                    i === K && Y(K, N(C()));
6175                                            }
6176                                        }
6177                                    })(K);
6178                                    break;
6179                                case "format":
6180                                    return (
6181                                        (n = ((ot.isFunction(V.onBeforeMask) && V.onBeforeMask.call(c, e.value, V)) || e.value).split("")),
6182                                        B.call(this, void 0, !0, !1, n),
6183                                        e.metadata ? { value: y ? D().slice().reverse().join("") : D().join(""), metadata: t.call(this, { action: "getmetadata" }, U, V) } : y ? D().slice().reverse().join("") : D().join("")
6184                                    );
6185                                case "isValid":
6186                                    e.value
6187                                        ? ((n = ((ot.isFunction(V.onBeforeMask) && V.onBeforeMask.call(c, e.value, V)) || e.value).split("")), B.call(this, void 0, !0, !1, n))
6188                                        : (e.value = y ? D().slice().reverse().join("") : D().join(""));
6189                                    for (var J = D(), tt = r(), et = J.length - 1; tt < et && !H(et); et--);
6190                                    return J.splice(tt, et + 1 - tt), X(J) && e.value === (y ? D().slice().reverse().join("") : D().join(""));
6191                                case "getemptymask":
6192                                    return d().join("");
6193                                case "remove":
6194                                    if (K && K.inputmask) {
6195                                        ot.data(K, "_inputmask_opts", null), (a = ot(K));
6196                                        var it = V.autoUnmask ? o(K) : K.inputmask._valueGet(V.autoUnmask);
6197                                        it !== d().join("") ? K.inputmask._valueSet(it, V.autoUnmask) : K.inputmask._valueSet(""),
6198                                            W.off(K),
6199                                            Object.getOwnPropertyDescriptor && Object.getPrototypeOf
6200                                                ? Object.getOwnPropertyDescriptor(Object.getPrototypeOf(K), "value") &&
6201                                                  K.inputmask.__valueGet &&
6202                                                  Object.defineProperty(K, "value", { get: K.inputmask.__valueGet, set: K.inputmask.__valueSet, configurable: !0 })
6203                                                : at.__lookupGetter__ && K.__lookupGetter__("value") && K.inputmask.__valueGet && (K.__defineGetter__("value", K.inputmask.__valueGet), K.__defineSetter__("value", K.inputmask.__valueSet)),
6204                                            (K.inputmask = void 0);
6205                                    }
6206                                    return K;
6207                                case "getmetadata":
6208                                    if (ot.isArray(U.metadata)) {
6209                                        var nt = _(!0, 0, !1).join("");
6210                                        return (
6211                                            ot.each(U.metadata, function (t, e) {
6212                                                if (e.mask === nt) return (nt = e), !1;
6213                                            }),
6214                                            nt
6215                                        );
6216                                    }
6217                                    return U.metadata;
6218                            }
6219                    };
6220                },
6221                function (t, e, i) {
6222                    "use strict";
6223                    function h(t) {
6224                        return (h =
6225                            "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
6226                                ? function (t) {
6227                                      return typeof t;
6228                                  }
6229                                : function (t) {
6230                                      return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
6231                                  })(t);
6232                    }
6233                    var a = i(1),
6234                        s = a.dependencyLib,
6235                        o = i(0),
6236                        f = {
6237                            d: ["[1-9]|[12][0-9]|3[01]", Date.prototype.setDate, "day", Date.prototype.getDate],
6238                            dd: [
6239                                "0[1-9]|[12][0-9]|3[01]",
6240                                Date.prototype.setDate,
6241                                "day",
6242                                function () {
6243                                    return r(Date.prototype.getDate.call(this), 2);
6244                                },
6245                            ],
6246                            ddd: [""],
6247                            dddd: [""],
6248                            m: [
6249                                "[1-9]|1[012]",
6250                                Date.prototype.setMonth,
6251                                "month",
6252                                function () {
6253                                    return Date.prototype.getMonth.call(this) + 1;
6254                                },
6255                            ],
6256                            mm: [
6257                                "0[1-9]|1[012]",
6258                                Date.prototype.setMonth,
6259                                "month",
6260                                function () {
6261                                    return r(Date.prototype.getMonth.call(this) + 1, 2);
6262                                },
6263                            ],
6264                            mmm: [""],
6265                            mmmm: [""],
6266                            yy: [
6267                                "[0-9]{2}",
6268                                Date.prototype.setFullYear,
6269                                "year",
6270                                function () {
6271                                    return r(Date.prototype.getFullYear.call(this), 2);
6272                                },
6273                            ],
6274                            yyyy: [
6275                                "[0-9]{4}",
6276                                Date.prototype.setFullYear,
6277                                "year",
6278                                function () {
6279                                    return r(Date.prototype.getFullYear.call(this), 4);
6280                                },
6281                            ],
6282                            h: ["[1-9]|1[0-2]", Date.prototype.setHours, "hours", Date.prototype.getHours],
6283                            hh: [
6284                                "0[1-9]|1[0-2]",
6285                                Date.prototype.setHours,
6286                                "hours",
6287                                function () {
6288                                    return r(Date.prototype.getHours.call(this), 2);
6289                                },
6290                            ],
6291                            hx: [
6292                                function (t) {
6293                                    return "[0-9]{".concat(t, "}");
6294                                },
6295                                Date.prototype.setHours,
6296                                "hours",
6297                                function (t) {
6298                                    return Date.prototype.getHours;
6299                                },
6300                            ],
6301                            H: ["1?[0-9]|2[0-3]", Date.prototype.setHours, "hours", Date.prototype.getHours],
6302                            HH: [
6303                                "0[0-9]|1[0-9]|2[0-3]",
6304                                Date.prototype.setHours,
6305                                "hours",
6306                                function () {
6307                                    return r(Date.prototype.getHours.call(this), 2);
6308                                },
6309                            ],
6310                            Hx: [
6311                                function (t) {
6312                                    return "[0-9]{".concat(t, "}");
6313                                },
6314                                Date.prototype.setHours,
6315                                "hours",
6316                                function (t) {
6317                                    return function () {
6318                                        return r(Date.prototype.getHours.call(this), t);
6319                                    };
6320                                },
6321                            ],
6322                            M: ["[1-5]?[0-9]", Date.prototype.setMinutes, "minutes", Date.prototype.getMinutes],
6323                            MM: [
6324                                "0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]",
6325                                Date.prototype.setMinutes,
6326                                "minutes",
6327                                function () {
6328                                    return r(Date.prototype.getMinutes.call(this), 2);
6329                                },
6330                            ],
6331                            s: ["[1-5]?[0-9]", Date.prototype.setSeconds, "seconds", Date.prototype.getSeconds],
6332                            ss: [
6333                                "0[0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9]",
6334                                Date.prototype.setSeconds,
6335                                "seconds",
6336                                function () {
6337                                    return r(Date.prototype.getSeconds.call(this), 2);
6338                                },
6339                            ],
6340                            l: [
6341                                "[0-9]{3}",
6342                                Date.prototype.setMilliseconds,
6343                                "milliseconds",
6344                                function () {
6345                                    return r(Date.prototype.getMilliseconds.call(this), 3);
6346                                },
6347                            ],
6348                            L: [
6349                                "[0-9]{2}",
6350                                Date.prototype.setMilliseconds,
6351                                "milliseconds",
6352                                function () {
6353                                    return r(Date.prototype.getMilliseconds.call(this), 2);
6354                                },
6355                            ],
6356                            t: ["[ap]"],
6357                            tt: ["[ap]m"],
6358                            T: ["[AP]"],
6359                            TT: ["[AP]M"],
6360                            Z: [""],
6361                            o: [""],
6362                            S: [""],
6363                        },
6364                        n = { 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'" };
6365                    function l(t) {
6366                        var e = new RegExp("\\d+$").exec(t[0]);
6367                        if (e && void 0 !== e[0]) {
6368                            var i = f[t[0][0] + "x"].slice("");
6369                            return (i[0] = i[0](e[0])), (i[3] = i[3](e[0])), i;
6370                        }
6371                        if (f[t[0]]) return f[t[0]];
6372                    }
6373                    function d(t) {
6374                        if (!t.tokenizer) {
6375                            var e = [],
6376                                i = [];
6377                            for (var n in f)
6378                                if (/\.*x$/.test(n)) {
6379                                    var s = n[0] + "\\d+";
6380                                    -1 === i.indexOf(s) && i.push(s);
6381                                } else -1 === e.indexOf(n[0]) && e.push(n[0]);
6382                            (t.tokenizer = "(" + (0 < i.length ? i.join("|") + "|" : "") + e.join("+|") + ")+?|."), (t.tokenizer = new RegExp(t.tokenizer, "g"));
6383                        }
6384                        return t.tokenizer;
6385                    }
6386                    function m(t, e, i, n) {
6387                        var s,
6388                            o,
6389                            r = "";
6390                        for (d(i).lastIndex = 0; (s = d(i).exec(t)); )
6391                            if (void 0 === e)
6392                                if ((o = l(s))) r += "(" + o[0] + ")";
6393                                else
6394                                    switch (s[0]) {
6395                                        case "[":
6396                                            r += "(";
6397                                            break;
6398                                        case "]":
6399                                            r += ")?";
6400                                            break;
6401                                        default:
6402                                            r += a.escapeRegex(s[0]);
6403                                    }
6404                            else if ((o = l(s)))
6405                                if (!0 !== n && o[3]) {
6406                                    r += o[3].call(e.date);
6407                                } else o[2] ? (r += e["raw" + o[2]]) : (r += s[0]);
6408                            else r += s[0];
6409                        return r;
6410                    }
6411                    function r(t, e) {
6412                        for (t = String(t), e = e || 2; t.length < e; ) t = "0" + t;
6413                        return t;
6414                    }
6415                    function g(t, e, i) {
6416                        var n,
6417                            s,
6418                            o,
6419                            r,
6420                            a,
6421                            l = { date: new Date(1, 0, 1) },
6422                            c = t;
6423                        if ("string" == typeof c) {
6424                            for (d(i).lastIndex = 0; (s = d(i).exec(e)); ) {
6425                                var u = c.slice(0, s[0].length);
6426                                f.hasOwnProperty(s[0]) && ((n = f[s[0]][2]), (o = f[s[0]][1]), ((r = l)[n] = (a = u).replace(/[^0-9]/g, "0")), (r["raw" + n] = a), void 0 !== o && o.call(r.date, "month" == n ? parseInt(r[n]) - 1 : r[n])),
6427                                    (c = c.slice(u.length));
6428                            }
6429                            return l;
6430                        }
6431                        if (c && "object" === h(c) && c.hasOwnProperty("date")) return c;
6432                    }
6433                    function c(t, e) {
6434                        var i,
6435                            n = "";
6436                        for (d(e).lastIndex = 0; (i = d(e).exec(e.inputFormat)); )
6437                            "d" === i[0].charAt(0)
6438                                ? (n += r(t.getDate(), i[0].length))
6439                                : "m" === i[0].charAt(0)
6440                                ? (n += r(t.getMonth() + 1, i[0].length))
6441                                : "yyyy" === i[0]
6442                                ? (n += t.getFullYear().toString())
6443                                : "y" === i[0].charAt(0) && (n += r(t.getYear(), i[0].length));
6444                        return n;
6445                    }
6446                    function v(t, e) {
6447                        var i,
6448                            n,
6449                            s = 0,
6450                            o = 0;
6451                        for (d(e).lastIndex = 0; (n = d(e).exec(e.inputFormat)); ) {
6452                            var r = new RegExp("\\d+$").exec(n[0]);
6453                            if (t <= (s += o = r ? parseInt(r[0]) : n[0].length)) {
6454                                (i = n), (n = d(e).exec(e.inputFormat));
6455                                break;
6456                            }
6457                        }
6458                        return { targetMatchIndex: s - o, nextMatch: n, targetMatch: i };
6459                    }
6460                    a.extendAliases({
6461                        datetime: {
6462                            mask: function (t) {
6463                                return (
6464                                    (t.numericInput = !1),
6465                                    (f.S = t.i18n.ordinalSuffix.join("|")),
6466                                    (t.inputFormat = n[t.inputFormat] || t.inputFormat),
6467                                    (t.displayFormat = n[t.displayFormat] || t.displayFormat || t.inputFormat),
6468                                    (t.outputFormat = n[t.outputFormat] || t.outputFormat || t.inputFormat),
6469                                    (t.placeholder = "" !== t.placeholder ? t.placeholder : t.inputFormat.replace(/[[\]]/, "")),
6470                                    (t.regex = m(t.inputFormat, void 0, t)),
6471                                    (t.min = g(t.min, t.inputFormat, t)),
6472                                    (t.max = g(t.max, t.inputFormat, t)),
6473                                    null
6474                                );
6475                            },
6476                            placeholder: "",
6477                            inputFormat: "isoDateTime",
6478                            displayFormat: void 0,
6479                            outputFormat: void 0,
6480                            min: null,
6481                            max: null,
6482                            skipOptionalPartCharacter: "",
6483                            i18n: {
6484                                dayNames: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"],
6485                                monthNames: [
6486                                    "Jan",
6487                                    "Feb",
6488                                    "Mar",
6489                                    "Apr",
6490                                    "May",
6491                                    "Jun",
6492                                    "Jul",
6493                                    "Aug",
6494                                    "Sep",
6495                                    "Oct",
6496                                    "Nov",
6497                                    "Dec",
6498                                    "January",
6499                                    "February",
6500                                    "March",
6501                                    "April",
6502                                    "May",
6503                                    "June",
6504                                    "July",
6505                                    "August",
6506                                    "September",
6507                                    "October",
6508                                    "November",
6509                                    "December",
6510                                ],
6511                                ordinalSuffix: ["st", "nd", "rd", "th"],
6512                            },
6513                            preValidation: function (t, e, i, n, s, o, r, a) {
6514                                if (a) return !0;
6515                                if (isNaN(i) && t[e] !== i) {
6516                                    var l = v(e, s);
6517                                    if (l.nextMatch && l.nextMatch[0] === i && 1 < l.targetMatch[0].length) {
6518                                        var c = f[l.targetMatch[0]][0];
6519                                        if (new RegExp(c).test("0" + t[e - 1])) return (t[e] = t[e - 1]), (t[e - 1] = "0"), { fuzzy: !0, buffer: t, refreshFromBuffer: { start: e - 1, end: e + 1 }, pos: e + 1 };
6520                                    }
6521                                }
6522                                return !0;
6523                            },
6524                            postValidation: function (t, e, i, n, s, o, r) {
6525                                if (r) return !0;
6526                                var a, l;
6527                                if (!1 === n)
6528                                    return (a = v(e + 1, s)).targetMatch && a.targetMatchIndex === e && 1 < a.targetMatch[0].length && void 0 !== f[a.targetMatch[0]] && ((l = f[a.targetMatch[0]][0]), new RegExp(l).test("0" + i))
6529                                        ? {
6530                                              insert: [
6531                                                  { pos: e, c: "0" },
6532                                                  { pos: e + 1, c: i },
6533                                              ],
6534                                              pos: e + 1,
6535                                          }
6536                                        : n;
6537                                if ((n.fuzzy && ((t = n.buffer), (e = n.pos)), (a = v(e, s)).targetMatch && a.targetMatch[0] && void 0 !== f[a.targetMatch[0]])) {
6538                                    l = f[a.targetMatch[0]][0];
6539                                    var c = t.slice(a.targetMatchIndex, a.targetMatchIndex + a.targetMatch[0].length);
6540                                    !1 === new RegExp(l).test(c.join("")) &&
6541                                        2 === a.targetMatch[0].length &&
6542                                        o.validPositions[a.targetMatchIndex] &&
6543                                        o.validPositions[a.targetMatchIndex + 1] &&
6544                                        (o.validPositions[a.targetMatchIndex + 1].input = "0");
6545                                }
6546                                var u,
6547                                    h,
6548                                    d = n,
6549                                    p = g(t.join(""), s.inputFormat, s);
6550                                return (
6551                                    d &&
6552                                        p.date.getTime() == p.date.getTime() &&
6553                                        ((u = p),
6554                                        (h = d),
6555                                        (d =
6556                                            (d = (!isFinite(u.rawday) || ("29" == u.day && !isFinite(u.rawyear)) || new Date(u.date.getFullYear(), isFinite(u.rawmonth) ? u.month : u.date.getMonth() + 1, 0).getDate() >= u.day) && h) &&
6557                                            (function (t, e) {
6558                                                var i = !0;
6559                                                if (e.min) {
6560                                                    if (t.rawyear) {
6561                                                        var n = t.rawyear.replace(/[^0-9]/g, "");
6562                                                        i = e.min.year.substr(0, n.length) <= n;
6563                                                    }
6564                                                    t.year === t.rawyear && e.min.date.getTime() == e.min.date.getTime() && (i = e.min.date.getTime() <= t.date.getTime());
6565                                                }
6566                                                return i && e.max && e.max.date.getTime() == e.max.date.getTime() && (i = e.max.date.getTime() >= t.date.getTime()), i;
6567                                            })(p, s))),
6568                                    e && d && n.pos !== e ? { buffer: m(s.inputFormat, p, s).split(""), refreshFromBuffer: { start: e, end: n.pos } } : d
6569                                );
6570                            },
6571                            onKeyDown: function (t, e, i, n) {
6572                                t.ctrlKey && t.keyCode === o.RIGHT && (this.inputmask._valueSet(c(new Date(), n)), s(this).trigger("setvalue"));
6573                            },
6574                            onUnMask: function (t, e, i) {
6575                                return e ? m(i.outputFormat, g(t, i.inputFormat, i), i, !0) : e;
6576                            },
6577                            casing: function (t, e) {
6578                                return 0 == e.nativeDef.indexOf("[ap]") ? t.toLowerCase() : 0 == e.nativeDef.indexOf("[AP]") ? t.toUpperCase() : t;
6579                            },
6580                            onBeforeMask: function (t, e) {
6581                                return "[object Date]" === Object.prototype.toString.call(t) && (t = c(t, e)), t;
6582                            },
6583                            insertMode: !1,
6584                            shiftPositions: !1,
6585                            keepStatic: !1,
6586                            inputmode: "numeric",
6587                        },
6588                    }),
6589                        (t.exports = a);
6590                },
6591                function (t, e, i) {
6592                    "use strict";
6593                    var b = i(1),
6594                        k = b.dependencyLib,
6595                        a = i(0);
6596                    function l(t, e) {
6597                        for (var i = "", n = 0; n < t.length; n++)
6598                            b.prototype.definitions[t.charAt(n)] ||
6599                            e.definitions[t.charAt(n)] ||
6600                            e.optionalmarker[0] === t.charAt(n) ||
6601                            e.optionalmarker[1] === t.charAt(n) ||
6602                            e.quantifiermarker[0] === t.charAt(n) ||
6603                            e.quantifiermarker[1] === t.charAt(n) ||
6604                            e.groupmarker[0] === t.charAt(n) ||
6605                            e.groupmarker[1] === t.charAt(n) ||
6606                            e.alternatormarker === t.charAt(n)
6607                                ? (i += "\\" + t.charAt(n))
6608                                : (i += t.charAt(n));
6609                        return i;
6610                    }
6611                    function y(t, e, i, n) {
6612                        if (0 < t.length && 0 < e && (!i.digitsOptional || n)) {
6613                            var s = k.inArray(i.radixPoint, t);
6614                            -1 === s && (t.push(i.radixPoint), (s = t.length - 1));
6615                            for (var o = 1; o <= e; o++) isFinite(t[s + o]) || (t[s + o] = "0");
6616                        }
6617                        return t;
6618                    }
6619                    function w(t, e) {
6620                        var i = 0;
6621                        if ("+" === t) {
6622                            for (i in e.validPositions);
6623                            i = parseInt(i);
6624                        }
6625                        for (var n in e.tests)
6626                            if (i <= (n = parseInt(n)))
6627                                for (var s = 0, o = e.tests[n].length; s < o; s++) if ((void 0 === e.validPositions[n] || "-" === t) && e.tests[n][s].match.def === t) return n + (void 0 !== e.validPositions[n] && "-" !== t ? 1 : 0);
6628                        return i;
6629                    }
6630                    function x(i, t) {
6631                        var n = -1;
6632                        return (
6633                            k.each(t.validPositions, function (t, e) {
6634                                if (e && e.match.def === i) return (n = parseInt(t)), !1;
6635                            }),
6636                            n
6637                        );
6638                    }
6639                    function n(t, e, i, n, s) {
6640                        var o = e.buffer ? e.buffer.indexOf(s.radixPoint) : -1,
6641                            r = -1 !== o && new RegExp("[0-91-9]").test(t);
6642                        return s._radixDance && r && null == e.validPositions[o] ? { insert: { pos: o === i ? o + 1 : o, c: s.radixPoint }, pos: i } : r;
6643                    }
6644                    b.extendAliases({
6645                        numeric: {
6646                            mask: function (t) {
6647                                (t.repeat = 0),
6648                                    t.groupSeparator === t.radixPoint && t.digits && "0" !== t.digits && ("." === t.radixPoint ? (t.groupSeparator = ",") : "," === t.radixPoint ? (t.groupSeparator = ".") : (t.groupSeparator = "")),
6649                                    " " === t.groupSeparator && (t.skipOptionalPartCharacter = void 0),
6650                                    1 < t.placeholder.length && (t.placeholder = t.placeholder.charAt(0)),
6651                                    "radixFocus" === t.positionCaretOnClick && "" === t.placeholder && (t.positionCaretOnClick = "lvp");
6652                                var e = "0",
6653                                    i = t.radixPoint;
6654                                !0 === t.numericInput && void 0 === t.__financeInput
6655                                    ? ((e = "1"),
6656                                      (t.positionCaretOnClick = "radixFocus" === t.positionCaretOnClick ? "lvp" : t.positionCaretOnClick),
6657                                      (t.digitsOptional = !1),
6658                                      isNaN(t.digits) && (t.digits = 2),
6659                                      (t._radixDance = !1),
6660                                      (i = "," === t.radixPoint ? "?" : "!"),
6661                                      "" !== t.radixPoint &&
6662                                          void 0 === t.definitions[i] &&
6663                                          ((t.definitions[i] = {}
6663), (t.definitions[i].validator = "[" + t.radixPoint + "]"), (t.definitions[i].placeholder = t.radixPoint), (t.definitions[i].static = !0), (t.definitions[i].generated = !0)))
6664                                    : ((t.__financeInput = !1), (t.numericInput = !0));
6665                                var n,
6666                                    s,
6667                                    o = "[+]";
6668                                if (
6669                                    ((o += l(t.prefix, t)),
6670                                    "" !== t.groupSeparator
6671                                        ? (void 0 === t.definitions[t.groupSeparator] &&
6672                                              ((t.definitions[t.groupSeparator] = {}),
6673                                              (t.definitions[t.groupSeparator].validator = "[" + t.groupSeparator + "]"),
6674                                              (t.definitions[t.groupSeparator].placeholder = t.groupSeparator),
6675                                              (t.definitions[t.groupSeparator].static = !0),
6676                                              (t.definitions[t.groupSeparator].generated = !0)),
6677                                          (o += t._mask(t)))
6678                                        : (o += "9{+}"),
6679                                    void 0 !== t.digits && 0 !== t.digits)
6680                                ) {
6681                                    var r = t.digits.toString().split(",");
6682                                    isFinite(r[0]) && r[1] && isFinite(r[1])
6683                                        ? (o += i + e + "{" + t.digits + "}")
6684                                        : (isNaN(t.digits) || 0 < parseInt(t.digits)) && (t.digitsOptional ? ((n = o + i + e + "{0," + t.digits + "}"), (t.keepStatic = !0)) : (o += i + e + "{" + t.digits + "}"));
6685                                }
6686                                return (
6687                                    (o += l(t.suffix, t)),
6688                                    (o += "[-]"),
6689                                    n && (o = [n + l(t.suffix, t) + "[-]", o]),
6690                                    (t.greedy = !1),
6691                                    void 0 === (s = t).parseMinMaxOptions &&
6692                                        (null !== s.min &&
6693                                            ((s.min = s.min.toString().replace(new RegExp(b.escapeRegex(s.groupSeparator), "g"), "")),
6694                                            "," === s.radixPoint && (s.min = s.min.replace(s.radixPoint, ".")),
6695                                            (s.min = isFinite(s.min) ? parseFloat(s.min) : NaN),
6696                                            isNaN(s.min) && (s.min = Number.MIN_VALUE)),
6697                                        null !== s.max &&
6698                                            ((s.max = s.max.toString().replace(new RegExp(b.escapeRegex(s.groupSeparator), "g"), "")),
6699                                            "," === s.radixPoint && (s.max = s.max.replace(s.radixPoint, ".")),
6700                                            (s.max = isFinite(s.max) ? parseFloat(s.max) : NaN),
6701                                            isNaN(s.max) && (s.max = Number.MAX_VALUE)),
6702                                        (s.parseMinMaxOptions = "done")),
6703                                    o
6704                                );
6705                            },
6706                            _mask: function (t) {
6707                                return "(" + t.groupSeparator + "999){+|1}";
6708                            },
6709                            digits: "*",
6710                            digitsOptional: !0,
6711                            enforceDigitsOnBlur: !1,
6712                            radixPoint: ".",
6713                            positionCaretOnClick: "radixFocus",
6714                            _radixDance: !0,
6715                            groupSeparator: "",
6716                            allowMinus: !0,
6717                            negationSymbol: { front: "-", back: "" },
6718                            prefix: "",
6719                            suffix: "",
6720                            min: null,
6721                            max: null,
6722                            step: 1,
6723                            unmaskAsNumber: !1,
6724                            roundingFN: Math.round,
6725                            inputmode: "numeric",
6726                            shortcuts: { k: "000", m: "000000" },
6727                            placeholder: "0",
6728                            greedy: !1,
6729                            rightAlign: !0,
6730                            insertMode: !0,
6731                            autoUnmask: !1,
6732                            skipOptionalPartCharacter: "",
6733                            definitions: {
6734                                0: { validator: n },
6735                                1: { validator: n, definitionSymbol: "9" },
6736                                "+": {
6737                                    validator: function (t, e, i, n, s) {
6738                                        return s.allowMinus && ("-" === t || t === s.negationSymbol.front);
6739                                    },
6740                                },
6741                                "-": {
6742                                    validator: function (t, e, i, n, s) {
6743                                        return s.allowMinus && t === s.negationSymbol.back;
6744                                    },
6745                                },
6746                            },
6747                            preValidation: function (t, e, i, n, s, o, r, a) {
6748                                if (!1 !== s.__financeInput && i === s.radixPoint) return !1;
6749                                var l;
6750                                if ((l = s.shortcuts && s.shortcuts[i])) {
6751                                    if (1 < l.length) for (var c = [], u = 0; u < l.length; u++) c.push({ pos: e + u, c: l[u], strict: !1 });
6752                                    return { insert: c };
6753                                }
6754                                var h,
6755                                    d,
6756                                    p,
6757                                    f,
6758                                    m,
6759                                    g = k.inArray(s.radixPoint, t),
6760                                    v = e;
6761                                if (
6762                                    ((h = e),
6763                                    (d = i),
6764                                    (p = g),
6765                                    (f = o),
6766                                    (m = s)._radixDance &&
6767                                        m.numericInput &&
6768                                        d !== m.negationSymbol.back &&
6769                                        h <= p &&
6770                                        (0 < p || d == m.radixPoint) &&
6771                                        (void 0 === f.validPositions[h - 1] || f.validPositions[h - 1].input !== m.negationSymbol.back) &&
6772                                        --h,
6773                                    (e = h),
6774                                    "-" === i || i === s.negationSymbol.front)
6775                                ) {
6776                                    if (!0 !== s.allowMinus) return !1;
6777                                    var b = !1,
6778                                        y = x("+", o),
6779                                        _ = x("-", o);
6780                                    return (
6781                                        -1 !== y && (b = [y, _]),
6782                                        !1 !== b
6783                                            ? { remove: b, caret: v }
6784                                            : {
6785                                                  insert: [
6786                                                      { pos: w("+", o), c: s.negationSymbol.front, fromIsValid: !0 },
6787                                                      { pos: w("-", o), c: s.negationSymbol.back, fromIsValid: void 0 },
6788                                                  ],
6789                                                  caret: v + s.negationSymbol.back.length,
6790                                              }
6791                                    );
6792                                }
6793                                if (a) return !0;
6794                                if (-1 !== g && !0 === s._radixDance && !1 === n && i === s.radixPoint && void 0 !== s.digits && (isNaN(s.digits) || 0 < parseInt(s.digits)) && g !== e)
6795                                    return { caret: s._radixDance && e === g - 1 ? g + 1 : g };
6796                                if (!1 === s.__financeInput)
6797                                    if (n) {
6798                                        if (s.digitsOptional) return { rewritePosition: r.end };
6799                                        if (!s.digitsOptional) {
6800                                            if (r.begin > g && r.end <= g) return i === s.radixPoint ? { insert: { pos: g + 1, c: "0", fromIsValid: !0 }, rewritePosition: g } : { rewritePosition: g + 1 };
6801                                            if (r.begin < g) return { rewritePosition: r.begin - 1 };
6802                                        }
6803                                    } else if (!s.showMaskOnHover && !s.showMaskOnFocus && !s.digitsOptional && 0 < s.digits && "" === this.inputmask.__valueGet.call(this)) return { rewritePosition: g };
6804                                return { rewritePosition: e };
6805                            },
6806                            postValidation: function (t, e, i, n, s, o, r) {
6807                                if (!1 === n) return n;
6808                                if (r) return !0;
6809                                if (null !== s.min || null !== s.max) {
6810                                    var a = s.onUnMask(t.slice().reverse().join(""), void 0, k.extend({}, s, { unmaskAsNumber: !0 }));
6811                                    if (null !== s.min && a < s.min && (a.toString().length >= s.min.toString().length || a < 0)) return !1;
6812                                    if (null !== s.max && a > s.max) return !1;
6813                                }
6814                                return n;
6815                            },
6816                            onUnMask: function (t, e, i) {
6817                                if ("" === e && !0 === i.nullable) return e;
6818                                var n = t.replace(i.prefix, "");
6819                                return (
6820                                    (n = (n = n.replace(i.suffix, "")).replace(new RegExp(b.escapeRegex(i.groupSeparator), "g"), "")),
6821                                    "" !== i.placeholder.charAt(0) && (n = n.replace(new RegExp(i.placeholder.charAt(0), "g"), "0")),
6822                                    i.unmaskAsNumber
6823                                        ? ("" !== i.radixPoint && -1 !== n.indexOf(i.radixPoint) && (n = n.replace(b.escapeRegex.call(this, i.radixPoint), ".")),
6824                                          (n = (n = n.replace(new RegExp("^" + b.escapeRegex(i.negationSymbol.front)), "-")).replace(new RegExp(b.escapeRegex(i.negationSymbol.back) + "$"), "")),
6825                                          Number(n))
6826                                        : n
6827                                );
6828                            },
6829                            isComplete: function (t, e) {
6830                                var i = (e.numericInput ? t.slice().reverse() : t).join("");
6831                                return (
6832                                    (i = (i = (i = (i = (i = i.replace(new RegExp("^" + b.escapeRegex(e.negationSymbol.front)), "-")).replace(new RegExp(b.escapeRegex(e.negationSymbol.back) + "$"), "")).replace(e.prefix, "")).replace(
6833                                        e.suffix,
6834                                        ""
6835                                    )).replace(new RegExp(b.escapeRegex(e.groupSeparator) + "([0-9]{3})", "g"), "$1")),
6836                                    "," === e.radixPoint && (i = i.replace(b.escapeRegex(e.radixPoint), ".")),
6837                                    isFinite(i)
6838                                );
6839                            },
6840                            onBeforeMask: function (t, e) {
6841                                var i = e.radixPoint || ",";
6842                                isFinite(e.digits) && (e.digits = parseInt(e.digits)), ("number" != typeof t && "number" !== e.inputType) || "" === i || (t = t.toString().replace(".", i));
6843                                var n = t.split(i),
6844                                    s = n[0].replace(/[^\-0-9]/g, ""),
6845                                    o = 1 < n.length ? n[1].replace(/[^0-9]/g, "") : "",
6846                                    r = 1 < n.length;
6847                                t = s + ("" !== o ? i + o : o);
6848                                var a = 0;
6849                                if ("" !== i && ((a = !e.digitsOptional || e.digits < o.length ? e.digits : o.length), "" !== o || !e.digitsOptional)) {
6850                                    var l = Math.pow(10, a || 1);
6851                                    (t = t.replace(b.escapeRegex(i), ".")), isNaN(parseFloat(t)) || (t = (e.roundingFN(parseFloat(t) * l) / l).toFixed(a)), (t = t.toString().replace(".", i));
6852                                }
6853                                if ((0 === e.digits && -1 !== t.indexOf(i) && (t = t.substring(0, t.indexOf(i))), null !== e.min || null !== e.max)) {
6854                                    var c = t.toString().replace(i, ".");
6855                                    null !== e.min && c < e.min ? (t = e.min.toString().replace(".", i)) : null !== e.max && c > e.max && (t = e.max.toString().replace(".", i));
6856                                }
6857                                return y(t.toString().split(""), a, e, r).join("");
6858                            },
6859                            onBeforeWrite: function (t, e, i, n) {
6860                                function s(t, e) {
6861                                    if (!1 !== n.__financeInput || e) {
6862                                        var i = k.inArray(n.radixPoint, t);
6863                                        -1 !== i && t.splice(i, 1);
6864                                    }
6865                                    if ("" !== n.groupSeparator) for (; -1 !== (i = t.indexOf(n.groupSeparator)); ) t.splice(i, 1);
6866                                    return t;
6867                                }
6868                                var o,
6869                                    r,
6870                                    a,
6871                                    l,
6872                                    c,
6873                                    u,
6874                                    h =
6875                                        ((r = e),
6876                                        (a = n),
6877                                        (l = new RegExp(
6878                                            "(^" +
6879                                                ("" !== a.negationSymbol.front ? b.escapeRegex(a.negationSymbol.front) + "?" : "") +
6880                                                b.escapeRegex(a.prefix) +
6881                                                ")(.*)(" +
6882                                                b.escapeRegex(a.suffix) +
6883                                                ("" != a.negationSymbol.back ? b.escapeRegex(a.negationSymbol.back) + "?" : "") +
6884                                                "$)"
6885                                        ).exec(r.slice().reverse().join(""))),
6886                                        (c = l ? l[2] : ""),
6887                                        (u = !1),
6888                                        c && ((c = c.split(a.radixPoint.charAt(0))[0]), (u = new RegExp("^[0" + a.groupSeparator + "]*").exec(c))),
6889                                        !(!u || !(1 < u[0].length || (0 < u[0].length && u[0].length < c.length))) && u);
6890                                if (h) {
6891                                    var d = e.slice().reverse(),
6892                                        p = d.join("").indexOf(h[0]);
6893                                    d.splice(p, h[0].length);
6894                                    var f = d.length - p;
6895                                    s(d), (o = { refreshFromBuffer: !0, buffer: d.reverse(), caret: i < f ? i : f });
6896                                }
6897                                if (t)
6898                               
6898     switch (t.type) {
6899                                        case "blur":
6900                                        case "checkval":
6901                                            if (null !== n.min) {
6902                                                var m = n.onUnMask(e.slice().reverse().join(""), void 0, k.extend({}, n, { unmaskAsNumber: !0 }));
6903                                                if (null !== n.min && m < n.min) return { refreshFromBuffer: !0, buffer: y(n.min.toString().replace(".", n.radixPoint).split(""), n.digits, n).reverse() };
6904                                            }
6905                                            if (e[e.length - 1] === n.negationSymbol.front) {
6906                                                var g = new RegExp(
6907                                                    "(^" +
6908                                                        ("" != n.negationSymbol.front ? b.escapeRegex(n.negationSymbol.front) + "?" : "") +
6909                                                        b.escapeRegex(n.prefix) +
6910                                                        ")(.*)(" +
6911                                                        b.escapeRegex(n.suffix) +
6912                                                        ("" != n.negationSymbol.back ? b.escapeRegex(n.negationSymbol.back) + "?" : "") +
6913                                                        "$)"
6914                                                ).exec(s(e.slice(), !0).reverse().join(""));
6915                                                0 == (g ? g[2] : "") && (o = { refreshFromBuffer: !0, buffer: [0] });
6916                                            } else "" !== n.radixPoint && e[0] === n.radixPoint && (o && o.buffer ? o.buffer.shift() : (e.shift(), (o = { refreshFromBuffer: !0, buffer: s(e) })));
6917                                            if (n.enforceDigitsOnBlur) {
6918                                                var v = ((o = o || {}) && o.buffer) || e.slice().reverse();
6919                                                (o.refreshFromBuffer = !0), (o.buffer = y(v, n.digits, n, !0).reverse());
6920                                            }
6921                                    }
6922                                return o;
6923                            },
6924                            onKeyDown: function (t, e, i, n) {
6925                                var s,
6926                                    o = k(this);
6927                                if (t.ctrlKey)
6928                                    switch (t.keyCode) {
6929                                        case a.UP:
6930                                            return this.inputmask.__valueSet.call(this, parseFloat(this.inputmask.unmaskedvalue()) + parseInt(n.step)), o.trigger("setvalue"), !1;
6931                                        case a.DOWN:
6932                                            return this.inputmask.__valueSet.call(this, parseFloat(this.inputmask.unmaskedvalue()) - parseInt(n.step)), o.trigger("setvalue"), !1;
6933                                    }
6934                                if (!t.shiftKey && (t.keyCode === a.DELETE || t.keyCode === a.BACKSPACE || t.keyCode === a.BACKSPACE_SAFARI) && i.begin !== e.length) {
6935                                    if (e[t.keyCode === a.DELETE ? i.begin - 1 : i.end] === n.negationSymbol.front)
6936                                        return (s = e.slice().reverse()), "" !== n.negationSymbol.front && s.shift(), "" !== n.negationSymbol.back && s.pop(), o.trigger("setvalue", [s.join(""), i.begin]), !1;
6937                                    if (!0 === n._radixDance) {
6938                                        var r = k.inArray(n.radixPoint, e);
6939                                        if (n.digitsOptional) {
6940                                            if (0 === r) return (s = e.slice().reverse()).pop(), o.trigger("setvalue", [s.join(""), i.begin >= s.length ? s.length : i.begin]), !1;
6941                                        } else if (-1 !== r && (i.begin < r || i.end < r || (t.keyCode === a.DELETE && i.begin === r)))
6942                                            return (
6943                                                i.begin !== i.end || (t.keyCode !== a.BACKSPACE && t.keyCode !== a.BACKSPACE_SAFARI) || i.begin++,
6944                                                (s = e.slice().reverse()).splice(s.length - i.begin, i.begin - i.end + 1),
6945                                                (s = y(s, n.digits, n).join("")),
6946                                                o.trigger("setvalue", [s, i.begin >= s.length ? r + 1 : i.begin]),
6947                                                !1
6948                                            );
6949                                    }
6950                                }
6951                            },
6952                        },
6953                        currency: { prefix: "", groupSeparator: ",", alias: "numeric", digits: 2, digitsOptional: !1 },
6954                        decimal: { alias: "numeric" },
6955                        integer: { alias: "numeric", digits: 0 },
6956                        percentage: { alias: "numeric", min: 0, max: 100, suffix: " %", digits: 0, allowMinus: !1 },
6957                        indianns: {
6958                            alias: "numeric",
6959                            _mask: function (t) {
6960                                return "(" + t.groupSeparator + "99){*|1}(" + t.groupSeparator + "999){1|1}";
6961                            },
6962                            groupSeparator: ",",
6963                            radixPoint: ".",
6964                            placeholder: "0",
6965                            digits: 2,
6966                            digitsOptional: !1,
6967                        },
6968                    }),
6969                        (t.exports = b);
6970                },
6971                function (t, e, i) {
6972                    "use strict";
6973                    var n,
6974                        o = (n = i(1)) && n.__esModule ? n : { default: n };
6975                    function s(t) {
6976                        return (s =
6977                            "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
6978                                ? function (t) {
6979                                      return typeof t;
6980                                  }
6981                                : function (t) {
6982                                      return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
6983                                  })(t);
6984                    }
6985                    function r(t, e) {
6986                        return !e || ("object" !== s(e) && "function" != typeof e)
6987                            ? (function (t) {
6988                                  if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
6989                                  return t;
6990                              })(t)
6991                            : e;
6992                    }
6993                    function a(t) {
6994                        var n = "function" == typeof Map ? new Map() : void 0;
6995                        return (a = function (t) {
6996                            if (null === t || ((e = t), -1 === Function.toString.call(e).indexOf("[native code]"))) return t;
6997                            var e;
6998                            if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
6999                            if (void 0 !== n) {
7000                                if (n.has(t)) return n.get(t);
7001                                n.set(t, i);
7002                            }
7003                            function i() {
7004                                return l(t, arguments, u(this).constructor);
7005                            }
7006                            return (i.prototype = Object.create(t.prototype, { constructor: { value: i, enumerable: !1, writable: !0, configurable: !0 } })), c(i, t);
7007                        })(t);
7008                    }
7009                    function l(t, e, i) {
7010                        return (l = (function () {
7011                            if ("undefined" != typeof Reflect && Reflect.construct && !Reflect.construct.sham) {
7012                                if ("function" == typeof Proxy) return 1;
7013                                try {
7014                                    return Date.prototype.toString.call(Reflect.construct(Date, [], function () {})), 1;
7015                                } catch (t) {
7016                                    return;
7017                                }
7018                            }
7019                        })()
7020                            ? Reflect.construct
7021                            : function (t, e, i) {
7022                                  var n = [null];
7023                                  n.push.apply(n, e);
7024                                  var s = new (Function.bind.apply(t, n))();
7025                                  return i && c(s, i.prototype), s;
7026                              }).apply(null, arguments);
7027                    }
7028                    function c(t, e) {
7029                        return (c =
7030                            Object.setPrototypeOf ||
7031                            function (t, e) {
7032                                return (t.__proto__ = e), t;
7033                            })(t, e);
7034                    }
7035                    function u(t) {
7036                        return (u = Object.setPrototypeOf
7037                            ? Object.getPrototypeOf
7038                            : function (t) {
7039                                  return t.__proto__ || Object.getPrototypeOf(t);
7040                              })(t);
7041                    }
7042                    if (document.head.createShadowRoot || document.head.attachShadow) {
7043                        var h =
7044                            ((function (t, e) {
7045                                if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
7046                                (t.prototype = Object.create(e && e.prototype, { c
7046onstructor: { value: t, writable: !0, configurable: !0 } })), e && c(t, e);
7047                            })(d, a(HTMLElement)),
7048                            d);
7049                        customElements.define("input-mask", h);
7050                    }
7051                    function d() {
7052                        var t;
7053                        !(function (t, e) {
7054                            if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
7055                        })(this, d);
7056                        var e = (t = r(this, u(d).call(this))).getAttributeNames(),
7057                            i = t.attachShadow({ mode: "closed" }),
7058                            n = document.createElement("input");
7059                        for (var s in ((n.type = "text"), i.appendChild(n), e)) Object.prototype.hasOwnProperty.call(e, s) && n.setAttribute("data-inputmask-" + e[s], t.getAttribute(e[s]));
7060                        return new o.default().mask(n), (n.inputmask.shadowRoot = i), t;
7061                    }
7062                },
7063                function (t, e, i) {
7064                    "use strict";
7065                    function s(t) {
7066                        return (s =
7067                            "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
7068                                ? function (t) {
7069                                      return typeof t;
7070                                  }
7071                                : function (t) {
7072                                      return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
7073                                  })(t);
7074                    }
7075                    var o = i(3),
7076                        r = i(1);
7077                    void 0 === o.fn.inputmask &&
7078                        (o.fn.inputmask = function (t, e) {
7079                            var i,
7080                                n = this[0];
7081                            if ((void 0 === e && (e = {}), "string" == typeof t))
7082                                switch (t) {
7083                                    case "unmaskedvalue":
7084                                        return n && n.inputmask ? n.inputmask.unmaskedvalue() : o(n).val();
7085                                    case "remove":
7086                                        return this.each(function () {
7087                                            this.inputmask && this.inputmask.remove();
7088                                        });
7089                                    case "getemptymask":
7090                                        return n && n.inputmask ? n.inputmask.getemptymask() : "";
7091                                    case "hasMaskedValue":
7092                                        return !(!n || !n.inputmask) && n.inputmask.hasMaskedValue();
7093                                    case "isComplete":
7094                                        return !n || !n.inputmask || n.inputmask.isComplete();
7095                                    case "getmetadata":
7096                                        return n && n.inputmask ? n.inputmask.getmetadata() : void 0;
7097                                    case "setvalue":
7098                                        r.setValue(n, e);
7099                                        break;
7100                                    case "option":
7101                                        if ("string" != typeof e)
7102                                            return this.each(function () {
7103                                                if (void 0 !== this.inputmask) return this.inputmask.option(e);
7104                                            });
7105                                        if (n && void 0 !== n.inputmask) return n.inputmask.option(e);
7106                                        break;
7107                                    default:
7108                                        return (
7109                                            (e.alias = t),
7110                                            (i = new r(e)),
7111                                            this.each(function () {
7112                                                i.mask(this);
7113                                            })
7114                                        );
7115                                }
7116                            else {
7117                                if (Array.isArray(t))
7118                                    return (
7119                                        (e.alias = t),
7120                                        (i = new r(e)),
7121                                        this.each(function () {
7122                                            i.mask(this);
7123                                        })
7124                                    );
7125                                if ("object" == s(t))
7126                                    return (
7127                                        (i = new r(t)),
7128                                        void 0 === t.mask && void 0 === t.alias
7129                                            ? this.each(function () {
7130                                                  if (void 0 !== this.inputmask) return this.inputmask.option(t);
7131                                                  i.mask(this);
7132                                              })
7133                                            : this.each(function () {
7134                                                  i.mask(this);
7135                                              })
7136                                    );
7137                                if (void 0 === t)
7138                                    return this.each(function () {
7139                                        (i = new r(e)).mask(this);
7140                                    });
7141                            }
7142                        });
7143                },
7144                function (t, e, i) {
7145                    "use strict";
7146                    var n = i(6),
7147                        s = i(3);
7148                    n.dependencyLib === s && i(12), (t.exports = n);
7149                },
7150            ]),
7151            (installedModules = {}),
7152            (__webpack_require__.m = modules),
7153            (__webpack_require__.c = installedModules),
7154            (__webpack_require__.d = function (t, e, i) {
7155                __webpack_require__.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: i });
7156            }),
7157            (__webpack_require__.r = function (t) {
7158                "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, { value: "Module" }), Object.defineProperty(t, "__esModule", { value: !0 });
7159            }),
7160            (__webpack_require__.t = function (e, t) {
7161                if ((1 & t && (e = __webpack_require__(e)), 8 & t)) return e;
7162                if (4 & t && "object" == typeof e && e && e.__esMo
7162dule) return e;
7163                var i = Object.create(null);
7164                if ((__webpack_require__.r(i), Object.defineProperty(i, "default", { enumerable: !0, value: e }), 2 & t && "string" != typeof e))
7165                    for (var n in e)
7166                        __webpack_require__.d(
7167                            i,
7168                            n,
7169                            function (t) {
7170                                return e[t];
7171                            }.bind(null, n)
7172                        );
7173                return i;
7174            }),
7175            (__webpack_require__.n = function (t) {
7176                var e =
7177                    t && t.__esModule
7178                        ? function () {
7179                              return t.default;
7180                          }
7181                        : function () {
7182                              return t;
7183                          };
7184                return __webpack_require__.d(e, "a", e), e;
7185            }),
7186            (__webpack_require__.o = function (t, e) {
7187                return Object.prototype.hasOwnProperty.call(t, e);
7188            }),
7189            (__webpack_require__.p = ""),
7190            __webpack_require__((__webpack_require__.s = 13))
7191        );
7192        function __webpack_require__(t) {
7193            if (installedModules[t]) return installedModules[t].exports;
7194            var e = (installedModules[t] = { i: t, l: !1, exports: {} });
7195            return modules[t].call(e.exports, e, e.exports, __webpack_require__), (e.l = !0), e.exports;
7196        }
7197        var modules, installedModules;
7198    }),
7199    (function (t) {
7200        "function" == typeof define && define.amd ? define(["jquery"], t) : t("object" == typeof exports ? require("jquery") : window.jQuery || window.Zepto);
7201    })(function (u) {
7202        function t() {}
7203        function h(t, e) {
7204            m.ev.on("mfp" + t + _, e);
7205        }
7206        function d(t, e, i, n) {
7207            var s = document.createElement("div");
7208            return (s.className = "mfp-" + t), i && (s.innerHTML = i), n ? e && e.appendChild(s) : ((s = u(s)), e && s.appendTo(e)), s;
7209        }
7210        function p(t, e) {
7211            m.ev.triggerHandler("mfp" + t, e), m.st.callbacks && ((t = t.charAt(0).toLowerCase() + t.slice(1)), m.st.callbacks[t] && m.st.callbacks[t].apply(m, u.isArray(e) ? e : [e]));
7212        }
7213        function f(t) {
7214            return (t === e && m.currTemplate.closeBtn) || ((m.currTemplate.closeBtn = u(m.st.closeMarkup.replace("%title%", m.st.tClose))), (e = t)), m.currTemplate.closeBtn;
7215        }
7216        function o() {
7217            u.magnificPopup.instance || ((m = new t()).init(), (u.magnificPopup.instance = m));
7218        }
7219        var m,
7220            n,
7221            g,
7222            s,
7223            v,
7224            e,
7225            l = "Close",
7226            c = "BeforeClose",
7227            b = "MarkupParse",
7228            y = "Open",
7229            _ = ".mfp",
7230            k = "mfp-ready",
7231            i = "mfp-removing",
7232            r = "mfp-prevent-close",
7233            a = !!window.jQuery,
7234            w = u(window);
7235        (t.prototype = {
7236            constructor: t,
7237            init: function () {
7238                var t = navigator.appVersion;
7239                (m.isLowIE = m.isIE8 = document.all && !document.addEventListener),
7240                    (m.isAndroid = /android/gi.test(t)),
7241                    (m.isIOS = /iphone|ipad|ipod/gi.test(t)),
7242                    (m.supportsTransition = (function () {
7243                        var t = document.createElement("p").style,
7244                            e = ["ms", "O", "Moz", "Webkit"];
7245                        if (void 0 !== t.transition) return !0;
7246                        for (; e.length; ) if (e.pop() + "Transition" in t) return !0;
7247                        return !1;
7248                    })()),
7249                    (m.probablyMobile = m.isAndroid || m.isIOS || /(Opera Mini)|Kindle|webOS|BlackBerry|(Opera Mobi)|(Windows Phone)|IEMobile/i.test(navigator.userAgent)),
7250                    (g = u(document)),
7251                    (m.popupsCache = {});
7252            },
7253            open: function (t) {
7254                var e;
7255                if (!1 === t.isObj) {
7256                    (m.items = t.items.toArray()), (m.index = 0);
7257                    var i,
7258                        n = t.items;
7259                    for (e = 0; e < n.length; e++)
7260                        if (((i = n[e]).parsed && (i = i.el[0]), i === t.el[0])) {
7261                            m.index = e;
7262                            break;
7263                        }
7264                } else (m.items = u.isArray(t.items) ? t.items : [t.items]), (m.index = t.index || 0);
7265                if (!m.isOpen) {
7266                    (m.types = []),
7267                        (v = ""),
7268                        t.mainEl && t.mainEl.length ? (m.ev = t.mainEl.eq(0)) : (m.ev = g),
7269                        t.key ? (m.popupsCache[t.key] || (m.popupsCache[t.key] = {}), (m.currTemplate = m.popupsCache[t.key])) : (m.currTemplate = {}),
7270                        (m.st = u.extend(!0, {}, u.magnificPopup.defaults, t)),
7271                        (m.fixedContentPos = "auto" === m.st.fixedContentPos ? !m.probablyMobile : m.st.fixedContentPos),
7272                        m.st.modal && ((m.st.closeOnContentClick = !1), (m.st.closeOnBgClick = !1), (m.st.showCloseBtn = !1), (m.st.enableEscapeKey = !1)),
7273                        m.bgOverlay ||
7274                            ((m.bgOverlay = d("bg").on("click" + _, function () {
7275                                m.close();
7276                            })),
7277                            (m.wrap = d("wrap")
7278                                .attr("tabindex", -1)
7279                                .on("click" + _, function (t) {
7280                                    m._checkIfClose(t.target) && m.close();
7281                                })),
7282                            (m.container = d("container", m.wrap))),
7283                        (m.contentContainer = d("content")),
7284                        m.st.preloader && (m.preloader = d("preloader", m.container, m.st.tLoading));
7285                    var s = u.magnificPopup.modules;
7286                    for (e = 0; e < s.length; e++) {
7287                        var o = s[e];
7288                        (o = o.charAt(0).toUpperCase() + o.slice(1)), m["init" + o
7288].call(m);
7289                    }
7290                    p("BeforeOpen"),
7291                        m.st.showCloseBtn &&
7292                            (m.st.closeBtnInside
7293                                ? (h(b, function (t, e, i, n) {
7294                                      i.close_replaceWith = f(n.type);
7295                                  }),
7296                                  (v += " mfp-close-btn-in"))
7297                                : m.wrap.append(f())),
7298                        m.st.alignTop && (v += " mfp-align-top"),
7299                        m.fixedContentPos ? m.wrap.css({ overflow: m.st.overflowY, overflowX: "hidden", overflowY: m.st.overflowY }) : m.wrap.css({ top: w.scrollTop(), position: "absolute" }),
7300                        (!1 !== m.st.fixedBgPos && ("auto" !== m.st.fixedBgPos || m.fixedContentPos)) || m.bgOverlay.css({ height: g.height(), position: "absolute" }),
7301                        m.st.enableEscapeKey &&
7302                            g.on("keyup" + _, function (t) {
7303                                27 === t.keyCode && m.close();
7304                            }),
7305                        w.on("resize" + _, function () {
7306                            m.updateSize();
7307                        }),
7308                        m.st.closeOnContentClick || (v += " mfp-auto-cursor"),
7309                        v && m.wrap.addClass(v);
7310                    var r = (m.wH = w.height()),
7311                        a = {};
7312                    if (m.fixedContentPos && m._hasScrollBar(r)) {
7313                        var l = m._getScrollbarSize();
7314                        l && (a.marginRight = l);
7315                    }
7316                    m.fixedContentPos && (m.isIE7 ? u("body, html").css("overflow", "hidden") : (a.overflow = "hidden"));
7317                    var c = m.st.mainClass;
7318                    return (
7319                        m.isIE7 && (c += " mfp-ie7"),
7320                        c && m._addClassToMFP(c),
7321                        m.updateItemHTML(),
7322                        p("BuildControls"),
7323                        u("html").css(a),
7324                        m.bgOverlay.add(m.wrap).prependTo(m.st.prependTo || u(document.body)),
7325                        (m._lastFocusedEl = document.activeElement),
7326                        setTimeout(function () {
7327                            m.content ? (m._addClassToMFP(k), m._setFocus()) : m.bgOverlay.addClass(k), g.on("focusin" + _, m._onFocusIn);
7328                        }, 16),
7329                        (m.isOpen = !0),
7330                        m.updateSize(r),
7331                        p(y),
7332                        t
7333                    );
7334                }
7335                m.updateItemHTML();
7336            },
7337            close: function () {
7338                m.isOpen &&
7339                    (p(c),
7340                    (m.isOpen = !1),
7341                    m.st.removalDelay && !m.isLowIE && m.supportsTransition
7342                        ? (m._addClassToMFP(i),
7343                          setTimeout(function () {
7344                              m._close();
7345                          }, m.st.removalDelay))
7346                        : m._close());
7347            },
7348            _close: function () {
7349                p(l);
7350                var t = i + " " + k + " ";
7351                if ((m.bgOverlay.detach(), m.wrap.detach(), m.container.empty(), m.st.mainClass && (t += m.st.mainClass + " "), m._removeClassFromMFP(t), m.fixedContentPos)) {
7352                    var e = { marginRight: "" };
7353                    m.isIE7 ? u("body, html").css("overflow", "") : (e.overflow = ""), u("html").css(e);
7354                }
7355                g.off("keyup.mfp focusin" + _),
7356                    m.ev.off(_),
7357                    m.wrap.attr("class", "mfp-wrap").removeAttr("style"),
7358                    m.bgOverlay.attr("class", "mfp-bg"),
7359                    m.container.attr("class", "mfp-container"),
7360                    !m.st.showCloseBtn || (m.st.closeBtnInside && !0 !== m.currTemplate[m.currItem.type]) || (m.currTemplate.closeBtn && m.currTemplate.closeBtn.detach()),
7361                    m.st.autoFocusLast && m._lastFocusedEl && u(m._lastFocusedEl).focus(),
7362                    (m.currItem = null),
7363                    (m.content = null),
7364                    (m.currTemplate = null),
7365                    (m.prevHeight = 0),
7366                    p("AfterClose");
7367            },
7368            updateSize: function (t) {
7369                if (m.isIOS) {
7370                    var e = document.documentElement.clientWidth / window.innerWidth,
7371                        i = window.innerHeight * e;
7372                    m.wrap.css("height", i), (m.wH = i);
7373                } else m.wH = t || w.height();
7374                m.fixedContentPos || m.wrap.css("height", m.wH), p("Resize");
7375            },
7376            updateItemHTML: function () {
7377                var t = m.items[m.index];
7378                m.contentContainer.detach(), m.content && m.content.detach(), t.parsed || (t = m.parseEl(m.index));
7379                var e = t.type;
7380                if ((p("BeforeChange", [m.currItem ? m.currItem.type : "", e]), (m.currItem = t), !m.currTemplate[e])) {
7381                    var i = !!m.st[e] && m.st[e].markup;
7382                    p("FirstMarkupParse", i), (m.currTemplate[e] = !i || u(i));
7383                }
7384                s && s !== t.type && m.container.removeClass("mfp-" + s + "-holder");
7385                var n = m["get" + e.charAt(0).toUpperCase() + e.slice(1)](t, m.currTemplate[e]);
7386                m.appendContent(n, e), (t.preloaded = !0), p("Change", t), (s = t.type), m.container.prepend(m.contentContainer), p("AfterChange");
7387            },
7388            appendContent: function (t, e) {
7389                (m.content = t) ? (m.st.showCloseBtn && m.st.closeBtnInside && !0 === m.currTemplate[e] ? m.content.find(".mfp-close").length || m.content.append(f()) : (m.content = t)) : (m.content = ""),
7390                    p("BeforeAppend"),
7391                    m.container.addClass("mfp-" + e + "-holder"),
7392                    m.contentContainer.append(m.content);
7393            },
7394            parseEl: function (t) {
7395                var e,
7396                    i = m.items[t];
7397                if ((i = i.tagName ? { el: u(i) } : ((e = i.type), { data: i, src: i.src })).el) {
7398                    for (var n = m.types, s = 0; s < n.length; s++)
7399                        if (i.el.hasClass("mfp-" + n[s])) {
7400                            e = n[s];
7401                            break;
7402                        }
7403                    (i.src = i.el.attr("data-mfp-src")), i.src || (i.src = i.el.attr("href"));
7404                }
7405                return (i.type = e || m.st.type || "inline"), (i.index = t), (i.parsed = !0), (m.items[t] = i), p("ElementParse", i), m.items[t];
7406            },
7407            addGroup: function (e, i) {
7408                function t(t) {
7409                    (t.mfpEl = this), m._openClick(t, e, i);
7410                }
7411                var n = "click.magnificPopup";
7412                ((i = i || {}).mainEl = e), i.items ? ((i.isObj = !0), e.off(n).on(n, t)) : ((i.isObj = !1), i.delegate ? e.off(n).on(n, i.delegate, t) : (i.items = e).off(n).on(n, t));
7413            },
7414            _openClick: function (t, e, i) {
7415                if ((void 0 !== i.midClick ? i.midClick : u.magnificPopup.defaults.midClick) || !(2 === t.which || t.ctrlKey || t.metaKey || t.altKey || t.shiftKey)) {
7416                    var n = void 0 !== i.disableOn ? i.disableOn : u.magnificPopup.defaults.disableOn;
7417                    if (n)
7418                        if (u.isFunction(n)) {
7419                            if (!n.call(m)) return !0;
7420                        } else if (w.width() < n) return !0;
7421                    t.type && (t.preventDefault(), m.isOpen && t.stopPropagation()), (i.el = u(t.mfpEl)), i.delegate && (i.items = e.find(i.delegate)), m.open(i);
7422                }
7423            },
7424            updateStatus: function (t, e) {
7425                if (m.preloader) {
7426                    n !== t && m.container.removeClass("mfp-s-" + n), e || "loading" !== t || (e = m.st.tLoading);
7427                    var i = { status: t, text: e };
7428                    p("UpdateStatus", i),
7429                        (t = i.status),
7430                        (e = i.text),
7431                        m.preloader.html(e),
7432                        m.preloader.find("a").on("click", function (t) {
7433                            t.stopImmediatePropagation();
7434                        }),
7435                        m.container.addClass("mfp-s-" + t),
7436                        (n = t);
7437                }
7438            },
7439            _checkIfClose: function (t) {
7440                if (!u(t).hasClass(r)) {
7441                    var e = m.st.closeOnContentClick,
7442                        i = m.st.closeOnBgClick;
7443                    if (e && i) return !0;
7444                    if (!m.content || u(t).hasClass("mfp-close") || (m.preloader && t === m.preloader[0])) return !0;
7445                    if (t === m.content[0] || u.contains(m.content[0], t)) {
7446                        if (e) return !0;
7447                    } else if (i && u.contains(document, t)) return !0;
7448                    return !1;
7449                }
7450            },
7451            _addClassToMFP: function (t) {
7452                m.bgOverlay.addClass(t), m.wrap.addClass(t);
7453            },
7454            _removeClassFromMFP: function (t) {
7455                this.bgOverlay.removeClass(t), m.wrap.removeClass(t);
7456            },
7457            _hasScrollBar: function (t) {
7458                return (m.isIE7 ? g.height() : document.body.scrollHeight) > (t || w.height());
7459            },
7460            _setFocus: function () {
7461                (m.st.focus ? m.content.find(m.st.focus).eq(0) : m.wrap).focus();
7462            },
7463            _onFocusIn: function (t) {
7464                return t.target === m.wrap[0] || u.contains(m.wrap[0], t.target) ? void 0 : (m._setFocus(), !1);
7465            },
7466            _parseMarkup: function (s, t, e) {
7467                var o;
7468                e.data && (t = u.extend(e.data, t)),
7469                    p(b, [s, t, e]),
7470                    u.each(t, function (t, e) {
7471                        if (void 0 === e || !1 === e) return !0;
7472                        if (1 < (o = t.split("_")).length) {
7473                            var i = s.find(_ + "-" + o[0]);
7474                            if (0 < i.length) {
7475                                var n = o[1];
7476                                "replaceWith" === n ? i[0] !== e[0] && i.replaceWith(e) : "img" === n ? (i.is("img") ? i.attr("src", e) : i.replaceWith(u("<img>").attr("src", e).attr("class", i.attr("class")))) : i.attr(o[1], e);
7477                            }
7478                        } else s.find(_ + "-" + t).html(e);
7479                    });
7480            },
7481            _getScrollbarSize: function () {
7482                if (void 0 === m.scrollbarSize) {
7483                    var t = document.createElement("div");
7484                    (t.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;"), document.body.appendChild(t), (m.scrollbarSize = t.offsetWidth - t.clientWidth), document.body.removeChild(t);
7485                }
7486                return m.scrollbarSize;
7487            },
7488        }),
7489            (u.magnificPopup = {
7490                instance: null,
7491                proto: t.prototype,
7492                modules: [],
7493                open: function (t, e) {
7494                    return o(), ((t = t ? u.extend(!0, {}, t) : {}).isObj = !0), (t.index = e || 0), this.instance.open(t);
7495                },
7496                close: function () {
7497                    return u.magnificPopup.instance && u.magnificPopup.instance.close();
7498                },
7499                registerModule: function (t, e) {
7500                    e.options && (u.magnificPopup.defaults[t] = e.options), u.extend(this.proto, e.proto), this.modules.push(t);
7501                },
7502                defaults: {
7503                    disableOn: 0,
7504                    key: null,
7505                    midClick: !1,
7506                    mainClass: "",
7507                    preloader: !0,
7508                    focus: "",
7509                    closeOnContentClick: !1,
7510                    closeOnBgClick: !0,
7511                    closeBtnInside: !0,
7512                    showCloseBtn: !0,
7513                    enableEscapeKey: !0,
7514                    modal: !1,
7515                    alignTop: !1,
7516                    removalDelay: 0,
7517                    prependTo: null,
7518                    fixedContentPos: "auto",
7519                    fixedBgPos: "auto",
7520                    overflowY: "auto",
7521                    closeMarkup: '<button title="%title%" type="button" class="mfp-close">&#215;</button>',
7522                    tClose: "Close (Esc)",
7523                    tLoading: "Loading...",
7524                    autoFocusLast: !0,
7525                },
7526            }),
7527            (u.fn.magnificPopup = function (t) {
7528                o();
7529                var e = u(this);
7530                if ("string" == typeof t)
7531                    if ("open" === t) {
7532                        var i,
7533                            n = a ? e.data("magnificPopup") : e[0].magnificPopup,
7534                            s = parseInt(arguments[1], 10) || 0;
7535                        (i = n.items ? n.items[s] : ((i = e), n.delegate && (i = i.find(n.delegate)), i.eq(s))), m._openClick({ mfpEl: i }, e, n);
7536                    } else m.isOpen && m[t].apply(m, Array.prototype.slice.call(arguments, 1));
7537                else (t = u.extend(!0, {}, t)), a ? e.data("magnificPopup", t) : (e[0].magnificPopup = t), m.addGroup(e, t);
7538                return e;
7539            });
7540        function x() {
7541            S && (T.after(S.addClass(C)).detach(), (S = null));
7542        }
7543        var C,
7544            T,
7545            S,
7546            D = "inline";
7547        u.magnificPopup.registerModule(D, {
7548            options: { hiddenClass: "hide", markup: "", tNotFound: "Content not found" },
7549            proto: {
7550                initInline: function () {
7551                    m.types.push(D),
7552                        h(l + "." + D, function () {
7553                            x();
7554                        });
7555                },
7556                getInline: function (t, e) {
7557                    if ((x(), t.src)) {
7558                        var i = m.st.inline,
7559                            n = u(t.src);
7560                        if (n.length) {
7561                            var s = n[0].parentNode;
7562                            s && s.tagName && (T || ((C = i.hiddenClass), (T = d(C)), (C = "mfp-" + C)), (S = n.after(T).detach().removeClass(C))), m.updateStatus("ready");
7563                        } else m.updateStatus("error", i.tNotFound), (n = u("<div>"));
7564                        return (t.inlineElement = n);
7565                    }
7566                    return m.updateStatus("ready"), m._parseMarkup(e, {}, t), e;
7567                },
7568            },
7569        });
7570        function P() {
7571            A && u(document.body).removeClass(A);
7572        }
7573        function I() {
7574            P(), m.req && m.req.abort();
7575        }
7576        var A,
7577            M = "ajax";
7578        u.magnificPopup.registerModule(M, {
7579            options: { settings: null, cursor: "mfp-ajax-cur", tError: '<a href="%url%">The content</a> could not be loaded.' },
7580            proto: {
7581                initAjax: function () {
7582                    m.types.push(M), (A = m.st.ajax.cursor), h(l + "." + M, I), h("BeforeChange." + M, I);
7583                },
7584                getAjax: function (s) {
7585                    A && u(document.body).addClass(A), m.updateStatus("loading");
7586                    var t = u.extend(
7587                        {
7588                            url: s.src,
7589                            success: function (t, e, i) {
7590                                var n = { data: t, xhr: i };
7591                                p("ParseAjax", n),
7592                                    m.appendContent(u(n.data), M),
7593                                    (s.finished = !0),
7594                                    P(),
7595                                    m._setFocus(),
7596                                    setTimeout(function () {
7597                                        m.wrap.addClass(k);
7598                                    }, 16),
7599                                    m.updateStatus("ready"),
7600                                    p("AjaxContentAdded");
7601                            },
7602                            error: function () {
7603                                P(), (s.finished = s.loadError = !0), m.updateStatus("error", m.st.ajax.tError.replace("%url%", s.src));
7604                            },
7605                        },
7606                        m.st.ajax.settings
7607                    );
7608                    return (m.req = u.ajax(t)), "";
7609                },
7610            },
7611        });
7612        var E;
7613        u.magnificPopup.registerModule("image", {
7614            options: {
7615                markup:
7616                    '<div class="mfp-figure"><div class="mfp-close"></div><figure><div class="mfp-img"></div><figcaption><div class="mfp-bottom-bar"><div class="mfp-title"></div><div class="mfp-counter"></div></div></figcaption></figure></div>',
7617                cursor: "mfp-zoom-out-cur",
7618                titleSrc: "title",
7619                verticalFit: !0,
7620                tError: '<a href="%url%">The image</a> could not be loaded.',
7621            },
7622            proto: {
7623                initImage: function () {
7624                    var t = m.st.image,
7625                        e = ".image";
7626                    m.types.push("image"),
7627                        h(y + e, function () {
7628                            "image" === m.currItem.type && t.cursor && u(document.body).addClass(t.cursor);
7629                        }),
7630                        h(l + e, function () {
7631                            t.cursor && u(document.body).removeClass(t.cursor), w.off("resize" + _);
7632                        }),
7633                        h("Resize" + e, m.resizeImage),
7634                        m.isLowIE && h("AfterChange", m.resizeImage);
7635                },
7636                resizeImage: function () {
7637                    var t = m.currItem;
7638                    if (t && t.img && m.st.image.verticalFit) {
7639                        var e = 0;
7640                        m.isLowIE && (e = parseInt(t.img.css("padding-top"), 10) + parseInt(t.img.css("padding-bottom"), 10)), t.img.css("max-height", m.wH - e);
7641                    }
7642                },
7643                _onImageHasSize: function (t) {
7644                    t.img && ((t.hasSize = !0), E && clearInterval(E), (t.isCheckingImgSize = !1), p("ImageHasSize", t), t.imgHidden && (m.content && m.content.removeClass("mfp-loading"), (t.imgHidden = !1)));
7645                },
7646                findImageSize: function (e) {
7647                    var i = 0,
7648                        n = e.img[0],
7649                        s = function (t) {
7650                            E && clearInterval(E),
7651                                (E = setInterval(function () {
7652                                    return 0 < n.naturalWidth ? void m._onImageHasSize(e) : (200 < i && clearInterval(E), void (3 === ++i ? s(10) : 40 === i ? s(50) : 100 === i && s(500)));
7653                                }, t));
7654                        };
7655                    s(1);
7656                },
7657                getImage: function (t, e) {
7658                    var i = 0,
7659                        n = function () {
7660                            t &&
7661                                (t.img[0].complete
7662                                    ? (t.img.off(".mfploader"), t === m.currItem && (m._onImageHasSize(t), m.updateStatus("ready")), (t.hasSize = !0), (t.loaded = !0), p("ImageLoadComplete"))
7663                                    : ++i < 200
7664                                    ? setTimeout(n, 100)
7665                                    : s());
7666                        },
7667                        s = function () {
7668                            t && (t.img.off(".mfploader"), t === m.currItem && (m._onImageHasSize(t), m.updateStatus("error", o.tError.replace("%url%", t.src))), (t.hasSize = !0), (t.loaded = !0), (t.loadError = !0));
7669                        },
7670                        o = m.st.image,
7671                        r = e.find(".mfp-img");
7672                    if (r.length) {
7673                        var a = document.createElement("img");
7674                        (a.className = "mfp-img"),
7675                            t.el && t.el.find("img").length && (a.alt = t.el.find("img").attr("alt")),
7676                            (t.img = u(a).on("load.mfploader", n).on("error.mfploader", s)),
7677                            (a.src = t.src),
7678                            r.is("img") && (t.img = t.img.clone()),
7679                            0 < (a = t.img[0]).naturalWidth ? (t.hasSize = !0) : a.width || (t.hasSize = !1);
7680                    }
7681                    return (
7682                        m._parseMarkup(
7683                            e,
7684                            {
7685                                title: (function (t) {
7686                                    if (t.data && void 0 !== t.data.title) return t.data.title;
7687                                    var e = m.st.image.titleSrc;
7688                                    if (e) {
7689                                        if (u.isFunction(e)) return e.call(m, t);
7690                                        if (t.el) return t.el.attr(e) || "";
7691                                    }
7692                                    return "";
7693                                })(t),
7694                                img_replaceWith: t.img,
7695                            },
7696                            t
7697                        ),
7698                        m.resizeImage(),
7699                        t.hasSize
7700                            ? (E && clearInterval(E), t.loadError ? (e.addClass("mfp-loading"), m.updateStatus("error", o.tError.replace("%url%", t.src))) : (e.removeClass("mfp-loading"), m.updateStatus("ready")))
7701                            : (m.updateStatus("loading"), (t.loading = !0), t.hasSize || ((t.imgHidden = !0), e.addClass("mfp-loading"), m.findImageSize(t))),
7702                        e
7703                    );
7704                },
7705            },
7706        });
7707        var O;
7708        u.magnificPopup.registerModule("zoom", {
7709            options: {
7710                enabled: !1,
7711                easing: "ease-in-out",
7712                duration: 300,
7713                opener: function (t) {
7714                    return t.is("img") ? t : t.find("img");
7715                },
7716            },
7717            proto: {
7718                initZoom: function () {
7719                    var t,
7720                        o = m.st.zoom,
7721                        e = ".zoom";
7722                    if (o.enabled && m.supportsTransition) {
7723                        function i(t) {
7724                            var e = t.clone().removeAttr("style").removeAttr("class").addClass("mfp-animated-image"),
7725                                i = "all " + o.duration / 1e3 + "s " + o.easing,
7726                                n = { position: "fixed", zIndex: 9999, left: 0, top: 0, "-webkit-backface-visibility": "hidden" },
7727                                s = "transition";
7728                            return (n["-webkit-" + s] = n["-moz-" + s] = n["-o-" + s] = n[s] = i), e.css(n), e;
7729                        }
7730                        function n() {
7731                            m.content.css("visibility", "visible");
7732                        }
7733                        var s,
7734                            r,
7735                            a = o.duration;
7736                        h("BuildControls" + e, function () {
7737                            if (m._allowZoom()) {
7738                                if ((clearTimeout(s), m.content.css("visibility", "hidden"), !(t = m._getItemToZoom()))) return void n();
7739                                (r = i(t)).css(m._getOffset()),
7740                                    m.wrap.append(r),
7741                                    (s = setTimeout(function () {
7742                                        r.css(m._getOffset(!0)),
7743                                            (s = setTimeout(function () {
7744                                                n(),
7745                                                    setTimeout(function () {
7746                                                        r.remove(), (t = r = null), p("ZoomAnimationEnded");
7747                                                    }, 16);
7748                                            }, a));
7749                                    }, 16));
7750                            }
7751                        }),
7752                            h(c + e, function () {
7753                                if (m._allowZoom()) {
7754                                    if ((clearTimeout(s), (m.st.removalDelay = a), !t)) {
7755                                        if (!(t = m._getItemToZoom())) return;
7756                                        r = i(t);
7757                                    }
7758                                    r.css(m._getOffset(!0)),
7759                                        m.wrap.append(r),
7760                                        m.content.css("visibility", "hidden"),
7761                                        setTimeout(function () {
7762                                            r.css(m._getOffset());
7763                                        }, 16);
7764                                }
7765                            }),
7766                            h(l + e, function () {
7767                                m._allowZoom() && (n(), r && r.remove(), (t = null));
7768                            });
7769                    }
7770                },
7771                _allowZoom: function () {
7772                    return "image" === m.currItem.type;
7773                },
7774                _getItemToZoom: function () {
7775                    return !!m.currItem.hasSize && m.currItem.img;
7776                },
7777                _getOffset: function (t) {
7778                    var e,
7779                        i = (e = t ? m.currItem.img : m.st.zoom.opener(m.currItem.el || m.currItem)).offset(),
7780                        n = parseInt(e.css("padding-top"), 10),
7781                        s = parseInt(e.css("padding-bottom"), 10);
7782                    i.top -= u(window).scrollTop() - n;
7783                    var o = { width: e.width(), height: (a ? e.innerHe
7783ight() : e[0].offsetHeight) - s - n };
7784                    return void 0 === O && (O = void 0 !== document.createElement("p").style.MozTransform), O ? (o["-moz-transform"] = o.transform = "translate(" + i.left + "px," + i.top + "px)") : ((o.left = i.left), (o.top = i.top)), o;
7785                },
7786            },
7787        });
7788        function H(t) {
7789            if (m.currTemplate[N]) {
7790                var e = m.currTemplate[N].find("iframe");
7791                e.length && (t || (e[0].src = "//about:blank"), m.isIE8 && e.css("display", t ? "block" : "none"));
7792            }
7793        }
7794        var N = "iframe";
7795        u.magnificPopup.registerModule(N, {
7796            options: {
7797                markup: '<div class="mfp-iframe-scaler"><div class="mfp-close"></div><iframe class="mfp-iframe" src="//about:blank" frameborder="0" allowfullscreen></iframe></div>',
7798                srcAction: "iframe_src",
7799                patterns: {
7800                    youtube: { index: "youtube.com", id: "v=", src: "//www.youtube.com/embed/%id%?autoplay=1" },
7801                    vimeo: { index: "vimeo.com/", id: "/", src: "//player.vimeo.com/video/%id%?autoplay=1" },
7802                    gmaps: { index: "//maps.google.", src: "%id%&output=embed" },
7803                },
7804            },
7805            proto: {
7806                initIframe: function () {
7807                    m.types.push(N),
7808                        h("BeforeChange", function (t, e, i) {
7809                            e !== i && (e === N ? H() : i === N && H(!0));
7810                        }),
7811                        h(l + "." + N, function () {
7812                            H();
7813                        });
7814                },
7815                getIframe: function (t, e) {
7816                    var i = t.src,
7817                        n = m.st.iframe;
7818                    u.each(n.patterns, function () {
7819                        return -1 < i.indexOf(this.index) ? (this.id && (i = "string" == typeof this.id ? i.substr(i.lastIndexOf(this.id) + this.id.length, i.length) : this.id.call(this, i)), (i = this.src.replace("%id%", i)), !1) : void 0;
7820                    });
7821                    var s = {};
7822                    return n.srcAction && (s[n.srcAction] = i), m._parseMarkup(e, s, t), m.updateStatus("ready"), e;
7823                },
7824            },
7825        });
7826        function z(t) {
7827            var e = m.items.length;
7828            return e - 1 < t ? t - e : t < 0 ? e + t : t;
7829        }
7830        function L(t, e, i) {
7831            return t.replace(/%curr%/gi, e + 1).replace(/%total%/gi, i);
7832        }
7833        u.magnificPopup.registerModule("gallery", {
7834            options: {
7835                enabled: !1,
7836                arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',
7837                preload: [0, 2],
7838                navigateByImgClick: !0,
7839                arrows: !0,
7840                tPrev: "Previous (Left arrow key)",
7841                tNext: "Next (Right arrow key)",
7842                tCounter: "%curr% of %total%",
7843            },
7844            proto: {
7845                initGallery: function () {
7846                    var o = m.st.gallery,
7847                        t = ".mfp-gallery";
7848                    return (
7849                        (m.direction = !0),
7850                        !(!o || !o.enabled) &&
7851                            ((v += " mfp-gallery"),
7852                            h(y + t, function () {
7853                                o.navigateByImgClick &&
7854                                    m.wrap.on("click" + t, ".mfp-img", function () {
7855                                        return 1 < m.items.length ? (m.next(), !1) : void 0;
7856                                    }),
7857                                    g.on("keydown" + t, function (t) {
7858                                        37 === t.keyCode ? m.prev() : 39 === t.keyCode && m.next();
7859                                    });
7860                            }),
7861                            h("UpdateStatus" + t, function (t, e) {
7862                                e.text && (e.text = L(e.text, m.currItem.index, m.items.length));
7863                            }),
7864                            h(b + t, function (t, e, i, n) {
7865                                var s = m.items.length;
7866                                i.counter = 1 < s ? L(o.tCounter, n.index, s) : "";
7867                            }),
7868                            h("BuildControls" + t, function () {
7869                                if (1 < m.items.length && o.arrows && !m.arrowLeft) {
7870                                    var t = o.arrowMarkup,
7871                                        e = (m.arrowLeft = u(t.replace(/%title%/gi, o.tPrev).replace(/%dir%/gi, "left")).addClass(r)),
7872                                        i = (m.arrowRight = u(t.replace(/%title%/gi, o.tNext).replace(/%dir%/gi, "right")).addClass(r));
7873                                    e.click(function () {
7874                                        m.prev();
7875                                    }),
7876                                        i.click(function () {
7877                                            m.next();
7878                                        }),
7879                                        m.container.append(e.add(i));
7880                                }
7881                            }),
7882                            h("Change" + t, function () {
7883                                m._preloadTimeout && clearTimeout(m._preloadTimeout),
7884                                    (m._preloadTimeout = setTimeout(function () {
7885                                        m.preloadNearbyImages(), (m._preloadTimeout = null);
7886                                    }, 16));
7887                            }),
7888                            void h(l + t, function () {
7889                                g.off(t), m.wrap.off("click" + t), (m.arrowRight = m.arrowLeft = null);
7890                            }))
7891                    );
7892                },
7893                next: function () {
7894                    (m.direction = !0), (m.index = z(m.index + 1)), m.updateItemHTML();
7895                },
7896                prev: function () {
7897                    (m.direction = !1), (m.index = z(m.index - 1)), m.updateItemHTML();
7898                },
7899                goTo: function (t) {
7900                    (m.direction = t >= m.index), (m.index = t), m.updateItemHTML();
7901                },
7902                preloadNearbyImages: function () {
7903                    var t,
7904                        e = m.st.gallery.preload,
7905                        i = Math.min(e[0], m.items.length),
7906                        n = Math.min(e[1], m.items.length);
7907                    for (t = 1; t <= (m.direction ? n : i); t++) m._preloadItem(m.index + t);
7908                    for (t = 1; t <= (m.direction ? i : n); t++) m._preloadItem(m.index - t);
7909                },
7910                _preloadItem: function (t) {
7911                    if (((t = z(t)), !m.items[t].preloaded)) {
7912                        var e = m.items[t];
7913                        e.parsed || (e = m.parseEl(t)),
7914                            p("LazyLoad", e),
7915                            "image" === e.type &&
7916                                (e.img = u('<img class="mfp-img" />')
7917                                    .on("load.mfploader", function () {
7918                                        e.hasSize = !0;
7919                                    })
7920                                    .on("error.mfploader", function () {
7921                                        (e.hasSize = !0), (e.loadError = !0), p("LazyLoadError", e);
7922                                    })
7923                                    .attr("src", e.src)),
7924                            (e.preloaded = !0);
7925                    }
7926                },
7927            },
7928        });
7929        var j = "retina";
7930        u.magnificPopup.registerModule(j, {
7931            options: {
7932                replaceSrc: function (t) {
7933                    return t.src.replace(/\.\w+$/, function (t) {
7934                        return "@2x" + t;
7935                    });
7936                },
7937                ratio: 1,
7938            },
7939            proto: {
7940                initRetina: function () {
7941                    if (1 < window.devicePixelRatio) {
7942                        var i = m.st.retina,
7943                            n = i.ratio;
7944                        1 < (n = isNaN(n) ? n() : n) &&
7945                            (h("ImageHasSize." + j, function (t, e) {
7946                                e.img.css({ "max-width": e.img[0].naturalWi
7946dth / n, width: "100%" });
7947                            }),
7948                            h("ElementParse." + j, function (t, e) {
7949                                e.src = i.replaceSrc(e, n);
7950                            }));
7951                    }
7952                },
7953            },
7954        }),
7955            o();
7956    }),
7957    (function (t) {
7958        "use strict";
7959        "function" == typeof define && define.amd ? define(["jquery"], t) : "undefined" != typeof exports ? (module.exports = t(require("jquery"))) : t(jQuery);
7960    })(function (c) {
7961        "use strict";
7962        var s,
7963            o = window.Slick || {};
7964        (s = 0),
7965            ((o = function (t, e) {
7966                var i,
7967                    n = this;
7968                (n.defaults = {
7969                    accessibility: !0,
7970                    adaptiveHeight: !1,
7971                    appendArrows: c(t),
7972                    appendDots: c(t),
7973                    arrows: !0,
7974                    asNavFor: null,
7975                    prevArrow: '<button class="slick-prev" aria-label="Previous" type="button">Previous</button>',
7976                    nextArrow: '<button class="slick-next" aria-label="Next" type="button">Next</button>',
7977                    autoplay: !1,
7978                    autoplaySpeed: 3e3,
7979                    centerMode: !1,
7980                    centerPadding: "50px",
7981                    cssEase: "ease",
7982                    customPaging: function (t, e) {
7983                        return c('<button type="button" />').text(e + 1);
7984                    },
7985                    dots: !1,
7986                    dotsClass: "slick-dots",
7987                    draggable: !0,
7988                    easing: "linear",
7989                    edgeFriction: 0.35,
7990                    fade: !1,
7991                    focusOnSelect: !1,
7992                    focusOnChange: !1,
7993                    infinite: !0,
7994                    initialSlide: 0,
7995                    lazyLoad: "ondemand",
7996                    mobileFirst: !1,
7997                    pauseOnHover: !0,
7998                    pauseOnFocus: !0,
7999                    pauseOnDotsHover: !1,
8000                    respondTo: "window",
8001                    responsive: null,
8002                    rows: 1,
8003                    rtl: !1,
8004                    slide: "",
8005                    slidesPerRow: 1,
8006                    slidesToShow: 1,
8007                    slidesToScroll: 1,
8008                    speed: 500,
8009                    swipe: !0,
8010                    swipeToSlide: !1,
8011                    touchMove: !0,
8012                    touchThreshold: 5,
8013                    useCSS: !0,
8014                    useTransform: !0,
8015                    variableWidth: !1,
8016                    vertical: !1,
8017                    verticalSwiping: !1,
8018                    waitForAnimate: !0,
8019                    zIndex: 1e3,
8020                }),
8021                    (n.initials = {
8022                        animating: !1,
8023                        dragging: !1,
8024                        autoPlayTimer: null,
8025                        currentDirection: 0,
8026                        currentLeft: null,
8027                        currentSlide: 0,
8028                        direction: 1,
8029                        $dots: null,
8030                        listWidth: null,
8031                        listHeight: null,
8032                        loadIndex: 0,
8033                        $nextArrow: null,
8034                        $prevArrow: null,
8035                        scrolling: !1,
8036                        slideCount: null,
8037                        slideWidth: null,
8038                        $slideTrack: null,
8039                        $slides: null,
8040                        sliding: !1,
8041                        slideOffset: 0,
8042                        swipeLeft: null,
8043                        swiping: !1,
8044                        $list: null,
8045                        touchObject: {},
8046                        transformsEnabled: !1,
8047                        unslicked: !1,
8048                    }),
8049                    c.extend(n, n.initials),
8050                    (n.activeBreakpoint = null),
8051                    (n.animType = null),
8052                    (n.animProp = null),
8053                    (n.breakpoints = []),
8054                    (n.breakpointSettings = []),
8055                    (n.cssTransitions = !1),
8056                    (n.focussed = !1),
8057                    (n.interrupted = !1),
8058                    (n.hidden = "hidden"),
8059                    (n.paused = !0),
8060                    (n.positionProp = null),
8061                    (n.respondTo = null),
8062                    (n.rowCount = 1),
8063                    (n.shouldClick = !0),
8064                    (n.$slider = c(t)),
8065                    (n.$slidesCache = null),
8066                    (n.transformType = null),
8067                    (n.transitionType = null),
8068                    (n.visibilityChange = "visibilitychange"),
8069                    (n.windowWidth = 0),
8070                    (n.windowTimer = null),
8071                    (i = c(t).data("slick") || {}),
8072                    (n.options = c.extend({}, n.defaults, e, i)),
8073                    (n.currentSlide = n.options.initialSlide),
8074                    (n.originalSettings = n.options),
8075                    void 0 !== document.mozHidden
8076                        ? ((n.hidden = "mozHidden"), (n.visibilityChange = "mozvisibilitychange"))
8077                        : void 0 !== document.webkitHidden && ((n.hidden = "webkitHidden"), (n.visibilityChange = "webkitvisibilitychange")),
8078                    (n.autoPlay = c.proxy(n.autoPlay, n)),
8079                    (n.autoPlayClear = c.proxy(n.autoPlayClear, n)),
8080                    (n.autoPlayIterator = c.proxy(n.autoPlayIterator, n)),
8081                    (n.changeSlide = c.proxy(n.changeSlide, n)),
8082                    (n.clickHandler = c.proxy(n.clickHandler, n)),
8083                    (n.selectHandler = c.proxy(n.selectHandler, n)),
8084                    (n.setPosition = c.proxy(n.setPosition, n)),
8085                    (n.swipeHandler = c.proxy(n.swipeHandler, n)),
8086                    (n.dragHandler = c.proxy(n.dragHandler, n)),
8087                    (n.keyHandler = c.proxy(n.keyHandler, n)),
8088                    (n.instanceUid = s++),
8089                    (n.htmlExpr = /^(?:\s*(<[\w\W]+>)[^>]*)$/),
8090                    n.registerBreakpoints(),
8091                    n.init(!0);
8092            }).prototype.activateADA = function () {
8093                this.$slideTrack.find(".slick-active").attr({ "aria-hidden": "false" }).find("a, input, button, select").attr({ tabindex: "0" });
8094            }),
8095            (o.prototype.addSlide = o.prototype.slickAdd = function (t, e, i) {
8096                var n = this;
8097                if ("boolean" == typeof e) (i = e), (e = null);
8098                else if (e < 0 || e >= n.slideCount) return !1;
8099                n.unload(),
8100                    "number" == typeof e
8101                        ? 0 === e && 0 === n.$slides.length
8102                            ? c(t).appendTo(n.$slideTrack)
8103                            : i
8104                            ? c(t).insertBefore(n.$slides.eq(e))
8105                            : c(t).insertAfter(n.$slides.eq(e))
8106                        : !0 === i
8107                        ? c(t).prependTo(n.$slideTrack)
8108                        : c(t).appendTo(n.$slideTrack),
8109                    (n.$slides = n.$slideTrack.children(this.options.slide)),
8110                    n.$slideTrack.children(this.options.slide).detach(),
8111                    n.$slideTrack.append(n.$slides),
8112                    n.$slides.each(function (t, e) {
8113                        c(e).attr("data-slick-index", t);
8114                    }),
8115                    (n.$slidesCache = n.$slides),
8116                    n.reinit();
8117            }),
8118            (o.prototype.animateHeight = function () {
8119                var t = this;
8120                if (1 === t.options.slidesToShow && !0 === t.options.adaptiveHeight && !1 === t.options.vertical) {
8121                    var e = t.$slides.eq(t.currentSlide).outerHeight(!0);
8122                    t.$list.animate({ height: e }, t.options.speed);
8123                }
8124            }),
8125            (o.prototype.animateSlide = function (t, e) {
8126                var i = {},
8127                    n = this;
8128                n.animateHeight(),
8129                    !0 === n.options.rtl && !1 === n.options.vertical && (t = -t),
8130                    !1 === n.transformsEnabled
8131                        ? !1 === n.options.vertical
8132                            ? n.$slideTrack.animate({ left: t }, n.options.speed, n.options.easing, e)
8133                            : n.$slideTrack.animate({ top: t }, n.options.speed, n.options.easing, e)
8134                        : !1 === n.cssTransitions
8135                        ? (!0 === n.options.rtl && (n.currentLeft = -n.currentLeft),
8136                          c({ animStart: n.currentLeft }).animate(
8137                              { animStart: t },
8138                              {
8139                                  duration: n.options.speed,
8140                                  easing: n.options.easing,
8141                                  step: function (t) {
8142                                      (t = Math.ceil(t)), !1 === n.options.vertical ? (i[n.animType] = "translate(" + t + "px, 0px)") : (i[n.animType] = "translate(0px," + t + "px)"), n.$slideTrack.css(i);
8143                                  },
8144                                  complete: function () {
8145                                      e && e.call();
8146                                  },
8147                              }
8148                          ))
8149                        : (n.applyTransition(),
8150                          (t = Math.ceil(t)),
8151                          !1 === n.options.vertical ? (i[n.animType] = "translate3d(" + t + "px, 0px, 0px)") : (i[n.animType] = "translate3d(0px," + t + "px, 0px)"),
8152                          n.$slideTrack.css(i),
8153                          e &&
8154                              setTimeout(function () {
8155                                  n.disableTransition(), e.call();
8156                              }, n.options.speed));
8157            }),
8158            (o.prototype.getNavTarget = function () {
8159                var t = this.options.asNavFor;
8160                return t && null !== t && (t = c(t).not(this.$slider)), t;
8161            }),
8162            (o.prototype.asNavFor = function (e) {
8163                var t = this.getNavTarget();
8164                null !== t &&
8165                    "object" == typeof t &&
8166                    t.each(function () {
8167                        var t = c(this).slick("getSlick");
8168                        t.unslicked || t.slideHandler(e, !0);
8169                    });
8170            }),
8171            (o.prototype.applyTransition = function (t) {
8172                var e = this,
8173                    i = {};
8174                !1 === e.options.fade ? (i[e.transitionType] = e.transformType + " " + e.options.speed + "ms " + e.options.cssEase) : (i[e.transitionType] = "opacity " + e.options.speed + "ms " + e.options.cssEase),
8175                    !1 === e.options.fade ? e.$slideTrack.css(i) : e.$slides.eq(t).css(i);
8176            }),
8177            (o.prototype.autoPlay = function () {
8178                var t = this;
8179                t.autoPlayClear(), t.slideCount > t.options.slidesToShow && (t.autoPlayTimer = setInterval(t.autoPlayIterator, t.options.autoplaySpeed));
8180            }),
8181            (o.prototype.autoPlayClear = function () {
8182                this.autoPlayTimer && clearInterval(this.autoPlayTimer);
8183            }),
8184            (o.prototype.autoPlayIterator = function () {
8185                var t = this,
8186                    e = t.currentSlide + t.options.slidesToScroll;
8187                t.paused ||
8188                    t.interrupted ||
8189                    t.focussed ||
8190                    (!1 === t.options.infinite &&
8191                        (1 === t.direction && t.currentSlide + 1 === t.slideCount - 1 ? (t.direction = 0) : 0 === t.direction && ((e = t.currentSlide - t.options.slidesToScroll), t.currentSlide - 1 == 0 && (t.direction = 1))),
8192                    t.slideHandler(e));
8193            }),
8194            (o.prototype.buildArrows = function () {
8195                var t = this;
8196                !0 === t.options.arrows &&
8197                    ((t.$prevArrow = c(t.options.prevArrow).addClass("slick-arrow")),
8198                    (t.$nextArrow = c(t.options.nextArrow).addClass("slick-arrow")),
8199                    t.slideCount > t.options.slidesToShow
8200                        ? (t.$prevArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),
8201                          t.$nextArrow.removeClass("slick-hidden").removeAttr("aria-hidden tabindex"),
8202                          t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.prependTo(t.options.appendArrows),
8203                          t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.appendTo(t.options.appendArrows),
8204                          !0 !== t.options.infinite && t.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"))
8205                        : t.$prevArrow.add(t.$nextArrow).addClass("slick-hidden").attr({ "aria-disabled": "true", tabindex: "-1" }));
8206            }),
8207            (o.prototype.buildDots = function () {
8208                var t,
8209                    e,
8210                    i = this;
8211                if (!0 === i.options.dots) {
8212                    for (i.$slider.addClass("slick-dotted"), e = c("<ul />").addClass(i.options.dotsClass), t = 0; t <= i.getDotCount(); t += 1) e.append(c("<li />").append(i.options.customPaging.call(this, i, t)));
8213                    (i.$dots = e.appendTo(i.options.appendDots)), i.$dots.find("li").first().addClass("slick-active");
8214                }
8215            }),
8216            (o.prototype.buildOut = function () {
8217                var t = this;
8218                (t.$slides = t.$slider.children(t.options.slide + ":not(.slick-cloned)").addClass("slick-slide")),
8219                    (t.slideCount = t.$slides.length),
8220                    t.$slides.each(function (t, e) {
8221                        c(e)
8222                            .attr("data-slick-index", t)
8223                            .data("originalStyling", c(e).attr("style") || "");
8224                    }),
8225                    t.$slider.addClass("slick-slider"),
8226                    (t.$slideTrack = 0 === t.slideCount ? c('<div class="slick-track"/>').appendTo(t.$slider) : t.$slides.wrapAll('<div class="slick-track"/>').parent()),
8227                    (t.$list = t.$slideTrack.wrap('<div class="slick-list"/>').parent()),
8228                    t.$slideTrack.css("opacity", 0),
8229                    (!0 !== t.options.centerMode && !0 !== t.options.swipeToSlide) || (t.options.slidesToScroll = 1),
8230                    c("img[data-lazy]", t.$slider).not("[src]").addClass("slick-loading"),
8231                    t.setupInfinite(),
8232                    t.buildArrows(),
8233                    t.buildDots(),
8234                    t.updateDots(),
8235                    t.setSlideClasses("number" == typeof t.currentSlide ? t.currentSlide : 0),
8236                    !0 === t.options.draggable && t.$list.addClass("draggable");
8237            }),
8238            (o.prototype.buildRows = function () {
8239                var t,
8240                    e,
8241                    i,
8242                    n,
8243                    s,
8244                    o,
8245                    r,
8246                    a = this;
8247                if (((n = document.createDocumentFragment()), (o = a.$slider.children()), 1 < a.options.rows)) {
8248                    for (r = a.options.slidesPerRow * a.options.rows, s = Math.ceil(o.length / r), t = 0; t < s; t++) {
8249                        var l = document.createElement("div");
8250                        for (e = 0; e < a.options.rows; e++) {
8251                            var c = document.createElement("div");
8252                            for (i = 0; i < a.options.slidesPerRow; i++) {
8253                                var u = t * r + (e * a.options.slidesPerRow + i);
8254                                o.get(u) && c.appendChild(o.get(u));
8255                            }
8256                            l.appendChild(c);
8257                        }
8258                        n.appendChild(l);
8259                    }
8260                    a.$slider.empty().append(n),
8261                        a.$slider
8262                            .children()
8263                            .children()
8264                            .children()
8265                            .css({ width: 100 / a.options.slidesPerRow + "%", display: "inline-block" });
8266                }
8267            }),
8268            (o.prototype.checkResponsive = function (t, e) {
8269                var i,
8270                    n,
8271                    s,
8272                    o = this,
8273                    r = !1,
8274                    a = o.$slider.width(),
8275                    l = window.innerWidth || c(window).width();
8276                if (("window" === o.respondTo ? (s = l) : "slider" === o.respondTo ? (s = a) : "min" === o.respondTo && (s = Math.min(l, a)), o.options.responsive && o.options.responsive.length && null !== o.options.responsive)) {
8277                    for (i in ((n = null), o.breakpoints)) o.breakpoints.hasOwnProperty(i) && (!1 === o.originalSettings.mobileFirst ? s < o.breakpoints[i] && (n = o.breakpoints[i]) : s > o.breakpoints[i] && (n = o.breakpoints[i]));
8278                    null !== n
8279                        ? (null !== o.activeBreakpoint && n === o.activeBreakpoint && !e) ||
8280                          ((o.activeBreakpoint = n),
8281                          "unslick" === o.breakpointSettings[n] ? o.unslick(n) : ((o.options = c.extend({}, o.originalSettings, o.breakpointSettings[n])), !0 === t && (o.currentSlide = o.options.initialSlide), o.refresh(t)),
8282                          (r = n))
8283                        : null !== o.activeBreakpoint && ((o.activeBreakpoint = null), (o.options = o.originalSettings), !0 === t && (o.currentSlide = o.options.initialSlide), o.refresh(t), (r = n)),
8284                        t || !1 === r || o.$slider.trigger("breakpoint", [o, r]);
8285                }
8286            }),
8287            (o.prototype.changeSlide = function (t, e) {
8288                var i,
8289                    n,
8290                    s = this,
8291                    o = c(t.currentTarget);
8292                switch ((o.is("a") && t.preventDefault(), o.is("li") || (o = o.closest("li")), (i = s.slideCount % s.options.slidesToScroll != 0 ? 0 : (s.slideCount - s.currentSlide) % s.options.slidesToScroll), t.data.message)) {
8293                    case "previous":
8294                        (n = 0 == i ? s.options.slidesToScroll : s.options.slidesToShow - i), s.slideCount > s.options.slidesToShow && s.slideHandler(s.currentSlide - n, !1, e);
8295                        break;
8296                    case "next":
8297                        (n = 0 == i ? s.options.slidesToScroll : i), s.slideCount > s.options.slidesToShow && s.slideHandler(s.currentSlide + n, !1, e);
8298                        break;
8299                    case "index":
8300                        var r = 0 === t.data.index ? 0 : t.data.index || o.index() * s.options.slidesToScroll;
8301                        s.slideHandler(s.checkNavigable(r), !1, e), o.children().trigger("focus");
8302                        break;
8303                    default:
8304                        return;
8305                }
8306            }),
8307            (o.prototype.checkNavigable = function (t) {
8308                var e, i;
8309                if (((i = 0), t > (e = this.getNavigableIndexes())[e.length - 1])) t = e[e.length - 1];
8310                else
8311                    for (var n in e) {
8312                        if (t < e[n]) {
8313                            t = i;
8314                            break;
8315                        }
8316                        i = e[n];
8317                    }
8318                return t;
8319            }),
8320            (o.prototype.cleanUpEvents = function () {
8321                var t = this;
8322                t.options.dots &&
8323                    null !== t.$dots &&
8324                    (c("li", t.$dots).off("click.slick", t.changeSlide).off("mouseenter.slick", c.proxy(t.
8324interrupt, t, !0)).off("mouseleave.slick", c.proxy(t.interrupt, t, !1)),
8325                    !0 === t.options.accessibility && t.$dots.off("keydown.slick", t.keyHandler)),
8326                    t.$slider.off("focus.slick blur.slick"),
8327                    !0 === t.options.arrows &&
8328                        t.slideCount > t.options.slidesToShow &&
8329                        (t.$prevArrow && t.$prevArrow.off("click.slick", t.changeSlide),
8330                        t.$nextArrow && t.$nextArrow.off("click.slick", t.changeSlide),
8331                        !0 === t.options.accessibility && (t.$prevArrow && t.$prevArrow.off("keydown.slick", t.keyHandler), t.$nextArrow && t.$nextArrow.off("keydown.slick", t.keyHandler))),
8332                    t.$list.off("touchstart.slick mousedown.slick", t.swipeHandler),
8333                    t.$list.off("touchmove.slick mousemove.slick", t.swipeHandler),
8334                    t.$list.off("touchend.slick mouseup.slick", t.swipeHandler),
8335                    t.$list.off("touchcancel.slick mouseleave.slick", t.swipeHandler),
8336                    t.$list.off("click.slick", t.clickHandler),
8337                    c(document).off(t.visibilityChange, t.visibility),
8338                    t.cleanUpSlideEvents(),
8339                    !0 === t.options.accessibility && t.$list.off("keydown.slick", t.keyHandler),
8340                    !0 === t.options.focusOnSelect && c(t.$slideTrack).children().off("click.slick", t.selectHandler),
8341                    c(window).off("orientationchange.slick.slick-" + t.instanceUid, t.orientationChange),
8342                    c(window).off("resize.slick.slick-" + t.instanceUid, t.resize),
8343                    c("[draggable!=true]", t.$slideTrack).off("dragstart", t.preventDefault),
8344                    c(window).off("load.slick.slick-" + t.instanceUid, t.setPosition);
8345            }),
8346            (o.prototype.cleanUpSlideEvents = function () {
8347                var t = this;
8348                t.$list.off("mouseenter.slick", c.proxy(t.interrupt, t, !0)), t.$list.off("mouseleave.slick", c.proxy(t.interrupt, t, !1));
8349            }),
8350            (o.prototype.cleanUpRows = function () {
8351                var t;
8352                1 < this.options.rows && ((t = this.$slides.children().children()).removeAttr("style"), this.$slider.empty().append(t));
8353            }),
8354            (o.prototype.clickHandler = function (t) {
8355                !1 === this.shouldClick && (t.stopImmediatePropagation(), t.stopPropagation(), t.preventDefault());
8356            }),
8357            (o.prototype.destroy = function (t) {
8358                var e = this;
8359                e.autoPlayClear(),
8360                    (e.touchObject = {}),
8361                    e.cleanUpEvents(),
8362                    c(".slick-cloned", e.$slider).detach(),
8363                    e.$dots && e.$dots.remove(),
8364                    e.$prevArrow &&
8365                        e.$prevArrow.length &&
8366                        (e.$prevArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), e.htmlExpr.test(e.options.prevArrow) && e.$prevArrow.remove()),
8367                    e.$nextArrow &&
8368                        e.$nextArrow.length &&
8369                        (e.$nextArrow.removeClass("slick-disabled slick-arrow slick-hidden").removeAttr("aria-hidden aria-disabled tabindex").css("display", ""), e.htmlExpr.test(e.options.nextArrow) && e.$nextArrow.remove()),
8370                    e.$slides &&
8371                        (e.$slides
8372                            .removeClass("slick-slide slick-active slick-center slick-visible slick-current")
8373                            .removeAttr("aria-hidden")
8374                            .removeAttr("data-slick-index")
8375                            .each(function () {
8376                                c(this).attr("style", c(this).data("originalStyling"));
8377                            }),
8378                        e.$slideTrack.children(this.options.slide).detach(),
8379                        e.$slideTrack.detach(),
8380                        e.$list.detach(),
8381                        e.$slider.append(e.$slides)),
8382                    e.cleanUpRows(),
8383                    e.$slider.removeClass("slick-slider"),
8384                    e.$slider.removeClass("slick-initialized"),
8385                    e.$slider.removeClass("slick-dotted"),
8386                    (e.unslicked = !0),
8387                    t || e.$slider.trigger("destroy", [e]);
8388            }),
8389            (o.prototype.disableTransition = function (t) {
8390                var e = {};
8391                (e[this.transitionType] = ""), !1 === this.options.fade ? this.$slideTrack.css(e) : this.$slides.eq(t).css(e);
8392            }),
8393            (o.prototype.fadeSlide = function (t, e) {
8394                var i = this;
8395                !1 === i.cssTransitions
8396                    ? (i.$slides.eq(t).css({ zIndex: i.options.zIndex }), i.$slides.eq(t).animate({ opacity: 1 }, i.options.speed, i.options.easing, e))
8397                    : (i.applyTransition(t),
8398                      i.$slides.eq(t).css({ opacity: 1, zIndex: i.options.zIndex }),
8399                      e &&
8400                          setTimeout(function () {
8401                              i.disableTransition(t), e.call();
8402                          }, i.options.speed));
8403            }),
8404            (o.prototype.fadeSlideOut = function (t) {
8405                var e = this;
8406                !1 === e.cssTransitions ? e.$slides.eq(t).animate({ opacity: 0, zIndex: e.options.zIndex - 2 }, e.options.speed, e.options.easing) : (e.applyTransition(t), e.$slides.eq(t).css({ opacity: 0, zIndex: e.options.zIndex - 2 }));
8407            }),
8408            (o.prototype.filterSlides = o.prototype.slickFilter = function (t) {
8409                var e = this;
8410                null !== t && ((e.$slidesCache = e.$slides), e.unload(), e.$slideTrack.children(this.options.slide).detach(), e.$slidesCache.filter(t).appendTo(e.$slideTrack), e.reinit());
8411            }),
8412            (o.prototype.focusHandler = function () {
8413                var i = this;
8414                i.$slider.off("focus.slick blur.slick").on("focus.slick blur.slick", "*", function (t) {
8415                    t.stopImmediatePropagation();
8416                    var e = c(this);
8417                    setTimeout(function () {
8418                        i.options.pauseOnFocus && ((i.focussed = e.is(":focus")), i.autoPlay());
8419                    }, 0);
8420                });
8421            }),
8422            (o.prototype.getCurrent = o.prototype.slickCurrentSlide = function () {
8423                return this.currentSlide;
8424            }),
8425            (o.prototype.getDotCount = function () {
8426                var t = this,
8427                    e = 0,
8428                    i = 0,
8429                    n = 0;
8430                if (!0 === t.options.infinite)
8431                    if (t.slideCount <= t.options.slidesToShow) ++n;
8432                    else for (; e < t.slideCount; ) ++n, (e = i + t.options.slidesToScroll), (i += t.options.slidesToScroll <= t.options.slidesToShow ? t.options.slidesToScroll : t.options.slidesToShow);
8433                else if (!0 === t.options.centerMode) n = t.slideCount;
8434                else if (t.options.asNavFor) for (; e < t.slideCount; ) ++n, (e = i + t.options.slidesToScroll), (i += t.options.slidesToScroll <= t.options.slidesToShow ? t.options.slidesToScroll : t.options.slidesToShow);
8435                else n = 1 + Math.ceil((t.slideCount - t.options.slidesToShow) / t.options.slidesToScroll);
8436                return n - 1;
8437            }),
8438            (o.prototype.getLeft = function (t) {
8439                var e,
8440                    i,
8441                    n,
8442                    s,
8443                    o = this,
8444                    r = 0;
8445                return (
8446                    (o.slideOffset = 0),
8447                    (i = o.$slides.first().outerHeight(!0)),
8448                    !0 === o.options.infinite
8449                        ? (o.slideCount > o.options.slidesToShow &&
8450                              ((o.slideOffset = o.slideWidth * o.options.slidesToShow * -1),
8451                              (s = -1),
8452                              !0 === o.options.vertical && !0 === o.options.centerMode && (2 === o.options.slidesToShow ? (s = -1.5) : 1 === o.options.slidesToShow && (s = -2)),
8453                              (r = i * o.options.slidesToShow * s)),
8454                          o.slideCount % o.options.slidesToScroll != 0 &&
8455                              t + o.options.slidesToScroll > o.slideCount &&
8456                              o.slideCount > o.options.slidesToShow &&
8457                              (r =
8458                                  t > o.slideCount
8459                                      ? ((o.slideOffset = (o.options.slidesToShow - (t - o.slideCount)) * o.slideWidth * -1), (o.options.slidesToShow - (t - o.slideCount)) * i * -1)
8460                                      : ((o.slideOffset = (o.slideCount % o.options.slidesToScroll) * o.slideWidth * -1), (o.slideCount % o.options.slidesToScroll) * i * -1)))
8461                        : t + o.options.slidesToShow > o.slideCount && ((o.slideOffset = (t + o.options.slidesToShow - o.slideCount) * o.slideWidth), (r = (t + o.options.slidesToShow - o.slideCount) * i)),
8462                    o.slideCount <= o.options.slidesToShow && (r = o.slideOffset = 0),
8463                    !0 === o.options.centerMode && o.slideCount <= o.options.slidesToShow
8464                        ? (o.slideOffset = (o.slideWidth * Math.floor(o.options.slidesToShow)) / 2 - (o.slideWidth * o.slideCount) / 2)
8465                        : !0 === o.options.centerMode && !0 === o.options.infinite
8466                        ? (o.slideOffset += o.slideWidth * Math.floor(o.options.slidesToShow / 2) - o.slideWidth)
8467                        : !0 === o.options.centerMode && ((o.slideOffset = 0), (o.slideOffset += o.slideWidth * Math.floor(o.options.slidesToShow / 2))),
8468                    (e = !1 === o.options.vertical ? t * o.slideWidth * -1 + o.slideOffset : t * i * -1 + r),
8469                    !0 === o.options.variableWidth &&
8470                        ((n = o.slideCount <= o.options.slidesToShow || !1 === o.options.infinite ? o.$slideTrack.children(".slick-slide").eq(t) : o.$slideTrack.children(".slick-slide").eq(t + o.options.slidesToShow)),
8471                        (e = !0 === o.options.rtl ? (n[0] ? -1 * (o.$slideTrack.width() - n[0].offsetLeft - n.width()) : 0) : n[0] ? -1 * n[0].offsetLeft : 0),
8472                        !0 === o.options.centerMode &&
8473                            ((n = o.slideCount <= o.options.slidesToShow || !1 === o.options.infinite ? o.$slideTrack.children(".slick-slide").eq(t) : o.$slideTrack.children(".slick-slide").eq(t + o.options.slidesToShow + 1)),
8474                            (e = !0 === o.options.rtl ? (n[0] ? -1 * (o.$slideTrack.width() - n[0].offsetLeft - n.width()) : 0) : n[0] ? -1 * n[0].offsetLeft : 0),
8475                            (e += (o.$list.width() - n.outerWidth()) / 2))),
8476                    e
8477                );
8478            }),
8479            (o.prototype.getOption = o.prototype.slickGetOption = function (t) {
8480                return this.options[t];
8481            }),
8482            (o.prototype.getNavigableIndexes = function () {
8483                var t,
8484                    e = this,
8485                    i = 0,
8486                    n = 0,
8487                    s = [];
8488                for (t = !1 === e.options.infinite ? e.slideCount : ((i = -1 * e.options.slidesToScroll), (n = -1 * e.options.slidesToScroll), 2 * e.slideCount); i < t; )
8489                    s.push(i), (i = n + e.options.slidesToScroll), (n += e.options.slidesToScroll <= e.options.slidesToShow ? e.options.slidesToScroll : e.options.slidesToShow);
8490                return s;
8491            }),
8492            (o.prototype.getSlick = function () {
8493                return this;
8494            }),
8495            (o.prototype.getSlideCount = function () {
8496                var i,
8497                    n,
8498                    s = this;
8499                return (
8500                    (n = !0 === s.options.centerMode ? s.slideWidth * Math.floor(s.options.slidesToShow / 2) : 0),
8501                    !0 === s.options.swipeToSlide
8502                        ? (s.$slideTrack.find(".slick-slide").each(function (t, e) {
8503                              if (e.offsetLeft - n + c(e).outerWidth() / 2 > -1 * s.swipeLeft) return (i = e), !1;
8504                          }),
8505                          Math.abs(c(i).attr("data-slick-index") - s.currentSlide) || 1)
8506                        : s.options.slidesToScroll
8507                );
8508            }),
8509            (o.prototype.goTo = o.prototype.slickGoTo = function (t, e) {
8510                this.changeSlide({ data: { message: "index", index: parseInt(t) } }, e);
8511            }),
8512            (o.prototype.init = function (t) {
8513                var e = this;
8514                c(e.$slider).hasClass("slick-initialized") ||
8515                    (c(e.$slider).addClass("slick-initialized"), e.buildRows(), e.buildOut(), e.setProps(), e.startLoad(), e.loadSlider(), e.initializeEvents(), e.updateArrows(), e.updateDots(), e.checkResponsive(!0), e.focusHandler()),
8516                    t && e.$slider.trigger("init", [e]),
8517                    !0 === e.options.accessibility && e.initADA(),
8518                    e.options.autoplay && ((e.paused = !1), e.autoPlay());
8519            }),
8520            (o.prototype.initADA = function () {
8521                var i = this,
8522                    n = Math.ceil(i.slideCount / i.options.slidesToShow),
8523                    s = i.getNavigableIndexes().filter(function (t) {
8524                        return 0 <= t && t < i.slideCount;
8525                    });
8526                i.$slides.add(i.$slideTrack.find(".slick-cloned")).attr({ "aria-hidden": "true", tabindex: "-1" }).find("a, input, button, select").attr({ tabindex: "-1" }),
8527                    null !== i.$dots &&
8528                        (i.$slides.not(i.$slideTrack.find(".slick-cloned")).each(function (t) {
8529                            var e = s.indexOf(t);
8530                            c(this).attr({ role: "tabpanel", id: "slick-slide" + i.instanceUid + t, tabindex: -1 }), -1 !== e && c(this).attr({ "aria-describedby": "slick-slide-control" + i.instanceUid + e });
8531                        }),
8532                        i.$dots
8533                            .attr("role", "tablist")
8534                            .find("li")
8535                            .each(function (t) {
8536                                var e = s[t];
8537                                c(this).attr({ role: "presentation" }),
8538                                    c(this)
8539                                        .find("button")
8540                                        .first()
8541                                        .attr({ role: "tab", id: "slick-slide-control" + i.instanceUid + t, "aria-controls": "slick-slide" + i.instanceUid + e, "aria-label": t + 1 + " of " + n, "aria-selected": null, tabindex: "-1" });
8542                            })
8543                            .eq(i.currentSlide)
8544                            .find("button")
8545                            .attr({ "aria-selected": "true", tabindex: "0" })
8546                            .end());
8547                for (var t = i.currentSlide, e = t + i.options.slidesToShow; t < e; t++) i.$slides.eq(t).attr("tabindex", 0);
8548                i.activateADA();
8549            }),
8550            (o.prototype.initArrowEvents = function () {
8551                var t = this;
8552                !0 === t.options.arrows &&
8553                    t.slideCount > t.options.slidesToShow &&
8554                    (t.$prevArrow.off("click.slick").on("click.slick", { message: "previous" }, t.changeSlide),
8555                    t.$nextArrow.off("click.slick").on("click.slick", { message: "next" }, t.changeSlide),
8556                    !0 === t.options.accessibility && (t.$prevArrow.on("keydown.slick", t.keyHandler), t.$nextArrow.on("keydown.slick", t.keyHandler)));
8557            }),
8558            (o.prototype.initDotEvents = function () {
8559                var t = this;
8560                !0 === t.options.dots && (c("li", t.$dots).on("click.slick", { message: "index" }, t.changeSlide), !0 === t.options.accessibility && t.$dots.on("keydown.slick", t.keyHandler)),
8561                    !0 === t.options.dots && !0 === t.options.pauseOnDotsHover && c("li", t.$dots).on("mouseenter.slick", c.proxy(t.
8561interrupt, t, !0)).on("mouseleave.slick", c.proxy(t.interrupt, t, !1));
8562            }),
8563            (o.prototype.initSlideEvents = function () {
8564                this.options.pauseOnHover && (this.$list.on("mouseenter.slick", c.proxy(this.interrupt, this, !0)), this.$list.on("mouseleave.slick", c.proxy(this.interrupt, this, !1)));
8565            }),
8566            (o.prototype.initializeEvents = function () {
8567                var t = this;
8568                t.initArrowEvents(),
8569                    t.initDotEvents(),
8570                    t.initSlideEvents(),
8571                    t.$list.on("touchstart.slick mousedown.slick", { action: "start" }, t.swipeHandler),
8572                    t.$list.on("touchmove.slick mousemove.slick", { action: "move" }, t.swipeHandler),
8573                    t.$list.on("touchend.slick mouseup.slick", { action: "end" }, t.swipeHandler),
8574                    t.$list.on("touchcancel.slick mouseleave.slick", { action: "end" }, t.swipeHandler),
8575                    t.$list.on("click.slick", t.clickHandler),
8576                    c(document).on(t.visibilityChange, c.proxy(t.visibility, t)),
8577                    !0 === t.options.accessibility && t.$list.on("keydown.slick", t.keyHandler),
8578                    !0 === t.options.focusOnSelect && c(t.$slideTrack).children().on("click.slick", t.selectHandler),
8579                    c(window).on("orientationchange.slick.slick-" + t.instanceUid, c.proxy(t.orientationChange, t)),
8580                    c(window).on("resize.slick.slick-" + t.instanceUid, c.proxy(t.resize, t)),
8581                    c("[draggable!=true]", t.$slideTrack).on("dragstart", t.preventDefault),
8582                    c(window).on("load.slick.slick-" + t.instanceUid, t.setPosition),
8583                    c(t.setPosition);
8584            }),
8585            (o.prototype.initUI = function () {
8586                !0 === this.options.arrows && this.slideCount > this.options.slidesToShow && (this.$prevArrow.show(), this.$nextArrow.show()), !0 === this.options.dots && this.slideCount > this.options.slidesToShow && this.$dots.show();
8587            }),
8588            (o.prototype.keyHandler = function (t) {
8589                t.target.tagName.match("TEXTAREA|INPUT|SELECT") ||
8590                    (37 === t.keyCode && !0 === this.options.accessibility
8591                        ? this.changeSlide({ data: { message: !0 === this.options.rtl ? "next" : "previous" } })
8592                        : 39 === t.keyCode && !0 === this.options.accessibility && this.changeSlide({ data: { message: !0 === this.options.rtl ? "previous" : "next" } }));
8593            }),
8594            (o.prototype.lazyLoad = function () {
8595                function t(t) {
8596                    c("img[data-lazy]", t).each(function () {
8597                        var t = c(this),
8598                            e = c(this).attr("data-lazy"),
8599                            i = c(this).attr("data-srcset"),
8600                            n = c(this).attr("data-sizes") || o.$slider.attr("data-sizes"),
8601                            s = document.createElement("img");
8602                        (s.onload = function () {
8603                            t.animate({ opacity: 0 }, 100, function () {
8604                                i && (t.attr("srcset", i), n && t.attr("sizes", n)),
8605                                    t.attr("src", e).animate({ opacity: 1 }, 200, function () {
8606                                        t.removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading");
8607                                    }),
8608                                    o.$slider.trigger("lazyLoaded", [o, t, e]);
8609                            });
8610                        }),
8611                            (s.onerror = function () {
8612                                t.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), o.$slider.trigger("lazyLoadError", [o, t, e]);
8613                            }),
8614                            (s.src = e);
8615                    });
8616                }
8617                var e,
8618                    i,
8619                    n,
8620                    o = this;
8621                if (
8622                    (!0 === o.options.centerMode
8623                        ? (n =
8624                              !0 === o.options.infinite
8625                                  ? (i = o.currentSlide + (o.options.slidesToShow / 2 + 1)) + o.options.slidesToShow + 2
8626                                  : ((i = Math.max(0, o.currentSlide - (o.options.slidesToShow / 2 + 1))), o.options.slidesToShow / 2 + 1 + 2 + o.currentSlide))
8627                        : ((i = o.options.infinite ? o.options.slidesToShow + o.currentSlide : o.currentSlide), (n = Math.ceil(i + o.options.slidesToShow)), !0 === o.options.fade && (0 < i && i--, n <= o.slideCount && n++)),
8628                    (e = o.$slider.find(".slick-slide").slice(i, n)),
8629                    "anticipated" === o.options.lazyLoad)
8630                )
8631                    for (var s = i - 1, r = n, a = o.$slider.find(".slick-slide"), l = 0; l < o.options.slidesToScroll; l++) s < 0 && (s = o.slideCount - 1), (e = (e = e.add(a.eq(s))).add(a.eq(r))), s--, r++;
8632                t(e),
8633                    o.slideCount <= o.options.slidesToShow
8634                        ? t(o.$slider.find(".slick-slide"))
8635                        : o.currentSlide >= o.slideCount - o.options.slidesToShow
8636                        ? t(o.$slider.find(".slick-cloned").slice(0, o.options.slidesToShow))
8637                        : 0 === o.currentSlide && t(o.$slider.find(".slick-cloned").slice(-1 * o.options.slidesToShow));
8638            }),
8639            (o.prototype.loadSlider = function () {
8640                this.setPosition(), this.$slideTrack.css({ opacity: 1 }), this.$slider.removeClass("slick-loading"), this.initUI(), "progressive" === this.options.lazyLoad && this.progressiveLazyLoad();
8641            }),
8642            (o.prototype.next = o.prototype.slickNext = function () {
8643                this.changeSlide({ data: { message: "next" } });
8644            }),
8645            (o.prototype.orientationChange = function () {
8646                this.checkResponsive(), this.setPosition();
8647            }),
8648            (o.prototype.pause = o.prototype.slickPause = function () {
8649                this.autoPlayClear(), (this.paused = !0);
8650            }),
8651            (o.prototype.play = o.prototype.slickPlay = function () {
8652                this.autoPlay(), (this.options.autoplay = !0), (this.paused = !1), (this.focussed = !1), (this.interrupted = !1);
8653            }),
8654            (o.prototype.postSlide = function (t) {
8655                var e = this;
8656                e.unslicked ||
8657                    (e.$slider.trigger("afterChange", [e, t]),
8658                    (e.animating = !1),
8659                    e.slideCount > e.options.slidesToShow && e.setPosition(),
8660                    (e.swipeLeft = null),
8661                    e.options.autoplay && e.autoPlay(),
8662                    !0 === e.options.accessibility && (e.initADA(), e.options.focusOnChange && c(e.$slides.get(e.currentSlide)).attr("tabindex", 0).focus()));
8663            }),
8664            (o.prototype.prev = o.prototype.slickPrev = function () {
8665                this.changeSlide({ data: { message: "previous" } });
8666            }),
8667            (o.prototype.preventDefault = function (t) {
8668                t.preventDefault();
8669            }),
8670            (o.prototype.progressiveLazyLoad = function (t) {
8671                t = t || 1;
8672                var e,
8673                    i,
8674                    n,
8675                    s,
8676                    o,
8677                    r = this,
8678                    a = c("img[data-lazy]", r.$slider);
8679                a.length
8680                    ? ((e = a.first()),
8681                      (i = e.attr("data-lazy")),
8682                      (n = e.attr("data-srcset")),
8683                      (s = e.attr("data-sizes") || r.$slider.attr("data-sizes")),
8684                      ((o = document.createElement("img")).onload = function () {
8685                          n && (e.attr("srcset", n), s && e.attr("sizes", s)),
8686                              e.attr("src", i).removeAttr("data-lazy data-srcset data-sizes").removeClass("slick-loading"),
8687                              !0 === r.options.adaptiveHeight && r.setPosition(),
8688                              r.$slider.trigger("lazyLoaded", [r, e, i]),
8689                              r.progressiveLazyLoad();
8690                      }),
8691                      (o.onerror = function () {
8692                          t < 3
8693                              ? setTimeout(function () {
8694                                    r.progressiveLazyLoad(t + 1);
8695                                }, 500)
8696                              : (e.removeAttr("data-lazy").removeClass("slick-loading").addClass("slick-lazyload-error"), r.$slider.trigger("lazyLoadError", [r, e, i]), r.progressiveLazyLoad());
8697                      }),
8698                      (o.src = i))
8699                    : r.$slider.trigger("allImagesLoaded", [r]);
8700            }),
8701            (o.prototype.refresh = function (t) {
8702                var e,
8703                    i,
8704                    n = this;
8705                (i = n.slideCount - n.options.slidesToShow),
8706                    !n.options.infinite && n.currentSlide > i && (n.currentSlide = i),
8707                    n.slideCount <= n.options.slidesToShow && (n.currentSlide = 0),
8708                    (e = n.currentSlide),
8709                    n.destroy(!0),
8710                    c.extend(n, n.initials, { currentSlide: e }),
8711                    n.init(),
8712                    t || n.changeSlide({ data: { message: "index", index: e } }, !1);
8713            }),
8714            (o.prototype.registerBreakpoints = function () {
8715                var t,
8716                    e,
8717                    i,
8718                    n = this,
8719                    s = n.options.responsive || null;
8720                if ("array" === c.type(s) && s.length) {
8721                    for (t in ((n.respondTo = n.options.respondTo || "window"), s))
8722                        if (((i = n.breakpoints.length - 1), s.hasOwnProperty(t))) {
8723                            for (e = s[t].breakpoint; 0 <= i; ) n.breakpoints[i] && n.breakpoints[i] === e && n.breakpoints.splice(i, 1), i--;
8724                            n.breakpoints.push(e), (n.breakpointSettings[e] = s[t].settings);
8725                        }
8726                    n.breakpoints.sort(function (t, e) {
8727                        return n.options.mobileFirst ? t - e : e - t;
8728                    });
8729                }
8730            }),
8731            (o.prototype.reinit = function () {
8732                var t = this;
8733                (t.$slides = t.$slideTrack.children(t.options.slide).addClass("slick-slide")),
8734                    (t.slideCount = t.$slides.length),
8735                    t.currentSlide >= t.slideCount && 0 !== t.currentSlide && (t.currentSlide = t.currentSlide - t.options.slidesToScroll),
8736                    t.slideCount <= t.options.slidesToShow && (t.currentSlide = 0),
8737                    t.registerBreakpoints(),
8738                    t.setProps(),
8739                    t.setupInfinite(),
8740                    t.buildArrows(),
8741                    t.updateArrows(),
8742                    t.initArrowEvents(),
8743                    t.buildDots(),
8744                    t.updateDots(),
8745                    t.initDotEvents(),
8746                    t.cleanUpSlideEvents(),
8747                    t.initSlideEvents(),
8748                    t.checkResponsive(!1, !0),
8749                    !0 === t.options.focusOnSelect && c(t.$slideTrack).children().on("click.slick", t.selectHandler),
8750                    t.setSlideClasses("number" == typeof t.currentSlide ? t.currentSlide : 0),
8751                    t.setPosition(),
8752                    t.focusHandler(),
8753                    (t.paused = !t.options.autoplay),
8754                    t.autoPlay(),
8755                    t.$slider.trigger("reInit", [t]);
8756            }),
8757            (o.prototype.resize = function () {
8758                var t = this;
8759                c(window).width() !== t.windowWidth &&
8760                    (clearTimeout(t.windowDelay),
8761                    (t.windowDelay = window.setTimeout(function () {
8762                        (t.windowWidth = c(window).width()), t.checkResponsive(), t.unslicked || t.setPosition();
8763                    }, 50)));
8764            }),
8765            (o.prototype.removeSlide = o.prototype.slickRemove = function (t, e, i) {
8766                var n = this;
8767                if (((t = "boolean" == typeof t ? (!0 === (e = t) ? 0 : n.slideCount - 1) : !0 === e ? --t : t), n.slideCount < 1 || t < 0 || t > n.slideCount - 1)) return !1;
8768                n.unload(),
8769                    !0 === i ? n.$slideTrack.children().remove() : n.$slideTrack.children(this.options.slide).eq(t).remove(),
8770                    (n.$slides = n.$slideTrack.children(this.options.slide)),
8771                    n.$slideTrack.children(this.options.slide).detach(),
8772                    n.$slideTrack.append(n.$slides),
8773                    (n.$slidesCache = n.$slides),
8774                    n.reinit();
8775            }),
8776            (o.prototype.setCSS = function (t) {
8777                var e,
8778                    i,
8779                    n = this,
8780                    s = {};
8781                !0 === n.options.rtl && (t = -t),
8782                    (e = "left" == n.positionProp ? Math.ceil(t) + "px" : "0px"),
8783                    (i = "top" == n.positionProp ? Math.ceil(t) + "px" : "0px"),
8784                    (s[n.positionProp] = t),
8785                    !1 === n.transformsEnabled || (!(s = {}) === n.cssTransitions ? (s[n.animType] = "translate(" + e + ", " + i + ")") : (s[n.animType] = "translate3d(" + e + ", " + i + ", 0px)")),
8786                    n.$slideTrack.css(s);
8787            }),
8788            (o.prototype.setDimensions = function () {
8789                var t = this;
8790                !1 === t.options.vertical
8791                    ? !0 === t.options.centerMode && t.$list.css({ padding: "0px " + t.options.centerPadding })
8792                    : (t.$list.height(t.$slides.first().outerHeight(!0) * t.options.slidesToShow), !0 === t.options.centerMode && t.$list.css({ padding: t.options.centerPadding + " 0px" })),
8793                    (t.listWidth = t.$list.width()),
8794                    (t.listHeight = t.$list.height()),
8795                    !1 === t.options.vertical && !1 === t.options.variableWidth
8796                        ? ((t.slideWidth = Math.ceil(t.listWidth / t.options.slidesToShow)), t.$slideTrack.width(Math.ceil(t.slideWidth * t.$slideTrack.children(".slick-slide").length)))
8797                        : !0 === t.options.variableWidth
8798                        ? t.$slideTrack.width(5e3 * t.slideCount)
8799                        : ((t.slideWidth = Math.ceil(t.listWidth)), t.$slideTrack.height(Math.ceil(t.$slides.first().outerHeight(!0) * t.$slideTrack.children(".slick-slide").length)));
8800                var e = t.$slides.first().outerWidth(!0) - t.$slides.first().width();
8801                !1 === t.options.variableWidth && t.$slideTrack.children(".slick-slide").width(t.slideWidth - e);
8802            }),
8803            (o.prototype.setFade = function () {
8804                var i,
8805                    n = this;
8806                n.$slides.each(function (t, e) {
8807                    (i = n.slideWidth * t * -1),
8808                        !0 === n.options.rtl ? c(e).css({ position: "relative", right: i, top: 0, zIndex: n.options.zIndex - 2, opacity: 0 }) : c(e).css({ position: "relative", left: i, top: 0, zIndex: n.options.zIndex - 2, opacity: 0 });
8809                }),
8810                    n.$slides.eq(n.currentSlide).css({ zIndex: n.options.zIndex - 1, opacity: 1 });
8811            }),
8812            (o.prototype.setHeight = function () {
8813                if (1 === this.options.slidesToShow && !0 === this.options.adaptiveHeight && !1 === this.options.vertical) {
8814                    var t = this.$slides.eq(this.currentSlide).outerHeight(!0);
8815                    this.$list.css("height", t);
8816                }
8817            }),
8818            (o.prototype.setOption = o.prototype.slickSetOption = function () {
8819                var t,
8820                    e,
8821                    i,
8822                    n,
8823                    s,
8824                    o = this,
8825                    r = !1;
8826                if (
8827                    ("object" === c.type(arguments[0])
8828                        ? ((i = arguments[0]), (r = arguments[1]), (s = "multiple"))
8829                        : "string" === c.type(arguments[0]) &&
8830                          ((n = arguments[1]), (r = arguments[2]), "responsive" === (i = arguments[0]) && "array" === c.type(arguments[1]) ? (s = "responsive") : void 0 !== arguments[1] && (s = "single")),
8831                    "single" === s)
8832                )
8833                    o.options[i] = n;
8834                else if ("multiple" === s)
8835                    c.each(i, function (t, e) {
8836                        o.options[t] = e;
8837                    });
8838                else if ("responsive" === s)
8839                    for (e in n)
8840                        if ("array" !== c.type(o.options.responsive)) o.options.responsive = [n[e]];
8841                        else {
8842                            for (t = o.options.responsive.length - 1; 0 <= t; ) o.options.responsive[t].breakpoint === n[e].breakpoint && o.options.responsive.splice(t, 1), t--;
8843                            o.options.responsive.push(n[e]);
8844                        }
8845                r && (o.unload(), o.reinit());
8846            }),
8847            (o.prototype.setPosition = function () {
8848                this.setDimensions(), this.setHeight(), !1 === this.options.fade ? this.setCSS(this.getLeft(this.currentSlide)) : this.setFade(), this.$slider.trigger("setPosition", [this]);
8849            }),
8850            (o.prototype.setProps = function () {
8851                var t = this,
8852                    e = document.body.style;
8853                (t.positionProp = !0 === t.options.vertical ? "top" : "left"),
8854                    "top" === t.positionProp ? t.$slider.addClass("slick-vertical") : t.$slider.removeClass("slick-vertical"),
8855                    (void 0 === e.WebkitTransition && void 0 === e.MozTransition && void 0 === e.msTransition) || (!0 === t.options.useCSS && (t.cssTransitions = !0)),
8856                    t.options.fade && ("number" == typeof t.options.zIndex ? t.options.zIndex < 3 && (t.options.zIndex = 3) : (t.options.zIndex = t.defaults.zIndex)),
8857                    void 0 !== e.OTransform && ((t.animType = "OTransform"), (t.transformType = "-o-transform"), (t.transitionType = "OTransition"), void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (t.animType = !1)),
8858                    void 0 !== e.MozTransform &&
8859                        ((t.animType = "MozTransform"), (t.transformType = "-moz-transform"), (t.transitionType = "MozTransition"), void 0 === e.perspectiveProperty && void 0 === e.MozPerspective && (t.animType = !1)),
8860                    void 0 !== e.webkitTransform &&
8861                        ((t.animType = "webkitTransform"), (t.transformType = "-webkit-transform"), (t.transitionType = "webkitTransition"), void 0 === e.perspectiveProperty && void 0 === e.webkitPerspective && (t.animType = !1)),
8862                    void 0 !== e.msTransform && ((t.animType = "msTransform"), (t.transformType = "-ms-transform"), (t.transitionType = "msTransition"), void 0 === e.msTransform && (t.animType = !1)),
8863                    void 0 !== e.transform && !1 !== t.animType && ((t.animType = "transform"), (t.transformType = "transform"), (t.transitionType = "transition")),
8864                    (t.transformsEnabled = t.options.useTransform && null !== t.animType && !1 !== t.animType);
8865            }),
8866            (o.prototype.setSlideClasses = function (t) {
8867                var e,
8868                    i,
8869                    n,
8870                    s,
8871                    o = this;
8872                if (((i = o.$slider.find(".slick-slide").removeClass("slick-active slick-center slick-current").attr("aria-hidden", "true")), o.$slides.eq(t).addClass("slick-current"), !0 === o.options.centerMode)) {
8873                    var r = o.options.slidesToShow % 2 == 0 ? 1 : 0;
8874                    (e = Math.floor(o.options.slidesToShow / 2)),
8875                        !0 === o.options.infinite &&
8876                            (e <= t && t <= o.slideCount - 1 - e
8877                                ? o.$slides
8878                                      .slice(t - e + r, t + e + 1)
8879                                      .addClass("slick-active")
8880                                      .attr("aria-hidden", "false")
8881                                : ((n = o.options.slidesToShow + t),
8882                                  i
8883                                      .slice(n - e + 1 + r, n + e + 2)
8884                                      .addClass("slick-active")
8885                                      .attr("aria-hidden", "false")),
8886                            0 === t ? i.eq(i.length - 1 - o.options.slidesToShow).addClass("slick-center") : t === o.slideCount - 1 && i.eq(o.options.slidesToShow).addClass("slick-center")),
8887                        o.$slides.eq(t).addClass("slick-center");
8888                } else
8889                    0 <= t && t <= o.slideCount - o.options.slidesToShow
8890                        ? o.$slides
8891                              .slice(t, t + o.options.slidesToShow)
8892                              .addClass("slick-active")
8893                              .attr("aria-hidden", "false")
8894                        : i.length <= o.options.slidesToShow
8895                        ? i.addClass("slick-active").attr("aria-hidden", "false")
8896                        : ((s = o.slideCount % o.options.slidesToShow),
8897                          (n = !0 === o.options.infinite ? o.options.slidesToShow + t : t),
8898                          o.options.slidesToShow == o.options.slidesToScroll && o.slideCount - t < o.options.slidesToShow
8899                              ? i
8900                                    .slice(n - (o.options.slidesToShow - s), n + s)
8901                                    .addClass("slick-active")
8902                                    .attr("aria-hidden", "false")
8903                              : i
8904                                    .slice(n, n + o.options.slidesToShow)
8905                                    .addClass("slick-active")
8906                                    .attr("aria-hidden", "false"));
8907                ("ondemand" !== o.options.lazyLoad && "anticipated" !== o.options.lazyLoad) || o.lazyLoad();
8908            }),
8909            (o.prototype.setupInfinite = function () {
8910                var t,
8911                    e,
8912                    i,
8913                    n = this;
8914                if ((!0 === n.options.fade && (n.options.centerMode = !1), !0 === n.options.infinite && !1 === n.options.fade && ((e = null), n.slideCount > n.options.slidesToShow))) {
8915                    for (i = !0 === n.options.centerMode ? n.options.slidesToShow + 1 : n.options.slidesToShow, t = n.slideCount; t > n.slideCount - i; --t)
8916                        (e = t - 1),
8917                            c(n.$slides[e])
8918                                .clone(!0)
8919                                .attr("id", "")
8920                                .attr("data-slick-index", e - n.slideCount)
8921                                .prependTo(n.$slideTrack)
8922                                .addClass("slick-cloned");
8923                    for (t = 0; t < i + n.slideCount; t += 1)
8924                        (e = t),
8925                            c(n.$slides[e])
8926                                .clone(!0)
8927                                .attr("id", "")
8928                                .attr("data-slick-index", e + n.slideCount)
8929                                .appendTo(n.$slideTrack)
8930                                .addClass("slick-cloned");
8931                    n.$slideTrack
8932                        .find(".slick-cloned")
8933                        .find("[id]")
8934                        .each(function () {
8935                            c(this).attr("id", "");
8936                        });
8937                }
8938            }),
8939            (o.prototype.interrupt = function (t) {
8940                t || this.autoPlay(), (this.interrupted = t);
8941            }),
8942            (o.prototype.selectHandler = function (t) {
8943                var e = c(t.target).is(".slick-slide") ? c(t.target) : c(t.target).parents(".slick-slide"),
8944                    i = parseInt(e.attr("data-slick-index"));
8945                (i = i || 0), this.slideCount <= this.options.slidesToShow ? this.slideHandler(i, !1, !0) : this.slideHandler(i);
8946            }),
8947            (o.prototype.slideHandler = function (t, e, i) {
8948                var n,
8949                    s,
8950                    o,
8951                    r,
8952                    a,
8953                    l = null,
8954                    c = this;
8955                if (((e = e || !1), !((!0 === c.animating && !0 === c.options.waitForAnimate) || (!0 === c.options.fade && c.currentSlide === t))))
8956                    if (
8957                        (!1 === e && c.asNavFor(t),
8958                        (n = t),
8959                        (l = c.getLeft(n)),
8960                        (r = c.getLeft(c.currentSlide)),
8961                        (c.currentLeft = null === c.swipeLeft ? r : c.swipeLeft),
8962                        !1 === c.options.infinite && !1 === c.options.centerMode && (t < 0 || t > c.getDotCount() * c.options.slidesToScroll))
8963                    )
8964                        !1 === c.options.fade &&
8965                            ((n = c.currentSlide),
8966                            !0 !== i
8967                                ? c.animateSlide(r, function () {
8968                                      c.postSlide(n);
8969                                  })
8970                                : c.postSlide(n));
8971                    else if (!1 === c.options.infinite && !0 === c.options.centerMode && (t < 0 || t > c.slideCount - c.options.slidesToScroll))
8972                        !1 === c.options.fade &&
8973                            ((n = c.currentSlide),
8974                            !0 !== i
8975                                ? c.animateSlide(r, function () {
8976                                      c.postSlide(n);
8977                                  })
8978                                : c.postSlide(n));
8979                    else {
8980                        if (
8981                            (c.options.autoplay && clearInterval(c.autoPlayTimer),
8982                            (s =
8983                                n < 0
8984                                    ? c.slideCount % c.options.slidesToScroll != 0
8985                                        ? c.slideCount - (c.slideCount % c.options.slidesToScroll)
8986                                        : c.slideCount + n
8987                                    : n >= c.slideCount
8988                                    ? c.slideCount % c.options.slidesToScroll != 0
8989                                        ? 0
8990                                        : n - c.slideCount
8991                                    : n),
8992                            (c.animating = !0),
8993                            c.$slider.trigger("beforeChange", [c, c.currentSlide, s]),
8994                            (o = c.currentSlide),
8995                            (c.currentSlide = s),
8996                            c.setSlideClasses(c.currentSlide),
8997                            c.options.asNavFor && (a = (a = c.getNavTarget()).slick("getSlick")).slideCount <= a.options.slidesToShow && a.setSlideClasses(c.currentSlide),
8998                            c.updateDots(),
8999                            c.updateArrows(),
9000                            !0 === c.options.fade)
9001                        )
9002                            return (
9003                                !0 !== i
9004                                    ? (c.fadeSlideOut(o),
9005                                      c.fadeSlide(s, function () {
9006                                          c.postSlide(s);
9007                                      }))
9008                                    : c.postSlide(s),
9009                                void c.animateHeight()
9010                            );
9011                        !0 !== i
9012                            ? c.animateSlide(l, function () {
9013                                  c.postSlide(s);
9014                              })
9015                            : c.postSlide(s);
9016                    }
9017            }),
9018            (o.prototype.startLoad = function () {
9019                var t = this;
9020                !0 === t.options.arrows && t.slideCount > t.options.slidesToShow && (t.$prevArrow.hide(), t.$nextArrow.hide()),
9021                    !0 === t.options.dots && t.slideCount > t.options.slidesToShow && t.$dots.hide(),
9022                    t.$slider.addClass("slick-loading");
9023            }),
9024            (o.prototype.swipeDirection = function () {
9025                var t, e, i, n;
9026                return (
9027                    (t = this.touchObject.startX - this.touchObject.curX),
9028                    (e = this.touchObject.startY - this.touchObject.curY),
9029                    (i = Math.atan2(e, t)),
9030                    (n = Math.round((180 * i) / Math.PI)) < 0 && (n = 360 - Math.abs(n)),
9031                    (n <= 45 && 0 <= n) || (n <= 360 && 315 <= n)
9032                        ? !1 === this.options.rtl
9033                            ? "left"
9034                            : "right"
9035                        : 135 <= n && n <= 225
9036                        ? !1 === this.options.rtl
9037                            ? "right"
9038                            : "left"
9039                        : !0 === this.options.verticalSwiping
9040                        ? 35 <= n && n <= 135
9041                            ? "down"
9042                            : "up"
9043                        : "vertical"
9044                );
9045            }),
9046            (o.prototype.swipeEnd = function (t) {
9047                var e,
9048                    i,
9049                    n = this;
9050                if (((n.dragging = !1), (n.swiping = !1), n.scrolling)) return (n.scrolling = !1);
9051                if (((n.interrupted = !1), (n.shouldClick = !(10 < n.touchObject.swipeLength)), void 0 === n.touchObject.curX)) return !1;
9052                if ((!0 === n.touchObject.edgeHit && n.$slider.trigger("edge", [n, n.swipeDirection()]), n.touchObject.swipeLength >= n.touchObject.minSwipe)) {
9053                    switch ((i = n.swipeDirection())) {
9054                        case "left":
9055                        case "down":
9056                            (e = n.options.swipeToSlide ? n.checkNavigable(n.currentSlide + n.getSlideCount()) : n.currentSlide + n.getSlideCount()), (n.currentDirection = 0);
9057                            break;
9058                        case "right":
9059                        case "up":
9060                            (e = n.options.swipeToSlide ? n.checkNavigable(n.currentSlide - n.getSlideCount()) : n.currentSlide - n.getSlideCount()), (n.currentDirection = 1);
9061                    }
9062                    "vertical" != i && (n.slideHandler(e), (n.touchObject = {}), n.$slider.trigger("swipe", [n, i]));
9063                } else n.touchObject.startX !== n.touchObject.curX && (n.slideHandler(n.currentSlide), (n.touchObject = {}));
9064            }),
9065            (o.prototype.swipeHandler = function (t) {
9066                var e = this;
9067                if (!(!1 === e.options.swipe || ("ontouchend" in document && !1 === e.options.swipe) || (!1 === e.options.draggable && -1 !== t.type.indexOf("mouse"))))
9068                    switch (
9069                        ((e.touchObject.fingerCount = t.originalEvent && void 0 !== t.originalEvent.touches ? t.originalEvent.touches.length : 1),
9070                        (e.touchObject.minSwipe = e.listWidth / e.options.touchThreshold),
9071                        !0 === e.options.verticalSwiping && (e.touchObject.minSwipe = e.listHeight / e.options.touchThreshold),
9072                        t.data.action)
9073                    ) {
9074                        case "start":
9075                            e.swipeStart(t);
9076                            break;
9077                        case "move":
9078                            e.swipeMove(t);
9079                            break;
9080                        case "end":
9081                            e.swipeEnd(t);
9082                    }
9083            }),
9084            (o.prototype.swipeMove = function (t) {
9085                var e,
9086                    i,
9087                    n,
9088                    s,
9089                    o,
9090                    r,
9091                    a = this;
9092                return (
9093                    (o = void 0 !== t.originalEvent ? t.originalEvent.touches : null),
9094                    !(!a.dragging || a.scrolling || (o && 1 !== o.length)) &&
9095                        ((e = a.getLeft(a.currentSlide)),
9096                        (a.touchObject.curX = void 0 !== o ? o[0].pageX : t.clientX),
9097                        (a.touchObject.curY = void 0 !== o ? o[0].pageY : t.clientY),
9098                        (a.touchObject.swipeLength = Math.round(Math.sqrt(Math.pow(a.touchObject.curX - a.touchObject.startX, 2)))),
9099                        (r = Math.round(Math.sqrt(Math.pow(a.touchObject.curY - a.touchObject.startY, 2)))),
9100                        !a.options.verticalSwiping && !a.swiping && 4 < r
9101                            ? !(a.scrolling = !0)
9102                            : (!0 === a.options.verticalSwiping && (a.touchObject.swipeLength = r),
9103                              (i = a.swipeDirection()),
9104                              void 0 !== t.originalEvent && 4 < a.touchObject.swipeLength && ((a.swiping = !0), t.preventDefault()),
9105                              (s = (!1 === a.options.rtl ? 1 : -1) * (a.touchObject.curX > a.touchObject.startX ? 1 : -1)),
9106                              !0 === a.options.verticalSwiping && (s = a.touchObject.curY > a.touchObject.startY ? 1 : -1),
9107                              (n = a.touchObject.swipeLength),
9108                              (a.touchObject.edgeHit = !1) === a.options.infinite &&
9109                                  ((0 === a.currentSlide && "right" === i) || (a.currentSlide >= a.getDotCount() && "left" === i)) &&
9110                                  ((n = a.touchObject.swipeLength * a.options.edgeFriction), (a.touchObject.edgeHit = !0)),
9111                              !1 === a.options.vertical ? (a.swipeLeft = e + n * s) : (a.swipeLeft = e + n * (a.$list.height() / a.listWidth) * s),
9112                              !0 === a.options.verticalSwiping && (a.swipeLeft = e + n * s),
9113                              !0 !== a.options.fade && !1 !== a.options.touchMove && (!0 === a.animating ? ((a.swipeLeft = null), !1) : void a.setCSS(a.swipeLeft))))
9114                );
9115            }),
9116            (o.prototype.swipeStart = function (t) {
9117                var e,
9118                    i = this;
9119                if (((i.interrupted = !0), 1 !== i.touchObject.fingerCount || i.slideCount <= i.options.slidesToShow)) return !(i.touchObject = {});
9120                void 0 !== t.originalEvent && void 0 !== t.originalEvent.touches && (e = t.originalEvent.touches[0]),
9121                    (i.touchObject.startX = i.touchObject.curX = void 0 !== e ? e.pageX : t.clientX),
9122                    (i.touchObject.startY = i.touchObject.curY = void 0 !== e ? e.pageY : t.clientY),
9123                    (i.dragging = !0);
9124            }),
9125            (o.prototype.unfilterSlides = o.prototype.slickUnfilter = function () {
9126                null !== this.$slidesCache && (this.unload(), this.$slideTrack.children(this.options.slide).detach(), this.$slidesCache.appendTo(this.$slideTrack), this.reinit());
9127            }),
9128            (o.prototype.unload = function () {
9129                var t = this;
9130                c(".slick-cloned", t.$slider).remove(),
9131                    t.$dots && t.$dots.remove(),
9132                    t.$prevArrow && t.htmlExpr.test(t.options.prevArrow) && t.$prevArrow.remove(),
9133                    t.$nextArrow && t.htmlExpr.test(t.options.nextArrow) && t.$nextArrow.remove(),
9134                    t.$slides.removeClass("slick-slide slick-active slick-visible slick-current").attr("aria-hidden", "true").css("width", "");
9135            }),
9136            (o.prototype.unslick = function (t) {
9137                this.$slider.trigger("unslick", [this, t]), this.destroy();
9138            }),
9139            (o.prototype.updateArrows = function () {
9140                var t = this;
9141                Math.floor(t.options.slidesToShow / 2),
9142                    !0 === t.options.arrows &&
9143                        t.slideCount > t.options.slidesToShow &&
9144                        !t.options.infinite &&
9145                        (t.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false"),
9146                        t.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"),
9147                        0 === t.currentSlide
9148                            ? (t.$prevArrow.addClass("slick-disabled").attr("aria-disabled", "true"), t.$nextArrow.removeClass("slick-disabled").attr("aria-disabled", "false"))
9149                            : ((t.currentSlide >= t.slideCount - t.options.slidesToShow && !1 === t.options.centerMode) || (t.currentSlide >= t.slideCount - 1 && !0 === t.options.centerMode)) &&
9150                              (t.$nextArrow.addClass("slick-disabled").attr("aria-disabled", "true"), t.$prevArrow.removeClass("slick-disabled").attr("aria-disabled", "false")));
9151            }),
9152            (o.prototype.updateDots = function () {
9153                null !== this.$dots &&
9154                    (this.$dots.find("li").removeClass("slick-active").end(),
9155                    this.$dots
9156                        .find("li")
9157                        .eq(Math.floor(this.currentSlide / this.options.slidesToScroll))
9158                        .addClass("slick-active"));
9159            }),
9160            (o.prototype.visibility = function () {
9161                this.options.autoplay && (document[this.hidden] ? (this.interrupted = !0) : (this.interrupted = !1));
9162            }),
9163            (c.fn.slick = function () {
9164                var t,
9165                    e,
9166                    i = arguments[0],
9167                    n = Array.prototype.slice.call(arguments, 1),
9168                    s = this.length;
9169                for (t = 0; t < s; t++) if (("object" == typeof i || void 0 === i ? (this[t].slick = new o(this[t], i)) : (e = this[t].slick[i].apply(this[t].slick, n)), void 0 !== e)) return e;
9170                return this;
9171            });
9172    }),
9173    (function (t) {
9174        "function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery);
9175    })(function (x) {
9176        function t() {
9177            (this._curInst = null),
9178                (this._keyEvent = !1),
9179                (this._disabledInputs = []),
9180                (this._datepickerShowing = !1),
9181                (this._inDialog = !1),
9182                (this._mainDivId = "ui-datepicker-div"),
9183                (this._inlineClass = "ui-datepicker-inline"),
9184                (this._appendClass = "ui-datepicker-append"),
9185                (this._triggerClass = "ui-datepicker-trigger"),
9186                (this._dialogClass = "ui-datepicker-dialog"),
9187                (this._disableClass = "ui-datepicker-disabled"),
9188                (this._unselectableClass = "ui-datepicker-unselectable"),
9189                (this._currentClass = "ui-datepicker-current-day"),
9190                (this._dayOverClass = "ui-datepicker-days-cell-over"),
9191                (this.regional = []),
9192                (this.regional[""] = {
9193                    closeText: "Done",
9194                    prevText: "Prev",
9195                    nextText: "Next",
9196                    currentText: "Today",
9197                    monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "
9197November", "December"],
9198                    monthNamesShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
9199                    dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
9200                    dayNamesShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
9201                    dayNamesMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
9202                    weekHeader: "Wk",
9203                    dateFormat: "mm/dd/yy",
9204                    firstDay: 0,
9205                    isRTL: !1,
9206                    showMonthAfterYear: !1,
9207                    yearSuffix: "",
9208                }),
9209                (this._defaults = {
9210                    showOn: "focus",
9211                    showAnim: "fadeIn",
9212                    showOptions: {},
9213                    defaultDate: null,
9214                    appendText: "",
9215                    buttonText: "...",
9216                    buttonImage: "",
9217                    buttonImageOnly: !1,
9218                    hideIfNoPrevNext: !1,
9219                    navigationAsDateFormat: !1,
9220                    gotoCurrent: !1,
9221                    changeMonth: !1,
9222                    changeYear: !1,
9223                    yearRange: "c-10:c+10",
9224                    showOtherMonths: !1,
9225                    selectOtherMonths: !1,
9226                    showWeek: !1,
9227                    calculateWeek: this.iso8601Week,
9228                    shortYearCutoff: "+10",
9229                    minDate: null,
9230                    maxDate: null,
9231                    duration: "fast",
9232                    beforeShowDay: null,
9233                    beforeShow: null,
9234                    onSelect: null,
9235                    onChangeMonthYear: null,
9236                    onClose: null,
9237                    numberOfMonths: 1,
9238                    showCurrentAtPos: 0,
9239                    stepMonths: 1,
9240                    stepBigMonths: 12,
9241                    altField: "",
9242                    altFormat: "",
9243                    constrainInput: !0,
9244                    showButtonPanel: !1,
9245                    autoSize: !1,
9246                    disabled: !1,
9247                }),
9248                x.extend(this._defaults, this.regional[""]),
9249                (this.regional.en = x.extend(!0, {}, this.regional[""])),
9250                (this.regional["en-US"] = x.extend(!0, {}, this.regional.en)),
9251                (this.dpDiv = i(x("<div id='" + this._mainDivId + "' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")));
9252        }
9253        function i(t) {
9254            var e = "button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";
9255            return t
9256                .on("mouseout", e, function () {
9257                    x(this).removeClass("ui-state-hover"),
9258                        -1 !== this.className.indexOf("ui-datepicker-prev") && x(this).removeClass("ui-datepicker-prev-hover"),
9259                        -1 !== this.className.indexOf("ui-datepicker-next") && x(this).removeClass("ui-datepicker-next-hover");
9260                })
9261                .on("mouseover", e, o);
9262        }
9263        function o() {
9264            x.datepicker._isDisabledDatepicker(it.inline ? it.dpDiv.parent()[0] : it.input[0]) ||
9265                (x(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),
9266                x(this).addClass("ui-state-hover"),
9267                -1 !== this.className.indexOf("ui-datepicker-prev") && x(this).addClass("ui-datepicker-prev-hover"),
9268                -1 !== this.className.indexOf("ui-datepicker-next") && x(this).addClass("ui-datepicker-next-hover"));
9269        }
9270        function h(t, e) {
9271            for (var i in (x.extend(t, e), e)) null == e[i] && (t[i] = e[i]);
9272            return t;
9273        }
9274        function e(e) {
9275            return function () {
9276                var t = this.element.val();
9277                e.apply(this, arguments), this._refresh(), t !== this.element.val() && this._trigger("change");
9278            };
9279        }
9280        (x.ui = x.ui || {}), (x.ui.version = "1.12.1");
9281        var n,
9282            s,
9283            w,
9284            C,
9285            r,
9286            a,
9287            l,
9288            c,
9289            u,
9290            T,
9291            d,
9292            p = 0,
9293            f = Array.prototype.slice;
9294        function S(t, e, i) {
9295            return [parseFloat(t[0]) * (u.test(t[0]) ? e / 100 : 1), parseFloat(t[1]) * (u.test(t[1]) ? i / 100 : 1)];
9296        }
9297        function D(t, e) {
9298            return parseInt(x.css(t, e), 10) || 0;
9299        }
9300        (x.cleanData =
9301            ((d = x.cleanData),
9302            function (t) {
9303                var e, i, n;
9304                for (n = 0; null != (i = t[n]); n++)
9305                    try {
9306                        (e = x._data(i, "events")) && e.remove && x(i).triggerHandler("remove");
9307                    } catch (t) {}
9308                d(t);
9309            })),
9310            (x.widget = function (t, i, e) {
9311                var n,
9312                    s,
9313                    o,
9314                    r = {},
9315                    a = t.split(".")[0],
9316                    l = a + "-" + (t = t.split(".")[1]);
9317                return (
9318                    e || ((e = i), (i = x.Widget)),
9319                    x.isArray(e) && (e = x.extend.apply(null, [{}].concat(e))),
9320                    (x.expr[":"][l.toLowerCase()] = function (t) {
9321                        return !!x.data(t, l);
9322                    }),
9323                    (x[a] = x[a] || {}),
9324                    (n = x[a][t]),
9325                    (s = x[a][t] = function (t, e) {
9326                        return this._createWidget ? void (arguments.length && this._createWidget(t, e)) : new s(t, e);
9327                    }),
9328                    x.extend(s, n, { version: e.version, _proto: x.extend({}, e), _childConstructors: [] }),
9329                    ((o = new i()).options = x.widget.extend({}, o.options)),
9330                    x.each(e, function (e, n) {
9331                        return x.isFunction(n)
9332                            ? void (r[e] = function () {
9333                                  var t,
9334                                      e = this._super,
9335                                      i = this._superApply;
9336                                  return (this._super = s), (this._superApply = o), (t = n.apply(this, arguments)), (this._super = e), (this._superApply = i), t;
9337                              })
9338                            : void (r[e] = n);
9339                        function s() {
9340                            return i.prototype[e].apply(this, arguments);
9341                        }
9342                        function o(t) {
9343                            return i.prototype[e].apply(this, t);
9344                        }
9345                    }),
9346                    (s.prototype = x.widget.extend(o, { widgetEventPrefix: (n && o.widgetEventPrefix) || t }, r, { constructor: s, namespace: a, widgetName: t, widgetFullName: l })),
9347                    n
9348                        ? (x.each(n._childConstructors, function (t, e) {
9349                              var i = e.prototype;
9350                              x.widget(i.namespace + "." + i.widgetName, s, e._proto);
9351                          }),
9352                          delete n._childConstructors)
9353                        : i._childConstructors.push(s),
9354                    x.widget.bridge(t, s),
9355                    s
9356                );
9357            }),
9358            (x.widget.extend = function (t) {
9359                for (var e, i, n = f.call(arguments, 1), s = 0, o = n.length; s < o; s++)
9360                    for (e in n[s]) (i = n[s][e]), n[s].hasOwnProperty(e) && void 0 !== i && (t[e] = x.isPlainObject(i) ? (x.isPlainObject(t[e]) ? x.widget.extend({}, t[e], i) : x.widget.extend({}, i)) : i);
9361                return t;
9362            }),
9363            (x.widget.bridge = function (o, e) {
9364                var r = e.prototype.widgetFullName || o;
9365                x.fn[o] = function (i) {
9366                    var t = "string" == typeof i,
9367                        n = f.call(arguments, 1),
9368                        s = this;
9369                    return (
9370                        t
9371                            ? this.length || "instance" !== i
9372                                ? this.each(function () {
9373                                      var t,
9374                                          e = x.data(this, r);
9375                                      return "instance" === i
9376                                          ? ((s = e), !1)
9377                                          : e
9378                                          ? x.isFunction(e[i]) && "_" !== i.charAt(0)
9379                                              ? (t = e[i].apply(e, n)) !== e && void 0 !== t
9380                                                  ? ((s = t && t.jquery ? s.pushStack(t.get()) : t), !1)
9381                                                  : void 0
9382                                              : x.error("no such method '" + i + "' for " + o + " widget instance")
9383                                          : x.error("cannot call methods on " + o + " prior to initialization; attempted to call method '" + i + "'");
9384                                  })
9385                                : (s = void 0)
9386                            : (n.length && (i = x.widget.extend.apply(null, [i].concat(n))),
9387                              this.each(function () {
9388                                  var t = x.data(this, r);
9389                                  t ? (t.option(i || {}), t._init && t._init()) : x.data(this, r, new e(i, this));
9390                              })),
9391                        s
9392                    );
9393                };
9394            }),
9395            (x.Widget = function () {}),
9396            (x.Widget._childConstructors = []),
9397            (x.Widget.prototype = {
9398                widgetName: "widget",
9399                widgetEventPrefix: "",
9400                defaultElement: "<div>",
9401                options: { classes: {}, disabled: !1, create: null },
9402                _createWidget: function (t, e) {
9403                    (e = x(e || this.defaultElement || this)[0]),
9404                        (this.element = x(e)),
9405                        (this.uuid = p++),
9406                        (this.eventNamespace = "." + this.widgetName + this.uuid),
9407                        (this.bindings = x()),
9408                        (this.hoverable = x()),
9409                        (this.focusable = x()),
9410                        (this.classesElementLookup = {}),
9411                        e !== this &&
9412                            (x.data(e, this.widgetFullName, this),
9413                            this._on(!0, this.element, {
9414                                remove: function (t) {
9415                                    t.target === e && this.destroy();
9416                                },
9417                            }),
9418                            (this.document = x(e.style ? e.ownerDocument : e.document || e)),
9419                            (this.window = x(this.document[0].defaultView || this.document[0].parentWindow))),
9420                        (this.options = x.widget.extend({}, this.options, this._getCreateOptions(), t)),
9421                        this._create(),
9422                        this.options.disabled && this._setOptionDisabled(this.options.disabled),
9423                        this._trigger("create", null, this._getCreateEventData()),
9424                        this._init();
9425                },
9426                _getCreateOptions: function () {
9427                    return {};
9428                },
9429                _getCreateEventData: x.noop,
9430                _create: x.noop,
9431                _init: x.noop,
9432                destroy: function () {
9433                    var i = this;
9434                    this._destroy(),
9435                        x.each(this.classesElementLookup, function (t, e) {
9436                            i._removeClass(e, t);
9437                        }),
9438                        this.element.off(this.eventNamespace).removeData(this.widgetFullName),
9439                        this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),
9440                        this.bindings.off(this.eventNamespace);
9441                },
9442                _destroy: x.noop,
9443                widget: function () {
9444                    return this.element;
9445                },
9446                option: function (t, e) {
9447                    var i,
9448                        n,
9449                        s,
9450                        o = t;
9451                    if (0 === arguments.length) return x.widget.extend({}, this.options);
9452                    if ("string" == typeof t)
9453                        if (((o = {}), (t = (i = t.split(".")).shift()), i.length)) {
9454                            for (n = o[t] = x.widget.extend({}, this.options[t]), s = 0; i.length - 1 > s; s++) (n[i[s]] = n[i[s]] || {}), (n = n[i[s]]);
9455                            if (((t = i.pop()), 1 === arguments.length)) return void 0 === n[t] ? null : n[t];
9456                            n[t] = e;
9457                        } else {
9458                            if (1 === arguments.length) return void 0 === this.options[t] ? null : this.options[t];
9459                            o[t] = e;
9460                        }
9461                    return this._setOptions(o), this;
9462                },
9463                _setOptions: function (t) {
9464                    var e;
9465                    for (e in t) this._setOption(e, t[e]);
9466                    return this;
9467                },
9468                _setOption: function (t, e) {
9469                    return "classes" === t && this._setOptionClasses(e), (this.options[t] = e), "disabled" === t && this._setOptionDisabled(e), this;
9470                },
9471                _setOptionClasses: function (t) {
9472                    var e, i, n;
9473                    for (e in t) (n = this.classesElementLookup[e]), t[e] !== this.options.classes[e] && n && n.length && ((i = x(n.get())), this._removeClass(n, e), i.addClass(this._classes({ element: i, keys: e, classes: t, add: !0 })));
9474                },
9475                _setOptionDisabled: function (t) {
9476                    this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!t), t && (this._removeClass(this.hoverable, null, "ui-state-hover"), this._removeClass(this.focusable, null, "ui-state-focus"));
9477                },
9478                enable: function () {
9479                    return this._setOptions({ disabled: !1 });
9480                },
9481                disable: function () {
9482                    return this._setOptions({ disabled: !0 });
9483                },
9484                _classes: function (s) {
9485                    function t(t, e) {
9486                        var i, n;
9487                        for (n = 0; t.length > n; n++)
9488                            (i = r.classesElementLookup[t[n]] || x()),
9489                                (i = s.add ? x(x.unique(i.get().concat(s.element.get()))) : x(i.not(s.element).get())),
9490                                (r.classesElementLookup[t[n]] = i),
9491                                o.push(t[n]),
9492                                e && s.classes[t[n]] && o.push(s.classes[t[n]]);
9493                    }
9494                    var o = [],
9495                        r = this;
9496                    return (
9497                        (s = x.extend({ element: this.element, classes: this.options.classes || {} }, s)),
9498                        this._on(s.element, { remove: "_untrackClassesElement" }),
9499                        s.keys && t(s.keys.match(/\S+/g) || [], !0),
9500                        s.extra && t(s.extra.match(/\S+/g) || []),
9501                        o.join(" ")
9502                    );
9503                },
9504                _untrackClassesElement: function (i) {
9505                    var n = this;
9506                    x.each(n.classesElementLookup, function (t, e) {
9507                        -1 !== x.inArray(i.target, e) && (n.classesElementLookup[t] = x(e.not(i.target).get()));
9508                    });
9509                },
9510                _removeClass: function (t, e, i) {
9511                    return this._toggleClass(t, e, i, !1);
9512                },
9513                _addClass: function (t, e, i) {
9514                    return this._toggleClass(t, e, i, !0);
9515                },
9516                _toggleClass: function (t, e, i, n) {
9517                    n = "boolean" == typeof n ? n : i;
9518                    var s = "string" == typeof t || null === t,
9519                        o = { extra: s ? e : i, key
9519s: s ? t : e, element: s ? this.element : t, add: n };
9520                    return o.element.toggleClass(this._classes(o), n), this;
9521                },
9522                _on: function (r, a, t) {
9523                    var l,
9524                        c = this;
9525                    "boolean" != typeof r && ((t = a), (a = r), (r = !1)),
9526                        t ? ((a = l = x(a)), (this.bindings = this.bindings.add(a))) : ((t = a), (a = this.element), (l = this.widget())),
9527                        x.each(t, function (t, e) {
9528                            function i() {
9529                                return r || (!0 !== c.options.disabled && !x(this).hasClass("ui-state-disabled")) ? ("string" == typeof e ? c[e] : e).apply(c, arguments) : void 0;
9530                            }
9531                            "string" != typeof e && (i.guid = e.guid = e.guid || i.guid || x.guid++);
9532                            var n = t.match(/^([\w:-]*)\s*(.*)$/),
9533                                s = n[1] + c.eventNamespace,
9534                                o = n[2];
9535                            o ? l.on(s, o, i) : a.on(s, i);
9536                        });
9537                },
9538                _off: function (t, e) {
9539                    (e = (e || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace),
9540                        t.off(e).off(e),
9541                        (this.bindings = x(this.bindings.not(t).get())),
9542                        (this.focusable = x(this.focusable.not(t).get())),
9543                        (this.hoverable = x(this.hoverable.not(t).get()));
9544                },
9545                _delay: function (t, e) {
9546                    var i = this;
9547                    return setTimeout(function () {
9548                        return ("string" == typeof t ? i[t] : t).apply(i, arguments);
9549                    }, e || 0);
9550                },
9551                _hoverable: function (t) {
9552                    (this.hoverable = this.hoverable.add(t)),
9553                        this._on(t, {
9554                            mouseenter: function (t) {
9555                                this._addClass(x(t.currentTarget), null, "ui-state-hover");
9556                            },
9557                            mouseleave: function (t) {
9558                                this._removeClass(x(t.currentTarget), null, "ui-state-hover");
9559                            },
9560                        });
9561                },
9562                _focusable: function (t) {
9563                    (this.focusable = this.focusable.add(t)),
9564                        this._on(t, {
9565                            focusin: function (t) {
9566                                this._addClass(x(t.currentTarget), null, "ui-state-focus");
9567                            },
9568                            focusout: function (t) {
9569                                this._removeClass(x(t.currentTarget), null, "ui-state-focus");
9570                            },
9571                        });
9572                },
9573                _trigger: function (t, e, i) {
9574                    var n,
9575                        s,
9576                        o = this.options[t];
9577                    if (((i = i || {}), ((e = x.Event(e)).type = (t === this.widgetEventPrefix ? t : this.widgetEventPrefix + t).toLowerCase()), (e.target = this.element[0]), (s = e.originalEvent))) for (n in s) n in e || (e[n] = s[n]);
9578                    return this.element.trigger(e, i), !((x.isFunction(o) && !1 === o.apply(this.element[0], [e].concat(i))) || e.isDefaultPrevented());
9579                },
9580            }),
9581            x.each({ show: "fadeIn", hide: "fadeOut" }, function (o, r) {
9582                x.Widget.prototype["_" + o] = function (e, t, i) {
9583                    "string" == typeof t && (t = { effect: t });
9584                    var n,
9585                        s = t ? (!0 !== t && "number" != typeof t && t.effect) || r : o;
9586                    "number" == typeof (t = t || {}) && (t = { duration: t }),
9587                        (n = !x.isEmptyObject(t)),
9588                        (t.complete = i),
9589                        t.delay && e.delay(t.delay),
9590                        n && x.effects && x.effects.effect[s]
9591                            ? e[o](t)
9592                            : s !== o && e[s]
9593                            ? e[s](t.duration, t.easing, i)
9594                            : e.queue(function (t) {
9595                                  x(this)[o](), i && i.call(e[0]), t();
9596                              });
9597                };
9598            }),
9599            x.widget,
9600            (w = Math.max),
9601            (C = Math.abs),
9602            (r = /left|center|right/),
9603            (a = /top|center|bottom/),
9604            (l = /[\+\-]\d+(\.[\d]+)?%?/),
9605            (c = /^\w+/),
9606            (u = /%$/),
9607            (T = x.fn.position),
9608            (x.position = {
9609                scrollbarWidth: function () {
9610                    if (void 0 !== s) return s;
9611                    var t,
9612                        e,
9613                        i = x("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),
9614                        n = i.children()[0];
9615                    return x("body").append(i), (t = n.offsetWidth), i.css("overflow", "scroll"), t === (e = n.offsetWidth) && (e = i[0].clientWidth), i.remove(), (s = t - e);
9616                },
9617                getScrollInfo: function (t) {
9618                    var e = t.isWindow || t.isDocument ? "" : t.element.css("overflow-x"),
9619                        i = t.isWindow || t.isDocument ? "" : t.element.css("overflow-y"),
9620                        n = "scroll" === e || ("auto" === e && t.width < t.element[0].scrollWidth);
9621                    return { width: "scroll" === i || ("auto" === i && t.height < t.element[0].scrollHeight) ? x.position.scrollbarWidth() : 0, height: n ? x.position.scrollbarWidth() : 0 };
9622                },
9623                getWithinInfo: function (t) {
9624                    var e = x(t || window),
9625                        i = x.isWindow(e[0]),
9626                        n = !!e[0] && 9 === e[0].nodeType;
9627                    return { element: e, isWindow: i, isDocument: n, offset: !i && !n ? x(t).offset() : { left: 0, top: 0 }, scrollLeft: e.scrollLeft(), scrollTop: e.scrollTop(), width: e.outerWidth(), height: e.outerHeight() };
9628                },
9629            }),
9630            (x.fn.position = function (h) {
9631                if (!h || !h.of) return T.apply(this, arguments);
9632                h = x.extend({}, h);
9633                var d,
9634                    p,
9635                    f,
9636                    m,
9637                    g,
9638                    t,
9639                    e,
9640                    i,
9641                    v = x(h.of),
9642                    b = x.position.getWithinInfo(h.within),
9643                    y = x.position.getScrollInfo(b),
9644                    _ = (h.collision || "flip").split(" "),
9645                    k = {};
9646                return (
9647                    (t =
9648                        9 === (i = (e = v)[0]).nodeType
9649                            ? { width: e.width(), height: e.height(), offset: { top: 0, left: 0 } }
9650                            : x.isWindow(i)
9651                            ? { width: e.width(), height: e.height(), offset: { top: e.scrollTop(), left: e.scrollLeft() } }
9652                            : i.preventDefault
9653                            ? { width: 0, height: 0, offset: { top: i.pageY, left: i.pageX } }
9654                            : { width: e.outerWidth(), height: e.outerHeight(), offset: e.offset() }),
9655                    v[0].preventDefault && (h.at = "left top"),
9656                    (p = t.width),
9657                    (f = t.height),
9658                    (m = t.offset),
9659                    (g = x.extend({}, m)),
9660                    x.each(["my", "at"], function () {
9661                        var t,
9662                            e,
9663                            i = (h[this] || "").split(" ");
9664                        1 === i.length && (i = r.test(i[0]) ? i.concat(["center"]) : a.test(i[0]) ? ["center"].concat(i) : ["center", "center"]),
9665                            (i[0] = r.test(i[0]) ? i[0] : "center"),
9666                            (i[1] = a.test(i[1]) ? i[1] : "center"),
9667                            (t = l.exec(i[0])),
9668                            (e = l.exec(i[1])),
9669                            (k[this] = [t ? t[0] : 0, e ? e[0] : 0]),
9670                            (h[this] = [c.exec(i[0])[0], c.exec(i[1])[0]]);
9671                    }),
9672                    1 === _.length && (_[1] = _[0]),
9673                    "right" === h.at[0] ? (g.left += p) : "center" === h.at[0] && (g.left += p / 2),
9674                    "bottom" === h.at[1] ? (g.top += f) : "center" === h.at[1] && (g.top += f / 2),
9675                    (d = S(k.at, p, f)),
9676                    (g.left += d[0]),
9677                    (g.top += d[1]),
9678                    this.each(function () {
9679                        var i,
9680                            t,
9681                            r = x(this),
9682                            a = r.outerWidth(),
9683                            l = r.outerHeight(),
9684                            e = D(this, "marginLeft"),
9685                            n = D(this, "marginTop"),
9686                            s = a + e + D(this, "marginRight") + y.width,
9687                            o = l + n + D(this, "marginBottom") + y.height,
9688                            c = x.extend({}, g),
9689                            u = S(k.my, r.outerWidth(), r.outerHeight());
9690                        "right" === h.my[0] ? (c.left -= a) : "center" === h.my[0] && (c.left -= a / 2),
9691                            "bottom" === h.my[1] ? (c.top -= l) : "center" === h.my[1] && (c.top -= l / 2),
9692                            (c.left += u[0]),
9693                            (c.top += u[1]),
9694                            (i = { marginLeft: e, marginTop: n }),
9695                            x.each(["left", "top"], function (t, e) {
9696                                x.ui.position[_[t]] &&
9697                                    x.ui.position[_[t]][e](c, {
9698                                        targetWidth: p,
9699                                        targetHeight: f,
9700                                        elemWidth: a,
9701                                        elemHeight: l,
9702                                        collisionPosition: i,
9703                                        collisionWidth: s,
9704                                        collisionHeight: o,
9705                                        offset: [d[0] + u[0], d[1] + u[1]],
9706                                        my: h.my,
9707                                        at: h.at,
9708                                        within: b,
9709                                        elem: r,
9710                                    });
9711                            }),
9712                            h.using &&
9713                                (t = function (t) {
9714                                    var e = m.left - c.left,
9715                                        i = e + p - a,
9716                                        n = m.top - c.top,
9717                                        s = n + f - l,
9718                                        o = {
9719                                            target: { element: v, left: m.left, top: m.top, width: p, height: f },
9720                                            element: { element: r, left: c.left, top: c.top, width: a, height: l },
9721                                            horizontal: i < 0 ? "left" : 0 < e ? "right" : "center",
9722                                            vertical: s < 0 ? "top" : 0 < n ? "bottom" : "middle",
9723                                        };
9724                                    p < a && p > C(e + i) && (o.horizontal = "center"), f < l && f > C(n + s) && (o.vertical = "middle"), (o.important = w(C(e), C(i)) > w(C(n), C(s)) ? "horizontal" : "vertical"), h.using.call(this, t, o);
9725                                }),
9726                            r.offset(x.extend(c, { using: t }));
9727                    })
9728                );
9729            }),
9730            (x.ui.position = {
9731                fit: {
9732                    left: function (t, e) {
9733                        var i,
9734                            n = e.within,
9735                            s = n.isWindow ? n.scrollLeft : n.offset.left,
9736                            o = n.width,
9737                            r = t.left - e.collisionPosition.marginLeft,
9738                            a = s - r,
9739                            l = r + e.collisionWidth - o - s;
9740                        e.collisionWidth > o
9741                            ? 0 < a && l <= 0
9742                                ? ((i = t.left + a + e.collisionWidth - o - s), (t.left += a - i))
9743                                : (t.left = !(0 < l && a <= 0) && l < a ? s + o - e.collisionWidth : s)
9744                            : 0 < a
9745                            ? (t.left += a)
9746                            : 0 < l
9747                            ? (t.left -= l)
9748                            : (t.left = w(t.left - r, t.left));
9749                    },
9750                    top: function (t, e) {
9751                        var i,
9752                            n = e.within,
9753                            s = n.isWindow ? n.scrollTop : n.offset.top,
9754                            o = e.within.height,
9755                            r = t.top - e.collisionPosition.marginTop,
9756                            a = s - r,
9757                            l = r + e.collisionHeight - o - s;
9758                        e.collisionHeight > o
9759                            ? 0 < a && l <= 0
9760                                ? ((i = t.top + a + e.collisionHeight - o - s), (t.top += a - i))
9761                                : (t.top = !(0 < l && a <= 0) && l < a ? s + o - e.collisionHeight : s)
9762                            : 0 < a
9763                            ? (t.top += a)
9764                            : 0 < l
9765                            ? (t.top -= l)
9766                            : (t.top = w(t.top - r, t.top));
9767                    },
9768                },
9769                flip: {
9770                    left: function (t, e) {
9771                        var i,
9772                            n,
9773                            s = e.within,
9774                            o = s.offset.left + s.scrollLeft,
9775                            r = s.width,
9776                            a = s.isWindow ? s.scrollLeft : s.offset.left,
9777                            l = t.left - e.collisionPosition.marginLeft,
9778                            c = l - a,
9779                            u = l + e.collisionWidth - r - a,
9780                            h = "left" === e.my[0] ? -e.elemWidth : "right" === e.my[0] ? e.elemWidth : 0,
9781                            d = "left" === e.at[0] ? e.targetWidth : "right" === e.at[0] ? -e.targetWidth : 0,
9782                            p = -2 * e.offset[0];
9783                        c < 0
9784                            ? ((i = t.left + h + d + p + e.collisionWidth - r - o) < 0 || C(c) > i) && (t.left += h + d + p)
9785                            : 0 < u && (0 < (n = t.left - e.collisionPosition.marginLeft + h + d + p - a) || u > C(n)) && (t.left += h + d + p);
9786                    },
9787                    top: function (t, e) {
9788                        var i,
9789                            n,
9790                            s = e.within,
9791                            o = s.offset.top + s.scrollTop,
9792                            r = s.height,
9793                            a = s.isWindow ? s.scrollTop : s.offset.top,
9794                            l = t.top - e.collisionPosition.marginTop,
9795                            c = l - a,
9796                            u = l + e.collisionHeight - r - a,
9797                            h = "top" === e.my[1] ? -e.elemHeight : "bottom" === e.my[1] ? e.elemHeight : 0,
9798                            d = "top" === e.at[1] ? e.targetHeight : "bottom" === e.at[1] ? -e.targetHeight : 0,
9799                            p = -2 * e.offset[1];
9800                        c < 0 ? ((n = t.top + h + d + p + e.collisionHeight - r - o) < 0 || C(c) > n) && (t.top += h + d + p) : 0 < u && (0 < (i = t.top - e.collisionPosition.marginTop + h + d + p - a) || u > C(i)) && (t.top += h + d + p);
9801                    },
9802                },
9803                flipfit: {
9804                    left: function () {
9805                        x.ui.position.flip.left.apply(this, arguments), x.ui.position.fit.left.apply(this, arguments);
9806                    },
9807                    top: function () {
9808                        x.ui.position.flip.top.apply(this, arguments), x.ui.position.fit.top.apply(this, arguments);
9809                    },
9810                },
9811            }),
9812            x.ui.position,
9813            x.extend(x.expr[":"], {
9814                data: x.expr.createPseudo
9815                    ? x.expr.createPseudo(function (e) {
9816                          return function (t) {
9817                              return !!x.data(t, e);
9818                          };
9819                      })
9820                    : function (t, e, i) {
9821                          return !!x.data(t, i[3]);
9822                      },
9823            }),
9824            x.fn.extend({
9825                disableSelection:
9826                    ((n = "onselectstart" in document.createElement("div") ? "selectstart" : "mousedown"),
9827                    function () {
9828                        return this.on(n + ".ui-disableSelection", function (t) {
9829                            t.preventDefault();
9830                        });
9831                    }),
9832                enableSelection: function () {
9833                    return this.off(".ui-disableSelection");
9834                },
9835            });
9836        var m,
9837            g,
9838            v,
9839            b,
9840            y,
9841            _,
9842            k,
9843            P,
9844            I,
9845            A,
9846            M,
9847            E,
9848            O,
9849            H,
9850            N,
9851            z,
9852            L,
9853            j,
9854            F,
9855            R,
9856            W,
9857            $ = "ui-effects-",
9858            B = "ui-effects-style",
9859            q = "ui-effects-animated",
9860            Y = x;
9861        function U(t, e, i, n) {
9862            return (
9863                x.isPlainObject(t) && (t = (e = t).effect),
9864                (t = { effect: t }),
9865                null == e && (e = {}),
9866                x.isFunction(e) && ((n = e), (i = null), (e = {})),
9867                ("number" != typeof e && !x.fx.speeds[e]) || ((n = i), (i = e), (e = {})),
9868                x.isFunction(i) && ((n = i), (i = null)),
9869                e && x.extend(t, e),
9870                (i = i || e.duration),
9871                (t.duration = x.fx.off ? 0 : "number" == typeof i ? i : i in x.fx.speeds ? x.fx.speeds[i] : x.fx.speeds._default),
9872                (t.complete = n || e.complete),
9873                t
9874            );
9875        }
9876        function V(t) {
9877            return !t || "number" == typeof t || x.fx.speeds[t] || ("string" == typeof t && !x.effects.effect[t]) || x.isFunction(t) || ("object" == typeof t && !t.effect);
9878        }
9879        function K(t, e) {
9880            var i = e.outerWidth(),
9881                n = e.outerHeight(),
9882                s = /^rect\((-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto),?\s*(-?\d*\.?\d*px|-?\d+%|auto)\)$/.exec(t) || ["", 0, i, n, 0];
9883            return { top: parseFloat(s[1]) || 0, right: "auto" === s[2] ? i : parseFloat(s[2]), bottom: "auto" === s[3] ? n : parseFloat(s[3]), left: parseFloat(s[4]) || 0 };
9884        }
9885        function G(t) {
9886            var e,
9887                i,
9888                n = t.ownerDocument.defaultView ? t.ownerDocument.defaultView.getComputedStyle(t, null) : t.currentStyle,
9889                s = {};
9890            if (n && n.length && n[0] && n[n[0]]) for (i = n.length; i--; ) "string" == typeof n[(e = n[i])] && (s[x.camelCase(e)] = n[e]);
9891            else for (e in n) "string" == typeof n[e] && (s[e] = n[e]);
9892            return s;
9893        }
9894        function X(t, e, i) {
9895            var n = j[e.type] || {};
9896            return null == t ? (i || !e.def ? null : e.def) : ((t = n.floor ? ~~t : parseFloat(t)), isNaN(t) ? e.def : n.mod ? (t + n.mod) % n.mod : t < 0 ? 0 : n.max < t ? n.max : t);
9897        }
9898        function Q(r) {
9899            var a = z(),
9900                l = (a._rgba = []);
9901            return (
9902                (r = r.toLowerCase()),
9903                W(N, function (t, e) {
9904                    var i,
9905                        n = e.re.exec(r),
9906                        s = n && e.parse(n),
9907                        o = e.space || "rgba";
9908                    return s ? ((i = a[o](s)), (a[L[o].cache] = i[L[o].cache]), (l = a._rgba = i._rgba), !1) : E;
9909                }),
9910                l.length ? ("0,0,0,0" === l.join() && M.extend(l, O.transparent), a) : O[r]
9911            );
9912        }
9913        function Z(t, e, i) {
9914            return 6 * (i = (i + 1) % 1) < 1 ? t + 6 * (e - t) * i : 2 * i < 1 ? e : 3 * i < 2 ? t + 6 * (e - t) * (2 / 3 - i) : t;
9915        }
9916        (x.effects = { effect: {} }),
9917            (H = /^([\-+])=\s*(\d+\.?\d*)/),
9918            (N = [
9919                {
9920                    re: /rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
9921                    parse: function (t) {
9922                        return [t[1], t[2], t[3], t[4]];
9923                    },
9924                },
9925                {
9926                    re: /rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
9927                    parse: function (t) {
9928                        return [2.55 * t[1], 2.55 * t[2], 2.55 * t[3], t[4]];
9929                    },
9930                },
9931                {
9932                    re: /#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,
9933                    parse: function (t) {
9934                        return [parseInt(t[1], 16), parseInt(t[2], 16), parseInt(t[3], 16)];
9935                    },
9936                },
9937                {
9938                    re: /#([a-f0-9])([a-f0-9])([a-f0-9])/,
9939                    parse: function (t) {
9940                        return [parseInt(t[1] + t[1], 16), parseInt(t[2] + t[2], 16), parseInt(t[3] + t[3], 16)];
9941                    },
9942                },
9943                {
9944                    re: /hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,
9945                    space: "hsla",
9946                    parse: function (t) {
9947                        return [t[1], t[2] / 100, t[3] / 100, t[4]];
9948                    },
9949                },
9950            ]),
9951            (z = (M = Y).Color = function (t, e, i, n) {
9952                return new M.Color.fn.parse(t, e, i, n);
9953            }),
9954            (L = {
9955                rgba: { props: { red: { idx: 0, type: "byte" }, green: { idx: 1, type: "byte" }, blue: { idx: 2, type: "byte" } } },
9956                hsla: { props: { hue: { idx: 0, type: "degrees" }, saturation: { idx: 1, type: "percent" }, lightness: { idx: 2, type: "percent" } } },
9957            }),
9958            (j = { byte: { floor: !0, max: 255 }, percent: { max: 1 }, degrees: { mod: 360, floor: !0 } }),
9959            (F = z.support = {}),
9960            (R = M("<p>")[0]),
9961            (W = M.each),
9962            (R.style.cssText = "background-color:rgba(1,1,1,.5)"),
9963            (F.rgba = -1 < R.style.backgroundColor.indexOf("rgba")),
9964            W(L, function (t, e) {
9965                (e.cache = "_" + t), (e.props.alpha = { idx: 3, type: "percent", def: 1 });
9966            }),
9967            (z.fn = M.extend(z.prototype, {
9968                parse: function (s, t, e, i) {
9969                    if (s === E) return (this._rgba = [null, null, null, null]), this;
9970                    (s.jquery || s.nodeType) && ((s = M(s).css(t)), (t = E));
9971                    var o = this,
9972                        n = M.type(s),
9973                        r = (this._rgba = []);
9974                    return (
9975                        t !== E && ((s = [s, t, e, i]), (n = "array")),
9976                        "string" === n
9977                            ? this.parse(Q(s) || O._default)
9978                            : "array" === n
9979                            ? (W(L.rgba.props, function (t, e) {
9980                                  r[e.idx] = X(s[e.idx], e);
9981                              }),
9982                              this)
9983                            : "object" === n
9984                            ? (W(
9985                                  L,
9986                                  s instanceof z
9987                                      ? function (t, e) {
9988                                            s[e.cache] && (o[e.cache] = s[e.cache].slice());
9989                                        }
9990                                      : function (t, i) {
9991                                            var n = i.cache;
9992                                            W(i.props, function (t, e) {
9993                                                if (!o[n] && i.to) {
9994                                                    if ("alpha" === t || null == s[t]) return;
9995                                                    o[n] = i.to(o._rgba);
9996                                                }
9997                                                o[n][e.idx] = X(s[t], e, !0);
9998                                            }),
9999                                                o[n] && M.inArray(null, o[n].slice(0, 3)) < 0 && ((o[n][3] = 1), i.from && (o._rgba = i.from(o[n])));
10000                                        }
10001                              ),
10002                              this)
10003                            : E
10004                    );
10005                },
10006                is: function (t) {
10007                    var s = z(t),
10008                        o = !0,
10009                        r = this;
10010                    return (
10011                        W(L, function (t, e) {
10012                            var i,
10013                                n = s[e.cache];
10014                            return (
10015                                n &&
10016                                    ((i = r[e.cache] || (e.to && e.to(r._rgba)) || []),
10017                                    W(e.props, function (t, e) {
10018                                        return null != n[e.idx] ? (o = n[e.idx] === i[e.idx]) : E;
10019                                    })),
10020                                o
10021                            );
10022                        }),
10023                        o
10024                    );
10025                },
10026                _space: function () {
10027                    var i = [],
10028                        n = this;
10029                    return (
10030                        W(L, function (t, e) {
10031                            n[e.cache] && i.push(t);
10032                        }),
10033                        i.pop()
10034                    );
10035                },
10036                transition: function (t, r) {
10037                    var a = z(t),
10038                        e = a._space(),
10039                        i = L[e],
10040                        n = 0 === this.alpha() ? z("transparent") : this,
10041                        l = n[i.cache] || i.to(n._rgba),
10042                        c = l.slice();
10043                    return (
10044                        (a = a[i.cache]),
10045                        W(i.props, function (t, e) {
10046                            var i = e.idx,
10047                                n = l[i],
10048                                s = a[i],
10049                                o = j[e.type] || {};
10050                            null !== s && (null === n ? (c[i] = s) : (o.mod && (o.mod / 2 < s - n ? (n += o.mod) : o.mod / 2 < n - s && (n -= o.mod)), (c[i] = X((s - n) * r + n, e))));
10051                        }),
10052                        this[e](c)
10053                    );
10054                },
10055                blend: function (t) {
10056                    if (1 === this._rgba[3]) return this;
10057                    var e = this._rgba.slice(),
10058                        i = e.pop(),
10059                        n = z(t)._rgba;
10060                    return z(
10061                        M.map(e, function (t, e) {
10062                            return (1 - i) * n[e] + i * t;
10063                        })
10064                    );
10065                },
10066                toRgbaString: function () {
10067                    var t = "rgba(",
10068                        e = M.map(this._rgba, function (t, e) {
10069                            return null == t ? (2 < e ? 1 : 0) : t;
10070                        });
10071                    return 1 === e[3] && (e.pop(), (t = "rgb(")), t + e.join() + ")";
10072                },
10073                toHslaString: function () {
10074                    var t = "hsla(",
10075                        e = M.map(this.hsla(), function (t, e) {
10076                            return null == t && (t = 2 < e ? 1 : 0), e && e < 3 && (t = Math.round(100 * t) + "%"), t;
10077                        });
10078                    return 1 === e[3] && (e.pop(), (t = "hsl(")), t + e.join() + ")";
10079                },
10080                toHexString: function (t) {
10081                    var e = this._rgba.slice(),
10082                        i = e.pop();
10083                    return (
10084                        t && e.push(~~(255 * i)),
10085                        "#" +
10086                            M.map(e, function (t) {
10087                                return 1 === (t = (t || 0).toString(16)).length ? "0" + t : t;
10088                            }).join("")
10089                    );
10090                },
10091                toString: function () {
10092                    return 0 === this._rgba[3] ? "transparent" : this.toRgbaString();
10093                },
10094            })),
10095            (z.fn.parse.prototype = z.fn),
10096            (L.hsla.to = function (t) {
10097                if (null == t[0] || null == t[1] || null == t[2]) return [null, null, null, t[3]];
10098                var e,
10099                    i,
10100                    n = t[0] / 255,
10101                    s = t[1] / 255,
10102                    o = t[2] / 255,
10103                    r = t[3],
10104                    a = Math.max(n, s, o),
10105                    l = Math.min(n, s, o),
10106                    c = a - l,
10107                    u = a + l,
10108                    h = 0.5 * u;
10109                return (
10110                    (e = l === a ? 0 : n === a ? (60 * (s - o)) / c + 360 : s === a ? (60 * (o - n)) / c + 120 : (60 * (n - s)) / c + 240), (i = 0 == c ? 0 : h <= 0.5 ? c / u : c / (2 - u)), [Math.round(e) % 360, i, h, null == r ? 1 : r]
10111                );
10112            }),
10113            (L.hsla.from = function (t) {
10114                if (null == t[0] || null == t[1] || null == t[2]) return [null, null, null, t[3]];
10115                var e = t[0] / 360,
10116                    i = t[1],
10117                    n = t[2],
10118                    s = t[3],
10119                    o = n <= 0.5 ? n * (1 + i) : n + i - n * i,
10120                    r = 2 * n - o;
10121                return [Math.round(255 * Z(r, o, e + 1 / 3)), Math.round(255 * Z(r, o, e)), Math.round(255 * Z(r, o, e - 1 / 3)), s];
10122            }),
10123            W(L, function (l, t) {
10124                var i = t.props,
10125                    r = t.cache,
10126                    a = t.to,
10127                    c = t.from;
10128                (z.fn[l] = function (t) {
10129                    if ((a && !this[r] && (this[r] = a(this._rgba)), t === E)) return this[r].slice();
10130                    var e,
10131                        n = M.type(t),
10132                        s = "array" === n || "object" === n ? t : arguments,
10133                        o = this[r].slice();
10134                    return (
10135                        W(i, function (t, e) {
10136                            var i = s["object" === n ? t : e.idx];
10137                            null == i && (i = o[e.idx]), (o[e.idx] = X(i, e));
10138                        }),
10139                        c ? (((e = z(c(o)))[r] = o), e) : z(o)
10140                    );
10141                }),
10142                    W(i, function (r, a) {
10143                        z.fn[r] ||
10144                            (z.fn[r] = function (t) {
10145                                var e,
10146                                    i = M.type(t),
10147                                    n = "alpha" === r ? (this._hsla ? "hsla" : "rgba") : l,
10148                                    s = this[n](),
10149                                    o = s[a.idx];
10150                                return "undefined" === i
10151                                    ? o
10152                                    : ("function" === i && ((t = t.call(this, o)), (i = M.type(t))),
10153                                      null == t && a.empty ? this : ("string" === i && (e = H.exec(t)) && (t = o + parseFloat(e[2]) * ("+" === e[1] ? 1 : -1)), (s[a.idx] = t), this[n](s)));
10154                            });
10155                    });
10156            }),
10157            (z.hook = function (t) {
10158                var e = t.split(" ");
10159                W(e, function (t, o) {
10160                    (M.cssHooks[o] = {
10161                        set: function (t, e) {
10162                            var i,
10163                                n,
10164                                s = "";
10165                            if ("transparent" !== e && ("string" !== M.type(e) || (i = Q(e)))) {
10166                                if (((e = z(i || e)), !F.rgba && 1 !== e._rgba[3])) {
10167                                    for (n = "backgroundColor" === o ? t.parentNode : t; ("" === s || "transparent" === s) && n && n.style; )
10168                                        try {
10169                                            (s = M.css(n, "backgroundColor")), (n = n.parentNode);
10170                                        } catch (t) {}
10171                                    e = e.blend(s && "transparent" !== s ? s : "_default");
10172                                }
10173                                e = e.toRgbaString();
10174                            }
10175                            try {
10176                                t.style[o] = e;
10177                            } catch (t) {}
10178                        },
10179                    }),
10180                        (M.fx.step[o] = function (t) {
10181                            t.colorInit || ((t.start = z(t.elem, o)), (t.end = z(t.end
10181)), (t.colorInit = !0)), M.cssHooks[o].set(t.elem, t.start.transition(t.end, t.pos));
10182                        });
10183                });
10184            }),
10185            z.hook("backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor"),
10186            (M.cssHooks.borderColor = {
10187                expand: function (i) {
10188                    var n = {};
10189                    return (
10190                        W(["Top", "Right", "Bottom", "Left"], function (t, e) {
10191                            n["border" + e + "Color"] = i;
10192                        }),
10193                        n
10194                    );
10195                },
10196            }),
10197            (O = M.Color.names = {
10198                aqua: "#00ffff",
10199                black: "#000000",
10200                blue: "#0000ff",
10201                fuchsia: "#ff00ff",
10202                gray: "#808080",
10203                green: "#008000",
10204                lime: "#00ff00",
10205                maroon: "#800000",
10206                navy: "#000080",
10207                olive: "#808000",
10208                purple: "#800080",
10209                red: "#ff0000",
10210                silver: "#c0c0c0",
10211                teal: "#008080",
10212                white: "#ffffff",
10213                yellow: "#ffff00",
10214                transparent: [null, null, null, 0],
10215                _default: "#ffffff",
10216            }),
10217            (I = ["add", "remove", "toggle"]),
10218            (A = { border: 1, borderBottom: 1, borderColor: 1, borderLeft: 1, borderRight: 1, borderTop: 1, borderWidth: 1, margin: 1, padding: 1 }),
10219            x.each(["borderLeftStyle", "borderRightStyle", "borderBottomStyle", "borderTopStyle"], function (t, e) {
10220                x.fx.step[e] = function (t) {
10221                    (("none" !== t.end && !t.setAttr) || (1 === t.pos && !t.setAttr)) && (Y.style(t.elem, e, t.end), (t.setAttr = !0));
10222                };
10223            }),
10224            x.fn.addBack ||
10225                (x.fn.addBack = function (t) {
10226                    return this.add(null == t ? this.prevObject : this.prevObject.filter(t));
10227                }),
10228            (x.effects.animateClass = function (s, t, e, i) {
10229                var o = x.speed(t, e, i);
10230                return this.queue(function () {
10231                    var t,
10232                        i = x(this),
10233                        e = i.attr("class") || "",
10234                        n = o.children ? i.find("*").addBack() : i;
10235                    (n = n.map(function () {
10236                        return { el: x(this), start: G(this) };
10237                    })),
10238                        (t = function () {
10239                            x.each(I, function (t, e) {
10240                                s[e] && i[e + "Class"](s[e]);
10241                            });
10242                        })(),
10243                        (n = n.map(function () {
10244                            return (
10245                                (this.end = G(this.el[0])),
10246                                (this.diff = (function (t, e) {
10247                                    var i,
10248                                        n,
10249                                        s = {};
10250                                    for (i in e) (n = e[i]), t[i] !== n && (A[i] || (!x.fx.step[i] && isNaN(parseFloat(n))) || (s[i] = n));
10251                                    return s;
10252                                })(this.start, this.end)),
10253                                this
10254                            );
10255                        })),
10256                        i.attr("class", e),
10257                        (n = n.map(function () {
10258                            var t = this,
10259                                e = x.Deferred(),
10260                                i = x.extend({}, o, {
10261                                    queue: !1,
10262                                    complete: function () {
10263                                        e.resolve(t);
10264                                    },
10265                                });
10266                            return this.el.animate(this.diff, i), e.promise();
10267                        })),
10268                        x.when.apply(x, n.get()).done(function () {
10269                            t(),
10270                                x.each(arguments, function () {
10271                                    var e = this.el;
10272                                    x.each(this.diff, function (t) {
10273                                        e.css(t, "");
10274                                    });
10275                                }),
10276                                o.complete.call(i[0]);
10277                        });
10278                });
10279            }),
10280            x.fn.extend({
10281                addClass:
10282                    ((P = x.fn.addClass),
10283                    function (t, e, i, n) {
10284                        return e ? x.effects.animateClass.call(this, { add: t }, e, i, n) : P.apply(this, arguments);
10285                    }),
10286                removeClass:
10287                    ((k = x.fn.removeClass),
10288                    function (t, e, i, n) {
10289                        return 1 < arguments.length ? x.effects.animateClass.call(this, { remove: t }, e, i, n) : k.apply(this, arguments);
10290                    }),
10291                toggleClass:
10292                    ((_ = x.fn.toggleClass),
10293                    function (t, e, i, n, s) {
10294                        return "boolean" == typeof e || void 0 === e ? (i ? x.effects.animateClass.call(this, e ? { add: t } : { remove: t }, i, n, s) : _.apply(this, arguments)) : x.effects.animateClass.call(this, { toggle: t }, e, i, n);
10295                    }),
10296                switchClass: function (t, e, i, n, s) {
10297                    return x.effects.animateClass.call(this, { add: e, remove: t }, i, n, s);
10298                },
10299            }),
10300            x.expr &&
10301                x.expr.filters &&
10302                x.expr.filters.animated &&
10303                (x.expr.filters.animated =
10304                    ((y = x.expr.filters.animated),
10305                    function (t) {
10306                        return !!x(t).data(q) || y(t);
10307                    })),
10308            !1 !== x.uiBackCompat &&
10309                x.extend(x.effects, {
10310                    save: function (t, e) {
10311                        for (var i = 0, n = e.length; i < n; i++) null !== e[i] && t.data($ + e[i], t[0].style[e[i]]);
10312                    },
10313                    restore: function (t, e) {
10314                        for (var i, n = 0, s = e.length; n < s; n++) null !== e[n] && ((i = t.data($ + e[n])), t.css(e[n], i));
10315                    },
10316                    setMode: function (t, e) {
10317                        return "toggle" === e && (e = t.is(":hidden") ? "show" : "hide"), e;
10318                    },
10319                    createWrapper: function (i) {
10320                        if (i.parent().is(".ui-effects-wrapper")) return i.parent();
10321                        var n = { width: i.outerWidth(!0), height: i.outerHeight(!0), float: i.css("float") },
10322                            t = x("<div></div>").addClass("ui-effects-wrapper").css({ fontSize: "100%", background: "transparent", border: "none", margin: 0, padding: 0 }),
10323                            e = { width: i.width(), height: i.height() },
10324                            s = document.activeElement;
10325                        try {
10326                            s.id;
10327                        } catch (t) {
10328                            s = document.body;
10329                        }
10330                        return (
10331                            i.wrap(t),
10332                            (i[0] !== s && !x.contains(i[0], s)) || x(s).trigger("focus"),
10333                            (t = i.parent()),
10334                            "static" === i.css("position")
10335                                ? (t.css({ position: "relative" }), i.css({ position: "relative" }))
10336                                : (x.extend(n, { position: i.css("position"), zIndex: i.css("z-index") }),
10337                                  x.each(["top", "left", "bottom", "right"], function (t, e) {
10338                                      (n[e] = i.css(e)), isNaN(parseInt(n[e], 10)) && (n[e] = "auto");
10339                                  }),
10340                                  i.css({ position: "relative", top: 0, left: 0, right: "auto", bottom: "auto" })),
10341                            i.css(e),
10342                            t.css(n).show()
10343                        );
10344                    },
10345                    removeWrapper: function (t) {
10346                        var e = document.activeElement;
10347                        return t.parent().is(".ui-effects-wrapper") && (t.parent().replaceWith(t), (t[0] !== e && !x.contains(t[0], e)) || x(e).trigger("focus")), t;
10348                    },
10349                }),
10350            x.extend(x.effects, {
10351                version: "1.12.1",
10352                define: function (t, e, i) {
10353                    return i || ((i = e), (e = "effect")), (x.effects.effect[t] = i), (x.effects.effect[t].mode = e), i;
10354                },
10355                scaledDimensions: function (t, e, i) {
10356                    if (0 === e) return { height: 0, width: 0, outerHeight: 0, outerWidth: 0 };
10357                    var n = "horizontal" !== i ? (e || 100) / 100 : 1,
10358                        s = "vertical" !== i ? (e || 100) / 100 : 1;
10359                    return { height: t.height() * s, width: t.width() * n, outerHeight: t.outerHeight() * s, outerWidth: t.outerWidth() * n };
10360                },
10361                clipToBox: function (t) {
10362                    return { width: t.clip.right - t.clip.left, height: t.clip.bottom - t.clip.top, left: t.clip.left, top: t.clip.top };
10363                },
10364                unshift: function (t, e, i) {
10365                    var n = t.queue();
10366                    1 < e && n.splice.apply(n, [1, 0].concat(n.splice(e, i))), t.dequeue();
10367                },
10368                saveStyle: function (t) {
10369                    t.data(B, t[0].style.cssText);
10370                },
10371                restoreStyle: function (t) {
10372                    (t[0].style.cssText = t.data(B) || ""), t.removeData(B);
10373                },
10374                mode: function (t, e) {
10375                    var i = t.is(":hidden");
10376                    return "toggle" === e && (e = i ? "show" : "hide"), (i ? "hide" === e : "show" === e) && (e = "none"), e;
10377                },
10378                getBaseline: function (t, e) {
10379                    var i, n;
10380                    switch (t[0]) {
10381                        case "top":
10382                            i = 0;
10383                            break;
10384                        case "middle":
10385                            i = 0.5;
10386                            break;
10387                        case "bottom":
10388                            i = 1;
10389                            break;
10390                        default:
10391                            i = t[0] / e.height;
10392                    }
10393                    switch (t[1]) {
10394                        case "left":
10395                            n = 0;
10396                            break;
10397                        case "center":
10398                            n = 0.5;
10399                            break;
10400                        case "right":
10401                            n = 1;
10402                            break;
10403                        default:
10404                            n = t[1] / e.width;
10405                    }
10406                    return { x: n, y: i };
10407                },
10408                createPlaceholder: function (t) {
10409                    var e,
10410                        i = t.css("position"),
10411                        n = t.position();
10412                    return (
10413                        t
10414                            .css({ marginTop: t.css("marginTop"), marginBottom: t.css("marginBottom"), marginLeft: t.css("marginLeft"), marginRight: t.css("marginRight") })
10415                            .outerWidth(t.outerWidth())
10416                            .outerHeight(t.outerHeight()),
10417                        /^(static|relative)/.test(i) &&
10418                            ((i = "absolute"),
10419                            (e = x("<" + t[0].nodeName + ">")
10420                                .insertAfter(t)
10421                                .css({
10422                                    display: /^(inline|ruby)/.test(t.css("display")) ? "inline-block" : "block",
10423                                    visibility: "hidden",
10424                                    marginTop: t.css("marginTop"),
10425                                    marginBottom: t.css("marginBottom"),
10426                                    marginLeft: t.css("marginLeft"),
10427                                    marginRight: t.css("marginRight"),
10428                                    float: t.css("float"),
10429                                })
10430                                .outerWidth(t.outerWidth())
10431                                .outerHeight(t.outerHeight())
10432                                .addClass("ui-effects-placeholder")),
10433                            t.data($ + "placeholder", e)),
10434                        t.css({ position: i, left: n.left, top: n.top }),
10435                        e
10436                    );
10437                },
10438                removePlaceholder: function (t) {
10439                    var e = $ + "placeholder",
10440                        i = t.data(e);
10441                    i && (i.remove(), t.removeData(e));
10442                },
10443                cleanUp: function (t) {
10444                    x.effects.restoreStyle(t), x.effects.removePlaceholder(t);
10445                },
10446                setTransition: function (n, t, s, o) {
10447                    return (
10448                        (o = o || {}),
10449                        x.each(t, function (t, e) {
10450                            var i = n.cssUnit(e);
10451                            0 < i[0] && (o[e] = i[0] * s + i[1]);
10452                        }),
10453                        o
10454                    );
10455                },
10456            }),
10457            x.fn.extend({
10458                effect: function () {
10459                    function t(t) {
10460                        function e() {
10461                            x.isFunction(a) && a.call(i[0]), x.isFunction(t) && t();
10462                        }
10463                        var i = x(this);
10464                        (n.mode = c.shift()),
10465                            !1 === x.uiBackCompat || o
10466                                ? "none" === n.mode
10467                                    ? (i[l](), e())
10468                                    : s.call(i[0], n, function () {
10469                                          i.removeData(q), x.effects.cleanUp(i), "hide" === n.mode && i.hide(), e();
10470                                      })
10471                                : (i.is(":hidden") ? "hide" === l : "show" === l)
10472                                ? (i[l](), e())
10473                                : s.call(i[0], n, e);
10474                    }
10475                    function e(t) {
10476                        var e = x(this),
10477                            i = x.effects.mode(e, l) || o;
10478                        e.data(q, !0), c.push(i), o && ("show" === i || (i === o && "hide" === i)) && e.show(), (o && "none" === i) || x.effects.saveStyle(e), x.isFunction(t) && t();
10479                    }
10480                    var n = U.apply(this, arguments),
10481                        s = x.effects.effect[n.effect],
10482                        o = s.mode,
10483                        i = n.queue,
10484                        r = i || "fx",
10485                        a = n.complete,
10486                        l = n.mode,
10487                        c = [];
10488                    return x.fx.off || !s
10489                        ? l
10490                            ? this[l](n.duration, a)
10491                            : this.each(function () {
10492                                  a && a.call(this);
10493                              })
10494                        : !1 === i
10495                        ? this.each(e).each(t)
10496                        : this.queue(r, e).queue(r, t);
10497                },
10498                show:
10499                    ((b = x.fn.show),
10500                    function (t) {
10501                        if (V(t)) return b.apply(this, arguments);
10502                        var e = U.apply(this, arguments);
10503                        return (e.mode = "show"), this.effect.call(this, e);
10504                    }),
10505                hide:
10506                    ((v = x.fn.hide),
10507                    function (t) {
10508                        if (V(t)) return v.apply(this, arguments);
10509                        var e = U.apply(this, arguments);
10510                        return (e.mode = "hide"), this.effect.call(this, e);
10511                    }),
10512                toggle:
10513                    ((g = x.fn.toggle),
10514                    function (t) {
10515                        if (V(t) || "boolean" == typeof t) return g.apply(this, arguments);
10516                        var e = U.apply(this, arguments);
10517                        return (e.mode = "toggle"), this.effect.call(this, e);
10518                    }),
10519                cssUnit: function (t) {
10520                    var i = this.css(t),
10521                        n = [];
10522                    return (
10523                        x.each(["em", "px", "%", "pt"], function (t, e) {
10524                            0 < i.indexOf(e) && (n = [parseFloat(i), e]);
10525                        }),
10526                        n
10527                    );
10528                },
10529                cssClip: function (t) {
10530                    return t ? this.css("clip", "rect(" + t.top + "px " + t.right + "px " + t.bottom + "px " + t.left + "px)") : K(this.css("clip"), this);
10531                },
10532                transfer: function (t, e) {
10533                    var i = x(this),
10534                        n = x(t.to),
10535                        s = "fixed" === n.css("position"),
10536                        o = x("body"),
10537                        r = s ? o.scrollTop() : 0,
10538                        a = s ? o.scrollLeft() : 0,
10539                        l = n.offset(),
10540                        c = { top: l.top - r, left: l.left - a, height: n.innerHeight(), width: n.innerWidth() },
10541                        u = i.offset(),
10542                        h = x("<div class='ui-effects-transfer'></div>")
10543                            .appendTo("body")
10544                            .addClass(t.className)
10545                            .css({ top: u.top - r, left: u.left - a, height: i.innerHeight(), width: i.innerWidth(), position: s ? "fixed" : "absolute" })
10546                            .animate(c, t.duration, t.easing, function () {
10547                                h.remove(), x.isFunction(e) && e();
10548                            });
10549                },
10550            }),
10551            (x.fx.step.clip = function (t) {
10552                t.clipInit || ((t.start = x(t.elem).cssClip()), "string" == typeof t.end && (t.end = K(t.end, t.elem)), (t.clipInit = !0)),
10553                    x(t.elem).cssClip({
10554                        top: t.pos * (t.end.top - t.start.top) + t.start.top,
10555                        right: t.pos * (t.end.right - t.start.right) + t.start.right,
10556                        bottom: t.pos * (t.end.bottom - t.start.bottom) + t.start.bottom,
10557                        left: t.pos * (t.end.left - t.start.left) + t.start.left,
10558                    });
10559            }),
10560            (m = {}),
10561            x.each(["Quad", "Cubic", "Quart", "Quint", "Expo"], function (e, t) {
10562                m[t] = function (t) {
10563                    return Math.pow(t, e + 2);
10564                };
10565            }),
10566            x.extend(m, {
10567                Sine: function (t) {
10568                    return 1 - Math.cos((t * Math.PI) / 2);
10569                },
10570                Circ: function (t) {
10571                    return 1 - Math.sqrt(1 - t * t);
10572                },
10573                Elastic: function (t) {
10574                    return 0 === t || 1 === t ? t : -Math.pow(2, 8 * (t - 1)) * Math.sin(((80 * (t - 1) 
10574- 7.5) * Math.PI) / 15);
10575                },
10576                Back: function (t) {
10577                    return t * t * (3 * t - 2);
10578                },
10579                Bounce: function (t) {
10580                    for (var e, i = 4; ((e = Math.pow(2, --i)) - 1) / 11 > t; );
10581                    return 1 / Math.pow(4, 3 - i) - 7.5625 * Math.pow((3 * e - 2) / 22 - t, 2);
10582                },
10583            }),
10584            x.each(m, function (t, e) {
10585                (x.easing["easeIn" + t] = e),
10586                    (x.easing["easeOut" + t] = function (t) {
10587                        return 1 - e(1 - t);
10588                    }),
10589                    (x.easing["easeInOut" + t] = function (t) {
10590                        return t < 0.5 ? e(2 * t) / 2 : 1 - e(-2 * t + 2) / 2;
10591                    });
10592            });
10593        var J, tt;
10594        x.effects;
10595        x.effects.define("blind", "hide", function (t, e) {
10596            var i = { up: ["bottom", "top"], vertical: ["bottom", "top"], down: ["top", "bottom"], left: ["right", "left"], horizontal: ["right", "left"], right: ["left", "right"] },
10597                n = x(this),
10598                s = t.direction || "up",
10599                o = n.cssClip(),
10600                r = { clip: x.extend({}, o) },
10601                a = x.effects.createPlaceholder(n);
10602            (r.clip[i[s][0]] = r.clip[i[s][1]]),
10603                "show" === t.mode && (n.cssClip(r.clip), a && a.css(x.effects.clipToBox(r)), (r.clip = o)),
10604                a && a.animate(x.effects.clipToBox(r), t.duration, t.easing),
10605                n.animate(r, { queue: !1, duration: t.duration, easing: t.easing, complete: e });
10606        }),
10607            x.effects.define("bounce", function (t, e) {
10608                var i,
10609                    n,
10610                    s,
10611                    o = x(this),
10612                    r = t.mode,
10613                    a = "hide" === r,
10614                    l = "show" === r,
10615                    c = t.direction || "up",
10616                    u = t.distance,
10617                    h = t.times || 5,
10618                    d = 2 * h + (l || a ? 1 : 0),
10619                    p = t.duration / d,
10620                    f = t.easing,
10621                    m = "up" === c || "down" === c ? "top" : "left",
10622                    g = "up" === c || "left" === c,
10623                    v = 0,
10624                    b = o.queue().length;
10625                for (
10626                    x.effects.createPlaceholder(o),
10627                        s = o.css(m),
10628                        u = u || o["top" == m ? "outerHeight" : "outerWidth"]() / 3,
10629                        l &&
10630                            (((n = { opacity: 1 })[m] = s),
10631                            o
10632                                .css("opacity", 0)
10633                                .css(m, g ? 2 * -u : 2 * u)
10634                                .animate(n, p, f)),
10635                        a && (u /= Math.pow(2, h - 1)),
10636                        (n = {})[m] = s;
10637                    v < h;
10638                    v++
10639                )
10640                    ((i = {})[m] = (g ? "-=" : "+=") + u), o.animate(i, p, f).animate(n, p, f), (u = a ? 2 * u : u / 2);
10641                a && (((i = { opacity: 0 })[m] = (g ? "-=" : "+=") + u), o.animate(i, p, f)), o.queue(e), x.effects.unshift(o, b, 1 + d);
10642            }),
10643            x.effects.define("clip", "hide", function (t, e) {
10644                var i,
10645                    n = {},
10646                    s = x(this),
10647                    o = t.direction || "vertical",
10648                    r = "both" === o,
10649                    a = r || "horizontal" === o,
10650                    l = r || "vertical" === o;
10651                (i = s.cssClip()),
10652                    (n.clip = { top: l ? (i.bottom - i.top) / 2 : i.top, right: a ? (i.right - i.left) / 2 : i.right, bottom: l ? (i.bottom - i.top) / 2 : i.bottom, left: a ? (i.right - i.left) / 2 : i.left }),
10653                    x.effects.createPlaceholder(s),
10654                    "show" === t.mode && (s.cssClip(n.clip), (n.clip = i)),
10655                    s.animate(n, { queue: !1, duration: t.duration, easing: t.easing, complete: e });
10656            }),
10657            x.effects.define("drop", "hide", function (t, e) {
10658                var i,
10659                    n = x(this),
10660                    s = "show" === t.mode,
10661                    o = t.direction || "left",
10662                    r = "up" === o || "down" === o ? "top" : "left",
10663                    a = "up" === o || "left" === o ? "-=" : "+=",
10664                    l = "+=" == a ? "-=" : "+=",
10665                    c = { opacity: 0 };
10666                x.effects.createPlaceholder(n),
10667                    (i = t.distance || n["top" == r ? "outerHeight" : "outerWidth"](!0) / 2),
10668                    (c[r] = a + i),
10669                    s && (n.css(c), (c[r] = l + i), (c.opacity = 1)),
10670                    n.animate(c, { queue: !1, duration: t.duration, easing: t.easing, complete: e });
10671            }),
10672            x.effects.define("explode", "hide", function (t, e) {
10673                function i() {
10674                    g.push(this), g.length === c * u && (h.css({ visibility: "visible" }), x(g).remove(), e());
10675                }
10676                var n,
10677                    s,
10678                    o,
10679                    r,
10680                    a,
10681                    l,
10682                    c = t.pieces ? Math.round(Math.sqrt(t.pieces)) : 3,
10683                    u = c,
10684                    h = x(this),
10685                    d = "show" === t.mode,
10686                    p = h.show().css("visibility", "hidden").offset(),
10687                    f = Math.ceil(h.outerWidth() / u),
10688                    m = Math.ceil(h.outerHeight() / c),
10689                    g = [];
10690                for (n = 0; n < c; n++)
10691                    for (r = p.top + n * m, l = n - (c - 1) / 2, s = 0; s < u; s++)
10692                        (o = p.left + s * f),
10693                            (a = s - (u - 1) / 2),
10694                            h
10695                                .clone()
10696                                .appendTo("body")
10697                                .wrap("<div></div>")
10698                                .css({ position: "absolute", visibility: "visible", left: -s * f, top: -n * m })
10699                                .parent()
10700                                .addClass("ui-effects-explode")
10701                                .css({ position: "absolute", overflow: "hidden", width: f, height: m, left: o + (d ? a * f : 0), top: r + (d ? l * m : 0), opacity: d ? 0 : 1 })
10702                                .animate({ left: o + (d ? 0 : a * f), top: r + (d ? 0 : l * m), opacity: d ? 1 : 0 }, t.duration || 500, t.easing, i);
10703            }),
10704            x.effects.define("fade", "toggle", function (t, e) {
10705                var i = "show" === t.mode;
10706                x(this)
10707                    .css("opacity", i ? 0 : 1)
10708                    .animate({ opacity: i ? 1 : 0 }, { queue: !1, duration: t.duration, easing: t.easing, complete: e });
10709            }),
10710            x.effects.define("fold", "hide", function (e, t) {
10711                var i = x(this),
10712                    n = e.mode,
10713                    s = "show" === n,
10714                    o = "hide" === n,
10715                    r = e.size || 15,
10716                    a = /([0-9]+)%/.exec(r),
10717                    l = !!e.horizFirst ? ["right", "bottom"] : ["bottom", "right"],
10718                    c = e.duration / 2,
10719                    u = x.effects.createPlaceholder(i),
10720                    h = i.cssClip(),
10721                    d = { clip: x.extend({}, h) },
10722                    p = { clip: x.extend({}, h) },
10723                    f = [h[l[0]], h[l[1]]],
10724                    m = i.queue().length;
10725                a && (r = (parseInt(a[1], 10) / 100) * f[o ? 0 : 1]),
10726                    (d.clip[l[0]] = r),
10727                    (p.clip[l[0]] = r),
10728                    (p.clip[l[1]] = 0),
10729                    s && (i.cssClip(p.clip), u && u.css(x.effects.clipToBox(p)), (p.clip = h)),
10730                    i
10731                        .queue(function (t) {
10732                            u && u.animate(x.effects.clipToBox(d), c, e.easing).animate(x.effects.clipToBox(p), c, e.easing), t();
10733                        })
10734                        .animate(d, c, e.easing)
10735                        .animate(p, c, e.easing)
10736                        .queue(t),
10737                    x.effects.unshift(i, m, 4);
10738            }),
10739            x.effects.define("highlight", "show", function (t, e) {
10740                var i = x(this),
10741                    n = { backgroundColor: i.css("backgroundColor") };
10742                "hide" === t.mode && (n.opacity = 0), x.effects.saveStyle(i), i.css({ backgroundImage: "none", backgroundColor: t.color || "#ffff99" }).animate(n, { queue: !1, duration: t.duration, easing: t.easing, complete: e });
10743            }),
10744            x.effects.define("size", function (s, e) {
10745                var t,
10746                    o,
10747                    i,
10748                    n = x(this),
10749                    r = ["fontSize"],
10750                    a = ["borderTopWidth", "borderBottomWidth", "paddingTop", "paddingBottom"],
10751                    l = ["borderLeftWidth", "borderRightWidth", "paddingLeft", "paddingRight"],
10752                    c = s.mode,
10753                    u = "effect" !== c,
10754                    h = s.scale || "both",
10755                    d = s.origin || ["middle", "center"],
10756                    p = n.css("position"),
10757                    f = n.position(),
10758                    m = x.effects.scaledDimensions(n),
10759                    g = s.from || m,
10760                    v = s.to || x.effects.scaledDimensions(n, 0);
10761                x.effects.createPlaceholder(n),
10762                    "show" === c && ((i = g), (g = v), (v = i)),
10763                    (o = { from: { y: g.height / m.height, x: g.width / m.width }, to: { y: v.height / m.height, x: v.width / m.width } }),
10764                    ("box" !== h && "both" !== h) ||
10765                        (o.from.y !== o.to.y && ((g = x.effects.setTransition(n, a, o.from.y, g)), (v = x.effects.setTransition(n, a, o.to.y, v))),
10766                        o.from.x !== o.to.x && ((g = x.effects.setTransition(n, l, o.from.x, g)), (v = x.effects.setTransition(n, l, o.to.x, v)))),
10767                    ("content" !== h && "both" !== h) || o.from.y === o.to.y || ((g = x.effects.setTransition(n, r, o.from.y, g)), (v = x.effects.setTransition(n, r, o.to.y, v))),
10768                    d &&
10769                        ((t = x.effects.getBaseline(d, m)),
10770                        (g.top = (m.outerHeight - g.outerHeight) * t.y + f.top),
10771                        (g.left = (m.outerWidth - g.outerWidth) * t.x + f.left),
10772                        (v.top = (m.outerHeight - v.outerHeight) * t.y + f.top),
10773                        (v.left = (m.outerWidth - v.outerWidth) * t.x + f.left)),
10774                    n.css(g),
10775                    ("content" !== h && "both" !== h) ||
10776                        ((a = a.concat(["marginTop", "marginBottom"]).concat(r)),
10777                        (l = l.concat(["marginLeft", "marginRight"])),
10778                        n.find("*[width]").each(function () {
10779                            var t = x(this),
10780                                e = x.effects.scaledDimensions(t),
10781                                i = { height: e.height * o.from.y, width: e.width * o.from.x, outerHeight: e.outerHeight * o.from.y, outerWidth: e.outerWidth * o.from.x },
10782                                n = { height: e.height * o.to.y, width: e.width * o.to.x, outerHeight: e.height * o.to.y, outerWidth: e.width * o.to.x };
10783                            o.from.y !== o.to.y && ((i = x.effects.setTransition(t, a, o.from.y, i)), (n = x.effects.setTransition(t, a, o.to.y, n))),
10784                                o.from.x !== o.to.x && ((i = x.effects.setTransition(t, l, o.from.x, i)), (n = x.effects.setTransition(t, l, o.to.x, n))),
10785                                u && x.effects.saveStyle(t),
10786                                t.css(i),
10787                                t.animate(n, s.duration, s.easing, function () {
10788                                    u && x.effects.restoreStyle(t);
10789                                });
10790                        })),
10791                    n.animate(v, {
10792                        queue: !1,
10793                        duration: s.duration,
10794                        easing: s.easing,
10795                        complete: function () {
10796                            var t = n.offset();
10797                            0 === v.opacity && n.css("opacity", g.opacity), u || (n.css("position", "static" === p ? "relative" : p).offset(t), x.effects.saveStyle(n)), e();
10798                        },
10799                    });
10800            }),
10801            x.effects.define("scale", function (t, e) {
10802                var i = x(this),
10803                    n = t.mode,
10804                    s = parseInt(t.percent, 10) || (0 === parseInt(t.percent, 10) || "effect" !== n ? 0 : 100),
10805                    o = x.extend(!0, { from: x.effects.scaledDimensions(i), to: x.effects.scaledDimensions(i, s, t.direction || "both"), origin: t.origin || ["middle", "center"] }, t);
10806                t.fade && ((o.from.opacity = 1), (o.to.opacity = 0)), x.effects.effect.size.call(this, o, e);
10807            }),
10808            x.effects.define("puff", "hide", function (t, e) {
10809                var i = x.extend(!0, {}, t, { fade: !0, percent: parseInt(t.percent, 10) || 150 });
10810                x.effects.effect.scale.call(this, i, e);
10811            }),
10812            x.effects.define("pulsate", "show", function (t, e) {
10813                var i = x(this),
10814                    n = t.mode,
10815                    s = "show" === n,
10816                    o = s || "hide" === n,
10817                    r = 2 * (t.times || 5) + (o ? 1 : 0),
10818                    a = t.duration / r,
10819                    l = 0,
10820                    c = 1,
10821                    u = i.queue().length;
10822                for ((!s && i.is(":visible")) || (i.css("opacity", 0).show(), (l = 1)); c < r; c++) i.animate({ opacity: l }, a, t.easing), (l = 1 - l);
10823                i.animate({ opacity: l }, a, t.easing), i.queue(e), x.effects.unshift(i, u, 1 + r);
10824            }),
10825            x.effects.define("shake", function (t, e) {
10826                var i = 1,
10827                    n = x(this),
10828                    s = t.direction || "left",
10829                    o = t.distance || 20,
10830                    r = t.times || 3,
10831                    a = 2 * r + 1,
10832                    l = Math.round(t.duration / a),
10833                    c = "up" === s || "down" === s ? "top" : "left",
10834                    u = "up" === s || "left" === s,
10835                    h = {},
10836                    d = {},
10837                    p = {},
10838                    f = n.queue().length;
10839                for (x.effects.createPlaceholder(n), h[c] = (u ? "-=" : "+=") + o, d[c] = (u ? "+=" : "-=") + 2 * o, p[c] = (u ? "-=" : "+=") + 2 * o, n.animate(h, l, t.easing); i < r; i++) n.animate(d, l, t.easing).animate(p, l, t.easing);
10840                n
10841                    .animate(d, l, t.easing)
10842                    .animate(h, l / 2, t.easing)
10843                    .queue(e),
10844                    x.effects.unshift(n, f, 1 + a);
10845            }),
10846            x.effects.define("slide", "show", function (t, e) {
10847                var i,
10848                    n,
10849                    s = x(this),
10850                    o = { up: ["bottom", "top"], down: ["top", "bottom"], left
10850: ["right", "left"], right: ["left", "right"] },
10851                    r = t.mode,
10852                    a = t.direction || "left",
10853                    l = "up" === a || "down" === a ? "top" : "left",
10854                    c = "up" === a || "left" === a,
10855                    u = t.distance || s["top" == l ? "outerHeight" : "outerWidth"](!0),
10856                    h = {};
10857                x.effects.createPlaceholder(s),
10858                    (i = s.cssClip()),
10859                    (n = s.position()[l]),
10860                    (h[l] = (c ? -1 : 1) * u + n),
10861                    (h.clip = s.cssClip()),
10862                    (h.clip[o[a][1]] = h.clip[o[a][0]]),
10863                    "show" === r && (s.cssClip(h.clip), s.css(l, h[l]), (h.clip = i), (h[l] = n)),
10864                    s.animate(h, { queue: !1, duration: t.duration, easing: t.easing, complete: e });
10865            }),
10866            !1 !== x.uiBackCompat &&
10867                x.effects.define("transfer", function (t, e) {
10868                    x(this).transfer(t, e);
10869                }),
10870            (x.ui.focusable = function (t, e) {
10871                var i,
10872                    n,
10873                    s,
10874                    o,
10875                    r,
10876                    a = t.nodeName.toLowerCase();
10877                return "area" === a
10878                    ? ((n = (i = t.parentNode).name), !(!t.href || !n || "map" !== i.nodeName.toLowerCase()) && 0 < (s = x("img[usemap='#" + n + "']")).length && s.is(":visible"))
10879                    : (/^(input|select|textarea|button|object)$/.test(a) ? (o = !t.disabled) && (r = x(t).closest("fieldset")[0]) && (o = !r.disabled) : (o = ("a" === a && t.href) || e),
10880                      o &&
10881                          x(t).is(":visible") &&
10882                          (function (t) {
10883                              for (var e = t.css("visibility"); "inherit" === e; ) e = (t = t.parent()).css("visibility");
10884                              return "hidden" !== e;
10885                          })(x(t)));
10886            }),
10887            x.extend(x.expr[":"], {
10888                focusable: function (t) {
10889                    return x.ui.focusable(t, null != x.attr(t, "tabindex"));
10890                },
10891            }),
10892            x.ui.focusable,
10893            (x.fn.form = function () {
10894                return "string" == typeof this[0].form ? this.closest("form") : x(this[0].form);
10895            }),
10896            (x.ui.formResetMixin = {
10897                _formResetHandler: function () {
10898                    var e = x(this);
10899                    setTimeout(function () {
10900                        var t = e.data("ui-form-reset-instances");
10901                        x.each(t, function () {
10902                            this.refresh();
10903                        });
10904                    });
10905                },
10906                _bindFormResetHandler: function () {
10907                    if (((this.form = this.element.form()), this.form.length)) {
10908                        var t = this.form.data("ui-form-reset-instances") || [];
10909                        t.length || this.form.on("reset.ui-form-reset", this._formResetHandler), t.push(this), this.form.data("ui-form-reset-instances", t);
10910                    }
10911                },
10912                _unbindFormResetHandler: function () {
10913                    if (this.form.length) {
10914                        var t = this.form.data("ui-form-reset-instances");
10915                        t.splice(x.inArray(this, t), 1), t.length ? this.form.data("ui-form-reset-instances", t) : this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset");
10916                    }
10917                },
10918            }),
10919            "1.7" === x.fn.jquery.substring(0, 3) &&
10920                (x.each(["Width", "Height"], function (t, i) {
10921                    function n(t, e, i, n) {
10922                        return (
10923                            x.each(s, function () {
10924                                (e -= parseFloat(x.css(t, "padding" + this)) || 0), i && (e -= parseFloat(x.css(t, "border" + this + "Width")) || 0), n && (e -= parseFloat(x.css(t, "margin" + this)) || 0);
10925                            }),
10926                            e
10927                        );
10928                    }
10929                    var s = "Width" === i ? ["Left", "Right"] : ["Top", "Bottom"],
10930                        o = i.toLowerCase(),
10931                        r = { innerWidth: x.fn.innerWidth, innerHeight: x.fn.innerHeight, outerWidth: x.fn.outerWidth, outerHeight: x.fn.outerHeight };
10932                    (x.fn["inner" + i] = function (t) {
10933                        return void 0 === t
10934                            ? r["inner" + i].call(this)
10935                            : this.each(function () {
10936                                  x(this).css(o, n(this, t) + "px");
10937                              });
10938                    }),
10939                        (x.fn["outer" + i] = function (t, e) {
10940                            return "number" != typeof t
10941                                ? r["outer" + i].call(this, t)
10942                                : this.each(function () {
10943                                      x(this).css(o, n(this, t, !0, e) + "px");
10944                                  });
10945                        });
10946                }),
10947                (x.fn.addBack = function (t) {
10948                    return this.add(null == t ? this.prevObject : this.prevObject.filter(t));
10949                })),
10950            (x.ui.keyCode = { BACKSPACE: 8, COMMA: 188, DELETE: 46, DOWN: 40, END: 35, ENTER: 13, ESCAPE: 27, HOME: 36, LEFT: 37, PAGE_DOWN: 34, PAGE_UP: 33, PERIOD: 190, RIGHT: 39, SPACE: 32, TAB: 9, UP: 38 }),
10951            (x.ui.escapeSelector =
10952                ((tt = /([!"#$%&'()*+,.\/:;<=>?@[\]^`{|}~])/g),
10953                function (t) {
10954                    return t.replace(tt, "\\$1");
10955                })),
10956            (x.fn.labels = function () {
10957                var t, e, i, n, s;
10958                return this[0].labels && this[0].labels.length
10959                    ? this.pushStack(this[0].labels)
10960                    : ((n = this.eq(0).parents("label")),
10961                      (i = this.attr("id")) && ((s = (t = this.eq(0).parents().last(
10961)).add(t.length ? t.siblings() : this.siblings())), (e = "label[for='" + x.ui.escapeSelector(i) + "']"), (n = n.add(s.find(e).addBack(e)))),
10962                      this.pushStack(n));
10963            }),
10964            (x.fn.scrollParent = function (t) {
10965                var e = this.css("position"),
10966                    i = "absolute" === e,
10967                    n = t ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
10968                    s = this.parents()
10969                        .filter(function () {
10970                            var t = x(this);
10971                            return (!i || "static" !== t.css("position")) && n.test(t.css("overflow") + t.css("overflow-y") + t.css("overflow-x"));
10972                        })
10973                        .eq(0);
10974                return "fixed" !== e && s.length ? s : x(this[0].ownerDocument || document);
10975            }),
10976            x.extend(x.expr[":"], {
10977                tabbable: function (t) {
10978                    var e = x.attr(t, "tabindex"),
10979                        i = null != e;
10980                    return (!i || 0 <= e) && x.ui.focusable(t, i);
10981                },
10982            }),
10983            x.fn.extend({
10984                uniqueId:
10985                    ((J = 0),
10986                    function () {
10987                        return this.each(function () {
10988                            this.id || (this.id = "ui-id-" + ++J);
10989                        });
10990                    }),
10991                removeUniqueId: function () {
10992                    return this.each(function () {
10993                        /^ui-id-\d+$/.test(this.id) && x(this).removeAttr("id");
10994                    });
10995                },
10996            }),
10997            x.widget("ui.accordion", {
10998                version: "1.12.1",
10999                options: {
11000                    active: 0,
11001                    animate: {},
11002                    classes: { "ui-accordion-header": "ui-corner-top", "ui-accordion-header-collapsed": "ui-corner-all", "ui-accordion-content": "ui-corner-bottom" },
11003                    collapsible: !1,
11004                    event: "click",
11005                    header: "> li > :first-child, > :not(li):even",
11006                    heightStyle: "auto",
11007                    icons: { activeHeader: "ui-icon-triangle-1-s", header: "ui-icon-triangle-1-e" },
11008                    activate: null,
11009                    beforeActivate: null,
11010                },
11011                hideProps: { borderTopWidth: "hide", borderBottomWidth: "hide", paddingTop: "hide", paddingBottom: "hide", height: "hide" },
11012                showProps: { borderTopWidth: "show", borderBottomWidth: "show", paddingTop: "show", paddingBottom: "show", height: "show" },
11013                _create: function () {
11014                    var t = this.options;
11015                    (this.prevShow = this.prevHide = x()),
11016                        this._addClass("ui-accordion", "ui-widget ui-helper-reset"),
11017                        this.element.attr("role", "tablist"),
11018                        t.collapsible || (!1 !== t.active && null != t.active) || (t.active = 0),
11019                        this._processPanels(),
11020                        t.active < 0 && (t.active += this.headers.length),
11021                        this._refresh();
11022                },
11023                _getCreateEventData: function () {
11024                    return { header: this.active, panel: this.active.length ? this.active.next() : x() };
11025                },
11026                _createIcons: function () {
11027                    var t,
11028                        e,
11029                        i = this.options.icons;
11030                    i &&
11031                        ((t = x("<span>")),
11032                        this._addClass(t, "ui-accordion-header-icon", "ui-icon " + i.header),
11033                        t.prependTo(this.headers),
11034                        (e = this.active.children(".ui-accordion-header-icon")),
11035                        this._removeClass(e, i.header)._addClass(e, null, i.activeHeader)._addClass(this.headers, "ui-accordion-icons"));
11036                },
11037                _destroyIcons: function () {
11038                    this._removeClass(this.headers, "ui-accordion-icons"), this.headers.children(".ui-accordion-header-icon").remove();
11039                },
11040                _destroy: function () {
11041                    var t;
11042                    this.element.removeAttr("role"),
11043                        this.headers.removeAttr("role aria-expanded aria-selected aria-controls tabIndex").removeUniqueId(),
11044                        this._destroyIcons(),
11045                        (t = this.headers.next().css("display", "").removeAttr("role aria-hidden aria-labelledby").removeUniqueId()),
11046                        "content" !== this.options.heightStyle && t.css("height", "");
11047                },
11048                _setOption: function (t, e) {
11049                    return "active" === t
11050                        ? void this._activate(e)
11051                        : ("event" === t && (this.options.event && this._off(this.headers, this.options.event), this._setupEvents(e)),
11052                          this._super(t, e),
11053                          "collapsible" !== t || e || !1 !== this.options.active || this._activate(0),
11054                          void ("icons" === t && (this._destroyIcons(), e && this._createIcons())));
11055                },
11056                _setOptionDisabled: function (t) {
11057                    this._super(t), this.element.attr("aria-disabled", t), this._toggleClass(null, "ui-state-disabled", !!t), this._toggleClass(this.headers.add(this.headers.next()), null, "ui-state-disabled", !!t);
11058                },
11059                _keydown: function (t) {
11060                    if (!t.altKey && !t.ctrlKey) {
11061                        var e = x.ui.keyCode,
11062                            i = this.headers.length,
11063                            n = this.headers.index(t.target),
11064                            s = !1;
11065                        switch (t.keyCode) {
11066                            case e.RIGHT:
11067                            case e.DOWN:
11068                                s = this.headers[(n + 1) % i];
11069                                break;
11070                            case e.LEFT:
11071                            case e.UP:
11072                                s = this.headers[(n - 1 + i) % i];
11073                                break;
11074                            case e.SPACE:
11075                            case e.ENTER:
11076                                this._eventHandler(t);
11077                                break;
11078                            case e.HOME:
11079                                s = this.headers[0];
11080                                break;
11081                            case e.END:
11082                                s = this.headers[i - 1];
11083                        }
11084                        s && (x(t.target).attr("tabIndex", -1), x(s).attr("tabIndex", 0), x(s).trigger("focus"), t.preventDefault());
11085                    }
11086                },
11087                _panelKeyDown: function (t) {
11088                    t.keyCode === x.ui.keyCode.UP && t.ctrlKey && x(t.currentTarget).prev().trigger("focus");
11089                },
11090                refresh: function () {
11091                    var t = this.options;
11092                    this._processPanels(),
11093                        (!1 === t.active && !0 === t.collapsible) || !this.headers.length
11094                            ? ((t.active = !1), (this.active = x()))
11095                            : !1 === t.active
11096                            ? this._activate(0)
11097                            : this.active.length && !x.contains(this.element[0], this.active[0])
11098                            ? this.headers.length === this.headers.find(".ui-state-disabled").length
11099                                ? ((t.active = !1), (this.active = x()))
11100                                : this._activate(Math.max(0, t.active - 1))
11101                            : (t.active = this.headers.index(this.active)),
11102                        this._destroyIcons(),
11103                        this._refresh();
11104                },
11105                _processPanels: function () {
11106                    var t = this.headers,
11107                        e = this.panels;
11108                    (this.headers = this.element.find(this.options.header)),
11109                        this._addClass(this.headers, "ui-accordion-header ui-accordion-header-collapsed", "ui-state-default"),
11110                        (this.panels = this.headers.next().filter(":not(.ui-accordion-content-active)").hide()),
11111                        this._addClass(this.panels, "ui-accordion-content", "ui-helper-reset ui-widget-content"),
11112                        e && (this._off(t.not(this.headers)), this._off(e.not(this.panels)));
11113                },
11114                _refresh: function () {
11115                    var i,
11116                        t = this.options,
11117                        e = t.heightStyle,
11118                        n = this.element.parent();
11119                    (this.active = this._findActive(t.active)),
11120                        this._addClass(this.active, "ui-accordion-header-active", "ui-state-active")._removeClass(this.active, "ui-accordion-header-collapsed"),
11121                        this._addClass(this.active.next(), "ui-accordion-content-active"),
11122                        this.active.next().show(),
11123                        this.headers
11124                            .attr("role", "tab")
11125                            .each(function () {
11126                                var t = x(this),
11127                                    e = t.uniqueId().attr("id"),
11128                                    i = t.next(),
11129                                    n = i.uniqueId().attr("id");
11130                                t.attr("aria-controls", n), i.attr("aria-labelledby", e);
11131                            })
11132                            .next()
11133                            .attr("role", "tabpanel"),
11134                        this.headers.not(this.active).attr({ "aria-selected": "false", "aria-expanded": "false", tabIndex: -1 }).next().attr({ "aria-hidden": "true" }).hide(),
11135                        this.active.length ? this.active.attr({ "aria-selected": "true", "aria-expanded": "true", tabIndex: 0 }).next().attr({ "aria-hidden": "false" }) : this.headers.eq(0).attr("tabIndex", 0),
11136                        this._createIcons(),
11137                        this._setupEvents(t.event),
11138                        "fill" === e
11139                            ? ((i = n.height()),
11140                              this.element.siblings(":visible").each(function () {
11141                                  var t = x(this),
11142                                      e = t.css("position");
11143                                  "absolute" !== e && "fixed" !== e && (i -= t.outerHeight(!0));
11144                              }),
11145                              this.headers.each(function () {
11146                                  i -= x(this).outerHeight(!0);
11147                              }),
11148                              this.headers
11149                                  .next()
11150                                  .each(function () {
11151                                      x(this).height(Math.max(0, i - x(this).innerHeight() + x(this).height()));
11152                                  })
11153                                  .css("overflow", "auto"))
11154                            : "auto" === e &&
11155                              ((i = 0),
11156                              this.headers
11157                                  .next()
11158                                  .each(function () {
11159                                      var t = x(this).is(":visible");
11160                                      t || x(this).show(), (i = Math.max(i, x(this).css("height", "").height())), t || x(this).hide();
11161                                  })
11162                                  .height(i));
11163                },
11164                _activate: function (t) {
11165                    var e = this._findActive(t)[0];
11166                    e !== this.active[0] && ((e = e || this.active[0]), this._eventHandler({ target: e, currentTarget: e, preventDefault: x.noop }));
11167                },
11168                _findActive: function (t) {
11169                    return "number" == typeof t ? this.headers.eq(t) : x();
11170                },
11171                _setupEvents: function (t) {
11172                    var i = { keydown: "_keydown" };
11173                    t &&
11174                        x.each(t.split(" "), function (t, e) {
11175                            i[e] = "_eventHandler";
11176                        }),
11177                        this._off(this.headers.add(this.headers.next())),
11178                        this._on(this.headers, i),
11179                        this._on(this.headers.next(), { keydown: "_panelKeyDown" }),
11180                        this._hoverable(this.headers),
11181                        this._focusable(this.headers);
11182                },
11183                _eventHandler: function (t) {
11184                    var e,
11185                        i,
11186                        n = this.options,
11187                        s = this.active,
11188                        o = x(t.currentTarget),
11189                        r = o[0] === s[0],
11190                        a = r && n.collapsible,
11191                        l = a ? x() : o.next(),
11192                        c = s.next(),
11193                        u = { oldHeader: s, oldPanel: c, newHeader: a ? x() : o, newPanel: l };
11194                    t.preventDefault(),
11195                        (r && !n.collapsible) ||
11196                            !1 === this._trigger("beforeActivate", t, u) ||
11197                            ((n.active = !a && this.headers.index(o)),
11198                            (this.active = r ? x() : o),
11199                            this._toggle(u),
11200                            this._removeClass(s, "ui-accordion-header-active", "ui-state-active"),
11201                            n.icons && ((e = s.children(".ui-accordion-header-icon")), this._removeClass(e, null, n.icons.activeHeader)._addClass(e, null, n.icons.header)),
11202                            r ||
11203                                (this._removeClass(o, "ui-accordion-header-collapsed")._addClass(o, "ui-accordion-header-active", "ui-state-active"),
11204                                n.icons && ((i = o.children(".ui-accordion-header-icon")), this._removeClass(i, null, n.icons.header)._addClass(i, null, n.icons.activeHeader)),
11205                                this._addClass(o.next(), "ui-accordion-content-active")));
11206                },
11207                _toggle: function (t) {
11208                    var e = t.newPanel,
11209                        i = this.prevShow.length ? this.prevShow : t.oldPanel;
11210                    this.prevShow.add(this.prevHide).stop(!0, !0),
11211                        (this.prevShow = e),
11212                        (this.prevHide = i),
11213                        this.options.animate ? this._animate(e, i, t) : (i.hide(), e.show(), this._toggleComplete(t)),
11214                        i.attr({ "aria-hidden": "true" }),
11215                        i.prev().attr({ "aria-selected": "false", "aria-expanded": "false" }),
11216                        e.length && i.length
11217                            ? i.prev().attr({ tabIndex: -1, "aria-expanded": "false" })
11218                            : e.length &&
11219                              this.headers
11220                                  .filter(function () {
11221                                      return 0 === parseInt(x(this).attr("tabIndex"), 10);
11222                                  })
11223                                  .attr("tabIndex", -1),
11224                        e.attr("aria-hidden", "false").prev().attr({ "aria-selected": "true", "aria-expanded": "true", tabIndex: 0 });
11225                },
11226                _animate: function (t, i, e) {
11227                    function n() {
11228                        a._toggleComplete(e);
11229                    }
11230                    var s,
11231                        o,
11232                        r,
11233                        a = this,
11234                        l = 0,
11235                        c = t.css("box-sizing"),
11236                        u = t.length && (!i.length || t.index() < i.index()),
11237                        h = this.options.animate || {},
11238                        d = (u && h.down) || h;
11239                    return (
11240                        "number" == typeof d && (r = d),
11241                        "string" == typeof d && (o = d),
11242                        (o = o || d.easing || h.easing),
11243                        (r = r || d.duration || h.duration),
11244                        i.length
11245                            ? t.length
11246                                ? ((s = t
11246.show().outerHeight()),
11247                                  i.animate(this.hideProps, {
11248                                      duration: r,
11249                                      easing: o,
11250                                      step: function (t, e) {
11251                                          e.now = Math.round(t);
11252                                      },
11253                                  }),
11254                                  void t.hide().animate(this.showProps, {
11255                                      duration: r,
11256                                      easing: o,
11257                                      complete: n,
11258                                      step: function (t, e) {
11259                                          (e.now = Math.round(t)), "height" !== e.prop ? "content-box" === c && (l += e.now) : "content" !== a.options.heightStyle && ((e.now = Math.round(s - i.outerHeight() - l)), (l = 0));
11260                                      },
11261                                  }))
11262                                : i.animate(this.hideProps, r, o, n)
11263                            : t.animate(this.showProps, r, o, n)
11264                    );
11265                },
11266                _toggleComplete: function (t) {
11267                    var e = t.oldPanel,
11268                        i = e.prev();
11269                    this._removeClass(e, "ui-accordion-content-active"),
11270                        this._removeClass(i, "ui-accordion-header-active")._addClass(i, "ui-accordion-header-collapsed"),
11271                        e.length && (e.parent()[0].className = e.parent()[0].className),
11272                        this._trigger("activate", null, t);
11273                },
11274            }),
11275            (x.ui.safeActiveElement = function (e) {
11276                var i;
11277                try {
11278                    i = e.activeElement;
11279                } catch (t) {
11280                    i = e.body;
11281                }
11282                return (i = i || e.body).nodeName || (i = e.body), i;
11283            }),
11284            x.widget("ui.menu", {
11285                version: "1.12.1",
11286                defaultElement: "<ul>",
11287                delay: 300,
11288                options: { icons: { submenu: "ui-icon-caret-1-e" }, items: "> *", menus: "ul", position: { my: "left top", at: "right top" }, role: "menu", blur: null, focus: null, select: null },
11289                _create: function () {
11290                    (this.activeMenu = this.element),
11291                        (this.mouseHandled = !1),
11292                        this.element.uniqueId().attr({ role: this.options.role, tabIndex: 0 }),
11293                        this._addClass("ui-menu", "ui-widget ui-widget-content"),
11294                        this._on({
11295                            "mousedown .ui-menu-item": function (t) {
11296                                t.preventDefault();
11297                            },
11298                            "click .ui-menu-item": function (t) {
11299                                var e = x(t.target),
11300                                    i = x(x.ui.safeActiveElement(this.document[0]));
11301                                !this.mouseHandled &&
11302                                    e.not(".ui-state-disabled").length &&
11303                                    (this.select(t),
11304                                    t.isPropagationStopped() || (this.mouseHandled = !0),
11305                                    e.has(".ui-menu").length
11306                                        ? this.expand(t)
11307                                        : !this.element.is(":focus") && i.closest(".ui-menu").length && (this.element.trigger("focus", [!0]), this.active && 1 === this.active.parents(".ui-menu").length && clearTimeout(this.timer)));
11308                            },
11309                            "mouseenter .ui-menu-item": function (t) {
11310                                if (!this.previousFilter) {
11311                                    var e = x(t.target).closest(".ui-menu-item"),
11312                                        i = x(t.currentTarget);
11313                                    e[0] === i[0] && (this._removeClass(i.siblings().children(".ui-state-active"), null, "ui-state-active"), this.focus(t, i));
11314                                }
11315                            },
11316                            mouseleave: "collapseAll",
11317                            "mouseleave .ui-menu": "collapseAll",
11318                            focus: function (t, e) {
11319                                var i = this.active || this.element.find(this.options.items).eq(0);
11320                                e || this.focus(t, i);
11321                            },
11322                            blur: function (t) {
11323                                this._delay(function () {
11324                                    x.contains(this.element[0], x.ui.safeActiveElement(this.document[0])) || this.collapseAll(t);
11325                                });
11326                            },
11327                            keydown: "_keydown",
11328                        }),
11329                        this.refresh(),
11330                        this._on(this.document, {
11331                            click: function (t) {
11332                                this._closeOnDocumentClick(t) && this.collapseAll(t), (this.mouseHandled = !1);
11333                            },
11334                        });
11335                },
11336                _destroy: function () {
11337                    var t = this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");
11338                    this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),
11339                        t.children().each(function () {
11340                            var t = x(this);
11341                            t.data("ui-menu-submenu-caret") && t.remove();
11342                        });
11343                },
11344                _keydown: function (t) {
11345                    var e,
11346                        i,
11347                        n,
11348                        s,
11349                        o = !0;
11350                    switch (t.keyCode) {
11351                        case x.ui.keyCode.PAGE_UP:
11352                            this.previousPage(t);
11353                            break;
11354                        case x.ui.keyCode.PAGE_DOWN:
11355                            this.nextPage(t);
11356                            break;
11357                        case x.ui.keyCode.HOME:
11358                            this._move("first", "first", t);
11359                            break;
11360                        case x.ui.keyCode.END:
11361                            this._move("last", "last", t);
11362                            break;
11363                        case x.ui.keyCode.UP:
11364                            this.previous(t);
11365                            break;
11366                        case x.ui.keyCode.DOWN:
11367                            this.next(t);
11368                            break;
11369                        case x.ui.keyCode.LEFT:
11370                            this.collapse(t);
11371                            break;
11372                        case x.ui.keyCode.RIGHT:
11373                            this.active && !this.active.is(".ui-state-disabled") && this.expand(t);
11374                            break;
11375                        case x.ui.keyCode.ENTER:
11376                        case x.ui.keyCode.SPACE:
11377                            this._activate(t);
11378                            break;
11379                        case x.ui.keyCode.ESCAPE:
11380                            this.collapse(t);
11381                            break;
11382                        default:
11383                            (o = !1),
11384                                (i = this.previousFilter || ""),
11385                                (s = !1),
11386                                (n = 96 <= t.keyCode && t.keyCode <= 105 ? "" + (t.keyCode - 96) : String.fromCharCode(t.keyCode)),
11387                                clearTimeout(this.filterTimer),
11388                                n === i ? (s = !0) : (n = i + n),
11389                                (e = this._filterMenuItems(n)),
11390                                (e = s && -1 !== e.index(this.active.next()) ? this.active.nextAll(".ui-menu-item") : e).length || ((n = String.fromCharCode(t.keyCode)), (e = this._filterMenuItems(n))),
11391                                e.length
11392                                    ? (this.focus(t, e),
11393                                      (this.previousFilter = n),
11394                                      (this.filterTimer = this._delay(function () {
11395                                          delete this.previousFilter;
11396                                      }, 1e3)))
11397                                    : delete this.previousFilter;
11398                    }
11399                    o && t.preventDefault();
11400                },
11401                _activate: function (t) {
11402                    this.active && !this.active.is(".ui-state-disabled") && (this.active.children("[aria-haspopup='true']").length ? this.expand(t) : this.select(t));
11403                },
11404                refresh: function () {
11405                    var t,
11406                        e,
11407                        i,
11408                        n,
11409                        s = this,
11410                        o = this.options.icons.submenu,
11411                        r = this.element.find(this.options.menus);
11412                    this._toggleClass("ui-menu-icons", null, !!this.element.find(".ui-icon").length),
11413                        (e = r
11414                            .filter(":not(.ui-menu)")
11415                            .hide()
11416                            .attr({ role: this.options.role, "aria-hidden": "true", "aria-expanded": "false" })
11417                            .each(function () {
11418                                var t = x(this),
11419                                    e = t.prev(),
11420                                    i = x("<span>").data("ui-menu-submenu-caret", !0);
11421                                s._addClass(i, "ui-menu-icon", "ui-icon " + o), e.attr("aria-haspopup", "true").prepend(i), t.attr("aria-labelledby", e.attr("id"));
11422                            })),
11423                        this._addClass(e, "ui-menu", "ui-widget ui-widget-content ui-front"),
11424                        (t = r.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function () {
11425                            var t = x(this);
11426                            s._isDivider(t) && s._addClass(t, "ui-menu-divider", "ui-widget-content");
11427                        }),
11428                        (n = (i = t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({ tabIndex: -1, role: this._itemRole() })),
11429                        this._addClass(i, "ui-menu-item")._addClass(n, "ui-menu-item-wrapper"),
11430                        t.filter(".ui-state-disabled").attr("aria-disabled", "true"),
11431                        this.active && !x.contains(this.element[0], this.active[0]) && this.blur();
11432                },
11433                _itemRole: function () {
11434                    return { menu: "menuitem", listbox: "option" }[this.options.role];
11435                },
11436                _setOption: function (t, e) {
11437                    if ("icons" === t) {
11438                        var i = this.element.find(".ui-menu-icon");
11439                        this._removeClass(i, null, this.options.icons.submenu)._addClass(i, null, e.submenu);
11440                    }
11441                    this._super(t, e);
11442                },
11443                _setOptionDisabled: function (t) {
11444                    this._super(t), this.element.attr("aria-disabled", t + ""), this._toggleClass(null, "ui-state-disabled", !!t);
11445                },
11446                focus: function (t, e) {
11447                    var i, n, s;
11448                    this.blur(t, t && "focus" === t.type),
11449                        this._scrollIntoView(e),
11450                        (this.active = e.first()),
11451                        (n = this.active.children(".ui-menu-item-wrapper")),
11452                        this._addClass(n, null, "ui-state-active"),
11453                        this.options.role && this.element.attr("aria-activedescendant", n.attr("id")),
11454                        (s = this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper")),
11455                        this._addClass(s, null, "ui-state-active"),
11456                        t && "keydown" === t.type
11457                            ? this._close()
11458                            : (this.timer = this._delay(function () {
11459                                  this._close();
11460                              }, this.delay)),
11461                        (i = e.children(".ui-menu")).length && t && /^mouse/.test(t.type) && this._startOpening(i),
11462                        (this.activeMenu = e.parent()),
11463                        this._trigger("focus", t, { item: e });
11464                },
11465                _scrollIntoView: function (t) {
11466                    var e, i, n, s, o, r;
11467                    this._hasScroll() &&
11468                        ((e = parseFloat(x.css(this.activeMenu[0], "borderTopWidth")) || 0),
11469                        (i = parseFloat(x.css(this.activeMenu[0], "paddingTop")) || 0),
11470                        (n = t.offset().top - this.activeMenu.offset().top - e - i),
11471                        (s = this.activeMenu.scrollTop()),
11472                        (o = this.activeMenu.height()),
11473                        (r = t.outerHeight()),
11474                        n < 0 ? this.activeMenu.scrollTop(s + n) : o < n + r && this.activeMenu.scrollTop(s + n - o + r));
11475                },
11476                blur: function (t, e) {
11477                    e || clearTimeout(this.timer), this.active && (this._removeClass(this.active.children(".ui-menu-item-wrapper"), null, "ui-state-active"), this._trigger("blur", t, { item: this.active }), (this.active = null));
11478                },
11479                _startOpening: function (t) {
11480                    clearTimeout(this.timer),
11481                        "true" === t.attr("aria-hidden") &&
11482                            (this.timer = this._delay(function () {
11483                                this._close(), this._open(t);
11484                            }, this.delay));
11485                },
11486                _open: function (t) {
11487                    var e = x.extend({ of: this.active }, this.options.position);
11488                    clearTimeout(this.timer), this.element.find(".ui-menu").not(t.parents(".ui-menu")).hide().attr("aria-hidden", "true"), t.show().removeAttr("aria-hidden").attr("aria-expanded", "true").position(e);
11489                },
11490                collapseAll: function (e, i) {
11491                    clearTimeout(this.timer),
11492                        (this.timer = this._delay(function () {
11493                            var t = i ? this.element : x(e && e.target).closest(this.element.find(".ui-menu"));
11494                            t.length || (t = this.element), this._close(t), this.blur(e), this._removeClass(t.find(".ui-state-active"), null, "ui-state-active"), (this.activeMenu = t);
11495                        }, this.delay));
11496                },
11497                _close: function (t) {
11498                    (t = t || (this.active ? this.active.parent() : this.element)).find(".ui-menu").hide().attr("aria-hidden", "true").attr("aria-expanded", "false");
11499                },
11500                _closeOnDocumentClick: function (t) {
11501                    return !x(t.target).closest(".ui-menu").length;
11502                },
11503                _isDivider: function (t) {
11504                    return !/[^\-\u2014\u2013\s]/.test(t.text());
11505                },
11506                collapse: function (t) {
11507                    var e = this.active && this.active.parent().closest(".ui-menu-item", this.element);
11508                    e && e.length && (this._close(), this.focus(t, e));
11509                },
11510                expand: function (t) {
11511                    var e = this.active && this.active.children(".ui-menu ").find(this.options.items).first();
11512                    e &&
11513                        e.length &&
11514                        (this._open(e.parent()),
11515                        this._delay(function () {
11516                            this.focus(t, e);
11517                        }));
11518                },
11519                next: function (t) {
11520                    this._move("next", "first", t);
11521                },
11522                previous: function (t) {
11523                    this._move("prev", "last", t);
11524                },
11525                isFirstItem: func
11525tion () {
11526                    return this.active && !this.active.prevAll(".ui-menu-item").length;
11527                },
11528                isLastItem: function () {
11529                    return this.active && !this.active.nextAll(".ui-menu-item").length;
11530                },
11531                _move: function (t, e, i) {
11532                    var n;
11533                    this.active && (n = "first" === t || "last" === t ? this.active["first" === t ? "prevAll" : "nextAll"](".ui-menu-item").eq(-1) : this.active[t + "All"](".ui-menu-item").eq(0)),
11534                        (n && n.length && this.active) || (n = this.activeMenu.find(this.options.items)[e]()),
11535                        this.focus(i, n);
11536                },
11537                nextPage: function (t) {
11538                    var e, i, n;
11539                    return this.active
11540                        ? void (
11541                              this.isLastItem() ||
11542                              (this._hasScroll()
11543                                  ? ((i = this.active.offset().top),
11544                                    (n = this.element.height()),
11545                                    this.active.nextAll(".ui-menu-item").each(function () {
11546                                        return (e = x(this)).offset().top - i - n < 0;
11547                                    }),
11548                                    this.focus(t, e))
11549                                  : this.focus(t, this.activeMenu.find(this.options.items)[this.active ? "last" : "first"]()))
11550                          )
11551                        : void this.next(t);
11552                },
11553                previousPage: function (t) {
11554                    var e, i, n;
11555                    return this.active
11556                        ? void (
11557                              this.isFirstItem() ||
11558                              (this._hasScroll()
11559                                  ? ((i = this.active.offset().top),
11560                                    (n = this.element.height()),
11561                                    this.active.prevAll(".ui-menu-item").each(function () {
11562                                        return 0 < (e = x(this)).offset().top - i + n;
11563                                    }),
11564                                    this.focus(t, e))
11565                                  : this.focus(t, this.activeMenu.find(this.options.items).first()))
11566                          )
11567                        : void this.next(t);
11568                },
11569                _hasScroll: function () {
11570                    return this.element.outerHeight() < this.element.prop("scrollHeight");
11571                },
11572                select: function (t) {
11573                    this.active = this.active || x(t.target).closest(".ui-menu-item");
11574                    var e = { item: this.active };
11575                    this.active.has(".ui-menu").length || this.collapseAll(t, !0), this._trigger("select", t, e);
11576                },
11577                _filterMenuItems: function (t) {
11578                    var e = t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&"),
11579                        i = RegExp("^" + e, "i");
11580                    return this.activeMenu
11581                        .find(this.options.items)
11582                        .filter(".ui-menu-item")
11583                        .filter(function () {
11584                            return i.test(x.trim(x(this).children(".ui-menu-item-wrapper").text()));
11585                        });
11586                },
11587            }),
11588            x.widget("ui.autocomplete", {
11589                version: "1.12.1",
11590                defaultElement: "<input>",
11591                options: {
11592                    appendTo: null,
11593                    autoFocus: !1,
11594                    delay: 300,
11595                    minLength: 1,
11596                    position: { my: "left top", at: "left bottom", collision: "none" },
11597                    source: null,
11598                    change: null,
11599                    close: null,
11600                    focus: null,
11601                    open: null,
11602                    response: null,
11603                    search: null,
11604                    select: null,
11605                },
11606                requestIndex: 0,
11607                pending: 0,
11608                _create: function () {
11609                    var i,
11610                        n,
11611                        s,
11612                        t = this.element[0].nodeName.toLowerCase(),
11613                        e = "textarea" === t,
11614                        o = "input" === t;
11615                    (this.isMultiLine = e || (!o && this._isContentEditable(this.element))),
11616                        (this.valueMethod = this.element[e || o ? "val" : "text"]),
11617                        (this.isNewMenu = !0),
11618                        this._addClass("ui-autocomplete-input"),
11619                        this.element.attr("autocomplete", "off"),
11620                        this._on(this.element, {
11621                            keydown: function (t) {
11622                                if (this.element.prop("readOnly")) n = s = i = !0;
11623                                else {
11624                                    n = s = i = !1;
11625                                    var e = x.ui.keyCode;
11626                                    switch (t.keyCode) {
11627                                        case e.PAGE_UP:
11628                                            (i = !0), this._move("previousPage", t);
11629                                            break;
11630                                        case e.PAGE_DOWN:
11631                                            (i = !0), this._move("nextPage", t);
11632                                            break;
11633                                        case e.UP:
11634                                            (i = !0), this._keyEvent("previous", t);
11635                                            break;
11636                                        case e.DOWN:
11637                                            (i = !0), this._keyEvent("next", t);
11638                                            break;
11639                                        case e.ENTER:
11640                                            this.menu.active && ((i = !0), t.preventDefault(), this.menu.select(t));
11641                                            break;
11642                                        case e.TAB:
11643                                            this.menu.active && this.menu.select(t);
11644                                            break;
11645                                        case e.ESCAPE:
11646                                            this.menu.element.is(":visible") && (this.isMultiLine || this._value(this.term), this.close(t), t.preventDefault());
11647                                            break;
11648                                        default:
11649                                            (n = !0), this._searchTimeout(t);
11650                                    }
11651                                }
11652                            },
11653                            keypress: function (t) {
11654                                if (i) return (i = !1), void ((this.isMultiLine && !this.menu.element.is(":visible")) || t.preventDefault());
11655                                if (!n) {
11656                                    var e = x.ui.keyCode;
11657                                    switch (t.keyCode) {
11658                                        case e.PAGE_UP:
11659                                            this._move("previousPage", t);
11660                                            break;
11661                                        case e.PAGE_DOWN:
11662                                            this._move("nextPage", t);
11663                                            break;
11664                                        case e.UP:
11665                                            this._keyEvent("previous", t);
11666                                            break;
11667                                        case e.DOWN:
11668                                            this._keyEvent("next", t);
11669                                    }
11670                                }
11671                            },
11672                            input: function (t) {
11673                                return s ? ((s = !1), void t.preventDefault()) : void this._searchTimeout(t);
11674                            },
11675                            focus: function () {
11676                                (this.selectedItem = null), (this.previous = this._value(
11676));
11677                            },
11678                            blur: function (t) {
11679                                return this.cancelBlur ? void delete this.cancelBlur : (clearTimeout(this.searching), this.close(t), void this._change(t));
11680                            },
11681                        }),
11682                        this._initSource(),
11683                        (this.menu = x("<ul>").appendTo(this._appendTo()).menu({ role: null }).hide().menu("instance")),
11684                        this._addClass(this.menu.element, "ui-autocomplete", "ui-front"),
11685                        this._on(this.menu.element, {
11686                            mousedown: function (t) {
11687                                t.preventDefault(),
11688                                    (this.cancelBlur = !0),
11689                                    this._delay(function () {
11690                                        delete this.cancelBlur, this.element[0] !== x.ui.safeActiveElement(this.document[0]) && this.element.trigger("focus");
11691                                    });
11692                            },
11693                            menufocus: function (t, e) {
11694                                var i, n;
11695                                return this.isNewMenu && ((this.isNewMenu = !1), t.originalEvent && /^mouse/.test(t.originalEvent.type))
11696                                    ? (this.menu.blur(),
11697                                      void this.document.one("mousemove", function () {
11698                                          x(t.target).trigger(t.originalEvent);
11699                                      }))
11700                                    : ((n = e.item.data("ui-autocomplete-item")),
11701                                      !1 !== this._trigger("focus", t, { item: n }) && t.originalEvent && /^key/.test(t.originalEvent.type) && this._value(n.value),
11702                                      void ((i = e.item.attr("aria-label") || n.value) && x.trim(i).length && (this.liveRegion.children().hide(), x("<div>").text(i).appendTo(this.liveRegion))));
11703                            },
11704                            menuselect: function (t, e) {
11705                                var i = e.item.data("ui-autocomplete-item"),
11706                                    n = this.previous;
11707                                this.element[0] !== x.ui.safeActiveElement(this.document[0]) &&
11708                                    (this.element.trigger("focus"),
11709                                    (this.previous = n),
11710                                    this._delay(function () {
11711                                        (this.previous = n), (this.selectedItem = i);
11712                                    })),
11713                                    !1 !== this._trigger("select", t, { item: i }) && this._value(i.value),
11714                                    (this.term = this._value()),
11715                                    this.close(t),
11716                                    (this.selectedItem = i);
11717                            },
11718                        }),
11719                        (this.liveRegion = x("<div>", { role: "status", "aria-live": "assertive", "aria-relevant": "additions" }).appendTo(this.document[0].body)),
11720                        this._addClass(this.liveRegion, null, "ui-helper-hidden-accessible"),
11721                        this._on(this.window, {
11722                            beforeunload: function () {
11723                                this.element.removeAttr("autocomplete");
11724                            },
11725                        });
11726                },
11727                _destroy: function () {
11728                    clearTimeout(this.searching), this.element.removeAttr("autocomplete"), this.menu.element.remove(), this.liveRegion.remove();
11729                },
11730                _setOption: function (t, e) {
11731                    this._super(t, e), "source" === t && this._initSource(), "appendTo" === t && this.menu.element.appendTo(this._appendTo()), "disabled" === t && e && this.xhr && this.xhr.abort();
11732                },
11733                _isEventTargetInWidget: function (t) {
11734                    var e = this.menu.element[0];
11735                    return t.target === this.element[0] || t.target === e || x.contains(e, t.target);
11736                },
11737                _closeOnClickOutside: function (t) {
11738                    this._isEventTargetInWidget(t) || this.close();
11739                },
11740                _appendTo: function () {
11741                    var t = this.options.appendTo;
11742                    return ((t = t && (t.jquery || t.nodeType ? x(t) : this.document.find(t).eq(0))) && t[0]) || (t = this.element.closest(".ui-front, dialog")), t.length || (t = this.document[0].body), t;
11743                },
11744                _initSource: function () {
11745                    var i,
11746                        n,
11747                        s = this;
11748                    x.isArray(this.options.source)
11749                        ? ((i = this.options.source),
11750                          (this.source = function (t, e) {
11751                              e(x.ui.autocomplete.filter(i, t.term));
11752                          }))
11753                        : "string" == typeof this.options.source
11754                        ? ((n = this.options.source),
11755                          (this.source = function (t, e) {
11756                              s.xhr && s.xhr.abort(),
11757                                  (s.xhr = x.ajax({
11758                                      url: n,
11759                                      data: t,
11760                                      dataType: "json",
11761                                      success: function (t) {
11762                                          e(t);
11763                                      },
11764                                      error: function () {
11765                                          e([]);
11766                                      },
11767                                  }));
11768                          }))
11769                        : (this.source = this.options.source);
11770                },
11771                _searchTimeout: function (n) {
11772                    clearTimeout(this.searching),
11773                        (this.searching = this._delay(function () {
11774                            var t = this.term === this._value(),
11775                                e = this.menu.element.is(":visible"),
11776                                i = n.altKey || n.ctrlKey || n.metaKey || n.shiftKey;
11777                            (t && (!t || e || i)) || ((this.selectedItem = null), this.search(null, n));
11778                        }, this.options.delay));
11779                },
11780                search: function (t, e) {
11781                    return (t = null != t ? t : this._value()), (this.term = this._value()), t.length < this.options.minLength ? this.close(e) : !1 !== this._trigger("search", e) ? this._search(t) : void 0;
11782                },
11783                _search: function (t) {
11784                    this.pending++, this._addClass("ui-autocomplete-loading"), (this.cancelSearch = !1), this.source({ term: t }, this._response());
11785                },
11786                _response: function () {
11787                    var e = ++this.requestIndex;
11788                    return x.proxy(function (t) {
11789                        e === this.requestIndex && this.__response(t), this.pending--, this.pending || this._removeClass("ui-autocomplete-loading");
11790                    }, this);
11791                },
11792                __response: function (t) {
11793                    (t = t && this._normalize(t)), this._trigger("response", null, { content: t }), !this.options.disabled && t && t.length && !this.cancelSearch ? (this._suggest(t), this._trigger("open")) : this._close();
11794                },
11795                close: function (t) {
11796                    (this.cancelSearch = !0), this._close(t);
11797                },
11798                _close: function (t) {
11799                    this._off(this.document, "mousedown"), this.menu.element.is(":visible") && (this.menu.element.hide(), this.menu.blur(), (this.isNewMenu = !0), this._trigger("close", t));
11800                },
11801                _change: function (t) {
11802                    this.previous !== this._value() && this._trigger("change", t, { item: this.selectedItem });
11803                },
11804                _normalize: function (t) {
11805                    return t.length && t[0].label && t[0].value
11806                        ? t
11807                        : x.map(t, function (t) {
11808                              return "string" == typeof t ? { label: t, value: t } : x.extend({}, t, { label: t.label || t.value, value: t.value || t.label });
11809                          });
11810                },
11811                _suggest: function (t) {
11812                    var e = this.menu.element.empty();
11813                    this._renderMenu(e, t),
11814                        (this.isNewMenu = !0),
11815                        this.menu.refresh(),
11816                        e.show(),
11817                        this._resizeMenu(),
11818                        e.position(x.extend({ of: this.element }, this.options.position)),
11819                        this.options.autoFocus && this.menu.next(),
11820                        this._on(this.document, { mousedown: "_closeOnClickOutside" });
11821                },
11822                _resizeMenu: function () {
11823                    var t = this.menu.element;
11824                    t.outerWidth(Math.max(t.width("").outerWidth() + 1, this.element.outerWidth()));
11825                },
11826                _renderMenu: function (i, t) {
11827                    var n = this;
11828                    x.each(t, function (t, e) {
11829                        n._renderItemData(i, e);
11830                    });
11831                },
11832                _renderItemData: function (t, e) {
11833                    return this._renderItem(t, e).data("ui-autocomplete-item", e);
11834                },
11835                _renderItem: function (t, e) {
11836                    return x("<li>").append(x("<div>").text(e.label)).appendTo(t);
11837                },
11838                _move: function (t, e) {
11839                    return this.menu.element.is(":visible")
11840                        ? (this.menu.isFirstItem() && /^previous/.test(t)) || (this.menu.isLastItem() && /^next/.test(t))
11841                            ? (this.isMultiLine || this._value(this.term), void this.menu.blur())
11842                            : void this.menu[t](e)
11843                        : void this.search(null, e);
11844                },
11845                widget: function () {
11846                    return this.menu.element;
11847                },
11848                _value: function () {
11849                    return this.valueMethod.apply(this.element, arguments);
11850                },
11851                _keyEvent: function (t, e) {
11852                    (this.isMultiLine && !this.menu.element.is(":visible")) || (this._move(t, e), e.preventDefault());
11853                },
11854                _isContentEditable: function (t) {
11855                    if (!t.length) return !1;
11856                    var e = t.prop("contentEditable");
11857                    return "inherit" === e ? this._isContentEditable(t.parent()) : "true" === e;
11858                },
11859            }),
11860            x.extend(x.ui.autocomplete, {
11861                escapeRegex: function (t) {
11862                    return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
11863                },
11864                filter: function (t, e) {
11865                    var i = RegExp(x.ui.autocomplete.escapeRegex(e), "i");
11866                    return x.grep(t, function (t) {
11867                        return i.test(t.label || t.value || t);
11868                    });
11869                },
11870            }),
11871            x.widget("ui.autocomplete", x.ui.autocomplete, {
11872                options: {
11873                    messages: {
11874                        noResults: "No search results.",
11875                        results: function (t) {
11876                            return t + (1 < t ? " results are" : " result is") + " available, use up and down arrow keys to navigate.";
11877                        },
11878                    },
11879                },
11880                __response: function (t) {
11881                    var e;
11882                    this._superApply(arguments),
11883                        this.options.disabled ||
11884                            this.cancelSearch ||
11885                            ((e = t && t.length ? this.options.messages.results(t.length) : this.options.messages.noResults), this.liveRegion.children().hide(), x("<div>").text(e).appendTo(this.liveRegion));
11886                },
11887            }),
11888            x.ui.autocomplete;
11889        var et,
11890            it,
11891            nt = /ui-corner-([a-z]){2,6}/g;
11892        x.widget("ui.controlgroup", {
11893            version: "1.12.1",
11894            defaultElement: "<div>",
11895            options: {
11896                direction: "horizontal",
11897                disabled: null,
11898                onlyVisible: !0,
11899                items: {
11900                    button: "input[type=button], input[type=submit], input[type=reset], button, a",
11901                    controlgroupLabel: ".ui-controlgroup-label",
11902                    checkboxradio: "input[type='checkbox'], input[type='radio']",
11903                    selectmenu: "select",
11904                    spinner: ".ui-spinner-input",
11905                },
11906            },
11907            _create: function () {
11908                this._enhance();
11909            },
11910            _enhance: function () {
11911                this.element.attr("role", "toolbar"), this.refresh();
11912            },
11913            _destroy: function () {
11914                this._callChildMethod("destroy"),
11915                    this.childWidgets.removeData("ui-controlgroup-data"),
11916                    this.element.removeAttr("role"),
11917                    this.options.items.controlgroupLabel && this.element.find(this.options.items.controlgroupLabel).find(".ui-controlgroup-label-contents").contents().unwrap();
11918            },
11919            _initWidgets: function () {
11920                var r = this,
11921                    a = [];
11922                x.each(this.options.items, function (s, t) {
11923                    var e,
11924                        o = {};
11925                    return t
11926                        ? "controlgroupLabel" === s
11927                            ? ((e = r.element.find(t)).each(function () {
11928                                  var t = x(this);
11929                                  t.children(".ui-controlgroup-label-contents").length || t.contents().wrapAll("<span class='ui-controlgroup-label-contents'></span>");
11930                              }),
11931                              r._addClass(e, null, "ui-widget ui-widget-content ui-state-default"),
11932                              void (a = a.concat(e.get())))
11933                            : void (
11934                                  x.fn[s] &&
11935                                  ((o = r["_" + s + "Options"] ? r["_" + s + "Options"]("middle") : { classes: {} }),
11936                                  r.element.find(t).each(function () {
11937                                      var t = x(this),
11938                                          e = t[s]("instance"),
11939                                          i = x.widget.extend({}, o);
11940                                      if ("button" !== s || !t.parent(".ui-spinner").length) {
11941                                          (e = e || t[s]()[s]("instance")) && (i.classes = r._resolveClassesValues(i.classes, e)), t[s](i);
11942                                          var n = t[s]("widget");
11943                                          x.data(n[0], "ui-controlgroup-data", e || t[s]("instance")), a.push(n[0]);
11944                                      }
11945                                  }))
11946                              )
11947                        : void 0;
11948                }),
11949                    (this.childWidgets = x(x.unique(a))),
11950                    this._addClass(this.childWidgets, "ui-controlgroup-item");
11951            },
11952            _callChildMethod: function (e) {
11953                this.childWidgets.each(function () {
11954                    var t = x(this).data("ui-controlgroup-data");
11955                    t && t[e] && t[e]();
11956                });
11957            },
11958            _updateCornerClass: function (t, e) {
11959                var i = this._buildSimpleOptions(e, "label").classes.label;
11960                this._removeClass(t, null, "ui-corner-top ui-corner-bottom ui-corner-left ui-corner-right ui-corner-all"), this._addClass(t, null, i);
11961            },
11962            _buildSimpleOptions: function (t, e) {
11963                var i = "vertical" === this.options.direction,
11964                    n = { classes: {} };
11965                return (n.classes[e] = { middle: "", first: "ui-corner-" + (i ? "top" : "left"), last: "ui-corner-" + (i ? "bottom" : "right"), only: "ui-corner-all" }[t]), n;
11966            },
11967            _spinnerOptions: function (t) {
11968                var e = this._buildSimpleOptions(t, "ui-spinner");
11969                return (e.classes["ui-spinner-up"] = ""), (e.classes["ui-spinner-down"] = ""), e;
11970            },
11971            _buttonOptions: function (t) {
11972                return this._buildSimpleOptions(t, "ui-button");
11973            },
11974            _checkboxradioOptions: function (t) {
11975                return this._buildSimpleOptions(t, "ui-checkboxradio-label");
11976            },
11977            _selectmenuOptions: function (t) {
11978                var e = "vertical" === this.options.direction;
11979                return {
11980                    width: e && "auto",
11981                    classes: {
11982                        middle: { "ui-selectmenu-button-open": "", "ui-selectmenu-button-closed": "" },
11983                        first: { "ui-selectmenu-button-open": "ui-corner-" + (e ? "top" : "tl"), "ui-selectmenu-button-closed": "ui-corner-" + (e ? "top" : "left") },
11984                        last: { "ui-selectmenu-button-open": e ? "" : "ui-corner-tr", "ui-selectmenu-button-closed": "ui-corner-" + (e ? "bottom" : "right") },
11985                        only: { "ui-selectmenu-button-open": "ui-corner-top", "ui-selectmenu-button-closed": "ui-corner-all" },
11986                    }[t],
11987                };
11988            },
11989            _resolveClassesValues: function (i, n) {
11990                var s = {};
11991                return (
11992                    x.each(i, function (t) {
11993                        var e = n.options.classes[t] || "";
11994                        (e = x.trim(e.replace(nt, ""))), (s[t] = (e + " " + i[t]).replace(/\s+/g, " "));
11995                    }),
11996                    s
11997                );
11998            },
11999            _setOption: function (t, e) {
12000                return "direction" === t && this._removeClass("ui-controlgroup-" + this.options.direction), this._super(t, e), "disabled" === t ? void this._callChildMethod(e ? "disable" : "enable") : void this.refresh();
12001            },
12002            refresh: function () {
12003                var s,
12004                    o = this;
12005                this._addClass("ui-controlgroup ui-controlgroup-" + this.options.direction),
12006                    "horizontal" === this.options.direction && this._addClass(null, "ui-helper-clearfix"),
12007                    this._initWidgets(),
12008                    (s = this.childWidgets),
12009                    this.options.onlyVisible && (s = s.filter(":visible")),
12010                    s.length &&
12011                        (x.each(["first", "last"], function (t, e) {
12012                            var i = s[e]().data("ui-controlgroup-data");
12013                            if (i && o["_" + i.widgetName + "Options"]) {
12014                                var n = o["_" + i.widgetName + "Options"](1 === s.length ? "only" : e);
12015                                (n.classes = o._resolveClassesValues(n.classes, i)), i.element[i.widgetName](n);
12016                            } else o._updateCornerClass(s[e](), e);
12017                        }),
12018                        this._callChildMethod("refresh"));
12019            },
12020        }),
12021            x.widget("ui.checkboxradio", [
12022                x.ui.formResetMixin,
12023                {
12024                    version: "1.12.1",
12025                    options: { disabled: null, label: null, icon: !0, classes: { "ui-checkboxradio-label": "ui-corner-all", "ui-checkboxradio-icon": "ui-corner-all" } },
12026                    _getCreateOptions: function () {
12027                        var t,
12028                            e,
12029                            i = this,
12030                            n = this._super() || {};
12031                        return (
12032                            this._readType(),
12033                            (e = this.element.labels()),
12034                            (this.label = x(e[e.length - 1])),
12035                            this.label.length || x.error("No label found for checkboxradio widget"),
12036                            (this.originalLabel = ""),
12037                            this.label
12038                                .contents()
12039                                .not(this.element[0])
12040                                .each(function () {
12041                                    i.originalLabel += 3 === this.nodeType ? x(this).text() : this.outerHTML;
12042                                }),
12043                            this.originalLabel && (n.label = this.originalLabel),
12044                            null != (t = this.element[0].disabled) && (n.disabled = t),
12045                            n
12046                        );
12047                    },
12048                    _create: function () {
12049                        var t = this.element[0].checked;
12050                        this._bindFormResetHandler(),
12051                            null == this.options.disabled && (this.options.disabled = this.element[0].disabled),
12052                            this._setOption("disabled", this.options.disabled),
12053                            this._addClass("ui-checkboxradio", "ui-helper-hidden-accessible"),
12054                            this._addClass(this.label, "ui-checkboxradio-label", "ui-button ui-widget"),
12055                            "radio" === this.type && this._addClass(this.label, "ui-checkboxradio-radio-label"),
12056                            this.options.label && this.options.label !== this.originalLabel ? this._updateLabel() : this.originalLabel && (this.options.label = this.originalLabel),
12057                            this._enhance(),
12058                            t && (this._addClass(this.label, "ui-checkboxradio-checked", "ui-state-active"), this.icon && this._addClass(this.icon, null, "ui-state-hover")),
12059                            this._on({
12060                                change: "_toggleClasses",
12061                                focus: function () {
12062                                    this._addClass(this.label, null, "ui-state-focus ui-visual-focus");
12063                                },
12064                                blur: function () {
12065                                    this._removeClass(this.label, null, "ui-state-focus ui-visual-focus");
12066                                },
12067                            });
12068                    },
12069                    _readType: function () {
12070                        var t = this.element[0].nodeName.toLowerCase();
12071                        (this.type = this.element[0].type), ("input" === t && /radio|checkbox/.test(this.type)) || x.error("Can't create checkboxradio on element.nodeName=" + t + " and element.type=" + this.type);
12072                    },
12073                    _enhance: function () {
12074                        this._updateIcon(this.element[0].checked);
12075                    },
12076                    widget: function () {
12077                        return this.label;
12078                    },
12079                    _getRadioGroup: function () {
12080                        var t = this.element[0].name,
12081                            e = "input[name='" + x.ui.escapeSelector(t) + "']";
12082                        return t
12083                            ? (this.form.length
12084                                  ? x(this.form[0].elements).filter(e)
12085                                  : x(e).filter(function () {
12086                                        return 0 === x(this).form().length;
12087                                    })
12088                              ).not(this.element)
12089                            : x([]);
12090                    },
12091                    _toggleClasses: function () {
12092                        var t = this.element[0].checked;
12093                        this._toggleClass(this.label, "ui-checkboxradio-checked", "ui-state-active", t),
12094                            this.options.icon && "checkbox" === this.type && this._toggleClass(this.icon, null, "ui-icon-check ui-state-checked", t)._toggleClass(this.icon, null, "ui-icon-blank", !t),
12095                            "radio" === this.type &&
12096                                this._getRadioGroup().each(function () {
12097                                    var t = x(this).checkboxradio("instance");
12098                                    t && t._removeClass(t.label, "ui-checkboxradio-checked", "ui-state-active");
12099                                });
12100                    },
12101                    _destroy: function () {
12102                        this._unbindFormResetHandler(), this.icon && (this.icon.remove(), this.iconSpace.remove());
12103                    },
12104                    _setOption: function (t, e) {
12105                        return "label" !== t || e ? (this._super(t, e), "disabled" === t ? (this._toggleClass(this.label, null, "ui-state-disabled", e), void (this.element[0].disabled = e)) : void this.refresh()) : void 0;
12106                    },
12107                    _updateIcon: function (t) {
12108                        var e = "ui-icon ui-icon-background ";
12109                        this.options.icon
12110                            ? (this.icon || ((this.icon = x("<span>")), (this.iconSpace = x("<span> </span>
12110")), this._addClass(this.iconSpace, "ui-checkboxradio-icon-space")),
12111                              "checkbox" === this.type ? ((e += t ? "ui-icon-check ui-state-checked" : "ui-icon-blank"), this._removeClass(this.icon, null, t ? "ui-icon-blank" : "ui-icon-check")) : (e += "ui-icon-blank"),
12112                              this._addClass(this.icon, "ui-checkboxradio-icon", e),
12113                              t || this._removeClass(this.icon, null, "ui-icon-check ui-state-checked"),
12114                              this.icon.prependTo(this.label).after(this.iconSpace))
12115                            : void 0 !== this.icon && (this.icon.remove(), this.iconSpace.remove(), delete this.icon);
12116                    },
12117                    _updateLabel: function () {
12118                        var t = this.label.contents().not(this.element[0]);
12119                        this.icon && (t = t.not(this.icon[0])), this.iconSpace && (t = t.not(this.iconSpace[0])), t.remove(), this.label.append(this.options.label);
12120                    },
12121                    refresh: function () {
12122                        var t = this.element[0].checked,
12123                            e = this.element[0].disabled;
12124                        this._updateIcon(t),
12125                            this._toggleClass(this.label, "ui-checkboxradio-checked", "ui-state-active", t),
12126                            null !== this.options.label && this._updateLabel(),
12127                            e !== this.options.disabled && this._setOptions({ disabled: e });
12128                    },
12129                },
12130            ]),
12131            x.ui.checkboxradio,
12132            x.widget("ui.button", {
12133                version: "1.12.1",
12134                defaultElement: "<button>",
12135                options: { classes: { "ui-button": "ui-corner-all" }, disabled: null, icon: null, iconPosition: "beginning", label: null, showLabel: !0 },
12136                _getCreateOptions: function () {
12137                    var t,
12138                        e = this._super() || {};
12139                    return (
12140                        (this.isInput = this.element.is("input")),
12141                        null != (t = this.element[0].disabled) && (e.disabled = t),
12142                        (this.originalLabel = this.isInput ? this.element.val() : this.element.html()),
12143                        this.originalLabel && (e.label = this.originalLabel),
12144                        e
12145                    );
12146                },
12147                _create: function () {
12148                    !this.option.showLabel & !this.options.icon && (this.options.showLabel = !0),
12149                        null == this.options.disabled && (this.options.disabled = this.element[0].disabled || !1),
12150                        (this.hasTitle = !!this.element.attr("title")),
12151                        this.options.label && this.options.label !== this.originalLabel && (this.isInput ? this.element.val(this.options.label) : this.element.html(this.options.label)),
12152                        this._addClass("ui-button", "ui-widget"),
12153                        this._setOption("disabled", this.options.disabled),
12154                        this._enhance(),
12155                        this.element.is("a") &&
12156                            this._on({
12157                                keyup: function (t) {
12158                                    t.keyCode === x.ui.keyCode.SPACE && (t.preventDefault(), this.element[0].click ? this.element[0].click() : this.element.trigger("click"));
12159                                },
12160                            });
12161                },
12162                _enhance: function () {
12163                    this.element.is("button") || this.element.attr("role", "button"), this.options.icon && (this._updateIcon("icon", this.options.icon), this._updateTooltip());
12164                },
12165                _updateTooltip: function () {
12166                    (this.title = this.element.attr("title")), this.options.showLabel || this.title || this.element.attr("title", this.options.label);
12167                },
12168                _updateIcon: function (t, e) {
12169                    var i = "iconPosition" !== t,
12170                        n = i ? this.options.iconPosition : e,
12171                        s = "top" === n || "bottom" === n;
12172                    this.icon
12173                        ? i && this._removeClass(this.icon, null, this.options.icon)
12174                        : ((this.icon = x("<span>")), this._addClass(this.icon, "ui-button-icon", "ui-icon"), this.options.showLabel || this._addClass("ui-button-icon-only")),
12175                        i && this._addClass(this.icon, null, e),
12176                        this._attachIcon(n),
12177                        s
12178                            ? (this._addClass(this.icon, null, "ui-widget-icon-block"), this.iconS
12178pace && this.iconSpace.remove())
12179                            : (this.iconSpace || ((this.iconSpace = x("<span> </span>")), this._addClass(this.iconSpace, "ui-button-icon-space")), this._removeClass(this.icon, null, "ui-wiget-icon-block"), this._attachIconSpace(n));
12180                },
12181                _destroy: function () {
12182                    this.element.removeAttr("role"), this.icon && this.icon.remove(), this.iconSpace && this.iconSpace.remove(), this.hasTitle || this.element.removeAttr("title");
12183                },
12184                _attachIconSpace: function (t) {
12185                    this.icon[/^(?:end|bottom)/.test(t) ? "before" : "after"](this.iconSpace);
12186                },
12187                _attachIcon: function (t) {
12188                    this.element[/^(?:end|bottom)/.test(t) ? "append" : "prepend"](this.icon);
12189                },
12190                _setOptions: function (t) {
12191                    var e = void 0 === t.showLabel ? this.options.showLabel : t.showLabel,
12192                        i = void 0 === t.icon ? this.options.icon : t.icon;
12193                    e || i || (t.showLabel = !0), this._super(t);
12194                },
12195                _setOption: function (t, e) {
12196                    "icon" === t && (e ? this._updateIcon(t, e) : this.icon && (this.icon.remove(), this.iconSpace && this.iconSpace.remove())),
12197                        "iconPosition" === t && this._updateIcon(t, e),
12198                        "showLabel" === t && (this._toggleClass("ui-button-icon-only", null, !e), this._updateTooltip()),
12199                        "label" === t && (this.isInput ? this.element.val(e) : (this.element.html(e), this.icon && (this._attachIcon(this.options.iconPosition), this._attachIconSpace(this.options.iconPosition)))),
12200                        this._super(t, e),
12201                        "disabled" === t && (this._toggleClass(null, "ui-state-disabled", e), (this.element[0].disabled = e) && this.element.blur());
12202                },
12203                refresh: function () {
12204                    var t = this.element.is("input, button") ? this.element[0].disabled : this.element.hasClass("ui-button-disabled");
12205                    t !== this.options.disabled && this._setOptions({ disabled: t }), this._updateTooltip();
12206                },
12207            }),
12208            !1 !== x.uiBackCompat &&
12209                (x.widget("ui.button", x.ui.button, {
12210                    options: { text: !0, icons: { primary: null, secondary: null } },
12211                    _create: function () {
12212                        this.options.showLabel && !this.options.text && (this.options.showLabel = this.options.text),
12213                            !this.options.showLabel && this.options.text && (this.options.text = this.options.showLabel),
12214                            this.options.icon || (!this.options.icons.primary && !this.options.icons.secondary)
12215                                ? this.options.icon && (this.options.icons.primary = this.options.icon)
12216                                : this.options.icons.primary
12217                                ? (this.options.icon = this.options.icons.primary)
12218                                : ((this.options.icon = this.options.icons.secondary), (this.options.iconPosition = "end")),
12219                            this._super();
12220                    },
12221                    _setOption: function (t, e) {
12222                        return "text" === t
12223                            ? void this._super("showLabel", e)
12224                            : ("showLabel" === t && (this.options.text = e),
12225                              "icon" === t && (this.options.icons.primary = e),
12226                              "icons" === t && (e.primary ? (this._super("icon", e.primary), this._super("iconPosition", "beginning")) : e.secondary && (this._super("icon", e.secondary), this._super("iconPosition", "end"))),
12227                              void this._superApply(arguments));
12228                    },
12229                }),
12230                (x.fn.button =
12231                    ((et = x.fn.button),
12232                    function () {
12233                        return !this.length || (this.length && "INPUT" !== this[0].tagName) || (this.length && "INPUT" === this[0].tagName && "checkbox" !== this.attr("type") && "radio" !== this.attr("type"))
12234                            ? et.apply(this, arguments)
12235                            : (x.ui.checkboxradio || x.error("Checkboxradio widget missing"), 0 === arguments.length ? this.checkboxradio({ icon: !1 }) : this.checkboxradio.apply(this, arguments));
12236                    })),
12237                (x.fn.buttonset = function () {
12238                    return (
12239                        x.ui.controlgroup || x.error("Controlgroup widget missing"),
12240                        "option" === arguments[0] && "items" === arguments[1] && arguments[2]
12241                            ? this.controlgroup.apply(this, [arguments[0], "items.button", arguments[2]])
12242                            : "option" === arguments[0] && "items" === arguments[1]
12243                            ? this.controlgroup.apply(this, [arguments[0], "items.button"])
12244                            : ("object" == typeof arguments[0] && arguments[0].items && (arguments[0].items = { button: arguments[0].items }), this.controlgroup.apply(this, arguments))
12245                    );
12246                })),
12247            x.ui.button,
12248            x.extend(x.ui, { datepicker: { version: "1.12.1" } }),
12249            x.extend(t.prototype, {
12250                markerClassName: "hasDatepicker",
12251                maxRows: 4,
12252                _widgetDatepicker: function () {
12253                    return this.dpDiv;
12254                },
12255                setDefaults: function (t) {
12256                    return h(this._defaults, t || {}), this;
12257                },
12258                _attachDatepicker: function (t, e) {
12259                    var i, n, s;
12260                    (n = "div" === (i = t.nodeName.toLowerCase()) || "span" === i),
12261                        t.id || ((this.uuid += 1), (t.id = "dp" + this.uuid)),
12262                        ((s = this._newInst(x(t), n)).settings = x.extend({}, e || {})),
12263                        "input" === i ? this._connectDatepicker(t, s) : n && this._inlineDatepicker(t, s);
12264                },
12265                _newInst: function (t, e) {
12266                    return {
12267                        id: t[0].id.replace(/([^A-Za-z0-9_\-])/g, "\\\\$1"),
12268                        input: t,
12269                        selectedDay: 0,
12270                        selectedMonth: 0,
12271                        selectedYear: 0,
12272                        drawMonth: 0,
12273                        drawYear: 0,
12274                        inline: e,
12275                        dpDiv: e ? i(x("<div class='" + this._inlineClass + " ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")) : this.dpDiv,
12276                    };
12277                },
12278                _connectDatepicker: function (t, e) {
12279                    var i = x(t);
12280                    (e.append = x([])),
12281                        (e.trigger = x([])),
12282                        i.hasClass(this.markerClassName) ||
12283                            (this._attachments(i, e),
12284                            i.addClass(this.markerClassName).on("keydown", this._doKeyDown).on("keypress", this._doKeyPress).on("keyup", this._doKeyUp),
12285                            this._autoSize(e),
12286                            x.data(t, "datepicker", e),
12287                            e.settings.disabled && this._disableDatepicker(t));
12288                },
12289                _attachments: function (t, e) {
12290                    var i,
12291                        n,
12292                        s,
12293                        o = this._get(e, "appendText"),
12294                        r = this._get(e, "isRTL");
12295                    e.append && e.append.remove(),
12296                        o && ((e.append = x("<span class='" + this._appendClass + "'>" + o + "</span>")), t[r ? "before" : "after"](e.append)),
12297                        t.off("focus", this._showDatepicker),
12298                        e.trigger && e.trigger.remove(),
12299                        ("focus" !== (i = this._get(e, "showOn")) && "both" !== i) || t.on("focus", this._showDatepicker),
12300                        ("button" !== i && "both" !== i) ||
12301                            ((n = this._get(e, "buttonText")),
12302                            (s = this._get(e, "buttonImage")),
12303                            (e.trigger = x(
12304                                this._get(e, "buttonImageOnly")
12305                                    ? x("<img/>").addClass(this._triggerClass).attr({ src: s, alt: n, title: n })
12306                                    : x("<button type='button'></button>")
12307                                          .addClass(this._triggerClass)
12308                                          .html(s ? x("<img/>").attr({ src: s, alt: n, title: n }) : n)
12309                            )),
12310                            t[r ? "before" : "after"](e.trigger),
12311                            e.trigger.on("click", function () {
12312                                return (
12313                                    x.datepicker._datepickerShowing && x.datepicker._lastInput === t[0]
12314                                        ? x.datepicker._hideDatepicker()
12315                                        : (x.datepicker._datepickerShowing && x.datepicker._lastInput !== t[0] && x.datepicker._hideDatepicker(), x.datepicker._showDatepicker(t[0])),
12316                                    !1
12317                                );
12318                            }));
12319                },
12320                _autoSize: function (t) {
12321                    if (this._get(t, "autoSize") && !t.inline) {
12322                        var e,
12323                            i,
12324                            n,
12325                            s,
12326                            o = new Date(2009, 11, 20),
12327                            r = this._get(t, "dateFormat");
12328                        r.match(/[DM]/) &&
12329                            ((e = function (t) {
12330                                for (s = n = i = 0; t.length > s; s++) t[s].length > i && ((i = t[s].length), (n = s));
12331                                return n;
12332                            }),
12333                            o.setMonth(e(this._get(t, r.match(/MM/) ? "monthNames" : "monthNamesShort"))),
12334                            o.setDate(e(this._get(t, r.match(/DD/) ? "dayNames" : "dayNamesShort")) + 20 - o.getDay())),
12335                            t.input.attr("size", this._formatDate(t, o).length);
12336                    }
12337                },
12338                _inlineDatepicker: function (t, e) {
12339                    var i = x(t);
12340                    i.hasClass(this.markerClassName) ||
12341                        (i.addClass(this.markerClassName).append(e.dpDiv),
12342                        x.data(t, "datepicker", e),
12343                        this._setDate(e, this._getDefaultDate(e), !0),
12344                        this._updateDatepicker(e),
12345                        this._updateAlternate(e),
12346                        e.settings.disabled && this._disableDatepicker(t),
12347                        e.dpDiv.css("display", "block"));
12348                },
12349                _dialogDatepicker: function (t, e, i, n, s) {
12350                    var o,
12351                        r,
12352                        a,
12353                        l,
12354                        c,
12355                        u = this._dialogInst;
12356                    return (
12357                        u ||
12358                            ((this.uuid += 1),
12359                            (o = "dp" + this.uuid),
12360                            (this._dialogInput = x("<input type='text' id='" + o + "' style='position: absolute; top: -100px; width: 0px;'/>")),
12361                            this._dialogInput.on("keydown", this._doKeyDown),
12362                            x("body").append(this._dialogInput),
12363                            ((u = this._dialogInst = this._newInst(this._dialogInput, !1)).settings = {}),
12364                            x.data(this._dialogInput[0], "datepicker", u)),
12365                        h(u.settings, n || {}),
12366                        (e = e && e.constructor === Date ? this._formatDate(u, e) : e),
12367                        this._dialogInput.val(e),
12368                        (this._pos = s ? (s.length ? s : [s.pageX, s.pageY]) : null),
12369                        this._pos ||
12370                            ((r = document.documentElement.clientWidth),
12371                            (a = document.documentElement.clientHeight),
12372                            (l = document.documentElement.scrollLeft || document.body.scrollLeft),
12373                            (c = document.documentElement.scrollTop || document.body.scrollTop),
12374                            (this._pos = [r / 2 - 100 + l, a / 2 - 150 + c])),
12375                        this._dialogInput.css("left", this._pos[0] + 20 + "px").css("top", this._pos[1] + "px"),
12376                        (u.settings.onSelect = i),
12377                        (this._inDialog = !0),
12378                        this.dpDiv.addClass(this._dialogClass),
12379                        this._showDatepicker(this._dialogInput[0]),
12380                        x.blockUI && x.blockUI(this.dpDiv),
12381                        x.data(this._dialogInput[0], "datepicker", u),
12382                        this
12383                    );
12384                },
12385                _destroyDatepicker: function (t) {
12386                    var e,
12387                        i = x(t),
12388                        n = x.data(t, "datepicker");
12389                    i.hasClass(this.markerClassName) &&
12390                        ((e = t.nodeName.toLowerCase()),
12391                        x.removeData(t, "datepicker"),
12392                        "input" === e
12393                            ? (n.append.remove(), n.trigger.remove(), i.removeClass(this.markerClassName).off("focus", this._showDatepicker).off("keydown", this._doKeyDown).off("keypress", this._doKeyPress).off("keyup", this._doKeyUp))
12394                            : ("div" !== e && "span" !== e) || i.removeClass(this.markerClassName).empty(),
12395                        it === n && (it = null));
12396                },
12397                _enableDatepicker: function (e) {
12398                    var t,
12399                        i,
12400                        n = x(e),
12401                        s = x.data(e, "datepicker");
12402                    n.hasClass(this.markerClassName) &&
12403                        ("input" === (t = e.nodeName.toLowerCase())
12404                            ? ((e.disabled = !1),
12405                              s.trigger
12406                                  .filter("button")
12407                                  .each(function () {
12408                                      this.disabled = !1;
12409                                  })
12410                                  .end()
12411                                  .filter("img")
12412                                  .css({ opacity: "1.0", cursor: "" }))
12413                            : ("div" !== t && "span" !== t) || ((i = n.children("." + this._inlineClass)).children().removeClass("ui-state-disabled"), i.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled", !1)),
12414                        (this._disabledInputs = x.map(this._disabledInputs, function (t) {
12415                            return t === e ? null : t;
12416                        })));
12417                },
12418                _disableDatepicker: function (e) {
12419                    var t,
12420                        i,
12421                        n = x(e),
12422                        s = x.data(e, "datepicker");
12423                    n.hasClass(this.markerClassName) &&
12424                        ("input" === (t = e.nodeName.toLowerCase())
12425                            ? ((e.disabled = !0),
12426                              s.trigger
12427                                  .filter("button")
12428                                  .each(function () {
12429                                      this.disabled = !0;
12430                                  })
12431                                  .end()
12432                                  .filter("img")
12433                                  .css({ opacity: "0.5", cursor: "default" }))
12434                            : ("div" !== t && "span" !== t) || ((i = n.children("." + this._inlineClass)).children().addClass("ui-state-disabled"), i.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled", !0)),
12435                        (this._disabledInputs = x.map(this._disabledInputs, function (t) {
12436                            return t === e ? null : t;
12437                        })),
12438                        (this._disabledInputs[this._disabledInputs.length] = e));
12439                },
12440                _isDisabledDatepicker: function (t) {
12441                    if (!t) return !1;
12442                    for (var e = 0; this._disabledInputs.length > e; e++) if (this._disabledInputs[e] === t) return !0;
12443                    return !1;
12444                },
12445                _getInst: function (t) {
12446                    try {
12447                        return x.data(t, "datepicker");
12448                    } catch (t) {
12449                        throw "Missing instance data for this datepicker";
12450                    }
12451                },
12452                _optionDatepicker: function (t, e, i) {
12453                    var n,
12454                        s,
12455                        o,
12456                        r,
12457                        a = this._getInst(t);
12458                    return 2 === arguments.length && "string" == typeof e
12459                        ? "defaults" === e
12460                            ? x.extend({}, x.datepicker._defaults)
12461                            : a
12462                            ? "all" === e
12463                                ? x.extend({}, a.settings)
12464                                : this._get(a, e)
12465                            : null
12466                        : ((n = e || {}),
12467                          "string" == typeof e && ((n = {})[e] = i),
12468                          void (
12469                              a &&
12470                              (this._curInst === a && this._hideDatepicker(),
12471                              (s = this._getDateDatepicker(t, !0)),
12472                              (o = this._getMinMaxDate(a, "min")),
12473                              (r = this._getMinMaxDate(a, "max")),
12474                              h(a.settings, n),
12475                              null !== o && void 0 !== n.dateFormat && void 0 === n.minDate && (a.settings.minDate = this._formatDate(a, o)),
12476                              null !== r && void 0 !== n.dateFormat && void 0 === n.maxDate && (a.settings.maxDate = this._formatDate(a, r)),
12477                              "disabled" in n && (n.disabled ? this._disableDatepicker(t) : this._enableDatepicker(t)),
12478                              this._attachments(x(t), a),
12479                              this._autoSize(a),
12480                              this._setDate(a, s),
12481                              this._updateAlternate(a),
12482                              this._updateDatepicker(a))
12483                          ));
12484                },
12485                _changeDatepicker: function (t, e, i) {
12486                    this._optionDatepicker(t, e, i);
12487                },
12488                _refreshDatepicker: function (t) {
12489                    var e = this._getInst(t);
12490                    e && this._updateDatepicker(e);
12491                },
12492                _setDateDatepicker: function (t, e) {
12493                    var i = this._getInst(t);
12494                    i && (this._setDate(i, e), this._updateDatepicker(i), this._updateAlternate(i));
12495                },
12496                _getDateDatepicker: function (t, e) {
12497                    var i = this._getInst(t);
12498                    return i && !i.inline && this._setDateFromField(i, e), i ? this._getDate(i) : null;
12499                },
12500                _doKeyDown: function (t) {
12501                    var e,
12502                        i,
12503                        n,
12504                        s = x.datepicker._getInst(t.target),
12505                        o = !0,
12506                        r = s.dpDiv.is(".ui-datepicker-rtl");
12507                    if (((s._keyEvent = !0), x.datepicker._datepickerShowing))
12508                        switch (t.keyCode) {
12509                            case 9:
12510                                x.datepicker._hideDatepicker(), (o = !1);
12511                                break;
12512                            case 13:
12513                                return (
12514                                    (n = x("td." + x.datepicker._dayOverClass + ":not(." + x.datepicker._currentClass + ")", s.dpDiv))[0] && x.datepicker._selectDay(t.target, s.selectedMonth, s.selectedYear, n[0]),
12515                                    (e = x.datepicker._get(s, "onSelect")) ? ((i = x.datepicker._formatDate(s)), e.apply(s.input ? s.input[0] : null, [i, s])) : x.datepicker._hideDatepicker(),
12516                                    !1
12517                                );
12518                            case 27:
12519                                x.datepicker._hideDatepicker();
12520                                break;
12521                            case 33:
12522                                x.datepicker._adjustDate(t.target, t.ctrlKey ? -x.datepicker._get(s, "stepBigMonths") : -x.datepicker._get(s, "stepMonths"), "M");
12523                                break;
12524                            case 34:
12525                                x.datepicker._adjustDate(t.target, t.ctrlKey ? +x.datepicker._get(s, "stepBigMonths") : +x.datepicker._get(s, "stepMonths"), "M");
12526                                break;
12527                            case 35:
12528                                (t.ctrlKey || t.metaKey) && x.datepicker._clearDate(t.target), (o = t.ctrlKey || t.metaKey);
12529                                break;
12530                            case 36:
12531                                (t.ctrlKey || t.metaKey) && x.datepicker._gotoToday(t.target), (o = t.ctrlKey || t.metaKey);
12532                                break;
12533                            case 37:
12534                                (t.ctrlKey || t.metaKey) && x.datepicker._adjustDate(t.target, r ? 1 : -1, "D"),
12535                                    (o = t.ctrlKey || t.metaKey),
12536                                    t.originalEvent.altKey && x.datepicker._adjustDate(t.target, t.ctrlKey ? -x.datepicker._get(s, "stepBigMonths") : -x.datepicker._get(s, "stepMonths"), "M");
12537                                break;
12538                            case 38:
12539                                (t.ctrlKey || t.metaKey) && x.datepicker._adjustDate(t.target, -7, "D"), (o = t.ctrlKey || t.metaKey);
12540                                break;
12541                            case 39:
12542                                (t.ctrlKey || t.metaKey) && x.datepicker._adjustDate(t.target, r ? -1 : 1, "D"),
12543                                    (o = t.ctrlKey || t.metaKey),
12544                                    t.originalEvent.altKey && x.datepicker._adjustDate(t.target, t.ctrlKey ? +x.datepicker._get(s, "stepBigMonths") : +x.datepicker._get(s, "stepMonths"), "M");
12545                                break;
12546                            case 40:
12547                                (t.ctrlKey || t.metaKey) && x.datepicker._adjustDate(t.target, 7, "D"), (o = t.ctrlKey || t.metaKey);
12548                                break;
12549                            default:
12550                                o = !1;
12551                        }
12552                    else 36 === t.keyCode && t.ctrlKey ? x.datepicker._showDatepicker(this) : (o = !1);
12553                    o && (t.preventDefault(), t.stopPropagation());
12554                },
12555                _doKeyPress: function (t) {
12556                    var e,
12557                        i,
12558                        n = x.datepicker._getInst(t.target);
12559                    return x.datepicker._get(n, "constrainInput")
12560                        ? ((e = x.datepicker._possibleChars(x.datepicker._get(n, "dateFormat"))), (i = String.fromCharCode(null == t.charCode ? t.keyCode : t.charCode)), t.ctrlKey || t.metaKey || i < " " || !e || -1 < e.indexOf(i))
12561                        : void 0;
12562                },
12563                _doKeyUp: function (t) {
12564                    var e = x.datepicker._getInst(t.target);
12565                    if (e.input.val() !== e.lastVal)
12566                        try {
12567                            x.datepicker.parseDate(x.datepicker._get(e, "dateFormat"), e.input ? e.input.val() : null, x.datepicker._getFormatConfig(e)) &&
12568                                (x.datepicker._setDateFromField(e), x.datepicker._updateAlternate(e), x.datepicker._updateDatepicker(e));
12569                        } catch (t) {}
12570                    return !0;
12571                },
12572                _showDatepicker: function (t) {
12573                    var e, i, n, s, o, r, a;
12574                    "input" !== (t = t.target || t).nodeName.toLowerCase() && (t = x("input", t.parentNode)[0]),
12575                        x.datepicker._isDisabledDatepicker(t) ||
12576                            x.datepicker._lastInput === t ||
12577                            ((e = x.datepicker._getInst(t)),
12578                            x.datepicker._curInst && x.datepicker._curInst !== e && (x.datepicker._curInst.dpDiv.stop(!0, !0), e && x.datepicker._datepickerShowing && x.datepicker._hideDatepicker(x.datepicker._curInst.input[0])),
12579                            !1 !== (n = (i = x.datepicker._get(e, "beforeShow")) ? i.apply(t, [t, e]) : {}) &&
12580                                (h(e.settings, n),
12581                                (e.lastVal = null),
12582                                (x.datepicker._lastInput = t),
12583                                x.datepicker._setDateFromField(e),
12584                                x.datepicker._inDialog && (t.value = ""),
12585                                x.datepicker._pos || ((x.datepicker._pos = x.datepicker._findPos(t)), (x.datepicker._pos[1] += t.offsetHeight)),
12586                                (s = !1),
12587                                x(t)
12588                                    .parents()
12589                                    .each(function () {
12590                                        return !(s |= "fixed" === x(this).css("position"));
12591                                    }),
12592                                (o = { left: x.datepicker._pos[0], top: x.datepicker._pos[1] }),
12593                                (x.datepicker._pos = null),
12594                                e.dpDiv.empty(),
12595                                e.dpDiv.css({ position: "absolute", display: "block", top: "-1000px" }),
12596                                x.datepicker._updateDatepicker(e),
12597                                (o = x.datepicker._checkOffset(e, o, s)),
12598                                e.dpDiv.css({ position: x.datepicker._inDialog && x.blockUI ? "static" : s ? "fixed" : "absolute", display: "none", left: o.left + "px", top: o.top + "px" }),
12599                                e.inline ||
12600                                    ((r = x.datepicker._get(e, "showAnim")),
12601                                    (a = x.datepicker._get(e, "duration")),
12602                                    e.dpDiv.css(
12603                                        "z-index",
12604                                        (function (t) {
12605                                            for (var e, i; t.length && t[0] !== document; ) {
12606                                                if (("absolute" === (e = t.css("position")) || "relative" === e || "fixed" === e) && ((i = parseInt(t.css("zIndex"), 10)), !isNaN(i) && 0 !== i)) return i;
12607                                                t = t.parent();
12608                                            }
12609                                            return 0;
12610                                        })(x(t)) + 1
12611                                    ),
12612                                    (x.datepicker._datepickerShowing = !0),
12613                                    x.effects && x.effects.effect[r] ? e.dpDiv.show(r, x.datepicker._get(e, "showOptions"), a) : e.dpDiv[r || "show"](r ? a : null),
12614                                    x.datepicker._shouldFocusInput(e) && e.input.trigger("focus"),
12615                                    (x.datepicker._curInst = e))));
12616                },
12617                _updateDatepicker: function (t) {
12618                    (this.maxRows = 4), (it = t).dpDiv.empty().append(this._generateHTML(t)), this._attachHandlers(t);
12619                    var e,
12620                        i = this._getNumberOfMonths(t),
12621                        n = i[1],
12622                        s = t.dpDiv.find("." + this._dayOverClass + " a");
12623                    0 < s.length && o.apply(s.get(0)),
12624                        t.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),
12625                        1 < n && t.dpDiv.addClass("ui-datepicker-multi-" + n).css("width", 17 * n + "em"),
12626                        t.dpDiv[(1 !== i[0] || 1 !== i[1] ? "add" : "remove") + "Class"]("ui-datepicker-multi"),
12627                        t.dpDiv[(this._get(t, "isRTL") ? "add" : "remove") + "Class"]("ui-datepicker-rtl"),
12628                        t === x.datepicker._curInst && x.datepicker._datepickerShowing && x.datepicker._shouldFocusInput(t) && t.input.trigger("focus"),
12629                        t.yearshtml &&
12630                            ((e = t.yearshtml),
12631                            setTimeout(function () {
12632                                e === t.yearshtml && t.yearshtml && t.dpDiv.find("select.ui-datepicker-year:first").replaceWith(t.yearshtml), (e = t.yearshtml = null);
12633                            }, 0));
12634                },
12635                _shouldFocusInput: function (t) {
12636                    return t.input && t.input.is(":visible") && !t.input.is(":disabled") && !t.input.is(":focus");
12637                },
12638                _checkOffset: function (t, e, i) {
12639                    var n = t.dpDiv.outerWidth(),
12640                        s = t.dpDiv.outerHeight(),
12641                        o = t.input ? t.input.outerWidth() : 0,
12642                        r = t.input ? t.input.outerHeight() : 0,
12643                        a = document.documentElement.clientWidth + (i ? 0 : x(document).scrollLeft()),
12644                        l = document.documentElement.clientHeight + (i ? 0 : x(document).scrollTop());
12645                    return (
12646                        (e.left -= this._get(t, "isRTL") ? n - o : 0),
12647                        (e.left -= i && e.left === t.input.offset().left ? x(document).scrollLeft() : 0),
12648                        (e.top -= i && e.top === t.input.offset().top + r ? x(document).scrollTop() : 0),
12649                        (e.left -= Math.min(e.left, e.left + n > a && n < a ? Math.abs(e.left + n - a) : 0)),
12650                        (e.top -= Math.min(e.top, e.top + s > l && s < l ? Math.abs(s + r) : 0)),
12651                        e
12652                    );
12653                },
12654                _findPos: function (t) {
12655                    for (var e, i = this._getInst(t), n = this._get(i, "isRTL"); t && ("hidden" === t.type || 1 !== t.nodeType || x.expr.filters.hidden(t)); ) t = t[n ? "previousSibling" : "nextSibling"];
12656                    return [(e = x(t).offset()).left, e.top];
12657                },
12658                _hideDatepicker: function (t) {
12659                    var e,
12660                        i,
12661                        n,
12662                        s,
12663                        o = this._curInst;
12664                    !o ||
12665                        (t && o !== x.data(t, "datepicker")) ||
12666                        (this._datepickerShowing &&
12667                            ((e = this._get(o, "showAnim")),
12668                            (i = this._get(o, "duration")),
12669                            (n = function () {
12670                                x.datepicker._tidyDialog(o);
12671                            }),
12672                            x.effects && (x.effects.effect[e] || x.effects[e]) ? o.dpDiv.hide(e, x.datepicker._get(o, "showOptions"), i, n) : o.dpDiv["slideDown" === e ? "slideUp" : "fadeIn" === e ? "fadeOut" : "hide"](e ? i : null, n),
12673                            e || n(),
12674                            (this._datepickerShowing = !1),
12675                            (s = this._get(o, "onClose")) && s.apply(o.input ? o.input[0] : null, [o.input ? o.input.val() : "", o]),
12676                            (this._lastInput = null),
12677                            this._inDialog && (this._dialogInput.css({ position: "absolute", left: "0", top: "-100px" }), x.blockUI && (x.unblockUI(), x("body").append(this.dpDiv))),
12678                            (this._inDialog = !1)));
12679                },
12680                _tidyDialog: function (t) {
12681                    t.dpDiv.removeClass(this._dialogClass).off(".ui-datepicker-calendar");
12682                },
12683                _checkExternalClick: function (t) {
12684                    if (x.datepicker._curInst) {
12685                        var e = x(t.target),
12686                            i = x.datepicker._getInst(e[0]);
12687                        ((e[0].id === x.datepicker._mainDivId ||
12688                            0 !== e.parents("#" + x.datepicker._mainDivId).length ||
12689                            e.hasClass(x.datepicker.markerClassName) ||
12690                            e.closest("." + x.datepicker._triggerClass).length ||
12691                            !x.datepicker._datepickerShowing ||
12692                            (x.datepicker._inDialog && x.blockUI)) &&
12693                            (!e.hasClass(x.datepicker.markerClassName) || x.datepicker._curInst === i)) ||
12694                            x.datepicker._hideDatepicker();
12695                    }
12696                },
12697                _adjustDate: function (t, e, i) {
12698                    var n = x(t),
12699                        s = this._getInst(n[0]);
12700                    this._isDisabledDatepicker(n[0]) || (this._adjustInstDate(s, e + ("M" === i ? this._get(s, "showCurrentAtPos") : 0), i), this._updateDatepicker(s));
12701                },
12702                _gotoToday: function (t) {
12703                    var e,
12704                        i = x(t),
12705                        n = this._getInst(i[0]);
12706                    this._get(n, "gotoCurrent") && n.currentDay
12707                        ? ((n.selectedDay = n.currentDay), (n.drawMonth = n.selectedMonth = n.currentMonth), (n.drawYear = n.selectedYear = n.currentYear))
12708                        : ((e = new Date()), (n.selectedDay = e.getDate()), (n.drawMonth = n.selectedMonth = e.getMonth()), (n.drawYear = n.selectedYear = e.getFullYear())),
12709                        this._notifyChange(n),
12710                        this._adjustDate(i);
12711                },
12712                _selectMonthYear: function (t, e, i) {
12713                    var n = x(t),
12714                        s = this._getInst(n[0]);
12715                    (s["selected" + ("M" === i ? "Month" : "Year")] = s["draw" + ("M" === i ? "Month" : "Year")] = parseInt(e.options[e.selectedIndex].value, 10)), this._notifyChange(s), this._adjustDate(n);
12716                },
12717                _selectDay: function (t, e, i, n) {
12718                    var s,
12719                        o = x(t);
12720                    x(n).hasClass(this._unselectableClass) ||
12721                        this._isDisabledDatepicker(o[0]) ||
12722                        (((s = this._getInst(o[0])).selectedDay = s.currentDay = x("a", n).html()),
12723                        (s.selectedMonth = s.currentMonth = e),
12724                        (s.selectedYear = s.currentYear = i),
12725                        this._selectDate(t, this._formatDate(s, s.currentDay, s.currentMonth, s.currentYear)));
12726                },
12727                _clearDate: function (t) {
12728                    var e = x(t);
12729                    this._selectDate(e, "");
12730                },
12731                _selectDate: function (t, e) {
12732                    var i,
12733                        n = x(t),
12734                        s = this._getInst(n[0]);
12735                    (e = null != e ? e : this._formatDate(s)),
12736                        s.input && s.input.val(e),
12737                        this._updateAlternate(s),
12738                        (i = this._get(s, "onSelect")) ? i.apply(s.input ? s.input[0] : null, [e, s]) : s.input && s.input.trigger("change"),
12739                        s.inline ? this._updateDatepicker(s) : (this._hideDatepicker(), (this._lastInput = s.input[0]), "object" != typeof s.input[0] && s.input.trigger("focus"), (this._lastInput = null));
12740                },
12741                _updateAlternate: function (t) {
12742                    var e,
12743                        i,
12744                        n,
12745                        s = this._get(t, "altField");
12746                    s && ((e = this._get(t, "altFormat") || this._get(t, "dateFormat")), (i = this._getDate(t)), (n = this.formatDate(e, i, this._getFormatConfig(t))), x(s).val(n));
12747                },
12748                noWeekends: function (t) {
12749                    var e = t.getDay();
12750                    return [0 < e && e < 6, ""];
12751                },
12752                iso8601Week: function (t) {
12753                    var e,
12754                        i = new Date(t.getTime());
12755                    return i.setDate(i.getDate() + 4 - (i.getDay() || 7)), (e = i.getTime()), i.setMonth(0), i.setDate(1), Math.floor(Math.round((e - i) / 864e5) / 7) + 1;
12756                },
12757                parseDate: function (i, o, t) {
12758                    if (null == i || null == o) throw "Invalid arguments";
12759                    if ("" === (o = "object" == typeof o ? "" + o : o + "")) return null;
12760                    function r(t) {
12761                        var e = i.length > a + 1 && i.charAt(a + 1) === t;
12762                        return e && a++, e;
12763                    }
12764                    function e(t) {
12765                        var e = r(t),
12766                            i = "@" === t ? 14 : "!" === t ? 20 : "y" === t && e ? 4 : "o" === t ? 3 : 2,
12767                            n = RegExp("^\\d{" + ("y" === t ? i : 1) + "," + i + "}"),
12768                            s = o.substring(h).match(n);
12769                        if (!s) throw "Missing number at position " + h;
12770                        return (h += s[0].length), parseInt(s[0], 10);
12771                    }
12772                    function n(t, e, i) {
12773                        var n = -1,
12774                            s = x
12775                                .map(r(t) ? i : e, function (t, e) {
12776                                    return [[e, t]];
12777                                })
12778                                .sort(function (t, e) {
12779                                    return -(t[1].length - e[1].length);
12780                                });
12781                        if (
12782                            (x.each(s, function (t, e) {
12783                                var i = e[1];
12784                                return o.substr(h, i.length).toLowerCase() === i.toLowerCase() ? ((n = e[0]), (h += i.length), !1) : void 0;
12785                            }),
12786                            -1 !== n)
12787                        )
12788                            return n + 1;
12789                        throw "Unknown name at position " + h;
12790                    }
12791                    function s() {
12792                        if (o.charAt(h) !== i.charAt(a)) throw "Unexpected literal at position " + h;
12793                        h++;
12794                    }
12795                    var a,
12796                        l,
12797                        c,
12798                        u,
12799                        h = 0,
12800                        d = (t ? t.shortYearCutoff : null) || this._defaults.shortYearCutoff,
12801                        p = "string" != typeof d ? d : (new Date().getFullYear() % 100) + parseInt(d, 10),
12802                        f = (t ? t.dayNamesShort : null) || this._defaults.dayNamesShort,
12803                        m = (t ? t.dayNames : null) || this._defaults.dayNames,
12804                        g = (t ? t.monthNamesShort : null) || this._defaults.monthNamesShort,
12805                        v = (t ? t.monthNames : null) || this._defaults.monthNames,
12806                        b = -1,
12807                        y = -1,
12808                        _ = -1,
12809                        k = -1,
12810                        w = !1;
12811                    for (a = 0; i.length > a; a++)
12812                        if (w) "'" !== i.charAt(a) || r("'") ? s() : (w = !1);
12813                        else
12814                            switch (i.charAt(a)) {
12815                                case "d":
12816                                    _ = e("d");
12817                                    break;
12818                                case "D":
12819                                    n("D", f, m);
12820                                    break;
12821                                case "o":
12822                                    k = e("o");
12823                                    break;
12824                                case "m":
12825                                    y = e("m");
12826                                    break;
12827                                case "M":
12828                                    y = n("M", g, v);
12829                                    break;
12830                                case "y":
12831                                    b = e("y");
12832                                    break;
12833                                case "@":
12834                                    (b = (u = new Date(e("@"))).getFullYear()), (y = u.getMonth() + 1), (_ = u.getDate());
12835                                    break;
12836                                case "!":
12837                                    (b = (u = new Date((e("!") - this._ticksTo1970) / 1e4)).getFullYear()), (y = u.getMonth() + 1), (_ = u.getDate());
12838                                    break;
12839                                case "'":
12840                                    r("'") ? s() : (w = !0);
12841                                    break;
12842                                default:
12843                                    s();
12844                            }
12845                    if (o.length > h && ((c = o.substr(h)), !/^\s+/.test(c))) throw "Extra/unparsed characters found in date: " + c;
12846                    if ((-1 === b ? (b = new Date().getFullYear()) : b < 100 && (b += new Date().getFullYear() - (new Date().getFullYear() % 100) + (b <= p ? 0 : -100)), -1 < k)
12846)
12847                        for (y = 1, _ = k; !(_ <= (l = this._getDaysInMonth(b, y - 1))); ) y++, (_ -= l);
12848                    if ((u = this._daylightSavingAdjust(new Date(b, y - 1, _))).getFullYear() !== b || u.getMonth() + 1 !== y || u.getDate() !== _) throw "Invalid date";
12849                    return u;
12850                },
12851                ATOM: "yy-mm-dd",
12852                COOKIE: "D, dd M yy",
12853                ISO_8601: "yy-mm-dd",
12854                RFC_822: "D, d M y",
12855                RFC_850: "DD, dd-M-y",
12856                RFC_1036: "D, d M y",
12857                RFC_1123: "D, d M yy",
12858                RFC_2822: "D, d M yy",
12859                RSS: "D, d M y",
12860                TICKS: "!",
12861                TIMESTAMP: "@",
12862                W3C: "yy-mm-dd",
12863                _ticksTo1970: 864e9 * (718685 + Math.floor(492.5) - Math.floor(19.7) + Math.floor(4.925)),
12864                formatDate: function (i, t, e) {
12865                    if (!t) return "";
12866                    function s(t) {
12867                        var e = i.length > r + 1 && i.charAt(r + 1) === t;
12868                        return e && r++, e;
12869                    }
12870                    function n(t, e, i) {
12871                        var n = "" + e;
12872                        if (s(t)) for (; i > n.length; ) n = "0" + n;
12873                        return n;
12874                    }
12875                    function o(t, e, i, n) {
12876                        return s(t) ? n[e] : i[e];
12877                    }
12878                    var r,
12879                        a = (e ? e.dayNamesShort : null) || this._defaults.dayNamesShort,
12880                        l = (e ? e.dayNames : null) || this._defaults.dayNames,
12881                        c = (e ? e.monthNamesShort : null) || this._defaults.monthNamesShort,
12882                        u = (e ? e.monthNames : null) || this._defaults.monthNames,
12883                        h = "",
12884                        d = !1;
12885                    if (t)
12886                        for (r = 0; i.length > r; r++)
12887                            if (d) "'" !== i.charAt(r) || s("'") ? (h += i.charAt(r)) : (d = !1);
12888                            else
12889                                switch (i.charAt(r)) {
12890                                    case "d":
12891                                        h += n("d", t.getDate(), 2);
12892                                        break;
12893                                    case "D":
12894                                        h += o("D", t.getDay(), a, l);
12895                                        break;
12896                                    case "o":
12897                                        h += n("o", Math.round((new Date(t.getFullYear(), t.getMonth(), t.getDate()).getTime() - new Date(t.getFullYear(), 0, 0).getTime()) / 864e5), 3);
12898                                        break;
12899                                    case "m":
12900                                        h += n("m", t.getMonth() + 1, 2);
12901                                        break;
12902                                    case "M":
12903                                        h += o("M", t.getMonth(), c, u);
12904                                        break;
12905                                    case "y":
12906                                        h += s("y") ? t.getFullYear() : (t.getFullYear() % 100 < 10 ? "0" : "") + (t.getFullYear() % 100);
12907                                        break;
12908                                    case "@":
12909                                        h += t.getTime();
12910                                        break;
12911                                    case "!":
12912                                        h += 1e4 * t.getTime() + this._ticksTo1970;
12913                                        break;
12914                                    case "'":
12915                                        s("'") ? (h += "'") : (d = !0);
12916                                        break;
12917                                    default:
12918                                        h += i.charAt(r);
12919                                }
12920                    return h;
12921                },
12922                _possibleChars: function (i) {
12923                    function t(t) {
12924                        var e = i.length > n + 1 && i.charAt(n + 1) === t;
12925                        return e && n++, e;
12926                    }
12927                    var n,
12928                        e = "",
12929                        s = !1;
12930                    for (n = 0; i.length > n; n++)
12931                        if (s) "'" !== i.charAt(n) || t("'") ? (e += i.charAt(n)) : (s = !1);
12932                        else
12933                            switch (i.charAt(n)) {
12934                                case "d":
12935                                case "m":
12936                                case "y":
12937                                case "@":
12938                                    e += "0123456789";
12939                                    break;
12940                                case "D":
12941                                case "M":
12942                                    return null;
12943                                case "'":
12944                                    t("'") ? (e += "'") : (s = !0);
12945                                    break;
12946                                default:
12947                                    e += i.charAt(n);
12948                            }
12949                    return e;
12950                },
12951                _get: function (t, e) {
12952                    return void 0 !== t.settings[e] ? t.settings[e] : this._defaults[e];
12953                },
12954                _setDateFromField: function (t, e) {
12955                    if (t.input.val() !== t.lastVal) {
12956                        var i = this._get(t, "dateFormat"),
12957                            n = (t.lastVal = t.input ? t.input.val() : null),
12958                            s = this._getDefaultDate(t),
12959                            o = s,
12960                            r = this._getFormatConfig(t);
12961                        try {
12962                            o = this.parseDate(i, n, r) || s;
12963                        } catch (t) {
12964                            n = e ? "" : n;
12965                        }
12966                        (t.selectedDay = o.getDate()),
12967                            (t.drawMonth = t.selectedMonth = o.getMonth()),
12968                            (t.drawYear = t.selectedYear = o.getFullYear()),
12969                            (t.currentDay = n ? o.getDate() : 0),
12970                            (t.currentMonth = n ? o.getMonth() : 0),
12971                            (t.currentYear = n ? o.getFullYear() : 0),
12972                            this._adjustInstDate(t);
12973                    }
12974                },
12975                _getDefaultDate: function (t) {
12976                    return this._restrictMinMax(t, this._determineDate(t, this._get(t, "defaultDate"), new Date()));
12977                },
12978                _determineDate: function (a, t, e) {
12979                    var i,
12980                        n,
12981                        s =
12982                            null == t || "" === t
12983                                ? e
12984                                : "string" == typeof t
12985                                ? (function (t) {
12986                                      try {
12987                                          return x.datepicker.parseDate(x.datepicker._get(a, "dateFormat"), t, x.datepicker._getFormatConfig(a));
12988                                      } catch (t) {}
12989                                      for (
12990                                          var e = (t.toLowerCase().match(/^c/) ? x.datepicker._getDate(a) : null) || new Date(),
12991                                              i = e.getFullYear(),
12992                                              n = e.getMonth(),
12993                                              s = e.getDate(),
12994                                              o = /([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,
12995                                              r = o.exec(t);
12996                                          r;
12997
12998                                      ) {
12999                                          switch (r[2] || "d") {
13000                                              case "d":
13001                                              case "D":
13002                                                  s += parseInt(r[1], 10);
13003                                                  break;
13004                                              case "w":
13005                                              case "W":
13006                                                  s += 7 * parseInt(r[1], 10);
13007                                                  break;
13008                                              case "m":
13009                                              case "M":
13010                                                  (n += parseInt(r[1], 10)), (s = Math.min(s, x.datepicker._getDaysInMonth(i, n)));
13011                                                  break;
13012                                              case "y":
13013                                              case "Y":
13014                                                  (i += parseInt(r[1], 10)), (s = Math.min(s, x.datepicker._getDaysInMonth(i, n)));
13015                                          }
13016                                          r = o.exec(t);
13017                                      }
13018                                      return new Date(i, n, s);
13019                                  })(t)
13020                                : "number" == typeof t
13021                                ? isNaN(t)
13022                                    ? e
13023                                    : ((i = t), (n = new Date()).setDate(n.getDate() + i), n)
13024                                : new Date(t.getTime());
13025                    return (s = s && "Invalid Date" == "" + s ? e : s) && (s.setHours(0), s.setMinutes(0), s.setSeconds(0), s.setMilliseconds(0)), this._daylightSavingAdjust(s);
13026                },
13027                _daylightSavingAdjust: function (t) {
13028                    return t ? (t.setHours(12 < t.getHours() ? t.getHours() + 2 : 0), t) : null;
13029                },
13030                _setDate: function (t, e, i) {
13031                    var n = !e,
13032                        s = t.selectedMonth,
13033                        o = t.selectedYear,
13034                        r = this._restrictMinMax(t, this._determineDate(t, e, new Date()));
13035                    (t.selectedDay = t.currentDay = r.getDate()),
13036                        (t.drawMonth = t.selectedMonth = t.currentMonth = r.getMonth()),
13037                        (t.drawYear = t.selectedYear = t.currentYear = r.getFullYear()),
13038                        (s === t.selectedMonth && o === t.selectedYear) || i || this._notifyChange(t),
13039                        this._adjustInstDate(t),
13040                        t.input && t.input.val(n ? "" : this._formatDate(t));
13041                },
13042                _getDate: function (t) {
13043                    return !t.currentYear || (t.input && "" === t.input.val()) ? null : this._daylightSavingAdjust(new Date(t.currentYear, t.currentMonth, t.currentDay));
13044                },
13045                _attachHandlers: function (t) {
13046                    var e = this._get(t, "stepMonths"),
13047                        i = "#" + t.id.replace(/\\\\/g, "\\");
13048                    t.dpDiv.find("[data-handler]").map(function () {
13049                        var t = {
13050                            prev: function () {
13051                                x.datepicker._adjustDate(i, -e, "M");
13052                            },
13053                            next: function () {
13054                                x.datepicker._adjustDate(i, +e, "M");
13055                            },
13056                            hide: function () {
13057                                x.datepicker._hideDatepicker();
13058                            },
13059                            today: function () {
13060                                x.datepicker._gotoToday(i);
13061                            },
13062                            selectDay: function () {
13063                                return x.datepicker._selectDay(i, +this.getAttribute("data-month"), +this.getAttribute("data-year"), this), !1;
13064                            },
13065                            selectMonth: function () {
13066                                return x.datepicker._selectMonthYear(i, this, "M"), !1;
13067                            },
13068                            selectYear: function () {
13069                                return x.datepicker._selectMonthYear(i, this, "Y"), !1;
13070                            },
13071                        };
13072                        x(this).on(this.getAttribute("data-event"), t[this.getAttribute("data-handler")]);
13073                    });
13074                },
13075                _generateHTML: function (t) {
13076                    var e,
13077                        i,
13078                        n,
13079                        s,
13080                        o,
13081                        r,
13082                        a,
13083                        l,
13084                        c,
13085                        u,
13086                        h,
13087                        d,
13088                        p,
13089                        f,
13090                        m,
13091                        g,
13092                        v,
13093                        b,
13094                        y,
13095                        _,
13096                        k,
13097                        w,
13098                        x,
13099                        C,
13100                        T,
13101                        S,
13102                        D,
13103                        P,
13104                        I,
13105                        A,
13106                        M,
13107                        E,
13108                        O,
13109                        H,
13110                        N,
13111                        z,
13112                        L,
13113                        j,
13114                        F,
13115                        R = new Date(),
13116                        W = this._daylightSavingAdjust(new Date(R.getFullYear(), R.getMonth(), R.getDate())),
13117                        $ = this._get(t, "isRTL"),
13118                        B = this._get(t, "showButtonPanel"),
13119                        q = this._get(t, "hideIfNoPrevNext"),
13120                        Y = this._get(t, "navigationAsDateFormat"),
13121                        U = this._getNumberOfMonths(t),
13122                        V = this._get(t, "showCurrentAtPos"),
13123                        K = this._get(t, "stepMonths"),
13124                        G = 1 !== U[0] || 1 !== U[1],
13125                        X = this._daylightSavingAdjust(t.currentDay ? new Date(t.currentYear, t.currentMonth, t.currentDay) : new Date(9999, 9, 9)),
13126                        Q = this._getMinMaxDate(t, "min"),
13127                        Z = this._getMinMaxDate(t, "max"),
13128                        J = t.drawMonth - V,
13129                        tt = t.drawYear;
13130                    if ((J < 0 && ((J += 12), tt--), Z))
13131                        for (e = this._daylightSavingAdjust(new Date(Z.getFullYear(), Z.getMonth() - U[0] * U[1] + 1, Z.getDate())), e = Q && e < Q ? Q : e; this._daylightSavingAdjust(new Date(tt, J, 1)) > e; ) --J < 0 && ((J = 11), tt--);
13132                    for (
13133                        t.drawMonth = J,
13134                            t.drawYear = tt,
13135                            i = this._get(t, "prevText"),
13136                            i = Y ? this.formatDate(i, this._daylightSavingAdjust(new Date(tt, J - K, 1)), this._getFormatConfig(t)) : i,
13137                            n = this._canAdjustMonth(t, -1, tt, J)
13138                                ? "<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='" + i + "'><span class='ui-icon ui-icon-circle-triangle-" + ($ ? "e" : "w") + "'>" + i + "</span></a>"
13139                                : q
13140                                ? ""
13141                                : "<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='" + i + "'><span class='ui-icon ui-icon-circle-triangle-" + ($ ? "e" : "w") + "'>" + i + "</span></a>",
13142                            s = this._get(t, "nextText"),
13143                            s = Y ? this.formatDate(s, this._daylightSavingAdjust(new Date(tt, J + K, 1)), this._getFormatConfig(t)) : s,
13144                            o = this._canAdjustMonth(t, 1, tt, J)
13145                                ? "<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='" + s + "'><span class='ui-icon ui-icon-circle-triangle-" + ($ ? "w" : "e") + "'>" + s + "</span></a>"
13146                                : q
13147                                ? ""
13148                                : "<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='" + s + "'><span class='ui-icon ui-icon-circle-triangle-" + ($ ? "w" : "e") + "'>" + s + "</span></a>",
13149                            r = this._get(t, "currentText"),
13150                            a = this._get(t, "gotoCurrent") && t.currentDay ? X : W,
13151                            r = Y ? this.formatDate(r, a, this._getFormatConfig(t)) : r,
13152                            l = t.inline ? "" : "<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>" + this._get(t, "closeText") + "</button>",
13153                            c = B
13154                                ? "<div class='ui-datepicker-buttonpane ui-widget-content'>" +
13155                                  ($ ? l : "") +
13156                                  (this._isInRange(t, a) ? "<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>" + r + "</button>" : "") +
13157                                  ($ ? "" : l) +
13158                                  "</div>"
13159                                : "",
13160                            u = parseInt(this._get(t, "firstDay"), 10),
13161                            u = isNaN(u) ? 0 : u,
13162                            h = this._get(t, "showWeek"),
13163                            d = this._get(t, "dayNames"),
13164                            p = this._get(t, "dayNamesMin"),
13165                            f = this._get(t, "monthNames"),
13166                            m = this._get(t, "monthNamesShort"),
13167                            g = this._get(t, "beforeShowDay"),
13168                            v = this._get(t, "showOtherMonths"),
13169                            b = this._get(t, "selectOtherMonths"),
13170                            y = this._getDefaultDate(t),
13171                            _ = "",
13172                            w = 0;
13173                        U[0] > w;
13174                        w++
13175                    ) {
13176                        for (x = "", this.maxRows = 4, C = 0; U[1] > C; C++) {
13177                            if (((T = this._daylightSavingAdjust(new Date(tt, J, t.selectedDay))), (S = " ui-corner-all"), (D = ""), G)) {
13178                                if (((D += "<div class='ui-datepicker-group"), 1 < U[1]))
13179                                    switch (C) {
13180                                        case 0:
13181                                            (D += " ui-datepicker-group-first"), (S = " ui-corner-" + ($ ? "right" : "left"));
13182                                            break;
13183                                        case U[1] - 1:
13184                                            (D += " ui-datepicker-group-last"), (S = " ui-corner-" + ($ ? "left" : "right"));
13185                                            break;
13186                                        default:
13187                                            (D += " ui-datepicker-group-middle"), (S = "");
13188                                    }
13189                                D += "'>";
13190                            }
13191                            for (
13192                                D +=
13193                                    "<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix" +
13194                                    S +
13195                                    "'>" +
13196                                    (/all|left/.test(S) && 0 === w ? ($ ? o : n) : "") +
13197                                    (/all|right/.test(S) && 0 === w ? ($ ? n : o) : "") +
13198                                    this._generateMonthYearHeader(t, J, tt, Q, Z, 0 < w || 0 < C, f, m) +
13199                                    "</div><table class='ui-datepicker-calendar'><thead><tr>",
13200                                    P = h ? "<th class='ui-datepicker-week-col'>" + this._get(t, "weekHeader") + "</th>" : "",
13201                                    k = 0;
13202                                k < 7;
13203                                k++
13204                            )
13205                                P += "<th scope='col'" + (5 <= (k + u + 6) % 7 ? " class='ui-datepicker-week-end'" : "") + "><span title='" + d[(I = (k + u) % 7)] + "'>" + p[I] + "</span></th>";
13206                            for (
13207                                D += P + "</tr></thead><tbody>",
13208                                    A = this._getDaysInMonth(tt, J),
13209                                    tt === t.selectedYear && J === t.selectedMonth && (t.selectedDay = Math.min(t.selectedDay, A)),
13210                                    M = (this._getFirstDayOfMonth(tt, J) - u + 7) % 7,
13211                                    E = Math.ceil((M + A) / 7),
13212                                    O = G && this.maxRows > E ? this.maxRows : E,
13213                                    this.maxRows = O,
13214                                    H = this._daylightSavingAdjust(new Date(tt, J, 1 - M)),
13215                                    N = 0;
13216                                N < O;
13217                                N++
13218                            ) {
13219                                for (D += "<tr>", z = h ? "<td class='ui-datepicker-week-col'>" + this._get(t, "calculateWeek")(H) + "</td>" : "", k = 0; k < 7; k++)
13220                                    (L = g ? g.apply(t.input ? t.input[0] : null, [H]) : [!0, ""]),
13221                                        (F = ((j = H.getMonth() !== J) && !b) || !L[0] || (Q && H < Q) || (Z && Z < H)),
13222                                        (z +=
13223                                            "<td class='" +
13224                                            (5 <= (k + u + 6) % 7 ? " ui-datepicker-week-end" : "") +
13225                                            (j ? " ui-datepicker-other-month" : "") +
13226                                            ((H.getTime() === T.getTime() && J === t.selectedMonth && t._keyEvent) || (y.getTime() === H.getTime() && y.getTime() === T.getTime()) ? " " + this._dayOverClass : "") +
13227                                            (F ? " " + this._unselectableClass + " ui-state-disabled" : "") +
13228                                            (j && !v ? "" : " " + L[1] + (H.getTime() === X.getTime() ? " " + this._currentClass : "") + (H.getTime() === W.getTime() ? " ui-datepicker-today" : "")) +
13229                                            "'" +
13230                                            ((j && !v) || !L[2] ? "" : " title='" + L[2].replace(/'/g, "&#39;") + "'") +
13231                                            (F ? "" : " data-handler='selectDay' data-event='click' data-month='" + H.getMonth() + "' data-year='" + H.getFullYear() + "'") +
13232                                            ">" +
13233                                            (j && !v
13234                                                ? "&#xa0;"
13235                                                : F
13236                                                ? "<span class='ui-state-default'>" + H.getDate() + "</span>"
13237                                                : "<a class='ui-state-default" +
13238                                                  (H.getTime() === W.getTime() ? " ui-state-highlight" : "") +
13239                                                  (H.getTime() === X.getTime() ? " ui-state-active" : "") +
13240                                                  (j ? " ui-priority-secondary" : "") +
13241                                                  "' href='#'>" +
13242                                                  H.getDate() +
13243                                                  "</a>") +
13244                                            "</td>"),
13245                                        H.setDate(H.getDate() + 1),
13246                                        (H = this._daylightSavingAdjust(H));
13247                                D += z + "</tr>";
13248                            }
13249                            11 < ++J && ((J = 0), tt++), (x += D += "</tbody></table>" + (G ? "</div>" + (0 < U[0] && C === U[1] - 1 ? "<div class='ui-datepicker-row-break'></div>" : "") : ""));
13250                        }
13251                        _ += x;
13252                    }
13253                    return (_ += c), (t._keyEvent = !1), _;
13254                },
13255                _generateMonthYearHeader: function (t, e, i, n, s, o, r, a) {
13256                    var l,
13257                        c,
13258                        u,
13259                        h,
13260                        d,
13261                        p,
13262                        f,
13263                        m,
13264                        g = this._get(t, "changeMonth"),
13265                        v = this._get(t, "changeYear"),
13266                        b = this._get(t, "showMonthAfterYear"),
13267                        y = "<div class='ui-datepicker-title'>",
13268                        _ = "";
13269                    if (o || !g) _ += "<span class='ui-datepicker-month'>" + r[e] + "</span>";
13270                    else {
13271                        for (l = n && n.getFullYear() === i, c = s && s.getFullYear() === i, _ += "<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>", u = 0; u < 12; u++)
13272                            (!l || u >= n.getMonth()) && (!c || s.getMonth() >= u) && (_ += "<option value='" + u + "'" + (u === e ? " selected='selected'" : "") + ">" + a[u] + "</option>");
13273                        _ += "</select>";
13274                    }
13275                    if ((b || (y += _ + (!o && g && v ? "" : "&#xa0;")), !t.yearshtml))
13276                        if (((t.yearshtml = ""), o || !v)) y += "<span class='ui-datepicker-year'>" + i + "</span>";
13277                        else {
13278                            for (
13279                                h = this._get(t, "yearRange").split(":"),
13280                                    d = new Date().getFullYear(),
13281                                    f = (p = function (t) {
13282                                        var e = t.match(/c[+\-].*/) ? i + parseInt(t.substring(1), 10) : t.match(/[+\-].*/) ? d + parseInt(t, 10) : parseInt(t, 10);
13283                                        return isNaN(e) ? d : e;
13284                                    })(h[0]),
13285                                    m = Math.max(f, p(h[1] || "")),
13286                                    f = n ? Math.max(f, n.getFullYear()) : f,
13287                                    m = s ? Math.min(m, s.getFullYear()) : m,
13288                                    t.yearshtml += "<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";
13289                                f <= m;
13290                                f++
13291                            )
13292                                t.yearshtml += "<option value='" + f + "'" + (f === i ? " selected='selected'" : "") + ">" + f + "</option>";
13293                            (t.yearshtml += "</select>"), (y += t.yearshtml), (t.yearshtml = null);
13294                        }
13295                    return (y += this._get(t, "yearSuffix")), b && (y += (!o && g && v ? "" : "&#xa0;") + _), y + "</div>";
13296                },
13297                _adjustInstDate: function (t, e, i) {
13298                    var n = t.selectedYear + ("Y" === i ? e : 0),
13299                        s = t.selectedMonth + ("M" === i ? e : 0),
13300                        o =
13300 Math.min(t.selectedDay, this._getDaysInMonth(n, s)) + ("D" === i ? e : 0),
13301                        r = this._restrictMinMax(t, this._daylightSavingAdjust(new Date(n, s, o)));
13302                    (t.selectedDay = r.getDate()), (t.drawMonth = t.selectedMonth = r.getMonth()), (t.drawYear = t.selectedYear = r.getFullYear()), ("M" !== i && "Y" !== i) || this._notifyChange(t);
13303                },
13304                _restrictMinMax: function (t, e) {
13305                    var i = this._getMinMaxDate(t, "min"),
13306                        n = this._getMinMaxDate(t, "max"),
13307                        s = i && e < i ? i : e;
13308                    return n && n < s ? n : s;
13309                },
13310                _notifyChange: function (t) {
13311                    var e = this._get(t, "onChangeMonthYear");
13312                    e && e.apply(t.input ? t.input[0] : null, [t.selectedYear, t.selectedMonth + 1, t]);
13313                },
13314                _getNumberOfMonths: function (t) {
13315                    var e = this._get(t, "numberOfMonths");
13316                    return null == e ? [1, 1] : "number" == typeof e ? [1, e] : e;
13317                },
13318                _getMinMaxDate: function (t, e) {
13319                    return this._determineDate(t, this._get(t, e + "Date"), null);
13320                },
13321                _getDaysInMonth: function (t, e) {
13322                    return 32 - this._daylightSavingAdjust(new Date(t, e, 32)).getDate();
13323                },
13324                _getFirstDayOfMonth: function (t, e) {
13325                    return new Date(t, e, 1).getDay();
13326                },
13327                _canAdjustMonth: function (t, e, i, n) {
13328                    var s = this._getNumberOfMonths(t),
13329                        o = this._daylightSavingAdjust(new Date(i, n + (e < 0 ? e : s[0] * s[1]), 1));
13330                    return e < 0 && o.setDate(this._getDaysInMonth(o.getFullYear(), o.getMonth())), this._isInRange(t, o);
13331                },
13332                _isInRange: function (t, e) {
13333                    var i,
13334                        n,
13335                        s = this._getMinMaxDate(t, "min"),
13336                        o = this._getMinMaxDate(t, "max"),
13337                        r = null,
13338                        a = null,
13339                        l = this._get(t, "yearRange");
13340                    return (
13341                        l && ((i = l.split(":")), (n = new Date().getFullYear()), (r = parseInt(i[0], 10)), (a = parseInt(i[1], 10)), i[0].match(/[+\-].*/) && (r += n), i[1].match(/[+\-].*/) && (a += n)),
13342                        (!s || e.getTime() >= s.getTime()) && (!o || e.getTime() <= o.getTime()) && (!r || e.getFullYear() >= r) && (!a || a >= e.getFullYear())
13343                    );
13344                },
13345                _getFormatConfig: function (t) {
13346                    var e = this._get(t, "shortYearCutoff");
13347                    return {
13348                        shortYearCutoff: (e = "string" != typeof e ? e : (new Date().getFullYear() % 100) + parseInt(e, 10)),
13349                        dayNamesShort: this._get(t, "dayNamesShort"),
13350                        dayNames: this._get(t, "dayNames"),
13351                        monthNamesShort: this._get(t, "monthNamesShort"),
13352                        monthNames: this._get(t, "monthNames"),
13353                    };
13354                },
13355                _formatDate: function (t, e, i, n) {
13356                    e || ((t.currentDay = t.selectedDay), (t.currentMonth = t.selectedMonth), (t.currentYear = t.selectedYear));
13357                    var s = e ? ("object" == typeof e ? e : this._daylightSavingAdjust(new Date(n, i, e))) : this._daylightSavingAdjust(new Date(t.currentYear, t.currentMonth, t.currentDay));
13358                    return this.formatDate(this._get(t, "dateFormat"), s, this._getFormatConfig(t));
13359                },
13360            }),
13361            (x.fn.datepicker = function (t) {
13362                if (!this.length) return this;
13363                x.datepicker.initialized || (x(document).on("mousedown", x.datepicker._checkExternalClick), (x.datepicker.initialized = !0)), 0 === x("#" + x.datepicker._mainDivId).length && x("body").append(x.datepicker.dpDiv);
13364                var e = Array.prototype.slice.call(arguments, 1);
13365                return ("string" == typeof t && ("isDisabled" === t || "getDate" === t || "widget" === t)) || ("option" === t && 2 === arguments.length && "string" == typeof arguments[1])
13366                    ? x.datepicker["_" + t + "Datepicker"].apply(x.datepicker, [this[0]].concat(e))
13367                    : this.each(function () {
13368                          "string" == typeof t ? x.datepicker["_" + t + "Datepicker"].apply(x.datepicker, [this].concat(e)) : x.datepicker._attachDatepicker(this, t);
13369                      });
13370            }),
13371            (x.datepicker = new t()),
13372            (x.datepicker.initialized = !1),
13373            (x.datepicker.uuid = new Date().getTime()),
13374            (x.datepicker.version = "1.12.1"),
13375            x.datepicker,
13376            (x.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()));
13377        var st = !1;
13378        x(document).on("mouseup", function () {
13379            st = !1;
13380        }),
13381            x.widget("ui.mouse", {
13382                version: "1.12.1",
13383                options: { cancel: "input, textarea, button, select, option", distance: 1, delay: 0 },
13384                _mouseInit: function () {
13385                    var e = this;
13386                    this.element
13387                        .on("mousedown." + this.widgetName, function (t) {
13388                            return e._mouseDown(t);
13389                        })
13390                        .on("click." + this.widgetName, function (t) {
13391                            return !0 === x.data(t.target, e.widgetName + ".preventClickEvent") ? (x.removeData(t.target, e.widgetName + ".preventClickEvent"), t.stopImmediatePropagation(), !1) : void 0;
13392                        }),
13393                        (this.started = !1);
13394                },
13395                _mouseDestroy: function () {
13396                    this.element.off("." + this.widgetName), this._mouseMoveDelegate && this.document.off("mousemove." + this.widgetName, this._mouseMoveDelegate).off("mouseup." + this.widgetName, this._mouseUpDelegate);
13397                },
13398                _mouseDown: function (t) {
13399                    if (!st) {
13400                        (this._mouseMoved = !1), this._mouseStarted && this._mouseUp(t), (this._mouseDownEvent = t);
13401                        var e = this,
13402                            i = 1 === t.which,
13403                            n = !("string" != typeof this.options.cancel || !t.target.nodeName) && x(t.target).closest(this.options.cancel).length;
13404                        return (
13405                            i &&
13406                                !n &&
13407                                this._mouseCapture(t) &&
13408                                ((this.mouseDelayMet = !this.options.delay),
13409                                this.mouseDelayMet ||
13410                                    (this._mouseDelayTimer = setTimeout(function () {
13411                                        e.mouseDelayMet = !0;
13412                                    }, this.options.delay)),
13413                                this._mouseDistanceMet(t) && this._mouseDelayMet(t) && ((this._mouseStarted = !1 !== this._mouseStart(t)), !this._mouseStarted)
13414                                    ? t.preventDefault()
13415                                    : (!0 === x.data(t.target, this.widgetName + ".preventClickEvent") && x.removeData(t.target, this.widgetName + ".preventClickEvent"),
13416                                      (this._mouseMoveDelegate = function (t) {
13417                                          return e._mouseMove(t);
13418                                      }),
13419                                      (this._mouseUpDelegate = function (t) {
13420                                          return e._mouseUp(t);
13421                                      }),
13422                                      this.document.on("mousemove." + this.widgetName, this._mouseMoveDelegate).on("mouseup." + this.widgetName, this._mouseUpDelegate),
13423                                      t.preventDefault(),
13424                                      (st = !0))),
13425                            !0
13426                        );
13427                    }
13428                },
13429                _mouseMove: function (t) {
13430                    if (this._mouseMoved) {
13431                        if (x.ui.ie && (!document.documentMode || document.documentMode < 9) && !t.button) return this._mouseUp(t);
13432                        if (!t.which)
13433                            if (t.originalEvent.altKey || t.originalEvent.ctrlKey || t.originalEvent.metaKey || t.originalEvent.shiftKey) this.ignoreMissingWhich = !0;
13434                            else if (!this.ignoreMissingWhich) return this._mouseUp(t);
13435                    }
13436                    return (
13437                        (t.which || t.button) && (this._mouseMoved = !0),
13438                        this._mouseStarted
13439                            ? (this._mouseDrag(t), t.preventDefault())
13440                            : (this._mouseDistanceMet(t) && this._mouseDelayMet(t) && ((this._mouseStarted = !1 !== this._mouseStart(this._mouseDownEvent, t)), this._mouseStarted ? this._mouseDrag(t) : this._mouseUp(t)),
13441                              !this._mouseStarted)
13442                    );
13443                },
13444                _mouseUp: function (t) {
13445                    this.document.off("mousemove." + this.widgetName, this._mouseMoveDelegate).off("mouseup." + this.widgetName, this._mouseUpDelegate),
13446                        this._mouseStarted && ((this._mouseStarted = !1), t.target === this._mouseDownEvent.target && x.data(t.target, this.widgetName + ".preventClickEvent", !0), this._mouseStop(t)),
13447                        this._mouseDelayTimer && (clearTimeout(this._mouseDelayTimer), delete this._mouseDelayTimer),
13448                        (this.ignoreMissingWhich = !1),
13449                        (st = !1),
13450                        t.preventDefault();
13451                },
13452                _mouseDistanceMet: function (t) {
13453                    return Math.max(Math.abs(this._mouseDownEvent.pageX - t.pageX), Math.abs(this._mouseDownEvent.pageY - t.pageY)) >= this.options.distance;
13454                },
13455                _mouseDelayMet: function () {
13456                    return this.mouseDelayMet;
13457                },
13458                _mouseStart: function () {},
13459                _mouseDrag: function () {},
13460                _mouseStop: function () {},
13461                _mouseCapture: function () {
13462                    return !0;
13463                },
13464            }),
13465            (x.ui.plugin = {
13466                add: function (t, e, i) {
13467                    var n,
13468                        s = x.ui[t].prototype;
13469                    for (n in i) (s.plugins[n] = s.plugins[n] || []), s.plugins[n].push([e, i[n]]);
13470                },
13471                call: function (t, e, i, n) {
13472                    var s,
13473                        o = t.plugins[e];
13474                    if (o && (n || (t.element[0].parentNode && 11 !== t.element[0].parentNode.nodeType))) for (s = 0; o.length > s; s++) t.options[o[s][0]] && o[s][1].apply(t.element, i);
13475                },
13476            }),
13477            (x.ui.safeBlur = function (t) {
13478                t && "body" !== t.nodeName.toLowerCase() && x(t).trigger("blur");
13479            }),
13480            x.widget("ui.draggable", x.ui.mouse, {
13481                version: "1.12.1",
13482                widgetEventPrefix: "drag",
13483                options: {
13484                    addClasses: !0,
13485                    appendTo: "parent",
13486                    axis: !1,
13487                    connectToSortable: !1,
13488                    containment: !1,
13489                    cursor: "auto",
13490                    cursorAt: !1,
13491                    grid: !1,
13492                    handle: !1,
13493                    helper: "original",
13494                    iframeFix: !1,
13495                    opacity: !1,
13496                    refreshPositions: !1,
13497                    revert: !1,
13498                    revertDuration: 500,
13499                    scope: "default",
13500                    scroll: !0,
13501                    scrollSensitivity: 20,
13502                    scrollSpeed: 20,
13503                    snap: !1,
13504                    snapMode: "both",
13505                    snapTolerance: 20,
13506                    stack: !1,
13507                    zIndex: !1,
13508                    drag: null,
13509                    start: null,
13510                    stop: null,
13511                },
13512                _create: function () {
13513                    "original" === this.options.helper && this._setPositionRelative(), this.options.addClasses && this._addClass("ui-draggable"), this._setHandleClassName(), this._mouseInit();
13514                },
13515                _setOption: function (t, e) {
13516                    this._super(t, e), "handle" === t && (this._removeHandleClassName(), this._setHandleClassName());
13517                },
13518                _destroy: function () {
13519                    return (this.helper || this.element).is(".ui-draggable-dragging") ? void (this.destroyOnClear = !0) : (this._removeHandleClassName(), void this._mouseDestroy());
13520                },
13521                _mouseCapture: function (t) {
13522                    var e = this.options;
13523                    return (
13524                        !(this.helper || e.disabled || 0 < x(t.target).closest(".ui-resizable-handle").length) &&
13525                        ((this.handle = this._getHandle(t)), !!this.handle && (this._blurActiveElement(t), this._blockFrames(!0 === e.iframeFix ? "iframe" : e.iframeFix), !0))
13526                    );
13527                },
13528                _blockFrames: function (t) {
13529                    this.iframeBlocks = this.document.find(t).map(function () {
13530                        var t = x(this);
13531                        return x("<div>").css("position", "absolute").appendTo(t.parent()).outerWidth(t.outerWidth()).outerHeight(t.outerHeight()).offset(t.offset())[0];
13532                    });
13533                },
13534                _unblockFrames: function () {
13535                    this.iframeBlocks && (this.iframeBlocks.remove(), delete this.iframeBlocks);
13536                },
13537                _blurActiveElement: function (t) {
13538                    var e = x.ui.safeActiveElement(this.document[0]);
13539                    x(t.target).closest(e).length || x.ui.safeBlur(e);
13540                },
13541                _mouseStart: function (t) {
13542                    var e = this.options;
13543                    return (
13544                        (this.helper = this._createHelper(t)),
13545                        this._addClass(this.helper, "ui-draggable-dragging"),
13546                        this._cacheHelperProportions(),
13547                        x.ui.ddmanager && (x.ui.ddmanager.current = this),
13548                        this._cacheMargins(),
13549                        (this.cssPosition = this.helper.css("position")),
13550                        (this.scrollParent = this.helper.scrollParent(!0)),
13551                        (this.offsetParent = this.helper.offsetParent()),
13552                        (this.hasFixedAncestor =
13553                            0 <
13554                            this.helper.parents().filter(function () {
13555                                return "fixed" === x(this).css("position");
13556                            }).length),
13557                        (this.positionAbs = this.element.offset()),
13558                        this._refreshOffsets(t),
13559                        (this.originalPosition = this.position = this._generatePosition(t, !1)),
13560                        (this.originalPageX = t.pageX),
13561                        (this.originalPageY = t.pageY),
13562                        e.cursorAt && this._adjustOffsetFromHelper(e.cursorAt),
13563                        this._setContainment(),
13564                        !1 === this._trigger("start", t)
13565                            ? (this._clear(), !1)
13566                            : (this._cacheHelperProportions(), x.ui.ddmanager && !e.dropBehaviour && x.ui.ddmanager.prepareOffsets(this, t), this._mouseDrag(t, !0), x.ui.ddmanager && x.ui.ddmanager.dragStart(this, t), !0)
13567                    );
13568                },
13569                _refreshOffsets: function (t) {
13570                    (this.offset = { top: this.positionAbs.top - this.margins.top, left: this.positionAbs.left - this.margins.left, scroll: !1, parent: this._getParentOffset(), relative: this._getRelativeOffset() }),
13571                        (this.offset.click = { left: t.pageX - this.offset.left, top: t.pageY - this.offset.top });
13572                },
13573                _mouseDrag: function (t, e) {
13574                    if ((this.hasFixedAncestor && (this.offset.parent = this._getParentOffset()), (this.position = this._generatePosition(t, !0)), (this.positionAbs = this._convertPositionTo("absolute")), !e)) {
13575                        var i = this._uiHash();
13576                        if (!1 === this._trigger("drag", t, i)) return this._mouseUp(new x.Event("mouseup", t)), !1;
13577                        this.position = i.position;
13578                    }
13579                    return (this.helper[0].style.left = this.position.left + "px"), (this.helper[0].style.top = this.position.top + "px"), x.ui.ddmanager && x.ui.ddmanager.drag(this, t), !1;
13580                },
13581                _mouseStop: function (t) {
13582                    var e = this,
13583                        i = !1;
13584                    return (
13585                        x.ui.ddmanager && !this.options.dropBehaviour && (i = x.ui.ddmanager.drop(this, t)),
13586                        this.dropped && ((i = this.dropped), (this.dropped = !1)),
13587                        ("invalid" === this.options.revert && !i) || ("valid" === this.options.revert && i) || !0 === this.options.revert || (x.isFunction(this.options.revert) && this.options.revert.call(this.element, i))
13588                            ? x(this.helper).animate(this.originalPosition, parseInt(this.options.revertDuration, 10), function () {
13589                                  !1 !== e._trigger("stop", t) && e._clear();
13590                              })
13591                            : !1 !== this._trigger("stop", t) && this._clear(),
13592                        !1
13593                    );
13594                },
13595                _mouseUp: function (t) {
13596                    return this._unblockFrames(), x.ui.ddmanager && x.ui.ddmanager.dragStop(this, t), this.handleElement.is(t.target) && this.element.trigger("focus"), x.ui.mouse.prototype._mouseUp.call(this, t);
13597                },
13598                cancel: function () {
13599                    return this.helper.is(".ui-draggable-dragging") ? this._mouseUp(new x.Event("mouseup", { target: this.element[0] })) : this._clear(), this;
13600                },
13601                _getHandle: function (t) {
13602                    return !this.options.handle || !!x(t.target).closest(this.element.find(this.options.handle)).length;
13603                },
13604                _setHandleClassName: function () {
13605                    (this.handleElement = this.options.handle ? this.element.find(this.options.handle) : this.element), this._addClass(this.handleElement, "ui-draggable-handle");
13606                },
13607                _removeHandleClassName: function () {
13608                    this._removeClass(this.handleElement, "ui-draggable-handle");
13609                },
13610                _createHelper: function (t) {
13611                    var e = this.options,
13612                        i = x.isFunction(e.helper),
13613                        n = i ? x(e.helper.apply(this.element[0], [t])) : "clone" === e.helper ? this.element.clone().removeAttr("id") : this.element;
13614                    return (
13615                        n.parents("body").length || n.appendTo("parent" === e.appendTo ? this.element[0].parentNode : e.appendTo),
13616                        i && n[0] === this.element[0] && this._setPositionRelative(),
13617                        n[0] === this.element[0] || /(fixed|absolute)/.test(n.css("position")) || n.css("position", "absolute"),
13618                        n
13619                    );
13620                },
13621                _setPositionRelative: function () {
13622                    /^(?:r|a|f)/.test(this.element.css("position")) || (this.element[0].style.position = "relative");
13623                },
13624                _adjustOffsetFromHelper: function (t) {
13625                    "string" == typeof t && (t = t.split(" ")),
13626                        x.isArray(t) && (t = { left: +t[0], top: +t[1] || 0 }),
13627                        "left" in t && (this.offset.click.left = t.left + this.margins.left),
13628                        "right" in t && (this.offset.click.left = this.helperProportions.width - t.right + this.margins.left),
13629                        "top" in t && (this.offset.click.top = t.top + this.margins.top),
13630                        "bottom" in t && (this.offset.click.top = this.helperProportions.height - t.bottom + this.margins.top);
13631                },
13632                _isRootNode: function (t) {
13633                    return /(html|body)/i.test(t.tagName) || t === this.document[0];
13634                },
13635                _getParentOffset: function () {
13636                    var t = this.offsetParent.offset(),
13637                        e = this.document[0];
13638             
13638       return (
13639                        "absolute" === this.cssPosition && this.scrollParent[0] !== e && x.contains(this.scrollParent[0], this.offsetParent[0]) && ((t.left += this.scrollParent.scrollLeft()), (t.top += this.scrollParent.scrollTop())),
13640                        this._isRootNode(this.offsetParent[0]) && (t = { top: 0, left: 0 }),
13641                        { top: t.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), left: t.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) }
13642                    );
13643                },
13644                _getRelativeOffset: function () {
13645                    if ("relative" !== this.cssPosition) return { top: 0, left: 0 };
13646                    var t = this.element.position(),
13647                        e = this._isRootNode(this.scrollParent[0]);
13648                    return { top: t.top - (parseInt(this.helper.css("top"), 10) || 0) + (e ? 0 : this.scrollParent.scrollTop()), left: t.left - (parseInt(this.helper.css("left"), 10) || 0) + (e ? 0 : this.scrollParent.scrollLeft()) };
13649                },
13650                _cacheMargins: function () {
13651                    this.margins = {
13652                        left: parseInt(this.element.css("marginLeft"), 10) || 0,
13653                        top: parseInt(this.element.css("marginTop"), 10) || 0,
13654                        right: parseInt(this.element.css("marginRight"), 10) || 0,
13655                        bottom: parseInt(this.element.css("marginBottom"), 10) || 0,
13656                    };
13657                },
13658                _cacheHelperProportions: function () {
13659                    this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight() };
13660                },
13661                _setContainment: function () {
13662                    var t,
13663                        e,
13664                        i,
13665                        n = this.options,
13666                        s = this.document[0];
13667                    return (
13668                        (this.relativeContainer = null),
13669                        n.containment
13670                            ? "window" === n.containment
13671                                ? void (this.containment = [
13672                                      x(window).scrollLeft() - this.offset.relative.left - this.offset.parent.left,
13673                                      x(window).scrollTop() - this.offset.relative.top - this.offset.parent.top,
13674                                      x(window).scrollLeft() + x(window).width() - this.helperProportions.width - this.margins.left,
13675                                      x(window).scrollTop() + (x(window).height() || s.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top,
13676                                  ])
13677                                : "document" === n.containment
13678                                ? void (this.containment = [0, 0, x(s).width() - this.helperProportions.width - this.margins.left, (x(s).height() || s.body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top])
13679                                : n.containment.constructor === Array
13680                                ? void (this.containment = n.containment)
13681                                : ("parent" === n.containment && (n.containment = this.helper[0].parentNode),
13682                                  void (
13683                                      (i = (e = x(n.containment))[0]) &&
13684                                      ((t = /(scroll|auto)/.test(e.css("overflow"))),
13685                                      (this.containment = [
13686                                          (parseInt(e.css("borderLeftWidth"), 10) || 0) + (parseInt(e.css("paddingLeft"), 10) || 0),
13687                                          (parseInt(e.css("borderTopWidth"), 10) || 0) + (parseInt(e.css("paddingTop"), 10) || 0),
13688                                          (t ? Math.max(i.scrollWidth, i.offsetWidth) : i.offsetWidth) -
13689                                              (parseInt(e.css("borderRightWidth"), 10) || 0) -
13690                                              (parseInt(e.css("paddingRight"), 10) || 0) -
13691                                              this.helperProportions.width -
13692                                              this.margins.left -
13693                                              this.margins.right,
13694                                          (t ? Math.max(i.scrollHeight, i.offsetHeight) : i.offsetHeight) -
13695                                              (parseInt(e.css("borderBottomWidth"), 10) || 0) -
13696                                              (parseInt(e.css("paddingBottom"), 10) || 0) -
13697                                              this.helperProportions.height -
13698                                              this.margins.top -
13699                                              this.margins.bottom,
13700                                      ]),
13701                                      (this.relativeContainer = e))
13702                                  ))
13703                            : void (this.containment = null)
13704                    );
13705                },
13706                _convertPositionTo: function (t, e) {
13707                    e = e || this.position;
13708                    var i = "absolute" === t ? 1 : -1,
13709                        n = this._isRootNode(this.scrollParent[0]);
13710                    return {
13711                        top: e.top + this.offset.relative.top * i + this.offset.parent.top * i - ("fixed" === this.cssPosition ? -this.offset.scroll.top : n ? 0 : this.offset.scroll.top) * i,
13712                        left: e.left + this.offset.relative.left * i + this.offset.parent.left * i - ("fixed" === this.cssPosition ? -this.offset.scroll.left : n ? 0 : this.offset.scroll.left) * i,
13713                    };
13714                },
13715                _generatePosition: function (t, e) {
13716                    var i,
13717                        n,
13718                        s,
13719                        o,
13720                        r = this.options,
13721                        a = this._isRootNode(this.scrollParent[0]),
13722                        l = t.pageX,
13723                        c = t.pageY;
13724                    return (
13725                        (a && this.offset.scroll) || (this.offset.scroll = { top: this.scrollParent.scrollTop(), left: this.scrollParent.scrollLeft() }),
13726                        e &&
13727                            (this.containment &&
13728                                ((i = this.relativeContainer
13729                                    ? ((n = this.relativeContainer.offset()), [this.containment[0] + n.left, this.containment[1] + n.top, this.containment[2] + n.left, this.containment[3] + n.top])
13730                                    : this.containment),
13731                                t.pageX - this.offset.click.left < i[0] && (l = i[0] + this.offset.click.left),
13732                                t.pageY - this.offset.click.top < i[1] && (c = i[1] + this.offset.click.top),
13733                                t.pageX - this.offset.click.left > i[2] && (l = i[2] + this.offset.click.left),
13734                                t.pageY - this.offset.click.top > i[3] && (c = i[3] + this.offset.click.top)),
13735                            r.grid &&
13736                                ((s = r.grid[1] ? this.originalPageY + Math.round((c - this.originalPageY) / r.grid[1]) * r.grid[1] : this.originalPageY),
13737                                (c = !i || s - this.offset.click.top >= i[1] || s - this.offset.click.top > i[3] ? s : s - this.offset.click.top >= i[1] ? s - r.grid[1] : s + r.grid[1]),
13738                                (o = r.grid[0] ? this.originalPageX + Math.round((l - this.originalPageX) / r.grid[0]) * r.grid[0] : this.originalPageX),
13739                                (l = !i || o - this.offset.click.left >= i[0] || o - this.offset.click.left > i[2] ? o : o - this.offset.click.left >= i[0] ? o - r.grid[0] : o + r.grid[0])),
13740                            "y" === r.axis && (l = this.originalPageX),
13741                            "x" === r.axis && (c = this.originalPageY)),
13742                        {
13743                            top: c - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + ("fixed" === this.cssPosition ? -this.offset.scroll.top : a ? 0 : this.offset.scroll.top),
13744                            left: l - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + ("fixed" === this.cssPosition ? -this.offset.scroll.left : a ? 0 : this.offset.scroll.left),
13745                        }
13746                    );
13747                },
13748                _clear: function () {
13749                    this._removeClass(this.helper, "ui-draggable-dragging"),
13750                        this.helper[0] === this.element[0] || this.cancelHelperRemoval || this.helper.remove(),
13751                        (this.helper = null),
13752                        (this.cancelHelperRemoval = !1),
13753                        this.destroyOnClear && this.destroy();
13754                },
13755                _trigger: function (t, e, i) {
13756                    return (
13757                        (i = i || this._uiHash()),
13758                        x.ui.plugin.call(this, t, [e, i, this], !0),
13759                        /^(drag|start|stop)/.test(t) && ((this.positionAbs = this._convertPositionTo("absolute")), (i.offset = this.positionAbs)),
13760                        x.Widget.prototype._trigger.call(this, t, e, i)
13761                    );
13762                },
13763                plugins: {},
13764                _uiHash: function () {
13765                    return { helper: this.helper, position: this.position, originalPosition: this.originalPosition, offset: this.positionAbs };
13766                },
13767            }),
13768            x.ui.plugin.add("draggable", "connectToSortable", {
13769                start: function (e, t, i) {
13770                    var n = x.extend({}, t, { item: i.element });
13771                    (i.sortables = []),
13772                        x(i.options.connectToSortable).each(function () {
13773                            var t = x(this).sortable("instance");
13774                            t && !t.options.disabled && (i.sortables.push(t), t.refreshPositions(), t._trigger("activate", e, n));
13775                        });
13776                },
13777                stop: function (e, t, i) {
13778                    var n = x.extend({}, t, { item: i.element });
13779                    (i.cancelHelperRemoval = !1),
13780                        x.each(i.sortables, function () {
13781                            var t = this;
13782                            t.isOver
13783                                ? ((t.isOver = 0),
13784                                  (i.cancelHelperRemoval = !0),
13785                                  (t.cancelHelperRemoval = !1),
13786                                  (t._storedCSS = { position: t.placeholder.css("position"), top: t.placeholder.css("top"), left: t.placeholder.css("left") }),
13787                                  t._mouseStop(e),
13788                                  (t.options.helper = t.options._helper))
13789                                : ((t.cancelHelperRemoval = !0), t._trigger("deactivate", e, n));
13790                        });
13791                },
13792                drag: function (i, n, s) {
13793                    x.each(s.sortables, function () {
13794                        var t = !1,
13795                            e = this;
13796                        (e.positionAbs = s.positionAbs),
13797                            (e.helperProportions = s.helperProportions),
13798                            (e.offset.click = s.offset.click),
13799                            e._intersectsWith(e.containerCache) &&
13800                                ((t = !0),
13801                                x.each(s.sortables, function () {
13802                                    return (
13803                                        (this.positionAbs = s.positionAbs),
13804                                        (this.helperProportions = s.helperProportions),
13805                                        (this.offset.click = s.offset.click),
13806                                        this !== e && this._intersectsWith(this.containerCache) && x.contains(e.element[0], this.element[0]) && (t = !1),
13807                                        t
13808                                    );
13809                                })),
13810                            t
13811                                ? (e.isOver ||
13812                                      ((e.isOver = 1),
13813                                      (s._parent = n.helper.parent()),
13814                                      (e.currentItem = n.helper.appendTo(e.element).data("ui-sortable-item", !0)),
13815                                      (e.options._helper = e.options.helper),
13816                                      (e.options.helper = function () {
13817                                          return n.helper[0];
13818                                      }),
13819                                      (i.target = e.currentItem[0]),
13820                                      e._mouseCapture(i, !0),
13821                                      e._mouseStart(i, !0, !0),
13822                                      (e.offset.click.top = s.offset.click.top),
13823                                      (e.offset.click.left = s.offset.click.left),
13824                                      (e.offset.parent.left -= s.offset.parent.left - e.offset.parent.left),
13825                                      (e.offset.parent.top -= s.offset.parent.top - e.offset.parent.top),
13826                                      s._trigger("toSortable", i),
13827                                      (s.dropped = e.element),
13828                                      x.each(s.sortables, function () {
13829                                          this.refreshPositions();
13830                                      }),
13831                                      (s.currentItem = s.element),
13832                                      (e.fromOutside = s)),
13833                                  e.currentItem && (e._mouseDrag(i), (n.position = e.position)))
13834                                : e.isOver &&
13835                                  ((e.isOver = 0),
13836                                  (e.cancelHelperRemoval = !0),
13837                                  (e.options._revert = e.options.revert),
13838                                  (e.options.revert = !1),
13839                                  e._trigger("out", i, e._uiHash(e)),
13840                                  e._mouseStop(i, !0),
13841                                  (e.options.revert = e.options._revert),
13842                                  (e.options.helper = e.options._helper),
13843                                  e.placeholder && e.placeholder.remove(),
13844                                  n.helper.appendTo(s._parent),
13845                                  s._refreshOffsets(i),
13846                                  (n.position = s._generatePosition(i, !0)),
13847                                  s._trigger("fromSortable", i),
13848                                  (s.dropped = !1),
13849                                  x.each(s.sortables, function () {
13850                                      this.refreshPositions();
13851                                  }));
13852                    });
13853                },
13854            }),
13855            x.ui.plugin.add("draggable", "cursor", {
13856                start: function (t, e, i) {
13857                    var n = x("body"),
13858                        s = i.options;
13859                    n.css("cursor") && (s._cursor = n.css("cursor")), n.css("cursor", s.cursor);
13860                },
13861                stop: function (t, e, i) {
13862                    var n = i.options;
13863                    n._cursor && x("body").css("cursor", n._cursor);
13864                },
13865            }),
13866            x.ui.plugin.add("draggable", "opacity", {
13867                start: function (t, e, i) {
13868                    var n = x(e.helper),
13869                        s = i.options;
13870                    n.css("opacity") && (s._opacity = n.css("opacity")), n.css("opacity", s.opacity);
13871                },
13872                stop: function (t, e, i) {
13873                    var n = i.options;
13874                    n._opacity && x(e.helper).css("opacity", n._opacity);
13875                },
13876            }),
13877            x.ui.plugin.add("draggable", "scroll", {
13878                start: function (t, e, i) {
13879                    i.scrollParentNotHidden || (i.scrollParentNotHidden = i.helper.scrollParent(!1)),
13880                        i.scrollParentNotHidden[0] !== i.document[0] && "HTML" !== i.scrollParentNotHidden[0].tagName && (i.overflowOffset = i.scrollParentNotHidden.offset());
13881                },
13882                drag: function (t, e, i) {
13883                    var n = i.options,
13884                        s = !1,
13885                        o = i.scrollParentNotHidden[0],
13886                        r = i.document[0];
13887                    o !== r && "HTML" !== o.tagName
13888                        ? ((n.axis && "x" === n.axis) ||
13889                              (i.overflowOffset.top + o.offsetHeight - t.pageY < n.scrollSensitivity
13890                                  ? (o.scrollTop = s = o.scrollTop + n.scrollSpeed)
13891                                  : t.pageY - i.overflowOffset.top < n.scrollSensitivity && (o.scrollTop = s = o.scrollTop - n.scrollSpeed)),
13892                          (n.axis && "y" === n.axis) ||
13893                              (i.overflowOffset.left + o.offsetWidth - t.pageX < n.scrollSensitivity
13894                                  ? (o.scrollLeft = s = o.scrollLeft + n.scrollSpeed)
13895                                  : t.pageX - i.overflowOffset.left < n.scrollSensitivity && (o.scrollLeft = s = o.scrollLeft - n.scrollSpeed)))
13896                        : ((n.axis && "x" === n.axis) ||
13897                              (t.pageY - x(r).scrollTop() < n.scrollSensitivity
13898                                  ? (s = x(r).scrollTop(x(r).scrollTop() - n.scrollSpeed))
13899                                  : x(window).height() - (t.pageY - x(r).scrollTop()) < n.scrollSensitivity && (s = x(r).scrollTop(x(r).scrollTop() + n.scrollSpeed))),
13900                          (n.axis && "y" === n.axis) ||
13901                              (t.pageX - x(r).scrollLeft() < n.scrollSensitivity
13902                                  ? (s = x(r).scrollLeft(x(r).scrollLeft() - n.scrollSpeed))
13903                                  : x(window).width() - (t.pageX - x(r).scrollLeft()) < n.scrollSensitivity && (s = x(r).scrollLeft(x(r).scrollLeft() + n.scrollSpeed)))),
13904                        !1 !== s && x.ui.ddmanager && !n.dropBehaviour && x.ui.ddmanager.prepareOffsets(i, t);
13905                },
13906            }),
13907            x.ui.plugin.add("draggable", "snap", {
13908                start: function (t, e, i) {
13909                    var n = i.options;
13910                    (i.snapElements = []),
13911                        x(n.snap.constructor !== String ? n.snap.items || ":data(ui-draggable)" : n.snap).each(function () {
13912                            var t = x(this),
13913                                e = t.offset();
13914                            this !== i.element[0] && i.snapElements.push({ item: this, width: t.outerWidth(), height: t.outerHeight(), top: e.top, left: e.left });
13915                        });
13916                },
13917                drag: function (t, e, i) {
13918                    var n,
13919                        s,
13920                        o,
13921                        r,
13922                        a,
13923                        l,
13924                        c,
13925                        u,
13926                        h,
13927                        d,
13928                        p = i.options,
13929                        f = p.snapTolerance,
13930                        m = e.offset.left,
13931                        g = m + i.helperProportions.width,
13932                        v = e.offset.top,
13933                        b = v + i.helperProportions.height;
13934                    for (h = i.snapElements.length - 1; 0 <= h; h--)
13935                        (l = (a = i.snapElements[h].left - i.margins.left) + i.snapElements[h].width),
13936                            (u = (c = i.snapElements[h].top - i.margins.top) + i.snapElements[h].height),
13937                            g < a - f || l + f < m || b < c - f || u + f < v || !x.contains(i.snapElements[h].item.ownerDocument, i.snapElements[h].item)
13938                                ? (i.snapElements[h].snapping && i.options.snap.release && i.options.snap.release.call(i.element, t, x.extend(i._uiHash(), { snapItem: i.snapElements[h].item })), (i.snapElements[h].snapping = !1))
13939                                : ("inner" !== p.snapMode &&
13940                                      ((n = f >= Math.abs(c - b)),
13941                                      (s = f >= Math.abs(u - v)),
13942                                      (o = f >= Math.abs(a - g)),
13943                                      (r = f >= Math.abs(l - m)),
13944                                      n && (e.position.top = i._convertPositionTo("relative", { top: c - i.helperProportions.height, left: 0 }).top),
13945                                      s && (e.position.top = i._convertPositionTo("relative", { top: u, left: 0 }).top),
13946                                      o && (e.position.left = i._convertPositionTo("relative", { top: 0, left: a - i.helperProportions.width }).left),
13947                                      r && (e.position.left = i._convertPositionTo("relative", { top: 0, left: l }).left)),
13948                                  (d = n || s || o || r),
13949                                  "outer" !== p.snapMode &&
13950                                      ((n = f >= Math.abs(c - v)),
13951                                      (s = f >= Math.abs(u - b)),
13952                                      (o = f >= Math.abs(a - m)),
13953                                      (r = f >= Math.abs(l - g)),
13954                                      n && (e.position.top = i._convertPositionTo("relative", { top: c, left: 0 }).top),
13955                                      s && (e.position.top = i._convertPositionTo("relative", { top: u - i.helperProportions.height, left: 0 }).top),
13956                                      o && (e.position.left = i._convertPositionTo("relative", { top: 0, left: a }).left),
13957                                      r && (e.position.left = i._convertPositionTo("relative", { top: 0, left: l - i.helperProportions.width }).left)),
13958                                  !i.snapElements[h].snapping && (n || s || o || r || d) && i.options.snap.snap && i.options.snap.snap.call(i.element, t, x.extend(i._uiHash(), { snapItem: i.snapElements[h].item })),
13959                                  (i.snapElements[h].snapping = n || s || o || r || d));
13960                },
13961            }),
13962            x.ui.plugin.add("draggable", "stack", {
13963                start: function (t, e, i) {
13964                    var n,
13965                        s = i.options,
13966                        o = x.makeArray(x(s.stack)).sort(function (t, e) {
13967                            return (parseInt(x(t).css("zIndex"), 10) || 0) - (parseInt(x(e).css("zIndex"), 10) || 0);
13968                        });
13969                    o.length &&
13970                        ((n = parseInt(x(o[0]).css("zIndex"), 10) || 0),
13971                        x(o).each(function (t) {
13972                            x(this).css("zIndex", n + t);
13973                        }),
13974                        this.css("zIndex", n + o.length));
13975                },
13976            }),
13977            x.ui.plugin.add("draggable", "zIndex", {
13978                start: function (t, e, i) {
13979                    var n = x(e.helper),
13980                        s = i.options;
13981                    n.css("zIndex") && (s._zIndex = n.css("zIndex")), n.css("zIndex", s.zIndex);
13982                },
13983                stop: function (t, e, i) {
13984                    var n = i.options;
13985                    n._zIndex && x(e.helper).css("zIndex", n._zIndex);
13986                },
13987            }),
13988            x.ui.draggable,
13989            x.widget("ui.resizable", x.ui.mouse, {
13990                version: "1.12.1",
13991                widgetEventPrefix: "resize",
13992                options: {
13993                    alsoResize: !1,
13994                    animate: !1,
13995                    animateDuration: "slow",
13996                    animateEasing: "swing",
13997                    aspectRatio: !1,
13998                    autoHide: !1,
13999                    classes: { "ui-resizable-se": "ui-icon ui-icon-gripsmall-diagonal-se" },
14000                    containment: !1,
14001                    ghost: !1,
14002                    grid: !1,
14003                    handles: "e,s,se",
14004                    helper: !1,
14005                    maxHeight: null,
14006                    maxWidth: null,
14007                    minHeight: 10,
14008                    minWidth: 10,
14009                    zIndex: 90,
14010                    resize: null,
14011                    start: null,
14012                    stop: null,
14013                },
14014                _num: function (t) {
14015                    return parseFloat(t) || 0;
14016                },
14017                _isNumber: function (t) {
14018                    return !isNaN(parseFloat(t));
14019                },
14020                _hasScroll: function (t, e) {
14021                    if ("hidden" === x(t).css("overflow")) return !1;
14022                    var i = e && "left" === e ? "scrollLeft" : "scrollTop",
14023                        n = !1;
14024                    return 0 < t[i] || ((t[i] = 1), (n = 0 < t[i]), (t[i] = 0), n);
14025                },
14026                _create: function () {
14027                    var t,
14028                        e = this.options,
14029                        i = this;
14030                    this._addClass("ui-resizable"),
14031                        x.extend(this, {
14032                            _aspectRatio: !!e.aspectRatio,
14033                            aspectRatio: e.aspectRatio,
14034                            originalElement: this.element,
14035                            _proportionallyResizeElements: [],
14036                            _helper: e.helper || e.ghost || e.animate ? e.helper || "ui-resizable-helper" : null,
14037                        }),
14038                        this.element[0].nodeName.match(/^(canvas|textarea|input|select|button|img)$/i) &&
14039                            (this.element.wrap(
14040                                x("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({
14041                                    position: this.element.css("position"),
14042                                    width: this.element.outerWidth(),
14043                                    height: this.element.outerHeight(),
14044                                    top: this.element.css("top"),
14045                                    left: this.element.css("left"),
14046                                })
14047                            ),
14048                            (this.element = this.element.parent().data("ui-resizable", this.element.resizable("instance"))),
14049                            (this.elementIsWrapper = !0),
14050                            (t = {
14051                                marginTop: this.originalElement.css("marginTop"),
14052                                marginRight: this.originalElement.css("marginRight"),
14053                                marginBottom: this.originalElement.css("marginBottom"),
14054                                marginLeft: this.originalElement.css("marginLeft"),
14055                            }),
14056                            this.element.css(t),
14057                            this.originalElement.css("margin", 0),
14058                            (this.originalResizeStyle = this.originalElement.css("resize")),
14059                            this.originalElement.css("resize", "none"),
14060                            this._proportionallyResizeElements.push(this.originalElement.css({ position: "static", zoom: 1, display: "block" })),
14061                            this.originalElement.css(t),
14062                            this._proportionallyResize()),
14063                        this._setupHandles(),
14064                        e.autoHide &&
14065                            x(this.element)
14066                                .on("mouseenter", function () {
14067                                    e.disabled || (i._removeClass("ui-resizable-autohide"), i._handles.show());
14068                                })
14069                                .on("mouseleave", function () {
14070                                    e.disabled || i.resizing || (i._addClass("ui-resizable-autohide"), i._handles.hide());
14071                                }),
14072                        this._mouseInit();
14073                },
14074                _destroy: function () {
14075                    this._mouseDestroy();
14076                    function t(t) {
14077                        x(t).removeData("resizable").removeData("ui-resizable").off(".resizable").find(".ui-resizable-handle").remove();
14078                    }
14079                    var e;
14080                    return (
14081                        this.elementIsWrapper &&
14082                            (t(this.element), (e = this.element), this.originalElement.css({ position: e.css("position"), width: e.outerWidth(), height: e.outerHeight(), top: e.css("top"), left
14082: e.css("left") }).insertAfter(e), e.remove()),
14083                        this.originalElement.css("resize", this.originalResizeStyle),
14084                        t(this.originalElement),
14085                        this
14086                    );
14087                },
14088                _setOption: function (t, e) {
14089                    switch ((this._super(t, e), t)) {
14090                        case "handles":
14091                            this._removeHandles(), this._setupHandles();
14092                    }
14093                },
14094                _setupHandles: function () {
14095                    var t,
14096                        e,
14097                        i,
14098                        n,
14099                        s,
14100                        o = this.options,
14101                        r = this;
14102                    if (
14103                        ((this.handles =
14104                            o.handles ||
14105                            (x(".ui-resizable-handle", this.element).length
14106                                ? { n: ".ui-resizable-n", e: ".ui-resizable-e", s: ".ui-resizable-s", w: ".ui-resizable-w", se: ".ui-resizable-se", sw: ".ui-resizable-sw", ne: ".ui-resizable-ne", nw: ".ui-resizable-nw" }
14107                                : "e,s,se")),
14108                        (this._handles = x()),
14109                        this.handles.constructor === String)
14110                    )
14111                        for ("all" === this.handles && (this.handles = "n,e,s,w,se,sw,ne,nw"), i = this.handles.split(","), this.handles = {}, e = 0; i.length > e; e++)
14112                            (n = "ui-resizable-" + (t = x.trim(i[e]))), (s = x("<div>")), this._addClass(s, "ui-resizable-handle " + n), s.css({ zIndex: o.zIndex }), (this.handles[t] = ".ui-resizable-" + t), this.element.append(s);
14113                    (this._renderAxis = function (t) {
14114                        var e, i, n, s;
14115                        for (e in ((t = t || this.element), this.handles))
14116                            this.handles[e].constructor === String
14117                                ? (this.handles[e] = this.element.children(this.handles[e]).first().show())
14118                                : (this.handles[e].jquery || this.handles[e].nodeType) && ((this.handles[e] = x(this.handles[e])), this._on(this.handles[e], { mousedown: r._mouseDown })),
14119                                this.elementIsWrapper &&
14120                                    this.originalElement[0].nodeName.match(/^(textarea|input|select|button)$/i) &&
14121                                    ((i = x(this.handles[e], this.element)),
14122                                    (s = /sw|ne|nw|se|n|s/.test(e) ? i.outerHeight() : i.outerWidth()),
14123                                    (n = ["padding", /ne|nw|n/.test(e) ? "Top" : /se|sw|s/.test(e) ? "Bottom" : /^e$/.test(e) ? "Right" : "Left"].join("")),
14124                                    t.css(n, s),
14125                                    this._proportionallyResize()),
14126                                (this._handles = this._handles.add(this.handles[e]));
14127                    }),
14128                        this._renderAxis(this.element),
14129                        (this._handles = this._handles.add(this.element.find(".ui-resizable-handle"))),
14130                        this._handles.disableSelection(),
14131                        this._handles.on("mouseover", function () {
14132                            r.resizing || (this.className && (s = this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)), (r.axis = s && s[1] ? s[1] : "se"));
14133                        }),
14134                        o.autoHide && (this._handles.hide(), this._addClass("ui-resizable-autohide"));
14135                },
14136                _removeHandles: function () {
14137                    this._handles.remove();
14138                },
14139                _mouseCapture: function (t) {
14140                    var e,
14141                        i,
14142                        n = !1;
14143                    for (e in this.handles) ((i = x(this.handles[e])[0]) !== t.target && !x.contains(i, t.target)) || (n = !0);
14144                    return !this.options.disabled && n;
14145                },
14146                _mouseStart: function (t) {
14147                    var e,
14148                        i,
14149                        n,
14150                        s = this.options,
14151                        o = this.element;
14152                    return (
14153                        (this.resizing = !0),
14154                        this._renderProxy(),
14155                        (e = this._num(this.helper.css("left"))),
14156                        (i = this._num(this.helper.css("top"))),
14157                        s.containment && ((e += x(s.containment).scrollLeft() || 0), (i += x(s.containment).scrollTop() || 0)),
14158                        (this.offset = this.helper.offset()),
14159                        (this.position = { left: e, top: i }),
14160                        (this.size = this._helper ? { width: this.helper.width(), height: this.helper.height() } : { width: o.width(), height: o.height() }),
14161                        (this.originalSize = this._helper ? { width: o.outerWidth(), height: o.outerHeight() } : { width: o.width(), height: o.height() }),
14162                        (this.sizeDiff = { width: o.outerWidth() - o.width(), height: o.outerHeight() - o.height() }),
14163                        (this.originalPosition = { left: e, top: i }),
14164                        (this.originalMousePosition = { left: t.pageX, top: t.pageY }),
14165                        (this.aspectRatio = "number" == typeof s.aspectRatio ? s.aspectRatio : this.originalSize.width / this.originalSize.height || 1),
14166                        (n = x(".ui-resizable-" + this.axis).css("cursor")),
14167                        x("body").css("cursor", "auto" === n ? this.axis + "-resize" : n),
14168                        this._addClass("ui-resizable-resizing"),
14169                        this._propagate("start", t),
14170                        !0
14171                    );
14172                },
14173                _mouseDrag: function (t) {
14174                    var e,
14175                        i,
14176                        n = this.originalMousePosition,
14177                        s = this.axis,
14178                        o = t.pageX - n.left || 0,
14179                        r = t.pageY - n.top || 0,
14180                        a = this._change[s];
14181                    return (
14182                        this._updatePrevProperties(),
14183                        a &&
14184                            ((e = a.apply(this, [t, o, r])),
14185                            this._updateVirtualBoundaries(t.shiftKey),
14186                            (this._aspectRatio || t.shiftKey) && (e = this._updateRatio(e, t)),
14187                            (e = this._respectSize(e, t)),
14188                            this._updateCache(e),
14189                            this._propagate("resize", t),
14190                            (i = this._applyChanges()),
14191                            !this._helper && this._proportionallyResizeElements.length && this._proportionallyResize(),
14192                            x.isEmptyObject(i) || (this._updatePrevProperties(), this._trigger("resize", t, this.ui()), this._applyChanges())),
14193                        !1
14194                    );
14195                },
14196                _mouseStop: function (t) {
14197                    this.resizing = !1;
14198                    var e,
14199                        i,
14200                        n,
14201                        s,
14202                        o,
14203                        r,
14204                        a,
14205                        l = this.options,
14206                        c = this;
14207                    return (
14208                        this._helper &&
14209                            ((n = (i = (e = this._proportionallyResizeElements).length && /textarea/i.test(e[0].nodeName)) && this._hasScroll(e[0], "left") ? 0 : c.sizeDiff.height),
14210                            (s = i ? 0 : c.sizeDiff.width),
14211                            (o = { width: c.helper.width() - s, height: c.helper.height() - n }),
14212                            (r = parseFloat(c.element.css("left")) + (c.position.left - c.originalPosition.left) || null),
14213                            (a = parseFloat(c.element.css("top")) + (c.position.top - c.originalPosition.top) || null),
14214                            l.animate || this.element.css(x.extend(o, { top: a, left: r })),
14215                            c.helper.height(c.size.height),
14216                            c.helper.width(c.size.width),
14217                            this._helper && !l.animate && this._proportionallyResize()),
14218                        x("body").css("cursor", "auto"),
14219                        this._removeClass("ui-resizable-resizing"),
14220                        this._propagate("stop", t),
14221                        this._helper && this.helper.remove(),
14222                        !1
14223                    );
14224                },
14225                _updatePrevProperties: function () {
14226                    (this.prevPosition = { top: this.position.top, left: this.position.left }), (this.prevSize = { width: this.size.width, height: this.size.height });
14227                },
14228                _applyChanges: function () {
14229                    var t = {};
14230                    return (
14231                        this.position.top !== this.prevPosition.top && (t.top = this.position.top + "px"),
14232                        this.position.left !== this.prevPosition.left && (t.left = this.position.left + "px"),
14233                        this.size.width !== this.prevSize.width && (t.width = this.size.width + "px"),
14234                        this.size.height !== this.prevSize.height && (t.height = this.size.height + "px"),
14235                        this.helper.css(t),
14236                        t
14237                    );
14238                },
14239                _updateVirtualBoundaries: function (t) {
14240                    var e,
14241                        i,
14242                        n,
14243                        s,
14244                        o,
14245                        r = this.options;
14246                    (o = {
14247                        minWidth: this._isNumber(r.minWidth) ? r.minWidth : 0,
14248                        maxWidth: this._isNumber(r.maxWidth) ? r.maxWidth : 1 / 0,
14249                        minHeight: this._isNumber(r.minHeight) ? r.minHeight : 0,
14250                        maxHeight: this._isNumber(r.maxHeight) ? r.maxHeight : 1 / 0,
14251                    }),
14252                        (this._aspectRatio || t) &&
14253                            ((e = o.minHeight * this.aspectRatio),
14254                            (n = o.minWidth / this.aspectRatio),
14255                            (i = o.maxHeight * this.aspectRatio),
14256                            (s = o.maxWidth / this.aspectRatio),
14257                            e > o.minWidth && (o.minWidth = e),
14258                            n > o.minHeight && (o.minHeight = n),
14259                            o.maxWidth > i && (o.maxWidth = i),
14260                            o.maxHeight > s && (o.maxHeight = s)),
14261                        (this._vBoundaries = o);
14262                },
14263                _updateCache: function (t) {
14264                    (this.offset = this.helper.offset()),
14265                        this._isNumber(t.left) && (this.position.left = t.left),
14266                        this._isNumber(t.top) && (this.position.top = t.top),
14267                        this._isNumber(t.height) && (this.size.height = t.height),
14268                        this._isNumber(t.width) && (this.size.width = t.width);
14269                },
14270                _updateRatio: function (t) {
14271                    var e = this.position,
14272                        i = this.size,
14273                        n = this.axis;
14274                    return (
14275                        this._isNumber(t.height) ? (t.width = t.height * this.aspectRatio) : this._isNumber(t.width) && (t.height = t.width / this.aspectRatio),
14276                        "sw" === n && ((t.left = e.left + (i.width - t.width)), (t.top = null)),
14277                        "nw" === n && ((t.top = e.top + (i.height - t.height)), (t.left = e.left + (i.width - t.width))),
14278                        t
14279                    );
14280                },
14281                _respectSize: function (t) {
14282                    var e = this._vBoundaries,
14283                        i = this.axis,
14284                        n = this._isNumber(t.width) && e.maxWidth && e.maxWidth < t.width,
14285                        s = this._isNumber(t.height) && e.maxHeight && e.maxHeight < t.height,
14286                        o = this._isNumber(t.width) && e.minWidth && e.minWidth > t.width,
14287                        r = this._isNumber(t.height) && e.minHeight && e.minHeight > t.height,
14288                        a = this.originalPosition.left + this.originalSize.width,
14289                        l = this.originalPosition.top + this.originalSize.height,
14290                        c = /sw|nw|w/.test(i),
14291                        u = /nw|ne|n/.test(i);
14292                    return (
14293                        o && (t.width = e.minWidth),
14294                        r && (t.height = e.minHeight),
14295                        n && (t.width = e.maxWidth),
14296                        s && (t.height = e.maxHeight),
14297                        o && c && (t.left = a - e.minWidth),
14298                        n && c && (t.left = a - e.maxWidth),
14299                        r && u && (t.top = l - e.minHeight),
14300                        s && u && (t.top = l - e.maxHeight),
14301                        t.width || t.height || t.left || !t.top ? t.width || t.height || t.top || !t.left || (t.left = null) : (t.top = null),
14302                        t
14303                    );
14304                },
14305                _getPaddingPlusBorderDimensions: function (t) {
14306                    for (
14307                        var e = 0,
14308                            i = [],
14309                            n = [t.css("borderTopWidth"), t.css("borderRightWidth"), t.css("borderBottomWidth"), t.css("borderLeftWidth")],
14310                            s = [t.css("paddingTop"), t.css("paddingRight"), t.css("paddingBottom"), t.css("paddingLeft")];
14311                        e < 4;
14312                        e++
14313                    )
14314                        (i[e] = parseFloat(n[e]) || 0), (i[e] += parseFloat(s[e]) || 0);
14315                    return { height: i[0] + i[2], width: i[1] + i[3] };
14316                },
14317                _proportionallyResize: function () {
14318                    if (this._proportionallyResizeElements.length)
14319                        for (var t, e = 0, i = this.helper || this.element; this._proportionallyResizeElements.length > e; e++)
14320                            (t = this._proportionallyResizeElements[e]),
14321                                this.outerDimensions || (this.outerDimensions = this._getPaddingPlusBorderDimensions(t)),
14322                                t.css({ height: i.height() - this.outerDimensions.height || 0, width: i.width() - this.outerDimensions.width || 0 });
14323                },
14324                _renderProxy: function () {
14325                    var t = this.element,
14326                        e = this.options;
14327                    (this.elementOffset = t.offset()),
14328                        this._helper
14329                            ? ((this.helper = this.helper || x("<div style='overflow:hidden;'></div>")),
14330                              this._addClass(this.helper, this._helper),
14331                              this.helper.css({ width: this.element.outerWidth(), height: this.element.outerHeight(), position: "absolute", left: this.elementOffset.left + "px", top: this.elementOffset.top + "px", zIndex: ++e.zIndex }),
14332                              this.helper.appendTo("body").disableSelection())
14333                            : (this.helper = this.element);
14334                },
14335                _change: {
14336                    e: function (t, e) {
14337                        return { width: this.originalSize.width + e };
14338                    },
14339                    w: function (t, e) {
14340                        var i = this.originalSize;
14341                        return { left: this.originalPosition.left + e, width: i.width - e };
14342                    },
14343                    n: function (t, e, i) {
14344                        var n = this.originalSize;
14345                        return { top: this.originalPosition.top + i, height: n.height - i };
14346                    },
14347                    s: function (t, e, i) {
14348                        return { height: this.originalSize.height + i };
14349                    },
14350                    se: function (t, e, i) {
14351                        return x.extend(this._change.s.apply(this, arguments), this._change.e.apply(this, [t, e, i]));
14352                    },
14353                    sw: function (t, e, i) {
14354                        return x.extend(this._change.s.apply(this, arguments), this._change.w.apply(this, [t, e, i]));
14355                    },
14356                    ne: function (t, e, i) {
14357                        return x.extend(this._change.n.apply(this, arguments), this._change.e.apply(this, [t, e, i]));
14358                    },
14359                    nw: function (t, e, i) {
14360                        return x.extend(this._change.n.apply(this, arguments), this._change.w.apply(this, [t, e, i]));
14361                    },
14362                },
14363                _propagate: function (t, e) {
14364                    x.ui.plugin.call(this, t, [e, this.ui()]), "resize" !== t && this._trigger(t, e, this.ui());
14365                },
14366                plugins: {},
14367                ui: function () {
14368                    return { originalElement: this.originalElement, element: this.element, helper: this.helper, position: this.position, size: this.size, originalSize: this.originalSize, originalPosition: this.originalPosition };
14369                },
14370            }),
14371            x.ui.plugin.add("resizable", "animate", {
14372                stop: function (e) {
14373                    var i = x(this).resizable("instance"),
14374                        t = i.options,
14375                        n = i._proportionallyResizeElements,
14376                        s = n.length && /textarea/i.test(n[0].nodeName),
14377                        o = s && i._hasScroll(n[0], "left") ? 0 : i.sizeDiff.height,
14378                        r = s ? 0 : i.sizeDiff.width,
14379                        a = { width: i.size.width - r, height: i.size.height - o },
14380                        l = parseFloat(i.element.css("left")) + (i.position.left - i.originalPosition.left) || null,
14381                        c = parseFloat(i.element.css("top")) + (i.position.top - i.originalPosition.top) || null;
14382                    i.element.animate(x.extend(a, c && l ? { top: c, left: l } : {}), {
14383                        duration: t.animateDuration,
14384                        easing: t.animateEasing,
14385                        step: function () {
14386                            var t = { width: parseFloat(i.element.css("width")), height: parseFloat(i.element.css("height")), top: parseFloat(i.element.css("top")), left: parseFloat(i.element.css("left")) };
14387                            n && n.length && x(n[0]).css({ width: t.width, height: t.height }), i._updateCache(t), i._propagate("resize", e);
14388                        },
14389                    });
14390                },
14391            }),
14392            x.ui.plugin.add("resizable", "containment", {
14393                start: function () {
14394                    var i,
14395                        n,
14396                        t,
14397                        e,
14398                        s,
14399                        o,
14400                        r,
14401                        a = x(this).resizable("instance"),
14402                        l = a.options,
14403                        c = a.element,
14404                        u = l.containment,
14405                        h = u instanceof x ? u.get(0) : /parent/.test(u) ? c.parent().get(0) : u;
14406                    h &&
14407                        ((a.containerElement = x(h)),
14408                        /document/.test(u) || u === document
14409                            ? ((a.containerOffset = { left: 0, top: 0 }),
14410                              (a.containerPosition = { left: 0, top: 0 }),
14411                              (a.parentData = { element: x(document), left
14411: 0, top: 0, width: x(document).width(), height: x(document).height() || document.body.parentNode.scrollHeight }))
14412                            : ((i = x(h)),
14413                              (n = []),
14414                              x(["Top", "Right", "Left", "Bottom"]).each(function (t, e) {
14415                                  n[t] = a._num(i.css("padding" + e));
14416                              }),
14417                              (a.containerOffset = i.offset()),
14418                              (a.containerPosition = i.position()),
14419                              (a.containerSize = { height: i.innerHeight() - n[3], width: i.innerWidth() - n[1] }),
14420                              (t = a.containerOffset),
14421                              (e = a.containerSize.height),
14422                              (s = a.containerSize.width),
14423                              (o = a._hasScroll(h, "left") ? h.scrollWidth : s),
14424                              (r = a._hasScroll(h) ? h.scrollHeight : e),
14425                              (a.parentData = { element: h, left: t.left, top: t.top, width: o, height: r })));
14426                },
14427                resize: function (t) {
14428                    var e,
14429                        i,
14430                        n,
14431                        s,
14432                        o = x(this).resizable("instance"),
14433                        r = o.options,
14434                        a = o.containerOffset,
14435                        l = o.position,
14436                        c = o._aspectRatio || t.shiftKey,
14437                        u = { top: 0, left: 0 },
14438                        h = o.containerElement,
14439                        d = !0;
14440                    h[0] !== document && /static/.test(h.css("position")) && (u = a),
14441                        l.left < (o._helper ? a.left : 0) &&
14442                            ((o.size.width = o.size.width + (o._helper ? o.position.left - a.left : o.position.left - u.left)), c && ((o.size.height = o.size.width / o.aspectRatio), (d = !1)), (o.position.left = r.helper ? a.left : 0)),
14443                        l.top < (o._helper ? a.top : 0) &&
14444                            ((o.size.height = o.size.height + (o._helper ? o.position.top - a.top : o.position.top)), c && ((o.size.width = o.size.height * o.aspectRatio), (d = !1)), (o.position.top = o._helper ? a.top : 0)),
14445                        (n = o.containerElement.get(0) === o.element.parent().get(0)),
14446                        (s = /relative|absolute/.test(o.containerElement.css("position"))),
14447                        n && s ? ((o.offset.left = o.parentData.left + o.position.left), (o.offset.top = o.parentData.top + o.position.top)) : ((o.offset.left = o.element.offset().left), (o.offset.top = o.element.offset().top)),
14448                        (e = Math.abs(o.sizeDiff.width + (o._helper ? o.offset.left - u.left : o.offset.left - a.left))),
14449                        (i = Math.abs(o.sizeDiff.height + (o._helper ? o.offset.top - u.top : o.offset.top - a.top))),
14450                        e + o.size.width >= o.parentData.width && ((o.size.width = o.parentData.width - e), c && ((o.size.height = o.size.width / o.aspectRatio), (d = !1))),
14451                        i + o.size.height >= o.parentData.height && ((o.size.height = o.parentData.height - i), c && ((o.size.width = o.size.height * o.aspectRatio), (d = !1))),
14452                        d || ((o.position.left = o.prevPosition.left), (o.position.top = o.prevPosition.top), (o.size.width = o.prevSize.width), (o.size.height = o.prevSize.height));
14453                },
14454                stop: function () {
14455                    var t = x(this).resizable("instance"),
14456                        e = t.options,
14457                        i = t.containerOffset,
14458                        n = t.containerPosition,
14459                        s = t.containerElement,
14460                        o = x(t.helper),
14461                        r = o.offset(),
14462                        a = o.outerWidth() - t.sizeDiff.width,
14463                        l = o.outerHeight() - t.sizeDiff.height;
14464                    t._helper && !e.animate && /relative/.test(s.css("position")) && x(this).css({ left: r.left - n.left - i.left, width: a, height: l }),
14465                        t._helper && !e.animate && /static/.test(s.css("position")) && x(this).css({ left: r.left - n.left - i.left, width: a, height: l });
14466                },
14467            }),
14468            x.ui.plugin.add("resizable", "alsoResize", {
14469                start: function () {
14470                    var t = x(this).resizable("instance").options;
14471                    x(t.alsoResize).each(function () {
14472                        var t = x(this);
14473                        t.data("ui-resizable-alsoresize", { width: parseFloat(t.width()), height: parseFloat(t.height()), left: parseFloat(t.css("left")), top: parseFloat(t.css("top")) });
14474                    });
14475                },
14476                resize: function (t, i) {
14477                    var e = x(this).resizable("instance"),
14478                        n = e.options,
14479                        s = e.originalSize,
14480                        o = e.originalPosition,
14481                        r = { height: e.size.height - s.height || 0, width: e.size.width - s.width || 0, top: e.position.top - o.top || 0, left: e.position.left - o.left || 0 };
14482                    x(n.alsoResize).each(function () {
14483                        var t = x(this),
14484                            n = x(this).data("ui-resizable-alsoresize"),
14485                            s = {},
14486                            e = t.parents(i.originalElement[0]).length ? ["width", "height"] : ["width", "height", "top", "left"];
14487                        x.each(e, function (t, e) {
14488                            var i = (n[e] || 0) + (r[e] || 0);
14489                            i && 0 <= i && (s[e] = i || null);
14490                        }),
14491                            t.css(s);
14492                    });
14493                },
14494                stop: function () {
14495                    x(this).removeData("ui-resizable-alsoresize");
14496                },
14497            }),
14498            x.ui.plugin.add("resizable", "ghost", {
14499                start: function () {
14500                    var t = x(this).resizable("instance"),
14501                        e = t.size;
14502                    (t.ghost = t.originalElement.clone()),
14503                        t.ghost.css({ opacity: 0.25, display: "block", position: "relative", height: e.height, width: e.width, margin: 0, left: 0, top: 0 }),
14504                        t._addClass(t.ghost, "ui-resizable-ghost"),
14505                        !1 !== x.uiBackCompat && "string" == typeof t.options.ghost && t.ghost.addClass(this.options.ghost),
14506                        t.ghost.appendTo(t.helper);
14507                },
14508                resize: function () {
14509                    var t = x(this).resizable("instance");
14510                    t.ghost && t.ghost.css({ position: "relative", height: t.size.height, width: t.size.width });
14511                },
14512                stop: function () {
14513                    var t = x(this).resizable("instance");
14514                    t.ghost && t.helper && t.helper.get(0).removeChild(t.ghost.get(0));
14515                },
14516            }),
14517            x.ui.plugin.add("resizable", "grid", {
14518                resize: function () {
14519                    var t,
14520                        e = x(this).resizable("instance"),
14521                        i = e.options,
14522                        n = e.size,
14523                        s = e.originalSize,
14524                        o = e.originalPosition,
14525                        r = e.axis,
14526                        a = "number" == typeof i.grid ? [i.grid, i.grid] : i.grid,
14527                        l = a[0] || 1,
14528                        c = a[1] || 1,
14529                        u = Math.round((n.width - s.width) / l) * l,
14530                        h = Math.round((n.height - s.height) / c) * c,
14531                        d = s.width + u,
14532                        p = s.height + h,
14533                        f = i.maxWidth && d > i.maxWidth,
14534                        m = i.maxHeight && p > i.maxHeight,
14535                        g = i.minWidth && i.minWidth > d,
14536                        v = i.minHeight && i.minHeight > p;
14537                    (i.grid = a),
14538                        g && (d += l),
14539                        v && (p += c),
14540                        f && (d -= l),
14541                        m && (p -= c),
14542                        /^(se|s|e)$/.test(r)
14543                            ? ((e.size.width = d), (e.size.height = p))
14544                            : /^(ne)$/.test(r)
14545                            ? ((e.size.width = d), (e.size.height = p), (e.position.top = o.top - h))
14546                            : /^(sw)$/.test(r)
14547                            ? ((e.size.width = d), (e.size.height = p), (e.position.left = o.left - u))
14548                            : ((p - c <= 0 || d - l <= 0) && (t = e._getPaddingPlusBorderDimensions(this)),
14549                              0 < p - c ? ((e.size.height = p), (e.position.top = o.top - h)) : ((p = c - t.height), (e.size.height = p), (e.position.top = o.top + s.height - p)),
14550                              0 < d - l ? ((e.size.width = d), (e.position.left = o.left - u)) : ((d = l - t.width), (e.size.width = d), (e.position.left = o.left + s.width - d)));
14551                },
14552            }),
14553            x.ui.resizable,
14554            x.widget("ui.dialog", {
14555                version: "1.12.1",
14556                options: {
14557                    appendTo: "body",
14558                    autoOpen: !0,
14559                    buttons: [],
14560                    classes: { "ui-dialog": "ui-corner-all", "ui-dialog-titlebar": "ui-corner-all" },
14561                    closeOnEscape: !0,
14562                    closeText: "Close",
14563                    draggable: !0,
14564                    hide: null,
14565                    height: "auto",
14566                    maxHeight: null,
14567                    maxWidth: null,
14568                    minHeight: 150,
14569                    minWidth: 150,
14570                    modal: !1,
14571                    position: {
14572                        my: "center",
14573                        at: "center",
14574                        of: window,
14575                        collision: "fit",
14576                        using: function (t) {
14577                            var e = x(this).css(t).offset().top;
14578                            e < 0 && x(this).css("top", t.top - e);
14579                        },
14580                    },
14581                    resizable: !0,
14582                    show: null,
14583                    title: null,
14584                    width: 300,
14585                    beforeClose: null,
14586                    close: null,
14587                    drag: null,
14588                    dragStart: null,
14589                    dragStop: null,
14590                    focus: null,
14591                    open: null,
14592                    resize: null,
14593                    resizeStart: null,
14594                    resizeStop: null,
14595                },
14596                sizeRelatedOptions: { buttons: !0, height: !0, maxHeight: !0, maxWidth: !0, minHeight: !0, minWidth: !0, width: !0 },
14597                resizableRelatedOptions: { maxHeight: !0, maxWidth: !0, minHeight: !0, minWidth: !0 },
14598                _create: function () {
14599                    (this.originalCss = {
14600                        display: this.element[0].style.display,
14601                        width: this.element[0].style.width,
14602                        minHeight: this.element[0].style.minHeight,
14603                        maxHeight: this.element[0].style.maxHeight,
14604                        height: this.element[0].style.height,
14605                    }),
14606                        (this.originalPosition = { parent: this.element.parent(), index: this.element.parent().children().index(this.element) }),
14607                        (this.originalTitle = this.element.attr("title")),
14608                        null == this.options.title && null != this.originalTitle && (this.options.title = this.originalTitle),
14609                        this.options.disabled && (this.options.disabled = !1),
14610                        this._createWrapper(),
14611                        this.element.show().removeAttr("title").appendTo(this.uiDialog),
14612                        this._addClass("ui-dialog-content", "ui-widget-content"),
14613                        this._createTitlebar(),
14614                        this._createButtonPane(),
14615                        this.options.draggable && x.fn.draggable && this._makeDraggable(),
14616                        this.options.resizable && x.fn.resizable && this._makeResizable(),
14617                        (this._isOpen = !1),
14618                        this._trackFocus();
14619                },
14620                _init: function () {
14621                    this.options.autoOpen && this.open();
14622                },
14623                _appendTo: function () {
14624                    var t = this.options.appendTo;
14625                    return t && (t.jquery || t.nodeType) ? x(t) : this.document.find(t || "body").eq(0);
14626                },
14627                _destroy: function () {
14628                    var t,
14629                        e = this.originalPosition;
14630                    this._untrackInstance(),
14631                        this._destroyOverlay(),
14632                        this.element.removeUniqueId().css(this.originalCss).detach(),
14633                        this.uiDialog.remove(),
14634                        this.originalTitle && this.element.attr("title", this.originalTitle),
14635                        (t = e.parent.children().eq(e.index)).length && t[0] !== this.element[0] ? t.before(this.element) : e.parent.append(this.element);
14636                },
14637                widget: function () {
14638                    return this.uiDialog;
14639                },
14640                disable: x.noop,
14641                enable: x.noop,
14642                close: function (t) {
14643                    var e = this;
14644                    this._isOpen &&
14645                        !1 !== this._trigger("beforeClose", t) &&
14646                        ((this._isOpen = !1),
14647                        (this._focusedElement = null),
14648                        this._destroyOverlay(),
14649                        this._untrackInstance(),
14650                        this.opener.filter(":focusable").trigger("focus").length || x.ui.safeBlur(x.ui.safeActiveElement(this.document[0])),
14651                        this._hide(this.uiDialog, this.options.hide, function () {
14652                            e._trigger("close", t);
14653                        }));
14654                },
14655                isOpen: function () {
14656                    return this._isOpen;
14657                },
14658                moveToTop: function () {
14659                    this._moveToTop();
14660                },
14661                _moveToTop: function (t, e) {
14662                    var i = !1,
14663                        n = this.uiDialog
14664                            .siblings(".ui-front:visible")
14665                            .map(function () {
14666                                return +x(this).css("z-index");
14667                            })
14668                            .get(),
14669                        s = Math.max.apply(null, n);
14670                    return s >= +this.uiDialog.css("z-index") && (this.uiDialog.css("z-index", s + 1), (i = !0)), i && !e && this._trigger("focus", t), i;
14671                },
14672                open: function () {
14673                    var t = this;
14674                    return this._isOpen
14675                        ? void (this._moveToTop() && this._focusTabbable())
14676                        : ((this._isOpen = !0),
14677                          (this.opener = x(x.ui.safeActiveElement(this.document[0]))),
14678                          this._size(),
14679                          this._position(),
14680                          this._createOverlay(),
14681                          this._moveToTop(null, !0),
14682                          this.overlay && this.overlay.css("z-index", this.uiDialog.css("z-index") - 1),
14683                          this._show(this.uiDialog, this.options.show, function () {
14684                              t._focusTabbable(), t._trigger("focus");
14685                          }),
14686                          this._makeFocusTarget(),
14687                          void this._trigger("open"));
14688                },
14689                _focusTabbable: function () {
14690                    var t = this._focusedElement;
14691                    (t = t || this.element.find("[autofocus]")).length || (t = this.element.find(":tabbable")),
14692                        t.length || (t = this.uiDialogButtonPane.find(":tabbable")),
14693                        t.length || (t = this.uiDialogTitlebarClose.filter(":tabbable")),
14694                        t.length || (t = this.uiDialog),
14695                        t.eq(0).trigger("focus");
14696                },
14697                _keepFocus: function (t) {
14698                    function e() {
14699                        var t = x.ui.safeActiveElement(this.document[0]);
14700                        this.uiDialog[0] === t || x.contains(this.uiDialog[0], t) || this._focusTabbable();
14701                    }
14702                    t.preventDefault(), e.call(this), this._delay(e);
14703                },
14704                _createWrapper: function () {
14705                    (this.uiDialog = x("<div>").hide().attr({ tabIndex: -1, role: "dialog" }).appendTo(this._appendTo())),
14706                        this._addClass(this.uiDialog, "ui-dialog", "ui-widget ui-widget-content ui-front"),
14707                        this._on(this.uiDialog, {
14708                            keydown: function (t) {
14709                                if (this.options.closeOnEscape && !t.isDefaultPrevented() && t.keyCode && t.keyCode === x.ui.keyCode.ESCAPE) return t.preventDefault(), void this.close(t);
14710                                if (t.keyCode === x.ui.keyCode.TAB && !t.isDefaultPrevented()) {
14711                                    var e = this.uiDialog.find(":tabbable"),
14712                                        i = e.filter(":first"),
14713                                        n = e.filter(":last");
14714                                    (t.target !== n[0] && t.target !== this.uiDialog[0]) || t.shiftKey
14715                                        ? (t.target !== i[0] && t.target !== this.uiDialog[0]) ||
14716                                          !t.shiftKey ||
14717                                          (this._delay(function () {
14718                                              n.trigger("focus");
14719                                          }),
14720                                          t.preventDefault())
14721                                        : (this._delay(function () {
14722                                              i.trigger("focus");
14723                                          }),
14724                                          t.preventDefault());
14725                                }
14726                            },
14727                            mousedown: function (t) {
14728                                this._moveToTop(t) && this._focusTabbable();
14729                            },
14730                        }),
14731                        this.element.find("[aria-describedby]").length || this.uiDialog.attr({ "aria-describedby": this.element.uniqueId().attr("id") });
14732                },
14733                _createTitlebar: function () {
14734                    var t;
14735                    (this.uiDialogTitlebar = x("<div>")),
14736                        this._addClass(this.uiDialogTitlebar, "ui-dialog-titlebar", "ui-widget-header ui-helper-clearfix"),
14737                        this._on(this.uiDialogTitlebar, {
14738                            mousedown: function (t) {
14739                                x(t.target).closest(".ui-dialog-titlebar-close") || this.uiDialog.trigger("focus");
14740                            },
14741                        }),
14742                        (this.uiDialogTitlebarClose = x("<button type='button'></button>")
14743                            .button({ label: x("<a>").text(this.options.closeText).html(), icon: "ui-icon-closethick", showLabel: !1 })
14744                            .appendTo(this.uiDialogTitlebar)),
14745                        this._addClass(this.uiDialogTitlebarClose, "ui-dialog-titlebar-close"),
14746                        this._on(this.uiDialogTitlebarClose, {
14747                            click: function (t) {
14748                                t.preventDefault(), this.close(t);
14749                            },
14750                        }),
14751                        (t = x("<span>").uniqueId().prependTo(this.uiDialogTitlebar)),
14752                        this._addClass(t, "ui-dialog-title"),
14753                        this._title(t),
14754                        this.uiDialogTitlebar.prependTo(this.uiDialog),
14755                        this.uiDialog.attr({ "aria-labelledby": t.attr("id") });
14756                },
14757                _title: function (t) {
14758                    this.options.title ? t.text(this.options.title) : t.html("&#160;");
14759                },
14760                _createButtonPane: function () {
14761                    (this.uiDialogButtonPane = x("<div>")),
14762                        this._addClass(this.uiDialogButtonPane, "ui-dialog-buttonpane", "ui-widget-content ui-helper-clearfix"),
14763                        (this.uiButtonSet = x("<div>").appendTo(this.uiDialogButtonPane)),
14764                        this._addClass(this.uiButtonSet, "ui-dialog-buttonset"),
14765                        this._createButtons();
14766                },
14767                _createButtons: function () {
14768                    var s = this,
14769                        t = this.options.buttons;
14770                    return (
14771                        this.uiDialogButtonPane.remove(),
14772                        this.uiButtonSet.empty(),
14773                        x.isEmptyObject(t) || (x.isArray(t) && !t.length)
14774                            ? void this._removeClass(this.uiDialog, "ui-dialog-buttons")
14775                            : (x.each(t, function (t, e) {
14776                                  var i, n;
14777                                  (e = x.isFunction(e) ? { click: e, text: t } : e),
14778                                      (e = x.extend({ type: "button" }, e)),
14779                                      (i = e.click),
14780                                      (n = { icon: e.icon, iconPosition: e.iconPosition, showLabel: e.showLabel, icons: e.icons, text: e.text }),
14781                                      delete e.click,
14782                                      delete e.icon,
14783                                      delete e.iconPosition,
14784                                      delete e.showLabel,
14785                                      delete e.icons,
14786                                      "boolean" == typeof e.text && delete e.text,
14787                                      x("<button></button>", e)
14788                                          .button(n)
14789                                          .appendTo(s.uiButtonSet)
14790                                          .on("click", function () {
14791                                              i.apply(s.element[0], arguments);
14792                                          });
14793                              }),
14794                              this._addClass(this.uiDialog, "ui-dialog-buttons"),
14795                              void this.uiDialogButtonPane.appendTo(this.uiDialog))
14796                    );
14797                },
14798                _makeDraggable: function () {
14799                    function s(t) {
14800                        return { position: t.position, offset: t.offset };
14801                    }
14802                    var o = this,
14803                        r = this.options;
14804                    this.uiDialog.draggable({
14805                        cancel: ".ui-dialog-content, .ui-dialog-titlebar-close",
14806                        handle: ".ui-dialog-titlebar",
14807                        containment: "document",
14808                        start: function (t, e) {
14809                            o._addClass(x(this), "ui-dialog-dragging"), o._blockFrames(), o._trigger("dragStart", t, s(e));
14810                        },
14811                        drag: function (t, e) {
14812                            o._trigger("drag", t, s(e));
14813                        },
14814                        stop: function (t, e) {
14815                            var i = e.offset.left - o.document.scrollLeft(),
14816                                n = e.offset.top - o.document.scrollTop();
14817                            (r.position = { my: "left top", at: "left" + (0 <= i ? "+" : "") + i + " top" + (0 <= n ? "+" : "") + n, of: o.window }),
14818                                o._removeClass(x(this), "ui-dialog-dragging"),
14819                                o._unblockFrames(),
14820                                o._trigger("dragStop", t, s(e));
14821                        },
14822                    });
14823                },
14824                _makeResizable: function () {
14825                    function o(t) {
14826                        return { originalPosition: t.originalPosition, originalSize: t.originalSize, position: t.position, size: t.size };
14827                    }
14828                    var r = this,
14829                        a = this.options,
14830                        t = a.resizable,
14831                        e = this.uiDialog.css("position"),
14832                        i = "string" == typeof t ? t : "n,e,s,w,se,sw,ne,nw";
14833                    this.uiDialog
14834                        .resizable({
14835                            cancel: ".ui-dialog-content",
14836                            containment: "document",
14837                            alsoResize: this.element,
14838                            maxWidth: a.maxWidth,
14839                            maxHeight: a.maxHeight,
14840                            minWidth: a.minWidth,
14841                            minHeight: this._minHeight(),
14842                            handles: i,
14843                            start: function (t, e) {
14844                                r._addClass(x(this), "ui-dialog-resizing"), r._blockFrames(), r._trigger("resizeStart", t, o(e));
14845                            },
14846                            resize: function (t, e) {
14847                                r._trigger("resize", t, o(e));
14848                            },
14849                            stop: function (t, e) {
14850                                var i = r.uiDialog.offset(),
14851                                    n = i.left - r.document.scrollLeft(),
14852                                    s = i.top - r.document.scrollTop();
14853                                (a.height = r.uiDialog.height()),
14854                                    (a.width = r.uiDialog.width()),
14855                                    (a.position = { my: "left top", at: "left" + (0 <= n ? "+" : "") + n + " top" + (0 <= s ? "+" : "") + s, of: r.window }),
14856                                    r._removeClass(x(this), "ui-dialog-resizing"),
14857                                    r._unblockFrames(),
14858                                    r._trigger("resizeStop", t, o(e));
14859                            },
14860                        })
14861                        .css("position", e);
14862                },
14863                _trackFocus: function () {
14864                    this._on(this.widget(), {
14865                        focusin: function (t) {
14866                            this._makeFocusTarget(), (this._focusedElement = x(t.target));
14867                        },
14868                    });
14869                },
14870                _makeFocusTarget: function () {
14871                    this._untrackInstance(), this._trackingInstances().unshift(this);
14872                },
14873                _untrackInstance: function () {
14874                    var t = this._trackingInstances(),
14875                        e = x.inArray(this, t);
14876                    -1 !== e && t.splice(e, 1);
14877                },
14878                _trackingInstances: function () {
14879                    var t = this.document.data("ui-dialog-instances");
14880                    return t || ((t = []), this.document.data("ui-dialog-instances", t)), t;
14881                },
14882                _minHeight: function () {
14883                    var t = this.options;
14884                    return "auto" === t.height ? t.minHeight : Math.min(t.minHeight, t.height);
14885                },
14886                _position: function () {
14887                    var t = this.uiDialog.is(":visible");
14888                    t || this.uiDialog.show(), this.uiDialog.position(this.options.position), t || this.uiDialog.hide();
14889                },
14890                _setOptions: function (t) {
14891                    var i = this,
14892                        n = !1,
14893                        s = {};
14894                    x.each(t, function (t, e) {
14895                        i._setOption(t, e), t in i.sizeRelatedOptions && (n = !0), t in i.resizableRelatedOptions && (s[t] = e);
14896                    }),
14897                        n && (this._size(), this._position()),
14898                        this.uiDialog.is(":data(ui-resizable)") && this.uiDialog.resizable("option", s);
14899                },
14900                _setOption: function (t, e) {
14901                    var i,
14902                        n,
14903                        s = this.uiDialog;
14904                    "disabled" !== t &&
14905                        (this._super(t, e),
14906                        "appendTo" === t && this.uiDialog.appendTo(this._appendTo()),
14907                        "buttons" === t && this._createButtons(),
14908                        "closeText" === t &&
14909                            this.uiDialogTitlebarClose.button({
14910                                label: x("<a>")
14911                                    .text("" + this.options.closeText)
14912                                    .html(),
14913                            }),
14914                        "draggable" === t && ((i = s.is(":data(ui-draggable)")) && !e && s.draggable("destroy"), !i && e && this._makeDraggable()),
14915                        "position" === t && this._position(),
14916                        "resizable" === t && ((n = s.is(":data(ui-resizable)")) && !e && s.resizable("destroy"), n && "string" == typeof e && s.resizable("option", "handles", e), n || !1 === e || this._makeResizable()),
14917                        "title" === t && this._title(this.uiDialogTitlebar.find(".ui-dialog-title")));
14918                },
14919                _size: function () {
14920                    var t,
14921                        e,
14922                        i,
14923                        n = this.options;
14924                    this.element.show().css({ width: "auto", minHeight: 0, maxHeight: "none", height: 0 }),
14925                        n.minWidth > n.width && (n.width = n.minWidth),
14926                        (t = this.uiDialog.css({ height: "auto", width: n.width }).outerHeight()),
14927                        (e = Math.max(0, n.minHeight - t)),
14928                        (i = "number" == typeof n.maxHeight ? Math.max(0, n.maxHeight - t) : "none"),
14929                        "auto" === n.height ? this.element.css({ minHeight: e, maxHeight: i, height: "auto" }) : this.element.height(Math.max(0, n.height - t)),
14930                        this.uiDialog.is(":data(ui-resizable)") && this.uiDialog.resizable("option", "minHeight", this._minHeight());
14931                },
14932                _blockFrames: function () {
14933                    this.iframeBlocks = this.document.find("iframe").map(function () {
14934                        var t = x(this);
14935                        return x("<div>").css({ position: "absolute", width: t.outerWidth(), height: t.outerHeight() }).appendTo(t.parent()).offset(t.offset())[0];
14936                    });
14937                },
14938                _unblockFrames: function () {
14939                    this.iframeBlocks && (this.iframeBlocks.remove(), delete this.iframeBlocks);
14940                },
14941                _allowInteraction: function (t) {
14942                    return !!x(t.target).closest(".ui-dialog").length || !!x(t.target).closest(".ui-datepicker").length;
14943                },
14944                _createOverlay: function () {
14945                    if (this.options.modal) {
14946                        var e = !0;
14947                        this._delay(function () {
14948                            e = !1;
14949                        }),
14950                            this.document.data("ui-dialog-overlays") ||
14951                                this._on(this.document, {
14952                                    focusin: function (t) {
14953                                        e || this._allowInteraction(t) || (t.preventDefault(), this._trackingInstances()[0]._focusTabbable());
14954                                    },
14955                                }),
14956                            (this.overlay = x("<div>").appendTo(this._appendTo())),
14957                            this._addClass(this.overlay, null, "ui-widget-overlay ui-front"),
14958                            this._on(this.overlay, { mousedown: "_keepFocus" }),
14959                            this.document.data("ui-dialog-overlays", (this.document.data("ui-dialog-overlays") || 0) + 1);
14960                    }
14961                },
14962                _destroyOverlay: function () {
14963                    if (this.options.modal && this.overlay) {
14964                        var t = this.document.data("ui-dialog-overlays") - 1;
14965                        t ? this.document.data("ui-dialog-overlays", t) : (this._off(this.document, "focusin"), this.document.removeData("ui-dialog-overlays")), this.overlay.remove(), (this.overlay 
14965= null);
14966                    }
14967                },
14968            }),
14969            !1 !== x.uiBackCompat &&
14970                x.widget("ui.dialog", x.ui.dialog, {
14971                    options: { dialogClass: "" },
14972                    _createWrapper: function () {
14973                        this._super(), this.uiDialog.addClass(this.options.dialogClass);
14974                    },
14975                    _setOption: function (t, e) {
14976                        "dialogClass" === t && this.uiDialog.removeClass(this.options.dialogClass).addClass(e), this._superApply(arguments);
14977                    },
14978                }),
14979            x.ui.dialog,
14980            x.widget("ui.droppable", {
14981                version: "1.12.1",
14982                widgetEventPrefix: "drop",
14983                options: { accept: "*", addClasses: !0, greedy: !1, scope: "default", tolerance: "intersect", activate: null, deactivate: null, drop: null, out: null, over: null },
14984                _create: function () {
14985                    var t,
14986                        e = this.options,
14987                        i = e.accept;
14988                    (this.isover = !1),
14989                        (this.isout = !0),
14990                        (this.accept = x.isFunction(i)
14991                            ? i
14992                            : function (t) {
14993                                  return t.is(i);
14994                              }),
14995                        (this.proportions = function () {
14996                            return arguments.length ? void (t = arguments[0]) : t || (t = { width: this.element[0].offsetWidth, height: this.element[0].offsetHeight });
14997                        }),
14998                        this._addToManager(e.scope),
14999                        e.addClasses && this._addClass("ui-droppable");
15000                },
15001                _addToManager: function (t) {
15002                    (x.ui.ddmanager.droppables[t] = x.ui.ddmanager.droppables[t] || []), x.ui.ddmanager.droppables[t].push(this);
15003                },
15004                _splice: function (t) {
15005                    for (var e = 0; t.length > e; e++) t[e] === this && t.splice(e, 1);
15006                },
15007                _destroy: function () {
15008                    var t = x.ui.ddmanager.droppables[this.options.scope];
15009                    this._splice(t);
15010                },
15011                _setOption: function (t, e) {
15012                    if ("accept" === t)
15013                        this.accept = x.isFunction(e)
15014                            ? e
15015                            : function (t) {
15016                                  return t.is(e);
15017                              };
15018                    else if ("scope" === t) {
15019                        var i = x.ui.ddmanager.droppables[this.options.scope];
15020                        this._splice(i), this._addToManager(e);
15021                    }
15022                    this._super(t, e);
15023                },
15024                _activate: function (t) {
15025                    var e = x.ui.ddmanager.current;
15026                    this._addActiveClass(), e && this._trigger("activate", t, this.ui(e));
15027                },
15028                _deactivate: function (t) {
15029                    var e = x.ui.ddmanager.current;
15030                    this._removeActiveClass(), e && this._trigger("deactivate", t, this.ui(e));
15031                },
15032                _over: function (t) {
15033                    var e = x.ui.ddmanager.current;
15034                    e && (e.currentItem || e.element)[0] !== this.element[0] && this.accept.call(this.element[0], e.currentItem || e.element) && (this._addHoverClass(), this._trigger("over", t, this.ui(e)));
15035                },
15036                _out: function (t) {
15037                    var e = x.ui.ddmanager.current;
15038                    e && (e.currentItem || e.element)[0] !== this.element[0] && this.accept.call(this.element[0], e.currentItem || e.element) && (this._removeHoverClass(), this._trigger("out", t, this.ui(e)));
15039                },
15040                _drop: function (e, t) {
15041                    var i = t || x.ui.ddmanager.current,
15042                        n = !1;
15043                    return (
15044                        !(!i || (i.currentItem || i.element)[0] === this.element[0]) &&
15045                        (this.element
15046                            .find(":data(ui-droppable)")
15047                            .not(".ui-draggable-dragging")
15048                            .each(function () {
15049                                var t = x(this).droppable("instance");
15050                                return t.options.greedy &&
15051                                    !t.options.disabled &&
15052                                    t.options.scope === i.options.scope &&
15053                                    t.accept.call(t.element[0], i.currentItem || i.element) &&
15054                                    rt(i, x.extend(t, { offset: t.element.offset() }), t.options.tolerance, e)
15055                                    ? !(n = !0)
15056                                    : void 0;
15057                            }),
15058                        !n && !!this.accept.call(this.element[0], i.currentItem || i.element) && (this._removeActiveClass(), this._removeHoverClass(), this._trigger("drop", e, this.ui(i)), this.element))
15059                    );
15060                },
15061                ui: function (t) {
15062                    return { draggable: t.currentItem || t.element, helper: t.helper, position: t.position, offset: t.positionAbs };
15063                },
15064                _addHoverClass: function () {
15065                    this._addClass("ui-droppable-hover");
15066                },
15067                _removeHoverClass: function () {
15068                    this._removeClass("ui-droppable-hover");
15069                },
15070                _addActiveClass: function () {
15071                    this._addClass("ui-droppable-active");
15072                },
15073                _removeActiveClass: function () {
15074                    this._removeClass("ui-droppable-active");
15075                },
15076            });
15077        var ot,
15078            rt = (x.ui.intersect = function (t, e, i, n) {
15079                if (!e.offset) return !1;
15080                var s = (t.positionAbs || t.position.absolute).left + t.margins.left,
15081                    o = (t.positionAbs || t.position.absolute).top + t.margins.top,
15082                    r = s + t.helperProportions.width,
15083                    a = o + t.helperProportions.height,
15084                    l = e.offset.left,
15085                    c = e.offset.top,
15086                    u = l + e.proportions().width,
15087                    h = c + e.proportions().height;
15088                switch (i) {
15089                    case "fit":
15090                        return l <= s && r <= u && c <= o && a <= h;
15091                    case "intersect":
15092                        return s + t.helperProportions.width / 2 > l && u > r - t.helperProportions.width / 2 && o + t.helperProportions.height / 2 > c && h > a - t.helperProportions.height / 2;
15093                    case "pointer":
15094                        return at(n.pageY, c, e.proportions().height) && at(n.pageX, l, e.proportions().width);
15095                    case "touch":
15096                        return ((c <= o && o <= h) || (c <= a && a <= h) || (o < c && h < a)) && ((l <= s && s <= u) || (l <= r && r <= u) || (s < l && u < r));
15097                    default:
15098                        return !1;
15099                }
15100            });
15101        function at(t, e, i) {
15102            return e <= t && t < e + i;
15103        }
15104        !(x.ui.ddmanager = {
15105            current: null,
15106            droppables: { default: [] },
15107            prepareOffsets: function (t, e) {
15108                var i,
15109                    n,
15110                    s = x.ui.ddmanager.droppables[t.options.scope] || [],
15111                    o = e ? e.type : null,
15112                    r = (t.currentItem || t.element).find(":data(ui-droppable)").addBack();
15113                t: for (i = 0; s.length > i; i++)
15114                    if (!(s[i].options.disabled || (t && !s[i].accept.call(s[i].element[0], t.currentItem || t.element)))) {
15115                        for (n = 0; r.length > n; n++)
15116                            if (r[n] === s[i].element[0]) {
15117                                s[i].proportions().height = 0;
15118                                continue t;
15119                            }
15120                        (s[i].visible = "none" !== s[i].element.css("display")),
15121                            s[i].visible && ("mousedown" === o && s[i]._activate.call(s[i], e), (s[i].offset = s[i].element.offset()), s[i].proportions({ width: s[i].element[0].offsetWidth, height: s[i].element[0].offsetHeight }));
15122                    }
15123            },
15124            drop: function (t, e) {
15125                var i = !1;
15126                return (
15127                    x.each((x.ui.ddmanager.droppables[t.options.scope] || []).slice(), function () {
15128                        this.options &&
15129                            (!this.options.disabled && this.visible && rt(t, this, this.options.tolerance, e) && (i = this._drop.call(this, e) || i),
15130                            !this.options.disabled && this.visible && this.accept.call(this.element[0], t.currentItem || t.element) && ((this.isout = !0), (this.isover = !1), this._deactivate.call(this, e)));
15131                    }),
15132                    i
15133                );
15134            },
15135            dragStart: function (t, e) {
15136                t.element.parentsUntil("body").on("scroll.droppable", function () {
15137                    t.options.refreshPositions || x.ui.ddmanager.prepareOffsets(t, e);
15138                });
15139            },
15140            drag: function (o, r) {
15141                o.options.refreshPositions && x.ui.ddmanager.prepareOffsets(o, r),
15142                    x.each(x.ui.ddmanager.droppables[o.options.scope] || [], function () {
15143                        if (!this.options.disabled && !this.greedyChild && this.visible) {
15144                            var t,
15145                                e,
15146                                i,
15147                                n = rt(o, this, this.options.tolerance, r),
15148                                s = !n && this.isover ? "isout" : n && !this.isover ? "isover" : null;
15149                            s &&
15150                                (this.options.greedy &&
15151                                    ((e = this.options.scope),
15152                                    (i = this.element.parents(":data(ui-droppable)").filter(function () {
15153                                        return x(this).droppable("instance").options.scope === e;
15154                                    }
15154)).length && ((t = x(i[0]).droppable("instance")).greedyChild = "isover" === s)),
15155                                t && "isover" === s && ((t.isover = !1), (t.isout = !0), t._out.call(t, r)),
15156                                (this[s] = !0),
15157                                (this["isout" === s ? "isover" : "isout"] = !1),
15158                                this["isover" === s ? "_over" : "_out"].call(this, r),
15159                                t && "isout" === s && ((t.isout = !1), (t.isover = !0), t._over.call(t, r)));
15160                        }
15161                    });
15162            },
15163            dragStop: function (t, e) {
15164                t.element.parentsUntil("body").off("scroll.droppable"), t.options.refreshPositions || x.ui.ddmanager.prepareOffsets(t, e);
15165            },
15166        }) !== x.uiBackCompat &&
15167            x.widget("ui.droppable", x.ui.droppable, {
15168                options: { hoverClass: !1, activeClass: !1 },
15169                _addActiveClass: function () {
15170                    this._super(), this.options.activeClass && this.element.addClass(this.options.activeClass);
15171                },
15172                _removeActiveClass: function () {
15173                    this._super(), this.options.activeClass && this.element.removeClass(this.options.activeClass);
15174                },
15175                _addHoverClass: function () {
15176                    this._super(), this.options.hoverClass && this.element.addClass(this.options.hoverClass);
15177                },
15178                _removeHoverClass: function () {
15179                    this._super(), this.options.hoverClass && this.element.removeClass(this.options.hoverClass);
15180                },
15181            }),
15182            x.ui.droppable,
15183            x.widget("ui.progressbar", {
15184                version: "1.12.1",
15185                options: { classes: { "ui-progressbar": "ui-corner-all", "ui-progressbar-value": "ui-corner-left", "ui-progressbar-complete": "ui-corner-right" }, max: 100, value: 0, change: null, complete: null },
15186                min: 0,
15187                _create: function () {
15188                    (this.oldValue = this.options.value = this._constrainedValue()),
15189                        this.element.attr({ role: "progressbar", "aria-valuemin": this.min }),
15190                        this._addClass("ui-progressbar", "ui-widget ui-widget-content"),
15191                        (this.valueDiv = x("<div>").appendTo(this.element)),
15192                        this._addClass(this.valueDiv, "ui-progressbar-value", "ui-widget-header"),
15193                        this._refreshValue();
15194                },
15195                _destroy: function () {
15196                    this.element.removeAttr("role aria-valuemin aria-valuemax aria-valuenow"), this.valueDiv.remove();
15197                },
15198                value: function (t) {
15199                    return void 0 === t ? this.options.value : ((this.options.value = this._constrainedValue(t)), void this._refreshValue());
15200                },
15201                _constrainedValue: function (t) {
15202                    return void 0 === t && (t = this.options.value), (this.indeterminate = !1 === t), "number" != typeof t && (t = 0), !this.indeterminate && Math.min(this.options.max, Math.max(this.min, t));
15203                },
15204                _setOptions: function (t) {
15205                    var e = t.value;
15206                    delete t.value, this._super(t), (this.options.value = this._constrainedValue(e)), this._refreshValue();
15207                },
15208                _setOption: function (t, e) {
15209                    "max" === t && (e = Math.max(this.min, e)), this._super(t, e);
15210                },
15211                _setOptionDisabled: function (t) {
15212                    this._super(t), this.element.attr("aria-disabled", t), this._toggleClass(null, "ui-state-disabled", !!t);
15213                },
15214                _percentage: function () {
15215                    return this.indeterminate ? 100 : (100 * (this.options.value - this.min)) / (this.options.max - this.min);
15216                },
15217                _refreshValue: function () {
15218                    var t = this.options.value,
15219                        e = this._percentage();
15220                    this.valueDiv.toggle(this.indeterminate || t > this.min).width(e.toFixed(0) + "%"),
15221                        this._toggleClass(this.valueDiv, "ui-progressbar-complete", null, t === this.options.max)._toggleClass("ui-progressbar-indeterminate", null, this.indeterminate),
15222                        this.indeterminate
15223                            ? (this.element.removeAttr("aria-valuenow"), this.overlayDiv || ((this.overlayDiv = x("<div>").appendTo(this.valueDiv)), this._addClass(this.overlayDiv, "ui-progressbar-overlay")))
15224                            : (this.element.attr({ "aria-valuemax": this.options.max, "aria-valuenow": t }), this.overlayDiv && (this.overlayDiv.remove(), (this.overlayDiv = null))),
15225                        this.oldValue !== t && ((this.oldValue = t), this._trigger("change")),
15226                        t === this.options.max && this._trigger("complete");
15227                },
15228            }),
15229            x.widget("ui.selectable", x.ui.mouse, {
15230                version: "1.12.1",
15231                options: { appendTo: "body", autoRefresh: !0, distance: 0, filter: "*", tolerance: "touch", selected: null, selecting: null, start: null, stop: null, unselected: null, unselecting: null },
15232                _create: function () {
15233                    var n = this;
15234                    this._addClass("ui-selectable"),
15235                        (this.dragged = !1),
15236                        (this.refresh = function () {
15237                            (n.elementPos = x(n.element[0]).offset()),
15238                                (n.selectees = x(n.options.filter, n.element[0])),
15239                                n._addClass(n.selectees, "ui-selectee"),
15240                                n.selectees.each(function () {
15241                                    var t = x(this),
15242                                        e = t.offset(),
15243                                        i = { left: e.left - n.elementPos.left, top: e.top - n.elementPos.top };
15244                                    x.data(this, "selectable-item", {
15245                                        element: this,
15246                                        $element: t,
15247                                        left: i.left,
15248                                        top: i.top,
15249                                        right: i.left + t.outerWidth(),
15250                                        bottom: i.top + t.outerHeight(),
15251                                        startselected: !1,
15252                                        selected: t.hasClass("ui-selected"),
15253                                        selecting: t.hasClass("ui-selecting"),
15254                                        unselecting: t.hasClass("ui-unselecting"),
15255                                    });
15256                                });
15257                        }),
15258                        this.refresh(),
15259                        this._mouseInit(),
15260                        (this.helper = x("<div>")),
15261                        this._addClass(this.helper, "ui-selectable-helper");
15262                },
15263                _destroy: function () {
15264                    this.selectees.removeData("selectable-item"), this._mouseDestroy();
15265                },
15266                _mouseStart: function (i) {
15267                    var n = this,
15268                        t = this.options;
15269                    (this.opos = [i.pageX, i.pageY]),
15270                        (this.elementPos = x(this.element[0]).offset()),
15271                        this.options.disabled ||
15272                            ((this.selectees = x(t.filter, this.element[0])),
15273                            this._trigger("start", i),
15274                            x(t.appendTo).append(this.helper),
15275                            this.helper.css({ left: i.pageX, top: i.pageY, width: 0, height: 0 }),
15276                            t.autoRefresh && this.refresh(),
15277                            this.selectees.filter(".ui-selected").each(function () {
15278                                var t = x.data(this, "selectable-item");
15279                                (t.startselected = !0),
15280                                    i.metaKey ||
15281                                        i.ctrlKey ||
15282                                        (n._removeClass(t.$element, "ui-selected"), (t.selected = !1), n._addClass(t.$element, "ui-unselecting"), (t.unselecting = !0), n._trigger("unselecting", i, { unselecting: t.element }));
15283                            }),
15284                            x(i.target)
15285                                .parents()
15286                                .addBack()
15287                                .each(function () {
15288                                    var t,
15289                                        e = x.data(this, "selectable-item");
15290                                    return e
15291                                        ? ((t = (!i.metaKey && !i.ctrlKey) || !e.$element.hasClass("ui-selected")),
15292                                          n._removeClass(e.$element, t ? "ui-unselecting" : "ui-selected")._addClass(e.$element, t ? "ui-selecting" : "ui-unselecting"),
15293                                          (e.unselecting = !t),
15294                                          (e.selecting = t),
15295                                          (e.selected = t) ? n._trigger("selecting", i, { selecting: e.element }) : n._trigger("unselecting", i, { unselecting: e.element }),
15296                                          !1)
15297                                        : void 0;
15298                                }));
15299                },
15300                _mouseDrag: function (n) {
15301                    if (((this.dragged = !0), !this.options.disabled)) {
15302                        var t,
15303                            s = this,
15304                            o = this.options,
15305                            r = this.opos[0],
15306                            a = this.opos[1],
15307                            l = n.pageX,
15308                            c = n.pageY;
15309                        return (
15310                            l < r && ((t = l), (l = r), (r = t)),
15311                            c < a && ((t = c), (c = a), (a = t)),
15312                            this.helper.css({ left: r, top: a, width: l - r, height: c - a }),
15313                            this.selectees.each(function () {
15314                                var t = x.data(this, "selectable-item"),
15315                                    e = !1,
15316                                    i = {};
15317                                t &&
15318                                    t.element !== s.element[0] &&
15319                                    ((i.left = t.left + s.elementPos.left),
15320                                    (i.right = t.right + s.elementPos.left),
15321                                    (i.top = t.top + s.elementPos.top),
15322                                    (i.bottom = t.bottom + s.elementPos.top),
15323                                    "touch" === o.tolerance ? (e = !(i.left > l || r > i.right || i.top > c || a > i.bottom)) : "fit" === o.tolerance && (e = i.left > r && l > i.right && i.top > a && c > i.bottom),
15324                                    e
15325                                        ? (t.selected && (s._removeClass(t.$element, "ui-selected"), (t.selected = !1)),
15326                                          t.unselecting && (s._removeClass(t.$element, "ui-unselecting"), (t.unselecting = !1)),
15327                                          t.selecting || (s._addClass(t.$element, "ui-selecting"), (t.selecting = !0), s._trigger("selecting", n, { selecting: t.element })))
15328                                        : (t.selecting &&
15329                                              ((n.metaKey || n.ctrlKey) && t.startselected
15330                                                  ? (s._removeClass(t.$element, "ui-selecting"), (t.selecting = !1), s._addClass(t.$element, "ui-selected"), (t.selected = !0))
15331                                                  : (s._removeClass(t.$element, "ui-selecting"),
15332                                                    (t.selecting = !1),
15333                                                    t.startselected && (s._addClass(t.$element, "ui-unselecting"), (t.unselecting = !0)),
15334                                                    s._trigger("unselecting", n, { unselecting: t.element }))),
15335                                          t.selected &&
15336                                              (n.metaKey ||
15337                                                  n.ctrlKey ||
15338                                                  t.startselected ||
15339                                                  (s._removeClass(t.$element, "ui-selected"), (t.selected = !1), s._addClass(t.$element, "ui-unselecting"), (t.unselecting = !0), s._trigger("unselecting", n, { unselecting: t.element })))));
15340                            }),
15341                            !1
15342                        );
15343                    }
15344                },
15345                _mouseStop: function (e) {
15346                    var i = this;
15347                    return (
15348                        (this.dragged = !1),
15349                        x(".ui-unselecting", this.element[0]).each(function () {
15350                            var t = x.data(this, "selectable-item");
15351                            i._removeClass(t.$element, "ui-unselecting"), (t.unselecting = !1), (t.startselected = !1), i._trigger("unselected", e, { unselected: t.element });
15352                        }),
15353                        x(".ui-selecting", this.element[0]).each(function () {
15354                            var t = x.data(this, "selectable-item");
15355                            i._removeClass(t.$element, "ui-selecting")._addClass(t.$element, "ui-selected"), (t.selecting = !1), (t.selected = !0), (t.startselected = !0), i._trigger("selected", e, { selected: t.element });
15356                        }),
15357                        this._trigger("stop", e),
15358                        this.helper.remove(),
15359                        !1
15360                    );
15361                },
15362            }),
15363            x.widget("ui.selectmenu", [
15364                x.ui.formResetMixin,
15365                {
15366                    version: "1.12.1",
15367                    defaultElement: "<select>",
15368                    options: {
15369                        appendTo: null,
15370                        classes: { "ui-selectmenu-button-open": "ui-corner-top", "ui-selectmenu-button-closed": "ui-corner-all" },
15371                        disabled: null,
15372                        icons: { button: "ui-icon-triangle-1-s" },
15373                        position: { my: "left top", at: "left bottom", collision: "none" },
15374                        width: !1,
15375                        change: null,
15376                        close: null,
15377                        focus: null,
15378                        open: null,
15379                        select: null,
15380                    },
15381                    _create: function () {
15382                        var t = this.element.uniqueId().attr("id");
15383                        (this.ids = { element: t, button: t + "-button", menu: t + "-menu" }), this._drawButton(), this._drawMenu(), this._bindFormResetHandler(), (this._rendered = !1), (this.menuItems = x());
15384                    },
15385                    _drawButton: function () {
15386                        var t,
15387                            e = this,
15388                            i = this._parseOption(this.element.find("option:selected"), this.element[0].selectedIndex);
15389                        (this.labels = this.element.labels().attr("for", this.ids.button)),
15390                            this._on(this.labels, {
15391                                click: function (t) {
15392                                    this.button.focus(), t.preventDefault();
15393                                },
15394                            }),
15395                            this.element.hide(),
15396                            (this.button = x("<span>", {
15397                                tabindex: this.options.disabled ? -1 : 0,
15398                                id: this.ids.button,
15399                                role: "combobox",
15400                                "aria-expanded": "false",
15401                                "aria-autocomplete": "list",
15402                                "aria-owns": this.ids.menu,
15403                                "aria-haspopup": "true",
15404                                title: this.element.attr("title"),
15405                            }).insertAfter(this.
15405element)),
15406                            this._addClass(this.button, "ui-selectmenu-button ui-selectmenu-button-closed", "ui-button ui-widget"),
15407                            (t = x("<span>").appendTo(this.button)),
15408                            this._addClass(t, "ui-selectmenu-icon", "ui-icon " + this.options.icons.button),
15409                            (this.buttonItem = this._renderButtonItem(i).appendTo(this.button)),
15410                            !1 !== this.options.width && this._resizeButton(),
15411                            this._on(this.button, this._buttonEvents),
15412                            this.button.one("focusin", function () {
15413                                e._rendered || e._refreshMenu();
15414                            });
15415                    },
15416                    _drawMenu: function () {
15417                        var n = this;
15418                        (this.menu = x("<ul>", { "aria-hidden": "true", "aria-labelledby": this.ids.button, id: this.ids.menu })),
15419                            (this.menuWrap = x("<div>").append(this.menu)),
15420                            this._addClass(this.menuWrap, "ui-selectmenu-menu", "ui-front"),
15421                            this.menuWrap.appendTo(this._appendTo()),
15422                            (this.menuInstance = this.menu
15423                                .menu({
15424                                    classes: { "ui-menu": "ui-corner-bottom" },
15425                                    role: "listbox",
15426                                    select: function (t, e) {
15427                                        t.preventDefault(), n._setSelection(), n._select(e.item.data("ui-selectmenu-item"), t);
15428                                    },
15429                                    focus: function (t, e) {
15430                                        var i = e.item.data("ui-selectmenu-item");
15431                                        null != n.focusIndex && i.index !== n.focusIndex && (n._trigger("focus", t, { item: i }), n.isOpen || n._select(i, t)),
15432                                            (n.focusIndex = i.index),
15433                                            n.button.attr("aria-activedescendant", n.menuItems.eq(i.index).attr("id"));
15434                                    },
15435                                })
15436                                .menu("instance")),
15437                            this.menuInstance._off(this.menu, "mouseleave"),
15438                            (this.menuInstance._closeOnDocumentClick = function () {
15439                                return !1;
15440                            }),
15441                            (this.menuInstance._isDivider = function () {
15442                                return !1;
15443                            });
15444                    },
15445                    refresh: function () {
15446                        this._refreshMenu(), this.buttonItem.replaceWith((this.buttonItem = this._renderButtonItem(this._getSelectedItem().data("ui-selectmenu-item") || {}))), null === this.options.width && this._resizeButton();
15447                    },
15448                    _refreshMenu: function () {
15449                        var t,
15450                            e = this.element.find("option");
15451                        this.menu.empty(),
15452                            this._parseOptions(e),
15453                            this._renderMenu(this.menu, this.items),
15454                            this.menuInstance.refresh(),
15455                            (this.menuItems = this.menu.find("li").not(".ui-selectmenu-optgroup").find(".ui-menu-item-wrapper")),
15456                            (this._rendered = !0),
15457                            e.length && ((t = this._getSelectedItem()), this.menuInstance.focus(null, t), this._setAria(t.data("ui-selectmenu-item")), this._setOption("disabled", this.element.prop("disabled")));
15458                    },
15459                    open: function (t) {
15460                        this.options.disabled ||
15461                            (this._rendered ? (this._removeClass(this.menu.find(".ui-state-active"), null, "ui-state-active"), this.menuInstance.focus(null, this._getSelectedItem())) : this._refreshMenu(),
15462                            this.menuItems.length && ((this.isOpen = !0), this._toggleAttr(), this._resizeMenu(), this._position(), this._on(this.document, this._documentClick), this._trigger("open", t)));
15463                    },
15464                    _position: function () {
15465                        this.menuWrap.position(x.extend({ of: this.button }, this.options.position));
15466                    },
15467                    close: function (t) {
15468                        this.isOpen && ((this.isOpen = !1), this._toggleAttr(), (this.range = null), this._off(this.document), this._trigger("close", t));
15469                    },
15470                    widget: function () {
15471                        return this.button;
15472                    },
15473                    menuWidget: function () {
15474                        return this.menu;
15475                    },
15476                    _renderButtonItem: function (t) {
15477                        var e = x("<span>");
15478                        return this._setText(e, t.label), this._addClass(e, "ui-selectmenu-text"), e;
15479                    },
15480                    _renderMenu: function (n, t) {
15481                        var s = this,
15482                            o = "";
15483                        x.each(t, function (t, e) {
15484                            var i;
15485                            e.optgroup !== o &&
15486                                ((i = x("<li>", { text: e.optgroup })),
15487                                s._addClass(i, "ui-selectmenu-optgroup", "ui-menu-divider" + (e.element.parent("optgroup").prop("disabled") ? " ui-state-disabled" : "")),
15488                                i.appendTo(n),
15489                                (o = e.optgroup)),
15490                                s._renderItemData(n, e);
15491                        });
15492                    },
15493                    _renderItemData: function (t, e) {
15494                        return this._renderItem(t, e).data("ui-selectmenu-item", e);
15495                    },
15496                    _renderItem: function (t, e) {
15497                        var i = x("<li>"),
15498                            n = x("<div>", { title: e.element.attr("title") });
15499                        return e.disabled && this._addClass(i, null, "ui-state-disabled"), this._setText(n, e.label), i.append(n).appendTo(t);
15500                    },
15501                    _setText: function (t, e) {
15502                        e ? t.text(e) : t.html("&#160;");
15503                    },
15504                    _move: function (t, e) {
15505                        var i,
15506                            n,
15507                            s = ".ui-menu-item";
15508                        this.isOpen ? (i = this.menuItems.eq(this.focusIndex).parent("li")) : ((i = this.menuItems.eq(this.element[0].selectedIndex).parent("li")), (s += ":not(.ui-state-disabled)")),
15509                            (n = "first" === t || "last" === t ? i["first" === t ? "prevAll" : "nextAll"](s).eq(-1) : i[t + "All"](s).eq(0)).length && this.menuInstance.focus(e, n);
15510                    },
15511                    _getSelectedItem: function () {
15512                        return this.menuItems.eq(this.element[0].selectedIndex).parent("li");
15513                    },
15514                    _toggle: function (t) {
15515                        this[this.isOpen ? "close" : "open"](t);
15516                    },
15517                    _setSelection: function () {
15518                        var t;
15519                        this.range && (window.getSelection ? ((t = window.getSelection()).removeAllRanges(), t.addRange(this.range)) : this.range.select(), this.button.focus());
15520                    },
15521                    _documentClick: {
15522                        mousedown: function (t) {
15523                            this.isOpen && (x(t.target).closest(".ui-selectmenu-menu, #" + x.ui.escapeSelector(this.ids.button)).length || this.close(t));
15524                        },
15525                    },
15526                    _buttonEvents: {
15527                        mousedown: function () {
15528                            var t;
15529                            window.getSelection ? (t = window.getSelection()).rangeCount && (this.range = t.getRangeAt(0)) : (this.range = document.selection.createRange());
15530                        },
15531                        click: function (t) {
15532                            this._setSelection(), this._toggle(t);
15533                        },
15534                        keydown: function (t) {
15535                            var e = !0;
15536                            switch (t.keyCode) {
15537                                case x.ui.keyCode.TAB:
15538                                case x.ui.keyCode.ESCAPE:
15539                                    this.close(t), (e = !1);
15540                                    break;
15541                                case x.ui.keyCode.ENTER:
15542                                    this.isOpen && this._selectFocusedItem(t);
15543                                    break;
15544                                case x.ui.keyCode.UP:
15545                                    t.altKey ? this._toggle(t) : this._move("prev", t);
15546                                    break;
15547                                case x.ui.keyCode.DOWN:
15548                                    t.altKey ? this._toggle(t) : this._move("next", t);
15549                                    break;
15550                                case x.ui.keyCode.SPACE:
15551                                    this.isOpen ? this._selectFocusedItem(t) : this._toggle(t);
15552                                    break;
15553                                case x.ui.keyCode.LEFT:
15554                                    this._move("prev", t);
15555                                    break;
15556                                case x.ui.keyCode.RIGHT:
15557                                    this._move("next", t);
15558                                    break;
15559                                case x.ui.keyCode.HOME:
15560                                case x.ui.keyCode.PAGE_UP:
15561                                    this._move("first", t);
15562                                    break;
15563                                case x.ui.keyCode.END:
15564                                case x.ui.keyCode.PAGE_DOWN:
15565                                    this._move("last", t);
15566                                    break;
15567                                default:
15568                                    this.menu.trigger(t), (e = !1);
15569                            }
15570                            e && t.preventDefault();
15571                        },
15572                    },
15573                    _selectFocusedItem: function (t) {
15574                        var e = this.menuItems.eq(this.focusIndex).parent("li");
15575                        e.hasClass("ui-state-disabled") || this._select(e.data("ui-selectmenu-item"), t);
15576                    },
15577                    _select: function (t, e) {
15578                        var i = this.element[0].selectedIndex;
15579                        (this.element[0].selectedIndex = t.index),
15580                            this.buttonItem.replaceWith((this.buttonItem = this._renderButtonItem(t))),
15581                            this._setAria(t),
15582                            this._trigger("select", e, { item: t }),
15583                            t.index !== i && this._trigger("change", e, { item: t }),
15584                            this.close(e);
15585                    },
15586                    _setAria: function (t) {
15587                        var e = this.menuItems.eq(t.index).attr("id");
15588                        this.button.attr({ "aria-labelledby": e, "aria-activedescendant": e }), this.menu.attr("aria-activedescendant", e);
15589                    },
15590                    _setOption: function (t, e) {
15591                        if ("icons" === t) {
15592                            var i = this.button.find("span.ui-icon");
15593                            this._removeClass(i, null, this.options.icons.button)._addClass(i, null, e.button);
15594                        }
15595                        this._super(t, e), "appendTo" === t && this.menuWrap.appendTo(this._appendTo()), "width" === t && this._resizeButton();
15596                    },
15597                    _setOptionDisabled: function (t) {
15598                        this._super(t),
15599                            this.menuInstance.option("disabled", t),
15600                            this.button.attr("aria-disabled", t),
15601                            this._toggleClass(this.button, null, "ui-state-disabled", t),
15602                            this.element.prop("disabled", t),
15603                            t ? (this.button.attr("tabindex", -1), this.close()) : this.button.attr("tabindex", 0);
15604                    },
15605                    _appendTo: function () {
15606                        var t = this.options.appendTo;
15607                        return ((t = t && (t.jquery || t.nodeType ? x(t) : this.document.find(t).eq(0))) && t[0]) || (t = this.element.closest(".ui-front, dialog")), t.length || (t = this.document[0].body), t;
15608                    },
15609                    _toggleAttr: function () {
15610                        this.button.attr("aria-expanded", this.isOpen),
15611                            this._removeClass(this.button, "ui-selectmenu-button-" + (this.isOpen ? "closed" : "open"))
15612                                ._addClass(this.button, "ui-selectmenu-button-" + (this.isOpen ? "open" : "closed"))
15613                                ._toggleClass(this.menuWrap, "ui-selectmenu-open", null, this.isOpen),
15614                            this.menu.attr("aria-hidden", !this.isOpen);
15615                    },
15616                    _resizeButton: function () {
15617                        var t = this.options.width;
15618                        return !1 === t ? void this.button.css("width", "") : (null === t && ((t = this.element.show().outerWidth()), this.element.hide()), void this.button.outerWidth(t));
15619                    },
15620                    _resizeMenu: function () {
15621                        this.menu.outerWidth(Math.max(this.button.outerWidth(), this.menu.width("").outerWidth() + 1));
15622                    },
15623                    _getCreateOptions: function () {
15624                        var t = this._super();
15625                        return (t.disabled = this.element.prop("disabled")), t;
15626                    },
15627                    _parseOptions: function (t) {
15628                        var i = this,
15629                            n = [];
15630                        t.each(function (t, e) {
15631                            n.push(i._parseOption(x(e), t));
15632                        }),
15633                            (this.items = n);
15634                    },
15635                    _parseOption: function (t, e) {
15636                        var i = t.parent("optgroup");
15637                        return { element: t, index: e, value: t.val(), label: t.text(), optgroup: i.attr("label") || "", disabled: i.prop("disabled") || t.prop("disabled") };
15638                    },
15639                    _destroy: function () {
15640                        this._unbindFormResetHandler(), this.menuWrap.remove(), this.button.remove(), this.element.show(), this.element.removeUniqueId(), this.labels.attr("for", this.ids.element);
15641                    },
15642                },
15643            ]),
15644            x.widget("ui.slider", x.ui.mouse, {
15645                version: "1.12.1",
15646                widgetEventPrefix: "slide",
15647                options: {
15648                    animate: !1,
15649                    classes: { "ui-slider": "ui-corner-all", "ui-slider-handle": "ui-corner-all", "ui-slider-range": "ui-corner-all ui-widget-header" },
15650                    distance: 0,
15651                    max: 100,
15652                    min: 0,
15653                    orientation: "horizontal",
15654                    range: !1,
15655                    step: 1,
15656                    value: 0,
15657                    values: null,
15658                    change: null,
15659                    slide: null,
15660                    start: null,
15661                    stop: null,
15662                },
15663                numPages: 5,
15664                _create: function () {
15665                    (this._keySliding = !1),
15666                        (this._mouseSliding = !1),
15667                        (this._animateOff = !0),
15668                        (this._handleIndex = null),
15669                        this._detectOrientation(),
15670                        this._mouseInit(),
15671                        this._calculateNewMax(),
15672                        this._addClass("ui-slider ui-slider-" + this.orientation, "ui-widget ui-widget-content"),
15673                        this._refresh(),
15674                        (this._animateOff = !1);
15675                },
15676                _refresh: function () {
15677                    this._createRange(), this._createHandles(), this._setupEvents(), this._refreshValue();
15678                },
15679                _createHandles: function () {
15680                    var t,
15681                        e,
15682                        i = this.options,
15683                        n = this.element.find(".ui-slider-handle"),
15684                        s = [];
15685                    for (e = (i.values && i.values.length) || 1, n.length > e && (n.slice(e).remove(), (n = n.slice(0, e))), t = n.length; t < e; t++) s.push("<span tabindex='0'></span>");
15686                    (this.handles = n.add(x(s.join("")).appendTo(this.element))),
15687                        this._addClass(this.handles, "ui-slider-handle", "ui-state-default"),
15688                        (this.handle = this.handles.eq(0)),
15689                        this.handles.each(function (t) {
15690                            x(this).data("ui-slider-handle-index", t).attr("tabIndex", 0);
15691                        });
15692                },
15693                _createRange: function () {
15694                    var t = this.options;
15695                    t.range
15696                        ? (!0 === t.range &&
15697                              (t.values ? (t.values.length && 2 !== t.values.length ? (t.values = [t.values[0], t.values[0]]) : x.isArray(t.values) && (t.values = t.values.slice(0))) : (t.values = [this._valueMin(), this._valueMin()])),
15698                          this.range && this.range.length
15699                              ? (this._removeClass(this.range, "ui-slider-range-min ui-slider-range-max"), this.range.css({ left: "", bottom: "" }))
15700                              : ((this.range = x("<div>").appendTo(this.element)), this._addClass(this.range, "ui-slider-range")),
15701                          ("min" !== t.range && "max" !== t.range) || this._addClass(this.range, "ui-slider-range-" + t.range))
15702                        : (this.range && this.range.remove(), (this.range = null));
15703                },
15704                _setupEvents: function () {
15705                    this._off(this.handles), this._on(this.handles, this._handleEvents), this._hoverable(this.handles), this._focusable(this.handles);
15706                },
15707                _destroy: function () {
15708                    this.handles.remove(), this.range && this.range.remove(), this._mouseDestroy();
15709                },
15710                _mouseCapture: function (t) {
15711                    var e,
15712                        i,
15713                        n,
15714                        s,
15715                        o,
15716                        r,
15717                        a,
15718                        l = this,
15719                        c = this.options;
15720                    return (
15721                        !c.disabled &&
15722                        ((this.elementSize = { width: this.element.outerWidth(), height: this.element.outerHeight() }),
15723                        (this.elementOffset = this.element.offset()),
15724                        (e = { x: t.pageX, y: t.pageY }),
15725                        (i = this._normValueFromMouse(e)),
15726                        (n = this._valueMax() - this._valueMin() + 1),
15727                        this.handles.each(function (t) {
15728                            var e = Math.abs(i - l.values(t));
15729                            (e < n || (n === e && (t === l._lastChangedValue || l.values(t) === c.min))) && ((n = e), (s = x(this)), (o = t));
15730                        }),
15731                        !1 !== this._start(t, o) &&
15732                            ((this._mouseSliding = !0),
15733                            (this._handleIndex = o),
15734                            this._addClass(s, null, "ui-state-active"),
15735                            s.trigger("focus"),
15736                            (r = s.offset()),
15737                            (a = !x(t.target).parents().addBack().is(".ui-slider-handle")),
15738                            (this._clickOffset = a
15739                                ? { left: 0, top: 0 }
15740                                : {
15741                                      left: t.pageX - r.left - s.width() / 2,
15742                                      top: t.pageY - r.top - s.height() / 2 - (parseInt(s.css("borderTopWidth"), 10) || 0) - (parseInt(s.css("borderBottomWidth"), 10) || 0) + (parseInt(s.css("marginTop"), 10) || 0),
15743                                  }),
15744                            this.handles.hasClass("ui-state-hover") || this._slide(t, o, i),
15745                            (this._animateOff = !0)))
15746                    );
15747                },
15748                _mouseStart: function () {
15749                    return !0;
15750                },
15751                _mouseDrag: function (t) {
15752                    var e = { x: t.pageX, y: t.pageY },
15753                        i = this._normValueFromMouse(e);
15754                    return this._slide(t, this._handleIndex, i), !1;
15755                },
15756                _mouseStop: function (t) {
15757                    return (
15758                        this._removeClass(this.handles, null, "ui-state-active"),
15759                        (this._mouseSliding = !1),
15760                        this._stop(t, this._handleIndex),
15761                        this._change(t, this._handleIndex),
15762                        (this._handleIndex = null),
15763                        (this._clickOffset = null),
15764                        (this._animateOff = !1)
15765                    );
15766                },
15767                _detectOrientation: function () {
15768                    this.orientation = "vertical" === this.options.orientation ? "vertical" : "horizontal";
15769                },
15770                _normValueFromMouse: function (t) {
15771                    var e, i, n, s;
15772                    return (
15773                        1 <
15774                            (i =
15775                                ("horizontal" === this.orientation
15776                                    ? ((e = this.elementSize.width), t.x - this.elementOffset.left - (this._clickOffset ? this._clickOffset.left : 0))
15777                                    : ((e = this.elementSize.height), t.y - this.elementOffset.top - (this._clickOffset ? this._clickOffset.top : 0))) / e) && (i = 1),
15778                        i < 0 && (i = 0),
15779                        "vertical" === this.orientation && (i = 1 - i),
15780                        (n = this._valueMax() - this._valueMin()),
15781                        (s = this._valueMin() + i * n),
15782                        this._trimAlignValue(s)
15783                    );
15784                },
15785                _uiHash: function (t, e, i) {
15786                    var n = { handle: this.handles[t], handleIndex: t, value: void 0 !== e ? e : this.value() };
15787                    return this._hasMultipleValues() && ((n.value = void 0 !== e ? e : this.values(t)), (n.values = i || this.values())), n;
15788                },
15789                _hasMultipleValues: function () {
15790                    return this.options.values && this.options.values.length;
15791                },
15792                _start: function (t, e) {
15793                    return this._trigger("start", t, this._uiHash(e));
15794                },
15795                _slide: function (t, e, i) {
15796                    var n,
15797                        s = this.value(),
15798                        o = this.values();
15799                    this._hasMultipleValues() && ((n = this.values(e ? 0 : 1)), (s = this.values(e)), 2 === this.options.values.length && !0 === this.options.range && (i = 0 === e ? Math.min(n, i) : Math.max(n, i)), (o[e] = i)),
15800                        i === s || (!1 !== this._trigger("slide", t, this._uiHash(e, i, o)) && (this._hasMultipleValues() ? this.values(e, i) : this.value(i)));
15801                },
15802                _stop: function (t, e) {
15803                    this._trigger("stop", t, this._uiHash(e));
15804                },
15805                _change: function (t, e) {
15806                    this._keySliding || this._mouseSliding || ((this._lastChangedValue = e), this._trigger("change", t, this._uiHash(e)));
15807                },
15808                value: function (t) {
15809                    return arguments.length ? ((this.options.value = this._trimAlignValue(t)), this._refreshValue(), void this._change(null, 0)) : this._value(
15809);
15810                },
15811                values: function (t, e) {
15812                    var i, n, s;
15813                    if (1 < arguments.length) return (this.options.values[t] = this._trimAlignValue(e)), this._refreshValue(), void this._change(null, t);
15814                    if (!arguments.length) return this._values();
15815                    if (!x.isArray(t)) return this._hasMultipleValues() ? this._values(t) : this.value();
15816                    for (i = this.options.values, n = t, s = 0; i.length > s; s += 1) (i[s] = this._trimAlignValue(n[s])), this._change(null, s);
15817                    this._refreshValue();
15818                },
15819                _setOption: function (t, e) {
15820                    var i,
15821                        n = 0;
15822                    switch (
15823                        ("range" === t &&
15824                            !0 === this.options.range &&
15825                            ("min" === e ? ((this.options.value = this._values(0)), (this.options.values = null)) : "max" === e && ((this.options.value = this._values(this.options.values.length - 1)), (this.options.values = null))),
15826                        x.isArray(this.options.values) && (n = this.options.values.length),
15827                        this._super(t, e),
15828                        t)
15829                    ) {
15830                        case "orientation":
15831                            this._detectOrientation(),
15832                                this._removeClass("ui-slider-horizontal ui-slider-vertical")._addClass("ui-slider-" + this.orientation),
15833                                this._refreshValue(),
15834                                this.options.range && this._refreshRange(e),
15835                                this.handles.css("horizontal" === e ? "bottom" : "left", "");
15836                            break;
15837                        case "value":
15838                            (this._animateOff = !0), this._refreshValue(), this._change(null, 0), (this._animateOff = !1);
15839                            break;
15840                        case "values":
15841                            for (this._animateOff = !0, this._refreshValue(), i = n - 1; 0 <= i; i--) this._change(null, i);
15842                            this._animateOff = !1;
15843                            break;
15844                        case "step":
15845                        case "min":
15846                        case "max":
15847                            (this._animateOff = !0), this._calculateNewMax(), this._refreshValue(), (this._animateOff = !1);
15848                            break;
15849                        case "range":
15850                            (this._animateOff = !0), this._refresh(), (this._animateOff = !1);
15851                    }
15852                },
15853                _setOptionDisabled: function (t) {
15854                    this._super(t), this._toggleClass(null, "ui-state-disabled", !!t);
15855                },
15856                _value: function () {
15857                    var t = this.options.value;
15858                    return this._trimAlignValue(t);
15859                },
15860                _values: function (t) {
15861                    var e, i, n;
15862                    if (arguments.length) return (e = this.options.values[t]), this._trimAlignValue(e);
15863                    if (this._hasMultipleValues()) {
15864                        for (i = this.options.values.slice(), n = 0; i.length > n; n += 1) i[n] = this._trimAlignValue(i[n]);
15865                        return i;
15866                    }
15867                    return [];
15868                },
15869                _trimAlignValue: function (t) {
15870                    if (this._valueMin() >= t) return this._valueMin();
15871                    if (t >= this._valueMax()) return this._valueMax();
15872                    var e = 0 < this.options.step ? this.options.step : 1,
15873                        i = (t - this._valueMin()) % e,
15874                        n = t - i;
15875                    return 2 * Math.abs(i) >= e && (n += 0 < i ? e : -e), parseFloat(n.toFixed(5));
15876                },
15877                _calculateNewMax: function () {
15878                    var t = this.options.max,
15879                        e = this._valueMin(),
15880                        i = this.options.step;
15881                    (t = Math.round((t - e) / i) * i + e) > this.options.max && (t -= i), (this.max = parseFloat(t.toFixed(this._precision())));
15882                },
15883                _precision: function () {
15884                    var t = this._precisionOf(this.options.step);
15885                    return null !== this.options.min && (t = Math.max(t, this._precisionOf(this.options.min))), t;
15886                },
15887                _precisionOf: function (t) {
15888                    var e = "" + t,
15889                        i = e.indexOf(".");
15890                    return -1 === i ? 0 : e.length - i - 1;
15891                },
15892                _valueMin: function () {
15893                    return this.options.min;
15894                },
15895                _valueMax: function () {
15896                    return this.max;
15897                },
15898                _refreshRange: function (t) {
15899                    "vertical" === t && this.range.css({ width: "", left: "" }), "horizontal" === t && this.range.css({ height: "", bottom: "" });
15900                },
15901                _refreshValue: function () {
15902                    var e,
15903                        i,
15904                        t,
15905                        n,
15906                        s,
15907                        o = this.options.range,
15908                        r = this.options,
15909                        a = this,
15910                        l = !this._animateOff && r.animate,
15911                        c = {};
15912                    this._hasMultipleValues()
15913                        ? this.handles.each(function (t) {
15914                              (i = ((a.values(t) - a._valueMin()) / (a._valueMax() - a._valueMin())) * 100),
15915                                  (c["horizontal" === a.orientation ? "left" : "bottom"] = i + "%"),
15916                                  x(this).stop(1, 1)[l ? "animate" : "css"](c, r.animate),
15917                                  !0 === a.options.range &&
15918                                      ("horizontal" === a.orientation
15919                                          ? (0 === t && a.range.stop(1, 1)[l ? "animate" : "css"]({ left: i + "%" }, r.animate), 1 === t && a.range[l ? "animate" : "css"]({ width: i - e + "%" }, { queue: !1, duration: r.animate }))
15920                                          : (0 === t && a.range.stop(1, 1)[l ? "animate" : "css"]({ bottom: i + "%" }, r.animate), 1 === t && a.range[l ? "animate" : "css"]({ height: i - e + "%" }, { queue: !1, duration: r.animate }))),
15921                                  (e = i);
15922                          })
15923                        : ((t = this.value()),
15924                          (n = this._valueMin()),
15925                          (s = this._valueMax()),
15926                          (i = s !== n ? ((t - n) / (s - n)) * 100 : 0),
15927                          (c["horizontal" === this.orientation ? "left" : "bottom"] = i + "%"),
15928                          this.handle.stop(1, 1)[l ? "animate" : "css"](c, r.animate),
15929                          "min" === o && "horizontal" === this.orientation && this.range.stop(1, 1)[l ? "animate" : "css"]({ width: i + "%" }, r.animate),
15930                          "max" === o && "horizontal" === this.orientation && this.range.stop(1, 1)[l ? "animate" : "css"]({ width: 100 - i + "%" }, r.animate),
15931                          "min" === o && "vertical" === this.orientation && this.range.stop(1, 1)[l ? "animate" : "css"]({ height: i + "%" }, r.animate),
15932                          "max" === o && "vertical" === this.orientation && this.range.stop(1, 1)[l ? "animate" : "css"]({ height: 100 - i + "%" }, r.animate));
15933                },
15934                _handleEvents: {
15935                    keydown: function (t) {
15936                        var e,
15937                            i,
15938                            n,
15939                            s = x(t.target).data("ui-slider-handle-index");
15940                        switch (t.keyCode) {
15941                            case x.ui.keyCode.HOME:
15942                            case x.ui.keyCode.END:
15943                            case x.ui.keyCode.PAGE_UP:
15944                            case x.ui.keyCode.PAGE_DOWN:
15945                            case x.ui.keyCode.UP:
15946                            case x.ui.keyCode.RIGHT:
15947                            case x.ui.keyCode.DOWN:
15948                            case x.ui.keyCode.LEFT:
15949                                if ((t.preventDefault(), !this._keySliding && ((this._keySliding = !0), this._addClass(x(t.target), null, "ui-state-active"), !1 === this._start(t, s)))) return;
15950                        }
15951                        switch (((n = this.options.step), (e = i = this._hasMultipleValues() ? this.values(s) : this.value()), t.keyCode)) {
15952                            case x.ui.keyCode.HOME:
15953                                i = this._valueMin();
15954                                break;
15955                            case x.ui.keyCode.END:
15956                                i = this._valueMax();
15957                                break;
15958                            case x.ui.keyCode.PAGE_UP:
15959                                i = this._trimAlignValue(e + (this._valueMax() - this._valueMin()) / this.numPages);
15960                                break;
15961                            case x.ui.keyCode.PAGE_DOWN:
15962                                i = this._trimAlignValue(e - (this._valueMax() - this._valueMin()) / this.numPages);
15963                                break;
15964                            case x.ui.keyCode.UP:
15965                            case x.ui.keyCode.RIGHT:
15966                                if (e === this._valueMax()) return;
15967                                i = this._trimAlignValue(e + n);
15968                                break;
15969                            case x.ui.keyCode.DOWN:
15970                            case x.ui.keyCode.LEFT:
15971                                if (e === this._valueMin()) return;
15972                                i = this._trimAlignValue(e - n);
15973                        }
15974                        this._slide(t, s, i);
15975                    },
15976                    keyup: function (t) {
15977                        var e = x(t.target).data("ui-slider-handle-index");
15978                        this._keySliding && ((this._keySliding = !1), this._stop(t, e), this._change(t, e), this._removeClass(x(t.target), null, "ui-state-active"));
15979                    },
15980                },
15981            }),
15982            x.widget("ui.sortable", x.ui.mouse, {
15983                version: "1.12.1",
15984                widgetEventPrefix: "sort",
15985                ready: !1,
15986                options: {
15987                    appendTo: "parent",
15988                    axis: !1,
15989                    connectWith: !1,
15990                    containment: !1,
15991                    cursor: "auto",
15992                    cursorAt: !1,
15993                    dropOnEmpty: !0,
15994                    forcePlaceholderSize: !1,
15995                    forceHelperSize: !1,
15996                    grid: !1,
15997                    handle: !1,
15998                    helper: "original",
15999                    items: "> *",
16000                    opacity: !1,
16001                    placeholder: !1,
16002                    revert: !1,
16003                    scroll: !0,
16004                    scrollSensitivity: 20,
16005                    scrollSpeed: 20,
16006                    scope: "default",
16007                    tolerance: "intersect",
16008                    zIndex: 1e3,
16009                    activate: null,
16010                    beforeStop: null,
16011                    change: null,
16012                    deactivate: null,
16013                    out: null,
16014                    over: null,
16015                    receive: null,
16016                    remove: null,
16017                    sort: null,
16018                    start: null,
16019                    stop: null,
16020                    update: null,
16021                },
16022                _isOverAxis: function (t, e, i) {
16023                    return e <= t && t < e + i;
16024                },
16025                _isFloating: function (t) {
16026                    return /left|right/.test(t.css("float")) || /inline|table-cell/.test(t.css("display"));
16027                },
16028                _create: function () {
16029                    (this.containerCache = {}), this._addClass("ui-sortable"), this.refresh(), (this.offset = this.element.offset()), this._mouseInit(), this._setHandleClassName(), (this.ready = !0);
16030                },
16031                _setOption: function (t, e) {
16032                    this._super(t, e), "handle" === t && this._setHandleClassName();
16033                },
16034                _setHandleClassName: function () {
16035                    var t = this;
16036                    this._removeClass(this.element.find(".ui-sortable-handle"), "ui-sortable-handle"),
16037                        x.each(this.items, function () {
16038                            t._addClass(this.instance.options.handle ? this.item.find(this.instance.options.handle) : this.item, "ui-sortable-handle");
16039                        });
16040                },
16041                _destroy: function () {
16042                    this._mouseDestroy();
16043                    for (var t = this.items.length - 1; 0 <= t; t--) this.items[t].item.removeData(this.widgetName + "-item");
16044                    return this;
16045                },
16046                _mouseCapture: function (t, e) {
16047                    var i = null,
16048                        n = !1,
16049                        s = this;
16050                    return (
16051                        !this.reverting &&
16052                        !this.options.disabled &&
16053                        "static" !== this.options.type &&
16054                        (this._refreshItems(t),
16055                        x(t.target)
16056                            .parents()
16057                            .each(function () {
16058                                return x.data(this, s.widgetName + "-item") === s ? ((i 
16058= x(this)), !1) : void 0;
16059                            }),
16060                        x.data(t.target, s.widgetName + "-item") === s && (i = x(t.target)),
16061                        !!i &&
16062                            !(
16063                                this.options.handle &&
16064                                !e &&
16065                                (x(this.options.handle, i)
16066                                    .find("*")
16067                                    .addBack()
16068                                    .each(function () {
16069                                        this === t.target && (n = !0);
16070                                    }),
16071                                !n)
16072                            ) &&
16073                            ((this.currentItem = i), this._removeCurrentsFromItems(), !0))
16074                    );
16075                },
16076                _mouseStart: function (t, e, i) {
16077                    var n,
16078                        s,
16079                        o = this.options;
16080                    if (
16081                        ((this.currentContainer = this).refreshPositions(),
16082                        (this.helper = this._createHelper(t)),
16083                        this._cacheHelperProportions(),
16084                        this._cacheMargins(),
16085                        (this.scrollParent = this.helper.scrollParent()),
16086                        (this.offset = this.currentItem.offset()),
16087                        (this.offset = { top: this.offset.top - this.margins.top, left: this.offset.left - this.margins.left }),
16088                        x.extend(this.offset, { click: { left: t.pageX - this.offset.left, top: t.pageY - this.offset.top }, parent: this._getParentOffset(), relative: this._getRelativeOffset() }),
16089                        this.helper.css("position", "absolute"),
16090                        (this.cssPosition = this.helper.css("position")),
16091                        (this.originalPosition = this._generatePosition(t)),
16092                        (this.originalPageX = t.pageX),
16093                        (this.originalPageY = t.pageY),
16094                        o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt),
16095                        (this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }),
16096                        this.helper[0] !== this.currentItem[0] && this.currentItem.hide(),
16097                        this._createPlaceholder(),
16098                        o.containment && this._setContainment(),
16099                        o.cursor &&
16100                            "auto" !== o.cursor &&
16101                            ((s = this.document.find("body")), (this.storedCursor = s.css("cursor")), s.css("cursor", o.cursor), (this.storedStylesheet = x("<style>*{ cursor: " + o.cursor + " !important; }</style>").appendTo(s))),
16102                        o.opacity && (this.helper.css("opacity") && (this._storedOpacity = this.helper.css("opacity")), this.helper.css("opacity", o.opacity)),
16103                        o.zIndex && (this.helper.css("zIndex") && (this._storedZIndex = this.helper.css("zIndex")), this.helper.css("zIndex", o.zIndex)),
16104                        this.scrollParent[0] !== this.document[0] && "HTML" !== this.scrollParent[0].tagName && (this.overflowOffset = this.scrollParent.offset()),
16105                        this._trigger("start", t, this._uiHash()),
16106                        this._preserveHelperProportions || this._cacheHelperProportions(),
16107                        !i)
16108                    )
16109                        for (n = this.containers.length - 1; 0 <= n; n--) this.containers[n]._trigger("activate", t, this._uiHash(this));
16110                    return (
16111                        x.ui.ddmanager && (x.ui.ddmanager.current = this),
16112                        x.ui.ddmanager && !o.dropBehaviour && x.ui.ddmanager.prepareOffsets(this, t),
16113                        (this.dragging = !0),
16114                        this._addClass(this.helper, "ui-sortable-helper"),
16115                        this._mouseDrag(t),
16116                        !0
16117                    );
16118                },
16119                _mouseDrag: function (t) {
16120                    var e,
16121                        i,
16122                        n,
16123                        s,
16124                        o = this.options,
16125                        r = !1;
16126                    for (
16127                        this.position = this._generatePosition(t),
16128                            this.positionAbs = this._convertPositionTo("absolute"),
16129                            this.lastPositionAbs || (this.lastPositionAbs = this.positionAbs),
16130                            this.options.scroll &&
16131                                (this.scrollParent[0] !== this.document[0] && "HTML" !== this.scrollParent[0].tagName
16132                                    ? (this.overflowOffset.top + this.scrollParent[0].offsetHeight - t.pageY < o.scrollSensitivity
16133                                          ? (this.scrollParent[0].scrollTop = r = this.scrollParent[0].scrollTop + o.scrollSpeed)
16134                                          : t.pageY - this.overflowOffset.top < o.scrollSensitivity && (this.scrollParent[0].scrollTop = r = this.scrollParent[0].scrollTop - o.scrollSpeed),
16135                                      this.overflowOffset.left + this.scrollParent[0].offsetWidth - t.pageX < o.scrollSensitivity
16136                                          ? (this.scrollParent[0].scrollLeft = r = this.scrollParent[0].scrollLeft + o.scrollSpeed)
16137                                          : t.pageX - this.overflowOffset.left < o.scrollSensitivity && (this.scrollParent[0].scrollLeft = r = this.scrollParent[0].scrollLeft - o.scrollSpeed))
16138                                    : (t.pageY - this.document.scrollTop() < o.scrollSensitivity
16139                                          ? (r = this.document.scrollTop(this.document.scrollTop() - o.scrollSpeed))
16140                                          : this.window.height() - (t.pageY - this.document.scrollTop()) < o.scrollSensitivity && (r = this.document.scrollTop(this.document.scrollTop() + o.scrollSpeed)),
16141                                      t.pageX - this.document.scrollLeft() < o.scrollSensitivity
16142                                          ? (r = this.document.scrollLeft(this.document.scrollLeft() - o.scrollSpeed))
16143                                          : this.window.width() - (t.pageX - this.document.scrollLeft()) < o.scrollSensitivity && (r = this.document.scrollLeft(this.document.scrollLeft() + o.scrollSpeed))),
16144                                !1 !== r && x.ui.ddmanager && !o.dropBehaviour && x.ui.ddmanager.prepareOffsets(this, t)),
16145                            this.positionAbs = this._convertPositionTo("absolute"),
16146                            (this.options.axis && "y" === this.options.axis) || (this.helper[0].style.left = this.position.left + "px"),
16147                            (this.options.axis && "x" === this.options.axis) || (this.helper[0].style.top = this.position.top + "px"),
16148                            e = this.items.length - 1;
16149                        0 <= e;
16150                        e--
16151                    )
16152                        if (
16153                            ((n = (i = this.items[e]).item[0]),
16154                            (s = this._intersectsWithPointer(i)) &&
16155                                i.instance === this.currentContainer &&
16156                                n !== this.currentItem[0] &&
16157                                this.placeholder[1 === s ? "next" : "prev"]()[0] !== n &&
16158                                !x.contains(this.placeholder[0], n) &&
16159                                ("semi-dynamic" !== this.options.type || !x.contains(this.element[0], n)))
16160                        ) {
16161                            if (((this.direction = 1 === s ? "down" : "up"), "pointer" !== this.options.tolerance && !this._intersectsWithSides(i))) break;
16162                            this._rearrange(t, i), this._trigger("change", t, this._uiHash());
16163                            break;
16164                        }
16165                    return this._contactContainers(t), x.ui.ddmanager && x.ui.ddmanager.drag(this, t), this._trigger("sort", t, this._uiHash()), (this.lastPositionAbs = this.positionAbs), !1;
16166                },
16167                _mouseStop: function (t, e) {
16168                    if (t) {
16169                        if ((x.ui.ddmanager && !this.options.dropBehaviour && x.ui.ddmanager.drop(this, t), this.options.revert)) {
16170                            var i = this,
16171                                n = this.placeholder.offset(),
16172                                s = this.options.axis,
16173                                o = {};
16174                            (s && "x" !== s) || (o.left = n.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollLeft)),
16175                                (s && "y" !== s) || (o.top = n.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollTop)),
16176                                (this.reverting = !0),
16177                                x(this.helper).animate(o, parseInt(this.options.revert, 10) || 500, function () {
16178                                    i._clear(t);
16179                                });
16180                        } else this._clear(t, e);
16181                        return !1;
16182                    }
16183                },
16184                cancel: function () {
16185                    if (this.dragging) {
16186                        this._mouseUp(new x.Event("mouseup", { target: null })),
16187                            "original" === this.options.helper ? (this.currentItem.css(this._storedCSS), this._removeClass(this.currentItem, "ui-sortable-helper")) : this.currentItem.show();
16188                        for (var t = this.containers.length - 1; 0 <= t; t--)
16189                            this.containers[t]._trigger("deactivate", null, this._uiHash(this)),
16190                                this.containers[t].containerCache.over && (this.containers[t]._trigger("out", null, this._uiHash(this)), (this.containers[t].containerCache.over = 0));
16191                    }
16192                    return (
16193                        this.placeholder &&
16194                            (this.placeholder[0].parentNode && this.placeholder[0].parentNode.removeChild(this.placeholder[0]),
16195                            "original" !== this.options.helper && this.helper && this.helper[0].parentNode && this.helper.remove(),
16196                            x.extend(this, { helper: null, dragging: !1, reverting: !1, _noFinalSort: null }),
16197                            this.domPosition.prev ? x(this.domPosition.prev).after(this.currentItem) : x(this.domPosition.parent).prepend(this.currentItem)),
16198                        this
16199                    );
16200                },
16201                serialize: function (e) {
16202                    var t = this._getItemsAsjQuery(e && e.connected),
16203                        i = [];
16204                    return (
16205                        (e = e || {}),
16206                        x(t).each(function () {
16207                            var t = (x(e.item || this).attr(e.attribute || "id") || "").match(e.expression || /(.+)[\-=_](.+)/);
16208                            t && i.push((e.key || t[1] + "[]") + "=" + (e.key && e.expression ? t[1] : t[2]));
16209                        }),
16210                        !i.length && e.key && i.push(e.key + "="),
16211                        i.join("&")
16212                    );
16213                },
16214                toArray: function (t) {
16215                    var e = this._getItemsAsjQuery(t && t.connected),
16216                        i = [];
16217                    return (
16218                        (t = t || {}),
16219                        e.each(function () {
16220                            i.push(x(t.item || this).attr(t.attribute || "id") || "");
16221                        }),
16222                        i
16223                    );
16224                },
16225                _intersectsWith: function (t) {
16226                    var e = this.positionAbs.left,
16227                        i = e + this.helperProportions.width,
16228                        n = this.positionAbs.top,
16229                        s = n + this.helperProportions.height,
16230                        o = t.left,
16231                        r = o + t.width,
16232                        a = t.top,
16233                        l = a + t.height,
16234                        c = this.offset.click.top,
16235                        u = this.offset.click.left,
16236                        h = "x" === this.options.axis || (a < n + c && n + c < l),
16237                        d = "y" === this.options.axis || (o < e + u && e + u < r),
16238                        p = h && d;
16239                    return "pointer" === this.options.tolerance ||
16240                        this.options.forcePointerForContainers ||
16241                        ("pointer" !== this.options.tolerance && this.helperProportions[this.floating ? "width" : "height"] > t[this.floating ? "width" : "height"])
16242                        ? p
16243                        : e + this.helperProportions.width / 2 > o && r > i - this.helperProportions.width / 2 && n + this.helperProportions.height / 2 > a && l > s - this.helperProportions.height / 2;
16244                },
16245                _intersectsWithPointer: function (t) {
16246                    var e,
16247                        i,
16248                        n = "x" === this.options.axis || this._isOverAxis(this.positionAbs.top + this.offset.click.top, t.top, t.height),
16249                        s = "y" === this.options.axis || this._isOverAxis(this.positionAbs.left + this.offset.click.left, t.left, t.width);
16250                    return !!(n && s) && ((e = this._getDragVerticalDirection()), (i = this._getDragHorizontalDirection()), this.floating ? ("right" === i || "down" === e ? 2 : 1) : e && ("down" === e ? 2 : 1));
16251                },
16252                _intersectsWithSides: function (t) {
16253                    var e = this._isOverAxis(this.positionAbs.top + this.offset.click.top, t.top + t.height / 2, t.height),
16254                        i = this._isOverAxis(this.positionAbs.left + this.offset.click.left, t.left + t.width / 2, t.width),
16255                        n = this._getDragVerticalDirection(),
16256                        s = this._getDragHorizontalDirection();
16257                    return this.floating && s ? ("right" === s && i) || ("left" === s && !i) : n && (("down" === n && e) || ("up" === n && !e));
16258                },
16259                _getDragVerticalDirection: function () {
16260                    var t = this.positionAbs.top - this.lastPositionAbs.top;
16261                    return 0 != t && (0 < t ? "down" : "up");
16262                },
16263                _getDragHorizontalDirection: function () {
16264                    var t = this.positionAbs.left - this.lastPositionAbs.left;
16265                    return 0 != t && (0 < t ? "right" : "left");
16266                },
16267                refresh: function (t) {
16268                    return this._refreshItems(t), this._setHandleClassName(), this.refreshPositions(), this;
16269                },
16270                _connectWith: function () {
16271                    var t = this.options;
16272                    return t.connectWith.constructor === String ? [t.connectWith] : t.connectWith;
16273                },
16274                _getItemsAsjQuery: function (t) {
16275                    function e() {
16276                        r.push(this);
16277                    }
16278                    var i,
16279                        n,
16280                        s,
16281                        o,
16282                        r = [],
16283                        a = [],
16284                        l = this._connectWith();
16285                    if (l && t)
16286                        for (i = l.length - 1; 0 <= i; i--)
16287                            for (n = (s = x(l[i], this.document[0])).length - 1; 0 <= n; n--)
16288                                (o = x.data(s[n], this.widgetFullName)) &&
16289                                    o !== this &&
16290                                    !o.options.disabled &&
16291                                    a.push([x.isFunction(o.options.items) ? o.options.items.call(o.element) : x(o.options.items, o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), o]);
16292                    for (
16293                        a.push([
16294                            x.isFunction(this.options.items)
16295                                ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem })
16296                                : x(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),
16297                            this,
16298                        ]),
16299                            i = a.length - 1;
16300                        0 <= i;
16301                        i--
16302                    )
16303                        a[i][0].each(e);
16304                    return x(r);
16305                },
16306                _removeCurrentsFromItems: function () {
16307                    var i = this.currentItem.find(":data(" + this.widgetName + "-item)");
16308                    this.items = x.grep(this.items, function (t) {
16309                        for (var e = 0; i.length > e; e++) if (i[e] === t.item[0]) return !1;
16310                        return !0;
16311                    });
16312                },
16313                _refreshItems: function (t) {
16314                    (this.items = []), (this.containers = [this]);
16315                    var e,
16316                        i,
16317                        n,
16318                        s,
16319                        o,
16320                        r,
16321                        a,
16322                        l,
16323                        c = this.items,
16324                        u = [[x.isFunction(this.options.items) ? this.options.items.call(this.element[0], t, { item: this.currentItem }) : x(this.options.items, this.element), this]],
16325                        h = this._connectWith();
16326                    if (h && this.ready)
16327                        for (e = h.length - 1; 0 <= e; e--)
16328                            for (i = (n = x(h[e], this.document[0])).length - 1; 0 <= i; i--)
16329                                (s = x.data(n[i], this.widgetFullName)) &&
16330                                    s !== this &&
16331                                    !s.options.disabled &&
16332                                    (u.push([x.isFunction(s.options.items) ? s.options.items.call(s.element[0], t, { item: this.currentItem }) : x(s.options.items, s.element), s]), this.containers.push(s));
16333                    for (e = u.length - 1; 0 <= e; e--) for (o = u[e][1], i = 0, l = (r = u[e][0]).length; i < l; i++) (a = x(r[i])).data(this.widgetName + "-item", o), c.push({ item: a, instance: o, width: 0, height: 0, left: 0, top: 0 });
16334                },
16335                refreshPositions: function (t) {
16336                    var e, i, n, s;
16337                    for (
16338                        this.floating = !!this.items.length && ("x" === this.options.axis || this._isFloating(this.items[0].item)),
16339                            this.offsetParent && this.helper && (this.offset.parent = this._getParentOffset()),
16340                            e = this.items.length - 1;
16341                        0 <= e;
16342                        e--
16343                    )
16344                        ((i = this.items[e]).instance !== this.currentContainer && this.currentContainer && i.item[0] !== this.currentItem[0]) ||
16345                            ((n = this.options.toleranceElement ? x(this.options.toleranceElement, i.item) : i.item), t || ((i.width = n.outerWidth()), (i.height = n.outerHeight())), (s = n.offset()), (i.left = s.left), (i.top = s.top));
16346                    if (this.options.custom && this.options.custom.refreshContainers
16346) this.options.custom.refreshContainers.call(this);
16347                    else
16348                        for (e = this.containers.length - 1; 0 <= e; e--)
16349                            (s = this.containers[e].element.offset()),
16350                                (this.containers[e].containerCache.left = s.left),
16351                                (this.containers[e].containerCache.top = s.top),
16352                                (this.containers[e].containerCache.width = this.containers[e].element.outerWidth()),
16353                                (this.containers[e].containerCache.height = this.containers[e].element.outerHeight());
16354                    return this;
16355                },
16356                _createPlaceholder: function (i) {
16357                    var n,
16358                        s = (i = i || this).options;
16359                    (s.placeholder && s.placeholder.constructor !== String) ||
16360                        ((n = s.placeholder),
16361                        (s.placeholder = {
16362                            element: function () {
16363                                var t = i.currentItem[0].nodeName.toLowerCase(),
16364                                    e = x("<" + t + ">", i.document[0]);
16365                                return (
16366                                    i._addClass(e, "ui-sortable-placeholder", n || i.currentItem[0].className)._removeClass(e, "ui-sortable-helper"),
16367                                    "tbody" === t
16368                                        ? i._createTrPlaceholder(i.currentItem.find("tr").eq(0), x("<tr>", i.document[0]).appendTo(e))
16369                                        : "tr" === t
16370                                        ? i._createTrPlaceholder(i.currentItem, e)
16371                                        : "img" === t && e.attr("src", i.currentItem.attr("src")),
16372                                    n || e.css("visibility", "hidden"),
16373                                    e
16374                                );
16375                            },
16376                            update: function (t, e) {
16377                                (n && !s.forcePlaceholderSize) ||
16378                                    (e.height() || e.height(i.currentItem.innerHe
16378ight() - parseInt(i.currentItem.css("paddingTop") || 0, 10) - parseInt(i.currentItem.css("paddingBottom") || 0, 10)),
16379                                    e.width() || e.width(i.currentItem.innerWidth() - parseInt(i.currentItem.css("paddingLeft") || 0, 10) - parseInt(i.currentItem.css("paddingRight") || 0, 10)));
16380                            },
16381                        })),
16382                        (i.placeholder = x(s.placeholder.element.call(i.element, i.currentItem))),
16383                        i.currentItem.after(i.placeholder),
16384                        s.placeholder.update(i, i.placeholder);
16385                },
16386                _createTrPlaceholder: function (t, e) {
16387                    var i = this;
16388                    t.children().each(function () {
16389                        x("<td>&#160;</td>", i.document[0])
16390                            .attr("colspan", x(this).attr("colspan") || 1)
16391                            .appendTo(e);
16392                    });
16393                },
16394                _contactContainers: function (t) {
16395                    var e,
16396                        i,
16397                        n,
16398                        s,
16399                        o,
16400                        r,
16401                        a,
16402                        l,
16403                        c,
16404                        u,
16405                        h = null,
16406                        d = null;
16407                    for (e = this.containers.length - 1; 0 <= e; e--)
16408                        if (!x.contains(this.currentItem[0], this.containers[e].element[0]))
16409                            if (this._intersectsWith(this.containers[e].containerCache)) {
16410                                if (h && x.contains(this.containers[e].element[0], h.element[0])) continue;
16411                                (h = this.containers[e]), (d = e);
16412                            } else this.containers[e].containerCache.over && (this.containers[e]._trigger("out", t, this._uiHash(this)), (this.containers[e].containerCache.over = 0));
16413                    if (h)
16414                        if (1 === this.containers.length) this.containers[d].containerCache.over || (this.containers[d]._trigger("over", t, this._uiHash(this)), (this.containers[d].containerCache.over = 1));
16415                        else {
16416                            for (n = 1e4, s = null, o = (c = h.floating || this._isFloating(this.currentItem)) ? "left" : "top", r = c ? "width" : "height", u = c ? "pageX" : "pageY", i = this.items.length - 1; 0 <= i; i--)
16417                                x.contains(this.containers[d].element[0], this.items[i].item[0]) &&
16418                                    this.items[i].item[0] !== this.currentItem[0] &&
16419                                    ((a = this.items[i].item.offset()[o]),
16420                                    (l = !1),
16421                                    t[u] - a > this.items[i][r] / 2 && (l = !0),
16422                                    n > Math.abs(t[u] - a) && ((n = Math.abs(t[u] - a)), (s = this.items[i]), (this.direction = l ? "up" : "down")));
16423                            if (!s && !this.options.dropOnEmpty) return;
16424                            if (this.currentContainer === this.containers[d])
16425                                return void (this.currentContainer.containerCache.over || (this.containers[d]._trigger("over", t, this._uiHash()), (this.currentContainer.containerCache.over = 1)));
16426                            s ? this._rearrange(t, s, null, !0) : this._rearrange(t, null, this.containers[d].element, !0),
16427                                this._trigger("change", t, this._uiHash()),
16428                                this.containers[d]._trigger("change", t, this._uiHash(this)),
16429                                (this.currentContainer = this.containers[d]),
16430                                this.options.placeholder.update(this.currentContainer, this.placeholder),
16431                                this.containers[d]._trigger("over", t, this._uiHash(this)),
16432                                (this.containers[d].containerCache.over = 1);
16433                        }
16434                },
16435                _createHelper: function (t) {
16436                    var e = this.options,
16437                        i = x.isFunction(e.helper) ? x(e.helper.apply(this.element[0], [t, this.currentItem])) : "clone" === e.helper ? this.currentItem.clone() : this.currentItem;
16438                    return (
16439                        i.parents("body").length || x("parent" !== e.appendTo ? e.appendTo : this.currentItem[0].parentNode)[0].appendChild(i[0]),
16440                        i[0] === this.currentItem[0] &&
16441                            (this._storedCSS = {
16442                                width: this.currentItem[0].style.width,
16443                                height: this.currentItem[0].style.height,
16444                                position: this.currentItem.css("position"),
16445                                top: this.currentItem.css("top"),
16446                                left: this.currentItem.css("left"),
16447                            }),
16448                        (i[0].style.width && !e.forceHelperSize) || i.width(this.currentItem.width()),
16449                        (i[0].style.height && !e.forceHelperSize) || i.height(this.currentItem.height()),
16450                        i
16451                    );
16452                },
16453                _adjustOffsetFromHelper: function (t) {
16454                    "string" == typeof t && (t = t.split(" ")),
16455                        x.isArray(t) && (t = { left: +t[0], top: +t[1] || 0 }),
16456                        "left" in t && (this.offset.click.left = t.left + this.margins.left),
16457                        "right" in t && (this.offset.click.left = this.helperProportions.width - t.right + this.margins.left),
16458                        "top" in t && (this.offset.click.top = t.top + this.margins.top),
16459                        "bottom" in t && (this.offset.click.top = this.helperProportions.height - t.bottom + this.margins.top);
16460                },
16461                _getParentOffset: function () {
16462                    this.offsetParent = this.helper.offsetParent();
16463                    var t = this.offsetParent.offset();
16464                    return (
16465                        "absolute" === this.cssPosition &&
16466                            this.scrollParent[0] !== this.document[0] &&
16467                            x.contains(this.scrollParent[0], this.offsetParent[0]) &&
16468                            ((t.left += this.scrollParent.scrollLeft()), (t.top += this.scrollParent.scrollTop())),
16469                        (this.offsetParent[0] === this.document[0].body || (this.offsetParent[0].tagName && "html" === this.offsetParent[0].tagName.toLowerCase() && x.ui.ie)) && (t = { top: 0, left: 0 }),
16470                        { top: t.top + (parseInt(this.offsetParent.css("borderTopWidth"), 10) || 0), left: t.left + (parseInt(this.offsetParent.css("borderLeftWidth"), 10) || 0) }
16471                    );
16472                },
16473                _getRelativeOffset: function () {
16474                    if ("relative" !== this.cssPosition) return { top: 0, left: 0 };
16475                    var t = this.currentItem.position();
16476                    return { top: t.top - (parseInt(this.helper.css("top"), 10) || 0) + this.scrollParent.scrollTop(), left: t.left - (parseInt(this.helper.css("left"), 10) || 0) + this.scrollParent.scrollLeft() };
16477                },
16478                _cacheMargins: function () {
16479                    this.margins = { left: parseInt(this.currentItem.css("marginLeft"), 10) || 0, top: parseInt(this.currentItem.css("marginTop"), 10) || 0 };
16480                },
16481                _cacheHelperProportions: function () {
16482                    this.helperProportions = { width: this.helper.outerWidth(), height: this.helper.outerHeight() };
16483                },
16484                _setContainment: function () {
16485                    var t,
16486                        e,
16487                        i,
16488                        n = this.options;
16489                    "parent" === n.containment && (n.containment = this.helper[0].parentNode),
16490                        ("document" !== n.containment && "window" !== n.containment) ||
16491                            (this.containment = [
16492                                0 - this.offset.relative.left - this.offset.parent.left,
16493                                0 - this.offset.relative.top - this.offset.parent.top,
16494                                "document" === n.containment ? this.document.width() : this.window.width() - this.helperProportions.width - this.margins.left,
16495                                ("document" === n.containment ? this.document.height() || document.body.parentNode.scrollHeight : this.window.height() || this.document[0].body.parentNode.scrollHeight) -
16496                                    this.helperProportions.height -
16497                                    this.margins.top,
16498                            ]),
16499                        /^(document|window|parent)$/.test(n.containment) ||
16500                            ((t = x(n.containment)[0]),
16501                            (e = x(n.containment).offset()),
16502                            (i = "hidden" !== x(t).css("overflow")),
16503                            (this.containment = [
16504                                e.left + (parseInt(x(t).css("borderLeftWidth"), 10) || 0) + (parseInt(x(t).css("paddingLeft"), 10) || 0) - this.margins.left,
16505                                e.top + (parseInt(x(t).css("borderTopWidth"), 10) || 0) + (parseInt(x(t).css("paddingTop"), 10) || 0) - this.margins.top,
16506                                e.left +
16507                                    (i ? Math.max(t.scrollWidth, t.offsetWidth) : t.offsetWidth) -
16508                                    (parseInt(x(t).css("borderLeftWidth"), 10) || 0) -
16509                                    (parseInt(x(t).css("paddingRight"), 10) || 0) -
16510                                    this.helperProportions.width -
16511                                    this.margins.left,
16512                                e.top +
16513                                    (i ? Math.max(t.scrollHeight, t.offsetHeight) : t.offsetHeight) -
16514                                    (parseInt(x(t).css("borderTopWidth"), 10) || 0) -
16515                                    (parseInt(x(t).css("paddingBottom"), 10) || 0) -
16516                                    this.helperProportions.height -
16517                                    this.margins.top,
16518                            ]));
16519                },
16520                _convertPositionTo: function (t, e) {
16521                    e = e || this.position;
16522                    var i = "absolute" === t ? 1 : -1,
16523                        n = "absolute" !== this.cssPosition || (this.scrollParent[0] !== this.document[0] && x.contains(this.scrollParent[0], this.offsetParent[0])) ? this.scrollParent : this.offsetParent,
16524                        s = /(html|body)/i.test(n[0].tagName);
16525                    return {
16526                        top: e.top + this.offset.relative.top * i + this.offset.parent.top * i - ("fixed" === this.cssPosition ? -this.scrollParent.scrollTop() : s ? 0 : n.scrollTop()) * i,
16527                        left: e.left + this.offset.relative.left * i + this.offset.parent.left * i - ("fixed" === this.cssPosition ? -this.scrollParent.scrollLeft() : s ? 0 : n.scrollLeft()) * i,
16528                    };
16529                },
16530                _generatePosition: function (t) {
16531                    var e,
16532                        i,
16533                        n = this.options,
16534                        s = t.pageX,
16535                        o = t.pageY,
16536                        r = "absolute" !== this.cssPosition || (this.scrollParent[0] !== this.document[0] && x.contains(this.scrollParent[0], this.offsetParent[0])) ? this.scrollParent : this.offsetParent,
16537                        a = /(html|body)/i.test(r[0].tagName);
16538                    return (
16539                        "relative" !== this.cssPosition || (this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0]) || (this.offset.relative = this._getRelativeOffset()),
16540                        this.originalPosition &&
16541                            (this.containment &&
16542                                (t.pageX - this.offset.click.left < this.containment[0] && (s = this.containment[0] + this.offset.click.left),
16543                                t.pageY - this.offset.click.top < this.containment[1] && (o = this.containment[1] + this.offset.click.top),
16544                                t.pageX - this.offset.click.left > this.containment[2] && (s = this.containment[2] + this.offset.click.left),
16545                                t.pageY - this.offset.click.top > this.containment[3] && (o = this.containment[3] + this.offset.click.top)),
16546                            n.grid &&
16547                                ((e = this.originalPageY + Math.round((o - this.originalPageY) / n.grid[1]) * n.grid[1]),
16548                                (o =
16549                                    !this.containment || (e - this.offset.click.top >= this.containment[1] && e - this.offset.click.top <= this.containment[3])
16550                                        ? e
16551                                        : e - this.offset.click.top >= this.containment[1]
16552                                        ? e - n.grid[1]
16553                                        : e + n.grid[1]),
16554                                (i = this.originalPageX + Math.round((s - this.originalPageX) / n.grid[0]) * n.grid[0]),
16555                                (s =
16556                                    !this.containment || (i - this.offset.click.left >= this.containment[0] && i - this.offset.click.left <= this.containment[2])
16557                                        ? i
16558                                        : i - this.offset.click.left >= this.containment[0]
16559                                        ? i - n.grid[0]
16560                                        : i + n.grid[0]))),
16561                        {
16562                            top: o - this.offset.click.top - this.offset.relative.top - this.offset.parent.top + ("fixed" === this.cssPosition ? -this.scrollParent.scrollTop() : a ? 0 : r.scrollTop()),
16563                            left: s - this.offset.click.left - this.offset.relative.left - this.offset.parent.left + ("fixed" === this.cssPosition ? -this.scrollParent.scrollLeft() : a ? 0 : r.scrollLeft()),
16564                        }
16565                    );
16566                },
16567                _rearrange: function (t, e, i, n) {
16568                    i ? i[0].appendChild(this.placeholder[0]) : e.item[0].parentNode.insertBefore(this.placeholder[0], "down" === this.direction ? e.
16568item[0] : e.item[0].nextSibling), (this.counter = this.counter ? ++this.counter : 1);
16569                    var s = this.counter;
16570                    this._delay(function () {
16571                        s === this.counter && this.refreshPositions(!n);
16572                    });
16573                },
16574                _clear: function (t, e) {
16575                    function i(e, i, n) {
16576                        return function (t) {
16577                            n._trigger(e, t, i._uiHash(i));
16578                        };
16579                    }
16580                    this.reverting = !1;
16581                    var n,
16582                        s = [];
16583                    if ((!this._noFinalSort && this.currentItem.parent().length && this.placeholder.before(this.currentItem), (this._noFinalSort = null), this.helper[0] === this.currentItem[0])) {
16584                        for (n in this._storedCSS) ("auto" !== this._storedCSS[n] && "static" !== this._storedCSS[n]) || (this._storedCSS[n] = "");
16585                        this.currentItem.css(this._storedCSS), this._removeClass(this.currentItem, "ui-sortable-helper");
16586                    } else this.currentItem.show();
16587                    for (
16588                        this.fromOutside &&
16589                            !e &&
16590                            s.push(function (t) {
16591                                this._trigger("receive", t, this._uiHash(this.fromOutside));
16592                            }),
16593                            (!this.fromOutside && this.domPosition.prev === this.currentItem.prev().not(".ui-sortable-helper")[0] && this.domPosition.parent === this.currentItem.parent()[0]) ||
16594                                e ||
16595                                s.push(function (t) {
16596                                    this._trigger("update", t, this._uiHash());
16597                                }),
16598                            this !== this.currentContainer &&
16599                                (e ||
16600                                    (s.push(function (t) {
16601                                        this._trigger("remove", t, this._uiHash());
16602                                    }),
16603                                    s.push(
16604                                        function (e) {
16605                                            return function (t) {
16606                                                e._trigger("receive", t, this._uiHash(this));
16607                                            };
16608                                        }.call(this, this.currentContainer)
16609                                    ),
16610                                    s.push(
16611                                        function (e) {
16612                                            return function (t) {
16613                                                e._trigger("update", t, this._uiHash(this));
16614                                            };
16615                                        }.call(this, this.currentContainer)
16616                                    ))),
16617                            n = this.containers.length - 1;
16618                        0 <= n;
16619                        n--
16620                    )
16621                        e || s.push(i("deactivate", this, this.containers[n])), this.containers[n].containerCache.over && (s.push(i("out", this, this.containers[n])), (this.containers[n].containerCache.over = 0));
16622                    if (
16623                        (this.storedCursor && (this.document.find("body").css("cursor", this.storedCursor), this.storedStylesheet.remove()),
16624                        this._storedOpacity && this.helper.css("opacity", this._storedOpacity),
16625                        this._storedZIndex && this.helper.css("zIndex", "auto" === this._storedZIndex ? "" : this._storedZIndex),
16626                        (this.dragging = !1),
16627                        e || this._trigger("beforeStop", t, this._uiHash()),
16628                        this.placeholder[0].parentNode.removeChild(this.placeholder[0]),
16629                        this.cancelHelperRemoval || (this.helper[0] !== this.currentItem[0] && this.helper.remove(), (this.helper = null)),
16630                        !e)
16631                    ) {
16632                        for (n = 0; s.length > n; n++) s[n].call(this, t);
16633                        this._trigger("stop", t, this._uiHash());
16634                    }
16635                    return (this.fromOutside = !1), !this.cancelHelperRemoval;
16636                },
16637                _trigger: function () {
16638                    !1 === x.Widget.prototype._trigger.apply(this, arguments) && this.cancel();
16639                },
16640                _uiHash: function (t) {
16641                    var e = t || this;
16642                    return { helper: e.helper, placeholder: e.placeholder || x([]), position: e.position, originalPosition: e.originalPosition, offset: e.positionAbs, item: e.currentItem, sender: t ? t.element : null };
16643                },
16644            }),
16645            x.widget("ui.spinner", {
16646                version: "1.12.1",
16647                defaultElement: "<input>",
16648                widgetEventPrefix: "spin",
16649                options: {
16650                    classes: { "ui-spinner": "ui-corner-all", "ui-spinner-down": "ui-corner-br", "ui-spinner-up": "ui-corner-tr" },
16651                    culture: null,
16652                    icons: { down: "ui-icon-triangle-1-s", up: "ui-icon-triangle-1-n" },
16653                    incremental: !0,
16654                    max: null,
16655                    min: null,
16656                    numberFormat: null,
16657                    page: 10,
16658                    step: 1,
16659                    change: null,
16660                    spin: null,
16661                    start: null,
16662                    stop: null,
16663                },
16664                _create: function () {
16665                    this._setOption("max", this.options.max),
16666                        this._setOption("min", this.options.min),
16667                        this._setOption("step", this.options.step),
16668                        "" !== this.value() && this._value(this.element.val(), !0),
16669                        this._draw(),
16670                        this._on(this._events),
16671                        this._refresh(),
16672                        this._on(this.window, {
16673                            beforeunload: function () {
16674                                this.element.removeAttr("autocomplete");
16675                            },
16676                        });
16677                },
16678                _getCreateOptions: function () {
16679                    var n = this._super(),
16680                        s = this.element;
16681                    return (
16682                        x.each(["min", "max", "step"], function (t, e) {
16683                            var i = s.attr(e);
16684                            null != i && i.length && (n[e] = i);
16685                        }),
16686                        n
16687                    );
16688                },
16689                _events: {
16690                    keydown: function (t) {
16691                        this._start(t) && this._keydown(t) && t.preventDefault();
16692                    },
16693                    keyup: "_stop",
16694                    focus: function () {
16695                        this.previous = this.element.val();
16696                    },
16697                    blur: function (t) {
16698                        return this.cancelBlur ? void delete this.cancelBlur : (this._stop(), this._refresh(), void (this.previous !== this.element.val() && this._trigger("change", t)));
16699                    },
16700                    mousewheel: function (t, e) {
16701                        if (e) {
16702                            if (!this.spinning && !this._start(t)) return !1;
16703                            this._spin((0 < e ? 1 : -1) * this.options.step, t),
16704                                clearTimeout(this.mousewheelTimer),
16705                                (this.mousewheelTimer = this._delay(function () {
16706                                    this.spinning && this._stop(t);
16707                                }, 100)),
16708                                t.preventDefault();
16709                        }
16710                    },
16711                    "mousedown .ui-spinner-button": function (t) {
16712                        function e() {
16713                            this.element[0] === x.ui.safeActiveElement(this.document[0]) ||
16714                                (this.element.trigger("focus"),
16715                                (this.previous = i),
16716                                this._delay(function () {
16717                                    this.previous = i;
16718                                }));
16719                        }
16720                        var i;
16721                        (i = this.element[0] === x.ui.safeActiveElement(this.document[0]) ? this.previous : this.element.val()),
16722                            t.preventDefault(),
16723                            e.call(this),
16724                            (this.cancelBlur = !0),
16725                            this._delay(function () {
16726                                delete this.cancelBlur, e.call(this);
16727                            }),
16728                            !1 !== this._start(t) && this._repeat(null, x(t.currentTarget).hasClass("ui-spinner-up") ? 1 : -1, t);
16729                    },
16730                    "mouseup .ui-spinner-button": "_stop",
16731                    "mouseenter .ui-spinner-button": function (t) {
16732                        return x(t.currentTarget).hasClass("ui-state-active") ? !1 !== this._start(t) && void this._repeat(null, x(t.currentTarget).hasClass("ui-spinner-up") ? 1 : -1, t) : void 0;
16733                    },
16734                    "mouseleave .ui-spinner-button": "_stop",
16735                },
16736                _enhance: function () {
16737                    this.uiSpinner = this.element.attr("autocomplete", "off").wrap("<span>").parent().append("<a></a><a></a>");
16738                },
16739                _draw: function () {
16740                    this._enhance(),
16741                        this._addClass(this.uiSpinner, "ui-spinner", "ui-widget ui-widget-content"),
16742                        this._addClass("ui-spinner-input"),
16743                        this.element.attr("role", "spinbutton"),
16744                        (this.buttons = this.uiSpinner
16745                            .children("a")
16746                            .attr("tabIndex", -1)
16747                            .attr("aria-hidden", !0)
16748                            .button({ classes: { "ui-button": "" } })),
16749                        this._removeClass(this.buttons, "ui-corner-all"),
16750                        this._addClass(this.buttons.first(), "ui-spinner-button ui-spinner-up"),
16751                        this._addClass(this.buttons.last(), "ui-spinner-button ui-spinner-down"),
16752                        this.buttons.first().button({ icon: this.options.icons.up, showLabel: !1 }),
16753                        this.buttons.last().button({ icon: this.options.icons.down, showLabel: !1 }),
16754                        this.buttons.height() > Math.ceil(0.5 * this.uiSpinner.height()) && 0 < this.uiSpinner.height() && this.uiSpinner.height(this.uiSpinner.height());
16755                },
16756                _keydown: function (t) {
16757                    var e = this.options,
16758                        i = x.ui.keyCode;
16759                    switch (t.keyCode) {
16760                        case i.UP:
16761                            return this._repeat(null, 1, t), !0;
16762                        case i.DOWN:
16763                            return this._repeat(null, -1, t), !0;
16764                        case i.PAGE_UP:
16765                            return this._repeat(null, e.page, t), !0;
16766                        case i.PAGE_DOWN:
16767                            return this._repeat(null, -e.page, t), !0;
16768                    }
16769                    return !1;
16770                },
16771                _start: function (t) {
16772                    return !(!this.spinning && !1 === this._trigger("start", t)) && (this.counter || (this.counter = 1), (this.spinning = !0));
16773                },
16774                _repeat: function (t, e, i) {
16775                    (t = t || 500),
16776                        clearTimeout(this.timer),
16777                        (this.timer = this._delay(function () {
16778                            this._repeat(40, e, i);
16779                        }, t)),
16780                        this._spin(e * this.options.step, i);
16781                },
16782                _spin: function (t, e) {
16783                    var i = this.value() || 0;
16784                    this.counter || (this.counter = 1), (i = this._adjustValue(i + t * this._increment(this.counter))), (this.spinning && !1 === this._trigger("spin", e, { value: i })) || (this._value(i), this.counter++);
16785                },
16786                _increment: function (t) {
16787                    var e = this.options.incremental;
16788                    return e ? (x.isFunction(e) ? e(t) : Math.floor((t * t * t) / 5e4 - (t * t) / 500 + (17 * t) / 200 + 1)) : 1;
16789                },
16790                _precision: function () {
16791                    var t = this._precisionOf(this.options.step);
16792                    return null !== this.options.min && (t = Math.max(t, this._precisionOf(this.options.min))), t;
16793                },
16794                _precisionOf: function (t) {
16795                    var e = "" + t,
16796                        i = e.indexOf(".");
16797                    return -1 === i ? 0 : e.length - i - 1;
16798                },
16799                _adjustValue: function (t) {
16800                    var e,
16801                        i,
16802                        n = this.options;
16803                    return (
16804                        (i = t - (e = null !== n.min ? n.min : 0)),
16805                        (t = e + (i = Math.round(i / n.step) * n.step)),
16806                        (t = parseFloat(t.toFixed(this._precision()))),
16807                        null !== n.max && t > n.max ? n.max : null !== n.min && n.min > t ? n.min : t
16808                    );
16809                },
16810                _stop: function (t) {
16811                    this.spinning && (clearTimeout(this.timer), clearTimeout(this.mousewheelTimer), (this.counter = 0), (this.spinning = !1), this._trigger("stop", t));
16812                },
16813                _setOption: function (t, e) {
16814                    var i, n, s;
16815                    return "culture" === t || "numberFormat" === t
16816                        ? ((i = this._parse(this.element.val())), (this.options[t] = e), void this.element.val(this._format(i)))
16817                        : (("max" !== t && "min" !== t && "step" !== t) || "string" != typeof e || (e = this._parse(e)),
16818                          "icons" === t &&
16819                              ((n = this.buttons.first().find(".ui-icon")),
16820                              this._removeClass(n, null, this.options.icons.up),
16821                              this._addClass(n, null, e.up),
16822                              (s = this.buttons.last().find(".ui-icon")),
16823                              this._removeClass(s, null, this.options.icons.down),
16824                              this._addClass(s, null, e.down)),
16825                          void this._super(t, e));
16826                },
16827                _setOptionDisabled: function (t) {
16828                    this._super(t), this._toggleClass(this.uiSpinner, null, "ui-state-disabled", !!t), this.element.prop("disabled", !!t), this.buttons.button(t ? "disable" : "enable");
16829                },
16830                _setOptions: e(function (t) {
16831                    this._super(t);
16832                }),
16833                _parse: function (t) {
16834                    return "string" == typeof t && "" !== t && (t = window.Globalize && this.options.numberFormat ? Globalize.parseFloat(t, 10, this.options.culture) : +t), "" === t || isNaN(t) ? null : t;
16835                },
16836                _format: function (t) {
16837                    return "" === t ? "" : window.Globalize && this.options.numberFormat ? Globalize.format(t, this.options.numberFormat, this.options.culture) : t;
16838                },
16839                _refresh: function () {
16840                    this.element.attr({ "aria-valuemin": this.options.min, "aria-valuemax": this.options.max, "aria-valuenow": this._parse(this.element.val()) });
16841                },
16842                isValid: function () {
16843                    var t = this.value();
16844                    return null !== t && t === this._adjustValue(t);
16845                },
16846                _value: function (t, e) {
16847                    var i;
16848                    "" === t || (null !== (i = this._parse(t)) && (e || (i = this._adjustValue(i)), (t = this._format(i)))), this.element.val(t), this._refresh();
16849                },
16850                _destroy: function () {
16851                    this.element.prop("disabled", !1).removeAttr("autocomplete role aria-valuemin aria-valuemax aria-valuenow"), this.uiSpinner.replaceWith(this.element);
16852                },
16853                stepUp: e(function (t) {
16854                    this._stepUp(t);
16855                }),
16856                _stepUp: function (t) {
16857                    this._start() && (this._spin((t || 1) * this.options.step), this._stop());
16858                },
16859                stepDown: e(function (t) {
16860                    this._stepDown(t);
16861                }),
16862                _stepDown: function (t) {
16863                    this._start() && (this._spin((t || 1) * -this.options.step), this._stop());
16864                },
16865                pageUp: e(function (t) {
16866                    this._stepUp((t || 1) * this.options.page);
16867                }),
16868                pageDown: e(function (t) {
16869                    this._stepDown((t || 1) * this.options.page);
16870                }),
16871                value: function (t) {
16872                    return arguments.length ? void e(this._value).call(this, t) : this._parse(this.element.val());
16873                },
16874                widget: function () {
16875                    return this.uiSpinner;
16876                },
16877            }),
16878            !1 !== x.uiBackCompat &&
16879                x.widget("ui.spinner", x.ui.spinner, {
16880                    _enhance: function () {
16881                        this.uiSpinner = this.element.attr("autocomplete", "off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());
16882                    },
16883                    _uiSpinnerHtml: function () {
16884                        return "<span>";
16885                    },
16886                    _buttonHtml: function () {
16887                        return "<a></a><a></a>";
16888                    },
16889                }),
16890            x.ui.spinner,
16891            x.widget("ui.tabs", {
16892                version: "1.12.1",
16893                delay: 300,
16894                options: {
16895                    active: null,
16896                    classes: { "ui-tabs": "ui-corner-all", "ui-tabs-nav": "ui-corner-all", "ui-tabs-panel": "ui-corner-bottom", "ui-tabs-tab": "ui-corner-top" },
16897                    collapsible: !1,
16898                    event: "click",
16899                    heightStyle: "content",
16900                    hide: null,
16901                    show: null,
16902                    activate: null,
16903                    beforeActivate: null,
16904                    beforeLoad: null,
16905                    load: null,
16906                },
16907                _isLocal:
16908                    ((ot = /#.*$/),
16909                    function (t) {
16910                        var e, i;
16911                        (e = t.href.replace(ot, "")), (i = location.href.replace(ot, ""));
16912                        try {
16913                            e = decodeURIComponent(e);
16914                        } catch (t) {}
16915                        try {
16916                            i = decodeURIComponent(i);
16917                        } catch (t) {}
16918                        return 1 < t.hash.length && e === i;
16919                    }),
16920                _create: function () {
16921                    var e = this,
16922                        t = this.options;
16923                    (this.running = !1),
16924                        this._addClass("ui-tabs", "ui-widget ui-widget-content"),
16925                        this._toggleClass("ui-tabs-collapsible", null, t.collapsible),
16926                        this._processTabs(),
16927                        (t.active = this._initialActive()),
16928                        x.isArray(t.disabled) &&
16929                            (t.disabled = x
16930                                .unique(
16931                                    t.disabled.concat(
16932                                        x.map(this.tabs.filter(".ui-state-disabled"), function (t) {
16933                                            return e.tabs.index(t);
16934                                        })
16935                                    )
16936                                )
16937                                .sort()),
16938                        (this.active = !1 !== this.options.active && this.anchors.length ? this._findActive(t.active) : x()),
16939                        this._refresh(),
16940                        this.active.length && this.load(t.active);
16941                },
16942                _initialActive: function () {
16943                    var i = this.options.active,
16944                        t = this.options.collapsible,
16945                        n = location.hash.substring(1);
16946                    return (
16947                        null === i &&
16948                            (n &&
16949                                this.tabs.each(function (t, e) {
16950                                    return x(e).attr("aria-controls") === n ? ((i 
16950= t), !1) : void 0;
16951                                }),
16952                            null === i && (i = this.tabs.index(this.tabs.filter(".ui-tabs-active"))),
16953                            (null !== i && -1 !== i) || (i = !!this.tabs.length && 0)),
16954                        !1 !== i && -1 === (i = this.tabs.index(this.tabs.eq(i))) && (i = !t && 0),
16955                        !t && !1 === i && this.anchors.length && (i = 0),
16956                        i
16957                    );
16958                },
16959                _getCreateEventData: function () {
16960                    return { tab: this.active, panel: this.active.length ? this._getPanelForTab(this.active) : x() };
16961                },
16962                _tabKeydown: function (t) {
16963                    var e = x(x.ui.safeActiveElement(this.document[0])).closest("li"),
16964                        i = this.tabs.index(e),
16965                        n = !0;
16966                    if (!this._handlePageNav(t)) {
16967                        switch (t.keyCode) {
16968                            case x.ui.keyCode.RIGHT:
16969                            case x.ui.keyCode.DOWN:
16970                                i++;
16971                                break;
16972                            case x.ui.keyCode.UP:
16973                            case x.ui.keyCode.LEFT:
16974                                (n = !1), i--;
16975                                break;
16976                            case x.ui.keyCode.END:
16977                                i = this.anchors.length - 1;
16978                                break;
16979                            case x.ui.keyCode.HOME:
16980                                i = 0;
16981                                break;
16982                            case x.ui.keyCode.SPACE:
16983                                return t.preventDefault(), clearTimeout(this.activating), void this._activate(i);
16984                            case x.ui.keyCode.ENTER:
16985                                return t.preventDefault(), clearTimeout(this.activating), void this._activate(i !== this.options.active && i);
16986                            default:
16987                                return;
16988                        }
16989                        t.preventDefault(),
16990                            clearTimeout(this.activating),
16991                            (i = this._focusNextTab(i, n)),
16992                            t.ctrlKey ||
16993                                t.metaKey ||
16994                                (e.attr("aria-selected", "false"),
16995                                this.tabs.eq(i).attr("aria-selected", "true"),
16996                                (this.activating = this._delay(function () {
16997                                    this.option("active", i);
16998                                }, this.delay)));
16999                    }
17000                },
17001                _panelKeydown: function (t) {
17002                    this._handlePageNav(t) || (t.ctrlKey && t.keyCode === x.ui.keyCode.UP && (t.preventDefault(), this.active.trigger("focus")));
17003                },
17004                _handlePageNav: function (t) {
17005                    return t.altKey && t.keyCode === x.ui.keyCode.PAGE_UP
17006                        ? (this._activate(this._focusNextTab(this.options.active - 1, !1)), !0)
17007                        : t.altKey && t.keyCode === x.ui.keyCode.PAGE_DOWN
17008                        ? (this._activate(this._focusNextTab(this.options.active + 1, !0)), !0)
17009                        : void 0;
17010                },
17011                _findNextTab: function (t, e) {
17012                    for (var i = this.tabs.length - 1;
17012 -1 !== x.inArray((i < t && (t = 0), t < 0 && (t = i), t), this.options.disabled); ) t = e ? t + 1 : t - 1;
17013                    return t;
17014                },
17015                _focusNextTab: function (t, e) {
17016                    return (t = this._findNextTab(t, e)), this.tabs.eq(t).trigger("focus"), t;
17017                },
17018                _setOption: function (t, e) {
17019                    return "active" === t
17020                        ? void this._activate(e)
17021                        : (this._super(t, e),
17022                          "collapsible" === t && (this._toggleClass("ui-tabs-collapsible", null, e), e || !1 !== this.options.active || this._activate(0)),
17023                          "event" === t && this._setupEvents(e),
17024                          void ("heightStyle" === t && this._setupHeightStyle(e)));
17025                },
17026                _sanitizeSelector: function (t) {
17027                    return t ? t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g, "\\$&") : "";
17028                },
17029                refresh: function () {
17030                    var t = this.options,
17031                        e = this.tablist.children(":has(a[href])");
17032                    (t.disabled = x.map(e.filter(".ui-state-disabled"), function (t) {
17033                        return e.index(t);
17034                    })),
17035                        this._processTabs(),
17036                        !1 !== t.active && this.anchors.length
17037                            ? this.active.length && !x.contains(this.tablist[0], this.active[0])
17038                                ? this.tabs.length === t.disabled.length
17039                                    ? ((t.active = !1), (this.active = x()))
17040                                    : this._activate(this._findNextTab(Math.max(0, t.active - 1), !1))
17041                                : (t.active = this.tabs.index(this.active))
17042                            : ((t.active = !1), (this.active = x())),
17043                        this._refresh();
17044                },
17045                _refresh: function () {
17046                    this._setOptionDisabled(this.options.disabled),
17047                        this._setupEvents(this.options.event),
17048                        this._setupHeightStyle(this.options.heightStyle),
17049                        this.tabs.not(this.active).attr({ "aria-selected": "false", "aria-expanded": "false", tabIndex: -1 }),
17050                        this.panels.not(this._getPanelForTab(this.active)).hide().attr({ "aria-hidden": "true" }),
17051                        this.active.length
17052                            ? (this.active.attr({ "aria-selected": "true", "aria-expanded": "true", tabIndex: 0 }),
17053                              this._addClass(this.active, "ui-tabs-active", "ui-state-active"),
17054                              this._getPanelForTab(this.active).show().attr({ "aria-hidden": "false" }))
17055                            : this.tabs.eq(0).attr("tabIndex", 0);
17056                },
17057                _processTabs: function () {
17058                    var l = this,
17059                        t = this.tabs,
17060                        e = this.anchors,
17061                        i = this.panels;
17062                    (this.tablist = this._getList().attr("role", "tablist")),
17063                        this._addClass(this.tablist, "ui-tabs-nav", "ui-helper-reset ui-helper-clearfix ui-widget-header"),
17064                        this.tablist
17065                            .on("mousedown" + this.eventNamespace, "> li", function (t) {
17066                                x(this).is(".ui-state-disabled") && t.preventDefault();
17067                            })
17068                            .on("focus" + this.eventNamespace, ".ui-tabs-anchor", function () {
17069                                x(this).closest("li").is(".ui-state-disabled") && this.blur();
17070                            }),
17071                        (this.tabs = this.tablist.find("> li:has(a[href])").attr({ role: "tab", tabIndex: -1 })),
17072                        this._addClass(this.tabs, "ui-tabs-tab", "ui-state-default"),
17073                        (this.anchors = this.tabs
17074                            .map(function () {
17075                                return x("a", this)[0];
17076                            })
17077                            .attr({ role: "presentation", tabIndex: -1 })),
17078                        this._addClass(this.anchors, "ui-tabs-anchor"),
17079                        (this.panels = x()),
17080                        this.anchors.each(function (t, e) {
17081                            var i,
17082                                n,
17083                                s,
17084                                o = x(e).uniqueId().attr("id"),
17085                                r = x(e).closest("li"),
17086                                a = r.attr("aria-controls");
17087                            l._isLocal(e)
17088                                ? ((s = (i = e.hash).substring(1)), (n = l.element.find(l._sanitizeSelector(i))))
17089                                : ((i = "#" + (s = r.attr("aria-controls") || x({}).uniqueId()[0].id)), (n = l.element.find(i)).length || (n = l._createPanel(s)).insertAfter(l.panels[t - 1] || l.tablist), n.attr("aria-live", "polite")),
17090                                n.length && (l.panels = l.panels.add(n)),
17091                                a && r.data("ui-tabs-aria-controls", a),
17092                                r.attr({ "aria-controls": s, "aria-labelledby": o }),
17093                                n.attr("aria-labelledby", o);
17094                        }),
17095                        this.panels.attr("role", "tabpanel"),
17096                        this._addClass(this.panels, "ui-tabs-panel", "ui-widget-content"),
17097                        t && (this._off(t.not(this.tabs)), this._off(e.not(this.anchors)), this._off(i.not(this.panels)));
17098                },
17099                _getList: function () {
17100                    return this.tablist || this.element.find("ol, ul").eq(0);
17101                },
17102                _createPanel: function (t) {
17103                    return x("<div>").attr("id", t).data("ui-tabs-destroy", !0);
17104                },
17105                _setOptionDisabled: function (t) {
17106                    var e, i, n;
17107                    for (x.isArray(t) && (t.length ? t.length === this.anchors.length && (t = !0) : (t = !1)), n = 0; (i = this.tabs[n]); n++)
17108                        (e = x(i)), !0 === t || -1 !== x.inArray(n, t) ? (e.attr("aria-disabled", "true"), this._addClass(e, null, "ui-state-disabled")) : (e.removeAttr("aria-disabled"), this._removeClass(e, null, "ui-state-disabled"));
17109                    (this.options.disabled = t), this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !0 === t);
17110                },
17111                _setupEvents: function (t) {
17112                    var i = {};
17113                    t &&
17114                        x.each(t.split(" "), function (t, e) {
17115                            i[e] = "_eventHandler";
17116                        }),
17117                        this._off(this.anchors.add(this.tabs).add(this.panels)),
17118                        this._on(!0, this.anchors, {
17119                            click: function (t) {
17120                                t.preventDefault();
17121                            },
17122                        }),
17123                        this._on(this.anchors, i),
17124                        this._on(this.tabs, { keydown: "_tabKeydown" }),
17125                        this._on(this.panels, { keydown: "_panelKeydown" }),
17126                        this._focusable(this.tabs),
17127                        this._hoverable(this.tabs);
17128                },
17129                _setupHeightStyle: function (t) {
17130                    var i,
17131                        e = this.element.parent();
17132                    "fill" === t
17133                        ? ((i = e.height()),
17134                          (i -= this.element.outerHeight() - this.element.height()),
17135                          this.element.siblings(":visible").each(function () {
17136                              var t = x(this),
17137                                  e = t.css("position");
17138                              "absolute" !== e && "fixed" !== e && (i -= t.outerHeight(!0));
17139                          }),
17140                          this.element
17141                              .children()
17142                              .not(this.panels)
17143                              .each(function () {
17144                                  i -= x(this).outerHeight(!0);
17145                              }),
17146                          this.panels
17147                              .each(function () {
17148                                  x(this).height(Math.max(0, i - x(this).innerHeight() + x(this).height()));
17149                              })
17150                              .css("overflow", "auto"))
17151                        : "auto" === t &&
17152                          ((i = 0),
17153                          this.panels
17154                              .each(function () {
17155                                  i = Math.max(i, x(this).height("").height());
17156                              })
17157                              .height(i));
17158                },
17159                _eventHandler: function (t) {
17160                    var e = this.options,
17161                        i = this.active,
17162                        n = x(t.currentTarget).closest("li"),
17163                        s = n[0] === i[0],
17164                        o = s && e.collapsible,
17165                        r = o ? x() : this._getPanelForTab(n),
17166                        a = i.length ? this._getPanelForTab(i) : x(),
17167                        l = { oldTab: i, oldPanel: a, newTab: o ? x() : n, newPanel: r };
17168                    t.preventDefault(),
17169                        n.hasClass("ui-state-disabled") ||
17170                            n.hasClass("ui-tabs-loading") ||
17171                            this.running ||
17172                            (s && !e.collapsible) ||
17173                            !1 === this._trigger("beforeActivate", t, l) ||
17174                            ((e.active = !o && this.tabs.index(n)),
17175                            (this.active = s ? x() : n),
17176                            this.xhr && this.xhr.abort(),
17177                            a.length || r.length || x.error("jQuery UI Tabs: Mismatching fragment identifier."),
17178                            r.length && this.load(this.tabs.index(n), t),
17179                            this._toggle(t, l));
17180                },
17181                _toggle: function (t, e) {
17182                    function i() {
17183                        (s.running = !1), s._trigger("activate", t, e);
17184                    }
17185                    function n() {
17186                        s._addClass(e.newTab.closest("li"), "ui-tabs-active", "ui-state-active"), o.length && s.options.show ? s._show(o, s.options.show, i) : (o.show(), i());
17187                    }
17188                    var s = this,
17189                        o = e.newPanel,
17190                        r = e.oldPanel;
17191                    (this.running = !0),
17192                        r.length && this.options.hide
17193                            ? this._hide(r, this.options.hide, function () {
17194                                  s._removeClass(e.oldTab.closest("li"), "ui-tabs-active", "ui-state-active"), n();
17195                              })
17196                            : (this._removeClass(e.oldTab.closest("li"), "ui-tabs-active", "ui-state-active"), r.hide(), n()),
17197                        r.attr("aria-hidden", "true"),
17198                        e.oldTab.attr({ "aria-selected": "false", "aria-expanded": "false" }),
17199                        o.length && r.length
17200                            ? e.oldTab.attr("tabIndex", -1)
17201                            : o.length &&
17202                              this.tabs
17203                                  .filter(function () {
17204                                      return 0 === x(this).attr("tabIndex");
17205                                  })
17206                                  .attr("tabIndex", -1),
17207                        o.attr("aria-hidden", "false"),
17208                        e.newTab.attr({ "aria-selected": "true", "aria-expanded": "true", tabIndex: 0 });
17209                },
17210                _activate: function (t) {
17211                    var e,
17212                        i = this._findActive(t);
17213                    i[0] !== this.active[0] && (i.length || (i = this.active), (e = i.find(".ui-tabs-anchor")[0]), this._eventHandler({ target: e, currentTarget: e, preventDefault: x.noop }));
17214                },
17215                _findActive: function (t) {
17216                    return !1 === t ? x() : this.tabs.eq(t);
17217                },
17218                _getIndex: function (t) {
17219                    return "string" == typeof t && (t = this.anchors.index(this.anchors.filter("[href$='" + x.ui.escapeSelector(t) + "']"))), t;
17220                },
17221                _destroy: function () {
17222                    this.xhr && this.xhr.abort(),
17223                        this.tablist.removeAttr("role").off(this.eventNamespace),
17224                        this.anchors.removeAttr("role tabIndex").removeUniqueId(),
17225                        this.tabs.add(this.panels).each(function () {
17226                            x.data(this, "ui-tabs-destroy") ? x(this).remove() : x(this).removeAttr("role tabIndex aria-live aria-busy aria-selected aria-labelledby aria-hidden aria-expanded");
17227                        }),
17228                        this.tabs.each(function () {
17229                            var t = x(this),
17230                                e = t.data("ui-tabs-aria-controls");
17231                            e ? t.attr("aria-controls", e).removeData("ui-tabs-aria-controls") : t.removeAttr("aria-controls");
17232                        }),
17233                        this.panels.show(),
17234                        "content" !== this.options.heightStyle && this.panels.css("height", "");
17235                },
17236                enable: function (i) {
17237                    var t = this.options.disabled;
17238                    !1 !== t &&
17239                        ((t =
17240                            void 0 !== i &&
17241                            ((i = this._getIndex(i)),
17242                            x.isArray(t)
17243                                ? x.map(t, function (t) {
17244                                      return t !== i ? t : null;
17245                                  })
17246                                : x.map(this.tabs, function (t, e) {
17247                                      return e !== i ? e : null;
17248                                  }))),
17249                        this._setOptionDisabled(t));
17250                },
17251                disable: function (t) {
17252                    var e = this.options.disabled;
17253                    if (!0 !== e) {
17254                        if (void 0 === t) e = !0;
17255                        else {
17256                            if (((t = this._getIndex(t)), -1 !== x.inArray(t, e))) return;
17257                            e = x.isArray(e) ? x.merge([t], e).sort() : [t];
17258                        }
17259                        this._setOptionDisabled(e);
17260                    }
17261                },
17262                load: function (t, n) {
17263                    t = this._getIndex(t);
17264                    function s(t, e) {
17265                        "abort" === e && o.panels.stop(!1, !0), o._removeClass(i, "ui-tabs-loading"), r.removeAttr("aria-busy"), t === o.xhr && delete o.xhr;
17266                    }
17267                    var o = this,
17268                        i = this.tabs.eq(t),
17269                        e = i.find(".ui-tabs-anchor"),
17270                        r = this._getPanelForTab(i),
17271                        a = { tab: i, panel: r };
17272                    this._isLocal(e[0]) ||
17273                        ((this.xhr = x.ajax(this._ajaxSettings(e, n, a))),
17274                        this.xhr &&
17275                            "canceled" !== this.xhr.statusText &&
17276                            (this._addClass(i, "ui-tabs-loading"),
17277                            r.attr("aria-busy", "true"),
17278                            this.xhr
17279                                .done(function (t, e, i) {
17280                                    setTimeout(function () {
17281                                        r.html(t), o._trigger("load", n, a), s(i, e);
17282                                    }, 1);
17283                                })
17284                                .fail(function (t, e) {
17285                                    setTimeout(function () {
17286                                        s(t, e);
17287                                    }, 1);
17288                                })));
17289                },
17290                _ajaxSettings: function (t, i, n) {
17291                    var s = this;
17292                    return {
17293                        url: t.attr("href").replace(/#.*$/, ""),
17294                        beforeSend: function (t, e) {
17295                            return s._trigger("beforeLoad", i, x.extend({ jqXHR: t, ajaxSettings: e }, n));
17296                        },
17297                    };
17298                },
17299                _getPanelForTab: function (t) {
17300                    var e = x(t).attr("aria-controls");
17301                    return this.element.find(this._sanitizeSelector("#" + e));
17302                },
17303            }),
17304            !1 !== x.uiBackCompat &&
17305                x.widget("ui.tabs", x.ui.tabs, {
17306                    _processTabs: function () {
17307                        this._superApply(arguments), this._addClass(this.tabs, "ui-tab");
17308                    },
17309                }),
17310            x.ui.tabs,
17311            x.widget("ui.tooltip", {
17312                version: "1.12.1",
17313                options: {
17314                    classes: { "ui-tooltip": "ui-corner-all ui-widget-shadow" },
17315                    content: function () {
17316                        var t = x(this).attr("title") || "";
17317                        return x("<a>").text(t).html();
17318                    },
17319                    hide: !0,
17320                    items: "[title]:not([disabled])",
17321                    position: { my: "left top+15", at: "left bottom", collision: "flipfit flip" },
17322                    show: !0,
17323                    track: !1,
17324                    close: null,
17325                    open: null,
17326                },
17327                _addDescribedBy: function (t, e) {
17328                    var i = (t.attr("aria-describedby") || "").split(/\s+/);
17329                    i.push(e), t.data("ui-tooltip-id", e).attr("aria-describedby", x.trim(i.join(" ")));
17330                },
17331                _removeDescribedBy: function (t) {
17332                    var e = t.data("ui-tooltip-id"),
17333                        i = (t.attr("aria-describedby") || "").split(/\s+/),
17334                        n = x.inArray(e, i);
17335                    -1 !== n && i.splice(n, 1), t.removeData("ui-tooltip-id"), (i = x.trim(i.join(" "))) ? t.attr("aria-describedby", i) : t.removeAttr("aria-describedby");
17336                },
17337                _create: function () {
17338                    this._on({ mouseover: "open", focusin: "open" }),
17339                        (this.tooltips = {}),
17340                        (this.parents = {}),
17341                        (this.liveRegion = x("<div>").attr({ role: "log", "aria-live": "assertive", "aria-relevant": "additions" }).appendTo(this.document[0].body)),
17342                        this._addClass(this.liveRegion, null, "ui-helper-hidden-accessible"),
17343                        (this.disabledTitles = x([]));
17344                },
17345                _setOption: function (t, e) {
17346                    var i = this;
17347                    this._super(t, e),
17348                        "content" === t &&
17349                            x.each(this.tooltips, function (t, e) {
17350                                i._updateContent(e.element);
17351                            });
17352                },
17353                _setOptionDisabled: function (t) {
17354                    this[t ? "_disable" : "_enable"]();
17355                },
17356                _disable: function () {
17357                    var n = this;
17358                    x.each(this.tooltips, function (t, e) {
17359                        var i = x.Event("blur");
17360                        (i.target = i.currentTarget = e.element[0]), n.close(i, !0);
17361                    }),
17362                        (this.disabledTitles = this.disabledTitles.add(
17363                            this.element
17364                                .find(this.options.items)
17365                                .addBack()
17366                                .filter(function () {
17367                                    var t = x(this);
17368                                    return t.is("[title]") ? t.data("ui-tooltip-title", t.attr("title")).removeAttr("title") : void 0;
17369                                })
17370                        ));
17371                },
17372                _enable: function () {
17373                    this.disabledTitles.each(function () {
17374                        var t = x(this);
17375                        t.data("ui-tooltip-title") && t.attr("title", t.data("ui-tooltip-title"));
17376                    }),
17377                        (this.disabledTitles = x([]));
17378                },
17379                open: function (t) {
17380                    var i = this,
17381                        e = x(t ? t.target : this.element).closest(this.options.items);
17382                    e.length &&
17383                        !e.data("ui-tooltip-id") &&
17384                        (e.attr("title") && e.data("ui-tooltip-title", e.attr("title")),
17385                        e.data("ui-tooltip-open", !0),
17386                        t &&
17387                            "mouseover" === t.type &&
17388                            e.parents().each(function () {
17389                                var t,
17390                                    e = x(this);
17391                                e.data("ui-tooltip-open") && (((t = x.Event("blur")).target = t.currentTarget = this), i.close(t, !0)),
17392                                    e.attr("title") && (e.uniqueId(), (i.parents[this.id] = { element: this, title: e.attr("title") }), e.attr("title", ""));
17393                            }),
17394                        this._registerCloseHandlers(t, e),
17395                        this._updateContent(e, t));
17396                },
17397                _updateContent: function (e, i) {
17398                    var t,
17399                        n = this.options.content,
17400                        s = this,
17401                        o = i ? i.type : null;
17402                    return "string" == typeof n || n.nodeType || n.jquery
17403                        ? this._open(i, e, n)
17404                        : void (
17405                              (t = n.call(e[0], function (t) {
17406                                  s._delay(function () {
17407                                      e.data("ui-tooltip-open") && (i && (i.type = o), this._open(i, e, t));
17408                                  });
17409                              })) && this._open(i, e, t)
17410                          );
17411                },
17412                _open: function (t, e, i) {
17413                    function n(t) {
17414                        (l.of = t), o.is(":hidden") || o.position(l);
17415                    }
17416                    var s,
17417                        o,
17418                        r,
17419                        a,
17420                        l = x.extend({}, this.options.position);
17421                    if (i) {
17422                        if ((s = this._find(e))) return void s.tooltip.find(".ui-tooltip-content").html(i);
17423                        e.is("[title]") && (t && "mouseover" === t.type ? e.attr("title", "") : e.removeAttr("title")),
17424                            (s = this._tooltip(e)),
17425                            (o = s.tooltip),
17426                            this._addDescribedBy(e, o.attr("id")),
17427                            o.find(".ui-tooltip-content").html(i),
17428                            this.liveRegion.children().hide(),
17429                            (a = x("<div>").html(o.find(".ui-tooltip-content").html())).removeAttr("name").find("[name]").removeAttr("name"),
17430                            a.removeAttr("id").find("[id]").removeAttr("id"),
17431                            a.appendTo(this.liveRegion),
17432                            this.options.track && t && /^mouse/.test(t.type) ? (this._on(this.document, { mousemove: n }), n(t)) : o.position(x.extend({ of: e }, this.options.position)),
17433                            o.hide(),
17434                            this._show(o, this.options.show),
17435                            this.options.track &&
17436                                this.options.show &&
17437                                this.options.show.delay &&
17438                                (r = this.delayedShow = setInterval(function () {
17439                                    o.is(":visible") && (n(l.of), clearInterval(r));
17440                                }, x.fx.interval)),
17441                            this._trigger("open", t, { tooltip: o });
17442                    }
17443                },
17444                _registerCloseHandlers: function (t, i) {
17445                    var e = {
17446                        keyup: function (t) {
17447                            if (t.keyCode === x.ui.keyCode.ESCAPE) {
17448                                var e = x.Event(t);
17449                                (e.currentTarget = i[0]), this.close(e, !0);
17450                            }
17451                        },
17452                    };
17453                    i[0] !== this.element[0] &&
17454                        (e.remove = function () {
17455                            this._removeTooltip(this._find(i).tooltip);
17456                        }),
17457                        (t && "mouseover" !== t.type) || (e.mouseleave = "close"),
17458                        (t && "focusin" !== t.type) || (e.focusout = "close"),
17459                        this._on(!0, i, e);
17460                },
17461                close: function (t) {
17462                    var e,
17463                        i = this,
17464                        n = x(t ? t.currentTarget : this.element),
17465                        s = this._find(n);
17466                    return s
17467                        ? ((e = s.tooltip),
17468                          void (
17469                              s.closing ||
17470                              (clearInterval(this.delayedShow),
17471                              n.data("ui-tooltip-title") && !n.attr("title") && n.attr("title", n.data("ui-tooltip-title")),
17472                              this._removeDescribedBy(n),
17473                              (s.hiding = !0),
17474                              e.stop(!0),
17475                              this._hide(e, this.options.hide, function () {
17476                                  i._removeTooltip(x(this));
17477                              }),
17478                              n.removeData("ui-tooltip-open"),
17479                              this._off(n, "mouseleave focusout keyup"),
17480                              n[0] !== this.element[0] && this._off(n, "remove"),
17481                              this._off(this.document, "mousemove"),
17482                              t &&
17483                                  "mouseleave" === t.type &&
17484                                  x.each(this.parents, function (t, e) {
17485                                      x(e.element).attr("title", e.title), delete i.parents[t];
17486                                  }),
17487                              (s.closing = !0),
17488                              this._trigger("close", t, { tooltip: e }),
17489                              s.hiding || (s.closing = !1))
17490                          ))
17491                        : void n.removeData("ui-tooltip-open");
17492                },
17493                _tooltip: function (t) {
17494                    var e = x("<div>").attr("role", "tooltip"),
17495                        i = x("<div>").appendTo(e),
17496                        n = e.uniqueId().attr("id");
17497                    return this._addClass(i, "ui-tooltip-content"), this._addClass(e, "ui-tooltip", "ui-widget ui-widget-content"), e.appendTo(this._appendTo(t)), (this.tooltips[n] = { element: t, tooltip: e });
17498                },
17499                _find: function (t) {
17500                    var e = t.data("ui-tooltip-id");
17501                    return e ? this.tooltips[e] : null;
17502                },
17503                _removeTooltip: function (t) {
17504                    t.remove(), delete this.tooltips[t.attr("id")];
17505                },
17506                _appendTo: function (t) {
17507                    var e = t.closest(".ui-front, dialog");
17508                    return e.length || (e = this.document[0].body), e;
17509                },
17510                _destroy: function () {
17511                    var s = this;
17512                    x.each(this.tooltips, function (t, e) {
17513                        var i = x.Event("blur"),
17514                            n = e.element;
17515                        (i.target = i.currentTarget = n[0]), s.close(i, !0), x("#" + t).remove(), n.data("ui-tooltip-title") && (n.attr("title") || n.attr("title", n.data("ui-tooltip-title")), n.removeData("ui-tooltip-title"));
17516                    }),
17517                        this.liveRegion.remove();
17518                },
17519            }),
17520            !1 !== x.uiBackCompat &&
17521                x.widget("ui.tooltip", x.ui.tooltip, {
17522                    options: { tooltipClass: null },
17523                    _tooltip: function () {
17524                        var t = this._superApply(arguments);
17525                        return this.options.tooltipClass && t.tooltip.addClass(this.options.tooltipClass), t;
17526                    },
17527                }),
17528            x.ui.tooltip;
17529    });

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