496 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			496 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								var q = null;
							 | 
						||
| 
								 | 
							
								window.PR_SHOULD_USE_CONTINUATION = !0;
							 | 
						||
| 
								 | 
							
								(function() {
							 | 
						||
| 
								 | 
							
								  function L(a) {
							 | 
						||
| 
								 | 
							
								    function m(a) {
							 | 
						||
| 
								 | 
							
								      var f = a.charCodeAt(0);
							 | 
						||
| 
								 | 
							
								      if (f !== 92) return f;
							 | 
						||
| 
								 | 
							
								      var b = a.charAt(1);
							 | 
						||
| 
								 | 
							
								      return (f = r[b]) ? f : "0" <= b && b <= "7" ? parseInt(a.substring(1), 8) : b === "u" || b === "x" ? parseInt(a.substring(2), 16) : a.charCodeAt(1)
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    function e(a) {
							 | 
						||
| 
								 | 
							
								      if (a < 32) return (a < 16 ? "\\x0" : "\\x") + a.toString(16);
							 | 
						||
| 
								 | 
							
								      a = String.fromCharCode(a);
							 | 
						||
| 
								 | 
							
								      if (a === "\\" || a === "-" || a === "[" || a === "]") a = "\\" + a;
							 | 
						||
| 
								 | 
							
								      return a
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    function h(a) {
							 | 
						||
| 
								 | 
							
								      for (var f = a.substring(1, a.length - 1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g), a = [], b = [], o = f[0] === "^", c = o ? 1 : 0, i = f.length; c < i; ++c) {
							 | 
						||
| 
								 | 
							
								        var j = f[c];
							 | 
						||
| 
								 | 
							
								        if (/\\[bdsw]/i.test(j)) a.push(j);
							 | 
						||
| 
								 | 
							
								        else {
							 | 
						||
| 
								 | 
							
								          var j = m(j),
							 | 
						||
| 
								 | 
							
								              d;
							 | 
						||
| 
								 | 
							
								          c + 2 < i && "-" === f[c + 1] ? (d = m(f[c + 2]), c += 2) : d = j;
							 | 
						||
| 
								 | 
							
								          b.push([j, d]);
							 | 
						||
| 
								 | 
							
								          d < 65 || j > 122 || (d < 65 || j > 90 || b.push([Math.max(65, j) | 32, Math.min(d, 90) | 32]), d < 97 || j > 122 || b.push([Math.max(97, j) & -33, Math.min(d, 122) & -33]))
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      b.sort(function(a, f) {
							 | 
						||
| 
								 | 
							
								        return a[0] - f[0] || f[1] - a[1]
							 | 
						||
| 
								 | 
							
								      });
							 | 
						||
| 
								 | 
							
								      f = [];
							 | 
						||
| 
								 | 
							
								      j = [NaN, NaN];
							 | 
						||
| 
								 | 
							
								      for (c = 0; c < b.length; ++c) i = b[c], i[0] <= j[1] + 1 ? j[1] = Math.max(j[1], i[1]) : f.push(j = i);
							 | 
						||
| 
								 | 
							
								      b = ["["];
							 | 
						||
| 
								 | 
							
								      o && b.push("^");
							 | 
						||
| 
								 | 
							
								      b.push.apply(b, a);
							 | 
						||
| 
								 | 
							
								      for (c = 0; c < f.length; ++c) i = f[c], b.push(e(i[0])), i[1] > i[0] && (i[1] + 1 > i[0] && b.push("-"), b.push(e(i[1])));
							 | 
						||
| 
								 | 
							
								      b.push("]");
							 | 
						||
| 
								 | 
							
								      return b.join("")
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    function y(a) {
							 | 
						||
| 
								 | 
							
								      for (var f = a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g), b = f.length, d = [], c = 0, i = 0; c < b; ++c) {
							 | 
						||
| 
								 | 
							
								        var j = f[c];
							 | 
						||
| 
								 | 
							
								        j === "(" ? ++i : "\\" === j.charAt(0) && (j = +j.substring(1)) && j <= i && (d[j] = -1)
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      for (c = 1; c < d.length; ++c) - 1 === d[c] && (d[c] = ++t);
							 | 
						||
| 
								 | 
							
								      for (i = c = 0; c < b; ++c) j = f[c], j === "(" ? (++i, d[i] === void 0 && (f[c] = "(?:")) : "\\" === j.charAt(0) && (j = +j.substring(1)) && j <= i && (f[c] = "\\" + d[i]);
							 | 
						||
| 
								 | 
							
								      for (i = c = 0; c < b; ++c)"^" === f[c] && "^" !== f[c + 1] && (f[c] = "");
							 | 
						||
| 
								 | 
							
								      if (a.ignoreCase && s) for (c = 0; c < b; ++c) j = f[c], a = j.charAt(0), j.length >= 2 && a === "[" ? f[c] = h(j) : a !== "\\" && (f[c] = j.replace(/[A-Za-z]/g, function(a) {
							 | 
						||
| 
								 | 
							
								        a = a.charCodeAt(0);
							 | 
						||
| 
								 | 
							
								        return "[" + String.fromCharCode(a & -33, a | 32) + "]"
							 | 
						||
| 
								 | 
							
								      }));
							 | 
						||
| 
								 | 
							
								      return f.join("")
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    for (var t = 0, s = !1, l = !1, p = 0, d = a.length; p < d; ++p) {
							 | 
						||
| 
								 | 
							
								      var g = a[p];
							 | 
						||
| 
								 | 
							
								      if (g.ignoreCase) l = !0;
							 | 
						||
| 
								 | 
							
								      else if (/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi, ""))) {
							 | 
						||
| 
								 | 
							
								        s = !0;
							 | 
						||
| 
								 | 
							
								        l = !1;
							 | 
						||
| 
								 | 
							
								        break
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    for (var r = {
							 | 
						||
| 
								 | 
							
								      b: 8,
							 | 
						||
| 
								 | 
							
								      t: 9,
							 | 
						||
| 
								 | 
							
								      n: 10,
							 | 
						||
| 
								 | 
							
								      v: 11,
							 | 
						||
| 
								 | 
							
								      f: 12,
							 | 
						||
| 
								 | 
							
								      r: 13
							 | 
						||
| 
								 | 
							
								    }, n = [], p = 0, d = a.length; p < d; ++p) {
							 | 
						||
| 
								 | 
							
								      g = a[p];
							 | 
						||
| 
								 | 
							
								      if (g.global || g.multiline) throw Error("" + g);
							 | 
						||
| 
								 | 
							
								      n.push("(?:" + y(g) + ")")
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    return RegExp(n.join("|"), l ? "gi" : "g")
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  function M(a) {
							 | 
						||
| 
								 | 
							
								    function m(a) {
							 | 
						||
| 
								 | 
							
								      switch (a.nodeType) {
							 | 
						||
| 
								 | 
							
								      case 1:
							 | 
						||
| 
								 | 
							
								        if (e.test(a.className)) break;
							 | 
						||
| 
								 | 
							
								        for (var g = a.firstChild; g; g = g.nextSibling) m(g);
							 | 
						||
| 
								 | 
							
								        g = a.nodeName;
							 | 
						||
| 
								 | 
							
								        if ("BR" === g || "LI" === g) h[s] = "\n", t[s << 1] = y++, t[s++ << 1 | 1] = a;
							 | 
						||
| 
								 | 
							
								        break;
							 | 
						||
| 
								 | 
							
								      case 3:
							 | 
						||
| 
								 | 
							
								      case 4:
							 | 
						||
| 
								 | 
							
								        g = a.nodeValue, g.length && (g = p ? g.replace(/\r\n?/g, "\n") : g.replace(/[\t\n\r ]+/g, " "), h[s] = g, t[s << 1] = y, y += g.length, t[s++ << 1 | 1] = a)
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    var e = /(?:^|\s)nocode(?:\s|$)/,
							 | 
						||
| 
								 | 
							
								        h = [],
							 | 
						||
| 
								 | 
							
								        y = 0,
							 | 
						||
| 
								 | 
							
								        t = [],
							 | 
						||
| 
								 | 
							
								        s = 0,
							 | 
						||
| 
								 | 
							
								        l;
							 | 
						||
| 
								 | 
							
								    a.currentStyle ? l = a.currentStyle.whiteSpace : window.getComputedStyle && (l = document.defaultView.getComputedStyle(a, q).getPropertyValue("white-space"));
							 | 
						||
| 
								 | 
							
								    var p = l && "pre" === l.substring(0, 3);
							 | 
						||
| 
								 | 
							
								    m(a);
							 | 
						||
| 
								 | 
							
								    return {
							 | 
						||
| 
								 | 
							
								      a: h.join("").replace(/\n$/, ""),
							 | 
						||
| 
								 | 
							
								      c: t
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  function B(a, m, e, h) {
							 | 
						||
| 
								 | 
							
								    m && (a = {
							 | 
						||
| 
								 | 
							
								      a: m,
							 | 
						||
| 
								 | 
							
								      d: a
							 | 
						||
| 
								 | 
							
								    }, e(a), h.push.apply(h, a.e))
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  function x(a, m) {
							 | 
						||
| 
								 | 
							
								    function e(a) {
							 | 
						||
| 
								 | 
							
								      for (var l = a.d, p = [l, "pln"], d = 0, g = a.a.match(y) || [], r = {}, n = 0, z = g.length; n < z; ++n) {
							 | 
						||
| 
								 | 
							
								        var f = g[n],
							 | 
						||
| 
								 | 
							
								            b = r[f],
							 | 
						||
| 
								 | 
							
								            o = void 0,
							 | 
						||
| 
								 | 
							
								            c;
							 | 
						||
| 
								 | 
							
								        if (typeof b === "string") c = !1;
							 | 
						||
| 
								 | 
							
								        else {
							 | 
						||
| 
								 | 
							
								          var i = h[f.charAt(0)];
							 | 
						||
| 
								 | 
							
								          if (i) o = f.match(i[1]), b = i[0];
							 | 
						||
| 
								 | 
							
								          else {
							 | 
						||
| 
								 | 
							
								            for (c = 0; c < t; ++c) if (i = m[c], o = f.match(i[1])) {
							 | 
						||
| 
								 | 
							
								              b = i[0];
							 | 
						||
| 
								 | 
							
								              break
							 | 
						||
| 
								 | 
							
								            }
							 | 
						||
| 
								 | 
							
								            o || (b = "pln")
							 | 
						||
| 
								 | 
							
								          }
							 | 
						||
| 
								 | 
							
								          if ((c = b.length >= 5 && "lang-" === b.substring(0, 5)) && !(o && typeof o[1] === "string")) c = !1, b = "src";
							 | 
						||
| 
								 | 
							
								          c || (r[f] = b)
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        i = d;
							 | 
						||
| 
								 | 
							
								        d += f.length;
							 | 
						||
| 
								 | 
							
								        if (c) {
							 | 
						||
| 
								 | 
							
								          c = o[1];
							 | 
						||
| 
								 | 
							
								          var j = f.indexOf(c),
							 | 
						||
| 
								 | 
							
								              k = j + c.length;
							 | 
						||
| 
								 | 
							
								          o[2] && (k = f.length - o[2].length, j = k - c.length);
							 | 
						||
| 
								 | 
							
								          b = b.substring(5);
							 | 
						||
| 
								 | 
							
								          B(l + i, f.substring(0, j), e, p);
							 | 
						||
| 
								 | 
							
								          B(l + i + j, c, C(b, c), p);
							 | 
						||
| 
								 | 
							
								          B(l + i + k, f.substring(k), e, p)
							 | 
						||
| 
								 | 
							
								        } else p.push(l + i, b)
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      a.e = p
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    var h = {},
							 | 
						||
| 
								 | 
							
								        y;
							 | 
						||
| 
								 | 
							
								    (function() {
							 | 
						||
| 
								 | 
							
								      for (var e = a.concat(m), l = [], p = {}, d = 0, g = e.length; d < g; ++d) {
							 | 
						||
| 
								 | 
							
								        var r = e[d],
							 | 
						||
| 
								 | 
							
								            n = r[3];
							 | 
						||
| 
								 | 
							
								        if (n) for (var k = n.length; --k >= 0;) h[n.charAt(k)] = r;
							 | 
						||
| 
								 | 
							
								        r = r[1];
							 | 
						||
| 
								 | 
							
								        n = "" + r;
							 | 
						||
| 
								 | 
							
								        p.hasOwnProperty(n) || (l.push(r), p[n] = q)
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      l.push(/[\S\s]/);
							 | 
						||
| 
								 | 
							
								      y = L(l)
							 | 
						||
| 
								 | 
							
								    })();
							 | 
						||
| 
								 | 
							
								    var t = m.length;
							 | 
						||
| 
								 | 
							
								    return e
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  function u(a) {
							 | 
						||
| 
								 | 
							
								    var m = [],
							 | 
						||
| 
								 | 
							
								        e = [];
							 | 
						||
| 
								 | 
							
								    a.tripleQuotedStrings ? m.push(["str", /^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/, q, "'\""]) : a.multiLineStrings ? m.push(["str", /^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/, q, "'\"`"]) : m.push(["str", /^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/, q, "\"'"]);
							 | 
						||
| 
								 | 
							
								    a.verbatimStrings && e.push(["str", /^@"(?:[^"]|"")*(?:"|$)/, q]);
							 | 
						||
| 
								 | 
							
								    var h = a.hashComments;
							 | 
						||
| 
								 | 
							
								    h && (a.cStyleComments ? (h > 1 ? m.push(["com", /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, q, "#"]) : m.push(["com", /^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/, q, "#"]), e.push(["str", /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/, q])) : m.push(["com", /^#[^\n\r]*/, q, "#"]));
							 | 
						||
| 
								 | 
							
								    a.cStyleComments && (e.push(["com", /^\/\/[^\n\r]*/, q]), e.push(["com", /^\/\*[\S\s]*?(?:\*\/|$)/, q]));
							 | 
						||
| 
								 | 
							
								    a.regexLiterals && e.push(["lang-regex", /^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);
							 | 
						||
| 
								 | 
							
								    (h = a.types) && e.push(["typ", h]);
							 | 
						||
| 
								 | 
							
								    a = ("" + a.keywords).replace(/^ | $/g, "");
							 | 
						||
| 
								 | 
							
								    a.length && e.push(["kwd", RegExp("^(?:" + a.replace(/[\s,]+/g, "|") + ")\\b"), q]);
							 | 
						||
| 
								 | 
							
								    m.push(["pln", /^\s+/, q, " \r\n\t\xa0"]);
							 | 
						||
| 
								 | 
							
								    e.push(["lit", /^@[$_a-z][\w$@]*/i, q], ["typ", /^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/, q], ["pln", /^[$_a-z][\w$@]*/i, q], ["lit", /^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i, q, "0123456789"], ["pln", /^\\[\S\s]?/, q], ["pun", /^.[^\s\w"-$'./@\\`]*/, q]);
							 | 
						||
| 
								 | 
							
								    return x(m, e)
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  function D(a, m) {
							 | 
						||
| 
								 | 
							
								    function e(a) {
							 | 
						||
| 
								 | 
							
								      switch (a.nodeType) {
							 | 
						||
| 
								 | 
							
								      case 1:
							 | 
						||
| 
								 | 
							
								        if (k.test(a.className)) break;
							 | 
						||
| 
								 | 
							
								        if ("BR" === a.nodeName) h(a), a.parentNode && a.parentNode.removeChild(a);
							 | 
						||
| 
								 | 
							
								        else for (a = a.firstChild; a; a = a.nextSibling) e(a);
							 | 
						||
| 
								 | 
							
								        break;
							 | 
						||
| 
								 | 
							
								      case 3:
							 | 
						||
| 
								 | 
							
								      case 4:
							 | 
						||
| 
								 | 
							
								        if (p) {
							 | 
						||
| 
								 | 
							
								          var b = a.nodeValue,
							 | 
						||
| 
								 | 
							
								              d = b.match(t);
							 | 
						||
| 
								 | 
							
								          if (d) {
							 | 
						||
| 
								 | 
							
								            var c = b.substring(0, d.index);
							 | 
						||
| 
								 | 
							
								            a.nodeValue = c;
							 | 
						||
| 
								 | 
							
								            (b = b.substring(d.index + d[0].length)) && a.parentNode.insertBefore(s.createTextNode(b), a.nextSibling);
							 | 
						||
| 
								 | 
							
								            h(a);
							 | 
						||
| 
								 | 
							
								            c || a.parentNode.removeChild(a)
							 | 
						||
| 
								 | 
							
								          }
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    function h(a) {
							 | 
						||
| 
								 | 
							
								      function b(a, d) {
							 | 
						||
| 
								 | 
							
								        var e = d ? a.cloneNode(!1) : a,
							 | 
						||
| 
								 | 
							
								            f = a.parentNode;
							 | 
						||
| 
								 | 
							
								        if (f) {
							 | 
						||
| 
								 | 
							
								          var f = b(f, 1),
							 | 
						||
| 
								 | 
							
								              g = a.nextSibling;
							 | 
						||
| 
								 | 
							
								          f.appendChild(e);
							 | 
						||
| 
								 | 
							
								          for (var h = g; h; h = g) g = h.nextSibling, f.appendChild(h)
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        return e
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      for (; !a.nextSibling;) if (a = a.parentNode, !a) return;
							 | 
						||
| 
								 | 
							
								      for (var a = b(a.nextSibling, 0), e;
							 | 
						||
| 
								 | 
							
								      (e = a.parentNode) && e.nodeType === 1;) a = e;
							 | 
						||
| 
								 | 
							
								      d.push(a)
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    var k = /(?:^|\s)nocode(?:\s|$)/,
							 | 
						||
| 
								 | 
							
								        t = /\r\n?|\n/,
							 | 
						||
| 
								 | 
							
								        s = a.ownerDocument,
							 | 
						||
| 
								 | 
							
								        l;
							 | 
						||
| 
								 | 
							
								    a.currentStyle ? l = a.currentStyle.whiteSpace : window.getComputedStyle && (l = s.defaultView.getComputedStyle(a, q).getPropertyValue("white-space"));
							 | 
						||
| 
								 | 
							
								    var p = l && "pre" === l.substring(0, 3);
							 | 
						||
| 
								 | 
							
								    for (l = s.createElement("LI"); a.firstChild;) l.appendChild(a.firstChild);
							 | 
						||
| 
								 | 
							
								    for (var d = [l], g = 0; g < d.length; ++g) e(d[g]);
							 | 
						||
| 
								 | 
							
								    m === (m | 0) && d[0].setAttribute("value", m);
							 | 
						||
| 
								 | 
							
								    var r = s.createElement("OL");
							 | 
						||
| 
								 | 
							
								    r.className = "linenums";
							 | 
						||
| 
								 | 
							
								    for (var n = Math.max(0, m - 1 | 0) || 0, g = 0, z = d.length; g < z; ++g) l = d[g], l.className = "L" + (g + n) % 10, l.firstChild || l.appendChild(s.createTextNode("\xa0")), r.appendChild(l);
							 | 
						||
| 
								 | 
							
								    a.appendChild(r)
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  function k(a, m) {
							 | 
						||
| 
								 | 
							
								    for (var e = m.length; --e >= 0;) {
							 | 
						||
| 
								 | 
							
								      var h = m[e];
							 | 
						||
| 
								 | 
							
								      A.hasOwnProperty(h) ? window.console && console.warn("cannot override language handler %s", h) : A[h] = a
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  function C(a, m) {
							 | 
						||
| 
								 | 
							
								    if (!a || !A.hasOwnProperty(a)) a = /^\s*</.test(m) ? "default-markup" : "default-code";
							 | 
						||
| 
								 | 
							
								    return A[a]
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  function E(a) {
							 | 
						||
| 
								 | 
							
								    var m =
							 | 
						||
| 
								 | 
							
								    a.g;
							 | 
						||
| 
								 | 
							
								    try {
							 | 
						||
| 
								 | 
							
								      var e = M(a.h),
							 | 
						||
| 
								 | 
							
								          h = e.a;
							 | 
						||
| 
								 | 
							
								      a.a = h;
							 | 
						||
| 
								 | 
							
								      a.c = e.c;
							 | 
						||
| 
								 | 
							
								      a.d = 0;
							 | 
						||
| 
								 | 
							
								      C(m, h)(a);
							 | 
						||
| 
								 | 
							
								      var k = /\bMSIE\b/.test(navigator.userAgent),
							 | 
						||
| 
								 | 
							
								          m = /\n/g,
							 | 
						||
| 
								 | 
							
								          t = a.a,
							 | 
						||
| 
								 | 
							
								          s = t.length,
							 | 
						||
| 
								 | 
							
								          e = 0,
							 | 
						||
| 
								 | 
							
								          l = a.c,
							 | 
						||
| 
								 | 
							
								          p = l.length,
							 | 
						||
| 
								 | 
							
								          h = 0,
							 | 
						||
| 
								 | 
							
								          d = a.e,
							 | 
						||
| 
								 | 
							
								          g = d.length,
							 | 
						||
| 
								 | 
							
								          a = 0;
							 | 
						||
| 
								 | 
							
								      d[g] = s;
							 | 
						||
| 
								 | 
							
								      var r, n;
							 | 
						||
| 
								 | 
							
								      for (n = r = 0; n < g;) d[n] !== d[n + 2] ? (d[r++] = d[n++], d[r++] = d[n++]) : n += 2;
							 | 
						||
| 
								 | 
							
								      g = r;
							 | 
						||
| 
								 | 
							
								      for (n = r = 0; n < g;) {
							 | 
						||
| 
								 | 
							
								        for (var z = d[n], f = d[n + 1], b = n + 2; b + 2 <= g && d[b + 1] === f;) b += 2;
							 | 
						||
| 
								 | 
							
								        d[r++] = z;
							 | 
						||
| 
								 | 
							
								        d[r++] = f;
							 | 
						||
| 
								 | 
							
								        n = b
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      for (d.length = r; h < p;) {
							 | 
						||
| 
								 | 
							
								        var o = l[h + 2] || s,
							 | 
						||
| 
								 | 
							
								            c = d[a + 2] || s,
							 | 
						||
| 
								 | 
							
								            b = Math.min(o, c),
							 | 
						||
| 
								 | 
							
								            i = l[h + 1],
							 | 
						||
| 
								 | 
							
								            j;
							 | 
						||
| 
								 | 
							
								        if (i.nodeType !== 1 && (j = t.substring(e, b))) {
							 | 
						||
| 
								 | 
							
								          k && (j = j.replace(m, "\r"));
							 | 
						||
| 
								 | 
							
								          i.nodeValue =
							 | 
						||
| 
								 | 
							
								          j;
							 | 
						||
| 
								 | 
							
								          var u = i.ownerDocument,
							 | 
						||
| 
								 | 
							
								              v = u.createElement("SPAN");
							 | 
						||
| 
								 | 
							
								          v.className = d[a + 1];
							 | 
						||
| 
								 | 
							
								          var x = i.parentNode;
							 | 
						||
| 
								 | 
							
								          x.replaceChild(v, i);
							 | 
						||
| 
								 | 
							
								          v.appendChild(i);
							 | 
						||
| 
								 | 
							
								          e < o && (l[h + 1] = i = u.createTextNode(t.substring(b, o)), x.insertBefore(i, v.nextSibling))
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								        e = b;
							 | 
						||
| 
								 | 
							
								        e >= o && (h += 2);
							 | 
						||
| 
								 | 
							
								        e >= c && (a += 2)
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    } catch (w) {
							 | 
						||
| 
								 | 
							
								      "console" in window && console.log(w && w.stack ? w.stack : w)
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								  var v = ["break,continue,do,else,for,if,return,while"],
							 | 
						||
| 
								 | 
							
								      w = [
							 | 
						||
| 
								 | 
							
								      [v, "auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],
							 | 
						||
| 
								 | 
							
								      F = [w, "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],
							 | 
						||
| 
								 | 
							
								      G = [w, "abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
							 | 
						||
| 
								 | 
							
								      H = [G, "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],
							 | 
						||
| 
								 | 
							
								      w = [w, "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],
							 | 
						||
| 
								 | 
							
								      I = [v, "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
							 | 
						||
| 
								 | 
							
								      J = [v, "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],
							 | 
						||
| 
								 | 
							
								      v = [v, "case,done,elif,esac,eval,fi,function,in,local,set,then,until"],
							 | 
						||
| 
								 | 
							
								      K = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,
							 | 
						||
| 
								 | 
							
								      N = /\S/,
							 | 
						||
| 
								 | 
							
								      O = u({
							 | 
						||
| 
								 | 
							
								      keywords: [F, H, w, "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END" + I, J, v],
							 | 
						||
| 
								 | 
							
								      hashComments: !0,
							 | 
						||
| 
								 | 
							
								      cStyleComments: !0,
							 | 
						||
| 
								 | 
							
								      multiLineStrings: !0,
							 | 
						||
| 
								 | 
							
								      regexLiterals: !0
							 | 
						||
| 
								 | 
							
								    }),
							 | 
						||
| 
								 | 
							
								      A = {};
							 | 
						||
| 
								 | 
							
								  k(O, ["default-code"]);
							 | 
						||
| 
								 | 
							
								  k(x([], [
							 | 
						||
| 
								 | 
							
								    ["pln", /^[^<?]+/],
							 | 
						||
| 
								 | 
							
								    ["dec", /^<!\w[^>]*(?:>|$)/],
							 | 
						||
| 
								 | 
							
								    ["com", /^<\!--[\S\s]*?(?:--\>|$)/],
							 | 
						||
| 
								 | 
							
								    ["lang-", /^<\?([\S\s]+?)(?:\?>|$)/],
							 | 
						||
| 
								 | 
							
								    ["lang-", /^<%([\S\s]+?)(?:%>|$)/],
							 | 
						||
| 
								 | 
							
								    ["pun", /^(?:<[%?]|[%?]>)/],
							 | 
						||
| 
								 | 
							
								    ["lang-", /^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],
							 | 
						||
| 
								 | 
							
								    ["lang-js", /^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],
							 | 
						||
| 
								 | 
							
								    ["lang-css", /^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],
							 | 
						||
| 
								 | 
							
								    ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i]
							 | 
						||
| 
								 | 
							
								  ]), ["default-markup", "htm", "html", "mxml", "xhtml", "xml", "xsl"]);
							 | 
						||
| 
								 | 
							
								  k(x([
							 | 
						||
| 
								 | 
							
								    ["pln", /^\s+/, q, " \t\r\n"],
							 | 
						||
| 
								 | 
							
								    ["atv", /^(?:"[^"]*"?|'[^']*'?)/, q, "\"'"]
							 | 
						||
| 
								 | 
							
								  ], [
							 | 
						||
| 
								 | 
							
								    ["tag", /^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],
							 | 
						||
| 
								 | 
							
								    ["atn", /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],
							 | 
						||
| 
								 | 
							
								    ["lang-uq.val", /^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],
							 | 
						||
| 
								 | 
							
								    ["pun", /^[/<->]+/],
							 | 
						||
| 
								 | 
							
								    ["lang-js", /^on\w+\s*=\s*"([^"]+)"/i],
							 | 
						||
| 
								 | 
							
								    ["lang-js", /^on\w+\s*=\s*'([^']+)'/i],
							 | 
						||
| 
								 | 
							
								    ["lang-js", /^on\w+\s*=\s*([^\s"'>]+)/i],
							 | 
						||
| 
								 | 
							
								    ["lang-css", /^style\s*=\s*"([^"]+)"/i],
							 | 
						||
| 
								 | 
							
								    ["lang-css", /^style\s*=\s*'([^']+)'/i],
							 | 
						||
| 
								 | 
							
								    ["lang-css", /^style\s*=\s*([^\s"'>]+)/i]
							 | 
						||
| 
								 | 
							
								  ]), ["in.tag"]);
							 | 
						||
| 
								 | 
							
								  k(x([], [
							 | 
						||
| 
								 | 
							
								    ["atv", /^[\S\s]+/]
							 | 
						||
| 
								 | 
							
								  ]), ["uq.val"]);
							 | 
						||
| 
								 | 
							
								  k(u({
							 | 
						||
| 
								 | 
							
								    keywords: F,
							 | 
						||
| 
								 | 
							
								    hashComments: !0,
							 | 
						||
| 
								 | 
							
								    cStyleComments: !0,
							 | 
						||
| 
								 | 
							
								    types: K
							 | 
						||
| 
								 | 
							
								  }), ["c", "cc", "cpp", "cxx", "cyc", "m"]);
							 | 
						||
| 
								 | 
							
								  k(u({
							 | 
						||
| 
								 | 
							
								    keywords: "null,true,false"
							 | 
						||
| 
								 | 
							
								  }), ["json"]);
							 | 
						||
| 
								 | 
							
								  k(u({
							 | 
						||
| 
								 | 
							
								    keywords: H,
							 | 
						||
| 
								 | 
							
								    hashComments: !0,
							 | 
						||
| 
								 | 
							
								    cStyleComments: !0,
							 | 
						||
| 
								 | 
							
								    verbatimStrings: !0,
							 | 
						||
| 
								 | 
							
								    types: K
							 | 
						||
| 
								 | 
							
								  }), ["cs"]);
							 | 
						||
| 
								 | 
							
								  k(u({
							 | 
						||
| 
								 | 
							
								    keywords: G,
							 | 
						||
| 
								 | 
							
								    cStyleComments: !0
							 | 
						||
| 
								 | 
							
								  }), ["java"]);
							 | 
						||
| 
								 | 
							
								  k(u({
							 | 
						||
| 
								 | 
							
								    keywords: v,
							 | 
						||
| 
								 | 
							
								    hashComments: !0,
							 | 
						||
| 
								 | 
							
								    multiLineStrings: !0
							 | 
						||
| 
								 | 
							
								  }), ["bsh", "csh", "sh"]);
							 | 
						||
| 
								 | 
							
								  k(u({
							 | 
						||
| 
								 | 
							
								    keywords: I,
							 | 
						||
| 
								 | 
							
								    hashComments: !0,
							 | 
						||
| 
								 | 
							
								    multiLineStrings: !0,
							 | 
						||
| 
								 | 
							
								    tripleQuotedStrings: !0
							 | 
						||
| 
								 | 
							
								  }), ["cv", "py"]);
							 | 
						||
| 
								 | 
							
								  k(u({
							 | 
						||
| 
								 | 
							
								    keywords: "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",
							 | 
						||
| 
								 | 
							
								    hashComments: !0,
							 | 
						||
| 
								 | 
							
								    multiLineStrings: !0,
							 | 
						||
| 
								 | 
							
								    regexLiterals: !0
							 | 
						||
| 
								 | 
							
								  }), ["perl", "pl", "pm"]);
							 | 
						||
| 
								 | 
							
								  k(u({
							 | 
						||
| 
								 | 
							
								    keywords: J,
							 | 
						||
| 
								 | 
							
								    hashComments: !0,
							 | 
						||
| 
								 | 
							
								    multiLineStrings: !0,
							 | 
						||
| 
								 | 
							
								    regexLiterals: !0
							 | 
						||
| 
								 | 
							
								  }), ["rb"]);
							 | 
						||
| 
								 | 
							
								  k(u({
							 | 
						||
| 
								 | 
							
								    keywords: w,
							 | 
						||
| 
								 | 
							
								    cStyleComments: !0,
							 | 
						||
| 
								 | 
							
								    regexLiterals: !0
							 | 
						||
| 
								 | 
							
								  }), ["js"]);
							 | 
						||
| 
								 | 
							
								  k(u({
							 | 
						||
| 
								 | 
							
								    keywords: "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
							 | 
						||
| 
								 | 
							
								    hashComments: 3,
							 | 
						||
| 
								 | 
							
								    cStyleComments: !0,
							 | 
						||
| 
								 | 
							
								    multilineStrings: !0,
							 | 
						||
| 
								 | 
							
								    tripleQuotedStrings: !0,
							 | 
						||
| 
								 | 
							
								    regexLiterals: !0
							 | 
						||
| 
								 | 
							
								  }), ["coffee"]);
							 | 
						||
| 
								 | 
							
								  k(x([], [
							 | 
						||
| 
								 | 
							
								    ["str", /^[\S\s]+/]
							 | 
						||
| 
								 | 
							
								  ]), ["regex"]);
							 | 
						||
| 
								 | 
							
								  window.prettyPrintOne = function(a, m, e) {
							 | 
						||
| 
								 | 
							
								    var h = document.createElement("PRE");
							 | 
						||
| 
								 | 
							
								    h.innerHTML = a;
							 | 
						||
| 
								 | 
							
								    e && D(h, e);
							 | 
						||
| 
								 | 
							
								    E({
							 | 
						||
| 
								 | 
							
								      g: m,
							 | 
						||
| 
								 | 
							
								      i: e,
							 | 
						||
| 
								 | 
							
								      h: h
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								    return h.innerHTML
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  window.prettyPrint = function(a) {
							 | 
						||
| 
								 | 
							
								    function m() {
							 | 
						||
| 
								 | 
							
								      for (var e = window.PR_SHOULD_USE_CONTINUATION ? l.now() + 250 : Infinity; p < h.length && l.now() < e; p++) {
							 | 
						||
| 
								 | 
							
								        var n = h[p],
							 | 
						||
| 
								 | 
							
								            k = n.className;
							 | 
						||
| 
								 | 
							
								        if (k.indexOf("prettyprint") >= 0) {
							 | 
						||
| 
								 | 
							
								          var k = k.match(g),
							 | 
						||
| 
								 | 
							
								              f, b;
							 | 
						||
| 
								 | 
							
								          if (b = !k) {
							 | 
						||
| 
								 | 
							
								            b = n;
							 | 
						||
| 
								 | 
							
								            for (var o = void 0, c = b.firstChild; c; c = c.nextSibling) var i = c.nodeType,
							 | 
						||
| 
								 | 
							
								                o = i === 1 ? o ? b : c : i === 3 ? N.test(c.nodeValue) ? b : o : o;
							 | 
						||
| 
								 | 
							
								            b = (f = o === b ? void 0 : o) && "CODE" === f.tagName
							 | 
						||
| 
								 | 
							
								          }
							 | 
						||
| 
								 | 
							
								          b && (k = f.className.match(g));
							 | 
						||
| 
								 | 
							
								          k && (k = k[1]);
							 | 
						||
| 
								 | 
							
								          b = !1;
							 | 
						||
| 
								 | 
							
								          for (o = n.parentNode; o; o = o.parentNode) if ((o.tagName === "pre" || o.tagName === "code" || o.tagName === "xmp") && o.className && o.className.indexOf("prettyprint") >= 0) {
							 | 
						||
| 
								 | 
							
								            b = !0;
							 | 
						||
| 
								 | 
							
								            break
							 | 
						||
| 
								 | 
							
								          }
							 | 
						||
| 
								 | 
							
								          b || ((b = (b = n.className.match(/\blinenums\b(?::(\d+))?/)) ? b[1] && b[1].length ? +b[1] : !0 : !1) && D(n, b), d = {
							 | 
						||
| 
								 | 
							
								            g: k,
							 | 
						||
| 
								 | 
							
								            h: n,
							 | 
						||
| 
								 | 
							
								            i: b
							 | 
						||
| 
								 | 
							
								          }, E(d))
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								      p < h.length ? setTimeout(m, 250) : a && a()
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								    for (var e = [document.getElementsByTagName("pre"), document.getElementsByTagName("code"), document.getElementsByTagName("xmp")], h = [], k = 0; k < e.length; ++k) for (var t = 0, s = e[k].length; t < s; ++t) h.push(e[k][t]);
							 | 
						||
| 
								 | 
							
								    var e = q,
							 | 
						||
| 
								 | 
							
								        l = Date;
							 | 
						||
| 
								 | 
							
								    l.now || (l = {
							 | 
						||
| 
								 | 
							
								      now: function() {
							 | 
						||
| 
								 | 
							
								        return +new Date
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								    var p = 0,
							 | 
						||
| 
								 | 
							
								        d, g = /\blang(?:uage)?-([\w.]+)(?!\S)/;
							 | 
						||
| 
								 | 
							
								    m()
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  window.PR = {
							 | 
						||
| 
								 | 
							
								    createSimpleLexer: x,
							 | 
						||
| 
								 | 
							
								    registerLangHandler: k,
							 | 
						||
| 
								 | 
							
								    sourceDecorator: u,
							 | 
						||
| 
								 | 
							
								    PR_ATTRIB_NAME: "atn",
							 | 
						||
| 
								 | 
							
								    PR_ATTRIB_VALUE: "atv",
							 | 
						||
| 
								 | 
							
								    PR_COMMENT: "com",
							 | 
						||
| 
								 | 
							
								    PR_DECLARATION: "dec",
							 | 
						||
| 
								 | 
							
								    PR_KEYWORD: "kwd",
							 | 
						||
| 
								 | 
							
								    PR_LITERAL: "lit",
							 | 
						||
| 
								 | 
							
								    PR_NOCODE: "nocode",
							 | 
						||
| 
								 | 
							
								    PR_PLAIN: "pln",
							 | 
						||
| 
								 | 
							
								    PR_PUNCTUATION: "pun",
							 | 
						||
| 
								 | 
							
								    PR_SOURCE: "src",
							 | 
						||
| 
								 | 
							
								    PR_STRING: "str",
							 | 
						||
| 
								 | 
							
								    PR_TAG: "tag",
							 | 
						||
| 
								 | 
							
								    PR_TYPE: "typ"
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								})();
							 |