You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by ma...@apache.org on 2014/05/28 21:05:20 UTC

[11/29] Upgrade Aurora UI to bootstrap3

http://git-wip-us.apache.org/repos/asf/incubator-aurora/blob/3a992e2c/3rdparty/javascript/bower_components/smart-table/example-app/lib/angular/angular.min.js
----------------------------------------------------------------------
diff --git a/3rdparty/javascript/bower_components/smart-table/example-app/lib/angular/angular.min.js b/3rdparty/javascript/bower_components/smart-table/example-app/lib/angular/angular.min.js
new file mode 100644
index 0000000..07b6249
--- /dev/null
+++ b/3rdparty/javascript/bower_components/smart-table/example-app/lib/angular/angular.min.js
@@ -0,0 +1,3772 @@
+/*
+ AngularJS v1.0.6
+ (c) 2010-2012 Google, Inc. http://angularjs.org
+ License: MIT
+ */
+(function (N, Y, q) {
+    'use strict';
+    function n(b, a, c) {
+        var d;
+        if (b)if (H(b))for (d in b)d != "prototype" && d != "length" && d != "name" && b.hasOwnProperty(d) && a.call(c, b[d], d); else if (b.forEach && b.forEach !== n)b.forEach(a, c); else if (!b || typeof b.length !== "number" ? 0 : typeof b.hasOwnProperty != "function" && typeof b.constructor != "function" || b instanceof K || ca && b instanceof ca || xa.call(b) !== "[object Object]" || typeof b.callee === "function")for (d = 0; d < b.length; d++)a.call(c, b[d], d); else for (d in b)b.hasOwnProperty(d) && a.call(c, b[d],
+            d);
+        return b
+    }
+
+    function nb(b) {
+        var a = [], c;
+        for (c in b)b.hasOwnProperty(c) && a.push(c);
+        return a.sort()
+    }
+
+    function fc(b, a, c) {
+        for (var d = nb(b), e = 0; e < d.length; e++)a.call(c, b[d[e]], d[e]);
+        return d
+    }
+
+    function ob(b) {
+        return function (a, c) {
+            b(c, a)
+        }
+    }
+
+    function ya() {
+        for (var b = aa.length, a; b;) {
+            b--;
+            a = aa[b].charCodeAt(0);
+            if (a == 57)return aa[b] = "A", aa.join("");
+            if (a == 90)aa[b] = "0"; else return aa[b] = String.fromCharCode(a + 1), aa.join("")
+        }
+        aa.unshift("0");
+        return aa.join("")
+    }
+
+    function v(b) {
+        n(arguments, function (a) {
+            a !== b && n(a, function (a, d) {
+                b[d] =
+                    a
+            })
+        });
+        return b
+    }
+
+    function G(b) {
+        return parseInt(b, 10)
+    }
+
+    function za(b, a) {
+        return v(new (v(function () {
+        }, {prototype: b})), a)
+    }
+
+    function w() {
+    }
+
+    function na(b) {
+        return b
+    }
+
+    function I(b) {
+        return function () {
+            return b
+        }
+    }
+
+    function x(b) {
+        return typeof b == "undefined"
+    }
+
+    function y(b) {
+        return typeof b != "undefined"
+    }
+
+    function L(b) {
+        return b != null && typeof b == "object"
+    }
+
+    function B(b) {
+        return typeof b == "string"
+    }
+
+    function Ra(b) {
+        return typeof b == "number"
+    }
+
+    function oa(b) {
+        return xa.apply(b) == "[object Date]"
+    }
+
+    function E(b) {
+        return xa.apply(b) == "[object Array]"
+    }
+
+    function H(b) {
+        return typeof b == "function"
+    }
+
+    function pa(b) {
+        return b && b.document && b.location && b.alert && b.setInterval
+    }
+
+    function O(b) {
+        return B(b) ? b.replace(/^\s*/, "").replace(/\s*$/, "") : b
+    }
+
+    function gc(b) {
+        return b && (b.nodeName || b.bind && b.find)
+    }
+
+    function Sa(b, a, c) {
+        var d = [];
+        n(b, function (b, g, h) {
+            d.push(a.call(c, b, g, h))
+        });
+        return d
+    }
+
+    function Aa(b, a) {
+        if (b.indexOf)return b.indexOf(a);
+        for (var c = 0; c < b.length; c++)if (a === b[c])return c;
+        return-1
+    }
+
+    function Ta(b, a) {
+        var c = Aa(b, a);
+        c >= 0 && b.splice(c, 1);
+        return a
+    }
+
+    function V(b, a) {
+        if (pa(b) ||
+            b && b.$evalAsync && b.$watch)throw Error("Can't copy Window or Scope");
+        if (a) {
+            if (b === a)throw Error("Can't copy equivalent objects or arrays");
+            if (E(b))for (var c = a.length = 0; c < b.length; c++)a.push(V(b[c])); else for (c in n(a, function (b, c) {
+                delete a[c]
+            }), b)a[c] = V(b[c])
+        } else(a = b) && (E(b) ? a = V(b, []) : oa(b) ? a = new Date(b.getTime()) : L(b) && (a = V(b, {})));
+        return a
+    }
+
+    function hc(b, a) {
+        var a = a || {}, c;
+        for (c in b)b.hasOwnProperty(c) && c.substr(0, 2) !== "$$" && (a[c] = b[c]);
+        return a
+    }
+
+    function ga(b, a) {
+        if (b === a)return!0;
+        if (b === null || a ===
+            null)return!1;
+        if (b !== b && a !== a)return!0;
+        var c = typeof b, d;
+        if (c == typeof a && c == "object")if (E(b)) {
+            if ((c = b.length) == a.length) {
+                for (d = 0; d < c; d++)if (!ga(b[d], a[d]))return!1;
+                return!0
+            }
+        } else if (oa(b))return oa(a) && b.getTime() == a.getTime(); else {
+            if (b && b.$evalAsync && b.$watch || a && a.$evalAsync && a.$watch || pa(b) || pa(a))return!1;
+            c = {};
+            for (d in b)if (!(d.charAt(0) === "$" || H(b[d]))) {
+                if (!ga(b[d], a[d]))return!1;
+                c[d] = !0
+            }
+            for (d in a)if (!c[d] && d.charAt(0) !== "$" && a[d] !== q && !H(a[d]))return!1;
+            return!0
+        }
+        return!1
+    }
+
+    function Ua(b, a) {
+        var c =
+            arguments.length > 2 ? ha.call(arguments, 2) : [];
+        return H(a) && !(a instanceof RegExp) ? c.length ? function () {
+            return arguments.length ? a.apply(b, c.concat(ha.call(arguments, 0))) : a.apply(b, c)
+        } : function () {
+            return arguments.length ? a.apply(b, arguments) : a.call(b)
+        } : a
+    }
+
+    function ic(b, a) {
+        var c = a;
+        /^\$+/.test(b) ? c = q : pa(a) ? c = "$WINDOW" : a && Y === a ? c = "$DOCUMENT" : a && a.$evalAsync && a.$watch && (c = "$SCOPE");
+        return c
+    }
+
+    function da(b, a) {
+        return JSON.stringify(b, ic, a ? "  " : null)
+    }
+
+    function pb(b) {
+        return B(b) ? JSON.parse(b) : b
+    }
+
+    function Va(b) {
+        b && b.length !==
+            0 ? (b = A("" + b), b = !(b == "f" || b == "0" || b == "false" || b == "no" || b == "n" || b == "[]")) : b = !1;
+        return b
+    }
+
+    function qa(b) {
+        b = u(b).clone();
+        try {
+            b.html("")
+        } catch (a) {
+        }
+        var c = u("<div>").append(b).html();
+        try {
+            return b[0].nodeType === 3 ? A(c) : c.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/, function (a, b) {
+                return"<" + A(b)
+            })
+        } catch (d) {
+            return A(c)
+        }
+    }
+
+    function Wa(b) {
+        var a = {}, c, d;
+        n((b || "").split("&"), function (b) {
+            b && (c = b.split("="), d = decodeURIComponent(c[0]), a[d] = y(c[1]) ? decodeURIComponent(c[1]) : !0)
+        });
+        return a
+    }
+
+    function qb(b) {
+        var a = [];
+        n(b, function (b, d) {
+            a.push(Xa(d, !0) + (b === !0 ? "" : "=" + Xa(b, !0)))
+        });
+        return a.length ? a.join("&") : ""
+    }
+
+    function Ya(b) {
+        return Xa(b, !0).replace(/%26/gi, "&").replace(/%3D/gi, "=").replace(/%2B/gi, "+")
+    }
+
+    function Xa(b, a) {
+        return encodeURIComponent(b).replace(/%40/gi, "@").replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, a ? "%20" : "+")
+    }
+
+    function jc(b, a) {
+        function c(a) {
+            a && d.push(a)
+        }
+
+        var d = [b], e, g, h = ["ng:app", "ng-app", "x-ng-app", "data-ng-app"], f = /\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;
+        n(h, function (a) {
+            h[a] = !0;
+            c(Y.getElementById(a));
+            a = a.replace(":", "\\:");
+            b.querySelectorAll && (n(b.querySelectorAll("." + a), c), n(b.querySelectorAll("." + a + "\\:"), c), n(b.querySelectorAll("[" + a + "]"), c))
+        });
+        n(d, function (a) {
+            if (!e) {
+                var b = f.exec(" " + a.className + " ");
+                b ? (e = a, g = (b[2] || "").replace(/\s+/g, ",")) : n(a.attributes, function (b) {
+                    if (!e && h[b.name])e = a, g = b.value
+                })
+            }
+        });
+        e && a(e, g ? [g] : [])
+    }
+
+    function rb(b, a) {
+        var c = function () {
+            b = u(b);
+            a = a || [];
+            a.unshift(["$provide", function (a) {
+                a.value("$rootElement", b)
+            }]);
+            a.unshift("ng");
+            var c = sb(a);
+            c.invoke(["$rootScope", "$rootElement",
+                "$compile", "$injector", function (a, b, c, d) {
+                    a.$apply(function () {
+                        b.data("$injector", d);
+                        c(b)(a)
+                    })
+                }]);
+            return c
+        }, d = /^NG_DEFER_BOOTSTRAP!/;
+        if (N && !d.test(N.name))return c();
+        N.name = N.name.replace(d, "");
+        Za.resumeBootstrap = function (b) {
+            n(b, function (b) {
+                a.push(b)
+            });
+            c()
+        }
+    }
+
+    function $a(b, a) {
+        a = a || "_";
+        return b.replace(kc, function (b, d) {
+            return(d ? a : "") + b.toLowerCase()
+        })
+    }
+
+    function ab(b, a, c) {
+        if (!b)throw Error("Argument '" + (a || "?") + "' is " + (c || "required"));
+        return b
+    }
+
+    function ra(b, a, c) {
+        c && E(b) && (b = b[b.length - 1]);
+        ab(H(b), a, "not a function, got " +
+            (b && typeof b == "object" ? b.constructor.name || "Object" : typeof b));
+        return b
+    }
+
+    function lc(b) {
+        function a(a, b, e) {
+            return a[b] || (a[b] = e())
+        }
+
+        return a(a(b, "angular", Object), "module", function () {
+            var b = {};
+            return function (d, e, g) {
+                e && b.hasOwnProperty(d) && (b[d] = null);
+                return a(b, d, function () {
+                    function a(c, d, e) {
+                        return function () {
+                            b[e || "push"]([c, d, arguments]);
+                            return k
+                        }
+                    }
+
+                    if (!e)throw Error("No module: " + d);
+                    var b = [], c = [], i = a("$injector", "invoke"), k = {_invokeQueue: b, _runBlocks: c, requires: e, name: d, provider: a("$provide", "provider"),
+                        factory: a("$provide", "factory"), service: a("$provide", "service"), value: a("$provide", "value"), constant: a("$provide", "constant", "unshift"), filter: a("$filterProvider", "register"), controller: a("$controllerProvider", "register"), directive: a("$compileProvider", "directive"), config: i, run: function (a) {
+                            c.push(a);
+                            return this
+                        }};
+                    g && i(g);
+                    return k
+                })
+            }
+        })
+    }
+
+    function tb(b) {
+        return b.replace(mc,function (a, b, d, e) {
+            return e ? d.toUpperCase() : d
+        }).replace(nc, "Moz$1")
+    }
+
+    function bb(b, a) {
+        function c() {
+            var e;
+            for (var b = [this], c = a, h, f, j,
+                     i, k, m; b.length;) {
+                h = b.shift();
+                f = 0;
+                for (j = h.length; f < j; f++) {
+                    i = u(h[f]);
+                    c ? i.triggerHandler("$destroy") : c = !c;
+                    k = 0;
+                    for (e = (m = i.children()).length, i = e; k < i; k++)b.push(ca(m[k]))
+                }
+            }
+            return d.apply(this, arguments)
+        }
+
+        var d = ca.fn[b], d = d.$original || d;
+        c.$original = d;
+        ca.fn[b] = c
+    }
+
+    function K(b) {
+        if (b instanceof K)return b;
+        if (!(this instanceof K)) {
+            if (B(b) && b.charAt(0) != "<")throw Error("selectors not implemented");
+            return new K(b)
+        }
+        if (B(b)) {
+            var a = Y.createElement("div");
+            a.innerHTML = "<div>&#160;</div>" + b;
+            a.removeChild(a.firstChild);
+            cb(this, a.childNodes);
+            this.remove()
+        } else cb(this, b)
+    }
+
+    function db(b) {
+        return b.cloneNode(!0)
+    }
+
+    function sa(b) {
+        ub(b);
+        for (var a = 0, b = b.childNodes || []; a < b.length; a++)sa(b[a])
+    }
+
+    function vb(b, a, c) {
+        var d = ba(b, "events");
+        ba(b, "handle") && (x(a) ? n(d, function (a, c) {
+            eb(b, c, a);
+            delete d[c]
+        }) : x(c) ? (eb(b, a, d[a]), delete d[a]) : Ta(d[a], c))
+    }
+
+    function ub(b) {
+        var a = b[Ba], c = Ca[a];
+        c && (c.handle && (c.events.$destroy && c.handle({}, "$destroy"), vb(b)), delete Ca[a], b[Ba] = q)
+    }
+
+    function ba(b, a, c) {
+        var d = b[Ba], d = Ca[d || -1];
+        if (y(c))d || (b[Ba] = d = ++oc,
+            d = Ca[d] = {}), d[a] = c; else return d && d[a]
+    }
+
+    function wb(b, a, c) {
+        var d = ba(b, "data"), e = y(c), g = !e && y(a), h = g && !L(a);
+        !d && !h && ba(b, "data", d = {});
+        if (e)d[a] = c; else if (g)if (h)return d && d[a]; else v(d, a); else return d
+    }
+
+    function Da(b, a) {
+        return(" " + b.className + " ").replace(/[\n\t]/g, " ").indexOf(" " + a + " ") > -1
+    }
+
+    function xb(b, a) {
+        a && n(a.split(" "), function (a) {
+            b.className = O((" " + b.className + " ").replace(/[\n\t]/g, " ").replace(" " + O(a) + " ", " "))
+        })
+    }
+
+    function yb(b, a) {
+        a && n(a.split(" "), function (a) {
+            if (!Da(b, a))b.className = O(b.className +
+                " " + O(a))
+        })
+    }
+
+    function cb(b, a) {
+        if (a)for (var a = !a.nodeName && y(a.length) && !pa(a) ? a : [a], c = 0; c < a.length; c++)b.push(a[c])
+    }
+
+    function zb(b, a) {
+        return Ea(b, "$" + (a || "ngController") + "Controller")
+    }
+
+    function Ea(b, a, c) {
+        b = u(b);
+        for (b[0].nodeType == 9 && (b = b.find("html")); b.length;) {
+            if (c = b.data(a))return c;
+            b = b.parent()
+        }
+    }
+
+    function Ab(b, a) {
+        var c = Fa[a.toLowerCase()];
+        return c && Bb[b.nodeName] && c
+    }
+
+    function pc(b, a) {
+        var c = function (c, e) {
+            if (!c.preventDefault)c.preventDefault = function () {
+                c.returnValue = !1
+            };
+            if (!c.stopPropagation)c.stopPropagation =
+                function () {
+                    c.cancelBubble = !0
+                };
+            if (!c.target)c.target = c.srcElement || Y;
+            if (x(c.defaultPrevented)) {
+                var g = c.preventDefault;
+                c.preventDefault = function () {
+                    c.defaultPrevented = !0;
+                    g.call(c)
+                };
+                c.defaultPrevented = !1
+            }
+            c.isDefaultPrevented = function () {
+                return c.defaultPrevented
+            };
+            n(a[e || c.type], function (a) {
+                a.call(b, c)
+            });
+            Z <= 8 ? (c.preventDefault = null, c.stopPropagation = null, c.isDefaultPrevented = null) : (delete c.preventDefault, delete c.stopPropagation, delete c.isDefaultPrevented)
+        };
+        c.elem = b;
+        return c
+    }
+
+    function fa(b) {
+        var a = typeof b,
+            c;
+        if (a == "object" && b !== null)if (typeof(c = b.$$hashKey) == "function")c = b.$$hashKey(); else {
+            if (c === q)c = b.$$hashKey = ya()
+        } else c = b;
+        return a + ":" + c
+    }
+
+    function Ga(b) {
+        n(b, this.put, this)
+    }
+
+    function fb() {
+    }
+
+    function Cb(b) {
+        var a, c;
+        if (typeof b == "function") {
+            if (!(a = b.$inject))a = [], c = b.toString().replace(qc, ""), c = c.match(rc), n(c[1].split(sc), function (b) {
+                b.replace(tc, function (b, c, d) {
+                    a.push(d)
+                })
+            }), b.$inject = a
+        } else E(b) ? (c = b.length - 1, ra(b[c], "fn"), a = b.slice(0, c)) : ra(b, "fn", !0);
+        return a
+    }
+
+    function sb(b) {
+        function a(a) {
+            return function (b, c) {
+                if (L(b))n(b, ob(a)); else return a(b, c)
+            }
+        }
+
+        function c(a, b) {
+            if (H(b) || E(b))b = m.instantiate(b);
+            if (!b.$get)throw Error("Provider " + a + " must define $get factory method.");
+            return k[a + f] = b
+        }
+
+        function d(a, b) {
+            return c(a, {$get: b})
+        }
+
+        function e(a) {
+            var b = [];
+            n(a, function (a) {
+                if (!i.get(a))if (i.put(a, !0), B(a)) {
+                    var c = ta(a);
+                    b = b.concat(e(c.requires)).concat(c._runBlocks);
+                    try {
+                        for (var d = c._invokeQueue, c = 0, f = d.length; c < f; c++) {
+                            var g = d[c], j = g[0] == "$injector" ? m : m.get(g[0]);
+                            j[g[1]].apply(j, g[2])
+                        }
+                    } catch (h) {
+                        throw h.message && (h.message +=
+                            " from " + a), h;
+                    }
+                } else if (H(a))try {
+                    b.push(m.invoke(a))
+                } catch (o) {
+                    throw o.message && (o.message += " from " + a), o;
+                } else if (E(a))try {
+                    b.push(m.invoke(a))
+                } catch (k) {
+                    throw k.message && (k.message += " from " + String(a[a.length - 1])), k;
+                } else ra(a, "module")
+            });
+            return b
+        }
+
+        function g(a, b) {
+            function c(d) {
+                if (typeof d !== "string")throw Error("Service name expected");
+                if (a.hasOwnProperty(d)) {
+                    if (a[d] === h)throw Error("Circular dependency: " + j.join(" <- "));
+                    return a[d]
+                } else try {
+                    return j.unshift(d), a[d] = h, a[d] = b(d)
+                } finally {
+                    j.shift()
+                }
+            }
+
+            function d(a, b, e) {
+                var f = [], i = Cb(a), g, h, j;
+                h = 0;
+                for (g = i.length; h < g; h++)j = i[h], f.push(e && e.hasOwnProperty(j) ? e[j] : c(j));
+                a.$inject || (a = a[g]);
+                switch (b ? -1 : f.length) {
+                    case 0:
+                        return a();
+                    case 1:
+                        return a(f[0]);
+                    case 2:
+                        return a(f[0], f[1]);
+                    case 3:
+                        return a(f[0], f[1], f[2]);
+                    case 4:
+                        return a(f[0], f[1], f[2], f[3]);
+                    case 5:
+                        return a(f[0], f[1], f[2], f[3], f[4]);
+                    case 6:
+                        return a(f[0], f[1], f[2], f[3], f[4], f[5]);
+                    case 7:
+                        return a(f[0], f[1], f[2], f[3], f[4], f[5], f[6]);
+                    case 8:
+                        return a(f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]);
+                    case 9:
+                        return a(f[0],
+                            f[1], f[2], f[3], f[4], f[5], f[6], f[7], f[8]);
+                    case 10:
+                        return a(f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7], f[8], f[9]);
+                    default:
+                        return a.apply(b, f)
+                }
+            }
+
+            return{invoke: d, instantiate: function (a, b) {
+                var c = function () {
+                }, e;
+                c.prototype = (E(a) ? a[a.length - 1] : a).prototype;
+                c = new c;
+                e = d(a, c, b);
+                return L(e) ? e : c
+            }, get: c, annotate: Cb}
+        }
+
+        var h = {}, f = "Provider", j = [], i = new Ga, k = {$provide: {provider: a(c), factory: a(d), service: a(function (a, b) {
+            return d(a, ["$injector", function (a) {
+                return a.instantiate(b)
+            }])
+        }), value: a(function (a, b) {
+            return d(a, I(b))
+        }),
+            constant: a(function (a, b) {
+                k[a] = b;
+                l[a] = b
+            }), decorator: function (a, b) {
+                var c = m.get(a + f), d = c.$get;
+                c.$get = function () {
+                    var a = t.invoke(d, c);
+                    return t.invoke(b, null, {$delegate: a})
+                }
+            }}}, m = g(k, function () {
+            throw Error("Unknown provider: " + j.join(" <- "));
+        }), l = {}, t = l.$injector = g(l, function (a) {
+            a = m.get(a + f);
+            return t.invoke(a.$get, a)
+        });
+        n(e(b), function (a) {
+            t.invoke(a || w)
+        });
+        return t
+    }
+
+    function uc() {
+        var b = !0;
+        this.disableAutoScrolling = function () {
+            b = !1
+        };
+        this.$get = ["$window", "$location", "$rootScope", function (a, c, d) {
+            function e(a) {
+                var b =
+                    null;
+                n(a, function (a) {
+                    !b && A(a.nodeName) === "a" && (b = a)
+                });
+                return b
+            }
+
+            function g() {
+                var b = c.hash(), d;
+                b ? (d = h.getElementById(b)) ? d.scrollIntoView() : (d = e(h.getElementsByName(b))) ? d.scrollIntoView() : b === "top" && a.scrollTo(0, 0) : a.scrollTo(0, 0)
+            }
+
+            var h = a.document;
+            b && d.$watch(function () {
+                return c.hash()
+            }, function () {
+                d.$evalAsync(g)
+            });
+            return g
+        }]
+    }
+
+    function vc(b, a, c, d) {
+        function e(a) {
+            try {
+                a.apply(null, ha.call(arguments, 1))
+            } finally {
+                if (o--, o === 0)for (; p.length;)try {
+                    p.pop()()
+                } catch (b) {
+                    c.error(b)
+                }
+            }
+        }
+
+        function g(a, b) {
+            (function S() {
+                n(s,
+                    function (a) {
+                        a()
+                    });
+                P = b(S, a)
+            })()
+        }
+
+        function h() {
+            C != f.url() && (C = f.url(), n(W, function (a) {
+                a(f.url())
+            }))
+        }
+
+        var f = this, j = a[0], i = b.location, k = b.history, m = b.setTimeout, l = b.clearTimeout, t = {};
+        f.isMock = !1;
+        var o = 0, p = [];
+        f.$$completeOutstandingRequest = e;
+        f.$$incOutstandingRequestCount = function () {
+            o++
+        };
+        f.notifyWhenNoOutstandingRequests = function (a) {
+            n(s, function (a) {
+                a()
+            });
+            o === 0 ? a() : p.push(a)
+        };
+        var s = [], P;
+        f.addPollFn = function (a) {
+            x(P) && g(100, m);
+            s.push(a);
+            return a
+        };
+        var C = i.href, z = a.find("base");
+        f.url = function (a, b) {
+            if (a) {
+                if (C !=
+                    a)return C = a, d.history ? b ? k.replaceState(null, "", a) : (k.pushState(null, "", a), z.attr("href", z.attr("href"))) : b ? i.replace(a) : i.href = a, f
+            } else return i.href.replace(/%27/g, "'")
+        };
+        var W = [], J = !1;
+        f.onUrlChange = function (a) {
+            J || (d.history && u(b).bind("popstate", h), d.hashchange ? u(b).bind("hashchange", h) : f.addPollFn(h), J = !0);
+            W.push(a);
+            return a
+        };
+        f.baseHref = function () {
+            var a = z.attr("href");
+            return a ? a.replace(/^https?\:\/\/[^\/]*/, "") : ""
+        };
+        var r = {}, $ = "", Q = f.baseHref();
+        f.cookies = function (a, b) {
+            var d, e, f, i;
+            if (a)if (b === q)j.cookie =
+                escape(a) + "=;path=" + Q + ";expires=Thu, 01 Jan 1970 00:00:00 GMT"; else {
+                if (B(b))d = (j.cookie = escape(a) + "=" + escape(b) + ";path=" + Q).length + 1, d > 4096 && c.warn("Cookie '" + a + "' possibly not set or overflowed because it was too large (" + d + " > 4096 bytes)!")
+            } else {
+                if (j.cookie !== $) {
+                    $ = j.cookie;
+                    d = $.split("; ");
+                    r = {};
+                    for (f = 0; f < d.length; f++)e = d[f], i = e.indexOf("="), i > 0 && (r[unescape(e.substring(0, i))] = unescape(e.substring(i + 1)))
+                }
+                return r
+            }
+        };
+        f.defer = function (a, b) {
+            var c;
+            o++;
+            c = m(function () {
+                delete t[c];
+                e(a)
+            }, b || 0);
+            t[c] = !0;
+            return c
+        };
+        f.defer.cancel = function (a) {
+            return t[a] ? (delete t[a], l(a), e(w), !0) : !1
+        }
+    }
+
+    function wc() {
+        this.$get = ["$window", "$log", "$sniffer", "$document", function (b, a, c, d) {
+            return new vc(b, d, a, c)
+        }]
+    }
+
+    function xc() {
+        this.$get = function () {
+            function b(b, d) {
+                function e(a) {
+                    if (a != m) {
+                        if (l) {
+                            if (l == a)l = a.n
+                        } else l = a;
+                        g(a.n, a.p);
+                        g(a, m);
+                        m = a;
+                        m.n = null
+                    }
+                }
+
+                function g(a, b) {
+                    if (a != b) {
+                        if (a)a.p = b;
+                        if (b)b.n = a
+                    }
+                }
+
+                if (b in a)throw Error("cacheId " + b + " taken");
+                var h = 0, f = v({}, d, {id: b}), j = {}, i = d && d.capacity || Number.MAX_VALUE, k = {}, m = null, l = null;
+                return a[b] =
+                {put: function (a, b) {
+                    var c = k[a] || (k[a] = {key: a});
+                    e(c);
+                    x(b) || (a in j || h++, j[a] = b, h > i && this.remove(l.key))
+                }, get: function (a) {
+                    var b = k[a];
+                    if (b)return e(b), j[a]
+                }, remove: function (a) {
+                    var b = k[a];
+                    if (b) {
+                        if (b == m)m = b.p;
+                        if (b == l)l = b.n;
+                        g(b.n, b.p);
+                        delete k[a];
+                        delete j[a];
+                        h--
+                    }
+                }, removeAll: function () {
+                    j = {};
+                    h = 0;
+                    k = {};
+                    m = l = null
+                }, destroy: function () {
+                    k = f = j = null;
+                    delete a[b]
+                }, info: function () {
+                    return v({}, f, {size: h})
+                }}
+            }
+
+            var a = {};
+            b.info = function () {
+                var b = {};
+                n(a, function (a, e) {
+                    b[e] = a.info()
+                });
+                return b
+            };
+            b.get = function (b) {
+                return a[b]
+            };
+            return b
+        }
+    }
+
+    function yc() {
+        this.$get = ["$cacheFactory", function (b) {
+            return b("templates")
+        }]
+    }
+
+    function Db(b) {
+        var a = {}, c = "Directive", d = /^\s*directive\:\s*([\d\w\-_]+)\s+(.*)$/, e = /(([\d\w\-_]+)(?:\:([^;]+))?;?)/, g = "Template must have exactly one root element. was: ", h = /^\s*(https?|ftp|mailto|file):/;
+        this.directive = function j(d, e) {
+            B(d) ? (ab(e, "directive"), a.hasOwnProperty(d) || (a[d] = [], b.factory(d + c, ["$injector", "$exceptionHandler", function (b, c) {
+                var e = [];
+                n(a[d], function (a) {
+                    try {
+                        var g = b.invoke(a);
+                        if (H(g))g = {compile: I(g)};
+                        else if (!g.compile && g.link)g.compile = I(g.link);
+                        g.priority = g.priority || 0;
+                        g.name = g.name || d;
+                        g.require = g.require || g.controller && g.name;
+                        g.restrict = g.restrict || "A";
+                        e.push(g)
+                    } catch (h) {
+                        c(h)
+                    }
+                });
+                return e
+            }])), a[d].push(e)) : n(d, ob(j));
+            return this
+        };
+        this.urlSanitizationWhitelist = function (a) {
+            return y(a) ? (h = a, this) : h
+        };
+        this.$get = ["$injector", "$interpolate", "$exceptionHandler", "$http", "$templateCache", "$parse", "$controller", "$rootScope", "$document", function (b, i, k, m, l, t, o, p, s) {
+            function P(a, b, c) {
+                a instanceof u || (a = u(a));
+                n(a, function (b, c) {
+                    b.nodeType == 3 && b.nodeValue.match(/\S+/) && (a[c] = u(b).wrap("<span></span>").parent()[0])
+                });
+                var d = z(a, b, a, c);
+                return function (b, c) {
+                    ab(b, "scope");
+                    for (var e = c ? va.clone.call(a) : a, g = 0, i = e.length; g < i; g++) {
+                        var h = e[g];
+                        (h.nodeType == 1 || h.nodeType == 9) && e.eq(g).data("$scope", b)
+                    }
+                    C(e, "ng-scope");
+                    c && c(e, b);
+                    d && d(b, e, e);
+                    return e
+                }
+            }
+
+            function C(a, b) {
+                try {
+                    a.addClass(b)
+                } catch (c) {
+                }
+            }
+
+            function z(a, b, c, d) {
+                function e(a, c, d, i) {
+                    var h, j, k, o, l, m, t, s = [];
+                    l = 0;
+                    for (m = c.length; l < m; l++)s.push(c[l]);
+                    t = l = 0;
+                    for (m = g.length; l <
+                        m; t++)j = s[t], c = g[l++], h = g[l++], c ? (c.scope ? (k = a.$new(L(c.scope)), u(j).data("$scope", k)) : k = a, (o = c.transclude) || !i && b ? c(h, k, j, d, function (b) {
+                        return function (c) {
+                            var d = a.$new();
+                            d.$$transcluded = !0;
+                            return b(d, c).bind("$destroy", Ua(d, d.$destroy))
+                        }
+                    }(o || b)) : c(h, k, j, q, i)) : h && h(a, j.childNodes, q, i)
+                }
+
+                for (var g = [], i, h, j, k = 0; k < a.length; k++)h = new ia, i = W(a[k], [], h, d), h = (i = i.length ? J(i, a[k], h, b, c) : null) && i.terminal || !a[k].childNodes || !a[k].childNodes.length ? null : z(a[k].childNodes, i ? i.transclude : b), g.push(i), g.push(h),
+                    j = j || i || h;
+                return j ? e : null
+            }
+
+            function W(a, b, c, i) {
+                var g = c.$attr, h;
+                switch (a.nodeType) {
+                    case 1:
+                        r(b, ea(gb(a).toLowerCase()), "E", i);
+                        var j, k, l;
+                        h = a.attributes;
+                        for (var o = 0, m = h && h.length; o < m; o++)if (j = h[o], j.specified)k = j.name, l = ea(k.toLowerCase()), g[l] = k, c[l] = j = O(Z && k == "href" ? decodeURIComponent(a.getAttribute(k, 2)) : j.value), Ab(a, l) && (c[l] = !0), S(a, b, j, l), r(b, l, "A", i);
+                        a = a.className;
+                        if (B(a) && a !== "")for (; h = e.exec(a);)l = ea(h[2]), r(b, l, "C", i) && (c[l] = O(h[3])), a = a.substr(h.index + h[0].length);
+                        break;
+                    case 3:
+                        y(b, a.nodeValue);
+                        break;
+                    case 8:
+                        try {
+                            if (h = d.exec(a.nodeValue))l = ea(h[1]), r(b, l, "M", i) && (c[l] = O(h[2]))
+                        } catch (t) {
+                        }
+                }
+                b.sort(F);
+                return b
+            }
+
+            function J(a, b, c, d, e) {
+                function i(a, b) {
+                    if (a)a.require = r.require, m.push(a);
+                    if (b)b.require = r.require, s.push(b)
+                }
+
+                function h(a, b) {
+                    var c, d = "data", e = !1;
+                    if (B(a)) {
+                        for (; (c = a.charAt(0)) == "^" || c == "?";)a = a.substr(1), c == "^" && (d = "inheritedData"), e = e || c == "?";
+                        c = b[d]("$" + a + "Controller");
+                        if (!c && !e)throw Error("No controller: " + a);
+                    } else E(a) && (c = [], n(a, function (a) {
+                        c.push(h(a, b))
+                    }));
+                    return c
+                }
+
+                function j(a, d, e, i, g) {
+                    var l, p, r, D, C;
+                    l = b === e ? c : hc(c, new ia(u(e), c.$attr));
+                    p = l.$$element;
+                    if (J) {
+                        var P = /^\s*([@=&])\s*(\w*)\s*$/, ja = d.$parent || d;
+                        n(J.scope, function (a, b) {
+                            var c = a.match(P) || [], e = c[2] || b, c = c[1], i, g, h;
+                            d.$$isolateBindings[b] = c + e;
+                            switch (c) {
+                                case "@":
+                                    l.$observe(e, function (a) {
+                                        d[b] = a
+                                    });
+                                    l.$$observers[e].$$scope = ja;
+                                    break;
+                                case "=":
+                                    g = t(l[e]);
+                                    h = g.assign || function () {
+                                        i = d[b] = g(ja);
+                                        throw Error(Eb + l[e] + " (directive: " + J.name + ")");
+                                    };
+                                    i = d[b] = g(ja);
+                                    d.$watch(function () {
+                                        var a = g(ja);
+                                        a !== d[b] && (a !== i ? i = d[b] = a : h(ja, a = i = d[b]));
+                                        return a
+                                    });
+                                    break;
+                                case "&":
+                                    g = t(l[e]);
+                                    d[b] = function (a) {
+                                        return g(ja, a)
+                                    };
+                                    break;
+                                default:
+                                    throw Error("Invalid isolate scope definition for directive " + J.name + ": " + a);
+                            }
+                        })
+                    }
+                    y && n(y, function (a) {
+                        var b = {$scope: d, $element: p, $attrs: l, $transclude: g};
+                        C = a.controller;
+                        C == "@" && (C = l[a.name]);
+                        p.data("$" + a.name + "Controller", o(C, b))
+                    });
+                    i = 0;
+                    for (r = m.length; i < r; i++)try {
+                        D = m[i], D(d, p, l, D.require && h(D.require, p))
+                    } catch (z) {
+                        k(z, qa(p))
+                    }
+                    a && a(d, e.childNodes, q, g);
+                    i = 0;
+                    for (r = s.length; i < r; i++)try {
+                        D = s[i], D(d, p, l, D.require && h(D.require, p))
+                    } catch (zc) {
+                        k(zc,
+                            qa(p))
+                    }
+                }
+
+                for (var l = -Number.MAX_VALUE, m = [], s = [], p = null, J = null, z = null, D = c.$$element = u(b), r, F, T, ka, S = d, y, x, X, v = 0, A = a.length; v < A; v++) {
+                    r = a[v];
+                    T = q;
+                    if (l > r.priority)break;
+                    if (X = r.scope)ua("isolated scope", J, r, D), L(X) && (C(D, "ng-isolate-scope"), J = r), C(D, "ng-scope"), p = p || r;
+                    F = r.name;
+                    if (X = r.controller)y = y || {}, ua("'" + F + "' controller", y[F], r, D), y[F] = r;
+                    if (X = r.transclude)ua("transclusion", ka, r, D), ka = r, l = r.priority, X == "element" ? (T = u(b), D = c.$$element = u(Y.createComment(" " + F + ": " + c[F] + " ")), b = D[0], w(e, u(T[0]), b), S = P(T,
+                        d, l)) : (T = u(db(b)).contents(), D.html(""), S = P(T, d));
+                    if (X = r.template)if (ua("template", z, r, D), z = r, X = Fb(X), r.replace) {
+                        T = u("<div>" + O(X) + "</div>").contents();
+                        b = T[0];
+                        if (T.length != 1 || b.nodeType !== 1)throw Error(g + X);
+                        w(e, D, b);
+                        F = {$attr: {}};
+                        a = a.concat(W(b, a.splice(v + 1, a.length - (v + 1)), F));
+                        $(c, F);
+                        A = a.length
+                    } else D.html(X);
+                    if (r.templateUrl)ua("template", z, r, D), z = r, j = Q(a.splice(v, a.length - v), j, D, c, e, r.replace, S), A = a.length; else if (r.compile)try {
+                        x = r.compile(D, c, S), H(x) ? i(null, x) : x && i(x.pre, x.post)
+                    } catch (G) {
+                        k(G, qa(D))
+                    }
+                    if (r.terminal)j.terminal = !0, l = Math.max(l, r.priority)
+                }
+                j.scope = p && p.scope;
+                j.transclude = ka && S;
+                return j
+            }
+
+            function r(d, e, i, g) {
+                var h = !1;
+                if (a.hasOwnProperty(e))for (var l, e = b.get(e + c), o = 0, m = e.length; o < m; o++)try {
+                    if (l = e[o], (g === q || g > l.priority) && l.restrict.indexOf(i) != -1)d.push(l), h = !0
+                } catch (t) {
+                    k(t)
+                }
+                return h
+            }
+
+            function $(a, b) {
+                var c = b.$attr, d = a.$attr, e = a.$$element;
+                n(a, function (d, e) {
+                    e.charAt(0) != "$" && (b[e] && (d += (e === "style" ? ";" : " ") + b[e]), a.$set(e, d, !0, c[e]))
+                });
+                n(b, function (b, i) {
+                    i == "class" ? (C(e, b), a["class"] = (a["class"] ? a["class"] + " " :
+                        "") + b) : i == "style" ? e.attr("style", e.attr("style") + ";" + b) : i.charAt(0) != "$" && !a.hasOwnProperty(i) && (a[i] = b, d[i] = c[i])
+                })
+            }
+
+            function Q(a, b, c, d, e, i, h) {
+                var j = [], k, o, t = c[0], s = a.shift(), p = v({}, s, {controller: null, templateUrl: null, transclude: null, scope: null});
+                c.html("");
+                m.get(s.templateUrl, {cache: l}).success(function (l) {
+                    var m, s, l = Fb(l);
+                    if (i) {
+                        s = u("<div>" + O(l) + "</div>").contents();
+                        m = s[0];
+                        if (s.length != 1 || m.nodeType !== 1)throw Error(g + l);
+                        l = {$attr: {}};
+                        w(e, c, m);
+                        W(m, a, l);
+                        $(d, l)
+                    } else m = t, c.html(l);
+                    a.unshift(p);
+                    k = J(a, m,
+                        d, h);
+                    for (o = z(c[0].childNodes, h); j.length;) {
+                        var ia = j.pop(), l = j.pop();
+                        s = j.pop();
+                        var r = j.pop(), D = m;
+                        s !== t && (D = db(m), w(l, u(s), D));
+                        k(function () {
+                            b(o, r, D, e, ia)
+                        }, r, D, e, ia)
+                    }
+                    j = null
+                }).error(function (a, b, c, d) {
+                        throw Error("Failed to load template: " + d.url);
+                    });
+                return function (a, c, d, e, i) {
+                    j ? (j.push(c), j.push(d), j.push(e), j.push(i)) : k(function () {
+                        b(o, c, d, e, i)
+                    }, c, d, e, i)
+                }
+            }
+
+            function F(a, b) {
+                return b.priority - a.priority
+            }
+
+            function ua(a, b, c, d) {
+                if (b)throw Error("Multiple directives [" + b.name + ", " + c.name + "] asking for " + a + " on: " +
+                    qa(d));
+            }
+
+            function y(a, b) {
+                var c = i(b, !0);
+                c && a.push({priority: 0, compile: I(function (a, b) {
+                    var d = b.parent(), e = d.data("$binding") || [];
+                    e.push(c);
+                    C(d.data("$binding", e), "ng-binding");
+                    a.$watch(c, function (a) {
+                        b[0].nodeValue = a
+                    })
+                })})
+            }
+
+            function S(a, b, c, d) {
+                var e = i(c, !0);
+                e && b.push({priority: 100, compile: I(function (a, b, c) {
+                    b = c.$$observers || (c.$$observers = {});
+                    d === "class" && (e = i(c[d], !0));
+                    c[d] = q;
+                    (b[d] || (b[d] = [])).$$inter = !0;
+                    (c.$$observers && c.$$observers[d].$$scope || a).$watch(e, function (a) {
+                        c.$set(d, a)
+                    })
+                })})
+            }
+
+            function w(a, b, c) {
+                var d = b[0], e = d.parentNode, i, g;
+                if (a) {
+                    i = 0;
+                    for (g = a.length; i < g; i++)if (a[i] == d) {
+                        a[i] = c;
+                        break
+                    }
+                }
+                e && e.replaceChild(c, d);
+                c[u.expando] = d[u.expando];
+                b[0] = c
+            }
+
+            var ia = function (a, b) {
+                this.$$element = a;
+                this.$attr = b || {}
+            };
+            ia.prototype = {$normalize: ea, $set: function (a, b, c, d) {
+                var e = Ab(this.$$element[0], a), i = this.$$observers;
+                e && (this.$$element.prop(a, b), d = e);
+                this[a] = b;
+                d ? this.$attr[a] = d : (d = this.$attr[a]) || (this.$attr[a] = d = $a(a, "-"));
+                if (gb(this.$$element[0]) === "A" && a === "href")D.setAttribute("href", b), e = D.href, e.match(h) ||
+                    (this[a] = b = "unsafe:" + e);
+                c !== !1 && (b === null || b === q ? this.$$element.removeAttr(d) : this.$$element.attr(d, b));
+                i && n(i[a], function (a) {
+                    try {
+                        a(b)
+                    } catch (c) {
+                        k(c)
+                    }
+                })
+            }, $observe: function (a, b) {
+                var c = this, d = c.$$observers || (c.$$observers = {}), e = d[a] || (d[a] = []);
+                e.push(b);
+                p.$evalAsync(function () {
+                    e.$$inter || b(c[a])
+                });
+                return b
+            }};
+            var D = s[0].createElement("a"), T = i.startSymbol(), ka = i.endSymbol(), Fb = T == "{{" || ka == "}}" ? na : function (a) {
+                return a.replace(/\{\{/g, T).replace(/}}/g, ka)
+            };
+            return P
+        }]
+    }
+
+    function ea(b) {
+        return tb(b.replace(Ac,
+            ""))
+    }
+
+    function Bc() {
+        var b = {};
+        this.register = function (a, c) {
+            L(a) ? v(b, a) : b[a] = c
+        };
+        this.$get = ["$injector", "$window", function (a, c) {
+            return function (d, e) {
+                if (B(d)) {
+                    var g = d, d = b.hasOwnProperty(g) ? b[g] : hb(e.$scope, g, !0) || hb(c, g, !0);
+                    ra(d, g, !0)
+                }
+                return a.instantiate(d, e)
+            }
+        }]
+    }
+
+    function Cc() {
+        this.$get = ["$window", function (b) {
+            return u(b.document)
+        }]
+    }
+
+    function Dc() {
+        this.$get = ["$log", function (b) {
+            return function (a, c) {
+                b.error.apply(b, arguments)
+            }
+        }]
+    }
+
+    function Ec() {
+        var b = "{{", a = "}}";
+        this.startSymbol = function (a) {
+            return a ? (b = a, this) :
+                b
+        };
+        this.endSymbol = function (b) {
+            return b ? (a = b, this) : a
+        };
+        this.$get = ["$parse", function (c) {
+            function d(d, f) {
+                for (var j, i, k = 0, m = [], l = d.length, t = !1, o = []; k < l;)(j = d.indexOf(b, k)) != -1 && (i = d.indexOf(a, j + e)) != -1 ? (k != j && m.push(d.substring(k, j)), m.push(k = c(t = d.substring(j + e, i))), k.exp = t, k = i + g, t = !0) : (k != l && m.push(d.substring(k)), k = l);
+                if (!(l = m.length))m.push(""), l = 1;
+                if (!f || t)return o.length = l, k = function (a) {
+                    for (var b = 0, c = l, d; b < c; b++) {
+                        if (typeof(d = m[b]) == "function")d = d(a), d == null || d == q ? d = "" : typeof d != "string" && (d = da(d));
+                        o[b] = d
+                    }
+                    return o.join("")
+                }, k.exp = d, k.parts = m, k
+            }
+
+            var e = b.length, g = a.length;
+            d.startSymbol = function () {
+                return b
+            };
+            d.endSymbol = function () {
+                return a
+            };
+            return d
+        }]
+    }
+
+    function Gb(b) {
+        for (var b = b.split("/"), a = b.length; a--;)b[a] = Ya(b[a]);
+        return b.join("/")
+    }
+
+    function wa(b, a) {
+        var c = Hb.exec(b), c = {protocol: c[1], host: c[3], port: G(c[5]) || Ib[c[1]] || null, path: c[6] || "/", search: c[8], hash: c[10]};
+        if (a)a.$$protocol = c.protocol, a.$$host = c.host, a.$$port = c.port;
+        return c
+    }
+
+    function la(b, a, c) {
+        return b + "://" + a + (c == Ib[b] ? "" : ":" + c)
+    }
+
+    function Fc(b, a, c) {
+        var d = wa(b);
+        return decodeURIComponent(d.path) != a || x(d.hash) || d.hash.indexOf(c) !== 0 ? b : la(d.protocol, d.host, d.port) + a.substr(0, a.lastIndexOf("/")) + d.hash.substr(c.length)
+    }
+
+    function Gc(b, a, c) {
+        var d = wa(b);
+        if (decodeURIComponent(d.path) == a && !x(d.hash) && d.hash.indexOf(c) === 0)return b; else {
+            var e = d.search && "?" + d.search || "", g = d.hash && "#" + d.hash || "", h = a.substr(0, a.lastIndexOf("/")), f = d.path.substr(h.length);
+            if (d.path.indexOf(h) !== 0)throw Error('Invalid url "' + b + '", missing path prefix "' + h + '" !');
+            return la(d.protocol,
+                d.host, d.port) + a + "#" + c + f + e + g
+        }
+    }
+
+    function ib(b, a, c) {
+        a = a || "";
+        this.$$parse = function (b) {
+            var c = wa(b, this);
+            if (c.path.indexOf(a) !== 0)throw Error('Invalid url "' + b + '", missing path prefix "' + a + '" !');
+            this.$$path = decodeURIComponent(c.path.substr(a.length));
+            this.$$search = Wa(c.search);
+            this.$$hash = c.hash && decodeURIComponent(c.hash) || "";
+            this.$$compose()
+        };
+        this.$$compose = function () {
+            var b = qb(this.$$search), c = this.$$hash ? "#" + Ya(this.$$hash) : "";
+            this.$$url = Gb(this.$$path) + (b ? "?" + b : "") + c;
+            this.$$absUrl = la(this.$$protocol,
+                this.$$host, this.$$port) + a + this.$$url
+        };
+        this.$$rewriteAppUrl = function (a) {
+            if (a.indexOf(c) == 0)return a
+        };
+        this.$$parse(b)
+    }
+
+    function Ha(b, a, c) {
+        var d;
+        this.$$parse = function (b) {
+            var c = wa(b, this);
+            if (c.hash && c.hash.indexOf(a) !== 0)throw Error('Invalid url "' + b + '", missing hash prefix "' + a + '" !');
+            d = c.path + (c.search ? "?" + c.search : "");
+            c = Hc.exec((c.hash || "").substr(a.length));
+            this.$$path = c[1] ? (c[1].charAt(0) == "/" ? "" : "/") + decodeURIComponent(c[1]) : "";
+            this.$$search = Wa(c[3]);
+            this.$$hash = c[5] && decodeURIComponent(c[5]) ||
+                "";
+            this.$$compose()
+        };
+        this.$$compose = function () {
+            var b = qb(this.$$search), c = this.$$hash ? "#" + Ya(this.$$hash) : "";
+            this.$$url = Gb(this.$$path) + (b ? "?" + b : "") + c;
+            this.$$absUrl = la(this.$$protocol, this.$$host, this.$$port) + d + (this.$$url ? "#" + a + this.$$url : "")
+        };
+        this.$$rewriteAppUrl = function (a) {
+            if (a.indexOf(c) == 0)return a
+        };
+        this.$$parse(b)
+    }
+
+    function Jb(b, a, c, d) {
+        Ha.apply(this, arguments);
+        this.$$rewriteAppUrl = function (b) {
+            if (b.indexOf(c) == 0)return c + d + "#" + a + b.substr(c.length)
+        }
+    }
+
+    function Ia(b) {
+        return function () {
+            return this[b]
+        }
+    }
+
+    function Kb(b, a) {
+        return function (c) {
+            if (x(c))return this[b];
+            this[b] = a(c);
+            this.$$compose();
+            return this
+        }
+    }
+
+    function Ic() {
+        var b = "", a = !1;
+        this.hashPrefix = function (a) {
+            return y(a) ? (b = a, this) : b
+        };
+        this.html5Mode = function (b) {
+            return y(b) ? (a = b, this) : a
+        };
+        this.$get = ["$rootScope", "$browser", "$sniffer", "$rootElement", function (c, d, e, g) {
+            function h(a) {
+                c.$broadcast("$locationChangeSuccess", f.absUrl(), a)
+            }
+
+            var f, j, i, k = d.url(), m = wa(k);
+            a ? (j = d.baseHref() || "/", i = j.substr(0, j.lastIndexOf("/")), m = la(m.protocol, m.host, m.port) + i + "/",
+                f = e.history ? new ib(Fc(k, j, b), i, m) : new Jb(Gc(k, j, b), b, m, j.substr(i.length + 1))) : (m = la(m.protocol, m.host, m.port) + (m.path || "") + (m.search ? "?" + m.search : "") + "#" + b + "/", f = new Ha(k, b, m));
+            g.bind("click", function (a) {
+                if (!a.ctrlKey && !(a.metaKey || a.which == 2)) {
+                    for (var b = u(a.target); A(b[0].nodeName) !== "a";)if (b[0] === g[0] || !(b = b.parent())[0])return;
+                    var d = b.prop("href"), e = f.$$rewriteAppUrl(d);
+                    d && !b.attr("target") && e && (f.$$parse(e), c.$apply(), a.preventDefault(), N.angular["ff-684208-preventDefault"] = !0)
+                }
+            });
+            f.absUrl() !=
+                k && d.url(f.absUrl(), !0);
+            d.onUrlChange(function (a) {
+                f.absUrl() != a && (c.$evalAsync(function () {
+                    var b = f.absUrl();
+                    f.$$parse(a);
+                    h(b)
+                }), c.$$phase || c.$digest())
+            });
+            var l = 0;
+            c.$watch(function () {
+                var a = d.url(), b = f.$$replace;
+                if (!l || a != f.absUrl())l++, c.$evalAsync(function () {
+                    c.$broadcast("$locationChangeStart", f.absUrl(), a).defaultPrevented ? f.$$parse(a) : (d.url(f.absUrl(), b), h(a))
+                });
+                f.$$replace = !1;
+                return l
+            });
+            return f
+        }]
+    }
+
+    function Jc() {
+        this.$get = ["$window", function (b) {
+            function a(a) {
+                a instanceof Error && (a.stack ? a = a.message &&
+                    a.stack.indexOf(a.message) === -1 ? "Error: " + a.message + "\n" + a.stack : a.stack : a.sourceURL && (a = a.message + "\n" + a.sourceURL + ":" + a.line));
+                return a
+            }
+
+            function c(c) {
+                var e = b.console || {}, g = e[c] || e.log || w;
+                return g.apply ? function () {
+                    var b = [];
+                    n(arguments, function (c) {
+                        b.push(a(c))
+                    });
+                    return g.apply(e, b)
+                } : function (a, b) {
+                    g(a, b)
+                }
+            }
+
+            return{log: c("log"), warn: c("warn"), info: c("info"), error: c("error")}
+        }]
+    }
+
+    function Kc(b, a) {
+        function c(a) {
+            return a.indexOf(s) != -1
+        }
+
+        function d() {
+            return o + 1 < b.length ? b.charAt(o + 1) : !1
+        }
+
+        function e(a) {
+            return"0" <=
+                a && a <= "9"
+        }
+
+        function g(a) {
+            return a == " " || a == "\r" || a == "\t" || a == "\n" || a == "\u000b" || a == "\u00a0"
+        }
+
+        function h(a) {
+            return"a" <= a && a <= "z" || "A" <= a && a <= "Z" || "_" == a || a == "$"
+        }
+
+        function f(a) {
+            return a == "-" || a == "+" || e(a)
+        }
+
+        function j(a, c, d) {
+            d = d || o;
+            throw Error("Lexer Error: " + a + " at column" + (y(c) ? "s " + c + "-" + o + " [" + b.substring(c, d) + "]" : " " + d) + " in expression [" + b + "].");
+        }
+
+        function i() {
+            for (var a = "", c = o; o < b.length;) {
+                var i = A(b.charAt(o));
+                if (i == "." || e(i))a += i; else {
+                    var g = d();
+                    if (i == "e" && f(g))a += i; else if (f(i) && g && e(g) && a.charAt(a.length -
+                        1) == "e")a += i; else if (f(i) && (!g || !e(g)) && a.charAt(a.length - 1) == "e")j("Invalid exponent"); else break
+                }
+                o++
+            }
+            a *= 1;
+            l.push({index: c, text: a, json: !0, fn: function () {
+                return a
+            }})
+        }
+
+        function k() {
+            for (var c = "", d = o, f, i, j; o < b.length;) {
+                var k = b.charAt(o);
+                if (k == "." || h(k) || e(k))k == "." && (f = o), c += k; else break;
+                o++
+            }
+            if (f)for (i = o; i < b.length;) {
+                k = b.charAt(i);
+                if (k == "(") {
+                    j = c.substr(f - d + 1);
+                    c = c.substr(0, f - d);
+                    o = i;
+                    break
+                }
+                if (g(k))i++; else break
+            }
+            d = {index: d, text: c};
+            if (Ja.hasOwnProperty(c))d.fn = d.json = Ja[c]; else {
+                var m = Lb(c, a);
+                d.fn = v(function (a, b) {
+                    return m(a, b)
+                }, {assign: function (a, b) {
+                    return Mb(a, c, b)
+                }})
+            }
+            l.push(d);
+            j && (l.push({index: f, text: ".", json: !1}), l.push({index: f + 1, text: j, json: !1}))
+        }
+
+        function m(a) {
+            var c = o;
+            o++;
+            for (var d = "", e = a, f = !1; o < b.length;) {
+                var i = b.charAt(o);
+                e += i;
+                if (f)i == "u" ? (i = b.substring(o + 1, o + 5), i.match(/[\da-f]{4}/i) || j("Invalid unicode escape [\\u" + i + "]"), o += 4, d += String.fromCharCode(parseInt(i, 16))) : (f = Lc[i], d += f ? f : i), f = !1; else if (i == "\\")f = !0; else if (i == a) {
+                    o++;
+                    l.push({index: c, text: e, string: d, json: !0, fn: function () {
+                        return d
+                    }});
+                    return
+                } else d += i;
+                o++
+            }
+            j("Unterminated quote", c)
+        }
+
+        for (var l = [], t, o = 0, p = [], s, P = ":"; o < b.length;) {
+            s = b.charAt(o);
+            if (c("\"'"))m(s); else if (e(s) || c(".") && e(d()))i(); else if (h(s)) {
+                if (k(), "{,".indexOf(P) != -1 && p[0] == "{" && (t = l[l.length - 1]))t.json = t.text.indexOf(".") == -1
+            } else if (c("(){}[].,;:"))l.push({index: o, text: s, json: ":[,".indexOf(P) != -1 && c("{[") || c("}]:,")}), c("{[") && p.unshift(s), c("}]") && p.shift(), o++; else if (g(s)) {
+                o++;
+                continue
+            } else {
+                var n = s + d(), z = Ja[s], W = Ja[n];
+                W ? (l.push({index: o, text: n, fn: W}), o += 2) : z ? (l.push({index: o,
+                    text: s, fn: z, json: "[,:".indexOf(P) != -1 && c("+-")}), o += 1) : j("Unexpected next character ", o, o + 1)
+            }
+            P = s
+        }
+        return l
+    }
+
+    function Mc(b, a, c, d) {
+        function e(a, c) {
+            throw Error("Syntax Error: Token '" + c.text + "' " + a + " at column " + (c.index + 1) + " of the expression [" + b + "] starting at [" + b.substring(c.index) + "].");
+        }
+
+        function g() {
+            if (Q.length === 0)throw Error("Unexpected end of expression: " + b);
+            return Q[0]
+        }
+
+        function h(a, b, c, d) {
+            if (Q.length > 0) {
+                var e = Q[0], f = e.text;
+                if (f == a || f == b || f == c || f == d || !a && !b && !c && !d)return e
+            }
+            return!1
+        }
+
+        function f(b, c, d, f) {
+            return(b = h(b, c, d, f)) ? (a && !b.json && e("is not valid json", b), Q.shift(), b) : !1
+        }
+
+        function j(a) {
+            f(a) || e("is unexpected, expecting [" + a + "]", h())
+        }
+
+        function i(a, b) {
+            return function (c, d) {
+                return a(c, d, b)
+            }
+        }
+
+        function k(a, b, c) {
+            return function (d, e) {
+                return b(d, e, a, c)
+            }
+        }
+
+        function m() {
+            for (var a = []; ;)if (Q.length > 0 && !h("}", ")", ";", "]") && a.push(x()), !f(";"))return a.length == 1 ? a[0] : function (b, c) {
+                for (var d, e = 0; e < a.length; e++) {
+                    var f = a[e];
+                    f && (d = f(b, c))
+                }
+                return d
+            }
+        }
+
+        function l() {
+            for (var a = f(), b = c(a.text), d = []; ;)if (a = f(":"))d.push(F());
+            else {
+                var e = function (a, c, e) {
+                    for (var e = [e], f = 0; f < d.length; f++)e.push(d[f](a, c));
+                    return b.apply(a, e)
+                };
+                return function () {
+                    return e
+                }
+            }
+        }
+
+        function t() {
+            for (var a = o(), b; ;)if (b = f("||"))a = k(a, b.fn, o()); else return a
+        }
+
+        function o() {
+            var a = p(), b;
+            if (b = f("&&"))a = k(a, b.fn, o());
+            return a
+        }
+
+        function p() {
+            var a = s(), b;
+            if (b = f("==", "!="))a = k(a, b.fn, p());
+            return a
+        }
+
+        function s() {
+            var a;
+            a = n();
+            for (var b; b = f("+", "-");)a = k(a, b.fn, n());
+            if (b = f("<", ">", "<=", ">="))a = k(a, b.fn, s());
+            return a
+        }
+
+        function n() {
+            for (var a = C(), b; b = f("*", "/", "%");)a = k(a,
+                b.fn, C());
+            return a
+        }
+
+        function C() {
+            var a;
+            return f("+") ? z() : (a = f("-")) ? k(r, a.fn, C()) : (a = f("!")) ? i(a.fn, C()) : z()
+        }
+
+        function z() {
+            var a;
+            if (f("("))a = x(), j(")"); else if (f("["))a = W(); else if (f("{"))a = J(); else {
+                var b = f();
+                (a = b.fn) || e("not a primary expression", b)
+            }
+            for (var c; b = f("(", "[", ".");)b.text === "(" ? (a = y(a, c), c = null) : b.text === "[" ? (c = a, a = S(a)) : b.text === "." ? (c = a, a = u(a)) : e("IMPOSSIBLE");
+            return a
+        }
+
+        function W() {
+            var a = [];
+            if (g().text != "]") {
+                do a.push(F()); while (f(","))
+            }
+            j("]");
+            return function (b, c) {
+                for (var d = [], e = 0; e <
+                    a.length; e++)d.push(a[e](b, c));
+                return d
+            }
+        }
+
+        function J() {
+            var a = [];
+            if (g().text != "}") {
+                do {
+                    var b = f(), b = b.string || b.text;
+                    j(":");
+                    var c = F();
+                    a.push({key: b, value: c})
+                } while (f(","))
+            }
+            j("}");
+            return function (b, c) {
+                for (var d = {}, e = 0; e < a.length; e++) {
+                    var f = a[e], i = f.value(b, c);
+                    d[f.key] = i
+                }
+                return d
+            }
+        }
+
+        var r = I(0), $, Q = Kc(b, d), F = function () {
+            var a = t(), c, d;
+            return(d = f("=")) ? (a.assign || e("implies assignment but [" + b.substring(0, d.index) + "] can not be assigned to", d), c = t(), function (b, d) {
+                return a.assign(b, c(b, d), d)
+            }) : a
+        }, y = function (a, b) {
+            var c = [];
+            if (g().text != ")") {
+                do c.push(F()); while (f(","))
+            }
+            j(")");
+            return function (d, e) {
+                for (var f = [], i = b ? b(d, e) : d, g = 0; g < c.length; g++)f.push(c[g](d, e));
+                g = a(d, e) || w;
+                return g.apply ? g.apply(i, f) : g(f[0], f[1], f[2], f[3], f[4])
+            }
+        }, u = function (a) {
+            var b = f().text, c = Lb(b, d);
+            return v(function (b, d) {
+                return c(a(b, d), d)
+            }, {assign: function (c, d, e) {
+                return Mb(a(c, e), b, d)
+            }})
+        }, S = function (a) {
+            var b = F();
+            j("]");
+            return v(function (c, d) {
+                var e = a(c, d), f = b(c, d), i;
+                if (!e)return q;
+                if ((e = e[f]) && e.then) {
+                    i = e;
+                    if (!("$$v"in e))i.$$v = q, i.then(function (a) {
+                        i.$$v =
+                            a
+                    });
+                    e = e.$$v
+                }
+                return e
+            }, {assign: function (c, d, e) {
+                return a(c, e)[b(c, e)] = d
+            }})
+        }, x = function () {
+            for (var a = F(), b; ;)if (b = f("|"))a = k(a, b.fn, l()); else return a
+        };
+        a ? (F = t, y = u = S = x = function () {
+            e("is not valid json", {text: b, index: 0})
+        }, $ = z()) : $ = m();
+        Q.length !== 0 && e("is an unexpected token", Q[0]);
+        return $
+    }
+
+    function Mb(b, a, c) {
+        for (var a = a.split("."), d = 0; a.length > 1; d++) {
+            var e = a.shift(), g = b[e];
+            g || (g = {}, b[e] = g);
+            b = g
+        }
+        return b[a.shift()] = c
+    }
+
+    function hb(b, a, c) {
+        if (!a)return b;
+        for (var a = a.split("."), d, e = b, g = a.length, h = 0; h < g; h++)d = a[h],
+            b && (b = (e = b)[d]);
+        return!c && H(b) ? Ua(e, b) : b
+    }
+
+    function Nb(b, a, c, d, e) {
+        return function (g, h) {
+            var f = h && h.hasOwnProperty(b) ? h : g, j;
+            if (f === null || f === q)return f;
+            if ((f = f[b]) && f.then) {
+                if (!("$$v"in f))j = f, j.$$v = q, j.then(function (a) {
+                    j.$$v = a
+                });
+                f = f.$$v
+            }
+            if (!a || f === null || f === q)return f;
+            if ((f = f[a]) && f.then) {
+                if (!("$$v"in f))j = f, j.$$v = q, j.then(function (a) {
+                    j.$$v = a
+                });
+                f = f.$$v
+            }
+            if (!c || f === null || f === q)return f;
+            if ((f = f[c]) && f.then) {
+                if (!("$$v"in f))j = f, j.$$v = q, j.then(function (a) {
+                    j.$$v = a
+                });
+                f = f.$$v
+            }
+            if (!d || f === null || f === q)return f;
+            if ((f = f[d]) && f.then) {
+                if (!("$$v"in f))j = f, j.$$v = q, j.then(function (a) {
+                    j.$$v = a
+                });
+                f = f.$$v
+            }
+            if (!e || f === null || f === q)return f;
+            if ((f = f[e]) && f.then) {
+                if (!("$$v"in f))j = f, j.$$v = q, j.then(function (a) {
+                    j.$$v = a
+                });
+                f = f.$$v
+            }
+            return f
+        }
+    }
+
+    function Lb(b, a) {
+        if (jb.hasOwnProperty(b))return jb[b];
+        var c = b.split("."), d = c.length, e;
+        if (a)e = d < 6 ? Nb(c[0], c[1], c[2], c[3], c[4]) : function (a, b) {
+            var e = 0, i;
+            do i = Nb(c[e++], c[e++], c[e++], c[e++], c[e++])(a, b), b = q, a = i; while (e < d);
+            return i
+        }; else {
+            var g = "var l, fn, p;\n";
+            n(c, function (a, b) {
+                g += "if(s === null || s === undefined) return s;\nl=s;\ns=" +
+                    (b ? "s" : '((k&&k.hasOwnProperty("' + a + '"))?k:s)') + '["' + a + '"];\nif (s && s.then) {\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n'
+            });
+            g += "return s;";
+            e = Function("s", "k", g);
+            e.toString = function () {
+                return g
+            }
+        }
+        return jb[b] = e
+    }
+
+    function Nc() {
+        var b = {};
+        this.$get = ["$filter", "$sniffer", function (a, c) {
+            return function (d) {
+                switch (typeof d) {
+                    case "string":
+                        return b.hasOwnProperty(d) ? b[d] : b[d] = Mc(d, !1, a, c.csp);
+                    case "function":
+                        return d;
+                    default:
+                        return w
+                }
+            }
+        }]
+    }
+
+    function Oc() {
+        this.$get =
+            ["$rootScope", "$exceptionHandler", function (b, a) {
+                return Pc(function (a) {
+                    b.$evalAsync(a)
+                }, a)
+            }]
+    }
+
+    function Pc(b, a) {
+        function c(a) {
+            return a
+        }
+
+        function d(a) {
+            return h(a)
+        }
+
+        var e = function () {
+            var f = [], j, i;
+            return i = {resolve: function (a) {
+                if (f) {
+                    var c = f;
+                    f = q;
+                    j = g(a);
+                    c.length && b(function () {
+                        for (var a, b = 0, d = c.length; b < d; b++)a = c[b], j.then(a[0], a[1])
+                    })
+                }
+            }, reject: function (a) {
+                i.resolve(h(a))
+            }, promise: {then: function (b, i) {
+                var g = e(), h = function (d) {
+                    try {
+                        g.resolve((b || c)(d))
+                    } catch (e) {
+                        a(e), g.reject(e)
+                    }
+                }, o = function (b) {
+                    try {
+                        g.resolve((i ||
+                            d)(b))
+                    } catch (c) {
+                        a(c), g.reject(c)
+                    }
+                };
+                f ? f.push([h, o]) : j.then(h, o);
+                return g.promise
+            }}}
+        }, g = function (a) {
+            return a && a.then ? a : {then: function (c) {
+                var d = e();
+                b(function () {
+                    d.resolve(c(a))
+                });
+                return d.promise
+            }}
+        }, h = function (a) {
+            return{then: function (c, i) {
+                var g = e();
+                b(function () {
+                    g.resolve((i || d)(a))
+                });
+                return g.promise
+            }}
+        };
+        return{defer: e, reject: h, when: function (f, j, i) {
+            var k = e(), m, l = function (b) {
+                try {
+                    return(j || c)(b)
+                } catch (d) {
+                    return a(d), h(d)
+                }
+            }, t = function (b) {
+                try {
+                    return(i || d)(b)
+                } catch (c) {
+                    return a(c), h(c)
+                }
+            };
+            b(function () {
+                g(f).then(function (a) {
+                    m ||
+                    (m = !0, k.resolve(g(a).then(l, t)))
+                }, function (a) {
+                    m || (m = !0, k.resolve(t(a)))
+                })
+            });
+            return k.promise
+        }, all: function (a) {
+            var b = e(), c = a.length, d = [];
+            c ? n(a, function (a, e) {
+                g(a).then(function (a) {
+                    e in d || (d[e] = a, --c || b.resolve(d))
+                }, function (a) {
+                    e in d || b.reject(a)
+                })
+            }) : b.resolve(d);
+            return b.promise
+        }}
+    }
+
+    function Qc() {
+        var b = {};
+        this.when = function (a, c) {
+            b[a] = v({reloadOnSearch: !0}, c);
+            if (a) {
+                var d = a[a.length - 1] == "/" ? a.substr(0, a.length - 1) : a + "/";
+                b[d] = {redirectTo: a}
+            }
+            return this
+        };
+        this.otherwise = function (a) {
+            this.when(null, a);
+            return this
+        };
+        this.$get = ["$rootScope", "$location", "$routeParams", "$q", "$injector", "$http", "$templateCache", function (a, c, d, e, g, h, f) {
+            function j(a, b) {
+                for (var b = "^" + b.replace(/[-\/\\^$*+?.()|[\]{}]/g, "\\$&") + "$", c = "", d = [], e = {}, f = /:(\w+)/g, i, g = 0; (i = f.exec(b)) !== null;)c += b.slice(g, i.index), c += "([^\\/]*)", d.push(i[1]), g = f.lastIndex;
+                c += b.substr(g);
+                var h = a.match(RegExp(c));
+                h && n(d, function (a, b) {
+                    e[a] = h[b + 1]
+                });
+                return h ? e : null
+            }
+
+            function i() {
+                var b = k(), i = t.current;
+                if (b && i && b.$$route === i.$$route && ga(b.pathParams, i.pathParams) && !b.reloadOnSearch && !l)i.params = b.params, V(i.params, d), a.$broadcast("$routeUpdate", i); else if (b || i)l = !1, a.$broadcast("$routeChangeStart", b, i), (t.current = b) && b.redirectTo && (B(b.redirectTo) ? c.path(m(b.redirectTo, b.params)).search(b.params).replace() : c.url(b.redirectTo(b.pathParams, c.path(), c.search())).replace()), e.when(b).then(function () {
+                    if (b) {
+                        var a = [], c = [], d;
+                        n(b.resolve || {}, function (b, d) {
+                            a.push(d);
+                            c.push(B(b) ? g.get(b) : g.invoke(b))
+                        });
+                        if (!y(d = b.template))if (y(d = b.templateUrl))d = h.get(d, {cache: f}).then(function (a) {
+                            return a.data
+                        });
+                        y(d) && (a.push("$template"), c.push(d));
+                        return e.all(c).then(function (b) {
+                            var c = {};
+                            n(b, function (b, d) {
+                                c[a[d]] = b
+                            });
+                            return c
+                        })
+                    }
+                }).then(function (c) {
+                        if (b == t.current) {
+                            if (b)b.locals = c, V(b.params, d);
+                            a.$broadcast("$routeChangeSuccess", b, i)
+                        }
+                    }, function (c) {
+                        b == t.current && a.$broadcast("$routeChangeError", b, i, c)
+                    })
+            }
+
+            function k() {
+                var a, d;
+                n(b, function (b, e) {
+                    if (!d && (a = j(c.path(), e)))d = za(b, {params: v({}, c.search(), a), pathParams: a}), d.$$route = b
+                });
+                return d || b[null] && za(b[null], {params: {}, pathParams: {}})
+            }
+
+            function m(a, b) {
+                var c =
+                    [];
+                n((a || "").split(":"), function (a, d) {
+                    if (d == 0)c.push(a); else {
+                        var e = a.match(/(\w+)(.*)/), f = e[1];
+                        c.push(b[f]);
+                        c.push(e[2] || "");
+                        delete b[f]
+                    }
+                });
+                return c.join("")
+            }
+
+            var l = !1, t = {routes: b, reload: function () {
+                l = !0;
+                a.$evalAsync(i)
+            }};
+            a.$on("$locationChangeSuccess", i);
+            return t
+        }]
+    }
+
+    function Rc() {
+        this.$get = I({})
+    }
+
+    function Sc() {
+        var b = 10;
+        this.digestTtl = function (a) {
+            arguments.length && (b = a);
+            return b
+        };
+        this.$get = ["$injector", "$exceptionHandler", "$parse", function (a, c, d) {
+            function e() {
+                this.$id = ya();
+                this.$$phase = this.$parent = this.$$watchers =
+                    this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = null;
+                this["this"] = this.$root = this;
+                this.$$destroyed = !1;
+                this.$$asyncQueue = [];
+                this.$$listeners = {};
+                this.$$isolateBindings = {}
+            }
+
+            function g(a) {
+                if (j.$$phase)throw Error(j.$$phase + " already in progress");
+                j.$$phase = a
+            }
+
+            function h(a, b) {
+                var c = d(a);
+                ra(c, b);
+                return c
+            }
+
+            function f() {
+            }
+
+            e.prototype = {$new: function (a) {
+                if (H(a))throw Error("API-CHANGE: Use $controller to instantiate controllers.");
+                a ? (a = new e, a.$root = this.$root) : (a = function () {
+                }, a.prototype =
+                    this, a = new a, a.$id = ya());
+                a["this"] = a;
+                a.$$listeners = {};
+                a.$parent = this;
+                a.$$asyncQueue = [];
+                a.$$watchers = a.$$nextSibling = a.$$childHead = a.$$childTail = null;
+                a.$$prevSibling = this.$$childTail;
+                this.$$childHead ? this.$$childTail = this.$$childTail.$$nextSibling = a : this.$$childHead = this.$$childTail = a;
+                return a
+            }, $watch: function (a, b, c) {
+                var d = h(a, "watch"), e = this.$$watchers, g = {fn: b, last: f, get: d, exp: a, eq: !!c};
+                if (!H(b)) {
+                    var j = h(b || w, "listener");
+                    g.fn = function (a, b, c) {
+                        j(c)
+                    }
+                }
+                if (!e)e = this.$$watchers = [];
+                e.unshift(g);
+                return function () {
+                    Ta(e,
+                        g)
+                }
+            }, $digest: function () {
+                var a, d, e, h, t, o, p, s = b, n, C = [], z, q;
+                g("$digest");
+                do {
+                    p = !1;
+                    n = this;
+                    do {
+                        for (t = n.$$asyncQueue; t.length;)try {
+                            n.$eval(t.shift())
+                        } catch (J) {
+                            c(J)
+                        }
+                        if (h = n.$$watchers)for (o = h.length; o--;)try {
+                            if (a = h[o], (d = a.get(n)) !== (e = a.last) && !(a.eq ? ga(d, e) : typeof d == "number" && typeof e == "number" && isNaN(d) && isNaN(e)))p = !0, a.last = a.eq ? V(d) : d, a.fn(d, e === f ? d : e, n), s < 5 && (z = 4 - s, C[z] || (C[z] = []), q = H(a.exp) ? "fn: " + (a.exp.name || a.exp.toString()) : a.exp, q += "; newVal: " + da(d) + "; oldVal: " + da(e), C[z].push(q))
+                        } catch (r) {
+                            c(r)
+                        }
+                        if (!(h =
+                            n.$$childHead || n !== this && n.$$nextSibling))for (; n !== this && !(h = n.$$nextSibling);)n = n.$parent
+                    } while (n = h);
+                    if (p && !s--)throw j.$$phase = null, Error(b + " $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: " + da(C));
+                } while (p || t.length);
+                j.$$phase = null
+            }, $destroy: function () {
+                if (!(j == this || this.$$destroyed)) {
+                    var a = this.$parent;
+                    this.$broadcast("$destroy");
+                    this.$$destroyed = !0;
+                    if (a.$$childHead == this)a.$$childHead = this.$$nextSibling;
+                    if (a.$$childTail == this)a.$$childTail = this.$$prevSibling;
+                    if (this.$$prevSibling)this.$$prevSibling.$$nextSibling = this.$$nextSibling;
+                    if (this.$$nextSibling)this.$$nextSibling.$$prevSibling = this.$$prevSibling;
+                    this.$parent = this.$$nextSibling = this.$$prevSibling = this.$$childHead = this.$$childTail = null
+                }
+            }, $eval: function (a, b) {
+                return d(a)(this, b)
+            }, $evalAsync: function (a) {
+                this.$$asyncQueue.push(a)
+            }, $apply: function (a) {
+                try {
+                    return g("$apply"), this.$eval(a)
+                } catch (b) {
+                    c(b)
+                } finally {
+                    j.$$phase = null;
+                    try {
+                        j.$digest()
+                    } catch (d) {
+                        throw c(d), d;
+                    }
+                }
+            }, $on: function (a, b) {
+                var c = this.$$listeners[a];
+                c || (this.$$listeners[a] = c = []);
+                c.push(b);
+                return function () {
+                    c[Aa(c, b)] = null
+                }
+            }, $emit: function (a, b) {
+                var d = [], e, f = this, g = !1, h = {name: a, targetScope: f, stopPropagation: function () {
+                    g = !0
+                }, preventDefault: function () {
+                    h.defaultPrevented = !0
+                }, defaultPrevented: !1}, j = [h].concat(ha.call(arguments, 1)), n, C;
+                do {
+                    e = f.$$listeners[a] || d;
+                    h.currentScope = f;
+                    n = 0;
+                    for (C = e.length; n < C; n++)if (e[n])try {
+                        if (e[n].apply(null, j), g)return h
+                    } catch (z) {
+                        c(z)
+                    } else e.splice(n, 1), n--, C--;
+                    f = f.$parent
+                } while (f);
+                return h
+            }, $broadcast: function (a, b) {
+                var d =
+                    this, e = this, f = {name: a, targetScope: this, preventDefault: function () {
+                    f.defaultPrevented = !0
+                }, defaultPrevented: !1}, g = [f].concat(ha.call(arguments, 1)), h, j;
+                do {
+                    d = e;
+                    f.currentScope = d;
+                    e = d.$$listeners[a] || [];
+                    h = 0;
+                    for (j = e.length; h < j; h++)if (e[h])try {
+                        e[h].apply(null, g)
+                    } catch (n) {
+                        c(n)
+                    } else e.splice(h, 1), h--, j--;
+                    if (!(e = d.$$childHead || d !== this && d.$$nextSibling))for (; d !== this && !(e = d.$$nextSibling);)d = d.$parent
+                } while (d = e);
+                return f
+            }};
+            var j = new e;
+            return j
+        }]
+    }
+
+    function Tc() {
+        this.$get = ["$window", function (b) {
+            var a = {}, c = G((/android (\d+)/.exec(A(b.navigator.userAgent)) ||
+                [])[1]);
+            return{history: !(!b.history || !b.history.pushState || c < 4), hashchange: "onhashchange"in b && (!b.document.documentMode || b.document.documentMode > 7), hasEvent: function (c) {
+                if (c == "input" && Z == 9)return!1;
+                if (x(a[c])) {
+                    var e = b.document.createElement("div");
+                    a[c] = "on" + c in e
+                }
+                return a[c]
+            }, csp: !1}
+        }]
+    }
+
+    function Uc() {
+        this.$get = I(N)
+    }
+
+    function Ob(b) {
+        var a = {}, c, d, e;
+        if (!b)return a;
+        n(b.split("\n"), function (b) {
+            e = b.indexOf(":");
+            c = A(O(b.substr(0, e)));
+            d = O(b.substr(e + 1));
+            c && (a[c] ? a[c] += ", " + d : a[c] = d)
+        });
+        return a
+    }
+
+    function Pb(b) {
+        var a =
+            L(b) ? b : q;
+        return function (c) {
+            a || (a = Ob(b));
+            return c ? a[A(c)] || null : a
+        }
+    }
+
+    function Qb(b, a, c) {
+        if (H(c))return c(b, a);
+        n(c, function (c) {
+            b = c(b, a)
+        });
+        return b
+    }
+
+    function Vc() {
+        var b = /^\s*(\[|\{[^\{])/, a = /[\}\]]\s*$/, c = /^\)\]\}',?\n/, d = this.defaults = {transformResponse: [function (d) {
+            B(d) && (d = d.replace(c, ""), b.test(d) && a.test(d) && (d = pb(d, !0)));
+            return d
+        }], transformRequest: [function (a) {
+            return L(a) && xa.apply(a) !== "[object File]" ? da(a) : a
+        }], headers: {common: {Accept: "application/json, text/plain, */*", "X-Requested-With": "XMLHttpRequest"},
+            post: {"Content-Type": "application/json;charset=utf-8"}, put: {"Content-Type": "application/json;charset=utf-8"}}}, e = this.responseInterceptors = [];
+        this.$get = ["$httpBackend", "$browser", "$cacheFactory", "$rootScope", "$q", "$injector", function (a, b, c, j, i, k) {
+            function m(a) {
+                function c(a) {
+                    var b = v({}, a, {data: Qb(a.data, a.headers, f)});
+                    return 200 <= a.status && a.status < 300 ? b : i.reject(b)
+                }
+
+                a.method = ma(a.method);
+                var e = a.transformRequest || d.transformRequest, f = a.transformResponse || d.transformResponse, g = d.headers, g = v({"X-XSRF-TOKEN": b.cookies()["XSRF-TOKEN"]},
+                    g.common, g[A(a.method)], a.headers), e = Qb(a.data, Pb(g), e), j;
+                x(a.data) && delete g["Content-Type"];
+                j = l(a, e, g);
+                j = j.then(c, c);
+                n(p, function (a) {
+                    j = a(j)
+                });
+                j.success = function (b) {
+                    j.then(function (c) {
+                        b(c.data, c.status, c.headers, a)
+                    });
+                    return j
+                };
+                j.error = function (b) {
+                    j.then(null, function (c) {
+                        b(c.data, c.status, c.headers, a)
+                    });
+                    return j
+                };
+                return j
+            }
+
+            function l(b, c, d) {
+                function e(a, b, c) {
+                    n && (200 <= a && a < 300 ? n.put(q, [a, b, Ob(c)]) : n.remove(q));
+                    f(b, a, c);
+                    j.$apply()
+                }
+
+                function f(a, c, d) {
+                    c = Math.max(c, 0);
+                    (200 <= c && c < 300 ? k.resolve : k.reject)({data: a,
+                        status: c, headers: Pb(d), config: b})
+                }
+
+                function h() {
+                    var a = Aa(m.pendingRequests, b);
+                    a !== -1 && m.pendingRequests.splice(a, 1)
+                }
+
+                var k = i.defer(), l = k.promise, n, p, q = t(b.url, b.params);
+                m.pendingRequests.push(b);
+                l.then(h, h);
+                b.cache && b.method == "GET" && (n = L(b.cache) ? b.cache : o);
+                if (n)if (p = n.get(q))if (p.then)return p.then(h, h), p; else E(p) ? f(p[1], p[0], V(p[2])) : f(p, 200, {}); else n.put(q, l);
+                p || a(b.method, q, c, e, d, b.timeout, b.withCredentials);
+                return l
+            }
+
+            function t(a, b) {
+                if (!b)return a;
+                var c = [];
+                fc(b, function (a, b) {
+                    a == null || a == q || (L(a) &&
+                        (a = da(a)), c.push(encodeURIComponent(b) + "=" + encodeURIComponent(a)))
+                });
+                return a + (a.indexOf("?") == -1 ? "?" : "&") + c.join("&")
+            }
+
+            var o = c("$http"), p = [];
+            n(e, function (a) {
+                p.push(B(a) ? k.get(a) : k.invoke(a))
+            });
+            m.pendingRequests = [];
+            (function (a) {
+                n(arguments, function (a) {
+                    m[a] = function (b, c) {
+                        return m(v(c || {}, {method: a, url: b}))
+                    }
+                })
+            })("get", "delete", "head", "jsonp");
+            (function (a) {
+                n(arguments, function (a) {
+                    m[a] = function (b, c, d) {
+                        return m(v(d || {}, {method: a, url: b, data: c}))
+                    }
+                })
+            })("post", "put");
+            m.defaults = d;
+            return m
+        }]
+    }
+
+    function Wc() {
+        this.$get =
+            ["$browser", "$window", "$document", function (b, a, c) {
+                return Xc(b, Yc, b.defer, a.angular.callbacks, c[0], a.location.protocol.replace(":", ""))
+            }]
+    }
+
+    function Xc(b, a, c, d, e, g) {
+        function h(a, b) {
+            var

<TRUNCATED>