You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@commons.apache.org by ma...@apache.org on 2017/11/23 09:50:56 UTC

svn commit: r1021243 [19/30] - in /websites/production/commons/content/proper/commons-daemon: ./ apidocs/ apidocs/org/apache/commons/daemon/ apidocs/org/apache/commons/daemon/class-use/ apidocs/org/apache/commons/daemon/support/ apidocs/org/apache/comm...

Modified: websites/production/commons/content/proper/commons-daemon/js/prettify.js
==============================================================================
--- websites/production/commons/content/proper/commons-daemon/js/prettify.js (original)
+++ websites/production/commons/content/proper/commons-daemon/js/prettify.js Thu Nov 23 09:50:54 2017
@@ -1,640 +1,640 @@
-/**
- *
- * Copyright (C) 2006 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-function H() {
-    var x = navigator && navigator.userAgent
-            && /\bMSIE 6\./.test(navigator.userAgent);
-    H = function() {
-        return x
-    };
-    return x
-}
-(function() {
-    function x(b) {
-        b = b.split(/ /g);
-        var a = {};
-        for ( var c = b.length; --c >= 0;) {
-            var d = b[c];
-            if (d)
-                a[d] = null
-        }
-        return a
-    }
-    var y = "break continue do else for if return while ", U = y
-            + "auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile ", D = U
-            + "catch class delete false import new operator private protected public this throw true try ", I = D
-            + "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 typeof using virtual wchar_t where ", J = D
-            + "boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ", V = J
-            + "as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ", K = D
-            + "debugger eval export function get null set undefined var with Infinity NaN ", L = "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 ", M = y
-            + "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 ", N = y
-            + "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 ", O = y
-            + "case done elif esac eval fi function in local set then until ", W = I
-            + V + K + L + M + N + O;
-    function X(b) {
-        return b >= "a" && b <= "z" || b >= "A" && b <= "Z"
-    }
-    function u(b, a, c, d) {
-        b.unshift(c, d || 0);
-        try {
-            a.splice.apply(a, b)
-        } finally {
-            b.splice(0, 2)
-        }
-    }
-    var Y = (function() {
-        var b = [ "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=", "&=",
-                "(", "*", "*=", "+=", ",", "-=", "->", "/", "/=", ":", "::",
-                ";", "<", "<<", "<<=", "<=", "=", "==", "===", ">", ">=", ">>",
-                ">>=", ">>>", ">>>=", "?", "@", "[", "^", "^=", "^^", "^^=",
-                "{", "|", "|=", "||", "||=", "~", "break", "case", "continue",
-                "delete", "do", "else", "finally", "instanceof", "return",
-                "throw", "try", "typeof" ], a = "(?:(?:(?:^|[^0-9.])\\.{1,3})|(?:(?:^|[^\\+])\\+)|(?:(?:^|[^\\-])-)";
-        for ( var c = 0; c < b.length; ++c) {
-            var d = b[c];
-            a += X(d.charAt(0)) ? "|\\b" + d : "|"
-                    + d.replace(/([^=<>:&])/g, "\\$1")
-        }
-        a += "|^)\\s*$";
-        return new RegExp(a)
-    })(), P = /&/g, Q = /</g, R = />/g, Z = /\"/g;
-    function $(b) {
-        return b.replace(P, "&amp;").replace(Q, "&lt;").replace(R, "&gt;")
-                .replace(Z, "&quot;")
-    }
-    function E(b) {
-        return b.replace(P, "&amp;").replace(Q, "&lt;").replace(R, "&gt;")
-    }
-    var aa = /&lt;/g, ba = /&gt;/g, ca = /&apos;/g, da = /&quot;/g, ea = /&amp;/g, fa = /&nbsp;/g;
-    function ga(b) {
-        var a = b.indexOf("&");
-        if (a < 0)
-            return b;
-        for (--a; (a = b.indexOf("&#", a + 1)) >= 0;) {
-            var c = b.indexOf(";", a);
-            if (c >= 0) {
-                var d = b.substring(a + 3, c), g = 10;
-                if (d && d.charAt(0) === "x") {
-                    d = d.substring(1);
-                    g = 16
-                }
-                var e = parseInt(d, g);
-                if (!isNaN(e))
-                    b = b.substring(0, a) + String.fromCharCode(e)
-                            + b.substring(c + 1)
-            }
-        }
-        return b.replace(aa, "<").replace(ba, ">").replace(ca, "'").replace(da,
-                '"').replace(ea, "&").replace(fa, " ")
-    }
-    function S(b) {
-        return "XMP" === b.tagName
-    }
-    function z(b, a) {
-        switch (b.nodeType) {
-        case 1:
-            var c = b.tagName.toLowerCase();
-            a.push("<", c);
-            for ( var d = 0; d < b.attributes.length; ++d) {
-                var g = b.attributes[d];
-                if (!g.specified)
-                    continue;
-                a.push(" ");
-                z(g, a)
-            }
-            a.push(">");
-            for ( var e = b.firstChild; e; e = e.nextSibling)
-                z(e, a);
-            if (b.firstChild || !/^(?:br|link|img)$/.test(c))
-                a.push("</", c, ">");
-            break;
-        case 2:
-            a.push(b.name.toLowerCase(), '="', $(b.value), '"');
-            break;
-        case 3:
-        case 4:
-            a.push(E(b.nodeValue));
-            break
-        }
-    }
-    var F = null;
-    function ha(b) {
-        if (null === F) {
-            var a = document.createElement("pre");
-            a
-                    .appendChild(document
-                            .createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
-            F = !/</.test(a.innerHTML)
-        }
-        if (F) {
-            var c = b.innerHTML;
-            if (S(b))
-                c = E(c);
-            return c
-        }
-        var d = [];
-        for ( var g = b.firstChild; g; g = g.nextSibling)
-            z(g, d);
-        return d.join("")
-    }
-    function ia(b) {
-        var a = 0;
-        return function(c) {
-            var d = null, g = 0;
-            for ( var e = 0, h = c.length; e < h; ++e) {
-                var f = c.charAt(e);
-                switch (f) {
-                case "\t":
-                    if (!d)
-                        d = [];
-                    d.push(c.substring(g, e));
-                    var i = b - a % b;
-                    a += i;
-                    for (; i >= 0; i -= "                ".length)
-                        d.push("                ".substring(0, i));
-                    g = e + 1;
-                    break;
-                case "\n":
-                    a = 0;
-                    break;
-                default:
-                    ++a
-                }
-            }
-            if (!d)
-                return c;
-            d.push(c.substring(g));
-            return d.join("")
-        }
-    }
-    var ja = /(?:[^<]+|<!--[\s\S]*?--\>|<!\[CDATA\[([\s\S]*?)\]\]>|<\/?[a-zA-Z][^>]*>|<)/g, ka = /^<!--/, la = /^<\[CDATA\[/, ma = /^<br\b/i;
-    function na(b) {
-        var a = b.match(ja), c = [], d = 0, g = [];
-        if (a)
-            for ( var e = 0, h = a.length; e < h; ++e) {
-                var f = a[e];
-                if (f.length > 1 && f.charAt(0) === "<") {
-                    if (ka.test(f))
-                        continue;
-                    if (la.test(f)) {
-                        c.push(f.substring(9, f.length - 3));
-                        d += f.length - 12
-                    } else if (ma.test(f)) {
-                        c.push("\n");
-                        ++d
-                    } else
-                        g.push(d, f)
-                } else {
-                    var i = ga(f);
-                    c.push(i);
-                    d += i.length
-                }
-            }
-        return {
-            source : c.join(""),
-            tags : g
-        }
-    }
-    function v(b, a) {
-        var c = {};
-        (function() {
-            var g = b.concat(a);
-            for ( var e = g.length; --e >= 0;) {
-                var h = g[e], f = h[3];
-                if (f)
-                    for ( var i = f.length; --i >= 0;)
-                        c[f.charAt(i)] = h
-            }
-        })();
-        var d = a.length;
-        return function(g, e) {
-            e = e || 0;
-            var h = [ e, "pln" ], f = "", i = 0, j = g;
-            while (j.length) {
-                var o, m = null, k, l = c[j.charAt(0)];
-                if (l) {
-                    k = j.match(l[1]);
-                    m = k[0];
-                    o = l[0]
-                } else {
-                    for ( var n = 0; n < d; ++n) {
-                        l = a[n];
-                        var p = l[2];
-                        if (p && !p.test(f))
-                            continue;
-                        k = j.match(l[1]);
-                        if (k) {
-                            m = k[0];
-                            o = l[0];
-                            break
-                        }
-                    }
-                    if (!m) {
-                        o = "pln";
-                        m = j.substring(0, 1)
-                    }
-                }
-                h.push(e + i, o);
-                i += m.length;
-                j = j.substring(m.length);
-                if (o !== "com" && /\S/.test(m))
-                    f = m
-            }
-            return h
-        }
-    }
-    var oa = v(
-            [],
-            [
-                    [ "pln", /^[^<]+/, null ],
-                    [ "dec", /^<!\w[^>]*(?:>|$)/, null ],
-                    [ "com", /^<!--[\s\S]*?(?:--\>|$)/, null ],
-                    [ "src", /^<\?[\s\S]*?(?:\?>|$)/, null ],
-                    [ "src", /^<%[\s\S]*?(?:%>|$)/, null ],
-                    [
-                            "src",
-                            /^<(script|style|xmp)\b[^>]*>[\s\S]*?<\/\1\b[^>]*>/i,
-                            null ], [ "tag", /^<\/?\w[^<>]*>/, null ] ]);
-    function pa(b) {
-        var a = oa(b);
-        for ( var c = 0; c < a.length; c += 2)
-            if (a[c + 1] === "src") {
-                var d, g;
-                d = a[c];
-                g = c + 2 < a.length ? a[c + 2] : b.length;
-                var e = b.substring(d, g), h = e
-                        .match(/^(<[^>]*>)([\s\S]*)(<\/[^>]*>)$/);
-                if (h)
-                    a.splice(c, 2, d, "tag", d + h[1].length, "src", d
-                            + h[1].length + (h[2] || "").length, "tag")
-            }
-        return a
-    }
-    var qa = v( [ [ "atv", /^\'[^\']*(?:\'|$)/, null, "'" ],
-            [ "atv", /^\"[^\"]*(?:\"|$)/, null, '"' ],
-            [ "pun", /^[<>\/=]+/, null, "<>/=" ] ], [
-            [ "tag", /^[\w:\-]+/, /^</ ], [ "atv", /^[\w\-]+/, /^=/ ],
-            [ "atn", /^[\w:\-]+/, null ], [ "pln", /^\s+/, null, " \t\r\n" ] ]);
-    function ra(b, a) {
-        for ( var c = 0; c < a.length; c += 2) {
-            var d = a[c + 1];
-            if (d === "tag") {
-                var g, e;
-                g = a[c];
-                e = c + 2 < a.length ? a[c + 2] : b.length;
-                var h = b.substring(g, e), f = qa(h, g);
-                u(f, a, c, 2);
-                c += f.length - 2
-            }
-        }
-        return a
-    }
-    function r(b) {
-        var a = [], c = [];
-        if (b.tripleQuotedStrings)
-            a
-                    .push( [
-                            "str",
-                            /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
-                            null, "'\"" ]);
-        else if (b.multiLineStrings)
-            a
-                    .push( [
-                            "str",
-                            /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
-                            null, "'\"`" ]);
-        else
-            a
-                    .push( [
-                            "str",
-                            /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
-                            null, "\"'" ]);
-        c.push( [ "pln", /^(?:[^\'\"\`\/\#]+)/, null, " \r\n" ]);
-        if (b.hashComments)
-            a.push( [ "com", /^#[^\r\n]*/, null, "#" ]);
-        if (b.cStyleComments)
-            c.push( [ "com", /^\/\/[^\r\n]*/, null ]);
-        if (b.regexLiterals)
-            c
-                    .push( [
-                            "str",
-                            /^\/(?:[^\\\*\/\[]|\\[\s\S]|\[(?:[^\]\\]|\\.)*(?:\]|$))+(?:\/|$)/,
-                            Y ]);
-        if (b.cStyleComments)
-            c.push( [ "com", /^\/\*[\s\S]*?(?:\*\/|$)/, null ]);
-        var d = x(b.keywords);
-        b = null;
-        var g = v(a, c), e = v(
-                [],
-                [
-                        [ "pln", /^\s+/, null, " \r\n" ],
-                        [ "pln", /^[a-z_$@][a-z_$@0-9]*/i, null ],
-                        [ "lit", /^0x[a-f0-9]+[a-z]/i, null ],
-                        [
-                                "lit",
-                                /^(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d+)(?:e[+\-]?\d+)?[a-z]*/i,
-                                null, "123456789" ],
-                        [ "pun", /^[^\s\w\.$@]+/, null ] ]);
-        function h(f, i) {
-            for ( var j = 0; j < i.length; j += 2) {
-                var o = i[j + 1];
-                if (o === "pln") {
-                    var m, k, l, n;
-                    m = i[j];
-                    k = j + 2 < i.length ? i[j + 2] : f.length;
-                    l = f.substring(m, k);
-                    n = e(l, m);
-                    for ( var p = 0, t = n.length; p < t; p += 2) {
-                        var w = n[p + 1];
-                        if (w === "pln") {
-                            var A = n[p], B = p + 2 < t ? n[p + 2] : l.length, s = f
-                                    .substring(A, B);
-                            if (s === ".")
-                                n[p + 1] = "pun";
-                            else if (s in d)
-                                n[p + 1] = "kwd";
-                            else if (/^@?[A-Z][A-Z$]*[a-z][A-Za-z$]*$/.test(s))
-                                n[p + 1] = s.charAt(0) === "@" ? "lit" : "typ"
-                        }
-                    }
-                    u(n, i, j, 2);
-                    j += n.length - 2
-                }
-            }
-            return i
-        }
-        return function(f) {
-            var i = g(f);
-            i = h(f, i);
-            return i
-        }
-    }
-    var G = r( {
-        keywords : W,
-        hashComments : true,
-        cStyleComments : true,
-        multiLineStrings : true,
-        regexLiterals : true
-    });
-    function sa(b, a) {
-        for ( var c = 0; c < a.length; c += 2) {
-            var d = a[c + 1];
-            if (d === "src") {
-                var g, e;
-                g = a[c];
-                e = c + 2 < a.length ? a[c + 2] : b.length;
-                var h = G(b.substring(g, e));
-                for ( var f = 0, i = h.length; f < i; f += 2)
-                    h[f] += g;
-                u(h, a, c, 2);
-                c += h.length - 2
-            }
-        }
-        return a
-    }
-    function ta(b, a) {
-        var c = false;
-        for ( var d = 0; d < a.length; d += 2) {
-            var g = a[d + 1], e, h;
-            if (g === "atn") {
-                e = a[d];
-                h = d + 2 < a.length ? a[d + 2] : b.length;
-                c = /^on|^style$/i.test(b.substring(e, h))
-            } else if (g === "atv") {
-                if (c) {
-                    e = a[d];
-                    h = d + 2 < a.length ? a[d + 2] : b.length;
-                    var f = b.substring(e, h), i = f.length, j = i >= 2
-                            && /^[\"\']/.test(f)
-                            && f.charAt(0) === f.charAt(i - 1), o, m, k;
-                    if (j) {
-                        m = e + 1;
-                        k = h - 1;
-                        o = f
-                    } else {
-                        m = e + 1;
-                        k = h - 1;
-                        o = f.substring(1, f.length - 1)
-                    }
-                    var l = G(o);
-                    for ( var n = 0, p = l.length; n < p; n += 2)
-                        l[n] += m;
-                    if (j) {
-                        l.push(k, "atv");
-                        u(l, a, d + 2, 0)
-                    } else
-                        u(l, a, d, 2)
-                }
-                c = false
-            }
-        }
-        return a
-    }
-    function ua(b) {
-        var a = pa(b);
-        a = ra(b, a);
-        a = sa(b, a);
-        a = ta(b, a);
-        return a
-    }
-    function va(b, a, c) {
-        var d = [], g = 0, e = null, h = null, f = 0, i = 0, j = ia(8);
-        function o(k) {
-            if (k > g) {
-                if (e && e !== h) {
-                    d.push("</span>");
-                    e = null
-                }
-                if (!e && h) {
-                    e = h;
-                    d.push('<span class="', e, '">')
-                }
-                var l = E(j(b.substring(g, k))).replace(/(\r\n?|\n| ) /g,
-                        "$1&nbsp;").replace(/\r\n?|\n/g, "<br />");
-                d.push(l);
-                g = k
-            }
-        }
-        while (true) {
-            var m;
-            m = f < a.length ? (i < c.length ? a[f] <= c[i] : true) : false;
-            if (m) {
-                o(a[f]);
-                if (e) {
-                    d.push("</span>");
-                    e = null
-                }
-                d.push(a[f + 1]);
-                f += 2
-            } else if (i < c.length) {
-                o(c[i]);
-                h = c[i + 1];
-                i += 2
-            } else
-                break
-        }
-        o(b.length);
-        if (e)
-            d.push("</span>");
-        return d.join("")
-    }
-    var C = {};
-    function q(b, a) {
-        for ( var c = a.length; --c >= 0;) {
-            var d = a[c];
-            if (!C.hasOwnProperty(d))
-                C[d] = b;
-            else if ("console" in window)
-                console.log("cannot override language handler %s", d)
-        }
-    }
-    q(G, [ "default-code" ]);
-    q(ua, [ "default-markup", "html", "htm", "xhtml", "xml", "xsl" ]);
-    q(r( {
-        keywords : I,
-        hashComments : true,
-        cStyleComments : true
-    }), [ "c", "cc", "cpp", "cs", "cxx", "cyc" ]);
-    q(r( {
-        keywords : J,
-        cStyleComments : true
-    }), [ "java" ]);
-    q(r( {
-        keywords : O,
-        hashComments : true,
-        multiLineStrings : true
-    }), [ "bsh", "csh", "sh" ]);
-    q(r( {
-        keywords : M,
-        hashComments : true,
-        multiLineStrings : true,
-        tripleQuotedStrings : true
-    }), [ "cv", "py" ]);
-    q(r( {
-        keywords : L,
-        hashComments : true,
-        multiLineStrings : true,
-        regexLiterals : true
-    }), [ "perl", "pl", "pm" ]);
-    q(r( {
-        keywords : N,
-        hashComments : true,
-        multiLineStrings : true,
-        regexLiterals : true
-    }), [ "rb" ]);
-    q(r( {
-        keywords : K,
-        cStyleComments : true,
-        regexLiterals : true
-    }), [ "js" ]);
-    function T(b, a) {
-        try {
-            var c = na(b), d = c.source, g = c.tags;
-            if (!C.hasOwnProperty(a))
-                a = /^\s*</.test(d) ? "default-markup" : "default-code";
-            var e = C[a].call( {}, d);
-            return va(d, g, e)
-        } catch (h) {
-            if ("console" in window) {
-                console.log(h);
-                console.trace()
-            }
-            return b
-        }
-    }
-    function wa(b) {
-        var a = H(), c = [ document.getElementsByTagName("pre"),
-                document.getElementsByTagName("code"),
-                document.getElementsByTagName("xmp"),
-                document.getElementsByTagName("div")], d = [];
-        for ( var g = 0; g < c.length; ++g)
-            for ( var e = 0; e < c[g].length; ++e)
-                d.push(c[g][e]);
-        c = null;
-        var h = 0;
-        function f() {
-            var i = (new Date).getTime() + 250;
-            for (; h < d.length && (new Date).getTime() < i; h++) {
-                var j = d[h];
-                if (j.className && j.className.indexOf("source") >= 0) {
-                    var o = j.className.match(/\blang-(\w+)\b/);
-                    if (o)
-                        o = o[1];
-                    var m = false;
-                    for ( var k = j.parentNode; k; k = k.parentNode)
-                        if ((k.tagName === "pre" || k.tagName === "code" || k.tagName === "xmp" || k.tagName == "div")
-                                && k.className
-                                && k.className.indexOf("source") >= 0) {
-                            m = true;
-                            break
-                        }
-                    if (!m) {
-                        var l = ha(j);
-                        l = l.replace(/(?:\r\n?|\n)$/, "");
-                        var n = T(l, o);
-                        if (!S(j))
-                            j.innerHTML = n;
-                        else {
-                            var p = document.createElement("pre");
-                            for ( var t = 0; t < j.attributes.length; ++t) {
-                                var w = j.attributes[t];
-                                if (w.specified)
-                                    p.setAttribute(w.name, w.value)
-                            }
-                            p.innerHTML = n;
-                            j.parentNode.replaceChild(p, j);
-                            p = j
-                        }
-                        if (a && j.tagName === "pre") {
-                            var A = j.getElementsByTagName("br");
-                            for ( var B = A.length; --B >= 0;) {
-                                var s = A[B];
-                                s.parentNode.replaceChild(document
-                                        .createTextNode("\r\n"), s)
-                            }
-                        }
-                    }
-                }
-            }
-            if (h < d.length)
-                setTimeout(f, 250);
-            else if (b)
-                b()
-        }
-        f()
-    }
-    window.PR_normalizedHtml = z;
-    window.prettyPrintOne = T;
-    window.prettyPrint = wa;
-    window.PR = {
-        createSimpleLexer : v,
-        registerLangHandler : q,
-        sourceDecorator : r,
-        PR_ATTRIB_NAME : "atn",
-        PR_ATTRIB_VALUE : "atv",
-        PR_COMMENT : "com",
-        PR_DECLARATION : "dec",
-        PR_KEYWORD : "kwd",
-        PR_LITERAL : "lit",
-        PR_PLAIN : "pln",
-        PR_PUNCTUATION : "pun",
-        PR_SOURCE : "src",
-        PR_STRING : "str",
-        PR_TAG : "tag",
-        PR_TYPE : "typ"
-    }
-})();
+/**
+ *
+ * Copyright (C) 2006 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+function H() {
+    var x = navigator && navigator.userAgent
+            && /\bMSIE 6\./.test(navigator.userAgent);
+    H = function() {
+        return x
+    };
+    return x
+}
+(function() {
+    function x(b) {
+        b = b.split(/ /g);
+        var a = {};
+        for ( var c = b.length; --c >= 0;) {
+            var d = b[c];
+            if (d)
+                a[d] = null
+        }
+        return a
+    }
+    var y = "break continue do else for if return while ", U = y
+            + "auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile ", D = U
+            + "catch class delete false import new operator private protected public this throw true try ", I = D
+            + "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 typeof using virtual wchar_t where ", J = D
+            + "boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ", V = J
+            + "as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ", K = D
+            + "debugger eval export function get null set undefined var with Infinity NaN ", L = "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 ", M = y
+            + "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 ", N = y
+            + "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 ", O = y
+            + "case done elif esac eval fi function in local set then until ", W = I
+            + V + K + L + M + N + O;
+    function X(b) {
+        return b >= "a" && b <= "z" || b >= "A" && b <= "Z"
+    }
+    function u(b, a, c, d) {
+        b.unshift(c, d || 0);
+        try {
+            a.splice.apply(a, b)
+        } finally {
+            b.splice(0, 2)
+        }
+    }
+    var Y = (function() {
+        var b = [ "!", "!=", "!==", "#", "%", "%=", "&", "&&", "&&=", "&=",
+                "(", "*", "*=", "+=", ",", "-=", "->", "/", "/=", ":", "::",
+                ";", "<", "<<", "<<=", "<=", "=", "==", "===", ">", ">=", ">>",
+                ">>=", ">>>", ">>>=", "?", "@", "[", "^", "^=", "^^", "^^=",
+                "{", "|", "|=", "||", "||=", "~", "break", "case", "continue",
+                "delete", "do", "else", "finally", "instanceof", "return",
+                "throw", "try", "typeof" ], a = "(?:(?:(?:^|[^0-9.])\\.{1,3})|(?:(?:^|[^\\+])\\+)|(?:(?:^|[^\\-])-)";
+        for ( var c = 0; c < b.length; ++c) {
+            var d = b[c];
+            a += X(d.charAt(0)) ? "|\\b" + d : "|"
+                    + d.replace(/([^=<>:&])/g, "\\$1")
+        }
+        a += "|^)\\s*$";
+        return new RegExp(a)
+    })(), P = /&/g, Q = /</g, R = />/g, Z = /\"/g;
+    function $(b) {
+        return b.replace(P, "&amp;").replace(Q, "&lt;").replace(R, "&gt;")
+                .replace(Z, "&quot;")
+    }
+    function E(b) {
+        return b.replace(P, "&amp;").replace(Q, "&lt;").replace(R, "&gt;")
+    }
+    var aa = /&lt;/g, ba = /&gt;/g, ca = /&apos;/g, da = /&quot;/g, ea = /&amp;/g, fa = /&nbsp;/g;
+    function ga(b) {
+        var a = b.indexOf("&");
+        if (a < 0)
+            return b;
+        for (--a; (a = b.indexOf("&#", a + 1)) >= 0;) {
+            var c = b.indexOf(";", a);
+            if (c >= 0) {
+                var d = b.substring(a + 3, c), g = 10;
+                if (d && d.charAt(0) === "x") {
+                    d = d.substring(1);
+                    g = 16
+                }
+                var e = parseInt(d, g);
+                if (!isNaN(e))
+                    b = b.substring(0, a) + String.fromCharCode(e)
+                            + b.substring(c + 1)
+            }
+        }
+        return b.replace(aa, "<").replace(ba, ">").replace(ca, "'").replace(da,
+                '"').replace(ea, "&").replace(fa, " ")
+    }
+    function S(b) {
+        return "XMP" === b.tagName
+    }
+    function z(b, a) {
+        switch (b.nodeType) {
+        case 1:
+            var c = b.tagName.toLowerCase();
+            a.push("<", c);
+            for ( var d = 0; d < b.attributes.length; ++d) {
+                var g = b.attributes[d];
+                if (!g.specified)
+                    continue;
+                a.push(" ");
+                z(g, a)
+            }
+            a.push(">");
+            for ( var e = b.firstChild; e; e = e.nextSibling)
+                z(e, a);
+            if (b.firstChild || !/^(?:br|link|img)$/.test(c))
+                a.push("</", c, ">");
+            break;
+        case 2:
+            a.push(b.name.toLowerCase(), '="', $(b.value), '"');
+            break;
+        case 3:
+        case 4:
+            a.push(E(b.nodeValue));
+            break
+        }
+    }
+    var F = null;
+    function ha(b) {
+        if (null === F) {
+            var a = document.createElement("pre");
+            a
+                    .appendChild(document
+                            .createTextNode('<!DOCTYPE foo PUBLIC "foo bar">\n<foo />'));
+            F = !/</.test(a.innerHTML)
+        }
+        if (F) {
+            var c = b.innerHTML;
+            if (S(b))
+                c = E(c);
+            return c
+        }
+        var d = [];
+        for ( var g = b.firstChild; g; g = g.nextSibling)
+            z(g, d);
+        return d.join("")
+    }
+    function ia(b) {
+        var a = 0;
+        return function(c) {
+            var d = null, g = 0;
+            for ( var e = 0, h = c.length; e < h; ++e) {
+                var f = c.charAt(e);
+                switch (f) {
+                case "\t":
+                    if (!d)
+                        d = [];
+                    d.push(c.substring(g, e));
+                    var i = b - a % b;
+                    a += i;
+                    for (; i >= 0; i -= "                ".length)
+                        d.push("                ".substring(0, i));
+                    g = e + 1;
+                    break;
+                case "\n":
+                    a = 0;
+                    break;
+                default:
+                    ++a
+                }
+            }
+            if (!d)
+                return c;
+            d.push(c.substring(g));
+            return d.join("")
+        }
+    }
+    var ja = /(?:[^<]+|<!--[\s\S]*?--\>|<!\[CDATA\[([\s\S]*?)\]\]>|<\/?[a-zA-Z][^>]*>|<)/g, ka = /^<!--/, la = /^<\[CDATA\[/, ma = /^<br\b/i;
+    function na(b) {
+        var a = b.match(ja), c = [], d = 0, g = [];
+        if (a)
+            for ( var e = 0, h = a.length; e < h; ++e) {
+                var f = a[e];
+                if (f.length > 1 && f.charAt(0) === "<") {
+                    if (ka.test(f))
+                        continue;
+                    if (la.test(f)) {
+                        c.push(f.substring(9, f.length - 3));
+                        d += f.length - 12
+                    } else if (ma.test(f)) {
+                        c.push("\n");
+                        ++d
+                    } else
+                        g.push(d, f)
+                } else {
+                    var i = ga(f);
+                    c.push(i);
+                    d += i.length
+                }
+            }
+        return {
+            source : c.join(""),
+            tags : g
+        }
+    }
+    function v(b, a) {
+        var c = {};
+        (function() {
+            var g = b.concat(a);
+            for ( var e = g.length; --e >= 0;) {
+                var h = g[e], f = h[3];
+                if (f)
+                    for ( var i = f.length; --i >= 0;)
+                        c[f.charAt(i)] = h
+            }
+        })();
+        var d = a.length;
+        return function(g, e) {
+            e = e || 0;
+            var h = [ e, "pln" ], f = "", i = 0, j = g;
+            while (j.length) {
+                var o, m = null, k, l = c[j.charAt(0)];
+                if (l) {
+                    k = j.match(l[1]);
+                    m = k[0];
+                    o = l[0]
+                } else {
+                    for ( var n = 0; n < d; ++n) {
+                        l = a[n];
+                        var p = l[2];
+                        if (p && !p.test(f))
+                            continue;
+                        k = j.match(l[1]);
+                        if (k) {
+                            m = k[0];
+                            o = l[0];
+                            break
+                        }
+                    }
+                    if (!m) {
+                        o = "pln";
+                        m = j.substring(0, 1)
+                    }
+                }
+                h.push(e + i, o);
+                i += m.length;
+                j = j.substring(m.length);
+                if (o !== "com" && /\S/.test(m))
+                    f = m
+            }
+            return h
+        }
+    }
+    var oa = v(
+            [],
+            [
+                    [ "pln", /^[^<]+/, null ],
+                    [ "dec", /^<!\w[^>]*(?:>|$)/, null ],
+                    [ "com", /^<!--[\s\S]*?(?:--\>|$)/, null ],
+                    [ "src", /^<\?[\s\S]*?(?:\?>|$)/, null ],
+                    [ "src", /^<%[\s\S]*?(?:%>|$)/, null ],
+                    [
+                            "src",
+                            /^<(script|style|xmp)\b[^>]*>[\s\S]*?<\/\1\b[^>]*>/i,
+                            null ], [ "tag", /^<\/?\w[^<>]*>/, null ] ]);
+    function pa(b) {
+        var a = oa(b);
+        for ( var c = 0; c < a.length; c += 2)
+            if (a[c + 1] === "src") {
+                var d, g;
+                d = a[c];
+                g = c + 2 < a.length ? a[c + 2] : b.length;
+                var e = b.substring(d, g), h = e
+                        .match(/^(<[^>]*>)([\s\S]*)(<\/[^>]*>)$/);
+                if (h)
+                    a.splice(c, 2, d, "tag", d + h[1].length, "src", d
+                            + h[1].length + (h[2] || "").length, "tag")
+            }
+        return a
+    }
+    var qa = v( [ [ "atv", /^\'[^\']*(?:\'|$)/, null, "'" ],
+            [ "atv", /^\"[^\"]*(?:\"|$)/, null, '"' ],
+            [ "pun", /^[<>\/=]+/, null, "<>/=" ] ], [
+            [ "tag", /^[\w:\-]+/, /^</ ], [ "atv", /^[\w\-]+/, /^=/ ],
+            [ "atn", /^[\w:\-]+/, null ], [ "pln", /^\s+/, null, " \t\r\n" ] ]);
+    function ra(b, a) {
+        for ( var c = 0; c < a.length; c += 2) {
+            var d = a[c + 1];
+            if (d === "tag") {
+                var g, e;
+                g = a[c];
+                e = c + 2 < a.length ? a[c + 2] : b.length;
+                var h = b.substring(g, e), f = qa(h, g);
+                u(f, a, c, 2);
+                c += f.length - 2
+            }
+        }
+        return a
+    }
+    function r(b) {
+        var a = [], c = [];
+        if (b.tripleQuotedStrings)
+            a
+                    .push( [
+                            "str",
+                            /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,
+                            null, "'\"" ]);
+        else if (b.multiLineStrings)
+            a
+                    .push( [
+                            "str",
+                            /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,
+                            null, "'\"`" ]);
+        else
+            a
+                    .push( [
+                            "str",
+                            /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,
+                            null, "\"'" ]);
+        c.push( [ "pln", /^(?:[^\'\"\`\/\#]+)/, null, " \r\n" ]);
+        if (b.hashComments)
+            a.push( [ "com", /^#[^\r\n]*/, null, "#" ]);
+        if (b.cStyleComments)
+            c.push( [ "com", /^\/\/[^\r\n]*/, null ]);
+        if (b.regexLiterals)
+            c
+                    .push( [
+                            "str",
+                            /^\/(?:[^\\\*\/\[]|\\[\s\S]|\[(?:[^\]\\]|\\.)*(?:\]|$))+(?:\/|$)/,
+                            Y ]);
+        if (b.cStyleComments)
+            c.push( [ "com", /^\/\*[\s\S]*?(?:\*\/|$)/, null ]);
+        var d = x(b.keywords);
+        b = null;
+        var g = v(a, c), e = v(
+                [],
+                [
+                        [ "pln", /^\s+/, null, " \r\n" ],
+                        [ "pln", /^[a-z_$@][a-z_$@0-9]*/i, null ],
+                        [ "lit", /^0x[a-f0-9]+[a-z]/i, null ],
+                        [
+                                "lit",
+                                /^(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d+)(?:e[+\-]?\d+)?[a-z]*/i,
+                                null, "123456789" ],
+                        [ "pun", /^[^\s\w\.$@]+/, null ] ]);
+        function h(f, i) {
+            for ( var j = 0; j < i.length; j += 2) {
+                var o = i[j + 1];
+                if (o === "pln") {
+                    var m, k, l, n;
+                    m = i[j];
+                    k = j + 2 < i.length ? i[j + 2] : f.length;
+                    l = f.substring(m, k);
+                    n = e(l, m);
+                    for ( var p = 0, t = n.length; p < t; p += 2) {
+                        var w = n[p + 1];
+                        if (w === "pln") {
+                            var A = n[p], B = p + 2 < t ? n[p + 2] : l.length, s = f
+                                    .substring(A, B);
+                            if (s === ".")
+                                n[p + 1] = "pun";
+                            else if (s in d)
+                                n[p + 1] = "kwd";
+                            else if (/^@?[A-Z][A-Z$]*[a-z][A-Za-z$]*$/.test(s))
+                                n[p + 1] = s.charAt(0) === "@" ? "lit" : "typ"
+                        }
+                    }
+                    u(n, i, j, 2);
+                    j += n.length - 2
+                }
+            }
+            return i
+        }
+        return function(f) {
+            var i = g(f);
+            i = h(f, i);
+            return i
+        }
+    }
+    var G = r( {
+        keywords : W,
+        hashComments : true,
+        cStyleComments : true,
+        multiLineStrings : true,
+        regexLiterals : true
+    });
+    function sa(b, a) {
+        for ( var c = 0; c < a.length; c += 2) {
+            var d = a[c + 1];
+            if (d === "src") {
+                var g, e;
+                g = a[c];
+                e = c + 2 < a.length ? a[c + 2] : b.length;
+                var h = G(b.substring(g, e));
+                for ( var f = 0, i = h.length; f < i; f += 2)
+                    h[f] += g;
+                u(h, a, c, 2);
+                c += h.length - 2
+            }
+        }
+        return a
+    }
+    function ta(b, a) {
+        var c = false;
+        for ( var d = 0; d < a.length; d += 2) {
+            var g = a[d + 1], e, h;
+            if (g === "atn") {
+                e = a[d];
+                h = d + 2 < a.length ? a[d + 2] : b.length;
+                c = /^on|^style$/i.test(b.substring(e, h))
+            } else if (g === "atv") {
+                if (c) {
+                    e = a[d];
+                    h = d + 2 < a.length ? a[d + 2] : b.length;
+                    var f = b.substring(e, h), i = f.length, j = i >= 2
+                            && /^[\"\']/.test(f)
+                            && f.charAt(0) === f.charAt(i - 1), o, m, k;
+                    if (j) {
+                        m = e + 1;
+                        k = h - 1;
+                        o = f
+                    } else {
+                        m = e + 1;
+                        k = h - 1;
+                        o = f.substring(1, f.length - 1)
+                    }
+                    var l = G(o);
+                    for ( var n = 0, p = l.length; n < p; n += 2)
+                        l[n] += m;
+                    if (j) {
+                        l.push(k, "atv");
+                        u(l, a, d + 2, 0)
+                    } else
+                        u(l, a, d, 2)
+                }
+                c = false
+            }
+        }
+        return a
+    }
+    function ua(b) {
+        var a = pa(b);
+        a = ra(b, a);
+        a = sa(b, a);
+        a = ta(b, a);
+        return a
+    }
+    function va(b, a, c) {
+        var d = [], g = 0, e = null, h = null, f = 0, i = 0, j = ia(8);
+        function o(k) {
+            if (k > g) {
+                if (e && e !== h) {
+                    d.push("</span>");
+                    e = null
+                }
+                if (!e && h) {
+                    e = h;
+                    d.push('<span class="', e, '">')
+                }
+                var l = E(j(b.substring(g, k))).replace(/(\r\n?|\n| ) /g,
+                        "$1&nbsp;").replace(/\r\n?|\n/g, "<br />");
+                d.push(l);
+                g = k
+            }
+        }
+        while (true) {
+            var m;
+            m = f < a.length ? (i < c.length ? a[f] <= c[i] : true) : false;
+            if (m) {
+                o(a[f]);
+                if (e) {
+                    d.push("</span>");
+                    e = null
+                }
+                d.push(a[f + 1]);
+                f += 2
+            } else if (i < c.length) {
+                o(c[i]);
+                h = c[i + 1];
+                i += 2
+            } else
+                break
+        }
+        o(b.length);
+        if (e)
+            d.push("</span>");
+        return d.join("")
+    }
+    var C = {};
+    function q(b, a) {
+        for ( var c = a.length; --c >= 0;) {
+            var d = a[c];
+            if (!C.hasOwnProperty(d))
+                C[d] = b;
+            else if ("console" in window)
+                console.log("cannot override language handler %s", d)
+        }
+    }
+    q(G, [ "default-code" ]);
+    q(ua, [ "default-markup", "html", "htm", "xhtml", "xml", "xsl" ]);
+    q(r( {
+        keywords : I,
+        hashComments : true,
+        cStyleComments : true
+    }), [ "c", "cc", "cpp", "cs", "cxx", "cyc" ]);
+    q(r( {
+        keywords : J,
+        cStyleComments : true
+    }), [ "java" ]);
+    q(r( {
+        keywords : O,
+        hashComments : true,
+        multiLineStrings : true
+    }), [ "bsh", "csh", "sh" ]);
+    q(r( {
+        keywords : M,
+        hashComments : true,
+        multiLineStrings : true,
+        tripleQuotedStrings : true
+    }), [ "cv", "py" ]);
+    q(r( {
+        keywords : L,
+        hashComments : true,
+        multiLineStrings : true,
+        regexLiterals : true
+    }), [ "perl", "pl", "pm" ]);
+    q(r( {
+        keywords : N,
+        hashComments : true,
+        multiLineStrings : true,
+        regexLiterals : true
+    }), [ "rb" ]);
+    q(r( {
+        keywords : K,
+        cStyleComments : true,
+        regexLiterals : true
+    }), [ "js" ]);
+    function T(b, a) {
+        try {
+            var c = na(b), d = c.source, g = c.tags;
+            if (!C.hasOwnProperty(a))
+                a = /^\s*</.test(d) ? "default-markup" : "default-code";
+            var e = C[a].call( {}, d);
+            return va(d, g, e)
+        } catch (h) {
+            if ("console" in window) {
+                console.log(h);
+                console.trace()
+            }
+            return b
+        }
+    }
+    function wa(b) {
+        var a = H(), c = [ document.getElementsByTagName("pre"),
+                document.getElementsByTagName("code"),
+                document.getElementsByTagName("xmp"),
+                document.getElementsByTagName("div")], d = [];
+        for ( var g = 0; g < c.length; ++g)
+            for ( var e = 0; e < c[g].length; ++e)
+                d.push(c[g][e]);
+        c = null;
+        var h = 0;
+        function f() {
+            var i = (new Date).getTime() + 250;
+            for (; h < d.length && (new Date).getTime() < i; h++) {
+                var j = d[h];
+                if (j.className && j.className.indexOf("source") >= 0) {
+                    var o = j.className.match(/\blang-(\w+)\b/);
+                    if (o)
+                        o = o[1];
+                    var m = false;
+                    for ( var k = j.parentNode; k; k = k.parentNode)
+                        if ((k.tagName === "pre" || k.tagName === "code" || k.tagName === "xmp" || k.tagName == "div")
+                                && k.className
+                                && k.className.indexOf("source") >= 0) {
+                            m = true;
+                            break
+                        }
+                    if (!m) {
+                        var l = ha(j);
+                        l = l.replace(/(?:\r\n?|\n)$/, "");
+                        var n = T(l, o);
+                        if (!S(j))
+                            j.innerHTML = n;
+                        else {
+                            var p = document.createElement("pre");
+                            for ( var t = 0; t < j.attributes.length; ++t) {
+                                var w = j.attributes[t];
+                                if (w.specified)
+                                    p.setAttribute(w.name, w.value)
+                            }
+                            p.innerHTML = n;
+                            j.parentNode.replaceChild(p, j);
+                            p = j
+                        }
+                        if (a && j.tagName === "pre") {
+                            var A = j.getElementsByTagName("br");
+                            for ( var B = A.length; --B >= 0;) {
+                                var s = A[B];
+                                s.parentNode.replaceChild(document
+                                        .createTextNode("\r\n"), s)
+                            }
+                        }
+                    }
+                }
+            }
+            if (h < d.length)
+                setTimeout(f, 250);
+            else if (b)
+                b()
+        }
+        f()
+    }
+    window.PR_normalizedHtml = z;
+    window.prettyPrintOne = T;
+    window.prettyPrint = wa;
+    window.PR = {
+        createSimpleLexer : v,
+        registerLangHandler : q,
+        sourceDecorator : r,
+        PR_ATTRIB_NAME : "atn",
+        PR_ATTRIB_VALUE : "atv",
+        PR_COMMENT : "com",
+        PR_DECLARATION : "dec",
+        PR_KEYWORD : "kwd",
+        PR_LITERAL : "lit",
+        PR_PLAIN : "pln",
+        PR_PUNCTUATION : "pun",
+        PR_SOURCE : "src",
+        PR_STRING : "str",
+        PR_TAG : "tag",
+        PR_TYPE : "typ"
+    }
+})();
\ No newline at end of file

