diff --git a/Gruntfile.js b/Gruntfile.js index c83a2471..63d10e6a 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -46,12 +46,14 @@ module.exports = function(grunt) { mainConfigFile: 'public/res/main.js', optimize: "uglify2", inlineText: true, + /* uglify2: { output: { beautify: true, indent_level: 1, }, }, + */ excludeShallow: [ 'css/css-builder', 'less/lessc-server', diff --git a/public/cache.manifest b/public/cache.manifest index 16b7c4c8..d5992826 100644 --- a/public/cache.manifest +++ b/public/cache.manifest @@ -1,5 +1,5 @@ CACHE MANIFEST -#Date Sat Mar 22 2014 02:00:56 +#Date Mon Apr 21 2014 18:25:05 CACHE: res/worker.js diff --git a/public/res-min/main.js b/public/res-min/main.js index 54026401..d1ae47ea 100644 --- a/public/res-min/main.js +++ b/public/res-min/main.js @@ -289,7 +289,7 @@ Example usage: /*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ /** - * @license RequireJS text 2.0.10 Copyright (c) 2010-2012, The Dojo Foundation All Rights Reserved. + * @license RequireJS text 2.0.12 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved. * Available via the MIT or new BSD license. * see: http://github.com/requirejs/text for details */ @@ -903,30697 +903,39 @@ THE SOFTWARE. * TODO: Add hotkey/mousewheel bindings to _instantly_ respond to these zoom event */ -function printStackTrace(e) { - e = e || { - guess: !0 - }; - var t = e.e || null, n = !!e.guess, i = new printStackTrace.implementation(), o = i.run(t); - return n ? i.guessAnonymousFunctions(o) : o; -} - -!function(e, t) { - function n(e) { - var t = e.length, n = rt.type(e); - return rt.isWindow(e) ? !1 : 1 === e.nodeType && t ? !0 : "array" === n || "function" !== n && (0 === t || "number" == typeof t && t > 0 && t - 1 in e); - } - function i(e) { - var t = ft[e] = {}; - return rt.each(e.match(at) || [], function(e, n) { - t[n] = !0; - }), t; - } - function o() { - Object.defineProperty(this.cache = {}, 0, { - get: function() { - return {}; - } - }), this.expando = rt.expando + Math.random(); - } - function r(e, n, i) { - var o; - if (i === t && 1 === e.nodeType) if (o = "data-" + n.replace(bt, "-$1").toLowerCase(), - i = e.getAttribute(o), "string" == typeof i) { - try { - i = "true" === i ? !0 : "false" === i ? !1 : "null" === i ? null : +i + "" === i ? +i : vt.test(i) ? JSON.parse(i) : i; - } catch (r) {} - gt.set(e, n, i); - } else i = t; - return i; - } - function s() { - return !0; - } - function a() { - return !1; - } - function l() { - try { - return q.activeElement; - } catch (e) {} - } - function c(e, t) { - for (;(e = e[t]) && 1 !== e.nodeType; ) ; - return e; - } - function u(e, t, n) { - if (rt.isFunction(t)) return rt.grep(e, function(e, i) { - return !!t.call(e, i, e) !== n; - }); - if (t.nodeType) return rt.grep(e, function(e) { - return e === t !== n; - }); - if ("string" == typeof t) { - if (Tt.test(t)) return rt.filter(t, e, n); - t = rt.filter(t, e); - } - return rt.grep(e, function(e) { - return tt.call(t, e) >= 0 !== n; - }); - } - function d(e, t) { - return rt.nodeName(e, "table") && rt.nodeName(1 === t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e; - } - function h(e) { - return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e; - } - function p(e) { - var t = Ot.exec(e.type); - return t ? e.type = t[1] : e.removeAttribute("type"), e; - } - function f(e, t) { - for (var n = e.length, i = 0; n > i; i++) mt.set(e[i], "globalEval", !t || mt.get(t[i], "globalEval")); - } - function g(e, t) { - var n, i, o, r, s, a, l, c; - if (1 === t.nodeType) { - if (mt.hasData(e) && (r = mt.access(e), s = mt.set(t, r), c = r.events)) { - delete s.handle, s.events = {}; - for (o in c) for (n = 0, i = c[o].length; i > n; n++) rt.event.add(t, o, c[o][n]); - } - gt.hasData(e) && (a = gt.access(e), l = rt.extend({}, a), gt.set(t, l)); - } - } - function m(e, n) { - var i = e.getElementsByTagName ? e.getElementsByTagName(n || "*") : e.querySelectorAll ? e.querySelectorAll(n || "*") : []; - return n === t || n && rt.nodeName(e, n) ? rt.merge([ e ], i) : i; - } - function v(e, t) { - var n = t.nodeName.toLowerCase(); - "input" === n && Bt.test(e.type) ? t.checked = e.checked : ("input" === n || "textarea" === n) && (t.defaultValue = e.defaultValue); - } - function b(e, t) { - if (t in e) return t; - for (var n = t.charAt(0).toUpperCase() + t.slice(1), i = t, o = Jt.length; o--; ) if (t = Jt[o] + n, - t in e) return t; - return i; - } - function y(e, t) { - return e = t || e, "none" === rt.css(e, "display") || !rt.contains(e.ownerDocument, e); - } - function w(t) { - return e.getComputedStyle(t, null); - } - function C(e, t) { - for (var n, i, o, r = [], s = 0, a = e.length; a > s; s++) i = e[s], i.style && (r[s] = mt.get(i, "olddisplay"), - n = i.style.display, t ? (r[s] || "none" !== n || (i.style.display = ""), "" === i.style.display && y(i) && (r[s] = mt.access(i, "olddisplay", k(i.nodeName)))) : r[s] || (o = y(i), - (n && "none" !== n || !o) && mt.set(i, "olddisplay", o ? n : rt.css(i, "display")))); - for (s = 0; a > s; s++) i = e[s], i.style && (t && "none" !== i.style.display && "" !== i.style.display || (i.style.display = t ? r[s] || "" : "none")); - return e; - } - function x(e, t, n) { - var i = Ut.exec(t); - return i ? Math.max(0, i[1] - (n || 0)) + (i[2] || "px") : t; - } - function S(e, t, n, i, o) { - for (var r = n === (i ? "border" : "content") ? 4 : "width" === t ? 1 : 0, s = 0; 4 > r; r += 2) "margin" === n && (s += rt.css(e, n + Yt[r], !0, o)), - i ? ("content" === n && (s -= rt.css(e, "padding" + Yt[r], !0, o)), "margin" !== n && (s -= rt.css(e, "border" + Yt[r] + "Width", !0, o))) : (s += rt.css(e, "padding" + Yt[r], !0, o), - "padding" !== n && (s += rt.css(e, "border" + Yt[r] + "Width", !0, o))); - return s; - } - function E(e, t, n) { - var i = !0, o = "width" === t ? e.offsetWidth : e.offsetHeight, r = w(e), s = rt.support.boxSizing && "border-box" === rt.css(e, "boxSizing", !1, r); - if (0 >= o || null == o) { - if (o = jt(e, t, r), (0 > o || null == o) && (o = e.style[t]), Vt.test(o)) return o; - i = s && (rt.support.boxSizingReliable || o === e.style[t]), o = parseFloat(o) || 0; - } - return o + S(e, t, n || (s ? "border" : "content"), i, r) + "px"; - } - function k(e) { - var t = q, n = Xt[e]; - return n || (n = A(e, t), "none" !== n && n || (Wt = (Wt || rt("").css("cssText", "display:block !important")).appendTo(t.documentElement), - t = (Wt[0].contentWindow || Wt[0].contentDocument).document, t.write("
"), - t.close(), n = A(e, t), Wt.detach()), Xt[e] = n), n; - } - function A(e, t) { - var n = rt(t.createElement(e)).appendTo(t.body), i = rt.css(n[0], "display"); - return n.remove(), i; - } - function F(e, t, n, i) { - var o; - if (rt.isArray(t)) rt.each(t, function(t, o) { - n || tn.test(e) ? i(e, o) : F(e + "[" + ("object" == typeof o ? t : "") + "]", o, n, i); - }); else if (n || "object" !== rt.type(t)) i(e, t); else for (o in t) F(e + "[" + o + "]", t[o], n, i); - } - function T(e) { - return function(t, n) { - "string" != typeof t && (n = t, t = "*"); - var i, o = 0, r = t.toLowerCase().match(at) || []; - if (rt.isFunction(n)) for (;i = r[o++]; ) "+" === i[0] ? (i = i.slice(1) || "*", - (e[i] = e[i] || []).unshift(n)) : (e[i] = e[i] || []).push(n); - }; - } - function D(e, t, n, i) { - function o(a) { - var l; - return r[a] = !0, rt.each(e[a] || [], function(e, a) { - var c = a(t, n, i); - return "string" != typeof c || s || r[c] ? s ? !(l = c) : void 0 : (t.dataTypes.unshift(c), - o(c), !1); - }), l; - } - var r = {}, s = e === yn; - return o(t.dataTypes[0]) || !r["*"] && o("*"); - } - function _(e, n) { - var i, o, r = rt.ajaxSettings.flatOptions || {}; - for (i in n) n[i] !== t && ((r[i] ? e : o || (o = {}))[i] = n[i]); - return o && rt.extend(!0, e, o), e; - } - function L(e, n, i) { - for (var o, r, s, a, l = e.contents, c = e.dataTypes; "*" === c[0]; ) c.shift(), - o === t && (o = e.mimeType || n.getResponseHeader("Content-Type")); - if (o) for (r in l) if (l[r] && l[r].test(o)) { - c.unshift(r); - break; - } - if (c[0] in i) s = c[0]; else { - for (r in i) { - if (!c[0] || e.converters[r + " " + c[0]]) { - s = r; - break; - } - a || (a = r); - } - s = s || a; - } - return s ? (s !== c[0] && c.unshift(s), i[s]) : void 0; - } - function I(e, t, n, i) { - var o, r, s, a, l, c = {}, u = e.dataTypes.slice(); - if (u[1]) for (s in e.converters) c[s.toLowerCase()] = e.converters[s]; - for (r = u.shift(); r; ) if (e.responseFields[r] && (n[e.responseFields[r]] = t), - !l && i && e.dataFilter && (t = e.dataFilter(t, e.dataType)), l = r, r = u.shift()) if ("*" === r) r = l; else if ("*" !== l && l !== r) { - if (s = c[l + " " + r] || c["* " + r], !s) for (o in c) if (a = o.split(" "), a[1] === r && (s = c[l + " " + a[0]] || c["* " + a[0]])) { - s === !0 ? s = c[o] : c[o] !== !0 && (r = a[0], u.unshift(a[1])); - break; - } - if (s !== !0) if (s && e["throws"]) t = s(t); else try { - t = s(t); - } catch (d) { - return { - state: "parsererror", - error: s ? d : "No conversion from " + l + " to " + r - }; - } - } - return { - state: "success", - data: t - }; - } - function M() { - return setTimeout(function() { - Tn = t; - }), Tn = rt.now(); - } - function R(e, t, n) { - for (var i, o = (Rn[t] || []).concat(Rn["*"]), r = 0, s = o.length; s > r; r++) if (i = o[r].call(n, t, e)) return i; - } - function $(e, t, n) { - var i, o, r = 0, s = Mn.length, a = rt.Deferred().always(function() { - delete l.elem; - }), l = function() { - if (o) return !1; - for (var t = Tn || M(), n = Math.max(0, c.startTime + c.duration - t), i = n / c.duration || 0, r = 1 - i, s = 0, l = c.tweens.length; l > s; s++) c.tweens[s].run(r); - return a.notifyWith(e, [ c, r, n ]), 1 > r && l ? n : (a.resolveWith(e, [ c ]), - !1); - }, c = a.promise({ - elem: e, - props: rt.extend({}, t), - opts: rt.extend(!0, { - specialEasing: {} - }, n), - originalProperties: t, - originalOptions: n, - startTime: Tn || M(), - duration: n.duration, - tweens: [], - createTween: function(t, n) { - var i = rt.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing); - return c.tweens.push(i), i; - }, - stop: function(t) { - var n = 0, i = t ? c.tweens.length : 0; - if (o) return this; - for (o = !0; i > n; n++) c.tweens[n].run(1); - return t ? a.resolveWith(e, [ c, t ]) : a.rejectWith(e, [ c, t ]), this; - } - }), u = c.props; - for (B(u, c.opts.specialEasing); s > r; r++) if (i = Mn[r].call(c, e, u, c.opts)) return i; - return rt.map(u, R, c), rt.isFunction(c.opts.start) && c.opts.start.call(e, c), - rt.fx.timer(rt.extend(l, { - elem: e, - anim: c, - queue: c.opts.queue - })), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always); - } - function B(e, t) { - var n, i, o, r, s; - for (n in e) if (i = rt.camelCase(n), o = t[i], r = e[n], rt.isArray(r) && (o = r[1], - r = e[n] = r[0]), n !== i && (e[i] = r, delete e[n]), s = rt.cssHooks[i], s && "expand" in s) { - r = s.expand(r), delete e[i]; - for (n in r) n in e || (e[n] = r[n], t[n] = o); - } else t[i] = o; - } - function P(e, n, i) { - var o, r, s, a, l, c, u = this, d = {}, h = e.style, p = e.nodeType && y(e), f = mt.get(e, "fxshow"); - i.queue || (l = rt._queueHooks(e, "fx"), null == l.unqueued && (l.unqueued = 0, - c = l.empty.fire, l.empty.fire = function() { - l.unqueued || c(); - }), l.unqueued++, u.always(function() { - u.always(function() { - l.unqueued--, rt.queue(e, "fx").length || l.empty.fire(); - }); - })), 1 === e.nodeType && ("height" in n || "width" in n) && (i.overflow = [ h.overflow, h.overflowX, h.overflowY ], - "inline" === rt.css(e, "display") && "none" === rt.css(e, "float") && (h.display = "inline-block")), - i.overflow && (h.overflow = "hidden", u.always(function() { - h.overflow = i.overflow[0], h.overflowX = i.overflow[1], h.overflowY = i.overflow[2]; - })); - for (o in n) if (r = n[o], _n.exec(r)) { - if (delete n[o], s = s || "toggle" === r, r === (p ? "hide" : "show")) { - if ("show" !== r || !f || f[o] === t) continue; - p = !0; - } - d[o] = f && f[o] || rt.style(e, o); - } - if (!rt.isEmptyObject(d)) { - f ? "hidden" in f && (p = f.hidden) : f = mt.access(e, "fxshow", {}), s && (f.hidden = !p), - p ? rt(e).show() : u.done(function() { - rt(e).hide(); - }), u.done(function() { - var t; - mt.remove(e, "fxshow"); - for (t in d) rt.style(e, t, d[t]); - }); - for (o in d) a = R(p ? f[o] : 0, o, u), o in f || (f[o] = a.start, p && (a.end = a.start, - a.start = "width" === o || "height" === o ? 1 : 0)); - } - } - function N(e, t, n, i, o) { - return new N.prototype.init(e, t, n, i, o); - } - function O(e, t) { - var n, i = { - height: e - }, o = 0; - for (t = t ? 1 : 0; 4 > o; o += 2 - t) n = Yt[o], i["margin" + n] = i["padding" + n] = e; - return t && (i.opacity = i.width = e), i; - } - function z(e) { - return rt.isWindow(e) ? e : 9 === e.nodeType && e.defaultView; - } - var H, j, W = typeof t, G = e.location, q = e.document, U = q.documentElement, V = e.jQuery, K = e.$, X = {}, Q = [], Z = "2.0.3", Y = Q.concat, J = Q.push, et = Q.slice, tt = Q.indexOf, nt = X.toString, it = X.hasOwnProperty, ot = Z.trim, rt = function(e, t) { - return new rt.fn.init(e, t, H); - }, st = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, at = /\S+/g, lt = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, ct = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, ut = /^-ms-/, dt = /-([\da-z])/gi, ht = function(e, t) { - return t.toUpperCase(); - }, pt = function() { - q.removeEventListener("DOMContentLoaded", pt, !1), e.removeEventListener("load", pt, !1), - rt.ready(); - }; - rt.fn = rt.prototype = { - jquery: Z, - constructor: rt, - init: function(e, n, i) { - var o, r; - if (!e) return this; - if ("string" == typeof e) { - if (o = "<" === e.charAt(0) && ">" === e.charAt(e.length - 1) && e.length >= 3 ? [ null, e, null ] : lt.exec(e), - !o || !o[1] && n) return !n || n.jquery ? (n || i).find(e) : this.constructor(n).find(e); - if (o[1]) { - if (n = n instanceof rt ? n[0] : n, rt.merge(this, rt.parseHTML(o[1], n && n.nodeType ? n.ownerDocument || n : q, !0)), - ct.test(o[1]) && rt.isPlainObject(n)) for (o in n) rt.isFunction(this[o]) ? this[o](n[o]) : this.attr(o, n[o]); - return this; - } - return r = q.getElementById(o[2]), r && r.parentNode && (this.length = 1, this[0] = r), - this.context = q, this.selector = e, this; - } - return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : rt.isFunction(e) ? i.ready(e) : (e.selector !== t && (this.selector = e.selector, - this.context = e.context), rt.makeArray(e, this)); - }, - selector: "", - length: 0, - toArray: function() { - return et.call(this); - }, - get: function(e) { - return null == e ? this.toArray() : 0 > e ? this[this.length + e] : this[e]; - }, - pushStack: function(e) { - var t = rt.merge(this.constructor(), e); - return t.prevObject = this, t.context = this.context, t; - }, - each: function(e, t) { - return rt.each(this, e, t); - }, - ready: function(e) { - return rt.ready.promise().done(e), this; - }, - slice: function() { - return this.pushStack(et.apply(this, arguments)); - }, - first: function() { - return this.eq(0); - }, - last: function() { - return this.eq(-1); - }, - eq: function(e) { - var t = this.length, n = +e + (0 > e ? t : 0); - return this.pushStack(n >= 0 && t > n ? [ this[n] ] : []); - }, - map: function(e) { - return this.pushStack(rt.map(this, function(t, n) { - return e.call(t, n, t); - })); - }, - end: function() { - return this.prevObject || this.constructor(null); - }, - push: J, - sort: [].sort, - splice: [].splice - }, rt.fn.init.prototype = rt.fn, rt.extend = rt.fn.extend = function() { - var e, n, i, o, r, s, a = arguments[0] || {}, l = 1, c = arguments.length, u = !1; - for ("boolean" == typeof a && (u = a, a = arguments[1] || {}, l = 2), "object" == typeof a || rt.isFunction(a) || (a = {}), - c === l && (a = this, --l); c > l; l++) if (null != (e = arguments[l])) for (n in e) i = a[n], - o = e[n], a !== o && (u && o && (rt.isPlainObject(o) || (r = rt.isArray(o))) ? (r ? (r = !1, - s = i && rt.isArray(i) ? i : []) : s = i && rt.isPlainObject(i) ? i : {}, a[n] = rt.extend(u, s, o)) : o !== t && (a[n] = o)); - return a; - }, rt.extend({ - expando: "jQuery" + (Z + Math.random()).replace(/\D/g, ""), - noConflict: function(t) { - return e.$ === rt && (e.$ = K), t && e.jQuery === rt && (e.jQuery = V), rt; - }, - isReady: !1, - readyWait: 1, - holdReady: function(e) { - e ? rt.readyWait++ : rt.ready(!0); - }, - ready: function(e) { - (e === !0 ? --rt.readyWait : rt.isReady) || (rt.isReady = !0, e !== !0 && --rt.readyWait > 0 || (j.resolveWith(q, [ rt ]), - rt.fn.trigger && rt(q).trigger("ready").off("ready"))); - }, - isFunction: function(e) { - return "function" === rt.type(e); - }, - isArray: Array.isArray, - isWindow: function(e) { - return null != e && e === e.window; - }, - isNumeric: function(e) { - return !isNaN(parseFloat(e)) && isFinite(e); - }, - type: function(e) { - return null == e ? String(e) : "object" == typeof e || "function" == typeof e ? X[nt.call(e)] || "object" : typeof e; - }, - isPlainObject: function(e) { - if ("object" !== rt.type(e) || e.nodeType || rt.isWindow(e)) return !1; - try { - if (e.constructor && !it.call(e.constructor.prototype, "isPrototypeOf")) return !1; - } catch (t) { - return !1; - } - return !0; - }, - isEmptyObject: function(e) { - var t; - for (t in e) return !1; - return !0; - }, - error: function(e) { - throw new Error(e); - }, - parseHTML: function(e, t, n) { - if (!e || "string" != typeof e) return null; - "boolean" == typeof t && (n = t, t = !1), t = t || q; - var i = ct.exec(e), o = !n && []; - return i ? [ t.createElement(i[1]) ] : (i = rt.buildFragment([ e ], t, o), o && rt(o).remove(), - rt.merge([], i.childNodes)); - }, - parseJSON: JSON.parse, - parseXML: function(e) { - var n, i; - if (!e || "string" != typeof e) return null; - try { - i = new DOMParser(), n = i.parseFromString(e, "text/xml"); - } catch (o) { - n = t; - } - return (!n || n.getElementsByTagName("parsererror").length) && rt.error("Invalid XML: " + e), - n; - }, - noop: function() {}, - globalEval: function(e) { - var t, n = eval; - e = rt.trim(e), e && (1 === e.indexOf("use strict") ? (t = q.createElement("script"), - t.text = e, q.head.appendChild(t).parentNode.removeChild(t)) : n(e)); - }, - camelCase: function(e) { - return e.replace(ut, "ms-").replace(dt, ht); - }, - nodeName: function(e, t) { - return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase(); - }, - each: function(e, t, i) { - var o, r = 0, s = e.length, a = n(e); - if (i) { - if (a) for (;s > r && (o = t.apply(e[r], i), o !== !1); r++) ; else for (r in e) if (o = t.apply(e[r], i), - o === !1) break; - } else if (a) for (;s > r && (o = t.call(e[r], r, e[r]), o !== !1); r++) ; else for (r in e) if (o = t.call(e[r], r, e[r]), - o === !1) break; - return e; - }, - trim: function(e) { - return null == e ? "" : ot.call(e); - }, - makeArray: function(e, t) { - var i = t || []; - return null != e && (n(Object(e)) ? rt.merge(i, "string" == typeof e ? [ e ] : e) : J.call(i, e)), - i; - }, - inArray: function(e, t, n) { - return null == t ? -1 : tt.call(t, e, n); - }, - merge: function(e, n) { - var i = n.length, o = e.length, r = 0; - if ("number" == typeof i) for (;i > r; r++) e[o++] = n[r]; else for (;n[r] !== t; ) e[o++] = n[r++]; - return e.length = o, e; - }, - grep: function(e, t, n) { - var i, o = [], r = 0, s = e.length; - for (n = !!n; s > r; r++) i = !!t(e[r], r), n !== i && o.push(e[r]); - return o; - }, - map: function(e, t, i) { - var o, r = 0, s = e.length, a = n(e), l = []; - if (a) for (;s > r; r++) o = t(e[r], r, i), null != o && (l[l.length] = o); else for (r in e) o = t(e[r], r, i), - null != o && (l[l.length] = o); - return Y.apply([], l); - }, - guid: 1, - proxy: function(e, n) { - var i, o, r; - return "string" == typeof n && (i = e[n], n = e, e = i), rt.isFunction(e) ? (o = et.call(arguments, 2), - r = function() { - return e.apply(n || this, o.concat(et.call(arguments))); - }, r.guid = e.guid = e.guid || rt.guid++, r) : t; - }, - access: function(e, n, i, o, r, s, a) { - var l = 0, c = e.length, u = null == i; - if ("object" === rt.type(i)) { - r = !0; - for (l in i) rt.access(e, n, l, i[l], !0, s, a); - } else if (o !== t && (r = !0, rt.isFunction(o) || (a = !0), u && (a ? (n.call(e, o), - n = null) : (u = n, n = function(e, t, n) { - return u.call(rt(e), n); - })), n)) for (;c > l; l++) n(e[l], i, a ? o : o.call(e[l], l, n(e[l], i))); - return r ? e : u ? n.call(e) : c ? n(e[0], i) : s; - }, - now: Date.now, - swap: function(e, t, n, i) { - var o, r, s = {}; - for (r in t) s[r] = e.style[r], e.style[r] = t[r]; - o = n.apply(e, i || []); - for (r in t) e.style[r] = s[r]; - return o; - } - }), rt.ready.promise = function(t) { - return j || (j = rt.Deferred(), "complete" === q.readyState ? setTimeout(rt.ready) : (q.addEventListener("DOMContentLoaded", pt, !1), - e.addEventListener("load", pt, !1))), j.promise(t); - }, rt.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(e, t) { - X["[object " + t + "]"] = t.toLowerCase(); - }), H = rt(q), function(e, t) { - function n(e, t, n, i) { - var o, r, s, a, l, c, u, d, f, g; - if ((t ? t.ownerDocument || t : z) !== I && L(t), t = t || I, n = n || [], !e || "string" != typeof e) return n; - if (1 !== (a = t.nodeType) && 9 !== a) return []; - if (R && !i) { - if (o = yt.exec(e)) if (s = o[1]) { - if (9 === a) { - if (r = t.getElementById(s), !r || !r.parentNode) return n; - if (r.id === s) return n.push(r), n; - } else if (t.ownerDocument && (r = t.ownerDocument.getElementById(s)) && N(t, r) && r.id === s) return n.push(r), - n; - } else { - if (o[2]) return et.apply(n, t.getElementsByTagName(e)), n; - if ((s = o[3]) && S.getElementsByClassName && t.getElementsByClassName) return et.apply(n, t.getElementsByClassName(s)), - n; - } - if (S.qsa && (!$ || !$.test(e))) { - if (d = u = O, f = t, g = 9 === a && e, 1 === a && "object" !== t.nodeName.toLowerCase()) { - for (c = h(e), (u = t.getAttribute("id")) ? d = u.replace(xt, "\\$&") : t.setAttribute("id", d), - d = "[id='" + d + "'] ", l = c.length; l--; ) c[l] = d + p(c[l]); - f = pt.test(e) && t.parentNode || t, g = c.join(","); - } - if (g) try { - return et.apply(n, f.querySelectorAll(g)), n; - } catch (m) {} finally { - u || t.removeAttribute("id"); - } - } - } - return C(e.replace(ut, "$1"), t, n, i); - } - function i() { - function e(n, i) { - return t.push(n += " ") > k.cacheLength && delete e[t.shift()], e[n] = i; - } - var t = []; - return e; - } - function o(e) { - return e[O] = !0, e; - } - function r(e) { - var t = I.createElement("div"); - try { - return !!e(t); - } catch (n) { - return !1; - } finally { - t.parentNode && t.parentNode.removeChild(t), t = null; - } - } - function s(e, t) { - for (var n = e.split("|"), i = e.length; i--; ) k.attrHandle[n[i]] = t; - } - function a(e, t) { - var n = t && e, i = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || X) - (~e.sourceIndex || X); - if (i) return i; - if (n) for (;n = n.nextSibling; ) if (n === t) return -1; - return e ? 1 : -1; - } - function l(e) { - return function(t) { - var n = t.nodeName.toLowerCase(); - return "input" === n && t.type === e; - }; - } - function c(e) { - return function(t) { - var n = t.nodeName.toLowerCase(); - return ("input" === n || "button" === n) && t.type === e; - }; - } - function u(e) { - return o(function(t) { - return t = +t, o(function(n, i) { - for (var o, r = e([], n.length, t), s = r.length; s--; ) n[o = r[s]] && (n[o] = !(i[o] = n[o])); - }); - }); - } - function d() {} - function h(e, t) { - var i, o, r, s, a, l, c, u = G[e + " "]; - if (u) return t ? 0 : u.slice(0); - for (a = e, l = [], c = k.preFilter; a; ) { - (!i || (o = dt.exec(a))) && (o && (a = a.slice(o[0].length) || a), l.push(r = [])), - i = !1, (o = ht.exec(a)) && (i = o.shift(), r.push({ - value: i, - type: o[0].replace(ut, " ") - }), a = a.slice(i.length)); - for (s in k.filter) !(o = vt[s].exec(a)) || c[s] && !(o = c[s](o)) || (i = o.shift(), - r.push({ - value: i, - type: s, - matches: o - }), a = a.slice(i.length)); - if (!i) break; - } - return t ? a.length : a ? n.error(e) : G(e, l).slice(0); - } - function p(e) { - for (var t = 0, n = e.length, i = ""; n > t; t++) i += e[t].value; - return i; - } - function f(e, t, n) { - var i = t.dir, o = n && "parentNode" === i, r = j++; - return t.first ? function(t, n, r) { - for (;t = t[i]; ) if (1 === t.nodeType || o) return e(t, n, r); - } : function(t, n, s) { - var a, l, c, u = H + " " + r; - if (s) { - for (;t = t[i]; ) if ((1 === t.nodeType || o) && e(t, n, s)) return !0; - } else for (;t = t[i]; ) if (1 === t.nodeType || o) if (c = t[O] || (t[O] = {}), - (l = c[i]) && l[0] === u) { - if ((a = l[1]) === !0 || a === E) return a === !0; - } else if (l = c[i] = [ u ], l[1] = e(t, n, s) || E, l[1] === !0) return !0; - }; - } - function g(e) { - return e.length > 1 ? function(t, n, i) { - for (var o = e.length; o--; ) if (!e[o](t, n, i)) return !1; - return !0; - } : e[0]; - } - function m(e, t, n, i, o) { - for (var r, s = [], a = 0, l = e.length, c = null != t; l > a; a++) (r = e[a]) && (!n || n(r, i, o)) && (s.push(r), - c && t.push(a)); - return s; - } - function v(e, t, n, i, r, s) { - return i && !i[O] && (i = v(i)), r && !r[O] && (r = v(r, s)), o(function(o, s, a, l) { - var c, u, d, h = [], p = [], f = s.length, g = o || w(t || "*", a.nodeType ? [ a ] : a, []), v = !e || !o && t ? g : m(g, h, e, a, l), b = n ? r || (o ? e : f || i) ? [] : s : v; - if (n && n(v, b, a, l), i) for (c = m(b, p), i(c, [], a, l), u = c.length; u--; ) (d = c[u]) && (b[p[u]] = !(v[p[u]] = d)); - if (o) { - if (r || e) { - if (r) { - for (c = [], u = b.length; u--; ) (d = b[u]) && c.push(v[u] = d); - r(null, b = [], c, l); - } - for (u = b.length; u--; ) (d = b[u]) && (c = r ? nt.call(o, d) : h[u]) > -1 && (o[c] = !(s[c] = d)); - } - } else b = m(b === s ? b.splice(f, b.length) : b), r ? r(null, s, b, l) : et.apply(s, b); - }); - } - function b(e) { - for (var t, n, i, o = e.length, r = k.relative[e[0].type], s = r || k.relative[" "], a = r ? 1 : 0, l = f(function(e) { - return e === t; - }, s, !0), c = f(function(e) { - return nt.call(t, e) > -1; - }, s, !0), u = [ function(e, n, i) { - return !r && (i || n !== D) || ((t = n).nodeType ? l(e, n, i) : c(e, n, i)); - } ]; o > a; a++) if (n = k.relative[e[a].type]) u = [ f(g(u), n) ]; else { - if (n = k.filter[e[a].type].apply(null, e[a].matches), n[O]) { - for (i = ++a; o > i && !k.relative[e[i].type]; i++) ; - return v(a > 1 && g(u), a > 1 && p(e.slice(0, a - 1).concat({ - value: " " === e[a - 2].type ? "*" : "" - })).replace(ut, "$1"), n, i > a && b(e.slice(a, i)), o > i && b(e = e.slice(i)), o > i && p(e)); - } - u.push(n); - } - return g(u); - } - function y(e, t) { - var i = 0, r = t.length > 0, s = e.length > 0, a = function(o, a, l, c, u) { - var d, h, p, f = [], g = 0, v = "0", b = o && [], y = null != u, w = D, C = o || s && k.find.TAG("*", u && a.parentNode || a), x = H += null == w ? 1 : Math.random() || .1; - for (y && (D = a !== I && a, E = i); null != (d = C[v]); v++) { - if (s && d) { - for (h = 0; p = e[h++]; ) if (p(d, a, l)) { - c.push(d); - break; - } - y && (H = x, E = ++i); - } - r && ((d = !p && d) && g--, o && b.push(d)); - } - if (g += v, r && v !== g) { - for (h = 0; p = t[h++]; ) p(b, f, a, l); - if (o) { - if (g > 0) for (;v--; ) b[v] || f[v] || (f[v] = Y.call(c)); - f = m(f); - } - et.apply(c, f), y && !o && f.length > 0 && g + t.length > 1 && n.uniqueSort(c); - } - return y && (H = x, D = w), b; - }; - return r ? o(a) : a; - } - function w(e, t, i) { - for (var o = 0, r = t.length; r > o; o++) n(e, t[o], i); - return i; - } - function C(e, t, n, i) { - var o, r, s, a, l, c = h(e); - if (!i && 1 === c.length) { - if (r = c[0] = c[0].slice(0), r.length > 2 && "ID" === (s = r[0]).type && S.getById && 9 === t.nodeType && R && k.relative[r[1].type]) { - if (t = (k.find.ID(s.matches[0].replace(St, Et), t) || [])[0], !t) return n; - e = e.slice(r.shift().value.length); - } - for (o = vt.needsContext.test(e) ? 0 : r.length; o-- && (s = r[o], !k.relative[a = s.type]); ) if ((l = k.find[a]) && (i = l(s.matches[0].replace(St, Et), pt.test(r[0].type) && t.parentNode || t))) { - if (r.splice(o, 1), e = i.length && p(r), !e) return et.apply(n, i), n; - break; - } - } - return T(e, c)(i, t, !R, n, pt.test(e)), n; - } - var x, S, E, k, A, F, T, D, _, L, I, M, R, $, B, P, N, O = "sizzle" + -new Date(), z = e.document, H = 0, j = 0, W = i(), G = i(), q = i(), U = !1, V = function(e, t) { - return e === t ? (U = !0, 0) : 0; - }, K = typeof t, X = 1 << 31, Q = {}.hasOwnProperty, Z = [], Y = Z.pop, J = Z.push, et = Z.push, tt = Z.slice, nt = Z.indexOf || function(e) { - for (var t = 0, n = this.length; n > t; t++) if (this[t] === e) return t; - return -1; - }, it = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", ot = "[\\x20\\t\\r\\n\\f]", st = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", at = st.replace("w", "w#"), lt = "\\[" + ot + "*(" + st + ")" + ot + "*(?:([*^$|!~]?=)" + ot + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + at + ")|)|)" + ot + "*\\]", ct = ":(" + st + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + lt.replace(3, 8) + ")*)|.*)\\)|)", ut = new RegExp("^" + ot + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ot + "+$", "g"), dt = new RegExp("^" + ot + "*," + ot + "*"), ht = new RegExp("^" + ot + "*([>+~]|" + ot + ")" + ot + "*"), pt = new RegExp(ot + "*[+~]"), ft = new RegExp("=" + ot + "*([^\\]'\"]*)" + ot + "*\\]", "g"), gt = new RegExp(ct), mt = new RegExp("^" + at + "$"), vt = { - ID: new RegExp("^#(" + st + ")"), - CLASS: new RegExp("^\\.(" + st + ")"), - TAG: new RegExp("^(" + st.replace("w", "w*") + ")"), - ATTR: new RegExp("^" + lt), - PSEUDO: new RegExp("^" + ct), - CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ot + "*(even|odd|(([+-]|)(\\d*)n|)" + ot + "*(?:([+-]|)" + ot + "*(\\d+)|))" + ot + "*\\)|)", "i"), - bool: new RegExp("^(?:" + it + ")$", "i"), - needsContext: new RegExp("^" + ot + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ot + "*((?:-\\d)?\\d*)" + ot + "*\\)|)(?=[^-]|$)", "i") - }, bt = /^[^{]+\{\s*\[native \w/, yt = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, wt = /^(?:input|select|textarea|button)$/i, Ct = /^h\d$/i, xt = /'|\\/g, St = new RegExp("\\\\([\\da-f]{1,6}" + ot + "?|(" + ot + ")|.)", "ig"), Et = function(e, t, n) { - var i = "0x" + t - 65536; - return i !== i || n ? t : 0 > i ? String.fromCharCode(i + 65536) : String.fromCharCode(55296 | i >> 10, 56320 | 1023 & i); - }; - try { - et.apply(Z = tt.call(z.childNodes), z.childNodes), Z[z.childNodes.length].nodeType; - } catch (kt) { - et = { - apply: Z.length ? function(e, t) { - J.apply(e, tt.call(t)); - } : function(e, t) { - for (var n = e.length, i = 0; e[n++] = t[i++]; ) ; - e.length = n - 1; - } - }; - } - F = n.isXML = function(e) { - var t = e && (e.ownerDocument || e).documentElement; - return t ? "HTML" !== t.nodeName : !1; - }, S = n.support = {}, L = n.setDocument = function(e) { - var t = e ? e.ownerDocument || e : z, n = t.defaultView; - return t !== I && 9 === t.nodeType && t.documentElement ? (I = t, M = t.documentElement, - R = !F(t), n && n.attachEvent && n !== n.top && n.attachEvent("onbeforeunload", function() { - L(); - }), S.attributes = r(function(e) { - return e.className = "i", !e.getAttribute("className"); - }), S.getElementsByTagName = r(function(e) { - return e.appendChild(t.createComment("")), !e.getElementsByTagName("*").length; - }), S.getElementsByClassName = r(function(e) { - return e.innerHTML = "", e.firstChild.className = "i", - 2 === e.getElementsByClassName("i").length; - }), S.getById = r(function(e) { - return M.appendChild(e).id = O, !t.getElementsByName || !t.getElementsByName(O).length; - }), S.getById ? (k.find.ID = function(e, t) { - if (typeof t.getElementById !== K && R) { - var n = t.getElementById(e); - return n && n.parentNode ? [ n ] : []; - } - }, k.filter.ID = function(e) { - var t = e.replace(St, Et); - return function(e) { - return e.getAttribute("id") === t; - }; - }) : (delete k.find.ID, k.filter.ID = function(e) { - var t = e.replace(St, Et); - return function(e) { - var n = typeof e.getAttributeNode !== K && e.getAttributeNode("id"); - return n && n.value === t; - }; - }), k.find.TAG = S.getElementsByTagName ? function(e, t) { - return typeof t.getElementsByTagName !== K ? t.getElementsByTagName(e) : void 0; - } : function(e, t) { - var n, i = [], o = 0, r = t.getElementsByTagName(e); - if ("*" === e) { - for (;n = r[o++]; ) 1 === n.nodeType && i.push(n); - return i; - } - return r; - }, k.find.CLASS = S.getElementsByClassName && function(e, t) { - return typeof t.getElementsByClassName !== K && R ? t.getElementsByClassName(e) : void 0; - }, B = [], $ = [], (S.qsa = bt.test(t.querySelectorAll)) && (r(function(e) { - e.innerHTML = "", e.querySelectorAll("[selected]").length || $.push("\\[" + ot + "*(?:value|" + it + ")"), - e.querySelectorAll(":checked").length || $.push(":checked"); - }), r(function(e) { - var n = t.createElement("input"); - n.setAttribute("type", "hidden"), e.appendChild(n).setAttribute("t", ""), e.querySelectorAll("[t^='']").length && $.push("[*^$]=" + ot + "*(?:''|\"\")"), - e.querySelectorAll(":enabled").length || $.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), - $.push(",.*:"); - })), (S.matchesSelector = bt.test(P = M.webkitMatchesSelector || M.mozMatchesSelector || M.oMatchesSelector || M.msMatchesSelector)) && r(function(e) { - S.disconnectedMatch = P.call(e, "div"), P.call(e, "[s!='']:x"), B.push("!=", ct); - }), $ = $.length && new RegExp($.join("|")), B = B.length && new RegExp(B.join("|")), - N = bt.test(M.contains) || M.compareDocumentPosition ? function(e, t) { - var n = 9 === e.nodeType ? e.documentElement : e, i = t && t.parentNode; - return e === i || !(!i || 1 !== i.nodeType || !(n.contains ? n.contains(i) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(i))); - } : function(e, t) { - if (t) for (;t = t.parentNode; ) if (t === e) return !0; - return !1; - }, V = M.compareDocumentPosition ? function(e, n) { - if (e === n) return U = !0, 0; - var i = n.compareDocumentPosition && e.compareDocumentPosition && e.compareDocumentPosition(n); - return i ? 1 & i || !S.sortDetached && n.compareDocumentPosition(e) === i ? e === t || N(z, e) ? -1 : n === t || N(z, n) ? 1 : _ ? nt.call(_, e) - nt.call(_, n) : 0 : 4 & i ? -1 : 1 : e.compareDocumentPosition ? -1 : 1; - } : function(e, n) { - var i, o = 0, r = e.parentNode, s = n.parentNode, l = [ e ], c = [ n ]; - if (e === n) return U = !0, 0; - if (!r || !s) return e === t ? -1 : n === t ? 1 : r ? -1 : s ? 1 : _ ? nt.call(_, e) - nt.call(_, n) : 0; - if (r === s) return a(e, n); - for (i = e; i = i.parentNode; ) l.unshift(i); - for (i = n; i = i.parentNode; ) c.unshift(i); - for (;l[o] === c[o]; ) o++; - return o ? a(l[o], c[o]) : l[o] === z ? -1 : c[o] === z ? 1 : 0; - }, t) : I; - }, n.matches = function(e, t) { - return n(e, null, null, t); - }, n.matchesSelector = function(e, t) { - if ((e.ownerDocument || e) !== I && L(e), t = t.replace(ft, "='$1']"), !(!S.matchesSelector || !R || B && B.test(t) || $ && $.test(t))) try { - var i = P.call(e, t); - if (i || S.disconnectedMatch || e.document && 11 !== e.document.nodeType) return i; - } catch (o) {} - return n(t, I, null, [ e ]).length > 0; - }, n.contains = function(e, t) { - return (e.ownerDocument || e) !== I && L(e), N(e, t); - }, n.attr = function(e, n) { - (e.ownerDocument || e) !== I && L(e); - var i = k.attrHandle[n.toLowerCase()], o = i && Q.call(k.attrHandle, n.toLowerCase()) ? i(e, n, !R) : t; - return o === t ? S.attributes || !R ? e.getAttribute(n) : (o = e.getAttributeNode(n)) && o.specified ? o.value : null : o; - }, n.error = function(e) { - throw new Error("Syntax error, unrecognized expression: " + e); - }, n.uniqueSort = function(e) { - var t, n = [], i = 0, o = 0; - if (U = !S.detectDuplicates, _ = !S.sortStable && e.slice(0), e.sort(V), U) { - for (;t = e[o++]; ) t === e[o] && (i = n.push(o)); - for (;i--; ) e.splice(n[i], 1); - } - return e; - }, A = n.getText = function(e) { - var t, n = "", i = 0, o = e.nodeType; - if (o) { - if (1 === o || 9 === o || 11 === o) { - if ("string" == typeof e.textContent) return e.textContent; - for (e = e.firstChild; e; e = e.nextSibling) n += A(e); - } else if (3 === o || 4 === o) return e.nodeValue; - } else for (;t = e[i]; i++) n += A(t); - return n; - }, k = n.selectors = { - cacheLength: 50, - createPseudo: o, - match: vt, - attrHandle: {}, - find: {}, - relative: { - ">": { - dir: "parentNode", - first: !0 - }, - " ": { - dir: "parentNode" - }, - "+": { - dir: "previousSibling", - first: !0 - }, - "~": { - dir: "previousSibling" - } - }, - preFilter: { - ATTR: function(e) { - return e[1] = e[1].replace(St, Et), e[3] = (e[4] || e[5] || "").replace(St, Et), - "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4); - }, - CHILD: function(e) { - return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || n.error(e[0]), - e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && n.error(e[0]), - e; - }, - PSEUDO: function(e) { - var n, i = !e[5] && e[2]; - return vt.CHILD.test(e[0]) ? null : (e[3] && e[4] !== t ? e[2] = e[4] : i && gt.test(i) && (n = h(i, !0)) && (n = i.indexOf(")", i.length - n) - i.length) && (e[0] = e[0].slice(0, n), - e[2] = i.slice(0, n)), e.slice(0, 3)); - } - }, - filter: { - TAG: function(e) { - var t = e.replace(St, Et).toLowerCase(); - return "*" === e ? function() { - return !0; - } : function(e) { - return e.nodeName && e.nodeName.toLowerCase() === t; - }; - }, - CLASS: function(e) { - var t = W[e + " "]; - return t || (t = new RegExp("(^|" + ot + ")" + e + "(" + ot + "|$)")) && W(e, function(e) { - return t.test("string" == typeof e.className && e.className || typeof e.getAttribute !== K && e.getAttribute("class") || ""); - }); - }, - ATTR: function(e, t, i) { - return function(o) { - var r = n.attr(o, e); - return null == r ? "!=" === t : t ? (r += "", "=" === t ? r === i : "!=" === t ? r !== i : "^=" === t ? i && 0 === r.indexOf(i) : "*=" === t ? i && r.indexOf(i) > -1 : "$=" === t ? i && r.slice(-i.length) === i : "~=" === t ? (" " + r + " ").indexOf(i) > -1 : "|=" === t ? r === i || r.slice(0, i.length + 1) === i + "-" : !1) : !0; - }; - }, - CHILD: function(e, t, n, i, o) { - var r = "nth" !== e.slice(0, 3), s = "last" !== e.slice(-4), a = "of-type" === t; - return 1 === i && 0 === o ? function(e) { - return !!e.parentNode; - } : function(t, n, l) { - var c, u, d, h, p, f, g = r !== s ? "nextSibling" : "previousSibling", m = t.parentNode, v = a && t.nodeName.toLowerCase(), b = !l && !a; - if (m) { - if (r) { - for (;g; ) { - for (d = t; d = d[g]; ) if (a ? d.nodeName.toLowerCase() === v : 1 === d.nodeType) return !1; - f = g = "only" === e && !f && "nextSibling"; - } - return !0; - } - if (f = [ s ? m.firstChild : m.lastChild ], s && b) { - for (u = m[O] || (m[O] = {}), c = u[e] || [], p = c[0] === H && c[1], h = c[0] === H && c[2], - d = p && m.childNodes[p]; d = ++p && d && d[g] || (h = p = 0) || f.pop(); ) if (1 === d.nodeType && ++h && d === t) { - u[e] = [ H, p, h ]; - break; - } - } else if (b && (c = (t[O] || (t[O] = {}))[e]) && c[0] === H) h = c[1]; else for (;(d = ++p && d && d[g] || (h = p = 0) || f.pop()) && ((a ? d.nodeName.toLowerCase() !== v : 1 !== d.nodeType) || !++h || (b && ((d[O] || (d[O] = {}))[e] = [ H, h ]), - d !== t)); ) ; - return h -= o, h === i || 0 === h % i && h / i >= 0; - } - }; - }, - PSEUDO: function(e, t) { - var i, r = k.pseudos[e] || k.setFilters[e.toLowerCase()] || n.error("unsupported pseudo: " + e); - return r[O] ? r(t) : r.length > 1 ? (i = [ e, e, "", t ], k.setFilters.hasOwnProperty(e.toLowerCase()) ? o(function(e, n) { - for (var i, o = r(e, t), s = o.length; s--; ) i = nt.call(e, o[s]), e[i] = !(n[i] = o[s]); - }) : function(e) { - return r(e, 0, i); - }) : r; - } - }, - pseudos: { - not: o(function(e) { - var t = [], n = [], i = T(e.replace(ut, "$1")); - return i[O] ? o(function(e, t, n, o) { - for (var r, s = i(e, null, o, []), a = e.length; a--; ) (r = s[a]) && (e[a] = !(t[a] = r)); - }) : function(e, o, r) { - return t[0] = e, i(t, null, r, n), !n.pop(); - }; - }), - has: o(function(e) { - return function(t) { - return n(e, t).length > 0; - }; - }), - contains: o(function(e) { - return function(t) { - return (t.textContent || t.innerText || A(t)).indexOf(e) > -1; - }; - }), - lang: o(function(e) { - return mt.test(e || "") || n.error("unsupported lang: " + e), e = e.replace(St, Et).toLowerCase(), - function(t) { - var n; - do if (n = R ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return n = n.toLowerCase(), - n === e || 0 === n.indexOf(e + "-"); while ((t = t.parentNode) && 1 === t.nodeType); - return !1; - }; - }), - target: function(t) { - var n = e.location && e.location.hash; - return n && n.slice(1) === t.id; - }, - root: function(e) { - return e === M; - }, - focus: function(e) { - return e === I.activeElement && (!I.hasFocus || I.hasFocus()) && !!(e.type || e.href || ~e.tabIndex); - }, - enabled: function(e) { - return e.disabled === !1; - }, - disabled: function(e) { - return e.disabled === !0; - }, - checked: function(e) { - var t = e.nodeName.toLowerCase(); - return "input" === t && !!e.checked || "option" === t && !!e.selected; - }, - selected: function(e) { - return e.parentNode && e.parentNode.selectedIndex, e.selected === !0; - }, - empty: function(e) { - for (e = e.firstChild; e; e = e.nextSibling) if (e.nodeName > "@" || 3 === e.nodeType || 4 === e.nodeType) return !1; - return !0; - }, - parent: function(e) { - return !k.pseudos.empty(e); - }, - header: function(e) { - return Ct.test(e.nodeName); - }, - input: function(e) { - return wt.test(e.nodeName); - }, - button: function(e) { - var t = e.nodeName.toLowerCase(); - return "input" === t && "button" === e.type || "button" === t; - }, - text: function(e) { - var t; - return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || t.toLowerCase() === e.type); - }, - first: u(function() { - return [ 0 ]; - }), - last: u(function(e, t) { - return [ t - 1 ]; - }), - eq: u(function(e, t, n) { - return [ 0 > n ? n + t : n ]; - }), - even: u(function(e, t) { - for (var n = 0; t > n; n += 2) e.push(n); - return e; - }), - odd: u(function(e, t) { - for (var n = 1; t > n; n += 2) e.push(n); - return e; - }), - lt: u(function(e, t, n) { - for (var i = 0 > n ? n + t : n; --i >= 0; ) e.push(i); - return e; - }), - gt: u(function(e, t, n) { - for (var i = 0 > n ? n + t : n; ++i < t; ) e.push(i); - return e; - }) - } - }, k.pseudos.nth = k.pseudos.eq; - for (x in { - radio: !0, - checkbox: !0, - file: !0, - password: !0, - image: !0 - }) k.pseudos[x] = l(x); - for (x in { - submit: !0, - reset: !0 - }) k.pseudos[x] = c(x); - d.prototype = k.filters = k.pseudos, k.setFilters = new d(), T = n.compile = function(e, t) { - var n, i = [], o = [], r = q[e + " "]; - if (!r) { - for (t || (t = h(e)), n = t.length; n--; ) r = b(t[n]), r[O] ? i.push(r) : o.push(r); - r = q(e, y(o, i)); - } - return r; - }, S.sortStable = O.split("").sort(V).join("") === O, S.detectDuplicates = U, L(), - S.sortDetached = r(function(e) { - return 1 & e.compareDocumentPosition(I.createElement("div")); - }), r(function(e) { - return e.innerHTML = "", "#" === e.firstChild.getAttribute("href"); - }) || s("type|href|height|width", function(e, t, n) { - return n ? void 0 : e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2); - }), S.attributes && r(function(e) { - return e.innerHTML = "", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value"); - }) || s("value", function(e, t, n) { - return n || "input" !== e.nodeName.toLowerCase() ? void 0 : e.defaultValue; - }), r(function(e) { - return null == e.getAttribute("disabled"); - }) || s(it, function(e, t, n) { - var i; - return n ? void 0 : (i = e.getAttributeNode(t)) && i.specified ? i.value : e[t] === !0 ? t.toLowerCase() : null; - }), rt.find = n, rt.expr = n.selectors, rt.expr[":"] = rt.expr.pseudos, rt.unique = n.uniqueSort, - rt.text = n.getText, rt.isXMLDoc = n.isXML, rt.contains = n.contains; - }(e); - var ft = {}; - rt.Callbacks = function(e) { - e = "string" == typeof e ? ft[e] || i(e) : rt.extend({}, e); - var n, o, r, s, a, l, c = [], u = !e.once && [], d = function(t) { - for (n = e.memory && t, o = !0, l = s || 0, s = 0, a = c.length, r = !0; c && a > l; l++) if (c[l].apply(t[0], t[1]) === !1 && e.stopOnFalse) { - n = !1; - break; - } - r = !1, c && (u ? u.length && d(u.shift()) : n ? c = [] : h.disable()); - }, h = { - add: function() { - if (c) { - var t = c.length; - !function i(t) { - rt.each(t, function(t, n) { - var o = rt.type(n); - "function" === o ? e.unique && h.has(n) || c.push(n) : n && n.length && "string" !== o && i(n); - }); - }(arguments), r ? a = c.length : n && (s = t, d(n)); - } - return this; - }, - remove: function() { - return c && rt.each(arguments, function(e, t) { - for (var n; (n = rt.inArray(t, c, n)) > -1; ) c.splice(n, 1), r && (a >= n && a--, - l >= n && l--); - }), this; - }, - has: function(e) { - return e ? rt.inArray(e, c) > -1 : !(!c || !c.length); - }, - empty: function() { - return c = [], a = 0, this; - }, - disable: function() { - return c = u = n = t, this; - }, - disabled: function() { - return !c; - }, - lock: function() { - return u = t, n || h.disable(), this; - }, - locked: function() { - return !u; - }, - fireWith: function(e, t) { - return !c || o && !u || (t = t || [], t = [ e, t.slice ? t.slice() : t ], r ? u.push(t) : d(t)), - this; - }, - fire: function() { - return h.fireWith(this, arguments), this; - }, - fired: function() { - return !!o; - } - }; - return h; - }, rt.extend({ - Deferred: function(e) { - var t = [ [ "resolve", "done", rt.Callbacks("once memory"), "resolved" ], [ "reject", "fail", rt.Callbacks("once memory"), "rejected" ], [ "notify", "progress", rt.Callbacks("memory") ] ], n = "pending", i = { - state: function() { - return n; - }, - always: function() { - return o.done(arguments).fail(arguments), this; - }, - then: function() { - var e = arguments; - return rt.Deferred(function(n) { - rt.each(t, function(t, r) { - var s = r[0], a = rt.isFunction(e[t]) && e[t]; - o[r[1]](function() { - var e = a && a.apply(this, arguments); - e && rt.isFunction(e.promise) ? e.promise().done(n.resolve).fail(n.reject).progress(n.notify) : n[s + "With"](this === i ? n.promise() : this, a ? [ e ] : arguments); - }); - }), e = null; - }).promise(); - }, - promise: function(e) { - return null != e ? rt.extend(e, i) : i; - } - }, o = {}; - return i.pipe = i.then, rt.each(t, function(e, r) { - var s = r[2], a = r[3]; - i[r[1]] = s.add, a && s.add(function() { - n = a; - }, t[1 ^ e][2].disable, t[2][2].lock), o[r[0]] = function() { - return o[r[0] + "With"](this === o ? i : this, arguments), this; - }, o[r[0] + "With"] = s.fireWith; - }), i.promise(o), e && e.call(o, o), o; - }, - when: function(e) { - var t, n, i, o = 0, r = et.call(arguments), s = r.length, a = 1 !== s || e && rt.isFunction(e.promise) ? s : 0, l = 1 === a ? e : rt.Deferred(), c = function(e, n, i) { - return function(o) { - n[e] = this, i[e] = arguments.length > 1 ? et.call(arguments) : o, i === t ? l.notifyWith(n, i) : --a || l.resolveWith(n, i); - }; - }; - if (s > 1) for (t = new Array(s), n = new Array(s), i = new Array(s); s > o; o++) r[o] && rt.isFunction(r[o].promise) ? r[o].promise().done(c(o, i, r)).fail(l.reject).progress(c(o, n, t)) : --a; - return a || l.resolveWith(i, r), l.promise(); - } - }), rt.support = function(t) { - var n = q.createElement("input"), i = q.createDocumentFragment(), o = q.createElement("div"), r = q.createElement("select"), s = r.appendChild(q.createElement("option")); - return n.type ? (n.type = "checkbox", t.checkOn = "" !== n.value, t.optSelected = s.selected, - t.reliableMarginRight = !0, t.boxSizingReliable = !0, t.pixelPosition = !1, n.checked = !0, - t.noCloneChecked = n.cloneNode(!0).checked, r.disabled = !0, t.optDisabled = !s.disabled, - n = q.createElement("input"), n.value = "t", n.type = "radio", t.radioValue = "t" === n.value, - n.setAttribute("checked", "t"), n.setAttribute("name", "t"), i.appendChild(n), t.checkClone = i.cloneNode(!0).cloneNode(!0).lastChild.checked, - t.focusinBubbles = "onfocusin" in e, o.style.backgroundClip = "content-box", o.cloneNode(!0).style.backgroundClip = "", - t.clearCloneStyle = "content-box" === o.style.backgroundClip, rt(function() { - var n, i, r = "padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box", s = q.getElementsByTagName("body")[0]; - s && (n = q.createElement("div"), n.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px", - s.appendChild(n).appendChild(o), o.innerHTML = "", o.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%", - rt.swap(s, null != s.style.zoom ? { - zoom: 1 - } : {}, function() { - t.boxSizing = 4 === o.offsetWidth; - }), e.getComputedStyle && (t.pixelPosition = "1%" !== (e.getComputedStyle(o, null) || {}).top, - t.boxSizingReliable = "4px" === (e.getComputedStyle(o, null) || { - width: "4px" - }).width, i = o.appendChild(q.createElement("div")), i.style.cssText = o.style.cssText = r, - i.style.marginRight = i.style.width = "0", o.style.width = "1px", t.reliableMarginRight = !parseFloat((e.getComputedStyle(i, null) || {}).marginRight)), - s.removeChild(n)); - }), t) : t; - }({}); - var gt, mt, vt = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, bt = /([A-Z])/g; - o.uid = 1, o.accepts = function(e) { - return e.nodeType ? 1 === e.nodeType || 9 === e.nodeType : !0; - }, o.prototype = { - key: function(e) { - if (!o.accepts(e)) return 0; - var t = {}, n = e[this.expando]; - if (!n) { - n = o.uid++; - try { - t[this.expando] = { - value: n - }, Object.defineProperties(e, t); - } catch (i) { - t[this.expando] = n, rt.extend(e, t); - } - } - return this.cache[n] || (this.cache[n] = {}), n; - }, - set: function(e, t, n) { - var i, o = this.key(e), r = this.cache[o]; - if ("string" == typeof t) r[t] = n; else if (rt.isEmptyObject(r)) rt.extend(this.cache[o], t); else for (i in t) r[i] = t[i]; - return r; - }, - get: function(e, n) { - var i = this.cache[this.key(e)]; - return n === t ? i : i[n]; - }, - access: function(e, n, i) { - var o; - return n === t || n && "string" == typeof n && i === t ? (o = this.get(e, n), o !== t ? o : this.get(e, rt.camelCase(n))) : (this.set(e, n, i), - i !== t ? i : n); - }, - remove: function(e, n) { - var i, o, r, s = this.key(e), a = this.cache[s]; - if (n === t) this.cache[s] = {}; else { - rt.isArray(n) ? o = n.concat(n.map(rt.camelCase)) : (r = rt.camelCase(n), n in a ? o = [ n, r ] : (o = r, - o = o in a ? [ o ] : o.match(at) || [])), i = o.length; - for (;i--; ) delete a[o[i]]; - } - }, - hasData: function(e) { - return !rt.isEmptyObject(this.cache[e[this.expando]] || {}); - }, - discard: function(e) { - e[this.expando] && delete this.cache[e[this.expando]]; - } - }, gt = new o(), mt = new o(), rt.extend({ - acceptData: o.accepts, - hasData: function(e) { - return gt.hasData(e) || mt.hasData(e); - }, - data: function(e, t, n) { - return gt.access(e, t, n); - }, - removeData: function(e, t) { - gt.remove(e, t); - }, - _data: function(e, t, n) { - return mt.access(e, t, n); - }, - _removeData: function(e, t) { - mt.remove(e, t); - } - }), rt.fn.extend({ - data: function(e, n) { - var i, o, s = this[0], a = 0, l = null; - if (e === t) { - if (this.length && (l = gt.get(s), 1 === s.nodeType && !mt.get(s, "hasDataAttrs"))) { - for (i = s.attributes; a < i.length; a++) o = i[a].name, 0 === o.indexOf("data-") && (o = rt.camelCase(o.slice(5)), - r(s, o, l[o])); - mt.set(s, "hasDataAttrs", !0); - } - return l; - } - return "object" == typeof e ? this.each(function() { - gt.set(this, e); - }) : rt.access(this, function(n) { - var i, o = rt.camelCase(e); - if (s && n === t) { - if (i = gt.get(s, e), i !== t) return i; - if (i = gt.get(s, o), i !== t) return i; - if (i = r(s, o, t), i !== t) return i; - } else this.each(function() { - var i = gt.get(this, o); - gt.set(this, o, n), -1 !== e.indexOf("-") && i !== t && gt.set(this, e, n); - }); - }, null, n, arguments.length > 1, null, !0); - }, - removeData: function(e) { - return this.each(function() { - gt.remove(this, e); - }); - } - }), rt.extend({ - queue: function(e, t, n) { - var i; - return e ? (t = (t || "fx") + "queue", i = mt.get(e, t), n && (!i || rt.isArray(n) ? i = mt.access(e, t, rt.makeArray(n)) : i.push(n)), - i || []) : void 0; - }, - dequeue: function(e, t) { - t = t || "fx"; - var n = rt.queue(e, t), i = n.length, o = n.shift(), r = rt._queueHooks(e, t), s = function() { - rt.dequeue(e, t); - }; - "inprogress" === o && (o = n.shift(), i--), o && ("fx" === t && n.unshift("inprogress"), - delete r.stop, o.call(e, s, r)), !i && r && r.empty.fire(); - }, - _queueHooks: function(e, t) { - var n = t + "queueHooks"; - return mt.get(e, n) || mt.access(e, n, { - empty: rt.Callbacks("once memory").add(function() { - mt.remove(e, [ t + "queue", n ]); - }) - }); - } - }), rt.fn.extend({ - queue: function(e, n) { - var i = 2; - return "string" != typeof e && (n = e, e = "fx", i--), arguments.length < i ? rt.queue(this[0], e) : n === t ? this : this.each(function() { - var t = rt.queue(this, e, n); - rt._queueHooks(this, e), "fx" === e && "inprogress" !== t[0] && rt.dequeue(this, e); - }); - }, - dequeue: function(e) { - return this.each(function() { - rt.dequeue(this, e); - }); - }, - delay: function(e, t) { - return e = rt.fx ? rt.fx.speeds[e] || e : e, t = t || "fx", this.queue(t, function(t, n) { - var i = setTimeout(t, e); - n.stop = function() { - clearTimeout(i); - }; - }); - }, - clearQueue: function(e) { - return this.queue(e || "fx", []); - }, - promise: function(e, n) { - var i, o = 1, r = rt.Deferred(), s = this, a = this.length, l = function() { - --o || r.resolveWith(s, [ s ]); - }; - for ("string" != typeof e && (n = e, e = t), e = e || "fx"; a--; ) i = mt.get(s[a], e + "queueHooks"), - i && i.empty && (o++, i.empty.add(l)); - return l(), r.promise(n); - } - }); - var yt, wt, Ct = /[\t\r\n\f]/g, xt = /\r/g, St = /^(?:input|select|textarea|button)$/i; - rt.fn.extend({ - attr: function(e, t) { - return rt.access(this, rt.attr, e, t, arguments.length > 1); - }, - removeAttr: function(e) { - return this.each(function() { - rt.removeAttr(this, e); - }); - }, - prop: function(e, t) { - return rt.access(this, rt.prop, e, t, arguments.length > 1); - }, - removeProp: function(e) { - return this.each(function() { - delete this[rt.propFix[e] || e]; - }); - }, - addClass: function(e) { - var t, n, i, o, r, s = 0, a = this.length, l = "string" == typeof e && e; - if (rt.isFunction(e)) return this.each(function(t) { - rt(this).addClass(e.call(this, t, this.className)); - }); - if (l) for (t = (e || "").match(at) || []; a > s; s++) if (n = this[s], i = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(Ct, " ") : " ")) { - for (r = 0; o = t[r++]; ) i.indexOf(" " + o + " ") < 0 && (i += o + " "); - n.className = rt.trim(i); - } - return this; - }, - removeClass: function(e) { - var t, n, i, o, r, s = 0, a = this.length, l = 0 === arguments.length || "string" == typeof e && e; - if (rt.isFunction(e)) return this.each(function(t) { - rt(this).removeClass(e.call(this, t, this.className)); - }); - if (l) for (t = (e || "").match(at) || []; a > s; s++) if (n = this[s], i = 1 === n.nodeType && (n.className ? (" " + n.className + " ").replace(Ct, " ") : "")) { - for (r = 0; o = t[r++]; ) for (;i.indexOf(" " + o + " ") >= 0; ) i = i.replace(" " + o + " ", " "); - n.className = e ? rt.trim(i) : ""; - } - return this; - }, - toggleClass: function(e, t) { - var n = typeof e; - return "boolean" == typeof t && "string" === n ? t ? this.addClass(e) : this.removeClass(e) : rt.isFunction(e) ? this.each(function(n) { - rt(this).toggleClass(e.call(this, n, this.className, t), t); - }) : this.each(function() { - if ("string" === n) for (var t, i = 0, o = rt(this), r = e.match(at) || []; t = r[i++]; ) o.hasClass(t) ? o.removeClass(t) : o.addClass(t); else (n === W || "boolean" === n) && (this.className && mt.set(this, "__className__", this.className), - this.className = this.className || e === !1 ? "" : mt.get(this, "__className__") || ""); - }); - }, - hasClass: function(e) { - for (var t = " " + e + " ", n = 0, i = this.length; i > n; n++) if (1 === this[n].nodeType && (" " + this[n].className + " ").replace(Ct, " ").indexOf(t) >= 0) return !0; - return !1; - }, - val: function(e) { - var n, i, o, r = this[0]; - { - if (arguments.length) return o = rt.isFunction(e), this.each(function(i) { - var r; - 1 === this.nodeType && (r = o ? e.call(this, i, rt(this).val()) : e, null == r ? r = "" : "number" == typeof r ? r += "" : rt.isArray(r) && (r = rt.map(r, function(e) { - return null == e ? "" : e + ""; - })), n = rt.valHooks[this.type] || rt.valHooks[this.nodeName.toLowerCase()], n && "set" in n && n.set(this, r, "value") !== t || (this.value = r)); - }); - if (r) return n = rt.valHooks[r.type] || rt.valHooks[r.nodeName.toLowerCase()], - n && "get" in n && (i = n.get(r, "value")) !== t ? i : (i = r.value, "string" == typeof i ? i.replace(xt, "") : null == i ? "" : i); - } - } - }), rt.extend({ - valHooks: { - option: { - get: function(e) { - var t = e.attributes.value; - return !t || t.specified ? e.value : e.text; - } - }, - select: { - get: function(e) { - for (var t, n, i = e.options, o = e.selectedIndex, r = "select-one" === e.type || 0 > o, s = r ? null : [], a = r ? o + 1 : i.length, l = 0 > o ? a : r ? o : 0; a > l; l++) if (n = i[l], - !(!n.selected && l !== o || (rt.support.optDisabled ? n.disabled : null !== n.getAttribute("disabled")) || n.parentNode.disabled && rt.nodeName(n.parentNode, "optgroup"))) { - if (t = rt(n).val(), r) return t; - s.push(t); - } - return s; - }, - set: function(e, t) { - for (var n, i, o = e.options, r = rt.makeArray(t), s = o.length; s--; ) i = o[s], - (i.selected = rt.inArray(rt(i).val(), r) >= 0) && (n = !0); - return n || (e.selectedIndex = -1), r; - } - } - }, - attr: function(e, n, i) { - var o, r, s = e.nodeType; - if (e && 3 !== s && 8 !== s && 2 !== s) return typeof e.getAttribute === W ? rt.prop(e, n, i) : (1 === s && rt.isXMLDoc(e) || (n = n.toLowerCase(), - o = rt.attrHooks[n] || (rt.expr.match.bool.test(n) ? wt : yt)), i === t ? o && "get" in o && null !== (r = o.get(e, n)) ? r : (r = rt.find.attr(e, n), - null == r ? t : r) : null !== i ? o && "set" in o && (r = o.set(e, i, n)) !== t ? r : (e.setAttribute(n, i + ""), - i) : (rt.removeAttr(e, n), void 0)); - }, - removeAttr: function(e, t) { - var n, i, o = 0, r = t && t.match(at); - if (r && 1 === e.nodeType) for (;n = r[o++]; ) i = rt.propFix[n] || n, rt.expr.match.bool.test(n) && (e[i] = !1), - e.removeAttribute(n); - }, - attrHooks: { - type: { - set: function(e, t) { - if (!rt.support.radioValue && "radio" === t && rt.nodeName(e, "input")) { - var n = e.value; - return e.setAttribute("type", t), n && (e.value = n), t; - } - } - } - }, - propFix: { - "for": "htmlFor", - "class": "className" - }, - prop: function(e, n, i) { - var o, r, s, a = e.nodeType; - if (e && 3 !== a && 8 !== a && 2 !== a) return s = 1 !== a || !rt.isXMLDoc(e), s && (n = rt.propFix[n] || n, - r = rt.propHooks[n]), i !== t ? r && "set" in r && (o = r.set(e, i, n)) !== t ? o : e[n] = i : r && "get" in r && null !== (o = r.get(e, n)) ? o : e[n]; - }, - propHooks: { - tabIndex: { - get: function(e) { - return e.hasAttribute("tabindex") || St.test(e.nodeName) || e.href ? e.tabIndex : -1; - } - } - } - }), wt = { - set: function(e, t, n) { - return t === !1 ? rt.removeAttr(e, n) : e.setAttribute(n, n), n; - } - }, rt.each(rt.expr.match.bool.source.match(/\w+/g), function(e, n) { - var i = rt.expr.attrHandle[n] || rt.find.attr; - rt.expr.attrHandle[n] = function(e, n, o) { - var r = rt.expr.attrHandle[n], s = o ? t : (rt.expr.attrHandle[n] = t) != i(e, n, o) ? n.toLowerCase() : null; - return rt.expr.attrHandle[n] = r, s; - }; - }), rt.support.optSelected || (rt.propHooks.selected = { - get: function(e) { - var t = e.parentNode; - return t && t.parentNode && t.parentNode.selectedIndex, null; - } - }), rt.each([ "tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable" ], function() { - rt.propFix[this.toLowerCase()] = this; - }), rt.each([ "radio", "checkbox" ], function() { - rt.valHooks[this] = { - set: function(e, t) { - return rt.isArray(t) ? e.checked = rt.inArray(rt(e).val(), t) >= 0 : void 0; - } - }, rt.support.checkOn || (rt.valHooks[this].get = function(e) { - return null === e.getAttribute("value") ? "on" : e.value; - }); - }); - var Et = /^key/, kt = /^(?:mouse|contextmenu)|click/, At = /^(?:focusinfocus|focusoutblur)$/, Ft = /^([^.]*)(?:\.(.+)|)$/; - rt.event = { - global: {}, - add: function(e, n, i, o, r) { - var s, a, l, c, u, d, h, p, f, g, m, v = mt.get(e); - if (v) { - for (i.handler && (s = i, i = s.handler, r = s.selector), i.guid || (i.guid = rt.guid++), - (c = v.events) || (c = v.events = {}), (a = v.handle) || (a = v.handle = function(e) { - return typeof rt === W || e && rt.event.triggered === e.type ? t : rt.event.dispatch.apply(a.elem, arguments); - }, a.elem = e), n = (n || "").match(at) || [ "" ], u = n.length; u--; ) l = Ft.exec(n[u]) || [], - f = m = l[1], g = (l[2] || "").split(".").sort(), f && (h = rt.event.special[f] || {}, - f = (r ? h.delegateType : h.bindType) || f, h = rt.event.special[f] || {}, d = rt.extend({ - type: f, - origType: m, - data: o, - handler: i, - guid: i.guid, - selector: r, - needsContext: r && rt.expr.match.needsContext.test(r), - namespace: g.join(".") - }, s), (p = c[f]) || (p = c[f] = [], p.delegateCount = 0, h.setup && h.setup.call(e, o, g, a) !== !1 || e.addEventListener && e.addEventListener(f, a, !1)), - h.add && (h.add.call(e, d), d.handler.guid || (d.handler.guid = i.guid)), r ? p.splice(p.delegateCount++, 0, d) : p.push(d), - rt.event.global[f] = !0); - e = null; - } - }, - remove: function(e, t, n, i, o) { - var r, s, a, l, c, u, d, h, p, f, g, m = mt.hasData(e) && mt.get(e); - if (m && (l = m.events)) { - for (t = (t || "").match(at) || [ "" ], c = t.length; c--; ) if (a = Ft.exec(t[c]) || [], - p = g = a[1], f = (a[2] || "").split(".").sort(), p) { - for (d = rt.event.special[p] || {}, p = (i ? d.delegateType : d.bindType) || p, - h = l[p] || [], a = a[2] && new RegExp("(^|\\.)" + f.join("\\.(?:.*\\.|)") + "(\\.|$)"), - s = r = h.length; r--; ) u = h[r], !o && g !== u.origType || n && n.guid !== u.guid || a && !a.test(u.namespace) || i && i !== u.selector && ("**" !== i || !u.selector) || (h.splice(r, 1), - u.selector && h.delegateCount--, d.remove && d.remove.call(e, u)); - s && !h.length && (d.teardown && d.teardown.call(e, f, m.handle) !== !1 || rt.removeEvent(e, p, m.handle), - delete l[p]); - } else for (p in l) rt.event.remove(e, p + t[c], n, i, !0); - rt.isEmptyObject(l) && (delete m.handle, mt.remove(e, "events")); - } - }, - trigger: function(n, i, o, r) { - var s, a, l, c, u, d, h, p = [ o || q ], f = it.call(n, "type") ? n.type : n, g = it.call(n, "namespace") ? n.namespace.split(".") : []; - if (a = l = o = o || q, 3 !== o.nodeType && 8 !== o.nodeType && !At.test(f + rt.event.triggered) && (f.indexOf(".") >= 0 && (g = f.split("."), - f = g.shift(), g.sort()), u = f.indexOf(":") < 0 && "on" + f, n = n[rt.expando] ? n : new rt.Event(f, "object" == typeof n && n), - n.isTrigger = r ? 2 : 3, n.namespace = g.join("."), n.namespace_re = n.namespace ? new RegExp("(^|\\.)" + g.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, - n.result = t, n.target || (n.target = o), i = null == i ? [ n ] : rt.makeArray(i, [ n ]), - h = rt.event.special[f] || {}, r || !h.trigger || h.trigger.apply(o, i) !== !1)) { - if (!r && !h.noBubble && !rt.isWindow(o)) { - for (c = h.delegateType || f, At.test(c + f) || (a = a.parentNode); a; a = a.parentNode) p.push(a), - l = a; - l === (o.ownerDocument || q) && p.push(l.defaultView || l.parentWindow || e); - } - for (s = 0; (a = p[s++]) && !n.isPropagationStopped(); ) n.type = s > 1 ? c : h.bindType || f, - d = (mt.get(a, "events") || {})[n.type] && mt.get(a, "handle"), d && d.apply(a, i), - d = u && a[u], d && rt.acceptData(a) && d.apply && d.apply(a, i) === !1 && n.preventDefault(); - return n.type = f, r || n.isDefaultPrevented() || h._default && h._default.apply(p.pop(), i) !== !1 || !rt.acceptData(o) || u && rt.isFunction(o[f]) && !rt.isWindow(o) && (l = o[u], - l && (o[u] = null), rt.event.triggered = f, o[f](), rt.event.triggered = t, l && (o[u] = l)), - n.result; - } - }, - dispatch: function(e) { - e = rt.event.fix(e); - var n, i, o, r, s, a = [], l = et.call(arguments), c = (mt.get(this, "events") || {})[e.type] || [], u = rt.event.special[e.type] || {}; - if (l[0] = e, e.delegateTarget = this, !u.preDispatch || u.preDispatch.call(this, e) !== !1) { - for (a = rt.event.handlers.call(this, e, c), n = 0; (r = a[n++]) && !e.isPropagationStopped(); ) for (e.currentTarget = r.elem, - i = 0; (s = r.handlers[i++]) && !e.isImmediatePropagationStopped(); ) (!e.namespace_re || e.namespace_re.test(s.namespace)) && (e.handleObj = s, - e.data = s.data, o = ((rt.event.special[s.origType] || {}).handle || s.handler).apply(r.elem, l), - o !== t && (e.result = o) === !1 && (e.preventDefault(), e.stopPropagation())); - return u.postDispatch && u.postDispatch.call(this, e), e.result; - } - }, - handlers: function(e, n) { - var i, o, r, s, a = [], l = n.delegateCount, c = e.target; - if (l && c.nodeType && (!e.button || "click" !== e.type)) for (;c !== this; c = c.parentNode || this) if (c.disabled !== !0 || "click" !== e.type) { - for (o = [], i = 0; l > i; i++) s = n[i], r = s.selector + " ", o[r] === t && (o[r] = s.needsContext ? rt(r, this).index(c) >= 0 : rt.find(r, this, null, [ c ]).length), - o[r] && o.push(s); - o.length && a.push({ - elem: c, - handlers: o - }); - } - return l < n.length && a.push({ - elem: this, - handlers: n.slice(l) - }), a; - }, - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), - fixHooks: {}, - keyHooks: { - props: "char charCode key keyCode".split(" "), - filter: function(e, t) { - return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), - e; - } - }, - mouseHooks: { - props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), - filter: function(e, n) { - var i, o, r, s = n.button; - return null == e.pageX && null != n.clientX && (i = e.target.ownerDocument || q, - o = i.documentElement, r = i.body, e.pageX = n.clientX + (o && o.scrollLeft || r && r.scrollLeft || 0) - (o && o.clientLeft || r && r.clientLeft || 0), - e.pageY = n.clientY + (o && o.scrollTop || r && r.scrollTop || 0) - (o && o.clientTop || r && r.clientTop || 0)), - e.which || s === t || (e.which = 1 & s ? 1 : 2 & s ? 3 : 4 & s ? 2 : 0), e; - } - }, - fix: function(e) { - if (e[rt.expando]) return e; - var t, n, i, o = e.type, r = e, s = this.fixHooks[o]; - for (s || (this.fixHooks[o] = s = kt.test(o) ? this.mouseHooks : Et.test(o) ? this.keyHooks : {}), - i = s.props ? this.props.concat(s.props) : this.props, e = new rt.Event(r), t = i.length; t--; ) n = i[t], - e[n] = r[n]; - return e.target || (e.target = q), 3 === e.target.nodeType && (e.target = e.target.parentNode), - s.filter ? s.filter(e, r) : e; - }, - special: { - load: { - noBubble: !0 - }, - focus: { - trigger: function() { - return this !== l() && this.focus ? (this.focus(), !1) : void 0; - }, - delegateType: "focusin" - }, - blur: { - trigger: function() { - return this === l() && this.blur ? (this.blur(), !1) : void 0; - }, - delegateType: "focusout" - }, - click: { - trigger: function() { - return "checkbox" === this.type && this.click && rt.nodeName(this, "input") ? (this.click(), - !1) : void 0; - }, - _default: function(e) { - return rt.nodeName(e.target, "a"); - } - }, - beforeunload: { - postDispatch: function(e) { - e.result !== t && (e.originalEvent.returnValue = e.result); - } - } - }, - simulate: function(e, t, n, i) { - var o = rt.extend(new rt.Event(), n, { - type: e, - isSimulated: !0, - originalEvent: {} - }); - i ? rt.event.trigger(o, null, t) : rt.event.dispatch.call(t, o), o.isDefaultPrevented() && n.preventDefault(); - } - }, rt.removeEvent = function(e, t, n) { - e.removeEventListener && e.removeEventListener(t, n, !1); - }, rt.Event = function(e, t) { - return this instanceof rt.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, - this.isDefaultPrevented = e.defaultPrevented || e.getPreventDefault && e.getPreventDefault() ? s : a) : this.type = e, - t && rt.extend(this, t), this.timeStamp = e && e.timeStamp || rt.now(), this[rt.expando] = !0, - void 0) : new rt.Event(e, t); - }, rt.Event.prototype = { - isDefaultPrevented: a, - isPropagationStopped: a, - isImmediatePropagationStopped: a, - preventDefault: function() { - var e = this.originalEvent; - this.isDefaultPrevented = s, e && e.preventDefault && e.preventDefault(); - }, - stopPropagation: function() { - var e = this.originalEvent; - this.isPropagationStopped = s, e && e.stopPropagation && e.stopPropagation(); - }, - stopImmediatePropagation: function() { - this.isImmediatePropagationStopped = s, this.stopPropagation(); - } - }, rt.each({ - mouseenter: "mouseover", - mouseleave: "mouseout" - }, function(e, t) { - rt.event.special[e] = { - delegateType: t, - bindType: t, - handle: function(e) { - var n, i = this, o = e.relatedTarget, r = e.handleObj; - return (!o || o !== i && !rt.contains(i, o)) && (e.type = r.origType, n = r.handler.apply(this, arguments), - e.type = t), n; - } - }; - }), rt.support.focusinBubbles || rt.each({ - focus: "focusin", - blur: "focusout" - }, function(e, t) { - var n = 0, i = function(e) { - rt.event.simulate(t, e.target, rt.event.fix(e), !0); - }; - rt.event.special[t] = { - setup: function() { - 0 === n++ && q.addEventListener(e, i, !0); - }, - teardown: function() { - 0 === --n && q.removeEventListener(e, i, !0); - } - }; - }), rt.fn.extend({ - on: function(e, n, i, o, r) { - var s, l; - if ("object" == typeof e) { - "string" != typeof n && (i = i || n, n = t); - for (l in e) this.on(l, n, i, e[l], r); - return this; - } - if (null == i && null == o ? (o = n, i = n = t) : null == o && ("string" == typeof n ? (o = i, - i = t) : (o = i, i = n, n = t)), o === !1) o = a; else if (!o) return this; - return 1 === r && (s = o, o = function(e) { - return rt().off(e), s.apply(this, arguments); - }, o.guid = s.guid || (s.guid = rt.guid++)), this.each(function() { - rt.event.add(this, e, o, i, n); - }); - }, - one: function(e, t, n, i) { - return this.on(e, t, n, i, 1); - }, - off: function(e, n, i) { - var o, r; - if (e && e.preventDefault && e.handleObj) return o = e.handleObj, rt(e.delegateTarget).off(o.namespace ? o.origType + "." + o.namespace : o.origType, o.selector, o.handler), - this; - if ("object" == typeof e) { - for (r in e) this.off(r, n, e[r]); - return this; - } - return (n === !1 || "function" == typeof n) && (i = n, n = t), i === !1 && (i = a), - this.each(function() { - rt.event.remove(this, e, i, n); - }); - }, - trigger: function(e, t) { - return this.each(function() { - rt.event.trigger(e, t, this); - }); - }, - triggerHandler: function(e, t) { - var n = this[0]; - return n ? rt.event.trigger(e, t, n, !0) : void 0; - } - }); - var Tt = /^.[^:#\[\.,]*$/, Dt = /^(?:parents|prev(?:Until|All))/, _t = rt.expr.match.needsContext, Lt = { - children: !0, - contents: !0, - next: !0, - prev: !0 - }; - rt.fn.extend({ - find: function(e) { - var t, n = [], i = this, o = i.length; - if ("string" != typeof e) return this.pushStack(rt(e).filter(function() { - for (t = 0; o > t; t++) if (rt.contains(i[t], this)) return !0; - })); - for (t = 0; o > t; t++) rt.find(e, i[t], n); - return n = this.pushStack(o > 1 ? rt.unique(n) : n), n.selector = this.selector ? this.selector + " " + e : e, - n; - }, - has: function(e) { - var t = rt(e, this), n = t.length; - return this.filter(function() { - for (var e = 0; n > e; e++) if (rt.contains(this, t[e])) return !0; - }); - }, - not: function(e) { - return this.pushStack(u(this, e || [], !0)); - }, - filter: function(e) { - return this.pushStack(u(this, e || [], !1)); - }, - is: function(e) { - return !!u(this, "string" == typeof e && _t.test(e) ? rt(e) : e || [], !1).length; - }, - closest: function(e, t) { - for (var n, i = 0, o = this.length, r = [], s = _t.test(e) || "string" != typeof e ? rt(e, t || this.context) : 0; o > i; i++) for (n = this[i]; n && n !== t; n = n.parentNode) if (n.nodeType < 11 && (s ? s.index(n) > -1 : 1 === n.nodeType && rt.find.matchesSelector(n, e))) { - n = r.push(n); - break; - } - return this.pushStack(r.length > 1 ? rt.unique(r) : r); - }, - index: function(e) { - return e ? "string" == typeof e ? tt.call(rt(e), this[0]) : tt.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1; - }, - add: function(e, t) { - var n = "string" == typeof e ? rt(e, t) : rt.makeArray(e && e.nodeType ? [ e ] : e), i = rt.merge(this.get(), n); - return this.pushStack(rt.unique(i)); - }, - addBack: function(e) { - return this.add(null == e ? this.prevObject : this.prevObject.filter(e)); - } - }), rt.each({ - parent: function(e) { - var t = e.parentNode; - return t && 11 !== t.nodeType ? t : null; - }, - parents: function(e) { - return rt.dir(e, "parentNode"); - }, - parentsUntil: function(e, t, n) { - return rt.dir(e, "parentNode", n); - }, - next: function(e) { - return c(e, "nextSibling"); - }, - prev: function(e) { - return c(e, "previousSibling"); - }, - nextAll: function(e) { - return rt.dir(e, "nextSibling"); - }, - prevAll: function(e) { - return rt.dir(e, "previousSibling"); - }, - nextUntil: function(e, t, n) { - return rt.dir(e, "nextSibling", n); - }, - prevUntil: function(e, t, n) { - return rt.dir(e, "previousSibling", n); - }, - siblings: function(e) { - return rt.sibling((e.parentNode || {}).firstChild, e); - }, - children: function(e) { - return rt.sibling(e.firstChild); - }, - contents: function(e) { - return e.contentDocument || rt.merge([], e.childNodes); - } - }, function(e, t) { - rt.fn[e] = function(n, i) { - var o = rt.map(this, t, n); - return "Until" !== e.slice(-5) && (i = n), i && "string" == typeof i && (o = rt.filter(i, o)), - this.length > 1 && (Lt[e] || rt.unique(o), Dt.test(e) && o.reverse()), this.pushStack(o); - }; - }), rt.extend({ - filter: function(e, t, n) { - var i = t[0]; - return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === i.nodeType ? rt.find.matchesSelector(i, e) ? [ i ] : [] : rt.find.matches(e, rt.grep(t, function(e) { - return 1 === e.nodeType; - })); - }, - dir: function(e, n, i) { - for (var o = [], r = i !== t; (e = e[n]) && 9 !== e.nodeType; ) if (1 === e.nodeType) { - if (r && rt(e).is(i)) break; - o.push(e); - } - return o; - }, - sibling: function(e, t) { - for (var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e); - return n; - } - }); - var It = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, Mt = /<([\w:]+)/, Rt = /<|?\w+;/, $t = /<(?:script|style|link)/i, Bt = /^(?:checkbox|radio)$/i, Pt = /checked\s*(?:[^=]|=\s*.checked.)/i, Nt = /^$|\/(?:java|ecma)script/i, Ot = /^true\/(.*)/, zt = /^\s*\s*$/g, Ht = { - option: [ 1, "" ], - thead: [ 1, "Adds extra features to the original Markdown syntax.
\n" + i + "\n
", "\n\n" + i + "\n\n" + o;
- }), e = e.replace(/~0/, "");
- }
- function v(e) {
- return e = e.replace(/(^\n+|\n+$)/g, ""), "\n\n~K" + (P.push(e) - 1) + "K\n\n";
- }
- function b(e) {
- return e = e.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm, function(e, t, n, i) {
- var o = i;
- return o = o.replace(/^([ \t]*)/g, ""), o = o.replace(/[ \t]*$/g, ""), o = y(o),
- o = o.replace(/:\/\//g, "~P"), t + "" + o + "
";
- });
- }
- function y(e) {
- return e = e.replace(/&/g, "&"), e = e.replace(//g, ">"),
- e = L(e, "*_{}[]\\", !1);
- }
- function w(e) {
- return e = e.replace(/([\W_]|^)(\*\*|__)(?=\S)([^\r]*?\S[\*_]*)\2([\W_]|$)/g, "$1$3$4"),
- e = e.replace(/([\W_]|^)(\*|_)(?=\S)([^\r\*_]*?\S)\2([\W_]|$)/g, "$1$3$4");
- }
- function C(e) {
- return e = e.replace(/((^[ \t]*>[ \t]?.+\n(.+\n)*\n*)+)/gm, function(e, t) {
- var n = t;
- return n = n.replace(/^[ \t]*>[ \t]?/gm, "~0"), n = n.replace(/~0/g, ""), n = n.replace(/^[ \t]+$/gm, ""),
- n = r(n), n = n.replace(/(^|\n)/g, "$1 "), n = n.replace(/(\s*[^\r]+?<\/pre>)/gm, function(e, t) { - var n = t; - return n = n.replace(/^ /gm, "~0"), n = n.replace(/~0/g, ""); - }), v("\n" + n + "\n"); - }); - } - function x(e, t) { - e = e.replace(/^\n+/g, ""), e = e.replace(/\n+$/g, ""); - for (var n = e.split(/\n{2,}/g), i = [], o = /~K(\d+)K/, r = n.length, a = 0; r > a; a++) { - var l = n[a]; - o.test(l) ? i.push(l) : /\S/.test(l) && (l = s(l), l = l.replace(/^([ \t]*)/g, ""), - l += "
", i.push(l)); - } - if (!t) { - r = i.length; - for (var a = 0; r > a; a++) for (var c = !0; c; ) c = !1, i[a] = i[a].replace(/~K(\d+)K/g, function(e, t) { - return c = !0, P[t]; - }); - } - return i.join("\n\n"); - } - function S(e) { - return e = e.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g, "&"), e = e.replace(/<(?![a-z\/?!]|~D)/gi, "<"); - } - function E(e) { - return e = e.replace(/\\(\\)/g, I), e = e.replace(/\\([`*_{}\[\]()>#+-.!])/g, I); - } - function k(e, t, n, i) { - if (t) return e; - if (")" !== i.charAt(i.length - 1)) return "<" + n + i + ">"; - for (var o = i.match(/[()]/g), r = 0, s = 0; s < o.length; s++) "(" === o[s] ? 0 >= r ? r = 1 : r++ : r--; - var a = ""; - if (0 > r) { - var l = new RegExp("\\){1," + -r + "}$"); - i = i.replace(l, function(e) { - return a = e, ""; - }); - } - if (a) { - var c = i.charAt(i.length - 1); - G.test(c) || (a = c + a, i = i.substr(0, i.length - 1)); - } - return "<" + n + i + ">" + a; - } - function A(e) { - e = e.replace(W, k); - var t = function(e, t) { - return '' + R.plainLinkText(t) + ""; - }; - return e = e.replace(/<((https?|ftp):[^'">\s]+)>/gi, t); - } - function F(e) { - return e = e.replace(/~E(\d+)E/g, function(e, t) { - var n = parseInt(t); - return String.fromCharCode(n); - }); - } - function T(e) { - return e = e.replace(/^(\t|[ ]{1,4})/gm, "~0"), e = e.replace(/~0/g, ""); - } - function D(e) { - if (!/\t/.test(e)) return e; - var t, n = [ " ", " ", " ", " " ], i = 0; - return e.replace(/[\n\t]/g, function(e, o) { - return "\n" === e ? (i = o + 1, e) : (t = (o - i) % 4, i = o + 1, n[t]); - }); - } - function _(e) { - return e ? (e.length, e.replace(q, function(e) { - return "~D" == e ? "%24" : ":" == e ? ":" : "%" + e.charCodeAt(0).toString(16); - })) : ""; - } - function L(e, t, n) { - var i = "([" + t.replace(/([\[\]\\])/g, "\\$1") + "])"; - n && (i = "\\\\" + i); - var o = new RegExp(i, "g"); - return e = e.replace(o, I); - } - function I(e, t) { - var n = t.charCodeAt(0); - return "~E" + n + "E"; - } - var M = {}; - this.setOptions = function(e) { - M = e; - }; - var R = this.hooks = new n(); - R.addNoop("plainLinkText"), R.addNoop("preConversion"), R.addNoop("postNormalization"), - R.addNoop("preBlockGamut"), R.addNoop("postBlockGamut"), R.addNoop("preSpanGamut"), - R.addNoop("postSpanGamut"), R.addNoop("postConversion"); - var $, B, P, N; - this.makeHtml = function(n) { - if ($) throw new Error("Recursive call to converter.makeHtml"); - return $ = new i(), B = new i(), P = [], N = 0, n = R.preConversion(n), n = n.replace(/~/g, "~T"), - n = n.replace(/\$/g, "~D"), n = n.replace(/\r\n/g, "\n"), n = n.replace(/\r/g, "\n"), - n = "\n\n" + n + "\n\n", n = D(n), n = n.replace(/^[ \t]+$/gm, ""), n = R.postNormalization(n), - n = t(n), n = e(n), n = r(n), n = F(n), n = n.replace(/~D/g, "$$"), n = n.replace(/~T/g, "~"), - n = R.postConversion(n), P = B = $ = null, n; - }; - var O = function(e) { - return r(e); - }, z = { - ol: "\\d+[.]", - ul: "[*+-]" - }, H = "[-A-Z0-9+&@#/%?=~_|[\\]()!:,.;]", j = "[-A-Z0-9+&@#/%=~_|[\\])]", W = new RegExp('(="|<)?\\b(https?|ftp)(://' + H + "*" + j + ")(?=$|\\W)", "gi"), G = new RegExp(j, "i"), q = /(?:["'*()[\]:]|~D)/g; - }; -}(), define("bower-libs/pagedown-ace/Markdown.Converter", function() {}), function() { - function e() {} - function t(e, t) { - this.buttonBar = u.getElementById("wmd-button-bar" + e), this.preview = u.getElementById("wmd-preview" + e), - this.input = t; - } - function n(t) { - var n = this, i = t.input; - this.init = function() { - var e = "undefined" != typeof require ? require("ace/range").Range : ace.require("ace/range").Range; - !function(t) { - n.before = i.session.getTextRange(new e(0, 0, t.start.row, t.start.column)), n.selection = i.session.getTextRange(), - n.after = i.session.getTextRange(new e(t.end.row, t.end.column, Number.MAX_VALUE, Number.MAX_VALUE)); - }(i.selection.getRange()), this.text = [ this.before, this.selection, this.after ].join(""), - this.length = this.text.length, this.setInputAreaSelectionStartEnd(), this.scrollTop = i.renderer.getScrollTop(); - }, this.setInputAreaSelection = function() { - var e = "undefined" != typeof require ? require("ace/range").Range : ace.require("ace/range").Range; - i.selection.setSelectionRange(function(t, n) { - return new e(t.row, t.column, n.row, n.column); - }(i.session.doc.indexToPosition(n.start), i.session.doc.indexToPosition(n.end))), - i.renderer.scrollToY(n.scrollTop), i.focus(); - }, this.setInputAreaSelectionStartEnd = function() { - n.start = n.before.length, n.end = n.after.length; - }, this.restore = function() { - for (var e = 0, t = n.before.length; t > e && n.before.charCodeAt(e) === n.text.charCodeAt(e); ) e++; - for (var o = 0, r = n.after.length, s = n.after.length - 1, a = n.text.length - 1; r > o && n.after.charCodeAt(s - o) === n.text.charCodeAt(a - o); ) o++; - var l = "undefined" != typeof require ? require("ace/range").Range : ace.require("ace/range").Range, c = function(e, t) { - return new l(e.row, e.column, t.row, t.column); - }(i.session.doc.indexToPosition(e), i.session.doc.indexToPosition(n.length - o)); - i.session.replace(c, n.text.substring(e, a - o + 1)), this.setInputAreaSelection(); - }, this.getChunks = function() { - var t = new e(); - return t.before = n.before, t.startTag = "", t.selection = n.selection, t.endTag = "", - t.after = n.after, t.scrollTop = n.scrollTop, t; - }, this.setChunks = function(e) { - e.before = e.before + e.startTag, e.after = e.endTag + e.after, this.start = e.before.length, - this.end = e.before.length + e.selection.length, this.text = e.before + e.selection + e.after, - this.scrollTop = e.scrollTop; - }, this.init(); - } - function i(e, t, n, i) { - var o, r, s, a = 3e3, c = "delayed", d = function() { - var e = 0; - return window.innerHeight ? e = window.pageYOffset : u.documentElement && u.documentElement.scrollTop ? e = u.documentElement.scrollTop : u.body && (e = u.body.scrollTop), - e; - }, h = function() { - if (t.preview) { - var n = t.input.getValue(); - if (!n || n != s) { - s = n; - var i = new Date().getTime(); - n = e.makeHtml(n); - var o = new Date().getTime(); - r = o - i, x(n); - } - } - }; - void 0 !== i && (h = i(h)); - var p = function() { - if (o && (clearTimeout(o), o = void 0), "manual" !== c) { - var e = 0; - "delayed" === c && (e = r), e > a && (e = a), o = setTimeout(h, e); - } - }, g = function(e) { - return e.scrollHeight <= e.clientHeight ? 1 : e.scrollTop / (e.scrollHeight - e.clientHeight); - }, m = function() { - t.preview && (t.preview.scrollTop = (t.preview.scrollHeight - t.preview.clientHeight) * g(t.preview)); - }; - this.refresh = function(e) { - e ? (s = "", h()) : p(); - }, this.processingTime = function() { - return r; - }; - var v, b = !0, y = function(e) { - var n = t.preview, i = n.parentNode, o = n.nextSibling; - i.removeChild(n), n.innerHTML = e, o ? i.insertBefore(n, o) : i.appendChild(n); - }, w = function(e) { - t.preview.innerHTML = e; - }, C = function(e) { - if (v) return v(e); - try { - w(e), v = w; - } catch (t) { - v = y, v(e); - } - }, x = function(e) { - var i = l.getTop(t.input) - d(); - if (t.preview && (C(e), n()), m(), b) return b = !1, void 0; - var o = l.getTop(t.input) - d(); - f.isIE ? setTimeout(function() { - window.scrollBy(0, o - i); - }, 0) : window.scrollBy(0, o - i); - }, S = function() { - t.input.session.on("change", p), t.preview && (t.preview.scrollTop = 0); - }; - S(); - } - function o(e, t, i, o, r, s, a, l) { - function c(e) { - if (0 !== e.length) { - var t = e.pop(); - b.commands.addCommand({ - name: a(t), - bindKey: m[t], - exec: function() { - d(y[t]); - } - }), c(e); - } - } - function d(e) { - b.focus(); - var r = "wmd-link-button" == e.id || "wmd-image-button" == e.id; - if (e.textOp) { - i && !r && i.setCommandMode(); - var s = new n(t); - if (!s) return; - var a = s.getChunks(), l = function() { - b.focus(), a && s.setChunks(a), s.restore(), o.refresh(); - }, c = e.textOp(a, l); - c || l(); - } - e.execute && e.execute(i); - } - function h(e, n) { - var i = "0px", o = "-20px", r = "-40px", s = e.getElementsByTagName("span")[0]; - n ? (s.style.backgroundPosition = e.XShift + " " + i, e.onmouseover = function() { - s.style.backgroundPosition = this.XShift + " " + r; - }, e.onmouseout = function() { - s.style.backgroundPosition = this.XShift + " " + i; - }, f.isIE && (e.onmousedown = function() { - u.activeElement && u.activeElement !== t.input || (t.ieCachedRange = document.selection.createRange(), - t.ieCachedScrollTop = t.input.renderer.getScrollTop()); - }), e.isHelp || (e.onclick = function() { - return this.onmouseout && this.onmouseout(), d(this), !1; - }), e.className = e.className.replace(/ disabled/g, "")) : (s.style.backgroundPosition = e.XShift + " " + o, - e.onmouseover = e.onmouseout = e.onclick = function() {}, e.className += " disabled"); - } - function p(e) { - return "string" == typeof e && (e = r[e]), function() { - e.apply(r, arguments); - }; - } - function g() { - var n = t.buttonBar, i = document.createElement("ul"); - i.id = "wmd-button-row" + e, i.className = "wmd-button-row", i = n.appendChild(i); - var o = 0, r = function(t, n, r, s) { - var a = document.createElement("li"); - a.className = "wmd-button", a.style.left = o + "px", o += 25; - var l = document.createElement("span"); - return a.id = t + e, a.appendChild(l), a.title = n, a.XShift = r, s && (a.textOp = s), - h(a, !0), i.appendChild(a), a; - }, l = function(t) { - var n = document.createElement("li"); - n.className = "wmd-spacer wmd-spacer" + t, n.id = "wmd-spacer" + t + e, i.appendChild(n), - o += 25; - }; - if (y.bold = r("wmd-bold-button", v("bold"), "0px", p("doBold")), y.italic = r("wmd-italic-button", v("italic"), "-20px", p("doItalic")), - l(1), y.link = r("wmd-link-button", v("link"), "-40px", p(function(e, t) { - return this.doLinkOrImage(e, t, !1); - })), y.quote = r("wmd-quote-button", v("quote"), "-60px", p("doBlockquote")), y.code = r("wmd-code-button", v("code"), "-80px", p("doCode")), - y.image = r("wmd-image-button", v("image"), "-100px", p(function(e, t) { - return this.doLinkOrImage(e, t, !0); - })), l(2), y.olist = r("wmd-olist-button", v("olist"), "-120px", p(function(e, t) { - this.doList(e, t, !0); - })), y.ulist = r("wmd-ulist-button", v("ulist"), "-140px", p(function(e, t) { - this.doList(e, t, !1); - })), y.heading = r("wmd-heading-button", v("heading"), "-160px", p("doHeading")), - y.hr = r("wmd-hr-button", v("hr"), "-180px", p("doHorizontalRule")), l(3), y.undo = r("wmd-undo-button", v("undo"), "-200px", null), - y.undo.execute = function() { - b.session.getUndoManager().undo(); - }, y.redo = r("wmd-redo-button", v("redo"), "-220px", null), y.redo.execute = function() { - b.session.getUndoManager().redo(); - }, s) { - var c = document.createElement("li"), u = document.createElement("span"); - c.appendChild(u), c.className = "wmd-button wmd-help-button", c.id = "wmd-help-button" + e, - c.XShift = "-240px", c.isHelp = !0, c.style.right = "0px", c.title = a("help"), - c.onclick = s.handler, h(c, !0), i.appendChild(c), y.help = c; - } - w.setUndoRedoButtonStates(), b.session.on("change", function() { - w.setUndoRedoButtonStates(); - }); - } - var v = function(e) { - return a(e) + " " + l(e); - }, b = t.input, y = {}; - this.setUndoRedoButtonStates = function() { - setTimeout(function() { - h(y.undo, b.session.getUndoManager().hasUndo()), h(y.redo, b.session.getUndoManager().hasRedo()); - }, 50); - }; - var w = this; - g(); - var C = "keydown"; - f.isOpera && (C = "keypress"), c([ "bold", "italic", "link", "quote", "code", "image", "olist", "ulist", "heading", "hr" ]), - this.buttons = y, this.setButtonState = h; - } - function r(e, t) { - this.hooks = e, this.getString = t; - } - function s(e) { - return e.replace(/^\s*(.*?)(?:\s+"(.+)")?\s*$/, function(e, t, n) { - return t = t.replace(/\?.*$/, function(e) { - return e.replace(/\+/g, " "); - }), t = decodeURIComponent(t), t = encodeURI(t).replace(/'/g, "%27").replace(/\(/g, "%28").replace(/\)/g, "%29"), - t = t.replace(/\?.*$/, function(e) { - return e.replace(/\+/g, "%2b"); - }), n && (n = n.trim ? n.trim() : n.replace(/^\s*/, "").replace(/\s*$/, ""), n = n.replace(/"/g, "quot;").replace(/\(/g, "(").replace(/\)/g, ")").replace(//g, ">")), - n ? t + ' "' + n + '"' : t; - }); - } - var a = {}, l = {}, c = {}, u = window.document, d = window.RegExp, h = window.navigator, p = { - lineLength: 72 - }, f = { - isIE: /msie/.test(h.userAgent.toLowerCase()), - isIE_5or6: /msie 6/.test(h.userAgent.toLowerCase()) || /msie 5/.test(h.userAgent.toLowerCase()), - isOpera: /opera/.test(h.userAgent.toLowerCase()) - }, g = { - bold: "Strong ", - boldexample: "strong text", - italic: "Emphasis ", - italicexample: "emphasized text", - link: "Hyperlink ", - linkdescription: "enter link description here", - linkdialog: 'Insert Hyperlink
http://example.com/ "optional title"
', - quote: "Blockquote", - quoteexample: "Blockquote", - code: "Code Sample", - codeexample: "enter code here", - image: "Image ", - imagedescription: "enter image description here", - imagedialog: "
Insert Image
http://example.com/images/diagram.jpg \"optional title\"
", - olist: "Numbered List
Need free image hosting?", - ulist: "Bulleted List
", - litem: "List item", - heading: "Heading
/
", - headingexample: "Heading", - hr: "Horizontal Rule
", - undo: "Undo -", - redo: "Redo -", - help: "Markdown Editing Help" - }, m = { - bold: { - win: "Ctrl-B", - mac: "Command-B|Ctrl-B" - }, - italic: { - win: "Ctrl-I", - mac: "Command-I|Ctrl-I" - }, - link: { - win: "Ctrl-L", - mac: "Command-L|Ctrl-L" - }, - quote: { - win: "Ctrl-Q", - mac: "Command-Q|Ctrl-Q" - }, - code: { - win: "Ctrl-K", - mac: "Command-K|Ctrl-K" - }, - image: { - win: "Ctrl-G", - mac: "Command-G|Ctrl-G" - }, - olist: { - win: "Ctrl-O", - mac: "Command-O|Ctrl-O" - }, - ulist: { - win: "Ctrl-U", - mac: "Command-U|Ctrl-U" - }, - heading: { - win: "Ctrl-H", - mac: "Command-H|Ctrl-H" - }, - hr: { - win: "Ctrl-R", - mac: "Command-R|Ctrl-R" - }, - undo: { - win: "Ctrl-Z", - mac: "Command-Z" - }, - redo: { - win: "Ctrl-Y|Ctrl-Shift-Z", - mac: "Command-Y|Command-Shift-Z" - } - }, v = "http://", b = "http://"; - Markdown.Editor = function(e, n, s) { - if (s = s || {}, "function" == typeof s.handler && (s = { - helpButton: s - }), s.strings = s.strings || {}, s.helpButton && (s.strings.help = s.strings.help || s.helpButton.title), - s.keyStrokes) for (var a in s.keyStrokes) m[a] = s.keyStrokes[a]; - var l = function(e) { - return s.strings[e] || g[e]; - }; - n = n || ""; - var c = this.hooks = new Markdown.HookCollection(); - c.addNoop("onPreviewRefresh"), c.addNoop("postBlockquoteCreation"), c.addFalse("insertImageDialog"), - c.addFalse("insertLinkDialog"), this.getConverter = function() { - return e; - }; - var u, d, h = this; - this.run = function(a, p) { - if (!u) { - u = new t(n, a); - var f, g = new r(c, l), v = new i(e, u, function() { - c.onPreviewRefresh(); - }, p), b = "undefined" != typeof require ? require("ace/lib/useragent") : ace.require("ace/lib/useragent"), y = function(e) { - var t = m[e][b.isMac ? "mac" : "win"], n = t.indexOf("|"); - return t.substring(0, n > 0 ? n : t.length); - }; - f = new o(n, u, d, v, g, s.helpButton, l, y), f.setUndoRedoButtonStates(); - var w = h.refreshPreview = function() { - v.refresh(!0); - }; - w(), h.uiManager = f; - } - }; - }, e.prototype.findTags = function(e, t) { - var n, i = this; - e && (n = a.extendRegExp(e, "", "$"), this.before = this.before.replace(n, function(e) { - return i.startTag = i.startTag + e, ""; - }), n = a.extendRegExp(e, "^", ""), this.selection = this.selection.replace(n, function(e) { - return i.startTag = i.startTag + e, ""; - })), t && (n = a.extendRegExp(t, "", "$"), this.selection = this.selection.replace(n, function(e) { - return i.endTag = e + i.endTag, ""; - }), n = a.extendRegExp(t, "^", ""), this.after = this.after.replace(n, function(e) { - return i.endTag = e + i.endTag, ""; - })); - }, e.prototype.trimWhitespace = function(e) { - var t, n, i = this; - e ? t = n = "" : (t = function(e) { - return i.before += e, ""; - }, n = function(e) { - return i.after = e + i.after, ""; - }), this.selection = this.selection.replace(/^(\s*)/, t).replace(/(\s*)$/, n); - }, e.prototype.skipLines = function(e, t, n) { - void 0 === e && (e = 1), void 0 === t && (t = 1), e++, t++; - var i, o; - if (navigator.userAgent.match(/Chrome/) && "X".match(/()./), this.selection = this.selection.replace(/(^\n*)/, ""), - this.startTag = this.startTag + d.$1, this.selection = this.selection.replace(/(\n*$)/, ""), - this.endTag = this.endTag + d.$1, this.startTag = this.startTag.replace(/(^\n*)/, ""), - this.before = this.before + d.$1, this.endTag = this.endTag.replace(/(\n*$)/, ""), - this.after = this.after + d.$1, this.before) { - for (i = o = ""; e--; ) i += "\\n?", o += "\n"; - n && (i = "\\n*"), this.before = this.before.replace(new d(i + "$", ""), o); - } - if (this.after) { - for (i = o = ""; t--; ) i += "\\n?", o += "\n"; - n && (i = "\\n*"), this.after = this.after.replace(new d(i, ""), o); - } - }, a.isVisible = function(e) { - return window.getComputedStyle ? "none" !== window.getComputedStyle(e, null).getPropertyValue("display") : e.currentStyle ? "none" !== e.currentStyle.display : void 0; - }, a.addEvent = function(e, t, n) { - e.attachEvent ? e.attachEvent("on" + t, n) : e.addEventListener(t, n, !1); - }, a.removeEvent = function(e, t, n) { - e.detachEvent ? e.detachEvent("on" + t, n) : e.removeEventListener(t, n, !1); - }, a.fixEolChars = function(e) { - return e = e.replace(/\r\n/g, "\n"), e = e.replace(/\r/g, "\n"); - }, a.extendRegExp = function(e, t, n) { - (null === t || void 0 === t) && (t = ""), (null === n || void 0 === n) && (n = ""); - var i, o = e.toString(); - return o = o.replace(/\/([gim]*)$/, function(e, t) { - return i = t, ""; - }), o = o.replace(/(^\/|\/$)/g, ""), o = t + o + n, new d(o, i); - }, l.getTop = function(e, t) { - var n = e.offsetTop; - if (!t) for (;e = e.offsetParent; ) n += e.offsetTop; - return n; - }, l.getHeight = function(e) { - return e.offsetHeight || e.scrollHeight; - }, l.getWidth = function(e) { - return e.offsetWidth || e.scrollWidth; - }, l.getPageSize = function() { - var e, t, n, i; - self.innerHeight && self.scrollMaxY ? (e = u.body.scrollWidth, t = self.innerHeight + self.scrollMaxY) : u.body.scrollHeight > u.body.offsetHeight ? (e = u.body.scrollWidth, - t = u.body.scrollHeight) : (e = u.body.offsetWidth, t = u.body.offsetHeight), self.innerHeight ? (n = self.innerWidth, - i = self.innerHeight) : u.documentElement && u.documentElement.clientHeight ? (n = u.documentElement.clientWidth, - i = u.documentElement.clientHeight) : u.body && (n = u.body.clientWidth, i = u.body.clientHeight); - var o = Math.max(e, n), r = Math.max(t, i); - return [ o, r, n, i ]; - }, c.createBackground = function() { - var e = u.createElement("div"), t = e.style; - e.className = "wmd-prompt-background", t.position = "absolute", t.top = "0", t.zIndex = "1000", - f.isIE ? t.filter = "alpha(opacity=50)" : t.opacity = "0.5"; - var n = l.getPageSize(); - return t.height = n[1] + "px", f.isIE ? (t.left = u.documentElement.scrollLeft, - t.width = u.documentElement.clientWidth) : (t.left = "0", t.width = "100%"), u.body.appendChild(e), - e; - }, c.prompt = function(e, t, n) { - var i, o; - void 0 === t && (t = ""); - var r = function(e) { - var t = e.charCode || e.keyCode; - 27 === t && s(!0); - }, s = function(e) { - a.removeEvent(u.body, "keydown", r); - var t = o.value; - return e ? t = null : (t = t.replace(/^http:\/\/(https?|ftp):\/\//, "$1://"), /^(?:https?|ftp):\/\//.test(t) || (t = "http://" + t)), - i.parentNode.removeChild(i), n(t), !1; - }, c = function() { - i = u.createElement("div"), i.className = "wmd-prompt-dialog", i.style.padding = "10px;", - i.style.position = "fixed", i.style.width = "400px", i.style.zIndex = "1001"; - var n = u.createElement("div"); - n.innerHTML = e, n.style.padding = "5px", i.appendChild(n); - var c = u.createElement("form"), d = c.style; - c.onsubmit = function() { - return s(!1); - }, d.padding = "0", d.margin = "0", d.cssFloat = "left", d.width = "100%", d.textAlign = "center", - d.position = "relative", i.appendChild(c), o = u.createElement("input"), o.type = "text", - o.value = t, d = o.style, d.display = "block", d.width = "80%", d.marginLeft = d.marginRight = "auto", - c.appendChild(o); - var h = u.createElement("input"); - h.type = "button", h.onclick = function() { - return s(!1); - }, h.value = "OK", d = h.style, d.margin = "10px", d.display = "inline", d.width = "7em"; - var p = u.createElement("input"); - p.type = "button", p.onclick = function() { - return s(!0); - }, p.value = "Cancel", d = p.style, d.margin = "10px", d.display = "inline", d.width = "7em", - c.appendChild(h), c.appendChild(p), a.addEvent(u.body, "keydown", r), i.style.top = "50%", - i.style.left = "50%", i.style.display = "block", f.isIE_5or6 && (i.style.position = "absolute", - i.style.top = u.documentElement.scrollTop + 200 + "px", i.style.left = "50%"), u.body.appendChild(i), - i.style.marginTop = -(l.getHeight(i) / 2) + "px", i.style.marginLeft = -(l.getWidth(i) / 2) + "px"; - }; - setTimeout(function() { - c(); - var e = t.length; - if (void 0 !== o.selectionStart) o.selectionStart = 0, o.selectionEnd = e; else if (o.createTextRange) { - var n = o.createTextRange(); - n.collapse(!1), n.moveStart("character", -e), n.moveEnd("character", e), n.select(); - } - o.focus(); - }, 0); - }; - var y = r.prototype; - y.prefixes = "(?:\\s{4,}|\\s*>|\\s*-\\s+|\\s*\\d+\\.|=|\\+|-|_|\\*|#|\\s*\\[[^\n]]+\\]:)", - y.unwrap = function(e) { - var t = new d("([^\\n])\\n(?!(\\n|" + this.prefixes + "))", "g"); - e.selection = e.selection.replace(t, "$1 $2"); - }, y.wrap = function(e, t) { - this.unwrap(e); - var n = new d("(.{1," + t + "})( +|$\\n?)", "gm"), i = this; - e.selection = e.selection.replace(n, function(e, t) { - return new d("^" + i.prefixes, "").test(e) ? e : t + "\n"; - }), e.selection = e.selection.replace(/\s+$/, ""); - }, y.doBold = function(e, t) { - return this.doBorI(e, t, 2, this.getString("boldexample")); - }, y.doItalic = function(e, t) { - return this.doBorI(e, t, 1, this.getString("italicexample")); - }, y.doBorI = function(e, t, n, i) { - e.trimWhitespace(), e.selection = e.selection.replace(/\n{2,}/g, "\n"); - var o = /(\**$)/.exec(e.before)[0], r = /(^\**)/.exec(e.after)[0], s = Math.min(o.length, r.length); - if (s >= n && (2 != s || 1 != n)) e.before = e.before.replace(d("[*]{" + n + "}$", ""), ""), - e.after = e.after.replace(d("^[*]{" + n + "}", ""), ""); else if (!e.selection && r) { - e.after = e.after.replace(/^([*_]*)/, ""), e.before = e.before.replace(/(\s?)$/, ""); - var a = d.$1; - e.before = e.before + r + a; - } else { - e.selection || r || (e.selection = i); - var l = 1 >= n ? "*" : "**"; - e.before = e.before + l, e.after = l + e.after; - } - }, y.stripLinkDefs = function(e, t) { - return e = e.replace(/^[ ]{0,3}\[(\d+)\]:[ \t]*\n?[ \t]*(\S+?)>?[ \t]*\n?[ \t]*(?:(\n*)["(](.+?)[")][ \t]*)?(?:\n+|$)/gm, function(e, n, i, o, r) { - return t[n] = e.replace(/\s*$/, ""), o ? (t[n] = e.replace(/["(](.+?)[")]$/, ""), - o + r) : ""; - }); - }, y.addLinkDef = function(e, t) { - var n = 0, i = {}; - e.before = this.stripLinkDefs(e.before, i), e.selection = this.stripLinkDefs(e.selection, i), - e.after = this.stripLinkDefs(e.after, i); - var o = "", r = /(\[)((?:\[[^\]]*\]|[^\[\]])*)(\][ ]?(?:\n[ ]*)?\[)(\d+)(\])/g, s = function(e) { - n++, e = e.replace(/^[ ]{0,3}\[(\d+)\]:/, " [" + n + "]:"), o += "\n" + e; - }, a = function(e, t, o, l, c, u) { - return o = o.replace(r, a), i[c] ? (s(i[c]), t + o + l + n + u) : e; - }; - e.before = e.before.replace(r, a), t ? s(t) : e.selection = e.selection.replace(r, a); - var l = n; - return e.after = e.after.replace(r, a), e.after && (e.after = e.after.replace(/\n*$/, "")), - e.after || (e.selection = e.selection.replace(/\n*$/, "")), e.after += "\n\n" + o, - l; - }, y.doLinkOrImage = function(e, t, n) { - e.trimWhitespace(), e.findTags(/\s*!?\[/, /\][ ]?(?:\n[ ]*)?(\[.*?\])?/); - var i; - if (!(e.endTag.length > 1 && e.startTag.length > 0)) { - if (e.selection = e.startTag + e.selection + e.endTag, e.startTag = e.endTag = "", - /\n\n/.test(e.selection)) return this.addLinkDef(e, null), void 0; - var o = this, r = function(r) { - if (i.parentNode.removeChild(i), null !== r) { - e.selection = (" " + e.selection).replace(/([^\\](?:\\\\)*)(?=[[\]])/g, "$1\\").substr(1); - var a = " [999]: " + s(r), l = o.addLinkDef(e, a); - e.startTag = n ? "![" : "[", e.endTag = "][" + l + "]", e.selection || (e.selection = n ? o.getString("imagedescription") : o.getString("linkdescription")); - } - t(); - }; - return i = c.createBackground(), n ? this.hooks.insertImageDialog(r) || c.prompt(this.getString("imagedialog"), v, r) : this.hooks.insertLinkDialog(r) || c.prompt(this.getString("linkdialog"), b, r), - !0; - } - e.startTag = e.startTag.replace(/!?\[/, ""), e.endTag = "", this.addLinkDef(e, null); - }, y.doAutoindent = function(e) { - var t = this, n = !1; - e.before = e.before.replace(/(\n|^)[ ]{0,3}([*+-]|\d+[.])[ \t]*\n$/, "\n\n"), e.before = e.before.replace(/(\n|^)[ ]{0,3}>[ \t]*\n$/, "\n\n"), - e.before = e.before.replace(/(\n|^)[ \t]+\n$/, "\n\n"), e.selection || /^[ \t]*(?:\n|$)/.test(e.after) || (e.after = e.after.replace(/^[^\n]*/, function(t) { - return e.selection = t, ""; - }), n = !0), /(\n|^)[ ]{0,3}([*+-]|\d+[.])[ \t]+.*\n$/.test(e.before) && t.doList && t.doList(e), - /(\n|^)[ ]{0,3}>[ \t]+.*\n$/.test(e.before) && t.doBlockquote && t.doBlockquote(e), - /(\n|^)(\t|[ ]{4,}).*\n$/.test(e.before) && t.doCode && t.doCode(e), n && (e.after = e.selection + e.after, - e.selection = ""); - }, y.doBlockquote = function(e) { - e.selection = e.selection.replace(/^(\n*)([^\r]+?)(\n*)$/, function(t, n, i, o) { - return e.before += n, e.after = o + e.after, i; - }), e.before = e.before.replace(/(>[ \t]*)$/, function(t, n) { - return e.selection = n + e.selection, ""; - }), e.selection = e.selection.replace(/^(\s|>)+$/, ""), e.selection = e.selection || this.getString("quoteexample"); - var t, n = "", i = ""; - if (e.before) { - for (var o = e.before.replace(/\n$/, "").split("\n"), r = !1, s = 0; s < o.length; s++) { - var a = !1; - t = o[s], r = r && t.length > 0, /^>/.test(t) ? (a = !0, !r && t.length > 1 && (r = !0)) : a = /^[ \t]*$/.test(t) ? !0 : r, - a ? n += t + "\n" : (i += n + t, n = "\n"); - } - /(^|\n)>/.test(n) || (i += n, n = ""); - } - e.startTag = n, e.before = i; - var l = function(t) { - var n = t ? "> " : ""; - e.startTag && (e.startTag = e.startTag.replace(/\n((>|\s)*)\n$/, function(e, t) { - return "\n" + t.replace(/^[ ]{0,3}>?[ \t]*$/gm, n) + "\n"; - })), e.endTag && (e.endTag = e.endTag.replace(/^\n((>|\s)*)\n/, function(e, t) { - return "\n" + t.replace(/^[ ]{0,3}>?[ \t]*$/gm, n) + "\n"; - })); - }; - /^(?![ ]{0,3}>)/m.test(e.selection) ? (this.wrap(e, p.lineLength - 2), e.selection = e.selection.replace(/^/gm, "> "), - l(!0), e.skipLines()) : (e.selection = e.selection.replace(/^[ ]{0,3}> ?/gm, ""), - this.unwrap(e), l(!1), !/^(\n|^)[ ]{0,3}>/.test(e.selection) && e.startTag && (e.startTag = e.startTag.replace(/\n{0,2}$/, "\n\n")), - !/(\n|^)[ ]{0,3}>.*$/.test(e.selection) && e.endTag && (e.endTag = e.endTag.replace(/^\n{0,2}/, "\n\n"))), - e.selection = this.hooks.postBlockquoteCreation(e.selection), /\n/.test(e.selection) || (e.selection = e.selection.replace(/^(> *)/, function(t, n) { - return e.startTag += n, ""; - })); - }, y.doCode = function(e) { - var t = /\S[ ]*$/.test(e.before), n = /^[ ]*\S/.test(e.after); - if (!n && !t || /\n/.test(e.selection)) { - e.before = e.before.replace(/[ ]{4}$/, function(t) { - return e.selection = t + e.selection, ""; - }); - var i = 1, o = 1; - /(\n|^)(\t|[ ]{4,}).*\n$/.test(e.before) && (i = 0), /^\n(\t|[ ]{4,})/.test(e.after) && (o = 0), - e.skipLines(i, o), e.selection ? /^[ ]{0,3}\S/m.test(e.selection) ? /\n/.test(e.selection) ? e.selection = e.selection.replace(/^/gm, " ") : e.before += " " : e.selection = e.selection.replace(/^(?:[ ]{4}|[ ]{0,3}\t)/gm, "") : (e.startTag = " ", - e.selection = this.getString("codeexample")); - } else e.trimWhitespace(), e.findTags(/`/, /`/), e.startTag || e.endTag ? e.endTag && !e.startTag ? (e.before += e.endTag, - e.endTag = "") : e.startTag = e.endTag = "" : (e.startTag = e.endTag = "`", e.selection || (e.selection = this.getString("codeexample"))); - }, y.doList = function(e, t, n) { - var i = /(\n|^)(([ ]{0,3}([*+-]|\d+[.])[ \t]+.*)(\n.+|\n{2,}([*+-].*|\d+[.])[ \t]+.*|\n{2,}[ \t]+\S.*)*)\n*$/, o = /^\n*(([ ]{0,3}([*+-]|\d+[.])[ \t]+.*)(\n.+|\n{2,}([*+-].*|\d+[.])[ \t]+.*|\n{2,}[ \t]+\S.*)*)\n*/, r = "-", s = 1, a = function() { - var e; - return n ? (e = " " + s + ". ", s++) : e = " " + r + " ", e; - }, l = function(e) { - return void 0 === n && (n = /^\s*\d/.test(e)), e = e.replace(/^[ ]{0,3}([*+-]|\d+[.])\s/gm, function() { - return a(); - }); - }; - if (e.findTags(/(\n|^)*[ ]{0,3}([*+-]|\d+[.])\s+/, null), !e.before || /\n$/.test(e.before) || /^\n/.test(e.startTag) || (e.before += e.startTag, - e.startTag = ""), e.startTag) { - var c = /\d+[.]/.test(e.startTag); - if (e.startTag = "", e.selection = e.selection.replace(/\n[ ]{4}/g, "\n"), this.unwrap(e), - e.skipLines(), c && (e.after = e.after.replace(o, l)), n == c) return; - } - var u = 1; - e.before = e.before.replace(i, function(e) { - return /^\s*([*+-])/.test(e) && (r = d.$1), u = /[^\n]\n\n[^\n]/.test(e) ? 1 : 0, - l(e); - }), e.selection || (e.selection = this.getString("litem")); - var h = a(), f = 1; - e.after = e.after.replace(o, function(e) { - return f = /[^\n]\n\n[^\n]/.test(e) ? 1 : 0, l(e); - }), e.trimWhitespace(!0), e.skipLines(u, f, !0), e.startTag = h; - var g = h.replace(/./g, " "); - this.wrap(e, p.lineLength - g.length), e.selection = e.selection.replace(/\n/g, "\n" + g); - }, y.doHeading = function(e) { - if (e.selection = e.selection.replace(/\s+/g, " "), e.selection = e.selection.replace(/(^\s+|\s+$)/g, ""), - !e.selection) return e.startTag = "## ", e.selection = this.getString("headingexample"), - e.endTag = " ##", void 0; - var t = 0; - e.findTags(/#+[ ]*/, /[ ]*#+/), /#+/.test(e.startTag) && (t = d.lastMatch.length), - e.startTag = e.endTag = "", e.findTags(null, /\s?(-+|=+)/), /=+/.test(e.endTag) && (t = 1), - /-+/.test(e.endTag) && (t = 2), e.startTag = e.endTag = "", e.skipLines(1, 1); - var n = 0 == t ? 2 : t - 1; - if (n > 0) { - var i = n >= 2 ? "-" : "=", o = e.selection.length; - for (o > p.lineLength && (o = p.lineLength), e.endTag = "\n"; o--; ) e.endTag += i; - } - }, y.doHorizontalRule = function(e) { - e.startTag = "----------\n", e.selection = "", e.skipLines(2, 1, !0); - }; -}(), define("pagedown-ace", function() {}), function() { - function e(e) { - return e.replace(/^\s+|\s+$/g, ""); - } - function t(e) { - return e.replace(/\s+$/g, ""); - } - function n(e) { - return e.replace(new RegExp("^(\\t|[ ]{1,4})", "gm"), ""); - } - function i(e, t) { - return -1 != e.indexOf(t); - } - function o(e, t) { - return e.replace(/<[^>]*>?/gi, function(e) { - return e.match(t) ? e : ""; - }); - } - function r(e, t) { - for (var n = {}, i = 0; i < e.length; i++) n[e[i]] = e[i]; - for (i = 0; i < t.length; i++) n[t[i]] = t[i]; - var o = []; - for (var r in n) n.hasOwnProperty(r) && o.push(n[r]); - return o; - } - function s(e) { - return "" != e.charAt(0) && (e = "" + e), "" != e.charAt(e.length - 1) && (e += ""), - e; - } - function a(e) { - return "" == e.charAt(0) && (e = e.substr(1)), "" == e.charAt(e.length - 1) && (e = e.substr(0, e.length - 1)), - e; - } - function l(e, t) { - return o(c(e, t), g); - } - function c(e, t) { - var n = t.blockGamutHookCallback(e); - return n = h(n), n = n.replace(/~D/g, "$$").replace(/~T/g, "~"), n = t.previousPostConversion(n); - } - function u(e) { - return e.replace(/\\\|/g, "~I").replace(/\\:/g, "~i"); - } - function d(e) { - return e.replace(/~I/g, "|").replace(/~i/g, ":"); - } - function h(e) { - return e = e.replace(/~E(\d+)E/g, function(e, t) { - var n = parseInt(t); - return String.fromCharCode(n); - }); - } - function p(e) { - return e.toLowerCase().replace(/\s+/g, "-").replace(/[^\w\-]+/g, "").replace(/\-\-+/g, "-").replace(/^-+/, "").replace(/-+$/, ""); - } - function f(e, t) { - var n = t; - return n = n.replace(/&\#8220;/g, '"'), n = n.replace(/&\#8221;/g, '"'), n = n.replace(/&\#8216;/g, "'"), - n = n.replace(/&\#8217;/g, "'"), n = n.replace(/&\#8212;/g, "---"), n = n.replace(/&\#8211;/g, "--"), - n = n.replace(/&\#8230;/g, "..."); - } - var g = new RegExp([ "^(<\\/?(a|abbr|acronym|applet|area|b|basefont|", "bdo|big|button|cite|code|del|dfn|em|figcaption|", "font|i|iframe|img|input|ins|kbd|label|map|", "mark|meter|object|param|progress|q|ruby|rp|rt|s|", "samp|script|select|small|span|strike|strong|", "sub|sup|textarea|time|tt|u|var|wbr)[^>]*>|", "<(br)\\s?\\/?>)$" ].join(""), "i"); - Array.indexOf || (Array.prototype.indexOf = function(e) { - for (var t = 0; t < this.length; t++) if (this[t] == e) return t; - return -1; - }), Markdown.Extra = function() { - this.converter = null, this.hashBlocks = [], this.footnotes = {}, this.usedFootnotes = [], - this.attributeBlocks = !1, this.googleCodePrettify = !1, this.highlightJs = !1, - this.tableClass = "", this.tabWidth = 4; - }, Markdown.Extra.init = function(e, t) { - var n = new Markdown.Extra(), o = [], r = [], s = [], a = [ "unHashExtraBlocks" ]; - return t = t || {}, t.extensions = t.extensions || [ "all" ], i(t.extensions, "all") && (t.extensions = [ "tables", "fenced_code_gfm", "def_list", "attr_list", "footnotes", "smartypants", "strikethrough", "newlines" ]), - r.push("wrapHeaders"), i(t.extensions, "attr_list") && (o.push("hashFcbAttributeBlocks"), - r.push("hashHeaderAttributeBlocks"), a.push("applyAttributeBlocks"), n.attributeBlocks = !0), - i(t.extensions, "fenced_code_gfm") && (r.push("fencedCodeBlocks"), o.push("fencedCodeBlocks")), - i(t.extensions, "tables") && r.push("tables"), i(t.extensions, "def_list") && r.push("definitionLists"), - i(t.extensions, "footnotes") && (o.push("stripFootnoteDefinitions"), r.push("doFootnotes"), - a.push("printFootnotes")), i(t.extensions, "smartypants") && a.push("runSmartyPants"), - i(t.extensions, "strikethrough") && s.push("strikethrough"), i(t.extensions, "newlines") && s.push("newlines"), - e.hooks.chain("postNormalization", function(e) { - return n.doTransform(o, e) + "\n"; - }), e.hooks.chain("preBlockGamut", function(e, t) { - return n.blockGamutHookCallback = t, e = u(e), e = n.doTransform(r, e) + "\n", e = d(e); - }), e.hooks.chain("postSpanGamut", function(e) { - return n.doTransform(s, e); - }), n.previousPostConversion = e.hooks.postConversion, e.hooks.chain("postConversion", function(e) { - return e = n.doTransform(a, e), n.hashBlocks = [], n.footnotes = {}, n.usedFootnotes = [], - e; - }), "highlighter" in t && (n.googleCodePrettify = "prettify" === t.highlighter, - n.highlightJs = "highlight" === t.highlighter), "table_class" in t && (n.tableClass = t.table_class), - n.converter = e, n; - }, Markdown.Extra.prototype.doTransform = function(e, t) { - for (var n = 0; n < e.length; n++) t = this[e[n]](t); - return t; - }, Markdown.Extra.prototype.hashExtraBlock = function(e) { - return "\n~X" + (this.hashBlocks.push(e) - 1) + "X
\n"; - }, Markdown.Extra.prototype.hashExtraInline = function(e) { - return "~X" + (this.hashBlocks.push(e) - 1) + "X"; - }, Markdown.Extra.prototype.unHashExtraBlocks = function(e) { - function t() { - var i = !1; - e = e.replace(/(?:)?~X(\d+)X(?:<\/p>)?/g, function(e, t) { - i = !0; - var o = parseInt(t, 10); - return n.hashBlocks[o]; - }), i === !0 && t(); - } - var n = this; - return t(), e; - }, Markdown.Extra.prototype.wrapHeaders = function(e) { - function t(e) { - return "\n" + e + "\n"; - } - return e = e.replace(/^.+[ \t]*\n=+[ \t]*\n+/gm, t), e = e.replace(/^.+[ \t]*\n-+[ \t]*\n+/gm, t), - e = e.replace(/^\#{1,6}[ \t]*.+?[ \t]*\#*\n+/gm, t); - }; - var m = "\\{[ \\t]*((?:[#.][-_:a-zA-Z0-9]+[ \\t]*)+)\\}", v = new RegExp("^(#{1,6}.*#{0,6})[ \\t]+" + m + "[ \\t]*(?:\\n|0x03)", "gm"), b = new RegExp("^(.*)[ \\t]+" + m + "[ \\t]*\\n" + "(?=[\\-|=]+\\s*(?:\\n|0x03))", "gm"), y = new RegExp("^(```[ \\t]*[^{\\s]*)[ \\t]+" + m + "[ \\t]*\\n" + "(?=([\\s\\S]*?)\\n```[ \\t]*(\\n|0x03))", "gm"); - Markdown.Extra.prototype.hashHeaderAttributeBlocks = function(e) { - function t(e, t, i) { - return "
~XX" + (n.hashBlocks.push(i) - 1) + "XX
\n" + t + "\n"; - } - var n = this; - return e = e.replace(v, t), e = e.replace(b, t); - }, Markdown.Extra.prototype.hashFcbAttributeBlocks = function(e) { - function t(e, t, i) { - return "~XX" + (n.hashBlocks.push(i) - 1) + "XX
\n" + t + "\n"; - } - var n = this; - return e.replace(y, t); - }, Markdown.Extra.prototype.applyAttributeBlocks = function(e) { - var t = this, n = new RegExp('~XX(\\d+)XX
[\\s]*(?:<(h[1-6]|pre)(?: +class="(\\S+)")?(>[\\s\\S]*?\\2>))', "gm"); - return e = e.replace(n, function(e, n, i, o, s) { - if (!i) return ""; - for (var a = parseInt(n, 10), l = t.hashBlocks[a], c = l.match(/#[^\s#.]+/g) || [], u = c[0] ? ' id="' + c[0].substr(1, c[0].length - 1) + '"' : "", d = l.match(/\.[^\s#.]+/g) || [], h = 0; h < d.length; h++) d[h] = d[h].substr(1, d[h].length - 1); - var p = ""; - return o && (d = r(d, [ o ])), d.length > 0 && (p = ' class="' + d.join(" ") + '"'), - "<" + i + u + p + s; - }); - }, Markdown.Extra.prototype.tables = function(t) { - function n(t, n, o, r) { - n = n.replace(/^ *[|]/m, ""), o = o.replace(/^ *[|]/m, ""), r = r.replace(/^ *[|]/gm, ""), - n = n.replace(/[|] *$/m, ""), o = o.replace(/[|] *$/m, ""), r = r.replace(/[|] *$/gm, ""), - alignspecs = o.split(/ *[|] */), align = []; - for (var s = 0; s < alignspecs.length; s++) { - var a = alignspecs[s]; - align[s] = a.match(/^ *-+: *$/m) ? ' style="text-align:right;"' : a.match(/^ *:-+: *$/m) ? ' style="text-align:center;"' : a.match(/^ *:-+ *$/m) ? ' style="text-align:left;"' : ""; - } - var c = n.split(/ *[|] */), u = c.length, d = i.tableClass ? ' class="' + i.tableClass + '"' : "", h = [ "\n", "\n", "
\n", i.hashExtraBlock(h); - } - var i = this, o = new RegExp([ "^", "[ ]{0,3}", "[|]", "(.+)\\n", "[ ]{0,3}", "[|]([ ]*[-:]+[-| :]*)\\n", "(", "(?:[ ]*[|].*\\n?)*", ")", "(?:\\n|$)" ].join(""), "gm"), r = new RegExp([ "^", "[ ]{0,3}", "(\\S.*[|].*)\\n", "[ ]{0,3}", "([-:]+[ ]*[|][-| :]*)\\n", "(", "(?:.*[|].*\\n?)*", ")", "(?:\\n|$)" ].join(""), "gm"); - return t = t.replace(o, n), t = t.replace(r, n); - }, Markdown.Extra.prototype.stripFootnoteDefinitions = function(e) { - var t = this; - return e = e.replace(/\n[ ]{0,3}\[\^(.+?)\]\:[ \t]*\n?([\s\S]*?)\n{1,2}((?=\n[ ]{0,3}\S)|$)/g, function(e, n, i) { - return n = p(n), i += "\n", i = i.replace(/^[ ]{0,3}/g, ""), t.footnotes[n] = i, - "\n"; - }); - }, Markdown.Extra.prototype.doFootnotes = function(e) { - var t = this; - if (t.isConvertingFootnote === !0) return e; - var n = 0; - return e = e.replace(/\[\^(.+?)\]/g, function(e, i) { - var o = p(i), r = t.footnotes[o]; - if (void 0 === r) return e; - n++, t.usedFootnotes.push(o); - var s = '' + n + ""; - return t.hashExtraInline(s); - }); - }, Markdown.Extra.prototype.printFootnotes = function(e) { - var t = this; - if (0 === t.usedFootnotes.length) return e; - e += '\n\n\n" ].join(""); - for (s = 0; u > s; s++) { - var p = l(e(c[s]), i); - h += [ " \n\n"; - var f = r.split("\n"); - for (s = 0; s < f.length; s++) if (!f[s].match(/^\s*$/)) { - for (var g = f[s].split(/ *[|] */), m = u - g.length, v = 0; m > v; v++) g.push(""); - for (h += "", p, " \n" ].join(""); - } - h += "\n", v = 0; u > v; v++) { - var b = l(e(g[v]), i); - h += [ " \n"; - } - return h += "", b, " \n" ].join(""); - } - h += "\n"; - }, Markdown.Extra.prototype.fencedCodeBlocks = function(e) { - function t(e) { - return e = e.replace(/&/g, "&"), e = e.replace(//g, ">"), - e = e.replace(/~D/g, "$$"), e = e.replace(/~T/g, "~"); - } - var n = this; - return e = e.replace(/(?:^|\n)```[ \t]*(\S*)[ \t]*\n([\s\S]*?)\n```[ \t]*(?=\n)/g, function(e, i, o) { - var r = i, s = o, a = n.googleCodePrettify ? ' class="prettyprint"' : "", l = ""; - r && (l = n.googleCodePrettify || n.highlightJs ? ' class="language-' + r + '"' : ' class="' + r + '"'); - var c = [ "
\n\n\n'; - for (var n = 0; n < t.usedFootnotes.length; n++) { - var i = t.usedFootnotes[n], o = t.footnotes[i]; - t.isConvertingFootnote = !0; - var r = l(o, t); - delete t.isConvertingFootnote, e += '
\n- ' + r + ' ↩
\n\n'; - } - return e += "" ].join(""); - return n.hashExtraBlock(c); - }); - }, Markdown.Extra.prototype.educatePants = function(e) { - var t = this, n = "", i = 0; - e.replace(/(?:)|(<)([a-zA-Z1-6]+)([^\n]*?>)([\s\S]*?)(<\/\2>)/g, function(o, r, s, a, l, c, u) { - var d = e.substring(i, u); - return n += t.applyPants(d), t.smartyPantsLastChar = n.substring(n.length - 1), - i = u + o.length, r ? (/code|kbd|pre|script|noscript|iframe|math|ins|del|pre/i.test(s) ? t.smartyPantsLastChar = l.substring(l.length - 1) : l = t.educatePants(l), - n += r + s + a + l + c, void 0) : (n += o, void 0); - }); - var o = e.substring(i); - return n += t.applyPants(o), t.smartyPantsLastChar = n.substring(n.length - 1), - n; - }, Markdown.Extra.prototype.applyPants = function(e) { - return e = e.replace(/---/g, "—").replace(/--/g, "–"), e = e.replace(/\.\.\./g, "…").replace(/\.\s\.\s\./g, "…"), - e = e.replace(/``/g, "“").replace(/''/g, "”"), /^'$/.test(e) ? /\S/.test(this.smartyPantsLastChar) ? "’" : "‘" : /^"$/.test(e) ? /\S/.test(this.smartyPantsLastChar) ? "”" : "“" : (e = e.replace(/^'(?=[!"#\$\%'()*+,\-.\/:;<=>?\@\[\\]\^_`{|}~]\B)/, "’"), - e = e.replace(/^"(?=[!"#\$\%'()*+,\-.\/:;<=>?\@\[\\]\^_`{|}~]\B)/, "”"), e = e.replace(/"'(?=\w)/g, "“‘"), - e = e.replace(/'"(?=\w)/g, "‘“"), e = e.replace(/'(?=\d{2}s)/g, "’"), - e = e.replace(/(\s| |--|&[mn]dash;|&\#8211;|&\#8212;|&\#x201[34];)'(?=\w)/g, "$1‘"), - e = e.replace(/([^\s\[\{\(\-])'/g, "$1’"), e = e.replace(/'(?=\s|s\b)/g, "’"), - e = e.replace(/'/g, "‘"), e = e.replace(/(\s| |--|&[mn]dash;|&\#8211;|&\#8212;|&\#x201[34];)"(?=\w)/g, "$1“"), - e = e.replace(/([^\s\[\{\(\-])"/g, "$1”"), e = e.replace(/"(?=\s)/g, "”"), - e = e.replace(/"/gi, "“")); - }, Markdown.Extra.prototype.runSmartyPants = function(e) { - return this.smartyPantsLastChar = "", e = this.educatePants(e), e = e.replace(/(<([a-zA-Z1-6]+)\b([^\n>]*?)(\/)?>)/g, f); - }, Markdown.Extra.prototype.definitionLists = function(t) { - var n = new RegExp([ "(\\x02\\n?|\\n\\n)", "(?:", "(", "(", "[ ]{0,3}", "((?:[ \\t]*\\S.*\\n)+)", "\\n?", "[ ]{0,3}:[ ]+", ")", "([\\s\\S]+?)", "(", "(?=\\0x03)", "|", "(?=", "\\n{2,}", "(?=\\S)", "(?!", "[ ]{0,3}", "(?:\\S.*\\n)+?", "\\n?", "[ ]{0,3}:[ ]+", ")", "(?!", "[ ]{0,3}:[ ]+", ")", ")", ")", ")", ")" ].join(""), "gm"), i = this; - return t = s(t), t = t.replace(n, function(t, n, o) { - var r = e(i.processDefListItems(o)); - return r = "", t(s), "
\n" + r + "\n
", n + i.hashExtraBlock(r) + "\n\n"; - }), a(t); - }, Markdown.Extra.prototype.processDefListItems = function(i) { - var o = this, r = new RegExp([ "(\\x02\\n?|\\n\\n+)", "(", "[ ]{0,3}", "(?![:][ ]|[ ])", "(?:\\S.*\\n)+?", ")", "(?=\\n?[ ]{0,3}:[ ])" ].join(""), "gm"), u = new RegExp([ "\\n(\\n+)?", "(", "[ ]{0,3}", "[:][ ]+", ")", "([\\s\\S]+?)", "(?=\\n*", "(?:", "\\n[ ]{0,3}[:][ ]|", "- |\\x03", ")", ")" ].join(""), "gm"); - return i = s(i), i = i.replace(/\n{2,}(?=\\x03)/, "\n"), i = i.replace(r, function(t, n, i) { - for (var r = e(i).split("\n"), s = "", a = 0; a < r.length; a++) { - var c = r[a]; - c = l(e(c), o), s += "\n
- " + c + "
"; - } - return s + "\n"; - }), i = i.replace(u, function(e, i, r, s) { - return i || s.match(/\n{2,}/) ? (s = Array(r.length + 1).join(" ") + s, s = n(s) + "\n\n", - s = "\n" + c(s, o) + "\n") : (s = t(s), s = l(n(s), o)), "\n- " + s + "
\n"; - }), a(i); - }, Markdown.Extra.prototype.strikethrough = function(e) { - return e.replace(/([\W_]|^)~T~T(?=\S)([^\r]*?\S[\*_]*)~T~T([\W_]|$)/g, "$1$2$3"); - }, Markdown.Extra.prototype.newlines = function(e) { - return e.replace(/(<(?:br|\/li)>)?\n/g, function(e, t) { - return t ? e : "
\n"; - }); - }; -}(), define("pagedown-extra", function() {}), define("extensions/markdownExtra", [ "jquery", "underscore", "utils", "classes/Extension", "text!html/markdownExtraSettingsBlock.html", "google-code-prettify", "highlightjs", "pagedown-extra" ], function(e, t, n, i, o, r, s) { - var a = new i("markdownExtra", "Markdown Extra", !0); - a.settingsBlock = o, a.defaultConfig = { - extensions: [ "fenced_code_gfm", "tables", "def_list", "attr_list", "footnotes", "smartypants", "strikethrough", "newlines" ], - intraword: !0, - comments: !0, - highlighter: "prettify" - }, a.onLoadSettings = function() { - function e(e) { - return t.some(a.config.extensions, function(t) { - return t == e; - }); - } - n.setInputChecked("#input-markdownextra-fencedcodegfm", e("fenced_code_gfm")), n.setInputChecked("#input-markdownextra-tables", e("tables")), - n.setInputChecked("#input-markdownextra-deflist", e("def_list")), n.setInputChecked("#input-markdownextra-attrlist", e("attr_list")), - n.setInputChecked("#input-markdownextra-footnotes", e("footnotes")), n.setInputChecked("#input-markdownextra-smartypants", e("smartypants")), - n.setInputChecked("#input-markdownextra-strikethrough", e("strikethrough")), n.setInputChecked("#input-markdownextra-newlines", e("newlines")), - n.setInputChecked("#input-markdownextra-intraword", a.config.intraword), n.setInputChecked("#input-markdownextra-comments", a.config.comments), - n.setInputValue("#input-markdownextra-highlighter", a.config.highlighter); - }, a.onSaveSettings = function(e) { - e.extensions = [], n.getInputChecked("#input-markdownextra-fencedcodegfm") && e.extensions.push("fenced_code_gfm"), - n.getInputChecked("#input-markdownextra-tables") && e.extensions.push("tables"), - n.getInputChecked("#input-markdownextra-deflist") && e.extensions.push("def_list"), - n.getInputChecked("#input-markdownextra-attrlist") && e.extensions.push("attr_list"), - n.getInputChecked("#input-markdownextra-footnotes") && e.extensions.push("footnotes"), - n.getInputChecked("#input-markdownextra-smartypants") && e.extensions.push("smartypants"), - n.getInputChecked("#input-markdownextra-strikethrough") && e.extensions.push("strikethrough"), - n.getInputChecked("#input-markdownextra-newlines") && e.extensions.push("newlines"), - e.intraword = n.getInputChecked("#input-markdownextra-intraword"), e.comments = n.getInputChecked("#input-markdownextra-comments"), - e.highlighter = n.getInputValue("#input-markdownextra-highlighter"); - }; - var l; - return a.onEventMgrCreated = function(e) { - l = e; - }, a.onPagedownConfigure = function(e) { - var n = e.getConverter(); - if (a.config.intraword === !0) { - var i = { - _DoItalicsAndBold: function(e) { - return e = e.replace(/([^\w*]|^)(\*\*|__)(?=\S)(.+?[*_]*)(?=\S)\2(?=[^\w*]|$)/g, "$1$3"), - e = e.replace(/([^\w*]|^)(\*|_)(?=\S)(.+?)(?=\S)\2(?=[^\w*]|$)/g, "$1$3"); - } - }; - n.setOptions(i); - } - a.config.comments === !0 && n.hooks.chain("postConversion", function(e) { - return e.replace(//g, function(e) { - return e.replace(/^$/, ' $1 '); - }); - }); - var o = { - extensions: a.config.extensions - }; - if ("highlight" == a.config.highlighter) { - o.highlighter = "prettify"; - var l = document.getElementById("preview-contents"); - e.hooks.chain("onPreviewRefresh", function() { - t.each(l.querySelectorAll(".prettyprint > code"), function(e) { - !e.highlighted && s.highlightBlock(e), e.highlighted = !0; - }); - }); - } else "prettify" == a.config.highlighter && (o.highlighter = "prettify", e.hooks.chain("onPreviewRefresh", r.prettyPrint)); - Markdown.Extra.init(n, o); - }, a; -}), define("text!html/mathJaxSettingsBlock.html", [], function() { - return 'Allows StackEdit to interpret LaTeX mathematical expressions.
\n\n\nMore info'; -}), define("text!libs/mathjax_config.js", [], function() { - return 'MathJax.Hub.Config({\n "HTML-CSS": {\n preferredFont: "TeX",\n availableFonts: [\n "STIX",\n "TeX"\n ],\n linebreaks: {\n automatic: true\n },\n EqnChunk: 10,\n imageFont: null\n },\n tex2jax: <%= tex2jax || \'{ inlineMath: [["$","$"],["\\\\\\\\\\\\\\\\(","\\\\\\\\\\\\\\\\)"]], displayMath: [["$$","$$"],["\\\\\\\\[","\\\\\\\\]"]], processEscapes: true }\' %>,\n TeX: $.extend({\n noUndefined: {\n attributes: {\n mathcolor: "red",\n mathbackground: "#FFEEEE",\n mathsize: "90%"\n }\n },\n Safe: {\n allow: {\n URLs: "safe",\n classes: "safe",\n cssIDs: "safe",\n styles: "safe",\n fontsize: "all"\n }\n }\n }, <%= tex %>),\n messageStyle: "none"\n});\n'; -}), define("libs/mathjax_init", [ "settings", "text!libs/mathjax_config.js" ], function(e, t) { - var n = document.createElement("script"); - n.type = "text/x-mathjax-config", n.innerHTML = _.template(t, { - tex: e.extensionSettings.mathJax ? e.extensionSettings.mathJax.tex : "undefined", - tex2jax: e.extensionSettings.mathJax ? e.extensionSettings.mathJax.tex2jax : void 0 - }), document.getElementsByTagName("head")[0].appendChild(n); -}), define("extensions/mathJax", [ "utils", "classes/Extension", "text!html/mathJaxSettingsBlock.html", "mathjax" ], function(e, t, n) { - function i(e, t, n) { - var i = u.slice(e, t + 1).join("").replace(/&/g, "&").replace(//g, ">"); - for (w.Browser.isMSIE && (i = i.replace(/(%[^\n]*)\n/g, "$1\n \n\n\n \n\n\n \n\n\n \n\n
\n")); t > e; ) u[t] = "", - t--; - u[e] = "@@" + g.length + "@@", n && (i = n(i)), g.push(i), d = h = p = null; - } - function o(e) { - d = h = p = null, g = []; - var t; - /`/.test(e) ? (e = e.replace(/~/g, "~T").replace(/(^|[^\\])(`+)([^\n]*?[^`\n])\2(?!`)/gm, function(e) { - return e.replace(/\$/g, "~D"); - }), t = function(e) { - return e.replace(/~([TD])/g, function(e, t) { - return { - T: "~", - D: "$" - }[t]; - }); - }) : t = function(e) { - return e; - }, u = C(e.replace(/\r\n?/g, "\n"), x); - for (var e = 1, n = u.length; n > e; e += 2) { - var o = u[e]; - "@" === o.charAt(0) ? (u[e] = "@@" + g.length + "@@", g.push(o)) : d ? o === h ? f ? p = e : i(d, e, t) : o.match(/\n.*\n/) ? (p && (e = p, - i(d, e, t)), d = h = p = null, f = 0) : "{" === o ? f++ : "}" === o && f && f-- : o === y || "$$" === o ? (d = e, - h = o, f = 0) : "begin" === o.substr(1, 5) && (d = e, h = "\\end" + o.substr(6), - f = 0); - } - return p && i(d, p, t), t(u.join("")); - } - function r(e) { - return e = e.replace(/@@(\d+)@@/g, function(e, t) { - return g[t]; - }), g = null, e; - } - function s() { - v = !1, w.cancelTypeset = !1, w.Queue([ "Typeset", w, b ]), w.Queue(c); - } - function a() { - !v && (v = !0, w.Cancel(), w.Queue(s)); - } - var l = new t("mathJax", "MathJax", !0); - l.settingsBlock = n, l.defaultConfig = { - tex: "{}", - tex2jax: '{ inlineMath: [["$","$"],["\\\\\\\\(","\\\\\\\\)"]], displayMath: [["$$","$$"],["\\\\[","\\\\]"]], processEscapes: true }' - }, l.onLoadSettings = function() { - e.setInputValue("#input-mathjax-config-tex", l.config.tex), e.setInputValue("#input-mathjax-config-tex2jax", l.config.tex2jax); - }, l.onSaveSettings = function(t, n) { - t.tex = e.getInputJsValue("#input-mathjax-config-tex", n), t.tex2jax = e.getInputJsValue("#input-mathjax-config-tex2jax", n); - }, l.onPagedownConfigure = function(e) { - b = document.getElementById("preview-contents"); - var t = e.getConverter(); - t.hooks.chain("preConversion", o), t.hooks.chain("postConversion", r); - }; - var c; - l.onAsyncPreview = function(e) { - c = e, a(); - }; - var u, d, h, p, f, g, m = !1, v = !1, b = null, y = "$", w = MathJax.Hub; - w.Queue(function() { - m = !0, w.processUpdateTime = 50, w.Config({ - "HTML-CSS": { - EqnChunk: 10, - EqnChunkFactor: 1 - }, - SVG: { - EqnChunk: 10, - EqnChunkFactor: 1 - } - }); - }); - var C, x = /(\$\$?|\\(?:begin|end)\{[a-z]*\*?\}|\\[\\{}$]|[{}]|(?:\n\s*)+|@@\d+@@)/i; - return C = 3 === "aba".split(/(b)/).length ? function(e, t) { - return e.split(t); - } : function(e, t) { - var n, i = []; - if (!t.global) { - n = t.toString(); - var o = ""; - n = n.replace(/^\/(.*)\/([im]*)$/, function(e, t, n) { - return o = n, t; - }), t = RegExp(n, o + "g"); - } - for (var r = t.lastIndex = 0; n = t.exec(e); ) i.push(e.substring(r, n.index)), - i.push.apply(i, n.slice(1)), r = n.index + n[0].length; - return i.push(e.substring(r)), i; - }, function() { - var e = MathJax.Hub; - if (!e.Cancel) { - e.cancelTypeset = !1, e.Register.StartupHook("HTML-CSS Jax Config", function() { - var t = MathJax.OutputJax["HTML-CSS"], n = t.Translate; - t.Augment({ - Translate: function(i, o) { - if (e.cancelTypeset || o.cancelled) throw Error("MathJax Canceled"); - return n.call(t, i, o); - } - }); - }), e.Register.StartupHook("SVG Jax Config", function() { - var t = MathJax.OutputJax.SVG, n = t.Translate; - t.Augment({ - Translate: function(i, o) { - if (e.cancelTypeset || o.cancelled) throw Error("MathJax Canceled"); - return n.call(t, i, o); - } - }); - }), e.Register.StartupHook("TeX Jax Config", function() { - var t = MathJax.InputJax.TeX, n = t.Translate; - t.Augment({ - Translate: function(i, o) { - if (e.cancelTypeset || o.cancelled) throw Error("MathJax Canceled"); - return n.call(t, i, o); - } - }); - }); - var t = e.processError; - e.processError = function(n, i, o) { - return "MathJax Canceled" !== n.message ? t.call(e, n, i, o) : (MathJax.Message.Clear(0, 0), - i.jaxIDs = [], i.jax = {}, i.scripts = [], i.i = i.j = 0, i.cancelled = !0, null); - }, e.Cancel = function() { - this.cancelTypeset = !0; - }; - } - }(), l; -}), define("extensions/markdownSectionParser", [ "underscore", "extensions/markdownExtra", "extensions/mathJax", "classes/Extension" ], function(e, t, n, i) { - var o, r = new i("markdownSectionParser", "Markdown section parser"); - return r.onEventMgrCreated = function(e) { - o = e; - }, r.onPagedownConfigure = function(i) { - var r = "^.+[ \\t]*\\n=+[ \\t]*\\n+|^.+[ \\t]*\\n-+[ \\t]*\\n+|^\\#{1,6}[ \\t]*.+?[ \\t]*\\#*\\n+"; - t.enabled && e.some(t.config.extensions, function(e) { - return "fenced_code_gfm" == e; - }) && (r = "^```.*\\n[\\s\\S]*?\\n```|" + r), n.enabled && (r = "^[ \\t]*\\n\\$\\$[\\s\\S]*?\\$\\$|" + r, - r = "^[ \\t]*\\n\\\\\\\\[[\\s\\S]*?\\\\\\\\]|" + r, r = "^[ \\t]*\\n\\\\?\\\\begin\\{[a-z]*\\*?\\}[\\s\\S]*?\\\\end\\{[a-z]*\\*?\\}|" + r), - r = new RegExp(r, "gm"); - var s = i.getConverter(); - s.hooks.chain("preConversion", function(t) { - function n(e, t) { - var n = i.substring(a, t); - s.push({ - text: n, - textWithDelimiter: '\n\n\n' + n + "\n" - }); - } - o.previewStartTime = new Date(); - var i = t + "\n\n", s = [], a = 0; - return i.replace(r, function(e, t) { - n(a, t), a = t; - }), n(a, t.length), o.onSectionsCreated(s), e.reduce(s, function(e, t) { - return e + t.textWithDelimiter; - }, ""); - }); - }, r; -}), define("text!html/partialRenderingSettingsBlock.html", [], function() { - return "Renders modified sections only.
\n\n NOTE: Document sections are based on title elements (h1, h2...). Therefore if\n your document does not contain any title, performance will not be increased.\n"; -}), define("extensions/partialRendering", [ "underscore", "crel", "extensions/markdownExtra", "classes/Extension", "text!html/partialRenderingSettingsBlock.html" ], function(e, t, n, i, o) { - function r(t, n) { - if (g = [], f = [], d = void 0, m === !0 || u != n) return m = !1, u = n, f = p, - p = t, g = t, void 0; - var i = p.length; - e.some(p, function(e, n) { - return n >= t.length || e.text != t[n].text ? (i = n, !0) : void 0; - }); - var o = -p.length; - e.some(p.slice().reverse(), function(e, n) { - return n >= t.length || e.text != t[t.length - n - 1].text ? (o = -n, !0) : void 0; - }), i - o > p.length && (o = i - p.length); - var r = p.slice(0, i); - g = t.slice(i, t.length + o); - var s = p.slice(p.length + o, p.length); - d = e.first(s), f = p.slice(i, p.length + o), p = r.concat(g).concat(s); - } - function s(e) { - var t = e.id.substring(3); - C[t] = e; - } - function a() { - function n(n) { - for (var i = t("div", { - id: "wmd-preview-section-" + n.id, - "class": "wmd-preview-section preview-content" - }), r = !1; o; ) { - var a = o.nextSibling; - if (r === !0 && "DIV" == o.tagName && "se-section-delimiter" == o.className) break; - r = !0, "DIV" == o.tagName && "footnotes" == o.className ? e.each(o.querySelectorAll("ol > li"), s) : i.appendChild(o), - o = a; - } - return i; - } - e.each(f, function(e) { - var t = document.getElementById("wmd-preview-section-" + e.id); - w.removeChild(t); - }); - var i = document.getElementById("wmd-preview"), o = i.firstChild, r = document.createDocumentFragment(); - e.each(g, function(e) { - r.appendChild(n(e)); - }), i.innerHTML = ""; - var a = y; - void 0 !== d && (a = document.getElementById("wmd-preview-section-" + d.id)), w.insertBefore(r, a), - y.innerHTML = ""; - var l = []; - if (b === !0) { - var c = t("ol"); - e.each(w.querySelectorAll("a.footnote"), function(e, t) { - e.textContent = t + 1; - var n = e.id.substring(6); - l.push(n), c.appendChild(C[n].cloneNode(!0)); - }), l.length > 0 && y.appendChild(t("div", { - "class": "footnotes" - }, t("hr"), c)), C = e.pick(C, l); - } - } - var l = new i("partialRendering", "Partial Rendering", !0); - l.settingsBlock = o; - var c, u, d, h = 0, p = [], f = [], g = [], m = !1, v = !1, b = !1; - l.onSectionsCreated = function(t) { - var n = [], i = "\n"; - b = !1, e.each(t, function(e) { - var t = e.textWithDelimiter + "\n"; - v && (t = t.replace(/^```.*\n[\s\S]*?\n```|\n[ ]{0,3}\[\^(.+?)\]\:[ \t]*\n?([\s\S]*?)\n{1,2}((?=\n[ ]{0,3}\S)|$)/gm, function(e, t) { - return t ? (b = !0, i += e.replace(/^\s*\n/gm, "") + "\n", "") : e; - })), t = t.replace(/^```.*\n[\s\S]*?\n```|^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*(\S+?)>?(?=\s|$)[ \t]*\n?[ \t]*((\n*)["(](.+?)[")][ \t]*)?(?:\n+)/gm, function(e, t) { - return t ? (i += e.replace(/^\s*\n/gm, "") + "\n", "") : e; - }), n.push({ - id: ++h, - text: t + "\n" - }); - }), r(n, i); - }; - var y, w, C = {}; - return l.onPagedownConfigure = function(t) { - c = t.getConverter(), c.hooks.chain("preConversion", function() { - var t = e.map(g, function(e) { - return e.text; - }); - return t.push(u + "\n\n"), t.join(""); - }), t.hooks.chain("onPreviewRefresh", function() { - a(); - }); - }, l.onInit = function() { - n.enabled && e.some(n.config.extensions, function(e) { - return "footnotes" == e; - }) && (v = !0); - }, l.onReady = function() { - y = t("div", { - id: "wmd-preview-section-footnotes", - "class": "preview-content" - }), w = document.getElementById("preview-contents"), w.appendChild(y); - }, l.onFileSelected = function() { - m = !0; - }, l; -}), define("text!html/buttonMarkdownSyntax.html", [], function() { - return '\n \n'; -}), define("extensions/buttonMarkdownSyntax", [ "jquery", "classes/Extension", "text!html/buttonMarkdownSyntax.html" ], function(e, t, n) { - var i = new t("buttonMarkdownSyntax", 'Button "Markdown syntax', !0, !0); - return i.settingsBlock = 'Adds a "Markdown syntax" button over the preview.
', - i.onCreatePreviewButton = function() { - return n; - }, i; -}), define("extensions/googleAnalytics", [ "jquery", "underscore", "constants", "utils", "classes/Extension", "settings" ], function(e, t, n, i, o, r) { - function s() { - i.currentTime - d > 18e4 && (_gaq.push([ "_trackPageview" ]), d = i.currentTime); - } - var a = new o("googleAnalytics", "Google Analytics", !0); - a.settingsBlock = "Sends anonymous statistics about usage and errors to help improve StackEdit.
"; - var l = !1, c = !1; - window._gaq = []; - var u = function() { - if (l === !1 && c === !1) { - var t = "/ga.js"; - location.search.match(/(\?|&)console/) && (t = "/u/ga_debug.js"), e.ajax({ - url: "https://ssl.google-analytics.com" + t, - dataType: "script" - }).done(function() { - l = !0; - }); - } - }, d = 0; - a.onPeriodicRun = function() { - s(); - }, a.onReady = function() { - _gaq.push([ "_setAccount", n.GOOGLE_ANALYTICS_ACCOUNT_ID ]), s(), _gaq.push([ "_trackEvent", "About", "version", n.VERSION ]), - _gaq.push([ "_trackEvent", "Settings", "layoutOrientation", "" + r.layoutOrientation ]), - _gaq.push([ "_trackEvent", "Settings", "theme", "" + window.theme ]), _gaq.push([ "_trackEvent", "Settings", "lazyRendering", "" + r.lazyRendering ]), - _gaq.push([ "_trackEvent", "Settings", "editorFontFamily", "" + r.editorFontFamily ]), - _gaq.push([ "_trackEvent", "Settings", "editorFontSize", "" + r.editorFontSize ]), - _gaq.push([ "_trackEvent", "Settings", "defaultContent backlink", "" + (-1 !== r.defaultContent.indexOf(n.MAIN_URL)) ]), - _gaq.push([ "_trackEvent", "Settings", "commitMsg backlink", "" + (-1 !== r.commitMsg.indexOf(n.MAIN_URL)) ]), - _gaq.push([ "_trackEvent", "Settings", "sshProxy unchanged", "" + (r.sshProxy == n.SSH_PROXY_URL) ]), - t.each(r.extensionSettings, function(e, t) { - _gaq.push([ "_trackEvent", "Extensions", t + " enabled", "" + (e.enabled === !0) ]); - }), window.onerror = function(e, t, n) { - _gaq.push([ "_trackEvent", "Error", e, t + ":" + n + i.formatEventList() ]); - }, u(); - }, a.onOfflineChanged = function(e) { - c = e, u(); - }; - var h = 0; - return a.onSyncRunning = function(e) { - e === !0 && (h = new Date().getTime()); - }, a.onPublishRunning = function(e) { - e === !0 && (h = new Date().getTime()); - }, a.onSyncSuccess = function() { - var e = new Date().getTime(); - _gaq.push([ "_trackTiming", "Sync", "SyncTime", e - h ]); - }, a.onSyncImportSuccess = function(e, t) { - _gaq.push([ "_trackEvent", "Sync", "SyncImport" ]), _gaq.push([ "_trackEvent", "Sync", "SyncImport provider", t.providerId ]); - }, a.onSyncExportSuccess = function(e, t) { - _gaq.push([ "_trackEvent", "Sync", "SyncExport" ]), _gaq.push([ "_trackEvent", "Sync", "SyncExport provider", t.provider.providerId ]); - }, a.onPublishSuccess = function(e) { - var n = new Date().getTime(); - _gaq.push([ "_trackTiming", "Publish", "PublishSuccess", n - h ]), t.each(e.publishLocations, function(e) { - _gaq.push([ "_trackEvent", "Publish", "PublishSuccess provider", e.provider.providerId ]); - }); - }, a.onNewPublishSuccess = function(e, t) { - _gaq.push([ "_trackEvent", "Publish", "NewPublish provider", t.provider.providerId ]); - }, a.onError = function(e) { - !t.isString(e) && e.message && _gaq.push([ "_trackEvent", "Error", "message", e.message + i.formatEventList() ]); - }, a; -}), define("extensions/twitter", [ "jquery", "underscore", "constants", "utils", "classes/Extension" ], function(e, t, n, i, o) { - var r = new o("twitter", "Twitter", !1, !0), s = !1, a = !1, l = function() { - s === !1 && a === !1 && e.ajax({ - url: "https://platform.twitter.com/widgets.js", - dataType: "script" - }).done(function() { - s = !0; - }); - }; - return r.onReady = function() { - l(); - }, r.onOfflineChanged = function(e) { - a = e, l(); - }, r.onTweet = function() { - s && window.twttr.widgets.load(); - }, r; -}), define("text!html/dialogAbout.html", [], function() { - return '\n\n'; -}), define("extensions/dialogAbout", [ "underscore", "constants", "utils", "classes/Extension", "text!html/dialogAbout.html" ], function(e, t, n, i, o) { - var r = new i("dialogAbout", 'Dialog "About"'), s = { - ACE: "http://ace.c9.io/", - Bootstrap: "http://getbootstrap.com/", - "Bootstrap Tour": "http://bootstraptour.com/", - crel: "https://github.com/KoryNunn/crel", - "Dropbox-js": "https://github.com/dropbox/dropbox-js", - "FileSaver.js": "https://github.com/eligrey/FileSaver.js/", - Fontello: "http://fontello.com/", - "Font Awesome and others...": "res/libs/fontello/LICENSE.txt", - Gatekeeper: "https://github.com/prose/gatekeeper", - "Github.js": "https://github.com/michael/github", - "Highlight.js": "http://softwaremaniacs.org/soft/highlight/en/", - jGrowl: "https://github.com/stanlemon/jGrowl/", - jQuery: "http://jquery.com/", - "lz-string": "http://pieroxy.net/blog/pages/lz-string/index.html", - MathJax: "http://www.mathjax.org/", - Mousetrap: "http://craig.is/killing/mice", - "PageDown ACE": "https://github.com/benweet/pagedown-ace", - "PageDown Extra": "https://github.com/jmcmanus/pagedown-extra/", - Prettify: "https://code.google.com/p/google-code-prettify/", - RequireJS: "http://requirejs.org/", - "RequireJS LESS plugin": "https://github.com/guybedford/require-less", - "stacktrace.js": "http://stacktracejs.com/", - "to-markdown": "https://github.com/domchristie/to-markdown", - "Typo.js": "https://github.com/cfinke/Typo.js", - "UI Layout": "http://layout.jquery-dev.net/", - "Underscore.js": "http://underscorejs.org/", - waitForImages: "https://github.com/alexanderdickson/waitForImages", - XRegExp: "https://github.com/slevithan/xregexp", - "yaml.js": "https://github.com/jeremyfa/yaml.js" - }, a = { - "StackEdit Download Proxy": "https://github.com/benweet/stackedit-download-proxy", - "StackEdit HTMLtoPDF": "https://github.com/benweet/stackedit-htmltopdf", - "StackEdit Picasa Proxy": "https://github.com/benweet/stackedit-picasa-proxy", - "StackEdit SSH Proxy": "https://github.com/benweet/stackedit-ssh-proxy", - "StackEdit Tumblr Proxy": "https://github.com/benweet/stackedit-tumblr-proxy", - "StackEdit WordPress Proxy": "https://github.com/benweet/stackedit-wordpress-proxy" - }; - return r.onReady = function() { - n.addModal("modal-about", e.template(o, { - libraries: s, - projects: a, - version: t.VERSION - })); - }, r; -}), define("text!html/dialogManagePublicationLocation.html", [], function() { - return ' \n\n'; -}), define("extensions/dialogManagePublication", [ "jquery", "underscore", "classes/Extension", "text!html/dialogManagePublicationLocation.html" ], function(e, t, n, i) { - var o, r = new n("dialogManagePublication", 'Dialog "Manage publication"', !1, !0); - r.onEventMgrCreated = function(e) { - o = e; - }; - var s, a, l, c, u = function(n) { - if (void 0 === n || n === s) { - t.size(s.publishLocations) > 0 ? (l.removeClass("hide"), c.addClass("hide")) : (l.addClass("hide"), - c.removeClass("hide")); - var r = t.reduce(s.publishLocations, function(e, n) { - var o = t.omit(n, "provider", "publishIndex", "sharingLink"); - return o.password && (o.password = "********"), o = JSON.stringify(o).replace(/{|}|"/g, "").replace(/,/g, ", "), - e + t.template(i, { - publishAttributes: n, - publishDesc: o - }); - }, ""); - a.innerHTML = r, t.each(a.querySelectorAll(".remove-button"), function(t) { - var n = e(t), i = s.publishLocations[n.data("publishIndex")]; - n.click(function() { - s.removePublishLocation(i), o.onPublishRemoved(s, i); - }); - }); - } - }; - return r.onFileSelected = function(e) { - s = e, u(e); - }, r.onNewPublishSuccess = u, r.onPublishRemoved = u, r.onReady = function() { - var t = document.querySelector(".modal-manage-publish"); - a = t.querySelector(".publish-list"), l = e(t.querySelectorAll(".msg-publish-list")), - c = e(t.querySelectorAll(".msg-no-publish")); - }, r; -}), define("text!html/dialogManageSynchronizationLocation.html", [], function() { - return '\n'; -}), define("extensions/dialogManageSynchronization", [ "jquery", "underscore", "classes/Extension", "text!html/dialogManageSynchronizationLocation.html" ], function(e, t, n, i) { - var o, r = new n("dialogManageSynchronization", 'Dialog "Manage synchronization"', !1, !0); - r.onEventMgrCreated = function(e) { - o = e; - }; - var s; - r.onSynchronizerCreated = function(e) { - s = e; - }; - var a, l, c, u, d = function(n) { - if (void 0 === n || n === a) { - t.size(a.syncLocations) > 0 ? (c.removeClass("hide"), u.addClass("hide")) : (c.addClass("hide"), - u.removeClass("hide")); - var r = t.reduce(a.syncLocations, function(e, n) { - return e + t.template(i, { - syncAttributes: n, - syncDesc: n.id || n.path - }); - }, ""); - l.innerHTML = r, t.each(l.querySelectorAll(".remove-button"), function(t) { - var n = e(t), i = a.syncLocations[n.data("syncIndex")]; - n.click(function() { - s.tryStopRealtimeSync(), a.removeSyncLocation(i), o.onSyncRemoved(a, i); - }); - }); - } - }; - return r.onFileSelected = function(e) { - a = e, d(e); - }, r.onSyncExportSuccess = d, r.onSyncRemoved = d, r.onReady = function() { - var t = document.querySelector(".modal-manage-sync"); - l = t.querySelector(".sync-list"), c = e(t.querySelectorAll(".msg-sync-list")), - u = e(t.querySelectorAll(".msg-no-sync")); - }, r; -}), define("text!html/dialogManageSharingLocation.html", [], function() { - return ' \n\n'; -}), define("extensions/dialogManageSharing", [ "jquery", "underscore", "classes/Extension", "text!html/dialogManageSharingLocation.html" ], function(e, t, n, i) { - var o, r = new n("dialogManageSharing", 'Button "Share"', !1, !0); - r.onEventMgrCreated = function(e) { - o = e; - }; - var s, a, l, c, u = function(e) { - if (void 0 === e || e === s) { - var n = t.reduce(s.publishLocations, function(e, n) { - return n.sharingLink && (e += t.template(i, { - link: n.sharingLink, - title: s.title - })), e; - }, ""); - a.innerHTML = n, o.onTweet(), l.toggleClass("hide", 0 === n.length), c.toggleClass("hide", 0 !== n.length); - } - }; - return r.onFileSelected = function(e) { - s = e, u(e); - }, r.onNewPublishSuccess = function(t, n) { - u(t), n.sharingLink && (e(".modal").modal("hide"), e(".modal-manage-sharing").modal("show")); - }, r.onPublishRemoved = u, r.onReady = function() { - var t = document.querySelector(".modal-manage-sharing"); - a = t.querySelector(".share-list"), l = e(t.querySelectorAll(".msg-share-list")), - c = e(t.querySelectorAll(".msg-no-share")); - }, r; -}), function() { - var e = this, t = {}, n = !1; - "undefined" != typeof module && module.exports ? (module.exports = t, e.toMarkdown = t, - n = !0) : e.toMarkdown = t, t.converter = function(e) { - e && e.elements && $.isArray(e.elements) && (c = c.concat(e.elements)), this.makeMd = function(e, t) { - var o; - if (n) { - var r = require("jsdom"); - r.env({ - html: e, - scripts: [ "http://code.jquery.com/jquery-1.6.4.min.js" ], - done: function(n, o) { - "function" == typeof t && t(i(e, o.$)); - } - }); - } else o = i(e, $); - return o; - }; - }; - var i = function(e, t) { - e = e.replace(/(\d+)\. /g, "$1\\. "); - var n = t(""), i = n.html(e); - i.find("*:not(pre, code)").contents().filter(function() { - return 3 === this.nodeType && /^\s+$/.test(this.nodeValue); - }).remove(); - for (var o = [], r = 0, a = c.length; a > r; r++) o.push(c[r].selector); - for (o = o.join(","); i.find(o).length; ) for (var r = 0, a = c.length; a > r; r++) $matches = i.find(c[r].selector + ':not(:has("' + o + '"))'), - $matches.each(function(e, n) { - var i = t(n); - i.before(c[r].replacement(i.html(), i)).remove(); - }); - return s(i.html()); - }, o = function(e) { - return e.replace(/^[\n\r\f]+|[\n\r\f]+$/g, ""); - }, r = function(e) { - return String(e).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, '"'); - }, s = function(e) { - return e = e.replace(/^[\t\r\n]+|[\t\r\n]+$/g, ""), e = e.replace(/\n\s+\n/g, "\n\n"), - e = e.replace(/\n{3,}/g, "\n\n"), e = r(e); - }, a = function(e) { - return e = o(e), e ? "**" + e + "**" : ""; - }, l = function(e) { - return e = o(e), e ? "_" + e + "_" : ""; - }, c = [ { - selector: "p", - replacement: function(e) { - return e = $.trim(e), e ? "\n\n" + e + "\n\n" : ""; - } - }, { - selector: "br", - replacement: function() { - return "\n"; - } - }, { - selector: "h1,h2,h3,h4,h5,h6", - replacement: function(e, t) { - e = $.trim(e); - for (var n = t.prop("nodeName").charAt(1), i = "", o = 0; n > o; o++) i += "#"; - return e ? "\n\n" + i + " " + e + "\n\n" : ""; - } - }, { - selector: "hr", - replacement: function() { - return "\n\n* * *\n\n"; - } - }, { - selector: "a[href]", - replacement: function(e, t) { - if (e) { - e = o(e); - var n = t.attr("href"), i = t.attr("title") || ""; - return "[" + e + "]" + "(" + n + (i ? ' "' + i + '"' : "") + ")"; - } - return !1; - } - }, { - selector: "b", - replacement: a - }, { - selector: "strong", - replacement: a - }, { - selector: "i", - replacement: l - }, { - selector: "em", - replacement: l - }, { - selector: "code", - replacement: function(e) { - return e = o(e), e ? "`" + e + "`" : ""; - } - }, { - selector: "img", - replacement: function(e, t) { - var n = t.attr("alt") || "", i = t.attr("src") || "", o = t.attr("title") || ""; - return "![" + n + "]" + "(" + i + (o ? ' "' + o + '"' : "") + ")"; - } - }, { - selector: "pre", - replacement: function(e) { - return /^\s*\`/.test(e) ? (e = e.replace(/\`/g, ""), " " + e.replace(/\n/g, "\n ")) : ""; - } - }, { - selector: "li", - replacement: function(e, t) { - e = e.replace(/^\s+|\s+$/, "").replace(/\n/gm, "\n "); - var n = "* ", i = "", o = t.parent(), r = o.contents().filter(function() { - return 1 === this.nodeType && "LI" === this.nodeName || 3 === this.nodeType; - }), s = r.index(t) + 1; - return n = o.is("ol") ? s + ". " : "* ", s == r.length && (t.parents("li").length || (i = "\n"), - e = e.replace(/\s+$/, ""), t.unwrap()), n + e + i + "\n"; - } - }, { - selector: "blockquote", - replacement: function(e) { - return e = e = $.trim(e).replace(/\n{3,}/g, "\n\n"), e = e.replace(/\n/g, "\n> "), - "> " + e; - } - } ]; -}(), define("toMarkdown", [ "jquery" ], function(e) { - return function() { - var t; - return t || e.toMarkdown; - }; -}(this)), define("extensions/dialogOpenHarddrive", [ "jquery", "underscore", "constants", "utils", "classes/Extension", "toMarkdown" ], function(e, t, n, i, o, r) { - function s(i) { - i.stopPropagation(), i.preventDefault(); - var o = (i.dataTransfer || i.target).files; - e(".modal-import-harddrive-markdown, .modal-import-harddrive-html").modal("hide"), - t.each(o, function(t) { - if (!e(i.target).is("#wmd-input *") || !t.name.match(/.(jpe?g|png|gif)$/i)) { - var o = new FileReader(); - o.onload = function(e) { - return function(t) { - var n = t.target.result; - if (n.match(/\uFFFD/)) return h.onError(e.name + " is a binary file."), void 0; - if (n = p ? p(n) : n, void 0 === n) return h.onError(e.name + " is not a valid HTML file."), - void 0; - var i = e.name, o = i.lastIndexOf("."); - i = -1 !== o ? i.substring(0, o) : i; - var r = u.createFile(i, n); - u.selectFile(r); - }; - }(t); - var r = t.slice(0, n.IMPORT_FILE_MAX_CONTENT_SIZE); - o.readAsText(r); - } - }); - } - function a(e) { - p = void 0, s(e); - } - function l(e) { - p = g, s(e); - } - function c(e) { - e.stopPropagation(), e.preventDefault(), e.dataTransfer.dropEffect = "copy"; - } - var u, d = new o("dialogOpenHarddrive", 'Dialog "Open from"'); - d.onFileMgrCreated = function(e) { - u = e; - }; - var h; - d.onEventMgrCreated = function(e) { - h = e; - }; - var p, f, g = function(e) { - return f.makeMd(e); - }; - return d.onReady = function() { - f = new r.converter(), e("#input-file-import-harddrive-markdown").change(a), e("#dropzone-import-harddrive-markdown, #wmd-input").each(function() { - this.addEventListener("dragover", c, !1), this.addEventListener("drop", a, !1); - }), e("#input-file-import-harddrive-html").change(l), e("#dropzone-import-harddrive-html").each(function() { - this.addEventListener("dragover", c, !1), this.addEventListener("drop", l, !1); - }), e(".action-convert-html").click(function(e) { - var t = i.getInputTextValue("#input-convert-html", e); - if (void 0 !== t) { - if (t = f.makeMd(t), void 0 === t) return h.onError("Invalid HTML code."), void 0; - var n = u.createFile(void 0, t); - u.selectFile(n); - } - }); - }, d; -}), define("extensions/documentTitle", [ "jquery", "underscore", "classes/Extension" ], function(e, t, n) { - var i, o = new n("documentTitle", "Document Title"); - o.onLayoutCreated = function(e) { - i = e; - }; - var r, s, a = t.debounce(function(t) { - if (t === r) { - var n = r.title; - document.title = "StackEdit – " + n, s.html(r.composeTitle()), e(".file-title").text(n), - e(".input-file-title").val(n), i && i.resizeAll(); - } - }, 50); - return o.onFileSelected = function(e) { - r = e, a(e); - }, o.onTitleChanged = a, o.onSyncExportSuccess = a, o.onSyncRemoved = a, o.onNewPublishSuccess = a, - o.onPublishRemoved = a, o.onReady = a, o.onReady = function() { - s = e(".file-title-navbar"), s.hover(function() { - var e = s[0].scrollWidth - s.outerWidth(); - s.stop(!0, !0).animate({ - scrollLeft: e - }, 15 * e, "linear"); - }, function() { - s.stop(!0, !0).scrollLeft(0); - }).click(function() { - s.stop(!0, !0).scrollLeft(0); - }); - }, o; -}), function(e, t) { - function n(e, t, n) { - return e.addEventListener ? (e.addEventListener(t, n, !1), void 0) : (e.attachEvent("on" + t, n), - void 0); - } - function i(e) { - if ("keypress" == e.type) { - var t = String.fromCharCode(e.which); - return e.shiftKey || (t = t.toLowerCase()), t; - } - return E[e.which] ? E[e.which] : k[e.which] ? k[e.which] : String.fromCharCode(e.which).toLowerCase(); - } - function o(e, t) { - return e.sort().join(",") === t.sort().join(","); - } - function r(e) { - e = e || {}; - var t, n = !1; - for (t in _) e[t] ? n = !0 : _[t] = 0; - n || (M = !1); - } - function s(e, t, n, i, r, s) { - var a, l, c = [], u = n.type; - if (!T[e]) return []; - for ("keyup" == u && p(e) && (t = [ e ]), a = 0; a < T[e].length; ++a) if (l = T[e][a], - (i || !l.seq || _[l.seq] == l.level) && u == l.action && ("keypress" == u && !n.metaKey && !n.ctrlKey || o(t, l.modifiers))) { - var d = !i && l.combo == r, h = i && l.seq == i && l.level == s; - (d || h) && T[e].splice(a, 1), c.push(l); - } - return c; - } - function a(e) { - var t = []; - return e.shiftKey && t.push("shift"), e.altKey && t.push("alt"), e.ctrlKey && t.push("ctrl"), - e.metaKey && t.push("meta"), t; - } - function l(e) { - return e.preventDefault ? (e.preventDefault(), void 0) : (e.returnValue = !1, void 0); - } - function c(e) { - return e.stopPropagation ? (e.stopPropagation(), void 0) : (e.cancelBubble = !0, - void 0); - } - function u(e, t, n, i) { - $.stopCallback(t, t.target || t.srcElement, n, i) || e(t, n) === !1 && (l(t), c(t)); - } - function d(e, t, n) { - var i, o = s(e, t, n), a = {}, l = 0, c = !1; - for (i = 0; i < o.length; ++i) o[i].seq && (l = Math.max(l, o[i].level)); - for (i = 0; i < o.length; ++i) if (o[i].seq) { - if (o[i].level != l) continue; - c = !0, a[o[i].seq] = 1, u(o[i].callback, n, o[i].combo, o[i].seq); - } else c || u(o[i].callback, n, o[i].combo); - var d = "keypress" == n.type && I; - n.type != M || p(e) || d || r(a), I = c && "keydown" == n.type; - } - function h(e) { - "number" != typeof e.which && (e.which = e.keyCode); - var t = i(e); - if (t) return "keyup" == e.type && L === t ? (L = !1, void 0) : ($.handleKey(t, a(e), e), - void 0); - } - function p(e) { - return "shift" == e || "ctrl" == e || "alt" == e || "meta" == e; - } - function f() { - clearTimeout(S), S = setTimeout(r, 1e3); - } - function g() { - if (!x) { - x = {}; - for (var e in E) e > 95 && 112 > e || E.hasOwnProperty(e) && (x[E[e]] = e); - } - return x; - } - function m(e, t, n) { - return n || (n = g()[e] ? "keydown" : "keypress"), "keypress" == n && t.length && (n = "keydown"), - n; - } - function v(e, t, n, o) { - function s(t) { - return function() { - M = t, ++_[e], f(); - }; - } - function a(t) { - u(n, t, e), "keyup" !== o && (L = i(t)), setTimeout(r, 10); - } - _[e] = 0; - for (var l = 0; l < t.length; ++l) { - var c = l + 1 === t.length, d = c ? a : s(o || y(t[l + 1]).action); - w(t[l], d, o, e, l); - } - } - function b(e) { - return "+" === e ? [ "+" ] : e.split("+"); - } - function y(e, t) { - var n, i, o, r = []; - for (n = b(e), o = 0; o < n.length; ++o) i = n[o], F[i] && (i = F[i]), t && "keypress" != t && A[i] && (i = A[i], - r.push("shift")), p(i) && r.push(i); - return t = m(i, r, t), { - key: i, - modifiers: r, - action: t - }; - } - function w(e, t, n, i, o) { - D[e + ":" + n] = t, e = e.replace(/\s+/g, " "); - var r, a = e.split(" "); - return a.length > 1 ? (v(e, a, t, n), void 0) : (r = y(e, n), T[r.key] = T[r.key] || [], - s(r.key, r.modifiers, { - type: r.action - }, i, e, o), T[r.key][i ? "unshift" : "push"]({ - callback: t, - modifiers: r.modifiers, - action: r.action, - seq: i, - level: o, - combo: e - }), void 0); - } - function C(e, t, n) { - for (var i = 0; i < e.length; ++i) w(e[i], t, n); - } - for (var x, S, E = { - 8: "backspace", - 9: "tab", - 13: "enter", - 16: "shift", - 17: "ctrl", - 18: "alt", - 20: "capslock", - 27: "esc", - 32: "space", - 33: "pageup", - 34: "pagedown", - 35: "end", - 36: "home", - 37: "left", - 38: "up", - 39: "right", - 40: "down", - 45: "ins", - 46: "del", - 91: "meta", - 93: "meta", - 224: "meta" - }, k = { - 106: "*", - 107: "+", - 109: "-", - 110: ".", - 111: "/", - 186: ";", - 187: "=", - 188: ",", - 189: "-", - 190: ".", - 191: "/", - 192: "`", - 219: "[", - 220: "\\", - 221: "]", - 222: "'" - }, A = { - "~": "`", - "!": "1", - "@": "2", - "#": "3", - $: "4", - "%": "5", - "^": "6", - "&": "7", - "*": "8", - "(": "9", - ")": "0", - _: "-", - "+": "=", - ":": ";", - '"': "'", - "<": ",", - ">": ".", - "?": "/", - "|": "\\" - }, F = { - option: "alt", - command: "meta", - "return": "enter", - escape: "esc", - mod: /Mac|iPod|iPhone|iPad/.test(navigator.platform) ? "meta" : "ctrl" - }, T = {}, D = {}, _ = {}, L = !1, I = !1, M = !1, R = 1; 20 > R; ++R) E[111 + R] = "f" + R; - for (R = 0; 9 >= R; ++R) E[R + 96] = R; - n(t, "keypress", h), n(t, "keydown", h), n(t, "keyup", h); - var $ = { - bind: function(e, t, n) { - return e = e instanceof Array ? e : [ e ], C(e, t, n), this; - }, - unbind: function(e, t) { - return $.bind(e, function() {}, t); - }, - trigger: function(e, t) { - return D[e + ":" + t] && D[e + ":" + t]({}, e), this; - }, - reset: function() { - return T = {}, D = {}, this; - }, - stopCallback: function(e, t) { - return (" " + t.className + " ").indexOf(" mousetrap ") > -1 ? !1 : "INPUT" == t.tagName || "SELECT" == t.tagName || "TEXTAREA" == t.tagName || t.isContentEditable; - }, - handleKey: d - }; - e.Mousetrap = $, "function" == typeof define && define.amd && define("mousetrap", $); -}(window, document), define("classes/FileDescriptor", [ "underscore", "utils", "storage", "ace/range" ], function(e, t, n, i) { - function o(t, i, o, s) { - this.fileIndex = t, this._title = i || n[t + ".title"], this._editorScrollTop = parseInt(n[t + ".editorScrollTop"]) || 0, - this._editorSelectRange = function() { - try { - var i = n[t + ".editorSelectRange"].split(";"); - return i = e.map(i, function(e) { - return parseInt(e); - }), new r(i[0], i[1], i[2], i[3]); - } catch (o) { - return new r(0, 0, 0, 0); - } - }(), this._editorEnd = parseInt(n[t + ".editorEnd"]) || 0, this._previewScrollTop = parseInt(n[t + ".previewScrollTop"]) || 0, - this._selectTime = parseInt(n[t + ".selectTime"]) || 0, this.syncLocations = o || {}, - this.publishLocations = s || {}, Object.defineProperty(this, "title", { - get: function() { - return this._title; - }, - set: function(e) { - this._title = e, n[this.fileIndex + ".title"] = e; - } - }), Object.defineProperty(this, "content", { - get: function() { - return n[this.fileIndex + ".content"]; - }, - set: function(e) { - n[this.fileIndex + ".content"] = e; - } - }), Object.defineProperty(this, "editorScrollTop", { - get: function() { - return this._editorScrollTop; - }, - set: function(e) { - this._editorScrollTop = e, n[this.fileIndex + ".editorScrollTop"] = e; - } - }), Object.defineProperty(this, "editorSelectRange", { - get: function() { - return this._editorSelectRange; - }, - set: function(e) { - this._editorSelectRange = e, n[this.fileIndex + ".editorSelectRange"] = [ e.start.row, e.start.column, e.end.row, e.end.column ].join(";"); - } - }), Object.defineProperty(this, "previewScrollTop", { - get: function() { - return this._previewScrollTop; - }, - set: function(e) { - this._previewScrollTop = e, n[this.fileIndex + ".previewScrollTop"] = e; - } - }), Object.defineProperty(this, "selectTime", { - get: function() { - return this._selectTime; - }, - set: function(e) { - this._selectTime = e, n[this.fileIndex + ".selectTime"] = e; - } - }); - } - var r = i.Range; - return o.prototype.addSyncLocation = function(e) { - t.storeAttributes(e), t.appendIndexToArray(this.fileIndex + ".sync", e.syncIndex), - this.syncLocations[e.syncIndex] = e; - }, o.prototype.removeSyncLocation = function(e) { - t.removeIndexFromArray(this.fileIndex + ".sync", e.syncIndex), delete this.syncLocations[e.syncIndex], - n.removeItem(e.syncIndex); - }, o.prototype.addPublishLocation = function(e) { - t.storeAttributes(e), t.appendIndexToArray(this.fileIndex + ".publish", e.publishIndex), - this.publishLocations[e.publishIndex] = e; - }, o.prototype.removePublishLocation = function(e) { - t.removeIndexFromArray(this.fileIndex + ".publish", e.publishIndex), delete this.publishLocations[e.publishIndex], - n.removeItem(e.publishIndex); - }, o.prototype.composeTitle = function() { - var t = []; - return e.chain(this.syncLocations).sortBy(function(e) { - return e.provider.providerId; - }).each(function(e) { - var n = "icon-provider-" + e.provider.providerId; - e.isRealtime === !0 && (n += " realtime"), t.push(''); - }), 0 !== e.size(this.syncLocations) && t.push(''), - e.chain(this.publishLocations).sortBy(function(e) { - return e.provider.providerId; - }).each(function(e) { - var n = "icon-provider-" + e.provider.providerId; - e.isRealtime === !0 && (n += " realtime"), t.push(''); - }), 0 !== e.size(this.publishLocations) && t.push(''), - t.push(e.escape(this.title)), t.join(""); - }, o; -}), define("fileSystem", [ "underscore", "utils", "classes/FileDescriptor", "storage" ], function(e, t, n) { - var i = {}; - return e.each(t.retrieveIndexArray("file.list"), function(e) { - i[e] = new n(e); - }), i; -}), define("text!html/documentSelectorSettingsBlock.html", [], function() { - return 'Allows toggling document with keyboard shortcuts.
\n\n'; -}), define("extensions/documentSelector", [ "jquery", "underscore", "crel", "utils", "classes/Extension", "mousetrap", "fileSystem", "text!html/documentSelectorSettingsBlock.html" ], function(e, t, n, i, o, r, s, a) { - var l = new o("documentSelector", "Document Selector", !0, !0); - l.settingsBlock = a, l.defaultConfig = { - orderBy: "mru", - shortcutPrevious: "Ctrl+[", - shortcutNext: "Ctrl+]" - }, l.onLoadSettings = function() { - i.setInputValue("#select-document-selector-orderby", l.config.orderBy), i.setInputValue("#input-document-selector-shortcut-previous", l.config.shortcutPrevious), - i.setInputValue("#input-document-selector-shortcut-next", l.config.shortcutNext); - }, l.onSaveSettings = function(e, t) { - e.orderBy = i.getInputValue("#select-document-selector-orderby"), e.shortcutPrevious = i.getInputTextValue("#input-document-selector-shortcut-previous", t), - e.shortcutNext = i.getInputTextValue("#input-document-selector-shortcut-next", t); - }; - var c; - l.onAceCreated = function(e) { - c = e; - }; - var u; - l.onFileMgrCreated = function(e) { - u = e; - }; - var d, h, p, f, g, m, v, b = [ '\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n\n \n\n- " data-file-index="<%= fileDesc.fileIndex %>">', ' ', " <%= fileDesc.composeTitle() %>", " ", "
" ].join(""), y = t.debounce(function() { - var n = t.chain(s).sortBy(f).reduce(function(e, n) { - return e + t.template(b, { - fileDesc: n, - isCurrent: n === g - }); - }, "").value(); - d.innerHTML = n, p = [], h = {}, t.each(d.querySelectorAll("li"), function(t) { - var n = e(t); - p.push(n); - var i = s[n.data("fileIndex")]; - h[i.fileIndex] = n, n.find("a").click(function() { - m = void 0, n.hasClass("disabled") ? void 0 !== c ? c.focus() : v.focus() : u.selectFile(i); - }); - }); - }, 50); - return l.onFileSelected = function(e) { - g = e, y(); - }, l.onFileCreated = y, l.onFileDeleted = y, l.onTitleChanged = y, l.onSyncExportSuccess = y, - l.onSyncRemoved = y, l.onNewPublishSuccess = y, l.onPublishRemoved = y, l.onReady = function() { - v = e("#wmd-input"), "title" == l.config.orderBy ? f = function(e) { - return e.title.toLowerCase(); - } : "mru" == l.config.orderBy && (f = function(e) { - return -e.selectTime; - }), d = n("ul", { - "class": "dropdown-menu dropdown-file-selector" - }), document.querySelector(".ui-layout-resizer-north").appendChild(n("div", n("div", { - "data-toggle": "dropdown" - }), d)); - var i = e(d).dropdown(), o = e(".document-panel .collapse-button"); - o.prop("title", t.template("<%= title %> <%= shortcutPrevious %> <%= shortcutNext %>", { - title: o.prop("title"), - shortcutPrevious: l.config.shortcutPrevious, - shortcutNext: l.config.shortcutNext - })); - var s = l.config.shortcutPrevious.toLowerCase(); - r.bind(s, function() { - void 0 === m && (i.dropdown("toggle"), m = h[g.fileIndex]); - var e = t.indexOf(p, m) - 1; - return -2 === e && (e = -1), m = p[(e + p.length) % p.length], t.defer(function() { - m.find("a").focus(); - }), !1; - }); - var a = l.config.shortcutNext.toLowerCase(); - r.bind(l.config.shortcutNext.toLowerCase(), function() { - void 0 === m && (i.dropdown("toggle"), m = h[g.fileIndex]); - var e = t.indexOf(p, m) + 1; - return m = p[e % p.length], t.defer(function() { - m.find("a").focus(); - }), !1; - }); - var c = s.indexOf("+"), u = -1 === c ? s : s.substring(0, c), b = a.indexOf("+"), y = -1 === b ? a : a.substring(0, b); - r.bind([ u, y ], function() { - void 0 !== m && m.find("a").click(); - }, "keyup"); - }, l; -}), define("classes/FolderDescriptor", [ "underscore", "utils", "storage", "fileSystem" ], function(e, t, n, i) { - function o(o, r) { - this.folderIndex = o, this._name = r || n[o + ".name"], this.fileList = {}, e.each(t.retrieveIndexArray(o + ".files"), function(e) { - try { - var n = i[e]; - n.folder = this, this.fileList[e] = n; - } catch (r) { - t.removeIndexFromArray(o + ".files", e); - } - }, this), Object.defineProperty(this, "name", { - get: function() { - return this._name; - }, - set: function(e) { - this._name = e, n[this.folderIndex + ".name"] = e; - } - }); - } - return o.prototype.addFile = function(e) { - e.folder = this, t.appendIndexToArray(this.folderIndex + ".files", e.fileIndex), - this.fileList[e.fileIndex] = e; - }, o.prototype.removeFile = function(e) { - e.folder = void 0, t.removeIndexFromArray(this.folderIndex + ".files", e.fileIndex), - delete this.fileList[e.fileIndex]; - }, o; -}), define("folderList", [ "underscore", "utils", "classes/FolderDescriptor", "storage" ], function(e, t, n) { - var i = {}; - return e.each(t.retrieveIndexArray("folder.list"), function(e) { - i[e] = new n(e); - }), i; -}), define("extensions/documentPanel", [ "jquery", "underscore", "utils", "classes/Extension", "folderList", "fileSystem" ], function(e, t, n, i, o, r) { - function s(n) { - if (n != y) { - if (y = n, b.scrollTop = 0, !n) return p.addClass("hide"), d.removeClass("hide"), - void 0; - var i = n.toLowerCase().split(/\s+/); - t.each(h.querySelectorAll(".file"), function(n) { - var o = e(n), r = o.text().toLowerCase(); - o.toggle(!t.some(i, function(e) { - return -1 === r.indexOf(e); - })); - }), p.removeClass("hide"), d.addClass("hide"); - } - } - var a, l = new i("documentPanel", "Document Panel"); - l.onFileMgrCreated = function(e) { - a = e; - }; - var c, u, d, h, p, f, g = [ '', '', " <%= _.size(folderDesc.fileList) %>", "", ' <%= folderDesc.name %>', "", '', " <%= fileListHtml %>", "" ].join(""), m = [ '"', ' data-file-index="<%= fileDesc.fileIndex %>"', ' data-toggle="collapse"', ' data-target=".document-panel">', " <%= fileDesc.composeTitle() %>", "" ].join(""), v = t.debounce(function() { - var n = t.filter(r, function(e) { - return void 0 === e.folder; - }), i = t.chain(n).sortBy(function(e) { - return e.title.toLowerCase(); - }).reduce(function(e, n) { - return e + "- " + t.template(m, { - fileDesc: n, - selectedFileDesc: f - }) + "
"; - }, "").value(); - i = i && ' ", t.chain(o).sortBy(function(e) { - return e.name.toLowerCase(); - }).each(function(e) { - var n = t.chain(e.fileList).sortBy(function(e) { - return e.title.toLowerCase(); - }).reduce(function(e, n) { - return e + "- " + t.template(m, { - fileDesc: n, - selectedFileDesc: f - }) + "
"; - }, "").value(); - n = n && ' ", i += t.template(g, { - folderDesc: e, - fileListHtml: n, - id: e.folderIndex.replace(".", "") - }); - }), u.innerHTML = i; - var s = t.chain(r).sortBy(function(e) { - return e.title.toLowerCase(); - }).reduce(function(e, n) { - return e + "- " + t.template(m, { - fileDesc: n, - selectedFileDesc: f - }) + "
"; - }, "").value(); - s = ' ", h.innerHTML = s, t.each(c.querySelectorAll(".file"), function(t) { - var n = e(t); - n.click(function() { - var e = r[n.data("fileIndex")]; - e && e !== f && a.selectFile(e); - }); - }); - }, 50); - l.onFileSelected = function(e) { - f = e, v(); - }, l.onFileCreated = v, l.onFileDeleted = v, l.onTitleChanged = v, l.onSyncExportSuccess = v, - l.onSyncRemoved = v, l.onNewPublishSuccess = v, l.onPublishRemoved = v, l.onFoldersChanged = v; - var b, y = ""; - return l.onReady = function() { - c = document.querySelector(".document-panel"), b = c.querySelector(".panel-content"), - u = c.querySelector(".document-list"), d = e(u), h = c.querySelector(".document-list-filtered"), - p = e(h), e(c).on("show.bs.collapse", function(t) { - if (t.target === c) { - var n = f.folder; - void 0 !== n && e(c.querySelector(".file-list." + n.folderIndex.replace(".", ""))).collapse("show"); - } - }).on("shown.bs.collapse", function(e) { - if (e.target === c) { - t.val(""), s(""); - var n = u.querySelector(".file.active"); - n && (b.scrollTop += n.getBoundingClientRect().top - 120); - } - }); - var t = e(c.querySelector(".search-bar .form-control")); - t.bind("propertychange keyup input paste", function() { - s(t.val()); - }); - }, l; -}), define("extensions/documentManager", [ "jquery", "underscore", "constants", "utils", "storage", "classes/Extension", "classes/FolderDescriptor", "folderList", "fileSystem" ], function(e, t, n, i, o, r, s, a, l) { - function c() { - _ = [], D = [], t.each(b.querySelectorAll('input[type="checkbox"]:checked'), function(t) { - var n = e(t.parentNode.parentNode), i = a[n.data("folderIndex")], o = l[n.data("fileIndex")]; - void 0 !== i ? _.push(i) : void 0 !== o && D.push(o); - }); - } - function u() { - if (0 === t.size(D)) return d(), void 0; - var n = t.chain(D).sortBy(function(e) { - return e.title.toLowerCase(); - }).reduce(function(e, n) { - return e + t.template(T, { - fileDesc: n - }); - }, "").value(); - y.innerHTML = '' + n + "
", e(v.querySelectorAll(".document-list")).addClass("hide"), - e(v.querySelectorAll(".confirm-delete, .selected-document-list")).removeClass("hide"); - } - function d() { - t.each(D, function(e) { - e.folder && e.folder.removeFile(e), p.deleteFile(e); - }), t.each(_, function(e) { - i.removeIndexFromArray("folder.list", e.folderIndex), o.removeItem(e.folderIndex + ".name"), - o.removeItem(e.folderIndex + ".files"), delete a[e.folderIndex]; - }), g.onFoldersChanged(); - } - function h() { - c(), w.toggleClass("disabled", 0 === t.size(a) || 0 === t.size(D)), C.toggleClass("disabled", 0 === t.size(_) && 0 === t.size(D)); - } - var p, f = new r("documentManager", "Document Manager", !1, !0); - f.onFileMgrCreated = function(e) { - p = e; - }; - var g; - f.onEventMgrCreated = function(e) { - g = e; - }; - var m, v, b, y, w, C, x, S, E, k = [ '', '', '', '', '<%= _.size(folderDesc.fileList) %>', '', "<%= folderDesc.name %>", '', '<%= fileListHtml %>' ].join(""), A = [ '- ', '', '', '', '
' ].join(""), F = [ '', '<%= fileDesc.composeTitle() %>', '<%= _.size(folderDesc.fileList) %>', '', "<%= folderDesc.name %>" ].join(""), T = [ '- ', '
' ].join(""), D = [], _ = [], L = t.debounce(function() { - if (m !== !1) { - h(), S.text(t.size(l)), E.text(t.size(a) + 1), x = t.filter(l, function(e) { - return void 0 === e.folder; - }); - var n = [ '', '', '<%= fileDesc.composeTitle() %>', t.size(x), "", '', "ROOT folder" ].join(""), i = t.chain(x).sortBy(function(e) { - return e.title.toLowerCase(); - }).reduce(function(e, n) { - return e + t.template(A, { - fileDesc: n - }); - }, "").value(); - i = i && ' ", n += '' + i + "", - t.chain(a).sortBy(function(e) { - return e.name.toLowerCase(); - }).each(function(e) { - var i = t.chain(e.fileList).sortBy(function(e) { - return e.title.toLowerCase(); - }).reduce(function(e, n) { - return e + t.template(A, { - fileDesc: n - }); - }, "").value(); - i = i && ' ", n += t.template(k, { - folderDesc: e, - fileListHtml: i, - id: e.folderIndex.replace(".", "") - }); - }), b.innerHTML = n, t.each(b.querySelectorAll(".button-delete"), function(t) { - var n = e(t); - n.click(function(e) { - e.stopPropagation(); - var t = n.parent(), i = a[t.data("folderIndex")], o = l[t.data("fileIndex")]; - D = [], _ = [], i ? (_.push(i), D = i.fileList) : o && D.push(o), u(); - }); - }), t.each(b.querySelectorAll(".button-rename"), function(t) { - var n = e(t); - n.click(function(e) { - e.stopPropagation(); - var t, i = n.parent(), o = a[i.data("folderIndex")], r = l[i.data("fileIndex")]; - o ? t = o.name : r && (t = r.title), i.find(".name").addClass("hide"), i.find(".input-rename").removeClass("hide").val(t)[0].select(); - }); - }), t.each(b.querySelectorAll(".input-rename"), function(t) { - function n() { - var t = i.parent(), n = e.trim(i.val()), o = a[t.data("folderIndex")], r = l[t.data("fileIndex")]; - n && o && n != o.name ? (o.name = n, g.onFoldersChanged()) : n && r && n != r.title ? (r.title = n, - g.onTitleChanged(r)) : (i.addClass("hide"), t.find(".name").removeClass("hide")); - } - var i = e(t); - i.blur(function() { - n(); - }).keyup(function(e) { - 13 == e.keyCode && (n(), e.stopPropagation()), 27 == e.keyCode && (i.val(""), n(), - e.stopPropagation()); - }); - }), t.each(b.querySelectorAll(".file .checkbox"), function(t) { - var n = e(t); - n.click(function(e) { - e.stopPropagation(); - }).find("[type=checkbox]").change(function() { - n.parents(".list-group").find(".folder [type=checkbox]").prop("checked", !1); - }); - }), t.each(b.querySelectorAll(".folder .checkbox"), function(t) { - var n = e(t); - n.click(function(e) { - e.stopPropagation(); - }).find("[type=checkbox]").change(function() { - n.parent().next().find("[type=checkbox]").prop("checked", this.checked); - }); - }), e(b.querySelectorAll("[type=checkbox]")).change(h); - } - }, 50); - return f.onFileCreated = L, f.onFileDeleted = L, f.onSyncExportSuccess = L, f.onSyncRemoved = L, - f.onNewPublishSuccess = L, f.onPublishRemoved = L, f.onFoldersChanged = L, f.onTitleChanged = function(t) { - m !== !1 && (e(b).find('[data-file-index="' + t.fileIndex + '"] .name').html(t.composeTitle()).removeClass("hide"), - e(b.querySelectorAll(".input-rename")).addClass("hide")); - }, f.onReady = function() { - v = document.querySelector(".modal-document-manager"), b = v.querySelector(".list-group.document-list"), - S = e(v.querySelectorAll(".document-count")), E = e(v.querySelectorAll(".folder-count")), - y = v.querySelector(".list-group.selected-document-list"); - var r = v.querySelector(".list-group.select-folder-list"); - e(v).on("show.bs.modal", function() { - m = !0, L(), setTimeout(function() { - e(b.querySelectorAll(".root-folder")).click(); - }, 250); - }).on("hide.bs.modal", function() { - m = !1, b.innerHTML = ""; - }), e(v.querySelectorAll(".action-create-folder")).click(function() { - var r; - do r = "folder." + i.randomString(); while (t.has(a, r)); - o[r + ".name"] = n.DEFAULT_FOLDER_NAME; - var l = new s(r, n.DEFAULT_FOLDER_NAME); - i.appendIndexToArray("folder.list", r), a[r] = l, g.onFoldersChanged(), setTimeout(function() { - var t = e(v.querySelector('[data-folder-index="' + r + '"] .button-rename')).click(); - v.scrollTop += t.offset().top - 50; - }, 60); - }), e(v.querySelectorAll(".action-select-all")).click(function() { - e(b.querySelectorAll('input[type="checkbox"]')).prop("checked", !0).change(); - }), e(v.querySelectorAll(".action-unselect-all")).click(function() { - e(b.querySelectorAll('input[type="checkbox"]')).prop("checked", !1).change(); - }); - var l = e(v.querySelectorAll(".action-delete-items")).click(function() { - C.hasClass("disabled") || (c(), u()); - }); - C = l.parent(), e(v.querySelectorAll(".action-delete-items-confirm")).click(function() { - d(), e(v.querySelectorAll(".document-list")).removeClass("hide"), e(v.querySelectorAll(".confirm-delete, .selected-document-list")).addClass("hide"); - }); - var h = e(v.querySelectorAll(".action-move-items")).click(function() { - if (!w.hasClass("disabled")) { - c(); - var n = [ '', '', t.size(x), "", '', "ROOT folder" ].join(""); - n += t.chain(a).sortBy(function(e) { - return e.name.toLowerCase(); - }).reduce(function(e, n) { - return e + t.template(F, { - folderDesc: n - }); - }, "").value(), r.innerHTML = n, t.each(r.querySelectorAll(".folder"), function(n) { - n = e(n), n.click(function() { - var i = a[n.data("folderIndex")]; - t.each(D, function(e) { - e.folder && e.folder.removeFile(e), i && i.addFile(e); - }), g.onFoldersChanged(), e(v.querySelectorAll(".document-list")).removeClass("hide"), - e(v.querySelectorAll(".choose-folder, .select-folder-list")).addClass("hide"); - }); - }), e(v.querySelectorAll(".document-list")).addClass("hide"), e(v.querySelectorAll(".choose-folder, .select-folder-list")).removeClass("hide"); - } - }); - w = h.parent(), e(v.querySelectorAll(".action-cancel")).click(function() { - e(v.querySelectorAll(".document-list")).removeClass("hide"), e(v.querySelectorAll(".confirm-delete, .choose-folder, .selected-document-list, .select-folder-list")).addClass("hide"); - }); - }, f; -}), define("extensions/workingIndicator", [ "jquery", "underscore", "classes/Extension" ], function(e, t, n) { - var i, o, r = new n("workingIndicator", "Working Indicator"); - return r.onAsyncRunning = function(e) { - i.toggleClass("working", e), o.toggleClass("hide", !e); - }, r.onReady = function() { - i = e(document.body), o = e(''), e(".working-indicator").append(o); - for (var t = 0; 3 > t; t++) o.append(e('