text: ﻿(function (p, c, C) {
      'use strict'; function v(r, h, g) {
          return {
              restrict: "ECA", terminal: !0, priority: 400, transclude: "element", link: function (a, f, b, d, y) {
                  function z() { k && (g.cancel(k), k = null); l && (l.$destroy(), l = null); m && (k = g.leave(m), k.then(function () { k = null }), m = null) } function x() {
                      var b = r.current && r.current.locals; if (c.isDefined(b && b.$template)) {
                          var b = a.$new(), d = r.current; m = y(b, function (b) { g.enter(b, null, m || f).then(function () { !c.isDefined(t) || t && !a.$eval(t) || h() }); z() }); l = d.scope = b; l.$emit("$viewContentLoaded");
                          l.$eval(w)
                      } else z()
                  } var l, m, k, t = b.autoscroll, w = b.onload || ""; a.$on("$routeChangeSuccess", x); x()
              }
          }
      } function A(c, h, g) { return { restrict: "ECA", priority: -400, link: function (a, f) { var b = g.current, d = b.locals; f.html(d.$template); var y = c(f.contents()); b.controller && (d.$scope = a, d = h(b.controller, d), b.controllerAs && (a[b.controllerAs] = d), f.data("$ngControllerController", d), f.children().data("$ngControllerController", d)); y(a) } } } p = c.module("ngRoute", ["ng"]).provider("$route", function () {
          function r(a, f) {
              return c.extend(Object.create(a),
              f)
          } function h(a, c) { var b = c.caseInsensitiveMatch, d = { originalPath: a, regexp: a }, g = d.keys = []; a = a.replace(/([().])/g, "\\$1").replace(/(\/)?:(\w+)([\?\*])?/g, function (a, c, b, d) { a = "?" === d ? d : null; d = "*" === d ? d : null; g.push({ name: b, optional: !!a }); c = c || ""; return "" + (a ? "" : c) + "(?:" + (a ? c : "") + (d && "(.+?)" || "([^/]+)") + (a || "") + ")" + (a || "") }).replace(/([\/$\*])/g, "\\$1"); d.regexp = new RegExp("^" + a + "$", b ? "i" : ""); return d } var g = {}; this.when = function (a, f) {
              var b = c.copy(f); c.isUndefined(b.reloadOnSearch) && (b.reloadOnSearch = !0);
              c.isUndefined(b.caseInsensitiveMatch) && (b.caseInsensitiveMatch = this.caseInsensitiveMatch); g[a] = c.extend(b, a && h(a, b)); if (a) { var d = "/" == a[a.length - 1] ? a.substr(0, a.length - 1) : a + "/"; g[d] = c.extend({ redirectTo: a }, h(d, b)) } return this
          }; this.caseInsensitiveMatch = !1; this.otherwise = function (a) { "string" === typeof a && (a = { redirectTo: a }); this.when(null, a); return this }; this.$get = ["$rootScope", "$location", "$routeParams", "$q", "$injector", "$templateRequest", "$sce", function (a, f, b, d, h, p, x) {
              function l(b) {
                  var e = s.current;
                  (v = (n = k()) && e && n.$$route === e.$$route && c.equals(n.pathParams, e.pathParams) && !n.reloadOnSearch && !w) || !e && !n || a.$broadcast("$routeChangeStart", n, e).defaultPrevented && b && b.preventDefault()
              } function m() {
                  var u = s.current, e = n; if (v) u.params = e.params, c.copy(u.params, b), a.$broadcast("$routeUpdate", u); else if (e || u) w = !1, (s.current = e) && e.redirectTo && (c.isString(e.redirectTo) ? f.path(t(e.redirectTo, e.params)).search(e.params).replace() : f.url(e.redirectTo(e.pathParams, f.path(), f.search())).replace()), d.when(e).then(function () {
                      if (e) {
                          var a =
                          c.extend({}, e.resolve), b, f; c.forEach(a, function (b, e) { a[e] = c.isString(b) ? h.get(b) : h.invoke(b, null, null, e) }); c.isDefined(b = e.template) ? c.isFunction(b) && (b = b(e.params)) : c.isDefined(f = e.templateUrl) && (c.isFunction(f) && (f = f(e.params)), c.isDefined(f) && (e.loadedTemplateUrl = x.valueOf(f), b = p(f))); c.isDefined(b) && (a.$template = b); return d.all(a)
                      }
                  }).then(function (f) { e == s.current && (e && (e.locals = f, c.copy(e.params, b)), a.$broadcast("$routeChangeSuccess", e, u)) }, function (b) {
                      e == s.current && a.$broadcast("$routeChangeError",
                      e, u, b)
                  })
              } function k() { var a, b; c.forEach(g, function (d, g) { var q; if (q = !b) { var h = f.path(); q = d.keys; var l = {}; if (d.regexp) if (h = d.regexp.exec(h)) { for (var k = 1, m = h.length; k < m; ++k) { var n = q[k - 1], p = h[k]; n && p && (l[n.name] = p) } q = l } else q = null; else q = null; q = a = q } q && (b = r(d, { params: c.extend({}, f.search(), a), pathParams: a }), b.$$route = d) }); return b || g[null] && r(g[null], { params: {}, pathParams: {} }) } function t(a, b) {
                  var d = []; c.forEach((a || "").split(":"), function (a, c) {
                      if (0 === c) d.push(a); else {
                          var f = a.match(/(\w+)(?:[?*])?(.*)/),
                          g = f[1]; d.push(b[g]); d.push(f[2] || ""); delete b[g]
                      }
                  }); return d.join("")
              } var w = !1, n, v, s = { routes: g, reload: function () { w = !0; a.$evalAsync(function () { l(); m() }) }, updateParams: function (a) { if (this.current && this.current.$$route) a = c.extend({}, this.current.params, a), f.path(t(this.current.$$route.originalPath, a)), f.search(a); else throw B("norout"); } }; a.$on("$locationChangeStart", l); a.$on("$locationChangeSuccess", m); return s
          }]
      }); var B = c.$$minErr("ngRoute"); p.provider("$routeParams", function () { this.$get = function () { return {} } });
      p.directive("ngView", v); p.directive("ngView", A); v.$inject = ["$route", "$anchorScroll", "$animate"]; A.$inject = ["$compile", "$controller", "$route"]
  })(window, window.angular);