/*! For license information please see timeline.js.LICENSE.txt */
var TL;
( () => {
var t = {
838: function(t) {
t.exports = function() {
"use strict";
const {entries: t, setPrototypeOf: e, isFrozen: i, getPrototypeOf: a, getOwnPropertyDescriptor: s} = Object;
let {freeze: n, seal: o, create: r} = Object
, {apply: l, construct: h} = "undefined" != typeof Reflect && Reflect;
n || (n = function(t) {
return t
}
),
o || (o = function(t) {
return t
}
),
l || (l = function(t, e, i) {
return t.apply(e, i)
}
),
h || (h = function(t, e) {
return new t(...e)
}
);
const d = x(Array.prototype.forEach)
, c = x(Array.prototype.pop)
, u = x(Array.prototype.push)
, m = x(String.prototype.toLowerCase)
, _ = x(String.prototype.toString)
, p = x(String.prototype.match)
, f = x(String.prototype.replace)
, g = x(String.prototype.indexOf)
, v = x(String.prototype.trim)
, y = x(Object.prototype.hasOwnProperty)
, b = x(RegExp.prototype.test)
, w = (k = TypeError,
function() {
for (var t = arguments.length, e = new Array(t), i = 0; i < t; i++)
e[i] = arguments[i];
return h(k, e)
}
);
var k;
function x(t) {
return function(e) {
for (var i = arguments.length, a = new Array(i > 1 ? i - 1 : 0), s = 1; s < i; s++)
a[s - 1] = arguments[s];
return l(t, e, a)
}
}
function T(t, a) {
let s = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : m;
e && e(t, null);
let n = a.length;
for (; n--; ) {
let e = a[n];
if ("string" == typeof e) {
const t = s(e);
t !== e && (i(a) || (a[n] = t),
e = t)
}
t[e] = !0
}
return t
}
function M(t) {
for (let e = 0; e < t.length; e++)
y(t, e) || (t[e] = null);
return t
}
function E(e) {
const i = r(null);
for (const [a,s] of t(e))
y(e, a) && (Array.isArray(s) ? i[a] = M(s) : s && "object" == typeof s && s.constructor === Object ? i[a] = E(s) : i[a] = s);
return i
}
function L(t, e) {
for (; null !== t; ) {
const i = s(t, e);
if (i) {
if (i.get)
return x(i.get);
if ("function" == typeof i.value)
return x(i.value)
}
t = a(t)
}
return function() {
return null
}
}
const D = n(["a", "abbr", "acronym", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "content", "data", "datalist", "dd", "decorator", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "fieldset", "figcaption", "figure", "font", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "marquee", "menu", "menuitem", "meter", "nav", "nobr", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "shadow", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "tt", "u", "ul", "var", "video", "wbr"])
, S = n(["svg", "a", "altglyph", "altglyphdef", "altglyphitem", "animatecolor", "animatemotion", "animatetransform", "circle", "clippath", "defs", "desc", "ellipse", "filter", "font", "g", "glyph", "glyphref", "hkern", "image", "line", "lineargradient", "marker", "mask", "metadata", "mpath", "path", "pattern", "polygon", "polyline", "radialgradient", "rect", "stop", "style", "switch", "symbol", "text", "textpath", "title", "tref", "tspan", "view", "vkern"])
, N = n(["feBlend", "feColorMatrix", "feComponentTransfer", "feComposite", "feConvolveMatrix", "feDiffuseLighting", "feDisplacementMap", "feDistantLight", "feDropShadow", "feFlood", "feFuncA", "feFuncB", "feFuncG", "feFuncR", "feGaussianBlur", "feImage", "feMerge", "feMergeNode", "feMorphology", "feOffset", "fePointLight", "feSpecularLighting", "feSpotLight", "feTile", "feTurbulence"])
, A = n(["animate", "color-profile", "cursor", "discard", "font-face", "font-face-format", "font-face-name", "font-face-src", "font-face-uri", "foreignobject", "hatch", "hatchpath", "mesh", "meshgradient", "meshpatch", "meshrow", "missing-glyph", "script", "set", "solidcolor", "unknown", "use"])
, C = n(["math", "menclose", "merror", "mfenced", "mfrac", "mglyph", "mi", "mlabeledtr", "mmultiscripts", "mn", "mo", "mover", "mpadded", "mphantom", "mroot", "mrow", "ms", "mspace", "msqrt", "mstyle", "msub", "msup", "msubsup", "mtable", "mtd", "mtext", "mtr", "munder", "munderover", "mprescripts"])
, I = n(["maction", "maligngroup", "malignmark", "mlongdiv", "mscarries", "mscarry", "msgroup", "mstack", "msline", "msrow", "semantics", "annotation", "annotation-xml", "mprescripts", "none"])
, O = n(["#text"])
, R = n(["accept", "action", "align", "alt", "autocapitalize", "autocomplete", "autopictureinpicture", "autoplay", "background", "bgcolor", "border", "capture", "cellpadding", "cellspacing", "checked", "cite", "class", "clear", "color", "cols", "colspan", "controls", "controlslist", "coords", "crossorigin", "datetime", "decoding", "default", "dir", "disabled", "disablepictureinpicture", "disableremoteplayback", "download", "draggable", "enctype", "enterkeyhint", "face", "for", "headers", "height", "hidden", "high", "href", "hreflang", "id", "inputmode", "integrity", "ismap", "kind", "label", "lang", "list", "loading", "loop", "low", "max", "maxlength", "media", "method", "min", "minlength", "multiple", "muted", "name", "nonce", "noshade", "novalidate", "nowrap", "open", "optimum", "pattern", "placeholder", "playsinline", "popover", "popovertarget", "popovertargetaction", "poster", "preload", "pubdate", "radiogroup", "readonly", "rel", "required", "rev", "reversed", "role", "rows", "rowspan", "spellcheck", "scope", "selected", "shape", "size", "sizes", "span", "srclang", "start", "src", "srcset", "step", "style", "summary", "tabindex", "title", "translate", "type", "usemap", "valign", "value", "width", "wrap", "xmlns", "slot"])
, j = n(["accent-height", "accumulate", "additive", "alignment-baseline", "amplitude", "ascent", "attributename", "attributetype", "azimuth", "basefrequency", "baseline-shift", "begin", "bias", "by", "class", "clip", "clippathunits", "clip-path", "clip-rule", "color", "color-interpolation", "color-interpolation-filters", "color-profile", "color-rendering", "cx", "cy", "d", "dx", "dy", "diffuseconstant", "direction", "display", "divisor", "dur", "edgemode", "elevation", "end", "exponent", "fill", "fill-opacity", "fill-rule", "filter", "filterunits", "flood-color", "flood-opacity", "font-family", "font-size", "font-size-adjust", "font-stretch", "font-style", "font-variant", "font-weight", "fx", "fy", "g1", "g2", "glyph-name", "glyphref", "gradientunits", "gradienttransform", "height", "href", "id", "image-rendering", "in", "in2", "intercept", "k", "k1", "k2", "k3", "k4", "kerning", "keypoints", "keysplines", "keytimes", "lang", "lengthadjust", "letter-spacing", "kernelmatrix", "kernelunitlength", "lighting-color", "local", "marker-end", "marker-mid", "marker-start", "markerheight", "markerunits", "markerwidth", "maskcontentunits", "maskunits", "max", "mask", "media", "method", "mode", "min", "name", "numoctaves", "offset", "operator", "opacity", "order", "orient", "orientation", "origin", "overflow", "paint-order", "path", "pathlength", "patterncontentunits", "patterntransform", "patternunits", "points", "preservealpha", "preserveaspectratio", "primitiveunits", "r", "rx", "ry", "radius", "refx", "refy", "repeatcount", "repeatdur", "restart", "result", "rotate", "scale", "seed", "shape-rendering", "slope", "specularconstant", "specularexponent", "spreadmethod", "startoffset", "stddeviation", "stitchtiles", "stop-color", "stop-opacity", "stroke-dasharray", "stroke-dashoffset", "stroke-linecap", "stroke-linejoin", "stroke-miterlimit", "stroke-opacity", "stroke", "stroke-width", "style", "surfacescale", "systemlanguage", "tabindex", "tablevalues", "targetx", "targety", "transform", "transform-origin", "text-anchor", "text-decoration", "text-rendering", "textlength", "type", "u1", "u2", "unicode", "values", "viewbox", "visibility", "version", "vert-adv-y", "vert-origin-x", "vert-origin-y", "width", "word-spacing", "wrap", "writing-mode", "xchannelselector", "ychannelselector", "x", "x1", "x2", "xmlns", "y", "y1", "y2", "z", "zoomandpan"])
, P = n(["accent", "accentunder", "align", "bevelled", "close", "columnsalign", "columnlines", "columnspan", "denomalign", "depth", "dir", "display", "displaystyle", "encoding", "fence", "frame", "height", "href", "id", "largeop", "length", "linethickness", "lspace", "lquote", "mathbackground", "mathcolor", "mathsize", "mathvariant", "maxsize", "minsize", "movablelimits", "notation", "numalign", "open", "rowalign", "rowlines", "rowspacing", "rowspan", "rspace", "rquote", "scriptlevel", "scriptminsize", "scriptsizemultiplier", "selection", "separator", "separators", "stretchy", "subscriptshift", "supscriptshift", "symmetric", "voffset", "width", "xmlns"])
, z = n(["xlink:href", "xml:id", "xlink:title", "xml:space", "xmlns:xlink"])
, H = o(/\{\{[\w\W]*|[\w\W]*\}\}/gm)
, F = o(/<%[\w\W]*|[\w\W]*%>/gm)
, q = o(/\${[\w\W]*}/gm)
, $ = o(/^data-[\-\w.\u00B7-\uFFFF]/)
, U = o(/^aria-[\-\w]+$/)
, B = o(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i)
, W = o(/^(?:\w+script|data):/i)
, G = o(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g)
, Y = o(/^html$/i)
, Z = o(/^[a-z][.\w]*(-[.\w]+)+$/i);
var V = Object.freeze({
__proto__: null,
MUSTACHE_EXPR: H,
ERB_EXPR: F,
TMPLIT_EXPR: q,
DATA_ATTR: $,
ARIA_ATTR: U,
IS_ALLOWED_URI: B,
IS_SCRIPT_OR_DATA: W,
ATTR_WHITESPACE: G,
DOCTYPE_NAME: Y,
CUSTOM_ELEMENT: Z
});
const X = 1
, J = 3
, K = 7
, Q = 8
, tt = 9
, et = function() {
return "undefined" == typeof window ? null : window
};
return function e() {
let i = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : et();
const a = t => e(t);
if (a.version = "3.1.7",
a.removed = [],
!i || !i.document || i.document.nodeType !== tt)
return a.isSupported = !1,
a;
let {document: s} = i;
const o = s
, l = o.currentScript
, {DocumentFragment: h, HTMLTemplateElement: k, Node: x, Element: M, NodeFilter: H, NamedNodeMap: F=i.NamedNodeMap || i.MozNamedAttrMap, HTMLFormElement: q, DOMParser: $, trustedTypes: U} = i
, W = M.prototype
, G = L(W, "cloneNode")
, Z = L(W, "remove")
, it = L(W, "nextSibling")
, at = L(W, "childNodes")
, st = L(W, "parentNode");
if ("function" == typeof k) {
const t = s.createElement("template");
t.content && t.content.ownerDocument && (s = t.content.ownerDocument)
}
let nt, ot = "";
const {implementation: rt, createNodeIterator: lt, createDocumentFragment: ht, getElementsByTagName: dt} = s
, {importNode: ct} = o;
let ut = {};
a.isSupported = "function" == typeof t && "function" == typeof st && rt && void 0 !== rt.createHTMLDocument;
const {MUSTACHE_EXPR: mt, ERB_EXPR: _t, TMPLIT_EXPR: pt, DATA_ATTR: ft, ARIA_ATTR: gt, IS_SCRIPT_OR_DATA: vt, ATTR_WHITESPACE: yt, CUSTOM_ELEMENT: bt} = V;
let {IS_ALLOWED_URI: wt} = V
, kt = null;
const xt = T({}, [...D, ...S, ...N, ...C, ...O]);
let Tt = null;
const Mt = T({}, [...R, ...j, ...P, ...z]);
let Et = Object.seal(r(null, {
tagNameCheck: {
writable: !0,
configurable: !1,
enumerable: !0,
value: null
},
attributeNameCheck: {
writable: !0,
configurable: !1,
enumerable: !0,
value: null
},
allowCustomizedBuiltInElements: {
writable: !0,
configurable: !1,
enumerable: !0,
value: !1
}
}))
, Lt = null
, Dt = null
, St = !0
, Nt = !0
, At = !1
, Ct = !0
, It = !1
, Ot = !0
, Rt = !1
, jt = !1
, Pt = !1
, zt = !1
, Ht = !1
, Ft = !1
, qt = !0
, $t = !1
, Ut = !0
, Bt = !1
, Wt = {}
, Gt = null;
const Yt = T({}, ["annotation-xml", "audio", "colgroup", "desc", "foreignobject", "head", "iframe", "math", "mi", "mn", "mo", "ms", "mtext", "noembed", "noframes", "noscript", "plaintext", "script", "style", "svg", "template", "thead", "title", "video", "xmp"]);
let Zt = null;
const Vt = T({}, ["audio", "video", "img", "source", "image", "track"]);
let Xt = null;
const Jt = T({}, ["alt", "class", "for", "id", "label", "name", "pattern", "placeholder", "role", "summary", "title", "value", "style", "xmlns"])
, Kt = "http://www.w3.org/1998/Math/MathML"
, Qt = "http://www.w3.org/2000/svg"
, te = "http://www.w3.org/1999/xhtml";
let ee = te
, ie = !1
, ae = null;
const se = T({}, [Kt, Qt, te], _);
let ne = null;
const oe = ["application/xhtml+xml", "text/html"];
let re = null
, le = null;
const he = s.createElement("form")
, de = function(t) {
return t instanceof RegExp || t instanceof Function
}
, ce = function() {
let t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
if (!le || le !== t) {
if (t && "object" == typeof t || (t = {}),
t = E(t),
ne = -1 === oe.indexOf(t.PARSER_MEDIA_TYPE) ? "text/html" : t.PARSER_MEDIA_TYPE,
re = "application/xhtml+xml" === ne ? _ : m,
kt = y(t, "ALLOWED_TAGS") ? T({}, t.ALLOWED_TAGS, re) : xt,
Tt = y(t, "ALLOWED_ATTR") ? T({}, t.ALLOWED_ATTR, re) : Mt,
ae = y(t, "ALLOWED_NAMESPACES") ? T({}, t.ALLOWED_NAMESPACES, _) : se,
Xt = y(t, "ADD_URI_SAFE_ATTR") ? T(E(Jt), t.ADD_URI_SAFE_ATTR, re) : Jt,
Zt = y(t, "ADD_DATA_URI_TAGS") ? T(E(Vt), t.ADD_DATA_URI_TAGS, re) : Vt,
Gt = y(t, "FORBID_CONTENTS") ? T({}, t.FORBID_CONTENTS, re) : Yt,
Lt = y(t, "FORBID_TAGS") ? T({}, t.FORBID_TAGS, re) : {},
Dt = y(t, "FORBID_ATTR") ? T({}, t.FORBID_ATTR, re) : {},
Wt = !!y(t, "USE_PROFILES") && t.USE_PROFILES,
St = !1 !== t.ALLOW_ARIA_ATTR,
Nt = !1 !== t.ALLOW_DATA_ATTR,
At = t.ALLOW_UNKNOWN_PROTOCOLS || !1,
Ct = !1 !== t.ALLOW_SELF_CLOSE_IN_ATTR,
It = t.SAFE_FOR_TEMPLATES || !1,
Ot = !1 !== t.SAFE_FOR_XML,
Rt = t.WHOLE_DOCUMENT || !1,
zt = t.RETURN_DOM || !1,
Ht = t.RETURN_DOM_FRAGMENT || !1,
Ft = t.RETURN_TRUSTED_TYPE || !1,
Pt = t.FORCE_BODY || !1,
qt = !1 !== t.SANITIZE_DOM,
$t = t.SANITIZE_NAMED_PROPS || !1,
Ut = !1 !== t.KEEP_CONTENT,
Bt = t.IN_PLACE || !1,
wt = t.ALLOWED_URI_REGEXP || B,
ee = t.NAMESPACE || te,
Et = t.CUSTOM_ELEMENT_HANDLING || {},
t.CUSTOM_ELEMENT_HANDLING && de(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck) && (Et.tagNameCheck = t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),
t.CUSTOM_ELEMENT_HANDLING && de(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck) && (Et.attributeNameCheck = t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),
t.CUSTOM_ELEMENT_HANDLING && "boolean" == typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (Et.allowCustomizedBuiltInElements = t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),
It && (Nt = !1),
Ht && (zt = !0),
Wt && (kt = T({}, O),
Tt = [],
!0 === Wt.html && (T(kt, D),
T(Tt, R)),
!0 === Wt.svg && (T(kt, S),
T(Tt, j),
T(Tt, z)),
!0 === Wt.svgFilters && (T(kt, N),
T(Tt, j),
T(Tt, z)),
!0 === Wt.mathMl && (T(kt, C),
T(Tt, P),
T(Tt, z))),
t.ADD_TAGS && (kt === xt && (kt = E(kt)),
T(kt, t.ADD_TAGS, re)),
t.ADD_ATTR && (Tt === Mt && (Tt = E(Tt)),
T(Tt, t.ADD_ATTR, re)),
t.ADD_URI_SAFE_ATTR && T(Xt, t.ADD_URI_SAFE_ATTR, re),
t.FORBID_CONTENTS && (Gt === Yt && (Gt = E(Gt)),
T(Gt, t.FORBID_CONTENTS, re)),
Ut && (kt["#text"] = !0),
Rt && T(kt, ["html", "head", "body"]),
kt.table && (T(kt, ["tbody"]),
delete Lt.tbody),
t.TRUSTED_TYPES_POLICY) {
if ("function" != typeof t.TRUSTED_TYPES_POLICY.createHTML)
throw w('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
if ("function" != typeof t.TRUSTED_TYPES_POLICY.createScriptURL)
throw w('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');
nt = t.TRUSTED_TYPES_POLICY,
ot = nt.createHTML("")
} else
void 0 === nt && (nt = function(t, e) {
if ("object" != typeof t || "function" != typeof t.createPolicy)
return null;
let i = null;
const a = "data-tt-policy-suffix";
e && e.hasAttribute(a) && (i = e.getAttribute(a));
const s = "dompurify" + (i ? "#" + i : "");
try {
return t.createPolicy(s, {
createHTML: t => t,
createScriptURL: t => t
})
} catch (t) {
return console.warn("TrustedTypes policy " + s + " could not be created."),
null
}
}(U, l)),
null !== nt && "string" == typeof ot && (ot = nt.createHTML(""));
n && n(t),
le = t
}
}
, ue = T({}, ["mi", "mo", "mn", "ms", "mtext"])
, me = T({}, ["annotation-xml"])
, _e = T({}, ["title", "style", "font", "a", "script"])
, pe = T({}, [...S, ...N, ...A])
, fe = T({}, [...C, ...I])
, ge = function(t) {
u(a.removed, {
element: t
});
try {
st(t).removeChild(t)
} catch (e) {
Z(t)
}
}
, ve = function(t, e) {
try {
u(a.removed, {
attribute: e.getAttributeNode(t),
from: e
})
} catch (t) {
u(a.removed, {
attribute: null,
from: e
})
}
if (e.removeAttribute(t),
"is" === t && !Tt[t])
if (zt || Ht)
try {
ge(e)
} catch (t) {}
else
try {
e.setAttribute(t, "")
} catch (t) {}
}
, ye = function(t) {
let e = null
, i = null;
if (Pt)
t = "" + t;
else {
const e = p(t, /^[\r\n\t ]+/);
i = e && e[0]
}
"application/xhtml+xml" === ne && ee === te && (t = '
' + t + "");
const a = nt ? nt.createHTML(t) : t;
if (ee === te)
try {
e = (new $).parseFromString(a, ne)
} catch (t) {}
if (!e || !e.documentElement) {
e = rt.createDocument(ee, "template", null);
try {
e.documentElement.innerHTML = ie ? ot : a
} catch (t) {}
}
const n = e.body || e.documentElement;
return t && i && n.insertBefore(s.createTextNode(i), n.childNodes[0] || null),
ee === te ? dt.call(e, Rt ? "html" : "body")[0] : Rt ? e.documentElement : n
}
, be = function(t) {
return lt.call(t.ownerDocument || t, t, H.SHOW_ELEMENT | H.SHOW_COMMENT | H.SHOW_TEXT | H.SHOW_PROCESSING_INSTRUCTION | H.SHOW_CDATA_SECTION, null)
}
, we = function(t) {
return t instanceof q && ("string" != typeof t.nodeName || "string" != typeof t.textContent || "function" != typeof t.removeChild || !(t.attributes instanceof F) || "function" != typeof t.removeAttribute || "function" != typeof t.setAttribute || "string" != typeof t.namespaceURI || "function" != typeof t.insertBefore || "function" != typeof t.hasChildNodes)
}
, ke = function(t) {
return "function" == typeof x && t instanceof x
}
, xe = function(t, e, i) {
ut[t] && d(ut[t], (t => {
t.call(a, e, i, le)
}
))
}
, Te = function(t) {
let e = null;
if (xe("beforeSanitizeElements", t, null),
we(t))
return ge(t),
!0;
const i = re(t.nodeName);
if (xe("uponSanitizeElement", t, {
tagName: i,
allowedTags: kt
}),
t.hasChildNodes() && !ke(t.firstElementChild) && b(/<[/\w]/g, t.innerHTML) && b(/<[/\w]/g, t.textContent))
return ge(t),
!0;
if (t.nodeType === K)
return ge(t),
!0;
if (Ot && t.nodeType === Q && b(/<[/\w]/g, t.data))
return ge(t),
!0;
if (!kt[i] || Lt[i]) {
if (!Lt[i] && Ee(i)) {
if (Et.tagNameCheck instanceof RegExp && b(Et.tagNameCheck, i))
return !1;
if (Et.tagNameCheck instanceof Function && Et.tagNameCheck(i))
return !1
}
if (Ut && !Gt[i]) {
const e = st(t) || t.parentNode
, i = at(t) || t.childNodes;
if (i && e)
for (let a = i.length - 1; a >= 0; --a) {
const s = G(i[a], !0);
s.__removalCount = (t.__removalCount || 0) + 1,
e.insertBefore(s, it(t))
}
}
return ge(t),
!0
}
return t instanceof M && !function(t) {
let e = st(t);
e && e.tagName || (e = {
namespaceURI: ee,
tagName: "template"
});
const i = m(t.tagName)
, a = m(e.tagName);
return !!ae[t.namespaceURI] && (t.namespaceURI === Qt ? e.namespaceURI === te ? "svg" === i : e.namespaceURI === Kt ? "svg" === i && ("annotation-xml" === a || ue[a]) : Boolean(pe[i]) : t.namespaceURI === Kt ? e.namespaceURI === te ? "math" === i : e.namespaceURI === Qt ? "math" === i && me[a] : Boolean(fe[i]) : t.namespaceURI === te ? !(e.namespaceURI === Qt && !me[a]) && !(e.namespaceURI === Kt && !ue[a]) && !fe[i] && (_e[i] || !pe[i]) : !("application/xhtml+xml" !== ne || !ae[t.namespaceURI]))
}(t) ? (ge(t),
!0) : "noscript" !== i && "noembed" !== i && "noframes" !== i || !b(/<\/no(script|embed|frames)/i, t.innerHTML) ? (It && t.nodeType === J && (e = t.textContent,
d([mt, _t, pt], (t => {
e = f(e, t, " ")
}
)),
t.textContent !== e && (u(a.removed, {
element: t.cloneNode()
}),
t.textContent = e)),
xe("afterSanitizeElements", t, null),
!1) : (ge(t),
!0)
}
, Me = function(t, e, i) {
if (qt && ("id" === e || "name" === e) && (i in s || i in he))
return !1;
if (Nt && !Dt[e] && b(ft, e))
;
else if (St && b(gt, e))
;
else if (!Tt[e] || Dt[e]) {
if (!(Ee(t) && (Et.tagNameCheck instanceof RegExp && b(Et.tagNameCheck, t) || Et.tagNameCheck instanceof Function && Et.tagNameCheck(t)) && (Et.attributeNameCheck instanceof RegExp && b(Et.attributeNameCheck, e) || Et.attributeNameCheck instanceof Function && Et.attributeNameCheck(e)) || "is" === e && Et.allowCustomizedBuiltInElements && (Et.tagNameCheck instanceof RegExp && b(Et.tagNameCheck, i) || Et.tagNameCheck instanceof Function && Et.tagNameCheck(i))))
return !1
} else if (Xt[e])
;
else if (b(wt, f(i, yt, "")))
;
else if ("src" !== e && "xlink:href" !== e && "href" !== e || "script" === t || 0 !== g(i, "data:") || !Zt[t])
if (At && !b(vt, f(i, yt, "")))
;
else if (i)
return !1;
return !0
}
, Ee = function(t) {
return "annotation-xml" !== t && p(t, bt)
}
, Le = function(t) {
xe("beforeSanitizeAttributes", t, null);
const {attributes: e} = t;
if (!e)
return;
const i = {
attrName: "",
attrValue: "",
keepAttr: !0,
allowedAttributes: Tt
};
let s = e.length;
for (; s--; ) {
const n = e[s]
, {name: o, namespaceURI: r, value: l} = n
, h = re(o);
let u = "value" === o ? l : v(l);
if (i.attrName = h,
i.attrValue = u,
i.keepAttr = !0,
i.forceKeepAttr = void 0,
xe("uponSanitizeAttribute", t, i),
u = i.attrValue,
i.forceKeepAttr)
continue;
if (ve(o, t),
!i.keepAttr)
continue;
if (!Ct && b(/\/>/i, u)) {
ve(o, t);
continue
}
It && d([mt, _t, pt], (t => {
u = f(u, t, " ")
}
));
const m = re(t.nodeName);
if (Me(m, h, u))
if (!$t || "id" !== h && "name" !== h || (ve(o, t),
u = "user-content-" + u),
Ot && b(/((--!?|])>)|<\/(style|title)/i, u))
ve(o, t);
else {
if (nt && "object" == typeof U && "function" == typeof U.getAttributeType)
if (r)
;
else
switch (U.getAttributeType(m, h)) {
case "TrustedHTML":
u = nt.createHTML(u);
break;
case "TrustedScriptURL":
u = nt.createScriptURL(u)
}
try {
r ? t.setAttributeNS(r, o, u) : t.setAttribute(o, u),
we(t) ? ge(t) : c(a.removed)
} catch (t) {}
}
}
xe("afterSanitizeAttributes", t, null)
}
, De = function t(e) {
let i = null;
const a = be(e);
for (xe("beforeSanitizeShadowDOM", e, null); i = a.nextNode(); )
xe("uponSanitizeShadowNode", i, null),
Te(i) || (i.content instanceof h && t(i.content),
Le(i));
xe("afterSanitizeShadowDOM", e, null)
};
return a.sanitize = function(t) {
let e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}
, i = null
, s = null
, n = null
, r = null;
if (ie = !t,
ie && (t = "\x3c!--\x3e"),
"string" != typeof t && !ke(t)) {
if ("function" != typeof t.toString)
throw w("toString is not a function");
if ("string" != typeof (t = t.toString()))
throw w("dirty is not a string, aborting")
}
if (!a.isSupported)
return t;
if (jt || ce(e),
a.removed = [],
"string" == typeof t && (Bt = !1),
Bt) {
if (t.nodeName) {
const e = re(t.nodeName);
if (!kt[e] || Lt[e])
throw w("root node is forbidden and cannot be sanitized in-place")
}
} else if (t instanceof x)
i = ye("\x3c!----\x3e"),
s = i.ownerDocument.importNode(t, !0),
s.nodeType === X && "BODY" === s.nodeName || "HTML" === s.nodeName ? i = s : i.appendChild(s);
else {
if (!zt && !It && !Rt && -1 === t.indexOf("<"))
return nt && Ft ? nt.createHTML(t) : t;
if (i = ye(t),
!i)
return zt ? null : Ft ? ot : ""
}
i && Pt && ge(i.firstChild);
const l = be(Bt ? t : i);
for (; n = l.nextNode(); )
Te(n) || (n.content instanceof h && De(n.content),
Le(n));
if (Bt)
return t;
if (zt) {
if (Ht)
for (r = ht.call(i.ownerDocument); i.firstChild; )
r.appendChild(i.firstChild);
else
r = i;
return (Tt.shadowroot || Tt.shadowrootmode) && (r = ct.call(o, r, !0)),
r
}
let c = Rt ? i.outerHTML : i.innerHTML;
return Rt && kt["!doctype"] && i.ownerDocument && i.ownerDocument.doctype && i.ownerDocument.doctype.name && b(Y, i.ownerDocument.doctype.name) && (c = "\n" + c),
It && d([mt, _t, pt], (t => {
c = f(c, t, " ")
}
)),
nt && Ft ? nt.createHTML(c) : c
}
,
a.setConfig = function() {
ce(arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}),
jt = !0
}
,
a.clearConfig = function() {
le = null,
jt = !1
}
,
a.isValidAttribute = function(t, e, i) {
le || ce({});
const a = re(t)
, s = re(e);
return Me(a, s, i)
}
,
a.addHook = function(t, e) {
"function" == typeof e && (ut[t] = ut[t] || [],
u(ut[t], e))
}
,
a.removeHook = function(t) {
if (ut[t])
return c(ut[t])
}
,
a.removeHooks = function(t) {
ut[t] && (ut[t] = [])
}
,
a.removeAllHooks = function() {
ut = {}
}
,
a
}()
}()
},
142: () => {
var t = function() {
function t(t, e) {
for (var i = 0; i < e.length; i++) {
var a = e[i];
a.enumerable = a.enumerable || !1,
a.configurable = !0,
"value"in a && (a.writable = !0),
Object.defineProperty(t, a.key, a)
}
}
return function(e, i, a) {
return i && t(e.prototype, i),
a && t(e, a),
e
}
}();
function e(t, e) {
if (!(t instanceof e))
throw new TypeError("Cannot call a class as a function")
}
!function() {
if ("undefined" != typeof window) {
var i = Array.prototype.slice
, a = Element.prototype.matches || Element.prototype.msMatchesSelector
, s = ["a[href]", "area[href]", "input:not([disabled])", "select:not([disabled])", "textarea:not([disabled])", "button:not([disabled])", "details", "summary", "iframe", "object", "embed", "[contenteditable]"].join(",")
, n = function() {
function n(t, i) {
e(this, n),
this._inertManager = i,
this._rootElement = t,
this._managedNodes = new Set,
this._rootElement.hasAttribute("aria-hidden") ? this._savedAriaHidden = this._rootElement.getAttribute("aria-hidden") : this._savedAriaHidden = null,
this._rootElement.setAttribute("aria-hidden", "true"),
this._makeSubtreeUnfocusable(this._rootElement),
this._observer = new MutationObserver(this._onMutation.bind(this)),
this._observer.observe(this._rootElement, {
attributes: !0,
childList: !0,
subtree: !0
})
}
return t(n, [{
key: "destructor",
value: function() {
this._observer.disconnect(),
this._rootElement && (null !== this._savedAriaHidden ? this._rootElement.setAttribute("aria-hidden", this._savedAriaHidden) : this._rootElement.removeAttribute("aria-hidden")),
this._managedNodes.forEach((function(t) {
this._unmanageNode(t.node)
}
), this),
this._observer = null,
this._rootElement = null,
this._managedNodes = null,
this._inertManager = null
}
}, {
key: "_makeSubtreeUnfocusable",
value: function(t) {
var e = this;
h(t, (function(t) {
return e._visitNode(t)
}
));
var i = document.activeElement;
if (!document.body.contains(t)) {
for (var a = t, s = void 0; a; ) {
if (a.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
s = a;
break
}
a = a.parentNode
}
s && (i = s.activeElement)
}
t.contains(i) && (i.blur(),
i === document.activeElement && document.body.focus())
}
}, {
key: "_visitNode",
value: function(t) {
if (t.nodeType === Node.ELEMENT_NODE) {
var e = t;
e !== this._rootElement && e.hasAttribute("inert") && this._adoptInertRoot(e),
(a.call(e, s) || e.hasAttribute("tabindex")) && this._manageNode(e)
}
}
}, {
key: "_manageNode",
value: function(t) {
var e = this._inertManager.register(t, this);
this._managedNodes.add(e)
}
}, {
key: "_unmanageNode",
value: function(t) {
var e = this._inertManager.deregister(t, this);
e && this._managedNodes.delete(e)
}
}, {
key: "_unmanageSubtree",
value: function(t) {
var e = this;
h(t, (function(t) {
return e._unmanageNode(t)
}
))
}
}, {
key: "_adoptInertRoot",
value: function(t) {
var e = this._inertManager.getInertRoot(t);
e || (this._inertManager.setInert(t, !0),
e = this._inertManager.getInertRoot(t)),
e.managedNodes.forEach((function(t) {
this._manageNode(t.node)
}
), this)
}
}, {
key: "_onMutation",
value: function(t, e) {
t.forEach((function(t) {
var e = t.target;
if ("childList" === t.type)
i.call(t.addedNodes).forEach((function(t) {
this._makeSubtreeUnfocusable(t)
}
), this),
i.call(t.removedNodes).forEach((function(t) {
this._unmanageSubtree(t)
}
), this);
else if ("attributes" === t.type)
if ("tabindex" === t.attributeName)
this._manageNode(e);
else if (e !== this._rootElement && "inert" === t.attributeName && e.hasAttribute("inert")) {
this._adoptInertRoot(e);
var a = this._inertManager.getInertRoot(e);
this._managedNodes.forEach((function(t) {
e.contains(t.node) && a._manageNode(t.node)
}
))
}
}
), this)
}
}, {
key: "managedNodes",
get: function() {
return new Set(this._managedNodes)
}
}, {
key: "hasSavedAriaHidden",
get: function() {
return null !== this._savedAriaHidden
}
}, {
key: "savedAriaHidden",
set: function(t) {
this._savedAriaHidden = t
},
get: function() {
return this._savedAriaHidden
}
}]),
n
}()
, o = function() {
function i(t, a) {
e(this, i),
this._node = t,
this._overrodeFocusMethod = !1,
this._inertRoots = new Set([a]),
this._savedTabIndex = null,
this._destroyed = !1,
this.ensureUntabbable()
}
return t(i, [{
key: "destructor",
value: function() {
if (this._throwIfDestroyed(),
this._node && this._node.nodeType === Node.ELEMENT_NODE) {
var t = this._node;
null !== this._savedTabIndex ? t.setAttribute("tabindex", this._savedTabIndex) : t.removeAttribute("tabindex"),
this._overrodeFocusMethod && delete t.focus
}
this._node = null,
this._inertRoots = null,
this._destroyed = !0
}
}, {
key: "_throwIfDestroyed",
value: function() {
if (this.destroyed)
throw new Error("Trying to access destroyed InertNode")
}
}, {
key: "ensureUntabbable",
value: function() {
if (this.node.nodeType === Node.ELEMENT_NODE) {
var t = this.node;
if (a.call(t, s)) {
if (-1 === t.tabIndex && this.hasSavedTabIndex)
return;
t.hasAttribute("tabindex") && (this._savedTabIndex = t.tabIndex),
t.setAttribute("tabindex", "-1"),
t.nodeType === Node.ELEMENT_NODE && (t.focus = function() {}
,
this._overrodeFocusMethod = !0)
} else
t.hasAttribute("tabindex") && (this._savedTabIndex = t.tabIndex,
t.removeAttribute("tabindex"))
}
}
}, {
key: "addInertRoot",
value: function(t) {
this._throwIfDestroyed(),
this._inertRoots.add(t)
}
}, {
key: "removeInertRoot",
value: function(t) {
this._throwIfDestroyed(),
this._inertRoots.delete(t),
0 === this._inertRoots.size && this.destructor()
}
}, {
key: "destroyed",
get: function() {
return this._destroyed
}
}, {
key: "hasSavedTabIndex",
get: function() {
return null !== this._savedTabIndex
}
}, {
key: "node",
get: function() {
return this._throwIfDestroyed(),
this._node
}
}, {
key: "savedTabIndex",
set: function(t) {
this._throwIfDestroyed(),
this._savedTabIndex = t
},
get: function() {
return this._throwIfDestroyed(),
this._savedTabIndex
}
}]),
i
}()
, r = function() {
function s(t) {
if (e(this, s),
!t)
throw new Error("Missing required argument; InertManager needs to wrap a document.");
this._document = t,
this._managedNodes = new Map,
this._inertRoots = new Map,
this._observer = new MutationObserver(this._watchForInert.bind(this)),
d(t.head || t.body || t.documentElement),
"loading" === t.readyState ? t.addEventListener("DOMContentLoaded", this._onDocumentLoaded.bind(this)) : this._onDocumentLoaded()
}
return t(s, [{
key: "setInert",
value: function(t, e) {
if (e) {
if (this._inertRoots.has(t))
return;
var i = new n(t,this);
if (t.setAttribute("inert", ""),
this._inertRoots.set(t, i),
!this._document.body.contains(t))
for (var a = t.parentNode; a; )
11 === a.nodeType && d(a),
a = a.parentNode
} else {
if (!this._inertRoots.has(t))
return;
this._inertRoots.get(t).destructor(),
this._inertRoots.delete(t),
t.removeAttribute("inert")
}
}
}, {
key: "getInertRoot",
value: function(t) {
return this._inertRoots.get(t)
}
}, {
key: "register",
value: function(t, e) {
var i = this._managedNodes.get(t);
return void 0 !== i ? i.addInertRoot(e) : i = new o(t,e),
this._managedNodes.set(t, i),
i
}
}, {
key: "deregister",
value: function(t, e) {
var i = this._managedNodes.get(t);
return i ? (i.removeInertRoot(e),
i.destroyed && this._managedNodes.delete(t),
i) : null
}
}, {
key: "_onDocumentLoaded",
value: function() {
i.call(this._document.querySelectorAll("[inert]")).forEach((function(t) {
this.setInert(t, !0)
}
), this),
this._observer.observe(this._document.body || this._document.documentElement, {
attributes: !0,
subtree: !0,
childList: !0
})
}
}, {
key: "_watchForInert",
value: function(t, e) {
var s = this;
t.forEach((function(t) {
switch (t.type) {
case "childList":
i.call(t.addedNodes).forEach((function(t) {
if (t.nodeType === Node.ELEMENT_NODE) {
var e = i.call(t.querySelectorAll("[inert]"));
a.call(t, "[inert]") && e.unshift(t),
e.forEach((function(t) {
this.setInert(t, !0)
}
), s)
}
}
), s);
break;
case "attributes":
if ("inert" !== t.attributeName)
return;
var e = t.target
, n = e.hasAttribute("inert");
s.setInert(e, n)
}
}
), this)
}
}]),
s
}();
if (!HTMLElement.prototype.hasOwnProperty("inert")) {
var l = new r(document);
Object.defineProperty(HTMLElement.prototype, "inert", {
enumerable: !0,
get: function() {
return this.hasAttribute("inert")
},
set: function(t) {
l.setInert(this, t)
}
})
}
}
function h(t, e, i) {
if (t.nodeType == Node.ELEMENT_NODE) {
var a = t;
e && e(a);
var s = a.shadowRoot;
if (s)
return void h(s, e, s);
if ("content" == a.localName) {
for (var n = a, o = n.getDistributedNodes ? n.getDistributedNodes() : [], r = 0; r < o.length; r++)
h(o[r], e, i);
return
}
if ("slot" == a.localName) {
for (var l = a, d = l.assignedNodes ? l.assignedNodes({
flatten: !0
}) : [], c = 0; c < d.length; c++)
h(d[c], e, i);
return
}
}
for (var u = t.firstChild; null != u; )
h(u, e, i),
u = u.nextSibling
}
function d(t) {
if (!t.querySelector("style#inert-style, link#inert-style")) {
var e = document.createElement("style");
e.setAttribute("id", "inert-style"),
e.textContent = "\n[inert] {\n pointer-events: none;\n cursor: default;\n}\n\n[inert], [inert] * {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n",
t.appendChild(e)
}
}
}()
}
}
, e = {};
function i(a) {
var s = e[a];
if (void 0 !== s)
return s.exports;
var n = e[a] = {
exports: {}
};
return t[a].call(n.exports, n, n.exports, i),
n.exports
}
i.n = t => {
var e = t && t.__esModule ? () => t.default : () => t;
return i.d(e, {
a: e
}),
e
}
,
i.d = (t, e) => {
for (var a in e)
i.o(e, a) && !i.o(t, a) && Object.defineProperty(t, a, {
enumerable: !0,
get: e[a]
})
}
,
i.o = (t, e) => Object.prototype.hasOwnProperty.call(t, e),
i.r = t => {
"undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {
value: "Module"
}),
Object.defineProperty(t, "__esModule", {
value: !0
})
}
;
var a = {};
( () => {
"use strict";
i.r(a),
i.d(a, {
Timeline: () => Xe,
exportJSON: () => Je,
lookupMediaType: () => qe,
parseGoogleSpreadsheetURL: () => Kt
});
const t = navigator ? navigator.userAgent.toLowerCase() : "no-user-agent-specified"
, e = document ? document.documentElement : null
, s = !!t && -1 !== t.indexOf("phantom")
, o = window && "ActiveXObject"in window
, r = (Boolean(o && t.match(/MSIE 9/i)),
o && document && document.addEventListener,
-1 !== t.indexOf("webkit"))
, l = (t.indexOf("android"),
-1 !== t.search("android [23]"))
, h = !!window && void 0 !== window.orientation
, d = !(!navigator || !window) && navigator.msPointerEnabled && navigator.msMaxTouchPoints && !window.PointerEvent
, c = navigator && window ? window.PointerEvent && navigator.pointerEnabled && navigator.maxTouchPoints : d
, u = !!window && window.opera
, m = (t.indexOf("gecko"),
-1 !== t.indexOf("gecko") && !r && !u && !o)
, _ = (t.indexOf("chrome"),
-1 !== t.indexOf("edge/"));
!!e && o && e.style,
!!window && "WebKitCSSMatrix"in window && new window.WebKitCSSMatrix,
!!e && e.style,
!!e && e.style;
window && window.L_DISABLE_3D,
h && window.opera;
let p = !!window && "devicePixelRatio"in window && window.devicePixelRatio > 1;
if (!p && window && "matchMedia"in window) {
let t = window.matchMedia("(min-resolution:144dpi)");
p = t && t.matches
}
const f = window && !window.L_NO_TOUCH && !s && (c || "ontouchstart"in window || window.DocumentTouch && document instanceof window.DocumentTouch);
function g(t) {
return "string" == typeof t ? document.getElementById(t) : t
}
function v(t, e, i) {
var a = document.createElement(t);
return a.className = e,
i && i.appendChild(a),
a
}
function y(t, e) {
var i = v("button", t, e);
return i.type = "button",
i
}
function b(t) {
for (var e = {
x: 0,
y: 0
}; t && !isNaN(t.offsetLeft) && !isNaN(t.offsetTop); )
e.x += t.offsetLeft,
e.y += t.offsetTop,
t = t.offsetParent;
return e
}
function w(t) {
for (var e = document.documentElement.style, i = 0; i < t.length; i++)
if (t[i]in e)
return t[i];
return !1
}
w(["transition", "webkitTransition", "OTransition", "MozTransition", "msTransition"]),
w(["transformProperty", "WebkitTransform", "OTransform", "MozTransform", "msTransform"]);
class x extends Error {
constructor(t, e) {
super(),
this.name = "TLError",
this.message = t || "error",
this.message_key = this.message,
this.detail = e || ""
}
}
const T = {
aliceblue: "#f0f8ff",
antiquewhite: "#faebd7",
aqua: "#00ffff",
aquamarine: "#7fffd4",
azure: "#f0ffff",
beige: "#f5f5dc",
bisque: "#ffe4c4",
black: "#000000",
blanchedalmond: "#ffebcd",
blue: "#0000ff",
blueviolet: "#8a2be2",
brown: "#a52a2a",
burlywood: "#deb887",
cadetblue: "#5f9ea0",
chartreuse: "#7fff00",
chocolate: "#d2691e",
coral: "#ff7f50",
cornflowerblue: "#6495ed",
cornsilk: "#fff8dc",
crimson: "#dc143c",
cyan: "#00ffff",
darkblue: "#00008b",
darkcyan: "#008b8b",
darkgoldenrod: "#b8860b",
darkgray: "#a9a9a9",
darkgreen: "#006400",
darkkhaki: "#bdb76b",
darkmagenta: "#8b008b",
darkolivegreen: "#556b2f",
darkorange: "#ff8c00",
darkorchid: "#9932cc",
darkred: "#8b0000",
darksalmon: "#e9967a",
darkseagreen: "#8fbc8f",
darkslateblue: "#483d8b",
darkslategray: "#2f4f4f",
darkturquoise: "#00ced1",
darkviolet: "#9400d3",
deeppink: "#ff1493",
deepskyblue: "#00bfff",
dimgray: "#696969",
dodgerblue: "#1e90ff",
firebrick: "#b22222",
floralwhite: "#fffaf0",
forestgreen: "#228b22",
fuchsia: "#ff00ff",
gainsboro: "#dcdcdc",
ghostwhite: "#f8f8ff",
gold: "#ffd700",
goldenrod: "#daa520",
gray: "#808080",
green: "#008000",
greenyellow: "#adff2f",
honeydew: "#f0fff0",
hotpink: "#ff69b4",
indianred: "#cd5c5c",
indigo: "#4b0082",
ivory: "#fffff0",
khaki: "#f0e68c",
lavender: "#e6e6fa",
lavenderblush: "#fff0f5",
lawngreen: "#7cfc00",
lemonchiffon: "#fffacd",
lightblue: "#add8e6",
lightcoral: "#f08080",
lightcyan: "#e0ffff",
lightgoldenrodyellow: "#fafad2",
lightgray: "#d3d3d3",
lightgreen: "#90ee90",
lightpink: "#ffb6c1",
lightsalmon: "#ffa07a",
lightseagreen: "#20b2aa",
lightskyblue: "#87cefa",
lightslategray: "#778899",
lightsteelblue: "#b0c4de",
lightyellow: "#ffffe0",
lime: "#00ff00",
limegreen: "#32cd32",
linen: "#faf0e6",
magenta: "#ff00ff",
maroon: "#800000",
mediumaquamarine: "#66cdaa",
mediumblue: "#0000cd",
mediumorchid: "#ba55d3",
mediumpurple: "#9370db",
mediumseagreen: "#3cb371",
mediumslateblue: "#7b68ee",
mediumspringgreen: "#00fa9a",
mediumturquoise: "#48d1cc",
mediumvioletred: "#c71585",
midnightblue: "#191970",
mintcream: "#f5fffa",
mistyrose: "#ffe4e1",
moccasin: "#ffe4b5",
navajowhite: "#ffdead",
navy: "#000080",
oldlace: "#fdf5e6",
olive: "#808000",
olivedrab: "#6b8e23",
orange: "#ffa500",
orangered: "#ff4500",
orchid: "#da70d6",
palegoldenrod: "#eee8aa",
palegreen: "#98fb98",
paleturquoise: "#afeeee",
palevioletred: "#db7093",
papayawhip: "#ffefd5",
peachpuff: "#ffdab9",
peru: "#cd853f",
pink: "#ffc0cb",
plum: "#dda0dd",
powderblue: "#b0e0e6",
purple: "#800080",
rebeccapurple: "#663399",
red: "#ff0000",
rosybrown: "#bc8f8f",
royalblue: "#4169e1",
saddlebrown: "#8b4513",
salmon: "#fa8072",
sandybrown: "#f4a460",
seagreen: "#2e8b57",
seashell: "#fff5ee",
sienna: "#a0522d",
silver: "#c0c0c0",
skyblue: "#87ceeb",
slateblue: "#6a5acd",
slategray: "#708090",
snow: "#fffafa",
springgreen: "#00ff7f",
steelblue: "#4682b4",
tan: "#d2b48c",
teal: "#008080",
thistle: "#d8bfd8",
tomato: "#ff6347",
turquoise: "#40e0d0",
violet: "#ee82ee",
wheat: "#f5deb3",
white: "#ffffff",
whitesmoke: "#f5f5f5",
yellow: "#ffff00",
yellowgreen: "#9acd32"
};
function M(t) {
T[t.toLowerCase()] && (t = T[t.toLowerCase()]),
t = t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, (function(t, e, i, a) {
return e + e + i + i + a + a
}
));
var e = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);
return e ? {
r: parseInt(e[1], 16),
g: parseInt(e[2], 16),
b: parseInt(e[3], 16)
} : null
}
function E(t, e) {
var i;
for (i in e)
Object.prototype.hasOwnProperty.call(e, i) && (t[i] = e[i]);
return t
}
function L(t) {
for (var e = Array.prototype.slice.call(arguments, 1), i = 0, a = e.length; i < a; i++)
E(t, e[i] || {});
return t
}
const D = [];
function S(t) {
D.forEach((e => {
try {
e(t)
} catch (t) {
console && console.log && console.log("Error handling trace", t)
}
}
))
}
function N(t, e) {
for (t = String(t),
e = e || 2; t.length < e; )
t = "0" + t;
return t
}
const A = (C = 0,
I = "_tl_id",
function(t) {
return t[I] = t[I] || ++C,
t[I]
}
);
var C, I;
function O(t) {
return t && "function" == typeof t.replace ? t.replace(/^\s+|\s+$/g, "") : ""
}
function R(t, ...e) {
for (let a of e)
for (var i of Object.getOwnPropertyNames(a.prototype))
t.prototype[i] = a.prototype[i]
}
function j(t) {
t = (t = O(t)).toLowerCase();
for (var e = 0; e < 31; e++)
t = t.replace(new RegExp("ãà áäâẽèéëêìÃïîõòóöôùúüûñç·/_,:;".charAt(e),"g"), "aaaaaeeeeeiiiiooooouuuunc------".charAt(e));
return (t = t.replace(/[^a-z0-9 -]/g, "").replace(/\s+/g, "-").replace(/-+/g, "-")).replace(/^([0-9])/, "_$1")
}
function P(t, e) {
var i = function(t) {
for (var e = "", i = 0; i < t; i++)
e += "abcdefghijklmnopqurstuvwxyz".substr(Math.floor(32 * Math.random()), 1);
return e
};
return e ? e + "-" + i(t) : "tl-" + i(t)
}
function z(t) {
return t == parseFloat(t) ? !(t % 2) : void 0
}
function H(t, e, i, a) {
for (var s = a || 0, n = 0; n < e.length; n++)
e[n].data[i] == t && (s = n);
return s
}
function F(t) {
return t ? t = (t = t.replace(/]*>/i, "")).replace(/<\/a>/i, "") : t
}
function q(t) {
if (!t) return t;
t = DOMPurify.sanitize(t, { ALLOWED_TAGS: [] });
return t.replace(/"/g, "'");
}
function $(t, e, i) {
var a = function(t, e, i) {
return i || (i = ""),
e && e.length > 30 && (e = e.substring(0, 30) + "…"),
i + "" + e + ""
};
return t.replace(/\b(?:https?|ftp):\/\/([a-z0-9-+&@#\/%?=~_|!:,.;]*[a-z0-9-+&@#\/%=~_|])/gim, (function(t, e, i, s) {
if (i > 0) {
var n = s[i - 1];
if ('"' == n || "'" == n || "=" == n)
return t
}
return a(t, e)
}
)).replace(/(^|[^\/>])(www\.[\S]+(\b|$))/gim, (function(t, e, i, s, n) {
return a("http://" + i, i, e)
}
)).replace(/([a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+)/gim, (function(t, e, i, s) {
return a("mailto:" + e, e)
}
))
}
function U(t) {
return t.replace(/(.*)www.dropbox.com\/(.*)/, "$1dl\.dropboxusercontent.com/$2")
}
const B = t => {
var e = {
w: 0,
h: 0
};
return t.w > t.h && t.h > 0 ? (e.h = t.h,
e.w = t.h) : (e.w = t.w,
e.h = t.w),
e
}
, W = t => null !== t.w && "" !== t.w ? Math.round(t.w / 16 * 9) : null !== t.h && "" !== t.h ? Math.round(t.h / 9 * 16) : 0;
let G = (Z = (Y = "123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ").length,
{
encode: function(t) {
if ("number" != typeof t || t !== parseInt(t))
throw '"encode" only accepts integers.';
for (var e = ""; t; ) {
var i = t % Z;
t = Math.floor(t / Z),
e = Y[i].toString() + e
}
return e
},
decode: function(t) {
if ("string" != typeof t)
throw '"decode" only accepts strings.';
for (var e = 0; t; ) {
var i = Y.indexOf(t[0]);
if (i < 0)
throw '"decode" can\'t find "' + t[0] + '" in the alphabet: "' + Y + '"';
var a = t.length - 1;
e += i * Math.pow(Z, a),
t = t.substring(1)
}
return e
}
});
var Y, Z;
function V(t) {
if ("string" == typeof t) {
let a = t.match(/^\s*(\d+h)?(\d+m)?(\d+s)?\s*/i);
if (a) {
var e = parseInt(a[1]) || 0
, i = parseInt(a[2]) || 0;
return (parseInt(a[3]) || 0) + 60 * i + 60 * e * 60
}
} else if ("number" == typeof t)
return t;
return 0
}
function X(t) {
return (new DOMParser).parseFromString(t, "text/html").body.textContent || ""
}
const J = [.42, 0, 1, 1];
function K(t) {}
function Q(t) {
return new K(J).get(t)
}
function tt(t) {
return 1 == t ? 1 : 1 - Math.pow(2, -10 * t)
}
function et(t) {
return t < .5 ? 16 * t * t * t * t * t : 1 + 16 * --t * t * t * t * t
}
let it = function() {};
it.extend = function(t) {
var e = function() {
this.initialize && this.initialize.apply(this, arguments)
}
, i = function() {};
i.prototype = this.prototype;
var a = new i;
for (var s in a.constructor = e,
e.prototype = a,
e.superclass = this.prototype,
this)
this.hasOwnProperty(s) && "prototype" !== s && "superclass" !== s && (e[s] = this[s]);
return t.statics && (L(e, t.statics),
delete t.statics),
t.includes && (L.apply(null, [a].concat(t.includes)),
delete t.includes),
t.options && a.options && (t.options = L({}, a.options, t.options)),
L(a, t),
e.extend = it.extend,
e.include = function(t) {
L(this.prototype, t)
}
,
e
}
;
class at {
on(t, e, i) {
if (!e)
throw new x("No callback function provided");
var a = this._tl_events = this._tl_events || {};
return a[t] = a[t] || [],
a[t].push({
action: e,
context: i || this
}),
this
}
addEventListener(t, e, i) {
return this.on(t, e, i)
}
hasEventListeners(t) {
var e = "_tl_events";
return e in this && t in this[e] && this[e][t].length > 0
}
removeEventListener(t, e, i) {
if (!this.hasEventListeners(t))
return this;
for (var a = 0, s = this._tl_events, n = s[t].length; a < n; a++)
if (s[t][a].action === e && (!i || s[t][a].context === i))
return s[t].splice(a, 1),
this;
return this
}
off(t, e, i) {
return this.removeEventListener(t, e, i)
}
fire(t, e) {
if (!this.hasEventListeners(t))
return this;
for (var i = E({
type: t,
target: this
}, e), a = this._tl_events[t].slice(), s = 0, n = a.length; s < n; s++)
a[s].action ? a[s].action.call(a[s].context || this, i) : S(`no action defined for ${t} listener`);
return this
}
}
function st(t, e) {
return nt(t, e)
}
const nt = function() {
var t = document
, e = window
, i = e.performance
, a = i && (i.now || i.webkitNow || i.msNow || i.mozNow)
, s = a ? function() {
return a.call(i)
}
: function() {
return +new Date
}
, n = t.documentElement
, o = !1
, r = 1e3
, l = /^rgb\(|#/
, h = /^([+\-])=([\d\.]+)/
, d = /^(?:[\+\-]=?)?\d+(?:\.\d+)?(%|in|cm|mm|em|ex|pt|pc|px)$/
, c = /rotate\(((?:[+\-]=)?([\-\d\.]+))deg\)/
, u = /scale\(((?:[+\-]=)?([\d\.]+))\)/
, m = /skew\(((?:[+\-]=)?([\-\d\.]+))deg, ?((?:[+\-]=)?([\-\d\.]+))deg\)/
, _ = /translate\(((?:[+\-]=)?([\-\d\.]+))px, ?((?:[+\-]=)?([\-\d\.]+))px\)/
, p = {
lineHeight: 1,
zoom: 1,
zIndex: 1,
opacity: 1,
transform: 1
}
, f = function() {
var e, i = t.createElement("a").style, a = ["webkitTransform", "MozTransform", "OTransform", "msTransform", "Transform"];
for (e = 0; e < a.length; e++)
if (a[e]in i)
return a[e]
}()
, g = void 0 !== t.createElement("a").style.opacity
, v = t.defaultView && t.defaultView.getComputedStyle ? function(e, i) {
i = M(i = "transform" == i ? f : i);
var a = null
, s = t.defaultView.getComputedStyle(e, "");
return s && (a = s[i]),
e.style[i] || a
}
: n.currentStyle ? function(t, e) {
if ("opacity" == (e = M(e))) {
var i = 100;
try {
i = t.filters["DXImageTransform.Microsoft.Alpha"].opacity
} catch (e) {
try {
i = t.filters("alpha").opacity
} catch (t) {}
}
return i / 100
}
var a = t.currentStyle ? t.currentStyle[e] : null;
return t.style[e] || a
}
: function(t, e) {
return t.style[M(e)]
}
, y = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.msRequestAnimationFrame || e.oRequestAnimationFrame || function(t) {
e.setTimeout((function() {
t(+new Date)
}
), 17)
}
, b = [];
function w(t) {
var e, i = b.length;
for (a && t > 1e12 && (t = s()),
o && (t = s()),
e = i; e--; )
b[e](t);
b.length && y(w)
}
function k(t, e) {
var i, a = {};
return (i = t.match(c)) && (a.rotate = A(i[1], e ? e.rotate : null)),
(i = t.match(u)) && (a.scale = A(i[1], e ? e.scale : null)),
(i = t.match(m)) && (a.skewx = A(i[1], e ? e.skewx : null),
a.skewy = A(i[3], e ? e.skewy : null)),
(i = t.match(_)) && (a.translatex = A(i[1], e ? e.translatex : null),
a.translatey = A(i[3], e ? e.translatey : null)),
a
}
function x(t) {
var e = "";
return "rotate"in t && (e += "rotate(" + t.rotate + "deg) "),
"scale"in t && (e += "scale(" + t.scale + ") "),
"translatex"in t && (e += "translate(" + t.translatex + "px," + t.translatey + "px) "),
"skewx"in t && (e += "skew(" + t.skewx + "deg," + t.skewy + "deg)"),
e
}
function T(t) {
var e, i, a, s = t.match(/rgba?\((\d+),\s*(\d+),\s*(\d+)/);
return (s ? (e = s[1],
i = s[2],
a = s[3],
"#" + (1 << 24 | e << 16 | i << 8 | a).toString(16).slice(1)) : t).replace(/#(\w)(\w)(\w)$/, "#$1$1$2$2$3$3")
}
function M(t) {
return t.replace(/-(.)/g, (function(t, e) {
return e.toUpperCase()
}
))
}
function E(t) {
return "function" == typeof t
}
function L(t) {
return Math.sin(t * Math.PI / 2)
}
function D(t, e, i, a, n, o) {
a = E(a) ? a : C.easings[a] || L;
var l, h = t || r, d = this, c = o - n, u = s(), m = 0, _ = 0;
return l = function t(s) {
var r = s - u;
if (r > h || m)
return o = isFinite(o) ? o : 1,
m ? _ && e(o) : e(o),
function(t) {
var e, i = function(t, e, i) {
if (Array.prototype.indexOf)
return t.indexOf(e);
for (i = 0; i < t.length; ++i)
if (t[i] === e)
return i
}(b, t);
i >= 0 && (e = b.slice(i + 1),
b.length = i,
b = b.concat(e))
}(t),
i && i.apply(d);
isFinite(o) ? e(c * a(r / h) + n) : e(a(r / h))
}
,
1 === b.push(l) && y(w),
{
stop: function(t) {
m = 1,
_ = t,
t || (i = null)
}
}
}
function S(t, e) {
var i, a, s = t.length, n = [];
for (i = 0; i < s; ++i)
n[i] = [t[i][0], t[i][1]];
for (a = 1; a < s; ++a)
for (i = 0; i < s - a; ++i)
n[i][0] = (1 - e) * n[i][0] + e * n[parseInt(i + 1, 10)][0],
n[i][1] = (1 - e) * n[i][1] + e * n[parseInt(i + 1, 10)][1];
return [n[0][0], n[0][1]]
}
function N(t, e, i, a, s, n, o) {
if ("transform" == s) {
for (var l in o = {},
i[n][s])
o[l] = l in a[n][s] ? Math.round(((a[n][s][l] - i[n][s][l]) * t + i[n][s][l]) * r) / r : i[n][s][l];
return o
}
return "string" == typeof i[n][s] ? function(t, e, i) {
var a, s, n, o, r = [];
for (a = 0; a < 6; a++)
n = Math.min(15, parseInt(e.charAt(a), 16)),
o = Math.min(15, parseInt(i.charAt(a), 16)),
s = (s = Math.floor((o - n) * t + n)) > 15 ? 15 : s < 0 ? 0 : s,
r[a] = s.toString(16);
return "#" + r.join("")
}(t, i[n][s], a[n][s]) : (o = Math.round(((a[n][s] - i[n][s]) * t + i[n][s]) * r) / r,
s in p || (o += e[n][s] || "px"),
o)
}
function A(t, e, i, a, s) {
return (i = h.exec(t)) ? (s = parseFloat(i[2])) && e + ("+" == i[1] ? 1 : -1) * s : parseFloat(t)
}
function C(t, e) {
var i, a, s, n = t ? n = isFinite(t.length) ? t : [t] : [], o = e.complete, r = e.duration, h = e.easing, c = e.bezier, u = [], m = [], _ = [], p = [];
for (c && (a = e.left,
s = e.top,
delete e.right,
delete e.bottom,
delete e.left,
delete e.top),
i = n.length; i--; ) {
if (u[i] = {},
m[i] = {},
_[i] = {},
c) {
var y = v(n[i], "left")
, b = v(n[i], "top")
, w = [A(E(a) ? a(n[i]) : a || 0, parseFloat(y)), A(E(s) ? s(n[i]) : s || 0, parseFloat(b))];
p[i] = E(c) ? c(n[i], w) : c,
p[i].push(w),
p[i].unshift([parseInt(y, 10), parseInt(b, 10)])
}
for (var L in e) {
switch (L) {
case "complete":
case "duration":
case "easing":
case "bezier":
continue
}
var C, I = v(n[i], L), O = E(e[L]) ? e[L](n[i]) : e[L];
"string" != typeof O || !l.test(O) || l.test(I) ? (u[i][L] = "transform" == L ? k(I) : "string" == typeof O && l.test(O) ? T(I).slice(1) : parseFloat(I),
m[i][L] = "transform" == L ? k(O, u[i][L]) : "string" == typeof O && "#" == O.charAt(0) ? T(O).slice(1) : A(O, parseFloat(I)),
"string" == typeof O && (C = O.match(d)) && (_[i][L] = C[1])) : delete e[L]
}
}
return D.apply(n, [r, function(t, a, s) {
for (i = n.length; i--; )
for (var o in c && (s = S(p[i], t),
n[i].style.left = s[0] + "px",
n[i].style.top = s[1] + "px"),
e)
a = N(t, _, u, m, o, i),
"transform" == o ? n[i].style[f] = x(a) : "opacity" != o || g ? n[i].style[M(o)] = a : n[i].style.filter = "alpha(opacity=" + 100 * a + ")"
}
, o, h])
}
return y((function(t) {
o = t > 1e12 != s() > 1e12
}
)),
C.tween = D,
C.getStyle = v,
C.bezier = S,
C.transform = f,
C.parseTransform = k,
C.formatTransform = x,
C.easings = {},
C
}();
class ot {
show(t) {
t || (this._el.container.style.display = "block")
}
hide(t) {
this._el.container.style.display = "none"
}
addTo(t) {
t.appendChild(this._el.container),
this.onAdd()
}
removeFrom(t) {
t.removeChild(this._el.container),
this.onRemove()
}
animatePosition(t, e) {
var i = {
duration: this.options.duration,
easing: this.options.ease
};
for (var a in t)
t.hasOwnProperty(a) && (i[a] = t[a] + "px");
this.animator && this.animator.stop(),
this.animator = st(e, i)
}
onLoaded() {
this.fire("loaded", this.data)
}
onAdd() {
this.fire("added", this.data)
}
onRemove() {
this.fire("removed", this.data)
}
setPosition(t, e) {
for (var i in t)
t.hasOwnProperty(i) && (e ? e.style[i] = t[i] + "px" : this._el.container.style[i] = t[i] + "px")
}
getPosition() {
return b(this._el.container)
}
}
class rt {
constructor(t, e, i) {
this._el = {
drag: t,
move: t
},
this.mousedrag = {
down: "mousedown",
up: "mouseup",
leave: "mouseleave",
move: "mousemove"
},
this.touchdrag = {
down: "touchstart",
up: "touchend",
leave: "mouseleave",
move: "touchmove"
},
i && (this._el.move = i),
this.options = {
enable: {
x: !0,
y: !0
},
constraint: {
top: !1,
bottom: !1,
left: !1,
right: !1
},
momentum_multiplier: 2e3,
duration: 1e3,
ease: et
},
this.animator = null,
this.dragevent = this.mousedrag,
f && (this.dragevent = this.touchdrag),
this.data = {
sliding: !1,
direction: "none",
pagex: {
start: 0,
end: 0
},
pagey: {
start: 0,
end: 0
},
pos: {
start: {
x: 0,
y: 0
},
end: {
x: 0,
y: 0
}
},
new_pos: {
x: 0,
y: 0
},
new_pos_parent: {
x: 0,
y: 0
},
time: {
start: 0,
end: 0
},
touch: !1
},
E(this.options, e)
}
enable(t) {
this.data.pos.start = 0,
this._el.move.style.left = this.data.pos.start.x + "px",
this._el.move.style.top = this.data.pos.start.y + "px",
this._el.move.style.position = "absolute"
}
disable() {
ht.removeListener(this._el.drag, this.dragevent.down, this._onDragStart, this),
ht.removeListener(this._el.drag, this.dragevent.up, this._onDragEnd, this)
}
stopMomentum() {
this.animator && this.animator.stop()
}
updateConstraint(t) {
this.options.constraint = t
}
_onDragStart(t) {
f ? t.originalEvent ? (this.data.pagex.start = t.originalEvent.touches[0].screenX,
this.data.pagey.start = t.originalEvent.touches[0].screenY) : (this.data.pagex.start = t.targetTouches[0].screenX,
this.data.pagey.start = t.targetTouches[0].screenY) : (this.data.pagex.start = t.pageX,
this.data.pagey.start = t.pageY),
this.options.enable.x && (this._el.move.style.left = this.data.pagex.start - this._el.move.offsetWidth / 2 + "px"),
this.options.enable.y && (this._el.move.style.top = this.data.pagey.start - this._el.move.offsetHeight / 2 + "px"),
this.data.pos.start = b(this._el.drag),
this.data.time.start = (new Date).getTime(),
this.fire("dragstart", this.data),
ht.addListener(this._el.drag, this.dragevent.move, this._onDragMove, this),
ht.addListener(this._el.drag, this.dragevent.leave, this._onDragEnd, this)
}
_onDragEnd(t) {
this.data.sliding = !1,
ht.removeListener(this._el.drag, this.dragevent.move, this._onDragMove, this),
ht.removeListener(this._el.drag, this.dragevent.leave, this._onDragEnd, this),
this.fire("dragend", this.data),
this._momentum()
}
_onDragMove(t) {
t.preventDefault(),
this.data.sliding = !0,
f ? t.originalEvent ? (this.data.pagex.end = t.originalEvent.touches[0].screenX,
this.data.pagey.end = t.originalEvent.touches[0].screenY) : (this.data.pagex.end = t.targetTouches[0].screenX,
this.data.pagey.end = t.targetTouches[0].screenY) : (this.data.pagex.end = t.pageX,
this.data.pagey.end = t.pageY),
this.data.pos.end = b(this._el.drag),
this.data.new_pos.x = -(this.data.pagex.start - this.data.pagex.end - this.data.pos.start.x),
this.data.new_pos.y = -(this.data.pagey.start - this.data.pagey.end - this.data.pos.start.y),
this.options.enable.x && (this._el.move.style.left = this.data.new_pos.x + "px"),
this.options.enable.y && (this._el.move.style.top = this.data.new_pos.y + "px"),
this.fire("dragmove", this.data)
}
_momentum() {
var t = {
x: 0,
y: 0,
time: 0
}
, e = {
x: 0,
y: 0,
time: 0
}
, i = !1;
t.time = 10 * ((new Date).getTime() - this.data.time.start),
e.time = 10 * ((new Date).getTime() - this.data.time.start),
e.x = this.options.momentum_multiplier * (Math.abs(this.data.pagex.end) - Math.abs(this.data.pagex.start)),
e.y = this.options.momentum_multiplier * (Math.abs(this.data.pagey.end) - Math.abs(this.data.pagey.start)),
t.x = Math.round(e.x / e.time),
t.y = Math.round(e.y / e.time),
this.data.new_pos.x = Math.min(this.data.pos.end.x + t.x),
this.data.new_pos.y = Math.min(this.data.pos.end.y + t.y),
this.options.enable.x ? this.data.new_pos.x < 0 && (this.data.new_pos.x = 0) : this.data.new_pos.x = this.data.pos.start.x,
this.options.enable.y ? this.data.new_pos.y < 0 && (this.data.new_pos.y = 0) : this.data.new_pos.y = this.data.pos.start.y,
e.time < 3e3 && (i = !0),
Math.abs(e.x) > 1e4 && (this.data.direction = "left",
e.x > 0 && (this.data.direction = "right")),
Math.abs(e.y) > 1e4 && (this.data.direction = "up",
e.y > 0 && (this.data.direction = "down")),
this._animateMomentum(),
i && this.fire("swipe_" + this.data.direction, this.data)
}
_animateMomentum() {
var t = {
x: this.data.new_pos.x,
y: this.data.new_pos.y
}
, e = {
duration: this.options.duration,
easing: tt
};
this.options.enable.y && ((this.options.constraint.top || this.options.constraint.bottom) && (t.y > this.options.constraint.bottom ? t.y = this.options.constraint.bottom : t.y < this.options.constraint.top && (t.y = this.options.constraint.top)),
e.top = Math.floor(t.y) + "px"),
this.options.enable.x && ((this.options.constraint.left || this.options.constraint.right) && (t.x > this.options.constraint.left ? t.x = this.options.constraint.left : t.x < this.options.constraint.right && (t.x = this.options.constraint.right)),
e.left = Math.floor(t.x) + "px"),
this.animator = st(this._el.move, e),
this.fire("momentum", this.data)
}
}
R(at);
var lt, ht = {
addListener: function(t, e, i, a) {
var s = A(i)
, n = "_tl_" + e + s;
if (!t[n]) {
var o = function(e) {
return i.call(a || t, e || ht._getEvent())
};
if (f && "dblclick" === e && this.addDoubleTapListener)
this.addDoubleTapListener(t, o, s);
else if ("addEventListener"in t)
if ("mousewheel" === e)
t.addEventListener("DOMMouseScroll", o, !1),
t.addEventListener(e, o, !1);
else if ("mouseenter" === e || "mouseleave" === e) {
var r = o
, l = "mouseenter" === e ? "mouseover" : "mouseout";
o = function(e) {
if (ht._checkMouse(t, e))
return r(e)
}
,
t.addEventListener(l, o, !1)
} else
t.addEventListener(e, o, !1);
else
"attachEvent"in t && t.attachEvent("on" + e, o);
t[n] = o
}
},
removeListener: function(t, e, i) {
var a = A(i)
, s = "_tl_" + e + a
, n = t[s];
n && (f && "dblclick" === e && this.removeDoubleTapListener ? this.removeDoubleTapListener(t, a) : "removeEventListener"in t ? "mousewheel" === e ? (t.removeEventListener("DOMMouseScroll", n, !1),
t.removeEventListener(e, n, !1)) : "mouseenter" === e || "mouseleave" === e ? t.removeEventListener("mouseenter" === e ? "mouseover" : "mouseout", n, !1) : t.removeEventListener(e, n, !1) : "detachEvent"in t && t.detachEvent("on" + e, n),
t[s] = null)
},
_checkMouse: function(t, e) {
var i = e.relatedTarget;
if (!i)
return !0;
try {
for (; i && i !== t; )
i = i.parentNode
} catch (t) {
return !1
}
return i !== t
},
_getEvent: function() {
var t = window.event;
if (!t)
for (var e = arguments.callee.caller; e && (!(t = e.arguments[0]) || window.Event !== t.constructor); )
e = e.caller;
return t
},
stopPropagation: function(t) {
t.stopPropagation ? t.stopPropagation() : t.cancelBubble = !0
},
disableClickPropagation: function(t) {
ht.addListener(t, rt.START, ht.stopPropagation),
ht.addListener(t, "click", ht.stopPropagation),
ht.addListener(t, "dblclick", ht.stopPropagation)
},
preventDefault: function(t) {
t.preventDefault ? t.preventDefault() : t.returnValue = !1
},
stop: function(t) {
ht.preventDefault(t),
ht.stopPropagation(t)
},
getWheelDelta: function(t) {
var e = 0;
return t.wheelDelta && (e = t.wheelDelta / 120),
t.detail && (e = -t.detail / 3),
e
}
}, dt = function() {
var t, e, i, a, s, n, o = [], r = o.slice, l = o.filter, h = window.document, d = {}, c = {}, u = {
"column-count": 1,
columns: 1,
"font-weight": 1,
"line-height": 1,
opacity: 1,
"z-index": 1,
zoom: 1
}, m = /^\s*<(\w+|!)[^>]*>/, _ = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, p = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, f = /^(?:body|html)$/i, g = /([A-Z])/g, v = ["val", "css", "html", "text", "data", "width", "height", "offset"], y = h.createElement("table"), b = h.createElement("tr"), w = {
tr: h.createElement("tbody"),
tbody: y,
thead: y,
tfoot: y,
td: b,
th: b,
"*": h.createElement("div")
}, k = /complete|loaded|interactive/, x = /^[\w-]*$/, T = {}, M = T.toString, E = {}, L = h.createElement("div"), D = {
tabindex: "tabIndex",
readonly: "readOnly",
for: "htmlFor",
class: "className",
maxlength: "maxLength",
cellspacing: "cellSpacing",
cellpadding: "cellPadding",
rowspan: "rowSpan",
colspan: "colSpan",
usemap: "useMap",
frameborder: "frameBorder",
contenteditable: "contentEditable"
}, S = Array.isArray || function(t) {
return t instanceof Array
}
;
function N(t) {
return null == t ? String(t) : T[M.call(t)] || "object"
}
function A(t) {
return "function" == N(t)
}
function C(t) {
return null != t && t == t.window
}
function I(t) {
return null != t && t.nodeType == t.DOCUMENT_NODE
}
function O(t) {
return "object" == N(t)
}
function R(t) {
return O(t) && !C(t) && Object.getPrototypeOf(t) == Object.prototype
}
function j(t) {
return "number" == typeof t.length
}
function P(t) {
return t.replace(/::/g, "/").replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").replace(/([a-z\d])([A-Z])/g, "$1_$2").replace(/_/g, "-").toLowerCase()
}
function z(t) {
return t in c ? c[t] : c[t] = new RegExp("(^|\\s)" + t + "(\\s|$)")
}
function H(t, e) {
return "number" != typeof e || u[P(t)] ? e : e + "px"
}
function F(t) {
return "children"in t ? r.call(t.children) : i.map(t.childNodes, (function(t) {
if (1 == t.nodeType)
return t
}
))
}
function q(i, a, s) {
for (e in a)
s && (R(a[e]) || S(a[e])) ? (R(a[e]) && !R(i[e]) && (i[e] = {}),
S(a[e]) && !S(i[e]) && (i[e] = []),
q(i[e], a[e], s)) : a[e] !== t && (i[e] = a[e])
}
function $(t, e) {
return null == e ? i(t) : i(t).filter(e)
}
function U(t, e, i, a) {
return A(e) ? e.call(t, i, a) : e
}
function B(t, e, i) {
null == i ? t.removeAttribute(e) : t.setAttribute(e, i)
}
function W(e, i) {
var a = e.className
, s = a && a.baseVal !== t;
if (i === t)
return s ? a.baseVal : a;
s ? a.baseVal = i : e.className = i
}
function G(t) {
var e;
try {
return t ? "true" == t || "false" != t && ("null" == t ? null : /^0/.test(t) || isNaN(e = Number(t)) ? /^[\[\{]/.test(t) ? i.parseJSON(t) : t : e) : t
} catch (e) {
return t
}
}
function Y(t, e) {
for (var i in e(t),
t.childNodes)
Y(t.childNodes[i], e)
}
return E.matches = function(t, e) {
if (!e || !t || 1 !== t.nodeType)
return !1;
var i = t.webkitMatchesSelector || t.mozMatchesSelector || t.oMatchesSelector || t.matchesSelector;
if (i)
return i.call(t, e);
var a, s = t.parentNode, n = !s;
return n && (s = L).appendChild(t),
a = ~E.qsa(s, e).indexOf(t),
n && L.removeChild(t),
a
}
,
s = function(t) {
return t.replace(/-+(.)?/g, (function(t, e) {
return e ? e.toUpperCase() : ""
}
))
}
,
n = function(t) {
return l.call(t, (function(e, i) {
return t.indexOf(e) == i
}
))
}
,
E.fragment = function(e, a, s) {
var n, o, l;
return _.test(e) && (n = i(h.createElement(RegExp.$1))),
n || (e.replace && (e = e.replace(p, (match, p1, p2) => p2 ? `<${p2}>${p2}>` : match)),
a === t && (a = m.test(e) && RegExp.$1),
a in w || (a = "*"),
(l = w[a]).innerHTML = "" + e,
n = i.each(r.call(l.childNodes), (function() {
l.removeChild(this)
}
))),
R(s) && (o = i(n),
i.each(s, (function(t, e) {
v.indexOf(t) > -1 ? o[t](e) : o.attr(t, e)
}
))),
n
}
,
E.Z = function(t, e) {
return (t = t || []).__proto__ = i.fn,
t.selector = e || "",
t
}
,
E.isZ = function(t) {
return t instanceof E.Z
}
,
E.init = function(e, a) {
var s, n;
if (!e)
return E.Z();
if ("string" == typeof e)
if ("<" == (e = e.trim())[0] && m.test(e))
s = E.fragment(e, RegExp.$1, a),
e = null;
else {
if (a !== t)
return i(a).find(e);
s = E.qsa(h, e)
}
else {
if (A(e))
return i(h).ready(e);
if (E.isZ(e))
return e;
if (S(e))
n = e,
s = l.call(n, (function(t) {
return null != t
}
));
else if (O(e))
s = [e],
e = null;
else if (m.test(e))
s = E.fragment(e.trim(), RegExp.$1, a),
e = null;
else {
if (a !== t)
return i(a).find(e);
s = E.qsa(h, e)
}
}
return E.Z(s, e)
}
,
(i = function(t, e) {
return E.init(t, e)
}
).extend = function(t) {
var e, i = r.call(arguments, 1);
return "boolean" == typeof t && (e = t,
t = i.shift()),
i.forEach((function(i) {
q(t, i, e)
}
)),
t
}
,
E.qsa = function(t, e) {
var i, a = "#" == e[0], s = !a && "." == e[0], n = a || s ? e.slice(1) : e, o = x.test(n);
return I(t) && o && a ? (i = t.getElementById(n)) ? [i] : [] : 1 !== t.nodeType && 9 !== t.nodeType ? [] : r.call(o && !a ? s ? t.getElementsByClassName(n) : t.getElementsByTagName(e) : t.querySelectorAll(e))
}
,
i.contains = function(t, e) {
return t !== e && t.contains(e)
}
,
i.type = N,
i.isFunction = A,
i.isWindow = C,
i.isArray = S,
i.isPlainObject = R,
i.isEmptyObject = function(t) {
var e;
for (e in t)
return !1;
return !0
}
,
i.inArray = function(t, e, i) {
return o.indexOf.call(e, t, i)
}
,
i.camelCase = s,
i.trim = function(t) {
return null == t ? "" : String.prototype.trim.call(t)
}
,
i.uuid = 0,
i.support = {},
i.expr = {},
i.map = function(t, e) {
var a, s, n, o, r = [];
if (j(t))
for (s = 0; s < t.length; s++)
null != (a = e(t[s], s)) && r.push(a);
else
for (n in t)
null != (a = e(t[n], n)) && r.push(a);
return (o = r).length > 0 ? i.fn.concat.apply([], o) : o
}
,
i.each = function(t, e) {
var i, a;
if (j(t)) {
for (i = 0; i < t.length; i++)
if (!1 === e.call(t[i], i, t[i]))
return t
} else
for (a in t)
if (!1 === e.call(t[a], a, t[a]))
return t;
return t
}
,
i.grep = function(t, e) {
return l.call(t, e)
}
,
window.JSON && (i.parseJSON = JSON.parse),
i.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), (function(t, e) {
T["[object " + e + "]"] = e.toLowerCase()
}
)),
i.fn = {
forEach: o.forEach,
reduce: o.reduce,
push: o.push,
sort: o.sort,
indexOf: o.indexOf,
concat: o.concat,
map: function(t) {
return i(i.map(this, (function(e, i) {
return t.call(e, i, e)
}
)))
},
slice: function() {
return i(r.apply(this, arguments))
},
ready: function(t) {
return k.test(h.readyState) && h.body ? t(i) : h.addEventListener("DOMContentLoaded", (function() {
t(i)
}
), !1),
this
},
get: function(e) {
return e === t ? r.call(this) : this[e >= 0 ? e : e + this.length]
},
toArray: function() {
return this.get()
},
size: function() {
return this.length
},
remove: function() {
return this.each((function() {
null != this.parentNode && this.parentNode.removeChild(this)
}
))
},
each: function(t) {
return o.every.call(this, (function(e, i) {
return !1 !== t.call(e, i, e)
}
)),
this
},
filter: function(t) {
return A(t) ? this.not(this.not(t)) : i(l.call(this, (function(e) {
return E.matches(e, t)
}
)))
},
add: function(t, e) {
return i(n(this.concat(i(t, e))))
},
is: function(t) {
return this.length > 0 && E.matches(this[0], t)
},
not: function(e) {
var a = [];
if (A(e) && e.call !== t)
this.each((function(t) {
e.call(this, t) || a.push(this)
}
));
else {
var s = "string" == typeof e ? this.filter(e) : j(e) && A(e.item) ? r.call(e) : i(e);
this.forEach((function(t) {
s.indexOf(t) < 0 && a.push(t)
}
))
}
return i(a)
},
has: function(t) {
return this.filter((function() {
return O(t) ? i.contains(this, t) : i(this).find(t).size()
}
))
},
eq: function(t) {
return -1 === t ? this.slice(t) : this.slice(t, +t + 1)
},
first: function() {
var t = this[0];
return t && !O(t) ? t : i(t)
},
last: function() {
var t = this[this.length - 1];
return t && !O(t) ? t : i(t)
},
find: function(t) {
var e = this;
return "object" == typeof t ? i(t).filter((function() {
var t = this;
return o.some.call(e, (function(e) {
return i.contains(e, t)
}
))
}
)) : 1 == this.length ? i(E.qsa(this[0], t)) : this.map((function() {
return E.qsa(this, t)
}
))
},
closest: function(t, e) {
var a = this[0]
, s = !1;
for ("object" == typeof t && (s = i(t)); a && !(s ? s.indexOf(a) >= 0 : E.matches(a, t)); )
a = a !== e && !I(a) && a.parentNode;
return i(a)
},
parents: function(t) {
for (var e = [], a = this; a.length > 0; )
a = i.map(a, (function(t) {
if ((t = t.parentNode) && !I(t) && e.indexOf(t) < 0)
return e.push(t),
t
}
));
return $(e, t)
},
parent: function(t) {
return $(n(this.pluck("parentNode")), t)
},
children: function(t) {
return $(this.map((function() {
return F(this)
}
)), t)
},
contents: function() {
return this.map((function() {
return r.call(this.childNodes)
}
))
},
siblings: function(t) {
return $(this.map((function(t, e) {
return l.call(F(e.parentNode), (function(t) {
return t !== e
}
))
}
)), t)
},
empty: function() {
return this.each((function() {
this.innerHTML = ""
}
))
},
pluck: function(t) {
return i.map(this, (function(e) {
return e[t]
}
))
},
show: function() {
return this.each((function() {
var t, e, i;
"none" == this.style.display && (this.style.display = ""),
"none" == getComputedStyle(this, "").getPropertyValue("display") && (this.style.display = (t = this.nodeName,
d[t] || (e = h.createElement(t),
h.body.appendChild(e),
i = getComputedStyle(e, "").getPropertyValue("display"),
e.parentNode.removeChild(e),
"none" == i && (i = "block"),
d[t] = i),
d[t]))
}
))
},
replaceWith: function(t) {
return this.before(t).remove()
},
wrap: function(t) {
var e = A(t);
if (this[0] && !e)
var a = i(t).get(0)
, s = a.parentNode || this.length > 1;
return this.each((function(n) {
i(this).wrapAll(e ? t.call(this, n) : s ? a.cloneNode(!0) : a)
}
))
},
wrapAll: function(t) {
if (this[0]) {
var e;
for (i(this[0]).before(t = i(t)); (e = t.children()).length; )
t = e.first();
i(t).append(this)
}
return this
},
wrapInner: function(t) {
var e = A(t);
return this.each((function(a) {
var s = i(this)
, n = s.contents()
, o = e ? t.call(this, a) : t;
n.length ? n.wrapAll(o) : s.append(o)
}
))
},
unwrap: function() {
return this.parent().each((function() {
i(this).replaceWith(i(this).children())
}
)),
this
},
clone: function() {
return this.map((function() {
return this.cloneNode(!0)
}
))
},
hide: function() {
return this.css("display", "none")
},
toggle: function(e) {
return this.each((function() {
var a = i(this);
(e === t ? "none" == a.css("display") : e) ? a.show() : a.hide()
}
))
},
prev: function(t) {
return i(this.pluck("previousElementSibling")).filter(t || "*")
},
next: function(t) {
return i(this.pluck("nextElementSibling")).filter(t || "*")
},
html: function(t) {
return 0 === arguments.length ? this.length > 0 ? this[0].innerHTML : null : this.each((function(e) {
var a = this.innerHTML;
i(this).empty().append(U(this, t, e, a))
}
))
},
text: function(e) {
return 0 === arguments.length ? this.length > 0 ? this[0].textContent : null : this.each((function() {
this.textContent = e === t ? "" : "" + e
}
))
},
attr: function(i, a) {
var s;
return "string" == typeof i && a === t ? 0 == this.length || 1 !== this[0].nodeType ? t : "value" == i && "INPUT" == this[0].nodeName ? this.val() : !(s = this[0].getAttribute(i)) && i in this[0] ? this[0][i] : s : this.each((function(t) {
if (1 === this.nodeType)
if (O(i))
for (e in i)
B(this, e, i[e]);
else
B(this, i, U(this, a, t, this.getAttribute(i)))
}
))
},
removeAttr: function(t) {
return this.each((function() {
1 === this.nodeType && B(this, t)
}
))
},
prop: function(e, i) {
return e = D[e] || e,
i === t ? this[0] && this[0][e] : this.each((function(t) {
this[e] = U(this, i, t, this[e])
}
))
},
data: function(e, i) {
var a = this.attr("data-" + e.replace(g, "-$1").toLowerCase(), i);
return null !== a ? G(a) : t
},
val: function(t) {
return 0 === arguments.length ? this[0] && (this[0].multiple ? i(this[0]).find("option").filter((function() {
return this.selected
}
)).pluck("value") : this[0].value) : this.each((function(e) {
this.value = U(this, t, e, this.value)
}
))
},
offset: function(t) {
if (t)
return this.each((function(e) {
var a = i(this)
, s = U(this, t, e, a.offset())
, n = a.offsetParent().offset()
, o = {
top: s.top - n.top,
left: s.left - n.left
};
"static" == a.css("position") && (o.position = "relative"),
a.css(o)
}
));
if (0 == this.length)
return null;
var e = this[0].getBoundingClientRect();
return {
left: e.left + window.pageXOffset,
top: e.top + window.pageYOffset,
width: Math.round(e.width),
height: Math.round(e.height)
}
},
css: function(t, a) {
if (arguments.length < 2) {
var n = this[0]
, o = getComputedStyle(n, "");
if (!n)
return;
if ("string" == typeof t)
return n.style[s(t)] || o.getPropertyValue(t);
if (S(t)) {
var r = {};
return i.each(S(t) ? t : [t], (function(t, e) {
r[e] = n.style[s(e)] || o.getPropertyValue(e)
}
)),
r
}
}
var l = "";
if ("string" == N(t))
a || 0 === a ? l = P(t) + ":" + H(t, a) : this.each((function() {
this.style.removeProperty(P(t))
}
));
else
for (e in t)
t[e] || 0 === t[e] ? l += P(e) + ":" + H(e, t[e]) + ";" : this.each((function() {
this.style.removeProperty(P(e))
}
));
return this.each((function() {
this.style.cssText += ";" + l
}
))
},
index: function(t) {
return t ? this.indexOf(i(t)[0]) : this.parent().children().indexOf(this[0])
},
hasClass: function(t) {
return !!t && o.some.call(this, (function(t) {
return this.test(W(t))
}
), z(t))
},
addClass: function(t) {
return t ? this.each((function(e) {
a = [];
var s = W(this);
U(this, t, e, s).split(/\s+/g).forEach((function(t) {
i(this).hasClass(t) || a.push(t)
}
), this),
a.length && W(this, s + (s ? " " : "") + a.join(" "))
}
)) : this
},
removeClass: function(e) {
return this.each((function(i) {
if (e === t)
return W(this, "");
a = W(this),
U(this, e, i, a).split(/\s+/g).forEach((function(t) {
a = a.replace(z(t), " ")
}
)),
W(this, a.trim())
}
))
},
toggleClass: function(e, a) {
return e ? this.each((function(s) {
var n = i(this);
U(this, e, s, W(this)).split(/\s+/g).forEach((function(e) {
(a === t ? !n.hasClass(e) : a) ? n.addClass(e) : n.removeClass(e)
}
))
}
)) : this
},
scrollTop: function(e) {
if (this.length) {
var i = "scrollTop"in this[0];
return e === t ? i ? this[0].scrollTop : this[0].pageYOffset : this.each(i ? function() {
this.scrollTop = e
}
: function() {
this.scrollTo(this.scrollX, e)
}
)
}
},
scrollLeft: function(e) {
if (this.length) {
var i = "scrollLeft"in this[0];
return e === t ? i ? this[0].scrollLeft : this[0].pageXOffset : this.each(i ? function() {
this.scrollLeft = e
}
: function() {
this.scrollTo(e, this.scrollY)
}
)
}
},
position: function() {
if (this.length) {
var t = this[0]
, e = this.offsetParent()
, a = this.offset()
, s = f.test(e[0].nodeName) ? {
top: 0,
left: 0
} : e.offset();
return a.top -= parseFloat(i(t).css("margin-top")) || 0,
a.left -= parseFloat(i(t).css("margin-left")) || 0,
s.top += parseFloat(i(e[0]).css("border-top-width")) || 0,
s.left += parseFloat(i(e[0]).css("border-left-width")) || 0,
{
top: a.top - s.top,
left: a.left - s.left
}
}
},
offsetParent: function() {
return this.map((function() {
for (var t = this.offsetParent || h.body; t && !f.test(t.nodeName) && "static" == i(t).css("position"); )
t = t.offsetParent;
return t
}
))
}
},
i.fn.detach = i.fn.remove,
["width", "height"].forEach((function(e) {
var a = e.replace(/./, (function(t) {
return t[0].toUpperCase()
}
));
i.fn[e] = function(s) {
var n, o = this[0];
return s === t ? C(o) ? o["inner" + a] : I(o) ? o.documentElement["scroll" + a] : (n = this.offset()) && n[e] : this.each((function(t) {
(o = i(this)).css(e, U(this, s, t, o[e]()))
}
))
}
}
)),
["after", "prepend", "before", "append"].forEach((function(t, e) {
var a = e % 2;
i.fn[t] = function() {
var t, s, n = i.map(arguments, (function(e) {
return "object" == (t = N(e)) || "array" == t || null == e ? e : E.fragment(e)
}
)), o = this.length > 1;
return n.length < 1 ? this : this.each((function(t, r) {
s = a ? r : r.parentNode,
r = 0 == e ? r.nextSibling : 1 == e ? r.firstChild : 2 == e ? r : null,
n.forEach((function(t) {
if (o)
t = t.cloneNode(!0);
else if (!s)
return i(t).remove();
Y(s.insertBefore(t, r), (function(t) {
null == t.nodeName || "SCRIPT" !== t.nodeName.toUpperCase() || t.type && "text/javascript" !== t.type || t.src || window.eval.call(window, t.innerHTML)
}
))
}
))
}
))
}
,
i.fn[a ? t + "To" : "insert" + (e ? "Before" : "After")] = function(e) {
return i(e)[t](this),
this
}
}
)),
E.Z.prototype = i.fn,
E.uniq = n,
E.deserializeValue = G,
i.zepto = E,
i
}();
window.Zepto = dt,
void 0 === window.$ && (window.$ = dt),
function(t) {
t.zepto.qsa;
var e, i = 1, a = Array.prototype.slice, s = t.isFunction, n = function(t) {
return "string" == typeof t
}, o = {}, r = {}, l = "onfocusin"in window, h = {
focus: "focusin",
blur: "focusout"
}, d = {
mouseenter: "mouseover",
mouseleave: "mouseout"
};
function c(t) {
return t._zid || (t._zid = i++)
}
function u(t, e, i, a) {
if ((e = m(e)).ns)
var s = (n = e.ns,
new RegExp("(?:^| )" + n.replace(" ", " .* ?") + "(?: |$)"));
var n;
return (o[c(t)] || []).filter((function(t) {
return t && (!e.e || t.e == e.e) && (!e.ns || s.test(t.ns)) && (!i || c(t.fn) === c(i)) && (!a || t.sel == a)
}
))
}
function m(t) {
var e = ("" + t).split(".");
return {
e: e[0],
ns: e.slice(1).sort().join(" ")
}
}
function _(t, e) {
return t.del && !l && t.e in h || !!e
}
function p(t) {
return d[t] || l && h[t] || t
}
function f(i, a, s, n, r, l, h) {
var u = c(i)
, f = o[u] || (o[u] = []);
a.split(/\s/).forEach((function(a) {
if ("ready" == a)
return t(document).ready(s);
var o = m(a);
o.fn = s,
o.sel = r,
o.e in d && (s = function(e) {
var i = e.relatedTarget;
if (!i || i !== this && !t.contains(this, i))
return o.fn.apply(this, arguments)
}
),
o.del = l;
var c = l || s;
o.proxy = function(t) {
if (!(t = k(t)).isImmediatePropagationStopped()) {
t.data = n;
var a = c.apply(i, t._args == e ? [t] : [t].concat(t._args));
return !1 === a && (t.preventDefault(),
t.stopPropagation()),
a
}
}
,
o.i = f.length,
f.push(o),
"addEventListener"in i && i.addEventListener(p(o.e), o.proxy, _(o, h))
}
))
}
function g(t, e, i, a, s) {
var n = c(t);
(e || "").split(/\s/).forEach((function(e) {
u(t, e, i, a).forEach((function(e) {
delete o[n][e.i],
"removeEventListener"in t && t.removeEventListener(p(e.e), e.proxy, _(e, s))
}
))
}
))
}
r.click = r.mousedown = r.mouseup = r.mousemove = "MouseEvents",
t.event = {
add: f,
remove: g
},
t.proxy = function(e, i) {
if (s(e)) {
var a = function() {
return e.apply(i, arguments)
};
return a._zid = c(e),
a
}
if (n(i))
return t.proxy(e[i], e);
throw new TypeError("expected function")
}
,
t.fn.bind = function(t, e, i) {
return this.on(t, e, i)
}
,
t.fn.unbind = function(t, e) {
return this.off(t, e)
}
,
t.fn.one = function(t, e, i, a) {
return this.on(t, e, i, a, 1)
}
;
var v = function() {
return !0
}
, y = function() {
return !1
}
, b = /^([A-Z]|returnValue$|layer[XY]$)/
, w = {
preventDefault: "isDefaultPrevented",
stopImmediatePropagation: "isImmediatePropagationStopped",
stopPropagation: "isPropagationStopped"
};
function k(i, a) {
return !a && i.isDefaultPrevented || (a || (a = i),
t.each(w, (function(t, e) {
var s = a[t];
i[t] = function() {
return this[e] = v,
s && s.apply(a, arguments)
}
,
i[e] = y
}
)),
(a.defaultPrevented !== e ? a.defaultPrevented : "returnValue"in a ? !1 === a.returnValue : a.getPreventDefault && a.getPreventDefault()) && (i.isDefaultPrevented = v)),
i
}
function x(t) {
var i, a = {
originalEvent: t
};
for (i in t)
b.test(i) || t[i] === e || (a[i] = t[i]);
return k(a, t)
}
t.fn.delegate = function(t, e, i) {
return this.on(e, t, i)
}
,
t.fn.undelegate = function(t, e, i) {
return this.off(e, t, i)
}
,
t.fn.live = function(e, i) {
return t(document.body).delegate(this.selector, e, i),
this
}
,
t.fn.die = function(e, i) {
return t(document.body).undelegate(this.selector, e, i),
this
}
,
t.fn.on = function(i, o, r, l, h) {
var d, c, u = this;
return i && !n(i) ? (t.each(i, (function(t, e) {
u.on(t, o, r, e, h)
}
)),
u) : (n(o) || s(l) || !1 === l || (l = r,
r = o,
o = e),
(s(r) || !1 === r) && (l = r,
r = e),
!1 === l && (l = y),
u.each((function(e, s) {
h && (d = function(t) {
return g(s, t.type, l),
l.apply(this, arguments)
}
),
o && (c = function(e) {
var i, n = t(e.target).closest(o, s).get(0);
if (n && n !== s)
return i = t.extend(x(e), {
currentTarget: n,
liveFired: s
}),
(d || l).apply(n, [i].concat(a.call(arguments, 1)))
}
),
f(s, i, l, r, o, c || d)
}
)))
}
,
t.fn.off = function(i, a, o) {
var r = this;
return i && !n(i) ? (t.each(i, (function(t, e) {
r.off(t, a, e)
}
)),
r) : (n(a) || s(o) || !1 === o || (o = a,
a = e),
!1 === o && (o = y),
r.each((function() {
g(this, i, o, a)
}
)))
}
,
t.fn.trigger = function(e, i) {
return (e = n(e) || t.isPlainObject(e) ? t.Event(e) : k(e))._args = i,
this.each((function() {
"dispatchEvent"in this ? this.dispatchEvent(e) : t(this).triggerHandler(e, i)
}
))
}
,
t.fn.triggerHandler = function(e, i) {
var a, s;
return this.each((function(o, r) {
(a = x(n(e) ? t.Event(e) : e))._args = i,
a.target = r,
t.each(u(r, e.type || e), (function(t, e) {
if (s = e.proxy(a),
a.isImmediatePropagationStopped())
return !1
}
))
}
)),
s
}
,
"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach((function(e) {
t.fn[e] = function(t) {
return t ? this.bind(e, t) : this.trigger(e)
}
}
)),
["focus", "blur"].forEach((function(e) {
t.fn[e] = function(t) {
return t ? this.bind(e, t) : this.each((function() {
try {
this[e]()
} catch (t) {}
}
)),
this
}
}
)),
t.Event = function(t, e) {
n(t) || (t = (e = t).type);
var i = document.createEvent(r[t] || "Events")
, a = !0;
if (e)
for (var s in e)
"bubbles" == s ? a = !!e[s] : i[s] = e[s];
return i.initEvent(t, a, !0),
k(i)
}
}(dt),
function(t) {
var e, i, a = 0, s = window.document, n = /