/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript+ruby+css-extras+git+jade+json+php+php-extras+sass+scss+sql&plugins=line-highlight+line-numbers+show-invisibles+autolinker+file-highlight+show-language+jsonp-highlight+highlight-keywords+remove-initial-line-feed+autoloader+unescaped-markup+command-line+normalize-whitespace+keep-markup */
var _self = "undefined" != typeof window ? window : "undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope ? self : {},
Prism = function() {
var e = /\blang(?:uage)?-(\w+)\b/i,
t = 0,
n = _self.Prism = { util: { encode: function(e) {
return e instanceof a ? new a(e.type, n.util.encode(e.content), e.alias) : "Array" === n.util.type(e) ? e.map(n.util.encode) : e.replace(/&/g, "&").replace(/ e.length) break e;
if (!(m instanceof a)) { u.lastIndex = 0;
var y = u.exec(m),
v = 1;
if (!y && h && p != r.length - 1) {
var b = r[p + 1].matchedStr || r[p + 1],
k = m + b;
if (p < r.length - 2 && (k += r[p + 2].matchedStr || r[p + 2]), u.lastIndex = 0, y = u.exec(k), !y) continue;
var w = y.index + (g ? y[1].length : 0);
if (w >= m.length) continue;
var _ = y.index + y[0].length,
P = m.length + b.length;
if (v = 3, P >= _) {
if (r[p + 1].greedy) continue;
v = 2, k = k.slice(0, P) }
m = k }
if (y) { g && (f = y[1].length);
var w = y.index + f,
y = y[0].slice(f),
_ = w + y.length,
S = m.slice(0, w),
O = m.slice(_),
j = [p, v];
S && j.push(S);
var A = new a(i, c ? n.tokenize(y, c) : y, d, y, h);
j.push(A), O && j.push(O), Array.prototype.splice.apply(r, j) } } } } }
return r }, hooks: { all: {}, add: function(e, t) {
var a = n.hooks.all;
a[e] = a[e] || [], a[e].push(t) }, run: function(e, t) {
var a = n.hooks.all[e];
if (a && a.length)
for (var r, l = 0; r = a[l++];) r(t) } } },
a = n.Token = function(e, t, n, a, r) { this.type = e, this.content = t, this.alias = n, this.matchedStr = a || null, this.greedy = !!r };
if (a.stringify = function(e, t, r) {
if ("string" == typeof e) return e;
if ("Array" === n.util.type(e)) return e.map(function(n) {
return a.stringify(n, t, e) }).join("");
var l = { type: e.type, content: a.stringify(e.content, t, r), tag: "span", classes: ["token", e.type], attributes: {}, language: t, parent: r };
if ("comment" == l.type && (l.attributes.spellcheck = "true"), e.alias) {
var i = "Array" === n.util.type(e.alias) ? e.alias : [e.alias];
Array.prototype.push.apply(l.classes, i) }
n.hooks.run("wrap", l);
var o = "";
for (var s in l.attributes) o += (o ? " " : "") + s + '="' + (l.attributes[s] || "") + '"';
return "<" + l.tag + ' class="' + l.classes.join(" ") + '" ' + o + ">" + l.content + "" + l.tag + ">" }, !_self.document) return _self.addEventListener ? (_self.addEventListener("message", function(e) {
var t = JSON.parse(e.data),
a = t.language,
r = t.code,
l = t.immediateClose;
_self.postMessage(n.highlight(r, n.languages[a], a)), l && _self.close() }, !1), _self.Prism) : _self.Prism;
var r = document.currentScript || [].slice.call(document.getElementsByTagName("script")).pop();
return r && (n.filename = r.src, document.addEventListener && !r.hasAttribute("data-manual") && document.addEventListener("DOMContentLoaded", n.highlightAll)), _self.Prism }();
"undefined" != typeof module && module.exports && (module.exports = Prism), "undefined" != typeof global && (global.Prism = Prism);
Prism.languages.markup = { comment: //, prolog: /<\?[\w\W]+?\?>/, doctype: //, cdata: //i, tag: { pattern: /<\/?(?!\d)[^\s>\/=.$<]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i, inside: { tag: { pattern: /^<\/?[^\s>\/]+/i, inside: { punctuation: /^<\/?/, namespace: /^[^\s>\/:]+:/ } }, "attr-value": { pattern: /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i, inside: { punctuation: /[=>"']/ } }, punctuation: /\/?>/, "attr-name": { pattern: /[^\s>\/]+/, inside: { namespace: /^[^\s>\/:]+:/ } } } }, entity: /?[\da-z]{1,8};/i }, Prism.hooks.add("wrap", function(a) { "entity" === a.type && (a.attributes.title = a.content.replace(/&/, "&")) }), Prism.languages.xml = Prism.languages.markup, Prism.languages.html = Prism.languages.markup, Prism.languages.mathml = Prism.languages.markup, Prism.languages.svg = Prism.languages.markup;
Prism.languages.css = { comment: /\/\*[\w\W]*?\*\//, atrule: { pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i, inside: { rule: /@[\w-]+/ } }, url: /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i, selector: /[^\{\}\s][^\{\};]*?(?=\s*\{)/, string: /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/, property: /(\b|\B)[\w-]+(?=\s*:)/i, important: /\B!important\b/i, "function": /[-a-z0-9]+(?=\()/i, punctuation: /[(){};:]/ }, Prism.languages.css.atrule.inside.rest = Prism.util.clone(Prism.languages.css), Prism.languages.markup && (Prism.languages.insertBefore("markup", "tag", { style: { pattern: /(