Added: websites/production/commons/content/proper/commons-daemon/js/prettify.min.js
==============================================================================
--- websites/production/commons/content/proper/commons-daemon/js/prettify.min.js (added)
+++ websites/production/commons/content/proper/commons-daemon/js/prettify.min.js Thu Nov 23 09:50:54 2017
@@ -0,0 +1,41 @@
+// Copyright (C) 2006 Google Inc.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+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"}})();
\ No newline at end of file

Propchange: websites/production/commons/content/proper/commons-daemon/js/prettify.min.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: websites/production/commons/content/proper/commons-daemon/js/site.js
==============================================================================
--- websites/production/commons/content/proper/commons-daemon/js/site.js (added)
+++ websites/production/commons/content/proper/commons-daemon/js/site.js Thu Nov 23 09:50:54 2017
@@ -0,0 +1,106 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+/* Executed on page load. */
+$(document).ready(function() {
+
+	//
+	// This is a hack to enable google-code-prettify to work with maven.
+	//
+	// The problem is that maven, when building the site, replaces:
+	// <pre class="prettyprint">...</pre>
+	// with:
+	// <div class="prettyprint"><pre>...</pre></div>
+	//
+	// Effectively, it removes the class parameter from the <pre> element, which
+	// is required for google-code-prettify to work.
+	// 
+	// This hack restores the class of all <pre> elements which are the child of 
+	// a <div class="prettyprint">.
+	//
+	$('pre').each(function() {
+		var parent = $(this).parent();
+		
+		if (parent.hasClass('prettyprint')) {
+			parent.removeClass('prettyprint');
+			$(this).addClass('prettyprint');
+		}
+		
+		if (parent.hasClass('linenums')) {
+			parent.removeClass('linenums');
+			$(this).addClass('linenums');
+		}
+	})
+	
+	// Hack to add default visuals to tables
+	$('table').each(function() {
+		if ($(this).hasClass('bodyTable')) {
+			
+			// Remove border="1" which is added by maven
+			this.border = 0;
+			
+			// Add bootstrap table styling
+			$(this).addClass('table table-striped table-bordered');
+		}
+	});
+	
+	// Render tabs
+	$('.auto-tabs').each(function(groupid) {
+
+		// Find tab bar
+		$(this).find('ul').each(function() {
+
+			// Add styling
+			$(this).addClass('nav nav-tabs');
+
+			// Go tab bar items
+			$(this).find('li').each(function(itemid) {
+			
+				// Set first tab as active
+				if (itemid == 0) {
+					$(this).addClass('active');
+				}
+				
+				// Replace text with a link to tab contents
+				var name = $(this).html();
+				var link = $('<a>')
+					.attr('href', '#' + 'tab-' + groupid + '-' + itemid)
+					.attr('data-toggle', 'tab')
+					.html(name);
+				$(this).html(link);
+			});
+		});
+		
+		// Find tab contents
+		$(this).find('.tab-content .tab-pane').each(function(itemid) {
+			
+			// Set first tab as active
+			if (itemid == 0) {
+				$(this).addClass('active');
+			}
+			
+			// Set the tab id
+			$(this).attr('id', 'tab-' + groupid + '-' + itemid);
+		});
+	});
+	
+	// Make external links open in new tab
+	$('a.external').attr('target', '_blank');
+	
+	// Trigger prettyprint
+	prettyPrint();
+});
\ No newline at end of file

Propchange: websites/production/commons/content/proper/commons-daemon/js/site.js
------------------------------------------------------------------------------
    svn:eol-style = native