if (!window.ice) {
    window.ice = new Object;
}
if (!window.ice.icefaces) {
    window.ice.globalEval = function(src) {
        if (window.execScript) {
            window.execScript(src);
        } else {
            (function() {
                window.eval.call(window, src);
            })();
        }
    }
    ;
    (function(co) {
        co.icefaces = true;
        co.configuration = new Object();
        co.disableDefaultErrorPopups = false;
        co.submitFunction = jsf.ajax.request;
        function aR(at) {
            return function(dj) {
                return dj == at;
            }
            ;
        }
        function o(at, dj) {
            return function dk() {
                var dl = H(at, dj);
                aZ(at);
                af(dl, cE(u, at));
            }
            ;
        }
        var cJ = [];
        co.onSessionExpiry = function(at) {
            u(cJ, at);
            return o(cJ, aR(at));
        }
        ;
        var b4 = [];
        co.onNetworkError = function(at) {
            u(b4, at);
            return o(b4, aR(at));
        }
        ;
        var bJ = [];
        co.onServerError = function(at) {
            u(bJ, at);
            return o(bJ, aR(at));
        }
        ;
        var cK = [];
        co.onViewDisposal = function(at) {
            u(cK, at);
            return o(cK, aR(at));
        }
        ;
        var aB = [];
        co.onBeforeSubmit = function(at) {
            u(aB, at);
            return o(aB, aR(at));
        }
        ;
        co.onSubmitSend = co.onBeforeSubmit;
        var g = [];
        co.onBeforeUpdate = function(at) {
            u(g, at);
            return o(g, aR(at));
        }
        ;
        co.onSubmitResponse = co.onBeforeUpdate;
        var ca = [];
        co.onAfterUpdate = function(at) {
            u(ca, at);
            return o(ca, aR(at));
        }
        ;
        var ce = [];
        co.onElementRemove = function(dj, at) {
            u(ce, q(dj, at));
            return o(ce, aR(at));
        }
        ;
        var di = [];
        co.onElementUpdate = function(dn, dm) {
            var at = cm(dn);
            var dl = [];
            var dk = at;
            while (dk) {
                var dj;
                if (dk == document.body) {
                    dj = "javax.faces.ViewBody";
                } else {
                    if (dk == document.documentElement) {
                        dj = "javax.faces.ViewRoot";
                    } else {
                        if (dk == document.getElementsByTagName("head")[0]) {
                            dj = "javax.faces.ViewHead";
                        } else {
                            dj = dk.id;
                        }
                    }
                }
                if (dj) {
                    dl.push(dj);
                }
                dk = dk.parentNode;
            }
            u(di, {
                identifier: dn,
                handler: dm,
                ancestors: ("*" + dl.join("*") + "*")
            });
            return o(di, function(dp) {
                return dn == dp.id;
            });
        }
        ;
        function aq(dj) {
            var at = c9(dj);
            if (at) {
                return at;
            }
            at = c9(document.getElementById(dj.id));
            if (at) {
                return at;
            }
            m(cX, "configuration not found for " + dj.nodeName);
            return {};
        }
        function c9(at) {
            configParent = b2(bs(at), function(dj) {
                if (null != dj) {
                    return dj.configuration;
                }
                return {};
            });
            if (null != configParent) {
                return configParent.configuration;
            }
            return null ;
        }
        function b(at) {
            return aq(at).deltaSubmit;
        }
        function J(at) {
            return aq(at).viewID;
        }
        function br(at) {
            try {
                return cr(at);
            } catch (dj) {
                return cr(document.getElementById(at.id));
            }
        }
        function cr(at) {
            return cL(at.nodeName) == "form" ? at : bQ(at);
        }
        function cm(dj) {
            var at;
            if (dj == "javax.faces.ViewRoot") {
                at = document.documentElement;
            } else {
                if (dj == "javax.faces.ViewBody") {
                    at = document.body;
                } else {
                    try {
                        at = document.getElementById(dj);
                    } catch (at) {}
                }
            }
            return at;
        }
        function ao(dj, at) {
            var dk = dj[at];
            if (!dk) {
                dk = b2(dj.getElementsByTagName("input"), function(dl) {
                    return dl.name && dl.name == at;
                });
            }
            return dk;
        }
        function V(at) {
            var dj = ao(at, "javax.faces.ViewState");
            if (dj) {
                return dj;
            } else {
                throw "cannot find javax.faces.ViewState input element";
            }
        }
        function ad(at) {
            return V(at).value;
        }
        function ai(at) {
            return at + "-retrieve-update";
        }
        function A(at) {
            return at + "-single-submit";
        }
        function cA(at, dj) {
            return at.apply(at, dj);
        }
        function cR() {
            var at = arguments;
            return function(dj) {
                cA(dj, at);
            }
            ;
        }
        function bt(at) {
            return function() {
                return cA(at, arguments);
            }
            ;
        }
        function cE() {
            var at = arguments;
            return function() {
                var dk = [];
                var dj = at[0];
                for (var dm = 1; dm < at.length; dm++) {
                    dk.push(at[dm]);
                }
                for (var dl = 0; dl < arguments.length; dl++) {
                    dk.push(arguments[dl]);
                }
                return cA(dj, dk);
            }
            ;
        }
        function Q(at, dj) {
            return function(dq) {
                var dk = arguments;
                var dn = [];
                var dp = [];
                at(function(ds, dr) {
                    dn.push(ds);
                    dp.push(dr);
                });
                var dm = dn.length;
                for (var dl = 0; dl < dm; dl++) {
                    if (cA(dn[dl], dk)) {
                        return cA(dp[dl], dk);
                    }
                }
                if (dj) {
                    cA(dj, dk);
                }
            }
            ;
        }
        function aK(at) {
            return at;
        }
        function K(at) {
            return !at;
        }
        function i(dj, at) {
            return dj > at;
        }
        function aO(dj, at) {
            return dj < at;
        }
        function b6(at) {
            return !at;
        }
        function cV(dj, at) {
            return dj * at;
        }
        function bo(dj, at) {
            return dj + at;
        }
        function aH(dj, at) {
            return dj > at ? dj : at;
        }
        function c0(dj, at) {
            return dj + (at ? at : 1);
        }
        function bF(dj, at) {
            return dj - (at ? at : 1);
        }
        function aS() {
            return true;
        }
        function O() {
            return false;
        }
        function l() {}
        function bh(at) {
            return at && !!at.push;
        }
        function cp(at) {
            return typeof at == "string";
        }
        function aT(at) {
            return typeof at == "number";
        }
        function bl(at) {
            return typeof at == "boolean";
        }
        function b0(at) {
            return typeof at.length == "number";
        }
        function dd(at) {
            return at.instanceTag == at;
        }
        var bY = (function() {
            var at = 0;
            return function() {
                return at++;
            }
            ;
        })();
        function a9() {
            throw "operation not supported";
        }
        function bb(at) {
            return function() {
                var dk = arguments;
                var dj = arguments[0];
                if (dj.instanceTag && dj.instanceTag == dj) {
                    var dl = dj(arguments.callee);
                    if (dl) {
                        return dl.apply(dl, dk);
                    } else {
                        a9();
                    }
                } else {
                    return at ? at.apply(at, dk) : a9();
                }
            }
            ;
        }
        var aI = bb(String);
        var c1 = bb(Number);
        var bz = bb(function(dm) {
            var dl;
            if (cp(dm)) {
                dl = dm;
            } else {
                if (aT(dm)) {
                    return Math.abs(Math.round(dm));
                } else {
                    dl = dm.toString();
                }
            }
            var dk = 0;
            for (var dj = 0, at = dl.length; dj < at; dj++) {
                var dn = parseInt(dl[dj], 36);
                if (!isNaN(dn)) {
                    dk = dn + (dk << 6) + (dk << 16) - dk;
                }
            }
            return Math.abs(dk);
        });
        var ax = bb(function(dj, at) {
            return dj == at;
        });
        function aa(dl) {
            var at = [];
            var dk = [];
            var dm = null ;
            var dn = bY();
            at.push(bz);
            dk.push(function(dp) {
                return dn;
            });
            at.push(ax);
            dk.push(function(dq, dp) {
                return dq == dp;
            });
            at.push(aI);
            dk.push(function(dp) {
                return "Object:" + dn.toString(16);
            });
            dl(function(dp, ds) {
                var dr = at.length;
                for (var dq = 0; dq < dr; dq++) {
                    if (at[dq] == dp) {
                        dk[dq] = ds;
                        return;
                    }
                }
                at.push(dp);
                dk.push(ds);
            }, function(dp) {
                dm = dp;
            });
            function dj(dp) {
                var dr = at.length;
                for (var dq = 0; dq < dr; dq++) {
                    if (at[dq] == dp) {
                        return dk[dq];
                    }
                }
                return dm;
            }
            return dj.instanceTag = dj;
        }
        function aP() {
            var dk = arguments[0];
            var dj = arguments;
            var dl = aa(dk);
            function at(dn) {
                var ds = dl(dn);
                if (ds) {
                    return ds;
                } else {
                    var dr = dj.length;
                    for (var dq = 1; dq < dr; dq++) {
                        var dp = dj[dq];
                        var dm = dp(dn);
                        if (dm) {
                            return dm;
                        }
                    }
                    return null ;
                }
            }
            return at.instanceTag = at;
        }
        var c2 = bb(Q(function(at) {
            at(cp, function(dj, dk) {
                return dj.indexOf(dk);
            });
            at(bh, function(dj, dm) {
                for (var dl = 0, dk = dj.length; dl < dk; dl++) {
                    if (dj[dl] == dm) {
                        return dl;
                    }
                }
                return -1;
            });
            at(aS, a9);
        }));
        var az = bb(function(dj, at) {
            return dj.concat(at);
        });
        var u = bb(function(at, dj) {
            if (bh(at)) {
                at.push(dj);
                return at;
            } else {
                a9();
            }
        });
        var c = bb(Q(function(at) {
            at(bh, function(dj, dk) {
                dj.unshift(dk);
                return dj;
            });
            at(aS, a9);
        }));
        var af = bb(function(at, dl) {
            var dk = at.length;
            for (var dj = 0; dj < dk; dj++) {
                dl(at[dj], dj);
            }
        });
        var ap = bb(function(dk, at, dn) {
            var dj = at;
            var dm = dk.length;
            for (var dl = 0; dl < dm; dl++) {
                dj = dn(dj, dk[dl]);
            }
            return dj;
        });
        var cw = bb(Q(function(at) {
            at(bh, function(dk, dj) {
                return ap(dk, [], function(dl, dm) {
                    return dj(dm) ? u(dl, dm) : dl;
                });
            });
            at(cp, function(dk, dj) {
                return ap(dk, "", function(dl, dm) {
                    return dj(dm) ? az(dl, dm) : dl;
                });
            });
            at(b0, function(dk, dj) {
                return cs(function(dm) {
                    function dl(dq, dn) {
                        if (dq > dn) {
                            return null ;
                        }
                        var dp = dk[dq];
                        return dj(dp) ? function() {
                            return dm(dp, dl(dq + 1, dn));
                        }
                        : dl(dq + 1, dn);
                    }
                    return dl(0, dk.length - 1);
                });
            });
        }));
        var b2 = bb(function(at, dm, dn) {
            var dl = at.length;
            for (var dk = 0; dk < dl; dk++) {
                var dj = at[dk];
                if (dm(dj, dk)) {
                    return dj;
                }
            }
            return dn ? dn(at) : null ;
        });
        var au = bb(Q(function(at) {
            at(cp, function(dj, dk) {
                return dj.indexOf(dk) > -1;
            });
            at(bh, function(dj, dm) {
                var dl = dj.length;
                for (var dk = 0; dk < dl; dk++) {
                    if (dj[dk] == dm) {
                        return true;
                    }
                }
                return false;
            });
            at(aS, a9);
        }));
        var aF = bb(function(at) {
            return at.length;
        });
        var aZ = bb(function(at) {
            at.length = 0;
        });
        var cd = bb(function(at) {
            return at.length == 0;
        });
        var cW = function(at) {
            return !cd(at);
        }
        ;
        var bB = bb(Q(function(at) {
            at(cp, function(dj, dk) {
                return ap(dj, "", function(dl, dm) {
                    return az(dl, dk(dm));
                });
            });
            at(bh, function(dj, dk) {
                return ap(dj, [], function(dl, dm) {
                    return u(dl, dk(dm));
                });
            });
            at(b0, function(dj, dk) {
                return cs(function(dm) {
                    function dl(dp, dn) {
                        if (dp > dn) {
                            return null ;
                        }
                        return function() {
                            return dm(dk(dj[dp], dp), dl(dp + 1, dn));
                        }
                        ;
                    }
                    return dl(0, dj.length - 1);
                });
            });
        }));
        var cH = bb(function(at, dj) {
            return bx(at).sort(function(dl, dk) {
                return dj(dl, dk) ? -1 : 1;
            });
        });
        var bd = bb(function(at) {
            return bx(at).reverse();
        });
        var bx = bb(function(at) {
            return ap(at, [], cE(u));
        });
        var bZ = bb(function(at, dj) {
            return at.join(dj);
        });
        var z = bb();
        var H = function(dj, at) {
            return cw(dj, function(dk) {
                return !at(dk);
            });
        }
        ;
        var b9 = bb(function(dj, at) {
            return cw(dj, cE(au, at));
        });
        var bO = bb(function(dj, at) {
            return H(dj, cE(au, at));
        });
        var c4 = function(at, dj) {
            dj = dj || [];
            af(at, function(dk) {
                cA(dk, dj);
            });
        }
        ;
        var bu = function(at) {
            return function() {
                var dj = arguments;
                af(at, function(dk) {
                    cA(dk, dj);
                });
            }
            ;
        }
        ;
        var bP = function(at) {
            return ap(at, [], u);
        }
        ;
        var cz = function(at) {
            return ap(at, [], function(dk, dj) {
                if (b6(au(dk, dj))) {
                    u(dk, dj);
                }
                return dk;
            });
        }
        ;
        var j = bb();
        var h = bb();
        function q(dj, at) {
            return aa(function(dk) {
                dk(j, function(dl) {
                    return dj;
                });
                dk(h, function(dl) {
                    return at;
                });
                dk(aI, function(dl) {
                    return "Cell[" + aI(dj) + ": " + aI(at) + "]";
                });
            });
        }
        function cs(dj) {
            var at = dj(q);
            return aa(function(dk) {
                dk(af, function(dm, dn) {
                    var dp = at;
                    while (dp != null ) {
                        var dl = dp();
                        dn(j(dl));
                        dp = h(dl);
                    }
                });
                dk(ap, function(dp, dm, dr) {
                    var dn = dm;
                    var dq = at;
                    while (dq != null ) {
                        var dl = dq();
                        dn = dr(dn, j(dl));
                        dq = h(dl);
                    }
                    return dn;
                });
                dk(bZ, function(dn, dq) {
                    var dm;
                    var dr = at;
                    while (dr != null ) {
                        var dl = dr();
                        var dp = aI(j(dl));
                        dm = dm ? dm + dq + dp : dp;
                        dr = h(dl);
                    }
                    return dm;
                });
                dk(bB, function(dl, dm) {
                    return cs(function(dp) {
                        function dn(dr) {
                            if (!dr) {
                                return null ;
                            }
                            var dq = dr();
                            return function() {
                                return dp(dm(j(dq)), dn(h(dq)));
                            }
                            ;
                        }
                        return dn(at);
                    });
                });
                dk(au, function(dm, dn) {
                    var dp = at;
                    while (dp != null ) {
                        var dl = dp();
                        if (dn == j(dl)) {
                            return true;
                        }
                        dp = h(dl);
                    }
                    return false;
                });
                dk(aF, function(dl) {
                    var dn = at;
                    var dm = 0;
                    while (dn != null ) {
                        dm++;
                        dn = h(dn());
                    }
                    return dm;
                });
                dk(cw, function(dm, dl) {
                    return cs(function(dp) {
                        function dn(dt) {
                            if (!dt) {
                                return null ;
                            }
                            var dq = dt();
                            var ds = j(dq);
                            var dr = h(dq);
                            return dl(ds) ? function() {
                                return dp(ds, dn(dr));
                            }
                            : dn(dr);
                        }
                        return dn(at);
                    });
                });
                dk(b2, function(dp, dr, ds) {
                    var dq = at;
                    var dm;
                    while (dq != null ) {
                        var dl = dq();
                        var dn = j(dl);
                        if (dr(dn)) {
                            dm = dn;
                            break;
                        }
                        dq = h(dl);
                    }
                    if (dm) {
                        return dm;
                    } else {
                        return ds ? ds(dp) : null ;
                    }
                });
                dk(cd, function(dl) {
                    return at == null ;
                });
                dk(bx, function(dl) {
                    return cs(dj);
                });
                dk(aI, function(dl) {
                    return "Stream[" + bZ(dl, ", ") + "]";
                });
            });
        }
        var cD = bb();
        var L = bb();
        var a0 = bb();
        var an;
        var b8;
        (function() {
            var dm = Array.prototype.splice ? function(dr, dq) {
                dr.splice(dq, 1);
            }
            : function(du, ds) {
                if (ds == du.length - 1) {
                    du.length = ds;
                } else {
                    var dr = du.slice(ds + 1);
                    du.length = ds;
                    for (var dt = 0, dq = dr.length; dt < dq; ++dt) {
                        du[ds + dt] = dr[dt];
                    }
                }
            }
            ;
            function at(dr, dy, dt, dw) {
                var dv = bz(dt) % dy;
                var dq = dr[dv];
                if (dq) {
                    for (var du = 0, ds = dq.length; du < ds; du++) {
                        var dx = dq[du];
                        if (ax(dx.key, dt)) {
                            return dx.value;
                        }
                    }
                    if (dw) {
                        dw();
                    }
                    return null ;
                } else {
                    if (dw) {
                        dw();
                    }
                    return null ;
                }
            }
            function dn(ds, dy, du, dz) {
                var dw = bz(du) % dy;
                var dr = ds[dw];
                if (dr) {
                    for (var dv = 0, dt = dr.length; dv < dt; dv++) {
                        var dx = dr[dv];
                        if (ax(dx.key, du)) {
                            var dq = dx.value;
                            dx.value = dz;
                            return dq;
                        }
                    }
                    dr.push({
                        key: du,
                        value: dz
                    });
                    return null ;
                } else {
                    dr = [{
                        key: du,
                        value: dz
                    }];
                    ds[dw] = dr;
                    return null ;
                }
            }
            function dl(dv, dt, dr) {
                var ds = bz(dr) % dt;
                var dx = dv[ds];
                if (dx) {
                    for (var du = 0, dq = dx.length; du < dq; du++) {
                        var dw = dx[du];
                        if (ax(dw.key, dr)) {
                            dm(dx, du);
                            if (dx.length == 0) {
                                dm(dv, ds);
                            }
                            return dw.value;
                        }
                    }
                    return null ;
                } else {
                    return null ;
                }
            }
            function dk(ds, dz, dx) {
                var dt = dz;
                for (var dw = 0, dv = ds.length; dw < dv; dw++) {
                    var dr = ds[dw];
                    if (dr) {
                        for (var du = 0, dq = dr.length; du < dq; du++) {
                            var dy = dr[du];
                            if (dy) {
                                dt = dx(dt, dy.key, dy.value);
                            }
                        }
                    }
                }
                return dt;
            }
            var dp = bb();
            var dj = bb();
            an = function() {
                var dr = [];
                var dq = 5000;
                return aa(function(ds) {
                    ds(cD, function(du, dt, dv) {
                        return at(dr, dq, dt, dv);
                    });
                    ds(L, function(dv, du, dt) {
                        return dn(dr, dq, du, dt);
                    });
                    ds(a0, function(du, dt) {
                        return dl(dr, dq, dt);
                    });
                    ds(af, function(dt) {
                        dk(dr, null , function(du, dw, dv) {
                            dt(dw, dv);
                        });
                    });
                });
            }
            ;
            b8 = function(ds) {
                var dr = [];
                var dq = 5000;
                var dt = new Object;
                if (ds) {
                    af(ds, function(du) {
                        dn(dr, dq, du, dt);
                    });
                }
                return aa(function(du) {
                    du(u, function(dw, dv) {
                        dn(dr, dq, dv, dt);
                    });
                    du(af, function(dv, dw) {
                        dk(dr, null , function(dz, dy, dx) {
                            dw(dy);
                        });
                    });
                    du(au, function(dw, dv) {
                        return !!at(dr, dq, dv);
                    });
                    du(bO, function(dy, dw) {
                        var dv = [];
                        var dB;
                        try {
                            var dx = dp(dw);
                            var dA = dj(dw);
                            dB = function(dD, dC) {
                                return !!at(dx, dA, dC);
                            }
                            ;
                        } catch (dz) {
                            dB = au;
                        }
                        return dk(dr, dv, function(dC, dE, dD) {
                            if (!dB(dw, dE)) {
                                dv.push(dE);
                            }
                            return dC;
                        });
                    });
                    du(aI, function(dv) {
                        return "HashSet[" + bZ(dk(dr, [], function(dw, dy, dx) {
                            dw.push(dy);
                            return dw;
                        }), ",") + "]";
                    });
                    du(dp, function(dv) {
                        return dr;
                    });
                    du(dj, function(dv) {
                        return dq;
                    });
                });
            }
            ;
        })();
        var c2 = function(dk, dj) {
            var at = dk.indexOf(dj);
            if (at >= 0) {
                return at;
            } else {
                throw '"' + dk + '" does not contain "' + dj + '"';
            }
        }
        ;
        var dh = function(dk, dj) {
            var at = dk.lastIndexOf(dj);
            if (at >= 0) {
                return at;
            } else {
                throw 'string "' + dk + '" does not contain "' + dj + '"';
            }
        }
        ;
        var df = function(at, dj) {
            return at.indexOf(dj) == 0;
        }
        ;
        var d = function(at, dj) {
            return at.lastIndexOf(dj) == at.length - dj.length;
        }
        ;
        var a2 = function(dj, at) {
            return dj.indexOf(at) >= 0;
        }
        ;
        var X = function(at) {
            return /^\s*$/.test(at);
        }
        ;
        var n = function(at, dj) {
            return at.length == 0 ? [] : at.split(dj);
        }
        ;
        var bN = function(dj, dk, at) {
            return dj.replace(dk, at);
        }
        ;
        var cL = function(at) {
            return at.toLowerCase();
        }
        ;
        var aC = function(at) {
            return at.toUpperCase();
        }
        ;
        var a3 = function(at, dk, dj) {
            return at.substring(dk, dj);
        }
        ;
        var aA = function(dj) {
            dj = dj.replace(/^\s+/, "");
            for (var at = dj.length - 1; at >= 0; at--) {
                if (/\S/.test(dj.charAt(at))) {
                    dj = dj.substring(0, at + 1);
                    break;
                }
            }
            return dj;
        }
        ;
        var c1 = Number;
        var cF = function(at) {
            return "true" == at || "any" == at;
        }
        ;
        var F = function(at) {
            return new RegExp(at);
        }
        ;
        var Y = bb();
        var a1 = bb();
        var bC = bb();
        function by(dj, at) {
            return aa(function(dm) {
                var dl = null ;
                var dk = false;
                dm(Y, function(dn, dq) {
                    if (dl || dk) {
                        return;
                    }
                    var dp = dq ? function() {
                        try {
                            dj();
                        } finally {
                            if (--dq < 1) {
                                bC(dn);
                            }
                        }
                    }
                    : dj;
                    dl = setInterval(dp, at);
                    return dn;
                });
                dm(a1, function(dn) {
                    return Y(dn, 1);
                });
                dm(bC, function(dn) {
                    if (dl) {
                        clearInterval(dl);
                        dl = null ;
                    } else {
                        dk = true;
                    }
                });
            });
        }
        function bH(at, dk, dj) {
            if (dk.addEventListener) {
                dk.addEventListener(at, dj, false);
            } else {
                dk.attachEvent("on" + at, dj);
            }
        }
        var a4 = cE(bH, "load");
        var bI = cE(bH, "unload");
        var ak = cE(bH, "beforeunload");
        var cP = cE(bH, "resize");
        var a6 = cE(bH, "keypress");
        var cq = cE(bH, "keyup");
        window.width = function() {
            return window.innerWidth ? window.innerWidth : (document.documentElement && document.documentElement.clientWidth) ? document.documentElement.clientWidth : document.body.clientWidth;
        }
        ;
        window.height = function() {
            return window.innerHeight ? window.innerHeight : (document.documentElement && document.documentElement.clientHeight) ? document.documentElement.clientHeight : document.body.clientHeight;
        }
        ;
        co.onLoad = cE(a4, window);
        co.onUnload = cE(bI, window);
        var D = bb();
        var ah = bb();
        var c8 = bb();
        var cG = bb();
        var bn = bb();
        var cC = bb();
        var aM = bb();
        var k = bb();
        var s = bb();
        var ab = bb();
        var cS = aS;
        var ct = O;
        function aV(at) {
            return at.srcElement;
        }
        function bm(dj, at) {
            return aa(function(dk) {
                dk(D, function(dl) {
                    ah(dl);
                    c8(dl);
                });
                dk(cG, ct);
                dk(bn, ct);
                dk(ab, function(dl) {
                    return dj.type;
                });
                dk(aM, function(dl) {
                    return at;
                });
                dk(cC, function(dl) {
                    return at;
                });
                dk(k, function(dl, dm) {
                    av(at, dm);
                    aN(dm, "ice.event.target", aG(aM(dl)));
                    aN(dm, "ice.event.captured", aG(cC(dl)));
                    aN(dm, "ice.event.type", "on" + ab(dl));
                });
                dk(a, cE(k));
            });
        }
        function bK(dj, at) {
            return aP(function(dk) {
                dk(aM, function(dl) {
                    return dj.srcElement ? dj.srcElement : null ;
                });
                dk(ah, function(dl) {
                    dj.cancelBubble = true;
                });
                dk(c8, function(dl) {
                    dj.returnValue = false;
                });
                dk(aI, function(dl) {
                    return "IEEvent[" + ab(dl) + "]";
                });
            }, bm(dj, at));
        }
        function bW(dj, at) {
            return aP(function(dk) {
                dk(aM, function(dl) {
                    return dj.target ? dj.target : null ;
                });
                dk(ah, function(dl) {
                    try {
                        dj.stopPropagation();
                    } catch (dm) {}
                });
                dk(c8, function(dl) {
                    try {
                        dj.preventDefault();
                    } catch (dm) {}
                });
                dk(aI, function(dl) {
                    return "NetscapeEvent[" + ab(dl) + "]";
                });
            }, bm(dj, at));
        }
        var t = bb();
        var cO = bb();
        var cf = bb();
        var bA = bb();
        var cn = bb();
        function bw(at) {
            return aa(function(dj) {
                dj(t, function(dk) {
                    return at.altKey;
                });
                dj(cO, function(dk) {
                    return at.ctrlKey;
                });
                dj(cf, function(dk) {
                    return at.shiftKey;
                });
                dj(bA, function(dk) {
                    return at.metaKey;
                });
                dj(cn, function(dk, dl) {
                    aN(dl, "ice.event.alt", t(dk));
                    aN(dl, "ice.event.ctrl", cO(dk));
                    aN(dl, "ice.event.shift", cf(dk));
                    aN(dl, "ice.event.meta", bA(dk));
                });
            });
        }
        var c3 = bb();
        var ba = bb();
        var cl = bb();
        var cj = bb();
        var cb = bb();
        function cQ(at) {
            return aP(function(dj) {
                dj(bn, cS);
                dj(cb, function(dk, dl) {
                    cn(dk, dl);
                    aN(dl, "ice.event.x", cl(dk));
                    aN(dl, "ice.event.y", cj(dk));
                    aN(dl, "ice.event.left", c3(dk));
                    aN(dl, "ice.event.right", ba(dk));
                });
            }, bw(at));
        }
        function bS(at) {
            at(a, function(dj, dk) {
                k(dj, dk);
                cb(dj, dk);
            });
        }
        function W(dj, at) {
            return aP(function(dk) {
                bS(dk);
                dk(cl, function(dl) {
                    return dj.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft);
                });
                dk(cj, function(dl) {
                    return dj.clientY + (document.documentElement.scrollTop || document.body.scrollTop);
                });
                dk(c3, function(dl) {
                    return dj.button == 1;
                });
                dk(ba, function(dl) {
                    return dj.button == 2;
                });
                dk(aI, function(dl) {
                    return "IEMouseEvent[" + ab(dl) + "]";
                });
            }, cQ(dj), bK(dj, at));
        }
        function bT(dj, at) {
            return aP(function(dk) {
                bS(dk);
                dk(cl, function(dl) {
                    return dj.pageX;
                });
                dk(cj, function(dl) {
                    return dj.pageY;
                });
                dk(c3, function(dl) {
                    return dj.which == 1;
                });
                dk(ba, function(dl) {
                    return dj.which == 2;
                });
                dk(aI, function(dl) {
                    return "NetscapeMouseEvent[" + ab(dl) + "]";
                });
            }, cQ(dj), bW(dj, at));
        }
        var R = bb();
        var M = bb();
        var ay = bb();
        function cU(at) {
            return aP(function(dj) {
                dj(cG, cS);
                dj(R, function(dk) {
                    return String.fromCharCode(M(dk));
                });
                dj(ay, function(dk, dl) {
                    cn(dk, dl);
                    aN(dl, "ice.event.keycode", M(dk));
                });
            }, bw(at));
        }
        function ae(at) {
            at(a, function(dj, dk) {
                k(dj, dk);
                ay(dj, dk);
            });
        }
        function b1(dj, at) {
            return aP(function(dk) {
                ae(dk);
                dk(M, function(dl) {
                    return dj.keyCode;
                });
                dk(aI, function(dl) {
                    return "IEKeyEvent[" + ab(dl) + "]";
                });
            }, cU(dj), bK(dj, at));
        }
        function c5(dj, at) {
            return aP(function(dk) {
                ae(dk);
                dk(M, function(dl) {
                    return dj.which == 0 ? dj.keyCode : dj.which;
                });
                dk(aI, function(dl) {
                    return "NetscapeKeyEvent[" + ab(dl) + "]";
                });
            }, cU(dj), bW(dj, at));
        }
        function bM(at) {
            return M(at) == 13;
        }
        function N(at) {
            return M(at) == 27;
        }
        function aj(at) {
            return aP(function(dj) {
                dj(ah, l);
                dj(c8, l);
                dj(ab, function(dk) {
                    return "unknown";
                });
                dj(aI, function(dk) {
                    return "UnkownEvent[]";
                });
            }, bm(null , at));
        }
        var C = ["onclick", "ondblclick", "onmousedown", "onmousemove", "onmouseout", "onmouseover", "onmouseup"];
        var a7 = ["onkeydown", "onkeypress", "onkeyup", "onhelp"];
        function ck(dl, dk) {
            var dj = dl || window.event;
            if (dj && dj.type) {
                var at = "on" + dj.type;
                if (au(a7, at)) {
                    return aV(dj) ? b1(dj, dk) : c5(dj, dk);
                } else {
                    if (au(C, at)) {
                        return aV(dj) ? W(dj, dk) : bT(dj, dk);
                    } else {
                        return aV(dj) ? bK(dj, dk) : bW(dj, dk);
                    }
                }
            } else {
                return aj(dk);
            }
        }
        function aG(at) {
            return at ? at.id : null ;
        }
        function cu(at) {
            return cL(at.nodeName);
        }
        function ar(dj, at) {
            return dj[at];
        }
        function bs(at) {
            return cs(function(dk) {
                function dj(dl) {
                    if (dl == null || dl == document) {
                        return null ;
                    }
                    return function() {
                        return dk(dl, dj(dl.parentNode));
                    }
                    ;
                }
                return dj(at.parentNode);
            });
        }
        function bQ(at) {
            return at.form || b2(bs(at), function(dj) {
                return cu(dj) == "form";
            }, function() {
                throw "cannot find enclosing form";
            });
        }
        function aY(at) {
            return ar(b2(bs(at), function(dj) {
                return ar(dj, "bridge") != null ;
            }, function() {
                throw "cannot find enclosing bridge";
            }), "bridge");
        }
        function av(dk, dl) {
            var dj = cu(dk);
            switch (dj) {
            case "a":
                var at = dk.name || dk.id;
                if (at) {
                    aN(dl, at, at);
                }
                break;
            case "input":
                switch (dk.type) {
                case "image":
                case "submit":
                case "button":
                    aN(dl, dk.name, dk.value);
                    break;
                }
                break;
            case "button":
                if (dk.type == "submit") {
                    aN(dl, dk.name, dk.value);
                }
                break;
            default:
            }
        }
        function c7(at) {
            return document.getElementById(at);
        }
        var m = bb();
        var Z = bb();
        var cI = bb();
        var cM = bb();
        var x = bb();
        var ci = bb();
        var y = bb();
        var B = bb();
        var bp = bb();
        var bg = bb();
        function bX(dj, at) {
            return aa(function(dk) {
                af([m, Z, cI, cM], function(dl) {
                    dk(dl, function(dm, dp, dn) {
                        ci(at, dl, dj, dp, dn);
                    });
                });
                dk(x, function(dm, dn, dl) {
                    return bX(u(bx(dj), dn), dl || at);
                });
                dk(aI, function(dl) {
                    return "Logger[" + bZ(dj, ".") + "]";
                });
            });
        }
        function P(dq) {
            function dj(du, dt) {
                return bZ(["[", bZ(du, "."), "] ", dt], "");
            }
            var dk = !window.console.debug;
            var dr = dk ? function(dt, dw, dv, du) {
                du ? console.log(dj(dw, dv), "\n", du) : console.log(dj(dw, dv));
            }
            : function(dt, dw, dv, du) {
                du ? console.debug(dj(dw, dv), du) : console.debug(dj(dw, dv));
            }
            ;
            var dl = dk ? function(dt, dw, dv, du) {
                du ? console.info(dj(dw, dv), "\n", du) : console.info(dj(dw, dv));
            }
            : function(dt, dw, dv, du) {
                du ? console.info(dj(dw, dv), du) : console.info(dj(dw, dv));
            }
            ;
            var dn = dk ? function(dt, dw, dv, du) {
                du ? console.warn(dj(dw, dv), "\n", du) : console.warn(dj(dw, dv));
            }
            : function(dt, dw, dv, du) {
                du ? console.warn(dj(dw, dv), du) : console.warn(dj(dw, dv));
            }
            ;
            var dp = dk ? function(dt, dw, dv, du) {
                du ? console.error(dj(dw, dv), "\n", du) : console.error(dj(dw, dv));
            }
            : function(dt, dw, dv, du) {
                du ? console.error(dj(dw, dv), du) : console.error(dj(dw, dv));
            }
            ;
            var dm = [q(m, aa(function(dt) {
                dt(m, dr);
                dt(Z, dl);
                dt(cI, dn);
                dt(cM, dp);
            })), q(Z, aa(function(dt) {
                dt(m, l);
                dt(Z, dl);
                dt(cI, dn);
                dt(cM, dp);
            })), q(cI, aa(function(dt) {
                dt(m, l);
                dt(Z, l);
                dt(cI, dn);
                dt(cM, dp);
            })), q(cM, aa(function(dt) {
                dt(m, l);
                dt(Z, l);
                dt(cI, l);
                dt(cM, dp);
            }))];
            var ds;
            function at(dt) {
                ds = h(b2(dm, function(du) {
                    return j(du) == dt;
                }));
            }
            at(dq || m);
            return aa(function(dt) {
                dt(y, function(du, dv) {
                    at(dv);
                });
                dt(ci, function(dv, du, dy, dx, dw) {
                    du(ds, dy, dx, dw);
                });
            });
        }
        var bj = P;
        function cy(dr, dk) {
            var du = [25, 50, 100, 200, 400];
            var dl = du[3];
            var dm = /.*/;
            var dv = true;
            var dj;
            var dt = l;
            function ds() {
                var dx = dj.childNodes;
                var dw = aF(dx) - dl;
                if (dw > 0) {
                    af(bx(dx), function(dz, dy) {
                        if (dy < dw) {
                            dj.removeChild(dz);
                        }
                    });
                }
            }
            function at() {
                af(bx(dj.childNodes), function(dw) {
                    dj.removeChild(dw);
                });
            }
            function dn() {
                var dw = dt == l;
                dt = dw ? dp : l;
                return !dw;
            }
            function dp(dz, dD, dw, dE, dx) {
                var dy = bZ(dw, ".");
                if (dm.test(dy)) {
                    var dA = dj.ownerDocument;
                    var dB = new Date();
                    var dC = bZ(["[", dy, "] : ", dE, (dx ? bZ(["\n", dx.name, " <", dx.message, ">"], "") : "")], "");
                    af(n(dC, "\n"), function(dF) {
                        if (/(\w+)/.test(dF)) {
                            var dG = dA.createElement("div");
                            dG.style.padding = "3px";
                            dG.style.color = dD;
                            dG.setAttribute("title", dB + " | " + dz);
                            dj.appendChild(dG).appendChild(dA.createTextNode(dF));
                        }
                    });
                    dj.scrollTop = dj.scrollHeight;
                }
                ds();
            }
            function dq() {
                var dB = window.open("", "_blank", "scrollbars=1,width=800,height=680");
                try {
                    var dH = dB.document;
                    var dC = dH.body;
                    af(bx(dC.childNodes), function(dI) {
                        dH.body.removeChild(dI);
                    });
                    dC.appendChild(dH.createTextNode(" Close on exit "));
                    var dy = dH.createElement("input");
                    dy.style.margin = "2px";
                    dy.setAttribute("type", "checkbox");
                    dy.defaultChecked = true;
                    dy.checked = true;
                    dy.onclick = function() {
                        dv = dy.checked;
                    }
                    ;
                    dC.appendChild(dy);
                    dC.appendChild(dH.createTextNode(" Lines "));
                    var dz = dH.createElement("select");
                    dz.style.margin = "2px";
                    af(du, function(dK, dI) {
                        var dJ = dz.appendChild(dH.createElement("option"));
                        if (dl == dK) {
                            dz.selectedIndex = dI;
                        }
                        dJ.appendChild(dH.createTextNode(aI(dK)));
                    });
                    dC.appendChild(dz);
                    dC.appendChild(dH.createTextNode(" Category "));
                    var dx = dH.createElement("input");
                    dx.style.margin = "2px";
                    dx.setAttribute("type", "text");
                    dx.setAttribute("value", dm.source);
                    dx.onchange = function() {
                        dm = new RegExp(dx.value);
                    }
                    ;
                    dC.appendChild(dx);
                    dC.appendChild(dH.createTextNode(" Level "));
                    var dE = dH.createElement("select");
                    dE.style.margin = "2px";
                    var dG = [q("debug", m), q("info", Z), q("warn", cI), q("error", cM)];
                    af(dG, function(dJ, dI) {
                        var dK = dE.appendChild(dH.createElement("option"));
                        if (dr == h(dJ)) {
                            dE.selectedIndex = dI;
                        }
                        dK.appendChild(dH.createTextNode(j(dJ)));
                    });
                    dE.onchange = function(dI) {
                        dr = h(dG[dE.selectedIndex]);
                    }
                    ;
                    dC.appendChild(dE);
                    var dw = dH.createElement("input");
                    dw.style.margin = "2px";
                    dw.setAttribute("type", "button");
                    dw.setAttribute("value", "Stop");
                    dw.onclick = function() {
                        dw.setAttribute("value", dn() ? "Stop" : "Start");
                    }
                    ;
                    dC.appendChild(dw);
                    var dA = dH.createElement("input");
                    dA.style.margin = "2px";
                    dA.setAttribute("type", "button");
                    dA.setAttribute("value", "Clear");
                    dC.appendChild(dA);
                    dj = dC.appendChild(dH.createElement("pre"));
                    dj.id = "log-window";
                    var dF = dj.style;
                    dF.width = "100%";
                    dF.minHeight = "0";
                    dF.maxHeight = "550px";
                    dF.borderWidth = "1px";
                    dF.borderStyle = "solid";
                    dF.borderColor = "#999";
                    dF.backgroundColor = "#ddd";
                    dF.overflow = "scroll";
                    dz.onchange = function(dI) {
                        dl = du[dz.selectedIndex];
                        ds();
                    }
                    ;
                    dA.onclick = at;
                    bI(window, function() {
                        if (dv) {
                            dt = l;
                            dB.close();
                        }
                    });
                } catch (dD) {
                    dB.close();
                }
            }
            cq(document, function(dw) {
                var dx = ck(dw, document.documentElement);
                if (M(dx) == 84 && cO(dx) && cf(dx)) {
                    dq();
                    dt = dp;
                }
            });
            return aa(function(dw) {
                dw(y, function(dx, dy) {
                    dr = dy;
                });
                dw(ci, function(dy, dx, dB, dA, dz) {
                    dx(dy, dB, dA, dz);
                });
                dw(m, function(dx, dA, dz, dy) {
                    dt("debug", "#333", dA, dz, dy);
                });
                dw(Z, function(dx, dA, dz, dy) {
                    dt("info", "green", dA, dz, dy);
                });
                dw(cI, function(dx, dA, dz, dy) {
                    dt("warn", "orange", dA, dz, dy);
                });
                dw(cM, function(dx, dA, dz, dy) {
                    dt("error", "red", dA, dz, dy);
                });
            });
        }
        var cx = window.console && window.console.log ? P(m) : cy(m, window.location.href);
        var cX = bX(["window"], cx);
        co.log = cX;
        co.log.debug = m;
        co.log.info = Z;
        co.log.warn = cI;
        co.log.error = cM;
        co.log.childLogger = x;
        var aL;
        var bV;
        var ch = "";
        var bG;
        var G;
        (function() {
            aL = function(du) {
                ch = du ? du : "";
                m(cX, 'persisted focus for element "' + du + '"');
            }
            ;
            function dj(dv, dw) {
                if (dv.createTextRange) {
                    var du = dv.createTextRange();
                    du.move("character", dw);
                    du.select();
                } else {
                    if (dv.selectionStart || dv.selectionStart == 0) {
                        dv.setSelectionRange(dw, dw);
                    }
                }
            }
            function dm(du) {
                if ((cL(du.nodeName) == "input" && du.type == "text") || cL(du.nodeName) == "textarea") {
                    var dv = du.value;
                    dj(du, dv.length);
                }
            }
            function dp(du) {
                return /^\w[\w\-\:]*$/.test(du);
            }
            var dl = /MSIE/.test(navigator.userAgent);
            var dt = function(du) {
                a1(by(function() {
                    if (du && dp(du) && du != ch) {
                        var dx = document.getElementById(du);
                        if (dx) {
                            aL(du);
                            if (dx.focus) {
                                try {
                                    dx.focus();
                                } catch (dv) {} finally {
                                    if (dl) {
                                        try {
                                            dx.focus();
                                        } catch (dw) {}
                                    }
                                    m(cX, 'focused element "' + du + '"');
                                    dm(dx);
                                }
                            }
                        }
                    }
                }, 100));
            }
            ;
            var dn = dt;
            bV = function(du) {
                dn(du);
            }
            ;
            if (dl) {
                var dk;
                a4(window, function() {
                    dk = document.activeElement;
                });
                var at = function(du) {
                    dr(document, "onfocusout", function() {
                        if (dk == document.activeElement) {
                            du();
                        } else {
                            dk = document.activeElement;
                        }
                    });
                }
                ;
                var dq = function(du) {
                    dr(window, "onfocus", du);
                }
                ;
                at(function() {
                    dn = aL;
                });
                dq(function() {
                    dn = dt;
                });
            }
            function dr(dv, du, dw) {
                var dx = dv[du];
                if (dx) {
                    dv[du] = function(dz) {
                        var dy = [dz];
                        dx.apply(dv, dy);
                        dw.apply(dv, dy);
                    }
                    ;
                } else {
                    dv[du] = dw;
                }
            }
            function ds(dw) {
                var du = dw || window.event;
                var dv = du.srcElement || du.target;
                aL(dv.id);
            }
            bG = function(du) {
                if (du.attachEvent) {
                    du.attachEvent("onfocusin", ds);
                } else {
                    du.addEventListener("focus", ds, true);
                }
            }
            ;
            G = function(du) {
                var dv = du.id;
                co.onAfterUpdate(function(dw) {
                    if (b2(dw, function(dx) {
                        return dx.getAttribute("id") == dv;
                    })) {
                        bG(cm(dv));
                    }
                });
            }
            ;
        })();
        co.setFocus = aL;
        co.sf = aL;
        co.applyFocus = bV;
        co.af = bV;
        var cN = bb();
        var a = bb();
        var aD = function(at, dj) {
            return aP(function(dk) {
                dk(cN, function(dl) {
                    return encodeURIComponent(at) + "=" + encodeURIComponent(dj);
                });
                dk(a, function(dl, dm) {
                    bk(dm, dl);
                });
            }, q(at, dj));
        }
        ;
        var bk = bb();
        var aN = bb();
        var I = bb();
        var am = bb();
        var e = bb();
        var bv = function() {
            var at = [];
            return aa(function(dj) {
                dj(I, function(dk) {
                    return at;
                });
                dj(bk, function(dk, dl) {
                    u(at, dl);
                    return dk;
                });
                dj(aN, function(dk, dl, dm) {
                    u(at, aD(dl, dm));
                    return dk;
                });
                dj(am, function(dk, dl) {
                    a(dl, dk);
                    return dk;
                });
                dj(a, function(dk, dl) {
                    af(at, cE(bk, dl));
                });
                dj(cN, function(dk) {
                    return bZ(bB(at, cN), "&");
                });
                dj(e, function(dk, dl) {
                    if (b6(cd(at))) {
                        return dl + (au(dl, "?") ? "&" : "?") + cN(dk);
                    } else {
                        return dl;
                    }
                });
                dj(aI, function(dk) {
                    return ap(at, "", function(dl, dm) {
                        return dl + "|" + j(dm) + "=" + h(dm) + "|\n";
                    });
                });
            });
        }
        ;
        var dg = bb();
        var c6 = bb();
        var bi = bb();
        var aX = bb();
        var dc = function(dl) {
            var dk;
            if (window.XMLHttpRequest) {
                dk = function() {
                    return new XMLHttpRequest();
                }
                ;
            } else {
                if (window.ActiveXObject) {
                    dk = function() {
                        return new window.ActiveXObject("Microsoft.XMLHTTP");
                    }
                    ;
                } else {
                    throw "cannot create XMLHttpRequest";
                }
            }
            function dj(dm) {
                var dn = bv();
                dm(dn);
                return dn;
            }
            var at = dl ? aU : l;
            return aa(function(dm) {
                dm(c6, function(dp, du, dt, dq, dv) {
                    var ds = dk();
                    var dr = db(ds);
                    var dn = aw(ds);
                    ds.open("GET", e(dj(dt), du), true);
                    dq(dr);
                    ds.onreadystatechange = function() {
                        if (ds.readyState == 4) {
                            dv(dn, dr);
                            at(dr);
                        }
                    }
                    ;
                    ds.send("");
                    return dr;
                });
                dm(dg, function(dp, du, dt, dq, dv) {
                    var ds = dk();
                    var dr = db(ds);
                    var dn = aw(ds);
                    ds.open("GET", e(dj(dt), du), false);
                    dq(dr);
                    ds.send("");
                    dv(dn, dr);
                    at(dr);
                });
                dm(aX, function(dp, du, dt, dq, dv) {
                    var ds = dk();
                    var dr = db(ds);
                    var dn = aw(ds);
                    ds.open("POST", du, true);
                    dq(dr);
                    ds.onreadystatechange = function() {
                        if (ds.readyState == 4) {
                            dv(dn, dr);
                            at(dr);
                        }
                    }
                    ;
                    ds.send(cN(dj(dt)));
                    return dr;
                });
                dm(bi, function(dp, du, dt, dq, dv) {
                    var ds = dk();
                    var dr = db(ds);
                    var dn = aw(ds);
                    ds.open("POST", du, false);
                    dq(dr);
                    ds.send(cN(dj(dt)));
                    dv(dn, dr);
                    at(dr);
                });
            });
        }
        ;
        var aU = bb();
        var cB = bb();
        var cT = bb();
        var cc = bb();
        var db = function(at) {
            return aa(function(dj) {
                dj(cT, function(dk, dl, dm) {
                    at.setRequestHeader(dl, dm);
                });
                dj(aU, function(dk) {
                    at.onreadystatechange = l;
                });
                dj(cB, function(dk) {
                    at.onreadystatechange = l;
                    at.abort();
                    dj(cB, l);
                });
            });
        }
        ;
        var w = bb();
        var ag = bb();
        var f = bb();
        var aE = bb();
        var ac = bb();
        var b3 = bb();
        var cg = bb();
        var aw = function(at) {
            return aa(function(dj) {
                dj(w, function() {
                    try {
                        return at.status;
                    } catch (dk) {
                        return 0;
                    }
                });
                dj(ag, function(dk) {
                    try {
                        return at.statusText;
                    } catch (dl) {
                        return "";
                    }
                });
                dj(ac, function(dk, dl) {
                    try {
                        var dn = at.getResponseHeader(dl);
                        return dn && dn != "";
                    } catch (dm) {
                        return false;
                    }
                });
                dj(f, function(dk, dl) {
                    try {
                        return at.getResponseHeader(dl);
                    } catch (dm) {
                        return null ;
                    }
                });
                dj(aE, function(dk, dl) {
                    try {
                        return bB(H(n(at.getAllResponseHeaders(), "\n"), cd), function(dp) {
                            var dn = n(dp, ": ");
                            return q(dn[0], dn[1]);
                        });
                    } catch (dm) {
                        return [];
                    }
                });
                dj(b3, function(dk) {
                    try {
                        return at.responseText;
                    } catch (dl) {
                        return "";
                    }
                });
                dj(cg, function(dk) {
                    return at.responseXML;
                });
                dj(aI, function(dk) {
                    return ap(aE(dk), "HTTP Response\n", function(dl, dm) {
                        return dl + j(dm) + ": " + h(dm) + "\n";
                    }) + b3(dk);
                });
            });
        }
        ;
        function aW(at) {
            return w(at) == 200;
        }
        function bc(at) {
            return w(at) == 404;
        }
        function bf(at) {
            var dj = w(at);
            return dj >= 500 && dj < 600;
        }
        function aQ(at) {
            cT(at, "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
        }
        function bE(dl, dj, dm, at) {
            var dk = document.createElement("input");
            dk.setAttribute("name", dj);
            dk.setAttribute("value", dm);
            dk.setAttribute("type", "hidden");
            if (at) {
                dk.defaultValue = at;
            }
            dl.appendChild(dk);
            return dk;
        }
        function a5(dl, dj, dm, at) {
            var dk = dl[dj];
            if (!dk) {
                bE(dl, dj, dm, at);
            } else {
                if (dk.value != dm) {
                    dk.parentNode.removeChild(dk);
                    bE(dl, dj, dm, at);
                }
            }
        }
        var b7 = [];
        function v(dk) {
            u(b7, dk);
            var dj = ai(dk);
            var at = cm(dj);
            a5(at, "ice.view", dk);
            a5(at, "ice.window", co.window);
            return function() {
                var dm = cm(dj);
                if (dm) {
                    try {
                        m(cX, "picking updates for view " + dk);
                        var dl = {
                            "ice.submit.type": "ice.push",
                            render: "@all"
                        };
                        jsf.ajax.request(dm, null , dl);
                    } catch (dn) {
                        cI(cX, "failed to pick updates", dn);
                    }
                }
            }
            ;
        }
        var U = dc();
        function de(at) {
            return function() {
                var dl = cm(A(at));
                if (dl) {
                    try {
                        var dj = ao(dl, "javax.faces.encodedURL");
                        var dk = dj ? dj.value : dl.action;
                        dl.action = dk.replace(/(\?|&)cid=[0-9]+/, "$1");
                        m(cX, "dispose window and associated views " + b7);
                        bi(U, dl.action, function(dn) {
                            aN(dn, "ice.submit.type", "ice.dispose.window");
                            aN(dn, "ice.window", co.window);
                            aN(dn, "javax.faces.ViewState", ad(dl));
                            af(b7, cE(aN, dn, "ice.view"));
                        }, aQ, l);
                    } catch (dm) {
                        cI(cX, "failed to notify window disposal", dm);
                    }
                }
            }
            ;
        }
        function a8() {
            v = l;
            if (co.push) {
                af(b7, co.push.deregister);
            }
            c4(cJ);
        }
        function r(at) {
            return at && at.documentElement;
        }
        function al(at) {
            return at.documentElement.nodeName == "html";
        }
        function cZ(at, dj, dk) {
            at = at || [];
            dj = dj || [];
            dk = dk || [];
            var dl;
            return function(dm) {
                var dn = dm.source;
                if (dn) {
                    dn = cm(dn.id);
                    try {
                        dl = J(dn);
                    } catch (dq) {}
                    if (dl) {
                        switch (dm.status) {
                        case "begin":
                            var dp = false;
                            if (dn.id != ai(J(dn))) {
                                dp = true;
                            }
                            c4(at, [dn, dp]);
                            break;
                        case "complete":
                            var dr = dm.responseXML;
                            if (r(dr)) {
                                if (al(dr)) {
                                    document.location = document.location.href;
                                } else {
                                    c4(dj, [dr, dn]);
                                }
                            } else {
                                cI(cX, "the response does not contain XML data");
                                if (aq(dn).reloadOnUpdateFailure) {
                                    cI(cX, "reloading page ...");
                                    document.location = document.location.href;
                                }
                            }
                            break;
                        case "success":
                            var dr = dm.responseXML;
                            c4(dk, [dr, dn]);
                            break;
                        }
                    }
                } else {
                    cI(cX, "Source element is undefined, cannot determine if this view is ICEfaces enabled.");
                }
            }
            ;
        }
        function b5(dk, at, dj) {
            dk = dk || [];
            at = at || [];
            return function(dm) {
                if (dm.status == "serverError") {
                    var dn = dm.responseXML;
                    if (r(dn) && dj) {
                        var dl = dn.getElementsByTagName("error-name")[0].firstChild.nodeValue;
                        if (dl && au(dl, "org.icefaces.application.SessionExpiredException")) {
                            Z(cX, "received session expired message");
                            dj();
                            return;
                        }
                    }
                    Z(cX, "received error message [code: " + dm.responseCode + "]: " + dm.responseText);
                    c4(at, [dm.responseCode, dm.responseText, r(dn) ? dn : null ]);
                } else {
                    if (dm.status == "httpError") {
                        cI(cX, "HTTP error [code: " + dm.responseCode + "]: " + dm.description);
                        c4(dk, [dm.responseCode, dm.description]);
                    } else {
                        cM(cX, "Error [status: " + dm.status + " code: " + dm.responseCode + "]: " + dm.description);
                    }
                }
            }
            ;
        }
        jsf.ajax.addOnEvent(cZ(aB, g, ca));
        jsf.ajax.addOnError(b5(b4, bJ, a8));
        function aJ(dk) {
            if ("success" == dk.status) {
                var dl = dk.responseXML;
                var dj = dl.documentElement.firstChild.childNodes;
                var at = bB(dj, function(ds) {
                    var dr = ds.getAttribute("id");
                    var dn = ds.nodeName;
                    var dp = dn + (dr ? '["' + dr + '"]' : "");
                    if ("update" == dn) {
                        dp += ": " + a3(ds.firstChild.data, 0, 40) + "....";
                    } else {
                        if ("insert" == dn) {
                            var dm = ds.firstChild.getAttribute("id");
                            var dq = ds.firstChild.firstChild.data;
                            dp += ": " + ds.firstChild.nodeName + " " + dm + ": " + a3(dq, 0, 40) + "....";
                        } else {
                            if ("eval" == dn) {
                                dp += ": " + a3(ds.firstChild.data, 0, 40) + "....";
                            }
                        }
                    }
                    return dp;
                });
                m(cX, "applied updates >>\n" + bZ(at, "\n"));
            }
        }
        jsf.ajax.addOnEvent(aJ);
        var T;
        var da;
        var bD;
        var bU;
        var cv;
        (function() {
            function dm(dw) {
                return cp(dw) ? document.getElementById(dw) : dw;
            }
            function dr(dw) {
                return cL(dw.nodeName) == "form" ? dw : bQ(dw);
            }
            function dl(dz, dy) {
                var dw = dy.id;
                var dx = document.getElementById(dz + ":ajaxDisabled");
                return dx && au(n(aA(dx.value), " "), dw);
            }
            function dt(dw) {
                return aq(dw).standardFormSerialization;
            }
            function dv(dx, dw) {
                var dy = aa(function(dz) {
                    dz(aN, function(dA, dB, dC) {
                        dw[dB] = dC;
                    });
                });
                a(dx, dy);
            }
            function dp(dw) {
                return dw["javax.faces.encodedURL"] ? dw["javax.faces.encodedURL"].value : dw.action;
            }
            function dj(dw, dx) {
                if (dw) {
                    dw(function(dy, dz) {
                        dx[dy] = dz;
                    });
                }
            }
            function dq(dA, dy) {
                if (dA && dy.name && dy.id) {
                    var dz = dA.split(" ");
                    for (var dx = 0, dw = dz.length; dx < dw; dx++) {
                        if (dz[dx] == dy.name) {
                            return dA;
                        }
                    }
                    dA = dA + " " + dy.name;
                }
                return dA;
            }
            cv = function(dE, dQ, dK, dy, dA, dP) {
                var dJ = J(dy);
                var dx = document.getElementById(A(dJ));
                var dH = [];
                try {
                    var dw = dx.appendChild(dy.cloneNode(true));
                    u(dH, dw);
                    var dz = cL(dy.nodeName);
                    if (dz == "input") {
                        if (dy.type == "radio") {
                            dw.checked = dy.checked;
                            dE = dq(dE, dy);
                        }
                        if (dy.type == "checkbox") {
                            dw.checked = dy.checked;
                            var dS = dy.name;
                            af(dy.form.elements, function(dT) {
                                if (dT.name == dS && dT != dy) {
                                    var dU = dx.appendChild(dT.cloneNode(true));
                                    u(dH, dU);
                                    dU.checked = dT.checked;
                                }
                            });
                            dE = dq(dE, dy);
                        }
                    } else {
                        if (dz == "select") {
                            var dB = dw.options;
                            af(dy.options, function(dU, dT) {
                                dB[dT].selected = dU.selected;
                            });
                        } else {
                            if (dz == "textarea") {
                                dw.value = dy.value;
                            }
                        }
                    }
                    dK = dK || null ;
                    var dI = [];
                    var dG = [];
                    var dO = [];
                    var dN = [];
                    var dM = [];
                    if (dP) {
                        dP(cE(u, dI), cE(u, dG), cE(u, dO), cE(u, dN), cE(u, dM));
                    }
                    if (b(dy)) {
                        u(dO, du(dy, dx));
                    }
                    var dD = cZ(dI, dG, dO);
                    var dR = b5(dN, dM);
                    var dC = {
                        execute: dE,
                        render: dQ,
                        onevent: dD,
                        onerror: dR,
                        "ice.window": co.window,
                        "ice.view": dJ,
                        "ice.focus": ch
                    };
                    var dF = ck(dK, dy);
                    if (cG(dF) && bM(dF)) {
                        ah(dF);
                        c8(dF);
                    }
                    dv(dF, dC);
                    dj(dA, dC);
                    m(cX, bZ(["partial submit to " + dp(dx), "javax.faces.execute: " + dE, "javax.faces.render: " + dQ, "javax.faces.source: " + dy.id, "view ID: " + dJ, "event type: " + ab(dF)], "\n"));
                    co.submitFunction(dw, dK, dC);
                } catch (dL) {
                    m(cX, "singleSubmit failed " + dL);
                } finally {
                    if (window.myfaces) {
                        u(dO, function() {
                            af(dH, function(dT) {
                                dx.removeChild(dT);
                            });
                        });
                    } else {
                        af(dH, function(dT) {
                            dx.removeChild(dT);
                        });
                    }
                }
            }
            ;
            T = function(dz, dA, dw, dy) {
                var dx = dm(dA);
                if (dt(dx)) {
                    return bU("@this", "@all", dz, dx, function(dB) {
                        dB("ice.submit.type", "ice.se");
                        dB("ice.submit.serialization", "form");
                        if (dw) {
                            dw(dB);
                        }
                    }, dy);
                } else {
                    return cv("@this", "@all", dz, dx, function(dB) {
                        dB("ice.submit.type", "ice.se");
                        dB("ice.submit.serialization", "element");
                        if (dw) {
                            dw(dB);
                        }
                    }, dy);
                }
            }
            ;
            da = function(dz, dA, dw, dy) {
                var dx = dm(dA);
                if (dt(dx)) {
                    return bU("@this", "@this", dz, dx, function(dB) {
                        dB("ice.submit.type", "ice.ser");
                        dB("ice.submit.serialization", "form");
                        if (dw) {
                            dw(dB);
                        }
                    }, dy);
                } else {
                    return cv("@this", "@this", dz, dx, function(dB) {
                        dB("ice.submit.type", "ice.ser");
                        dB("ice.submit.serialization", "element");
                        if (dw) {
                            dw(dB);
                        }
                    }, dy);
                }
            }
            ;
            var ds = "patch+";
            var dn = "patch-";
            function at(dw) {
                if (!dw) {
                    return null ;
                }
                return (dw.currentTarget) ? dw.currentTarget : ((dw.target) ? dw.target : dw.srcElement);
            }
            function dk(dx) {
                var dw = cL(dx.nodeName);
                return (dw == "input" && (dx.name != "javax.faces.ViewState")) || dw == "select" || dw == "textarea";
            }
            function du(dw, dx) {
                return function(dz) {
                    var dy = ap(dz.getElementsByTagName("update"), [], function(dB, dD) {
                        var dC = dD.getAttribute("id");
                        if (dC == "javax.faces.ViewState" || d(dC, "_fixviewstate")) {
                            return dB;
                        } else {
                            return u(dB, cm(dC));
                        }
                    });
                    var dA = ap(dy, [dx], function(dB, dC) {
                        if (dk(dC) && b6(au(dB, dC.form))) {
                            u(dB, dC.form);
                        } else {
                            af(dC.getElementsByTagName("form"), function(dD) {
                                u(dB, dD);
                            });
                        }
                        return dB;
                    });
                    af(dA, function(dB) {
                        m(cX, 'recalculate initial parameters for updated form["' + dB.id + '"]');
                        dB.previousParameters = b8(jsf.getViewState(dB).split("&"));
                    });
                }
                ;
            }
            bU = function(dF, d2, dO, dy, dB, d1) {
                var dQ = null ;
                var dD = at(dO);
                var dP = (dD) ? dD : aM(ck(dO, dy));
                if (dP && (dP.tagName) && (cL(dP.tagName) == "form")) {
                    dP = dy;
                }
                if (cL(dy.tagName) == "form") {
                    dQ = dy;
                } else {
                    dQ = dr(dy);
                }
                var dM = dQ.id;
                var dL = false;
                var dZ = dP;
                while (null != dZ) {
                    if ((dZ.tagName) && (cL(dZ.tagName) == "form")) {
                        break;
                    }
                    if (dl(dM, dZ)) {
                        dL = true;
                        break;
                    }
                    dZ = dZ.parentNode;
                }
                if (dL) {
                    if (dQ && dQ.nativeSubmit) {
                        var dT = document.createElement("input");
                        dT.setAttribute("type", "hidden");
                        dT.setAttribute("name", dP.name);
                        dT.setAttribute("value", dP.value);
                        dQ.appendChild(dT);
                        dQ.nativeSubmit();
                        dQ.removeChild(dT);
                    }
                } else {
                    dO = dO || null ;
                    var dJ = [];
                    var dH = [];
                    var dW = [];
                    var dU = [];
                    var dS = [];
                    if (d1) {
                        d1(cE(u, dJ), cE(u, dH), cE(u, dW), cE(u, dU), cE(u, dS));
                    }
                    var dK = J(dy);
                    var dE = cZ(dJ, dH, dW);
                    var d4 = b5(dU, dS);
                    var dC = {
                        execute: dF,
                        render: d2,
                        onevent: dE,
                        onerror: d4,
                        "ice.window": co.window,
                        "ice.view": dK,
                        "ice.focus": ch
                    };
                    var dG = ck(dO, dy);
                    if (cG(dG) && bM(dG)) {
                        ah(dG);
                        c8(dG);
                    }
                    try {
                        dv(dG, dC);
                    } catch (dR) {
                        m(cX, "Unable to serialize event " + dR);
                    }
                    dj(dB, dC);
                    var dx = dr(dy);
                    var dA = b(dy);
                    m(cX, bZ([(dA ? "delta " : "") + "full submit to " + dp(dx), "javax.faces.execute: " + dF, "javax.faces.render: " + d2, "javax.faces.source: " + dy.id, "view ID: " + dK, "event type: " + ab(dG)], "\n"));
                    if (dA) {
                        u(dW, du(dy, dQ));
                        var d3 = dx.previousParameters || b8();
                        var d0 = b8(jsf.getViewState(dx).split("&"));
                        var dI = bO(d0, d3);
                        var dz = bO(d3, d0);
                        function dV(d5) {
                            return function(d6) {
                                var d7 = n(d6, "=");
                                d5(decodeURIComponent(d7[0]), decodeURIComponent(d7[1]));
                            }
                            ;
                        }
                        var dN = document.getElementById(A(dK));
                        var dY = [];
                        var dw;
                        if (cL(dy.nodeName) == "form") {
                            dw = document.createElement("input");
                            dw.setAttribute("id", dy.id);
                            dw.setAttribute("name", dy.id);
                            dw.setAttribute("value", dy.id);
                            dw.setAttribute("type", "hidden");
                        } else {
                            dw = dy.cloneNode(true);
                            dw.value = dy.value;
                        }
                        u(dY, dN.appendChild(dw));
                        function dX(d5, d6) {
                            u(dY, bE(dN, d5, d6));
                        }
                        try {
                            dX("ice.deltasubmit.form", dx.id);
                            dX(dx.id, dx.id);
                            af(dI, dV(function(d5, d6) {
                                dX(ds + d5, d6);
                            }));
                            af(dz, dV(function(d5, d6) {
                                dX(dn + d5, d6);
                            }));
                            co.submitFunction(dw, dO, dC);
                        } finally {
                            af(dY, function(d5) {
                                dN.removeChild(d5);
                            });
                        }
                    } else {
                        co.submitFunction(dy, dO, dC);
                    }
                }
            }
            ;
            bD = function(dz, dx, dw, dy) {
                return bU("@all", "@all", dz, dm(dx), function(dA) {
                    dA("ice.submit.type", "ice.s");
                    dA("ice.submit.serialization", "form");
                    if (dw) {
                        dw(dA);
                    }
                }, dy);
            }
            ;
        })();
        co.se = T;
        co.ser = da;
        co.submit = bD;
        co.s = bD;
        co.fullSubmit = bU;
        co.ajaxRefresh = function(dj) {
            dj = dj || (document.body.configuration ? document.body.configuration.viewID : null );
            if (!dj) {
                throw "viewID parameter required";
            }
            var at = aq(cm(ai(dj)));
            if (!at.ajaxRefresh) {
                at.ajaxRefresh = v(dj);
            }
            at.ajaxRefresh();
        }
        ;
        function bq(at) {
            at.onkeypress = null ;
            at.onmousedown = null ;
            at.onmousemove = null ;
            at.onmouseout = null ;
            at.onmouseover = null ;
            at.onclick = null ;
            at.oncontextmenu = null ;
            at.onchange = null ;
            at.onfocus = null ;
            at.onblur = null ;
            at.submit = null ;
            at.onsubmit = null ;
            at.onkeydown = null ;
            at.onkeyup = null ;
            at.ondblclick = null ;
            at.onfocusout = null ;
        }
        co.setupBridge = function(dk, dm, dj, dl) {
            var at = document.getElementById(dk).parentNode;
            at.setupCount = at.setupCount ? (at.setupCount + 1) : 1;
            if (at.setupCount == 1) {
                at.configuration = dl;
                at.configuration.viewID = dm;
                co.window = dj;
                if (dl.sendDisposeWindow) {
                    ak(window, de(dm));
                }
                if (dl.focusManaged) {
                    bG(at);
                    G(at);
                }
                bR(at, dl);
                bI(window, function() {
                    at.configuration = null ;
                    af(["a", "iframe"], function(dn) {
                        af(at.getElementsByTagName(dn), bq);
                    });
                    af(at.getElementsByTagName("form"), function(dp) {
                        try {
                            dp.submit = null ;
                        } catch (dn) {}
                        dp.onsubmit = null ;
                        af(dp.elements, bq);
                    });
                });
            }
        }
        ;
        co.setupPush = function(at) {
            ice.push.register([at], v(at));
        }
        ;
        co.setupRefresh = function(dq, dj, dm, dp) {
            var dn = dm < 0 ? null : Math.floor(dm / dj);
            var dl = v(dq);
            var dk = by(dl, dj);
            Y(dk, dn);
            var at = cE(bC, dk);
            co.onSessionExpiry(at);
            co.onNetworkError(at);
            co.onServerError(at);
            co.onUnload(at);
            co.onElementUpdate(dp, at);
        }
        ;
        co.captureKeypress = function(dk, dj) {
            var at = document.getElementById(dk);
            at.onkeypress = function(dp) {
                var dq = ck(dp, at);
                var dm = aM(dq);
                var dn = cL(dm.nodeName);
                if (dn != "textarea" && dn != "a") {
                    if (dj) {
                        var dl = dj[M(dq)];
                        if (dl) {
                            dm = cm(dl);
                            bD(dp || window.event, dm);
                            return false;
                        }
                    }
                    if (bM(dq)) {
                        var dr = dm;
                        while (dr && !dr.submitOnEnter) {
                            dr = dr.parentNode;
                        }
                        if (dr && dr.submitOnEnter == "disabled") {
                            return false;
                        } else {
                            bD(dp || window.event, dm);
                            return false;
                        }
                    }
                    return true;
                }
            }
            ;
        }
        ;
        co.captureSubmit = function(dj) {
            var at = document.getElementById(dj);
            at.nativeSubmit = at.submit;
            at.submit = function() {
                var dm = null ;
                if (typeof (event) != "undefined") {
                    dm = event;
                } else {
                    if (window.event) {
                        dm = window.event;
                    } else {
                        var dl = null ;
                        dl = arguments.callee.caller.caller;
                        if (null == dl) {
                            dl = arguments.callee.caller;
                        }
                        var dk = dl.arguments[0];
                        if (typeof (dk.target) != "undefined") {
                            dm = dk;
                        }
                    }
                }
                bD(dm, at);
            }
            ;
            af(["onkeydown", "onkeypress", "onkeyup", "onclick", "ondblclick", "onchange"], function(dk) {
                at[dk] = function(dn) {
                    var dm = dn || window.event;
                    var dl = dm.target || dm.srcElement;
                    at.onsubmit = function() {
                        if (dl.name && !dl.id) {
                            var dq = document.getElementById(dl.name);
                            if (!dq || !dq.id) {
                                dl.id = dl.name;
                            }
                        }
                        var dp = document.getElementById(dl.id);
                        bD(dm, dp ? dl : at);
                        at.onsubmit = null ;
                        return false;
                    }
                    ;
                }
                ;
            });
        }
        ;
        co.enableSingleSubmit = function(dl, dj) {
            var dk = document.getElementById(dl);
            dk.singleSubmit = "enabled";
            function at(du) {
                var dm;
                if (window.event) {
                    dm = window.event.type;
                } else {
                    dm = du.type;
                }
                if (0 == dm.indexOf("on")) {
                    dm = dm.substr(2);
                }
                var dr = ck(du, dk);
                var dp = aM(dr);
                var dv = dp;
                while (dv && !dv.singleSubmit) {
                    dv = dv.parentNode;
                }
                if (dv.singleSubmit == "disabled") {
                    return;
                }
                var ds = dp.type;
                if (!ds) {
                    return;
                }
                ds = cL(ds);
                if (ds == "image") {
                    return;
                }
                if (ds == "submit") {
                    return;
                }
                if ((null == dp.id) || ("" == dp.id)) {
                    return;
                }
                var dq = ((ds == "text") || (ds == "password") || (ds == "textarea"));
                if (dq) {
                    if ((dm == "click") || !dj && dm == "blur") {
                        return;
                    }
                    if (!dj && dm == "focusout") {
                        if (dp.value == dp.previousTextValue) {
                            return;
                        }
                        dp.previousTextValue = dp.value;
                    }
                }
                if (ds == ("select-one")) {
                    if (dm != "change") {
                        if (dm == "click" && dp.selectedIndex <= 0 && !dp.previouslySelected) {
                            dp.previouslySelected = dp.selectedIndex;
                            return;
                        }
                        if (dp.selectedIndex == dp.previouslySelected) {
                            return;
                        }
                        dp.previouslySelected = dp.selectedIndex;
                    }
                }
                if (ds == ("select-multiple")) {
                    if (dm != "change") {
                        var dt = 0;
                        for (var dn = 0; dn < dp.options.length; dn++) {
                            if (dp.options[dn].selected) {
                                dt++;
                            }
                        }
                        if (dt == dp.previousNumberOfSelected && dp.selectedIndex == dp.previouslySelected) {
                            return;
                        }
                        dp.previouslySelected = dp.selectedIndex;
                        dp.previousNumberOfSelected = dt;
                    }
                }
                ice.setFocus(null );
                ice.se(dr, dp);
            }
            if (dk.addEventListener) {
                dk.addEventListener("blur", at, dj);
                dk.addEventListener("change", at, false);
            } else {
                dk.attachEvent("onfocusout", at);
                dk.attachEvent("onclick", at);
            }
        }
        ;
        co.cancelSingleSubmit = function(dk) {
            if (typeof dk != "string") {
                return;
            }
            var dj = document.getElementById(dk);
            if (!dj) {
                return;
            }
            var at = function(dl) {
                dl = dl || window.event;
                if (dl.stopPropagation) {
                    dl.stopPropagation();
                }
                dl.cancelBubble = true;
            }
            ;
            if (dj.addEventListener) {
                dj.addEventListener("blur", at, false);
                dj.addEventListener("change", at, false);
            } else {
                dj.attachEvent("onfocusout", at);
                dj.attachEvent("onclick", at);
            }
        }
        ;
        co.disableSingleSubmit = function(dj) {
            var at = cm(dj);
            at.singleSubmit = "disabled";
        }
        ;
        co.calculateInitialParameters = function(dj) {
            var at = document.getElementById(dj);
            at.previousParameters = b8(jsf.getViewState(at).split("&"));
        }
        ;
        co.fixViewState = function(dm, dl) {
            var dk = cm(dm);
            try {
                var at = V(dk);
                if (at.value != dl) {
                    at.value = dl;
                }
            } catch (dj) {
                bE(dk, "javax.faces.ViewState", dl, dl);
            }
        }
        ;
        co.fixViewStates = function(dk, dj) {
            for (var at = 0; at < dk.length; at++) {
                co.fixViewState(dk[at], dj);
            }
        }
        ;
        function E(at) {
            return ao(at, "javax.faces.encodedURL") || ao(at, "javax.faces.ViewState") || ao(at, "ice.window") || ao(at, "ice.view") || (at.id && at[at.id] && at.id == at[at.id].value);
        }
        function p(dj, dk) {
            var at = b2(dj.getElementsByTagName("update"), function(dl) {
                return dl.getAttribute("id") == "javax.faces.ViewState";
            });
            if (at) {
                dk(at.firstChild.data);
            }
        }
        function S(dj, at) {
            af(dj.getElementsByTagName("update"), function(dp) {
                var dn = dp.getAttribute("id");
                var dm = cm(dn);
                if (dm) {
                    if (cL(dm.nodeName) == "form") {
                        if (E(dm)) {
                            at(dm);
                        }
                    } else {
                        var dk = bZ(bB(dp.childNodes, function(dq) {
                            return dq.data;
                        }), "");
                        var dl = dk.match(/\<form[^\<]*\>/g);
                        if (dl) {
                            af(dl, function(dt) {
                                var dq = dt.match(/id="([\S]*?)"/im);
                                if (dq && dq[1]) {
                                    var ds = dq[1];
                                    var dr = document.getElementById(ds);
                                    if (dr && E(dr)) {
                                        at(dr);
                                    }
                                }
                            });
                        }
                    }
                }
            });
        }
        co.onAfterUpdate(function(at) {
            p(at, function(dj) {
                S(at, function(dm) {
                    try {
                        var dk = V(dm);
                        if (dk.value != dj) {
                            dk.value = dj;
                        }
                    } catch (dl) {
                        bE(dm, "javax.faces.ViewState", dj, dj);
                        m(cX, 'append missing "javax.faces.ViewState" input element to form["' + dm.id + '"]');
                    }
                });
            });
        });
        co.onAfterUpdate(function(at) {
            ce = H(ce, function(dj) {
                var dn = j(dj);
                var dk = !document.getElementById(dn);
                if (dk) {
                    var dm = h(dj);
                    try {
                        dm();
                    } catch (dl) {}
                }
                return dk;
            });
        });
        function bL(dj, at) {
            return dj == at || au(bs(at), dj);
        }
        function be(dl) {
            var dk = dl.getAttribute("id");
            if ("javax.faces.ViewState" === dk) {
                return;
            }
            var dj = dk.substr(dk.length - 13);
            if ("_fixviewstate" === dj) {
                return;
            }
            var at = cm(dk);
            if (at) {
                di = H(di, function(dp) {
                    var dm = au(dp.ancestors, "*" + dk + "*");
                    if (dm) {
                        var ds = dp.identifier;
                        var dn = cm(ds);
                        if (dn) {
                            var dr = dp.handler;
                            try {
                                dr(dn);
                            } catch (dq) {}
                        }
                        return true;
                    } else {
                        return false;
                    }
                });
            }
        }
        co.onBeforeUpdate(function(at) {
            af(at.getElementsByTagName("update"), be);
            af(at.getElementsByTagName("delete"), be);
        });
        var cY;
        co.onBeforeSubmit(function(at) {
            var inputElement = ao(br(at), "ice.view");
			cY = inputElement ? inputElement.value : null;
        });
        co.onAfterUpdate(function(at) {
            p(at, function(dj) {
                af(document.getElementsByTagName("form"), function(dm) {
                    var dk = ao(dm, "ice.view");
                    var dl = ao(dm, "javax.faces.ViewState");
                    if (dl && dk && dk.value == cY) {
                        dl.value = dj;
                    }
                });
            });
        });
        ak(window, function() {
            b4 = [];
        });
        a6(document, function(at) {
            var dj = ck(at);
            if (N(dj)) {
                c8(dj);
            }
        });
        var bR;
        (function() {
            function dj(dv, du, dl) {
                dl();
                var dn = document.body.appendChild(document.createElement("div"));
                dn.className = "ice-status-indicator";
                var dm = dn.style;
                dm.position = "absolute";
                dm.textAlign = "center";
                dm.zIndex = "28001";
                dm.color = "black";
                dm.backgroundColor = "white";
                dm.paddingLeft = "10px";
                dm.paddingRight = "10px";
                dm.paddingTop = "15px";
                dm.paddingBottom = "15px";
                dm.borderBottomColor = "gray";
                dm.borderRightColor = "gray";
                dm.borderTopColor = "silver";
                dm.borderLeftColor = "silver";
                dm.borderWidth = "2px";
                dm.borderStyle = "solid";
                var dr = dn.appendChild(document.createElement("div"));
                dr.appendChild(document.createTextNode(dv));
                dr.className = "ice-status-indicator-message";
                var dt = dr.style;
                dt.textAlign = "left";
                dt.fontSize = "14px";
                dt.fontSize = "14px";
                dt.fontWeight = "bold";
                var dq = dr.appendChild(document.createElement("div"));
                dq.innerHTML = du;
                dq.className = "ice-status-indicator-description";
                var ds = dq.style;
                ds.fontSize = "11px";
                ds.marginTop = "7px";
                ds.marginBottom = "7px";
                ds.fontWeight = "normal";
                var dp = function() {
                    dm.left = ((window.width() - dn.clientWidth) / 2) + "px";
                    dm.top = ((window.height() - dn.clientHeight) / 2) + "px";
                }
                ;
                dp();
                cP(window, dp);
            }
            function at(dl) {
                return function() {
                    var dp = dl.ownerDocument.createElement("iframe");
                    dp.setAttribute("src", "about:blank");
                    dp.setAttribute("frameborder", "0");
                    dp.className = "ice-status-indicator-overlay";
                    var dm = dp.style;
                    dm.top = "0";
                    dm.left = "0";
                    dl.appendChild(dp);
                    var dn = dl.tagName.toLowerCase() == "body" ? function() {
                        dm.width = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth) + "px";
                        dm.height = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight) + "px";
                    }
                    : function() {
                        dm.width = dl.offsetWidth + "px";
                        dm.height = dl.offsetHeight + "px";
                    }
                    ;
                    dn();
                    cP(window, dn);
                }
                ;
            }
            function dk(dl, dn) {
                var dq = new RegExp("<" + dl + "[^<]*>","g").exec(dn);
                var dm = new RegExp("</" + dl + ">","g").exec(dn);
                var dp = dn.substring(dq.index, dm.index + dm[0].length);
                return dp.substring(dp.indexOf(">") + 1, dp.lastIndexOf("<"));
            }
            bR = function(dl, dp) {
                var dm = at(dl);
                function dn() {
                    return !(co.disableDefaultErrorPopups || dp.disableDefaultErrorPopups);
                }
                co.onServerError(function(dt, dq, du) {
                    if (dn()) {
                        var ds;
                        var dr;
                        if (du) {
                            ds = du.getElementsByTagName("error-message")[0].firstChild.nodeValue;
                            dr = du.getElementsByTagName("error-name")[0].firstChild.nodeValue;
                        } else {
                            ds = dk("title", dq);
                            dr = dk("body", dq);
                        }
                        dj(ds, dr, dm);
                    }
                });
                co.onNetworkError(function() {
                    if (dn()) {
                        dj("Network Connection Interrupted", "Reload this page to try to reconnect.", dm);
                    }
                });
                co.onSessionExpiry(function() {
                    if (dn()) {
                        dj("User Session Expired", "Reload this page to start a new user session.", dm);
                    }
                });
            }
            ;
        })();
        (function() {
            var dn = bb();
            function at(ds) {
                var dp = ds || document.body;
                var dr = dp.ownerDocument.createElement("iframe");
                dr.setAttribute("src", "about:blank");
                dr.setAttribute("frameborder", "0");
                dr.className = "ice-blockui-overlay";
                var dq = dr.style;
                dq.top = "0";
                dq.left = "0";
                if (dp.tagName.toLowerCase() == "body") {
                    dq.width = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth) + "px";
                    dq.height = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight) + "px";
                } else {
                    dq.width = dp.offsetWidth + "px";
                    dq.height = dp.offsetHeight + "px";
                }
                dp.appendChild(dr);
                return aa(function(dt) {
                    dt(dn, function(du) {
                        if (dr) {
                            try {
                                dp.removeChild(dr);
                            } catch (dv) {}
                        }
                    });
                });
            }
            function dk(dp) {
                return aq(dp).blockUIOnSubmit;
            }
            function dm(dp) {
                return function(du) {
                    var dt = ck(du, dp);
                    var dr = ab(dt);
                    var ds = aM(dt);
                    var dq = cC(dt);
                    D(dt);
                    m(cX, "event [type: " + dr + ", triggered by: " + (aG(ds) || ds) + ", captured in: " + (aG(dq) || dq) + "] was discarded.");
                }
                ;
            }
            function dl() {
                var dq = arguments.callee.caller;
                while (dq) {
                    if (dq == co.fullSubmit) {
                        var dp = dq.arguments[2];
                        if (dp) {
                            return dp.type == "blur";
                        } else {
                            return false;
                        }
                    }
                    dq = dq.arguments.callee.caller;
                }
                return false;
            }
            var dj = l;
            co.onBeforeSubmit(function(dr, ds) {
                if (ds && dk(dr) && b6(dl())) {
                    m(cX, "blocking UI");
                    var dq = at();
                    var dp = ap(["input", "select", "textarea", "button", "a"], [], function(dt, du) {
                        return az(dt, bP(bB(document.body.getElementsByTagName(du), function(dA) {
                            var dy = dm(dA);
                            var dx = dA.onkeypress;
                            var dw = dA.onkeyup;
                            var dz = dA.onkeydown;
                            var dv = dA.onclick;
                            dA.onkeypress = dy;
                            dA.onkeyup = dy;
                            dA.onkeydown = dy;
                            dA.onclick = dy;
                            return function() {
                                try {
                                    dA.onkeypress = dx;
                                    dA.onkeyup = dw;
                                    dA.onkeydown = dz;
                                    dA.onclick = dv;
                                } catch (dB) {}
                            }
                            ;
                        })));
                    });
                    dj = function() {
                        c4(dp);
                        dn(dq);
                        m(cX, "unblocked UI");
                    }
                    ;
                } else {
                    dj = l;
                }
            });
            co.onAfterUpdate(function() {
                dj();
            });
        })();
        (function() {
            function dp(dy, dA) {
                var dC = new RegExp("<" + dy + "[^<]*>","g").exec(dA);
                var dz = new RegExp("</" + dy + ">","g").exec(dA);
                if (dC && dz && dC.index && dz.index) {
                    var dB = dA.substring(dC.index, dz.index + dz[0].length);
                    return dB.substring(dB.indexOf(">") + 1, dB.lastIndexOf("<"));
                } else {
                    return "";
                }
            }
            function dw(dB, dA, dz) {
                var dC = new RegExp(dA + '="([\\S]*?)"',"im");
                var dy = dB.match(dC);
                return dy ? dy[1] : dz;
            }
            function du(dy) {
                return dw(dy, "src");
            }
            function dl(dA) {
                if (dA) {
                    var dz = document.createElement("div");
                    dz.innerHTML = dA;
                    var dy = dz.firstChild.data;
                    dz.removeChild(dz.firstChild);
                    return dy;
                } else {
                    return dA;
                }
            }
            function dt(dz) {
                try {
                    var dA = c2(dz, ";");
                    var dC = a3(dz, 0, dA);
                    try {
                        var dy = c2(dz, "?");
                        return dC + a3(dz, dy, dz.length);
                    } catch (dB) {
                        return dC;
                    }
                } catch (dB) {
                    return dz;
                }
            }
            var dm = dc();
            var dk = /<script[^>]*>([\S\s]*?)<\/script>/igm;
            function ds(dz) {
                var dA = dz.match(dk);
                if (dA) {
                    var dy = bB(dA, function(dB) {
                        var dD = du(dB);
                        var dC;
                        if (dD) {
                            dD = dt(dl(dD));
                            if (au(dx, dD)) {
                                dC = "";
                            } else {
                                dg(dm, dD, l, l, function(dE) {
                                    dC = b3(dE);
                                });
                                u(dx, dD);
                            }
                        } else {
                            dC = dl(dp("script", dB));
                        }
                        return dC;
                    });
                    af(cw(dy, aK), co.globalEval);
                }
            }
            var dj = /<link[^>]*>/igm;
            function dv(dy) {
                var dz = dy.match(dj);
                if (dz) {
                    af(dz, function(dC) {
                        if (dw(dC, "type") == "text/css") {
                            var dF = dw(dC, "href");
                            if (dF && b6(au(at, dl(dF)))) {
                                var dB;
                                dg(dm, dF, l, l, function(dG) {
                                    dB = b3(dG);
                                });
                                var dD = document.getElementsByTagName("head")[0];
                                var dA = document.createElement("style");
                                dA.type = "text/css";
                                dA.media = dw(dC, "media", "screen");
                                dD.appendChild(dA);
                                if (dA.styleSheet) {
                                    dA.styleSheet.cssText = dB;
                                } else {
                                    var dE = document.createTextNode(dB);
                                    dA.appendChild(dE);
                                }
                                u(at, dF);
                            }
                        }
                    });
                }
            }
            var dx = [];
            var at = [];
            function dr(dy) {
                return function(dz, dA) {
                    var dB = dA.getAttribute(dy);
                    if (dB) {
                        u(dz, dt(dl(dB)));
                    }
                    return dz;
                }
                ;
            }
            a4(window, function() {
                var dy = document.documentElement.getElementsByTagName("script");
                ap(dy, dx, dr("src"));
            });
            a4(window, function() {
                var dy = document.documentElement.getElementsByTagName("link");
                ap(dy, at, dr("href"));
            });
            function dq(dy) {
                return b2(dy.getElementsByTagName("update"), function(dz) {
                    return dz.getAttribute("id") == "javax.faces.ViewRoot";
                });
            }
            a4(window, function() {
                document.documentElement.isHeadUpdateSuccessful = null ;
            });
            co.onBeforeUpdate(function(dA) {
                var dz = b2(dA.getElementsByTagName("extension"), function(dC) {
                    return dC.getAttribute("type") == "javax.faces.ViewHead";
                });
                var dy = document.write;
                document.write = l;
                if (dz) {
                    var dB = dz.firstChild.data;
                    ds(dB);
                    dv(dB);
                    document.title = dp("title", dB);
                }
                document.write = dy;
            });
            co.onAfterUpdate(function(dz) {
                var dy = dq(dz);
                if (dy && !document.documentElement.isHeadUpdateSuccessful) {
                    var dA = dp("head", dy.firstChild.data);
                    ds(dA);
                    dv(dA);
                } else {
                    document.documentElement.isHeadUpdateSuccessful = null ;
                }
                if (dy) {
                    document.title = dp("title", dy.firstChild.data);
                }
            });
            co.onBeforeUpdate(function(dy) {
                af(dy.getElementsByTagName("update"), function(dB) {
                    var dA = dB.getAttribute("id");
                    var dz = cm(dA);
                    if (dz) {
                        af(dz.getElementsByTagName("iframe"), function(dC) {
                            if (dC && dC.parentNode) {
                                dC.parentNode.removeChild(dC);
                            }
                        });
                    }
                });
            });
            if (!/MSIE/.test(navigator.userAgent)) {
                co.onBeforeUpdate(function(dz) {
                    var dy = dq(dz);
                    if (dy) {
                        var dA = document.body.configuration;
                        if (dA) {
                            document.documentElement.configuration = dA;
                        }
                    }
                });
            }
            try {
                document.execCommand("BackgroundImageCache", false, true);
            } catch (dn) {}
            co.onBeforeUpdate(function(dy) {
                af(dy.getElementsByTagName("update"), function(dB) {
                    var dA = dB.getAttribute("id");
                    var dz = cm(dA);
                    if (dz) {
                        bq(dz);
                        af(["a", "iframe", "input", "select", "button", "textarea"], function(dC) {
                            af(dz.getElementsByTagName(dC), bq);
                        });
                        af(dz.getElementsByTagName("form"), function(dC) {
                            bq(dC);
                            dC.submit = null ;
                            dC.onsubmit = null ;
                        });
                    }
                });
            });
        })();
    })(window.ice);
}
