function $StateProvider(e,t){function a(e){return e.indexOf(".")===0||e.indexOf("^")===0}function f(e
,t){if(!e)return undefined;var n=isString(e),i=n?e:e.name,s=a(i);if(s){if(!t)throw new Error("No reference point given for path '"+
i+"'");t=f(t);var o=i.split("."),u=0,l=o.length,c=t;for(;u<l;u++){if(o[u]===""&&u===0){c=t;continue}if(
o[u]==="^"){if(!c.parent)throw new Error("Path '"+i+"' not valid for state '"+t.name+"'");c=c.parent;
continue}break}o=o.slice(u).join("."),i=c.name+(c.name&&o?".":"")+o}var h=r[i];return h&&(n||!n&&(h===
e||h.self===e))?h:undefined}function l(e,t){s[e]||(s[e]=[]),s[e].push(t)}function c(e){var t=s[e]||[]
;while(t.length)h(t.shift())}function h(t){t=inherit(t,{self:t,resolve:t.resolve||{},toString:function(
){return this.name}});var n=t.name;if(!isString(n)||n.indexOf("@")>=0)throw new Error("State must have a valid name"
);if(r.hasOwnProperty(n))throw new Error("State '"+n+"'' is already defined");var s=n.indexOf(".")!==-1?
n.substring(0,n.lastIndexOf(".")):isString(t.parent)?t.parent:isObject(t.parent)&&isString(t.parent.name
)?t.parent.name:"";if(s&&!r[s])return l(s,t.self);for(var a in u)isFunction(u[a])&&(t[a]=u[a](t,u.$delegates
[a]));return r[n]=t,!t[o]&&t.url&&e.when(t.url,["$match","$stateParams",function(e,n){(i.$current.navigable!=
t||!equalForKeys(e,n))&&i.transitionTo(t,e,{inherit:!0,location:!1})}]),c(n),t}function p(e){return e
.indexOf("*")>-1}function d(e){var t=e.split("."),n=i.$current.name.split(".");t[0]==="**"&&(n=n.slice
(indexOf(n,t[1])),n.unshift("**")),t[t.length-1]==="**"&&(n.splice(indexOf(n,t[t.length-2])+1,Number.
MAX_VALUE),n.push("**"));if(t.length!=n.length)return!1;for(var r=0,s=t.length;r<s;r++)t[r]==="*"&&(n
[r]="*");return n.join("")===t.join("")}function v(e,t){return isString(e)&&!isDefined(t)?u[e]:!isFunction
(t)||!isString(e)?this:(u[e]&&!u.$delegates[e]&&(u.$delegates[e]=u[e]),u[e]=t,this)}function m(e,t){return isObject
(e)?t=e:t.name=e,h(t),this}function g(e,t,s,u,a,l,c,h,v){function E(n,r,s,o){var u=e.$broadcast("$stateNotFound"
,n,r,s);if(u.defaultPrevented)return c.update(),b;if(!u.retry)return null;if(o.$retry)return c.update
(),w;var a=i.transition=t.when(u.retry);return a.then(function(){return a!==i.transition?m:(n.options
.$retry=!0,i.transitionTo(n.to,n.toParams,n.options))},function(){return b}),c.update(),a}function S(
e,n,r,i,o,f){var l=r?n:filterByKeys(e.params.$$keys(),n),c={$stateParams:l};o.resolve=a.resolve(e.resolve
,c,o.resolve,e);var h=[o.resolve.then(function(e){o.globals=e})];return i&&h.push(i),forEach(e.views,
function(t,n){var r=t.resolve&&t.resolve!==e.resolve?t.resolve:{};r.$template=[function(){return s.load
(n,{view:t,locals:c,params:l,notify:f.notify})||""}],h.push(a.resolve(r,c,o.resolve,e).then(function(
i){if(isFunction(t.controllerProvider)||isArray(t.controllerProvider)){var s=angular.extend({},r,c);i
.$$controller=u.invoke(t.controllerProvider,null,s)}else i.$$controller=t.controller;i.$$state=e,i.$$controllerAs=
t.controllerAs,o[n]=i}))}),t.all(h).then(function(e){return o})}var m=t.reject(new Error("transition superseded"
)),g=t.reject(new Error("transition prevented")),b=t.reject(new Error("transition aborted")),w=t.reject
(new Error("transition failed"));return n.locals={resolve:null,globals:{$stateParams:{}}},i={params:{
},current:n.self,$current:n,transition:null},i.reload=function(){return i.transitionTo(i.current,l,{reload
:!0,inherit:!1,notify:!0})},i.go=function(t,n,r){return i.transitionTo(t,n,extend({inherit:!0,relative
:i.$current},r))},i.transitionTo=function(s,a,h){a=a||{},h=extend({location:!0,inherit:!1,relative:null
,notify:!0,reload:!1,$retry:!1},h||{});var p=i.$current,d=i.params,v=p.path,b,x=f(s,h.relative);if(!isDefined
(x)){var T={to:s,toParams:a,options:h},N=E(T,p.self,d,h);if(N)return N;s=T.to,a=T.toParams,h=T.options
,x=f(s,h.relative);if(!isDefined(x))throw h.relative?new Error("Could not resolve '"+s+"' from state '"+
h.relative+"'"):new Error("No such state '"+s+"'")}if(x[o])throw new Error("Cannot transition to abstract state '"+
s+"'");h.inherit&&(a=inheritParams(l,a||{},i.$current,x));if(!x.params.$$validates(a))return w;a=x.params
.$$values(a),s=x;var C=s.path,k=0,L=C[k],A=n.locals,O=[];if(!h.reload)while(L&&L===v[k]&&L.ownParams.
$$equals(a,d))A=O[k]=L.locals,k++,L=C[k];if(y(s,p,A,h))return s.self.reloadOnSearch!==!1&&c.update(),
i.transition=null,t.when(i.current);a=filterByKeys(s.params.$$keys(),a||{});if(h.notify&&e.$broadcast
("$stateChangeStart",s.self,a,p.self,d).defaultPrevented)return c.update(),g;var M=t.when(A);for(var _=
k;_<C.length;_++,L=C[_])A=O[_]=inherit(A),M=S(L,a,L===s,M,A,h);var D=i.transition=M.then(function(){var t
,n,r;if(i.transition!==D)return m;for(t=v.length-1;t>=k;t--)r=v[t],r.self.onExit&&u.invoke(r.self.onExit
,r.self,r.locals.globals),r.locals=null;for(t=k;t<C.length;t++)n=C[t],n.locals=O[t],n.self.onEnter&&u
.invoke(n.self.onEnter,n.self,n.locals.globals);return i.transition!==D?m:(i.$current=s,i.current=s.self
,i.params=a,copy(i.params,l),i.transition=null,h.location&&s.navigable&&c.push(s.navigable.url,s.navigable
.locals.globals.$stateParams,{$$avoidResync:!0,replace:h.location==="replace"}),h.notify&&e.$broadcast
("$stateChangeSuccess",s.self,a,p.self,d),c.update(!0),i.current)},function(n){return i.transition!==
D?m:(i.transition=null,b=e.$broadcast("$stateChangeError",s.self,a,p.self,d,n),b.defaultPrevented||c.
update(),t.reject(n))});return D},i.is=function(t,n,r){r=extend({relative:i.$current},r||{});var s=f(
t,r.relative);return isDefined(s)?i.$current!==s?!1:n?equalForKeys(s.params.$$values(n),l):!0:undefined
},i.includes=function(t,n,r){r=extend({relative:i.$current},r||{});if(isString(t)&&p(t)){if(!d(t))return!1
;t=i.$current.name}var s=f(t,r.relative);return isDefined(s)?isDefined(i.$current.includes[s.name])?n?
equalForKeys(s.params.$$values(n),l,objectKeys(n)):!0:!1:undefined},i.href=function(t,n,r){r=extend({
lossy:!0,inherit:!0,absolute:!1,relative:i.$current},r||{});var s=f(t,r.relative);if(!isDefined(s))return null
;r.inherit&&(n=inheritParams(l,n||{},i.$current,s));var o=s&&r.lossy?s.navigable:s;return!o||o.url===
undefined||o.url===null?null:c.href(o.url,filterByKeys(s.params.$$keys(),n||{}),{absolute:r.absolute}
)},i.get=function(e,t){if(arguments.length===0)return map(objectKeys(r),function(e){return r[e].self}
);var n=f(e,t||i.$current);return n&&n.self?n.self:null},i}function y(e,t,n,r){if(e===t&&(n===t.locals&&!
r.reload||e.self.reloadOnSearch===!1))return!0}var n,r={},i,s={},o="abstract",u={parent:function(e){if(
isDefined(e.parent)&&e.parent)return f(e.parent);var t=/^(.+)\.[^.]+$/.exec(e.name);return t?f(t[1]):
n},data:function(e){return e.parent&&e.parent.data&&(e.data=e.self.data=extend({},e.parent.data,e.data
)),e.data},url:function(e){var r=e.url,i={params:e.params||{}};if(isString(r))return r.charAt(0)=="^"?
t.compile(r.substring(1),i):(e.parent.navigable||n).url.concat(r,i);if(!r||t.isMatcher(r))return r;throw new 
Error("Invalid url '"+r+"' in state '"+e+"'")},navigable:function(e){return e.url?e:e.parent?e.parent
.navigable:null},ownParams:function(e){var t=e.url&&e.url.params||new $$UMFP.ParamSet;return forEach(
e.params||{},function(e,n){t[n]||(t[n]=new $$UMFP.Param(n,null,e,"config"))}),t},params:function(e){return e
.parent&&e.parent.params?extend(e.parent.params.$$new(),e.ownParams):new $$UMFP.ParamSet},views:function(
e){var t={};return forEach(isDefined(e.views)?e.views:{"":e},function(n,r){r.indexOf("@")<0&&(r+="@"+
e.parent.name),t[r]=n}),t},path:function(e){return e.parent?e.parent.path.concat(e):[]},includes:function(
e){var t=e.parent?extend({},e.parent.includes):{};return t[e.name]=!0,t},$delegates:{}};n=h({name:"",
url:"^",views:null,"abstract":!0}),n.navigable=null,this.decorator=v,this.state=m,this.$get=g,g.$inject=
["$rootScope","$q","$view","$injector","$resolve","$stateParams","$urlRouter","$location","$urlMatcherFactory"
]}$StateProvider.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"],angular.module("ui.router.state"
).value("$stateParams",{}).provider("$state",$StateProvider);