function uiUploader(n){"use strict";function r(n){for(var i=0;i<n.length;i++)t.files.push(n[i])}function u(){return t.files}function i(n){t.options=n;for(var i=0;i<t.files.length;i++){if(t.activeUploads==t.options.concurrency)break;t.files[i].active||s(t.files[i],t.options.url)}}function f(n){t.files.splice(t.files.indexOf(n),1)}function e(){t.files.splice(0,t.files.length)}function o(n){var i=["n/a","bytes","KiB","MiB","GiB","TB","PB","EiB","ZiB","YiB"],t=+Math.floor(Math.log(n)/Math.log(1024));return(n/Math.pow(1024,t)).toFixed(t?1:0)+" "+i[isNaN(n)?0:t+1]}function s(n,r){var u,f,e,s="";if(t.activeUploads+=1,n.active=!0,u=new window.XMLHttpRequest,f=new window.FormData,u.open("POST",r),u.upload.onloadstart=function(){},u.upload.onprogress=function(i){if(i.lengthComputable){n.loaded=i.loaded;n.humanSize=o(i.loaded);t.options.onProgress(n)}},u.onload=function(){t.activeUploads-=1;i(t.options);t.options.onCompleted(n,u.responseText)},u.onerror=function(){},s)for(e in s)s.hasOwnProperty(e)&&f.append(e,s[e]);return f.append("file",n,n.name),u.send(f),u}var t=this;return t.files=[],t.options={},t.activeUploads=0,n.info("uiUploader loaded"),{addFiles:r,getFiles:u,files:t.files,startUpload:i,removeFile:f,removeAll:e}}"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(n,t,i){"use strict";function w(n,t){return r(new(r(function(){},{prototype:n})),t)}function k(n){return f(arguments,function(t){t!==n&&f(t,function(t,i){n.hasOwnProperty(i)||(n[i]=t)})}),n}function wt(n,t){var r=[];for(var i in n.path){if(n.path[i]!==t.path[i])break;r.push(n.path[i])}return r}function p(n){if(Object.keys)return Object.keys(n);var i=[];return t.forEach(n,function(n,t){i.push(t)}),i}function s(n,t){if(Array.prototype.indexOf)return n.indexOf(t,Number(arguments[2])||0);var r=n.length>>>0,i=Number(arguments[2])||0;for(i=0>i?Math.ceil(i):Math.floor(i),0>i&&(i+=r);r>i;i++)if(i in n&&n[i]===t)return i;return-1}function it(n,t,i,u){var f,o=wt(i,u),c={},l=[],h,e;for(h in o)if(o[h].params&&(f=p(o[h].params),f.length))for(e in f)s(l,f[e])>=0||(l.push(f[e]),c[f[e]]=n[f[e]]);return r({},c,t)}function d(n,t,i){var f,r,u;if(!i){i=[];for(f in n)i.push(f)}for(r=0;r<i.length;r++)if(u=i[r],n[u]!=t[u])return!1;return!0}function g(n,t){var i={};return f(n,function(n){i[n]=t[n]}),i}function b(n){var i={},r=Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(arguments,1));for(var t in n)-1==s(r,t)&&(i[t]=n[t]);return i}function nt(n,t){var r=a(n),i=r?[]:{};return f(n,function(n,u){t(n,u)&&(i[r?i.length:u]=n)}),i}function v(n,t){var i=a(n)?[]:{};return f(n,function(n,r){i[r]=t(n,r)}),i}function rt(n,t){var h=1,c=2,o={},l=[],a=o,v=r(n.when(o),{$$promises:o,$$values:o});this.study=function(o){function tt(n,i){if(g[i]!==c){if(d.push(i),g[i]===h)throw d.splice(0,s(d,i)),new Error("Cyclic dependency: "+d.join(" -> "));if(g[i]=h,e(n))w.push(i,[function(){return t.get(n)}],l);else{var r=t.annotate(n);f(r,function(n){n!==i&&o.hasOwnProperty(n)&&tt(o[n],n)});w.push(i,n,r)}d.pop();g[i]=c}}function it(n){return y(n)&&n.then&&n.$$promises}if(!y(o))throw new Error("'invocables' must be an object");var nt=p(o||{}),w=[],d=[],g={};return f(o,tt),o=d=g=null,function(e,o,s){function p(){--et||(rt||k(c,o.$$values),h.$$values=c,h.$$promises=h.$$promises||!0,delete h.$$inheritedValues,tt.resolve(c))}function g(n){h.$$failure=n;tt.reject(n)}function ft(i,r,o){function a(n){l.reject(n);g(n)}function y(){if(!u(h.$$failure))try{l.resolve(t.invoke(r,s,c));l.promise.then(function(n){c[i]=n;p()},a)}catch(n){a(n)}}var l=n.defer(),v=0;f(o,function(n){d.hasOwnProperty(n)&&!e.hasOwnProperty(n)&&(v++,d[n].then(function(t){c[n]=t;--v||y()},a))});v||y();d[i]=l.promise}var l,ut;if(it(e)&&s===i&&(s=o,o=e,e=null),e){if(!y(e))throw new Error("'locals' must be an object");}else e=a;if(o){if(!it(o))throw new Error("'parent' must be a promise returned by $resolve.resolve()");}else o=v;var tt=n.defer(),h=tt.promise,d=h.$$promises={},c=r({},e),et=1+w.length/3,rt=!1;if(u(o.$$failure))return g(o.$$failure),h;for(o.$$inheritedValues&&k(c,b(o.$$inheritedValues,nt)),r(d,o.$$promises),o.$$values?(rt=k(c,b(o.$$values,nt)),h.$$inheritedValues=b(o.$$values,nt),p()):(o.$$inheritedValues&&(h.$$inheritedValues=b(o.$$inheritedValues,nt)),o.then(p,g)),l=0,ut=w.length;ut>l;l+=3)e.hasOwnProperty(w[l])?p():ft(w[l],w[l+1],w[l+2]);return h}};this.resolve=function(n,t,i,r){return this.study(n)(t,i,r)}}function ut(n,t,i){this.fromConfig=function(n,t,i){return u(n.template)?this.fromString(n.template,t):u(n.templateUrl)?this.fromUrl(n.templateUrl,t):u(n.templateProvider)?this.fromProvider(n.templateProvider,t,i):null};this.fromString=function(n,t){return h(n)?n(t):n};this.fromUrl=function(i,r){return h(i)&&(i=i(r)),null==i?null:n.get(i,{cache:t,headers:{Accept:"text/html"}}).then(function(n){return n.data})};this.fromProvider=function(n,t,r){return i.invoke(n,null,r||{params:t})}}function l(n,t,u){function d(t,i,r,u){if(it.push(t),tt[t])return tt[t];if(!/^\w+(-+\w+)*(?:\[\])?$/.test(t))throw new Error("Invalid parameter name '"+t+"' in pattern '"+n+"'");if(b[t])throw new Error("Duplicate parameter name '"+t+"' in pattern '"+n+"'");return b[t]=new c.Param(t,i,r,u),b[t]}function g(n,t,i){var r=["",""],u=n.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!t)return u;switch(i){case!1:r=["(",")"];break;case!0:r=["?(",")?"];break;default:r=["("+i+"|",")?"]}return u+r[0]+t+r[1]}function nt(i,r){var f,u,e,s,h;return f=i[2]||i[3],h=t.params[f],e=n.substring(o,i.index),u=r?i[4]:i[4]||("*"==i[1]?".*":null),s=c.type(u||"string")||w(c.type("string"),{pattern:new RegExp(u)}),{id:f,regexp:u,segment:e,type:s,cfg:h}}var f,l,e,s,k;t=r({params:{}},y(t)?t:{});var h,a=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,rt=/([:]?)([\w\[\]-]+)|\{([\w\[\]-]+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,v="^",o=0,p=this.segments=[],tt=u?u.params:{},b=this.params=u?u.params.$$new():new c.ParamSet,it=[];for(this.source=n;(h=a.exec(n))&&(f=nt(h,!1),!(f.segment.indexOf("?")>=0));)l=d(f.id,f.type,f.cfg,"path"),v+=g(f.segment,l.type.pattern.source,l.squash),p.push(f.segment),o=a.lastIndex;if(e=n.substring(o),s=e.indexOf("?"),s>=0){if(k=this.sourceSearch=e.substring(s),e=e.substring(0,s),this.sourcePath=n.substring(0,o+s),k.length>0)for(o=0;h=rt.exec(k);)f=nt(h,!0),l=d(f.id,f.type,f.cfg,"search"),o=a.lastIndex}else this.sourcePath=n,this.sourceSearch="";v+=g(e)+(t.strict===!1?"/?":"")+"$";p.push(e);this.regexp=new RegExp(v,t.caseInsensitive?"i":i);this.prefix=p[0];this.$$paramNames=it}function o(n){r(this,n)}function ft(){function rt(n){return null!=n?n.toString().replace(/\//g,"%2F"):n}function ht(n){return null!=n?n.toString().replace(/%2F/g,"/"):n}function ct(n){return this.pattern.test(n)}function lt(){return{strict:g,caseInsensitive:d}}function ut(n){return h(n)||a(n)&&h(n[n.length-1])}function et(){for(;it.length;){var i=it.shift();if(i.pattern)throw new Error("You cannot override a type's .pattern at runtime.");t.extend(n[i.name],b.invoke(i.def))}}function k(n){r(this,n||{})}c=this;var b,d=!1,g=!0,tt=!1,n={},ot=!0,it=[],st={string:{encode:rt,decode:ht,is:ct,pattern:/[^/]*/},int:{encode:rt,decode:function(n){return parseInt(n,10)},is:function(n){return u(n)&&this.decode(n.toString())===n},pattern:/\d+/},bool:{encode:function(n){return n?1:0},decode:function(n){return 0!==parseInt(n,10)},is:function(n){return n===!0||n===!1},pattern:/0|1/},date:{encode:function(n){return this.is(n)?[n.getFullYear(),("0"+(n.getMonth()+1)).slice(-2),("0"+n.getDate()).slice(-2)].join("-"):i},decode:function(n){if(this.is(n))return n;var t=this.capture.exec(n);return t?new Date(t[1],t[2]-1,t[3]):i},is:function(n){return n instanceof Date&&!isNaN(n.valueOf())},equals:function(n,t){return this.is(n)&&this.is(t)&&n.toISOString()===t.toISOString()},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:t.toJson,decode:t.fromJson,is:t.isObject,equals:t.equals,pattern:/[^/]*/},any:{encode:t.identity,decode:t.identity,is:t.identity,equals:t.equals,pattern:/.*/}};ft.$$getDefaultValue=function(n){if(!ut(n.value))return n.value;if(!b)throw new Error("Injectable functions cannot be called at configuration time");return b.invoke(n.value)};this.caseInsensitive=function(n){return u(n)&&(d=n),d};this.strictMode=function(n){return u(n)&&(g=n),g};this.defaultSquashPolicy=function(n){if(!u(n))return tt;if(n!==!0&&n!==!1&&!e(n))throw new Error("Invalid squash policy: "+n+". Valid policies: false, true, arbitrary-string");return tt=n,n};this.compile=function(n,t){return new l(n,r(lt(),t))};this.isMatcher=function(n){if(!y(n))return!1;var t=!0;return f(l.prototype,function(i,r){h(i)&&(t=t&&u(n[r])&&h(n[r]))}),t};this.type=function(t,i,f){if(!u(i))return n[t];if(n.hasOwnProperty(t))throw new Error("A type named '"+t+"' has already been defined.");return n[t]=new o(r({name:t},i)),f&&(it.push({name:t,def:f}),ot||et()),this};f(st,function(t,i){n[i]=new o(r({name:i},t))});n=w(n,{});this.$get=["$injector",function(t){return b=t,ot=!1,et(),f(st,function(t,i){n[i]||(n[i]=new o(t))}),this}];this.Param=function(t,f,h,c){function g(n){var t=y(n)?p(n):[],i=-1===s(t,"value")&&-1===s(t,"type")&&-1===s(t,"squash")&&-1===s(t,"array");return i&&(n={value:n}),n.$$fn=ut(n.value)?n.value:function(){return n.value},n}function it(i,r,u){if(i.type&&r)throw new Error("Param '"+t+"' has two type configurations.");return r?r:i.type?i.type instanceof o?i.type:new o(i.type):"config"===u?n.any:n.string}function rt(){var n={array:"search"===c?"auto":!1},i=t.match(/\[\]$/)?{array:!0}:{};return r(n,i,h).array}function ft(n,t){var i=n.squash;if(!t||i===!1)return!1;if(!u(i)||null==i)return tt;if(i===!0||e(i))return i;throw new Error("Invalid squash policy: '"+i+"'. Valid policies: false, true, or arbitrary string");}function et(n,t,r,u){var f,o,h=[{from:"",to:r||t?i:""},{from:null,to:r||t?i:""}];return f=a(n.replace)?n.replace:[],e(u)&&f.push({from:u,to:i}),o=v(f,function(n){return n.from}),nt(h,function(n){return-1===s(o,n.from)}).concat(f)}function ot(){if(!b)throw new Error("Injectable functions cannot be called at configuration time");return b.invoke(h.$$fn)}function st(n){function t(n){return function(t){return t.from===n}}function i(n){var i=v(nt(d.replace,t(n)),function(n){return n.to});return i.length?i[0]:n}return n=i(n),u(n)?d.type.decode(n):ot()}function ht(){return"{Param:"+t+" "+f+" squash: '"+k+"' optional: "+w+"}"}var d=this,l;h=g(h);f=it(h,f,c);l=rt();f=l?f.$asArray(l,"search"===c):f;"string"!==f.name||l||"path"!==c||h.value!==i||(h.value="");var w=h.value!==i,k=ft(h,w),ct=et(h,l,w,k);r(this,{id:t,type:f,location:c,array:l,squash:k,replace:ct,isOptional:w,value:st,dynamic:i,config:h,toString:ht})};k.prototype={$$new:function(){return w(this,r(new k,{$$parent:this}))},$$keys:function(){for(var t=[],i=[],n=this,r=p(k.prototype);n;)i.push(n),n=n.$$parent;return i.reverse(),f(i,function(n){f(p(n),function(n){-1===s(t,n)&&-1===s(r,n)&&t.push(n)})}),t},$$values:function(n){var t={},i=this;return f(i.$$keys(),function(r){t[r]=i[r].value(n&&n[r])}),t},$$equals:function(n,t){var i=!0,r=this;return f(r.$$keys(),function(u){var f=n&&n[u],e=t&&t[u];r[u].type.equals(f,e)||(i=!1)}),i},$$validates:function(n){var u,t,i,r=!0,e=this;return f(this.$$keys(),function(f){i=e[f];t=n[f];u=!t&&i.isOptional;r=r&&(u||!!i.type.is(t))}),r},$$parent:i};this.ParamSet=k}function et(n,f){function p(n){var t=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(n.source);return null!=t?t[1].replace(/\\(.)/g,"$1"):""}function w(n,t){return n.replace(/\$(\$|\d{1,2})/,function(n,i){return t["$"===i?0:Number(i)]})}function c(n,t,i){if(!i)return!1;var r=n.invoke(t,t,{$match:i});return u(r)?r:!0}function l(r,u,f,h){function b(n,t,i){return"/"===l?n:t?l.slice(0,-1)+n:i?l.slice(1)+n:n}function p(n){function u(n){var t=n(f,r);return t?(e(t)&&r.replace().url(t),!0):!1}var h,t,l;if(!n||!n.defaultPrevented){if(h=c&&r.url()===c,c=i,h)return!0;for(l=o.length,t=0;l>t;t++)if(u(o[t]))return;s&&u(s)}}function w(){return v=v||u.$on("$locationChangeSuccess",p)}var c,l=h.baseHref(),a=r.url();return y||w(),{sync:function(){p()},listen:function(){return w()},update:function(n){return n?void(a=r.url()):void(r.url()!==a&&(r.url(a),r.replace()))},push:function(n,t,u){r.url(n.format(t||{}));c=u&&u.$$avoidResync?r.url():i;u&&u.replace&&r.replace()},href:function(i,u,f){var o,e,h,s;return i.validates(u)?(o=n.html5Mode(),t.isObject(o)&&(o=o.enabled),e=i.format(u),f=f||{},o||null===e||(e="#"+n.hashPrefix()+e),e=b(e,o,f.absolute),!f.absolute||!e)?e:(h=!o&&e?"/":"",s=r.port(),s=80===s||443===s?"":":"+s,[r.protocol(),"://",r.host(),s,h,e].join("")):null}}}var v,o=[],s=null,y=!1;this.rule=function(n){if(!h(n))throw new Error("'rule' must be a function");return o.push(n),this};this.otherwise=function(n){if(e(n)){var t=n;n=function(){return t}}else if(!h(n))throw new Error("'rule' must be a function");return s=n,this};this.when=function(n,t){var i,u=e(t),l,o,s;if(e(n)&&(n=f.compile(n)),!u&&!h(t)&&!a(t))throw new Error("invalid 'handler' in when()");l={matcher:function(n,t){return u&&(i=f.compile(t),t=["$match",function(n){return i.format(n)}]),r(function(i,r){return c(i,t,n.exec(r.path(),r.search()))},{prefix:e(n.prefix)?n.prefix:""})},regex:function(n,t){if(n.global||n.sticky)throw new Error("when() RegExp must not be global or sticky");return u&&(i=t,t=["$match",function(n){return w(i,n)}]),r(function(i,r){return c(i,t,n.exec(r.path()))},{prefix:p(n)})}};o={matcher:f.isMatcher(n),regex:n instanceof RegExp};for(s in o)if(o[s])return this.rule(l[s](n,t));throw new Error("invalid 'what' in when()");};this.deferIntercept=function(n){n===i&&(n=!0);y=n};this.$get=l;l.$inject=["$location","$rootScope","$injector","$browser"]}function ot(n,o){function ot(n){return 0===n.indexOf(".")||0===n.indexOf("^")}function k(n,t){var s;if(!n)return i;var h=e(n),u=h?n:n.name,c=ot(u);if(c){if(!t)throw new Error("No reference point given for path '"+u+"'");t=k(t);for(var r=u.split("."),f=0,l=r.length,o=t;l>f;f++)if(""!==r[f]||0!==f){if("^"!==r[f])break;if(!o.parent)throw new Error("Path '"+u+"' not valid for state '"+t.name+"'");o=o.parent}else o=t;r=r.slice(f).join(".");u=o.name+(o.name&&r?".":"")+r}return s=tt[u],!s||!h&&(h||s!==n&&s.self!==n)?i:s}function st(n,t){rt[n]||(rt[n]=[]);rt[n].push(t)}function ht(n){for(var t=rt[n]||[];t.length;)ut(t.shift())}function ut(t){var i,u,r;if(t=w(t,{self:t,resolve:t.resolve||{},toString:function(){return this.name}}),i=t.name,!e(i)||i.indexOf("@")>=0)throw new Error("State must have a valid name");if(tt.hasOwnProperty(i))throw new Error("State '"+i+"'' is already defined");if(u=-1!==i.indexOf(".")?i.substring(0,i.lastIndexOf(".")):e(t.parent)?t.parent:y(t.parent)&&e(t.parent.name)?t.parent.name:"",u&&!tt[u])return st(u,t.self);for(r in b)h(b[r])&&(t[r]=b[r](t,b.$delegates[r]));return tt[i]=t,!t[et]&&t.url&&n.when(t.url,["$match","$stateParams",function(n,i){l.$current.navigable==t&&d(n,i)||l.transitionTo(t,n,{inherit:!0,location:!1})}]),ht(i),t}function ct(n){return n.indexOf("*")>-1}function lt(n){var t=n.split("."),i=l.$current.name.split("."),r,u;if("**"===t[0]&&(i=i.slice(s(i,t[1])),i.unshift("**")),"**"===t[t.length-1]&&(i.splice(s(i,t[t.length-2])+1,Number.MAX_VALUE),i.push("**")),t.length!=i.length)return!1;for(r=0,u=t.length;u>r;r++)"*"===t[r]&&(i[r]="*");return i.join("")===t.join("")}function at(n,t){return e(n)&&!u(t)?b[n]:h(t)&&e(n)?(b[n]&&!b.$delegates[n]&&(b.$delegates[n]=b[n]),b[n]=t,this):this}function vt(n,t){return y(n)?t=n:t.name=n,ut(t),this}function ft(n,o,s,c,y,b,rt){function st(t,i,r,u){var e=n.$broadcast("$stateNotFound",t,i,r),f;return e.defaultPrevented?(rt.update(),ft):e.retry?u.$retry?(rt.update(),ot):(f=l.transition=o.when(e.retry),f.then(function(){return f!==l.transition?ut:(t.options.$retry=!0,l.transitionTo(t.to,t.toParams,t.options))},function(){return ft}),rt.update(),f):null}function ht(n,i,r,u,e,l){var w=r?i:g(n.params.$$keys(),i),v={$stateParams:w},p;return e.resolve=y.resolve(n.resolve,v,e.resolve,n),p=[e.resolve.then(function(n){e.globals=n})],u&&p.push(u),f(n.views,function(i,r){var u=i.resolve&&i.resolve!==n.resolve?i.resolve:{};u.$template=[function(){return s.load(r,{view:i,locals:v,params:w,notify:l.notify})||""}];p.push(y.resolve(u,v,e.resolve,n).then(function(f){if(h(i.controllerProvider)||a(i.controllerProvider)){var o=t.extend({},u,v);f.$$controller=c.invoke(i.controllerProvider,null,o)}else f.$$controller=i.controller;f.$$state=n;f.$$controllerAs=i.controllerAs;e[r]=f}))}),o.all(p).then(function(){return e})}var ut=o.reject(new Error("transition superseded")),at=o.reject(new Error("transition prevented")),ft=o.reject(new Error("transition aborted")),ot=o.reject(new Error("transition failed"));return nt.locals={resolve:null,globals:{$stateParams:{}}},l={params:{},current:nt.self,$current:nt,transition:null},l.reload=function(){return l.transitionTo(l.current,b,{reload:!0,inherit:!1,notify:!0})},l.go=function(n,t,i){return l.transitionTo(n,t,r({inherit:!0,relative:l.$current},i))},l.transitionTo=function(t,i,f){var d,vt,ft,tt,ct;i=i||{};f=r({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},f||{});var wt,a=l.$current,p=l.params,lt=a.path,e=k(t,f.relative);if(!u(e)){if(d={to:t,toParams:i,options:f},vt=st(d,a.self,p,f),vt)return vt;if(t=d.to,i=d.toParams,f=d.options,e=k(t,f.relative),!u(e)){if(!f.relative)throw new Error("No such state '"+t+"'");throw new Error("Could not resolve '"+t+"' from state '"+f.relative+"'");}}if(e[et])throw new Error("Cannot transition to abstract state '"+t+"'");if(f.inherit&&(i=it(b,i||{},l.$current,e)),!e.params.$$validates(i))return ot;i=e.params.$$values(i);t=e;var v=t.path,s=0,h=v[s],y=nt.locals,pt=[];if(!f.reload)for(;h&&h===lt[s]&&h.ownParams.$$equals(i,p);)y=pt[s]=h.locals,s++,h=v[s];if(yt(t,a,y,f))return t.self.reloadOnSearch!==!1&&rt.update(),l.transition=null,o.when(l.current);if(i=g(t.params.$$keys(),i||{}),f.notify&&n.$broadcast("$stateChangeStart",t.self,i,a.self,p).defaultPrevented)return rt.update(),at;for(ft=o.when(y),tt=s;tt<v.length;tt++,h=v[tt])y=pt[tt]=w(y),ft=ht(h,i,h===t,ft,y,f);return ct=l.transition=ft.then(function(){var r,u,e;if(l.transition!==ct)return ut;for(r=lt.length-1;r>=s;r--)e=lt[r],e.self.onExit&&c.invoke(e.self.onExit,e.self,e.locals.globals),e.locals=null;for(r=s;r<v.length;r++)u=v[r],u.locals=pt[r],u.self.onEnter&&c.invoke(u.self.onEnter,u.self,u.locals.globals);return l.transition!==ct?ut:(l.$current=t,l.current=t.self,l.params=i,dt(l.params,b),l.transition=null,f.location&&t.navigable&&rt.push(t.navigable.url,t.navigable.locals.globals.$stateParams,{$$avoidResync:!0,replace:"replace"===f.location}),f.notify&&n.$broadcast("$stateChangeSuccess",t.self,i,a.self,p),rt.update(!0),l.current)},function(r){return l.transition!==ct?ut:(l.transition=null,wt=n.$broadcast("$stateChangeError",t.self,i,a.self,p,r),wt.defaultPrevented||rt.update(),o.reject(r))})},l.is=function(n,t,f){f=r({relative:l.$current},f||{});var e=k(n,f.relative);return u(e)?l.$current!==e?!1:t?d(e.params.$$values(t),b):!0:i},l.includes=function(n,t,f){if(f=r({relative:l.$current},f||{}),e(n)&&ct(n)){if(!lt(n))return!1;n=l.$current.name}var o=k(n,f.relative);return u(o)?u(l.$current.includes[o.name])?t?d(o.params.$$values(t),b,p(t)):!0:!1:i},l.href=function(n,t,f){var e,o;return(f=r({lossy:!0,inherit:!0,absolute:!1,relative:l.$current},f||{}),e=k(n,f.relative),!u(e))?null:(f.inherit&&(t=it(b,t||{},l.$current,e)),o=e&&f.lossy?e.navigable:e,o&&o.url!==i&&null!==o.url?rt.href(o.url,g(e.params.$$keys(),t||{}),{absolute:f.absolute}):null)},l.get=function(n,t){if(0===arguments.length)return v(p(tt),function(n){return tt[n].self});var i=k(n,t||l.$current);return i&&i.self?i.self:null},l}function yt(n,t,i,r){if(n===t&&(i===t.locals&&!r.reload||n.self.reloadOnSearch===!1))return!0}var nt,l,tt={},rt={},et="abstract",b={parent:function(n){if(u(n.parent)&&n.parent)return k(n.parent);var t=/^(.+)\.[^.]+$/.exec(n.name);return t?k(t[1]):nt},data:function(n){return n.parent&&n.parent.data&&(n.data=n.self.data=r({},n.parent.data,n.data)),n.data},url:function(n){var t=n.url,i={params:n.params||{}};if(e(t))return"^"==t.charAt(0)?o.compile(t.substring(1),i):(n.parent.navigable||nt).url.concat(t,i);if(!t||o.isMatcher(t))return t;throw new Error("Invalid url '"+t+"' in state '"+n+"'");},navigable:function(n){return n.url?n:n.parent?n.parent.navigable:null},ownParams:function(n){var t=n.url&&n.url.params||new c.ParamSet;return f(n.params||{},function(n,i){t[i]||(t[i]=new c.Param(i,null,n,"config"))}),t},params:function(n){return n.parent&&n.parent.params?r(n.parent.params.$$new(),n.ownParams):new c.ParamSet},views:function(n){var t={};return f(u(n.views)?n.views:{"":n},function(i,r){r.indexOf("@")<0&&(r+="@"+n.parent.name);t[r]=i}),t},path:function(n){return n.parent?n.parent.path.concat(n):[]},includes:function(n){var t=n.parent?r({},n.parent.includes):{};return t[n.name]=!0,t},$delegates:{}};nt=ut({name:"",url:"^",views:null,abstract:!0});nt.navigable=null;this.decorator=at;this.state=vt;this.$get=ft;ft.$inject=["$rootScope","$q","$view","$injector","$resolve","$stateParams","$urlRouter","$location","$urlMatcherFactory"]}function st(){function n(n,t){return{load:function(i,u){var f;return u=r({template:null,controller:null,view:null,locals:null,notify:!0,async:!0,params:{}},u),u.view&&(f=t.fromConfig(u.view,u.params,u.locals)),f&&u.notify&&n.$broadcast("$viewContentLoading",u),f}}}this.$get=n;n.$inject=["$rootScope","$templateFactory"]}function bt(){var n=!1;this.useAnchorScroll=function(){n=!0};this.$get=["$anchorScroll","$timeout",function(t,i){return n?t:function(n){i(function(){n[0].scrollIntoView()},0,!1)}}]}function ht(n,i,r,u){function s(){return i.has?function(n){return i.has(n)?i.get(n):null}:function(n){try{return i.get(n)}catch(t){return null}}}function h(n,t){var r=function(){return{enter:function(n,t,i){t.after(n);i()},leave:function(n,t){n.remove();t()}}},i;return e?{enter:function(n,t,i){var r=e.enter(n,null,t,i);r&&r.then&&r.then(i)},leave:function(n,t){var i=e.leave(n,t);i&&i.then&&i.then(t)}}:f?(i=f&&f(t,n),{enter:function(n,t,r){i.enter(n,null,t);r()},leave:function(n,t){i.leave(n);t()}}):r()}var o=s(),f=o("$animator"),e=o("$animate");return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(i,f,e){return function(i,f,o){function w(){c&&(c.remove(),c=null);s&&(s.$destroy(),s=null);l&&(p.leave(l,function(){c=null}),c=l,l=null)}function a(h){var c,a=lt(i,o,f,u),d=a&&n.$current&&n.$current.locals[a],k;(h||d!==y)&&(c=i.$new(),y=n.$current.locals[a],k=e(c,function(n){p.enter(n,f,function(){s&&s.$emit("$viewContentAnimationEnded");(t.isDefined(v)&&!v||i.$eval(v))&&r(n)});w()}),l=k,s=c,s.$emit("$viewContentLoaded"),s.$eval(b))}var c,l,s,y,b=o.onload||"",v=o.autoscroll,p=h(o,i);i.$on("$stateChangeSuccess",function(){a(!1)});i.$on("$viewContentLoading",function(){a(!1)});a(!0)}}}}function ct(n,t,i,r){return{restrict:"ECA",priority:-400,compile:function(u){var f=u.html();return function(u,e,o){var c=i.$current,l=lt(u,o,e,r),s=c&&c.locals[l],a,h;s&&(e.data("$uiView",{name:l,state:s.$$state}),e.html(s.$template?s.$template:f),a=n(e.contents()),s.$$controller&&(s.$scope=u,h=t(s.$$controller,s),s.$$controllerAs&&(u[s.$$controllerAs]=h),e.data("$ngControllerController",h),e.children().data("$ngControllerController",h)),a(u))}}}}function lt(n,t,i,r){var u=r(t.uiView||t.name||"")(n),f=i.inheritedData("$uiView");return u.indexOf("@")>=0?u:u+"@"+(f?f.state.name:"")}function kt(n,t){var i,r=n.match(/^\s*({[^}]*})\s*$/);if(r&&(n=t+"("+r[1]+")"),i=n.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!i||4!==i.length)throw new Error("Invalid state ref '"+n+"'");return{state:i[1],paramExpr:i[3]||null}}function at(n){var t=n.parent().inheritedData("$uiView");if(t&&t.state&&t.state.name)return t.state}function vt(n,i){var r=["location","inherit","reload"];return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(u,f,e,o){var s=kt(e.uiSref,n.current.name),h=null,w=at(f)||n.$current,c=null,b="A"===f.prop("tagName"),v="FORM"===f[0].nodeName,k=v?"action":"href",y=!0,l={relative:w,inherit:!0},p=u.$eval(e.uiSrefOpts)||{},a;t.forEach(r,function(n){n in p&&(l[n]=p[n])});a=function(i){if(i&&(h=t.copy(i)),y){c=n.href(s.state,h,l);var r=o[1]||o[0];return r&&r.$$setStateInfo(s.state,h),null===c?(y=!1,!1):void e.$set(k,c)}};s.paramExpr&&(u.$watch(s.paramExpr,function(n){n!==h&&a(n)},!0),h=t.copy(u.$eval(s.paramExpr)));a();v||f.bind("click",function(t){var e=t.which||t.button,r,u;e>1||t.ctrlKey||t.metaKey||t.shiftKey||f.attr("target")||(r=i(function(){n.go(s.state,h,l)}),t.preventDefault(),u=b&&!c?1:0,t.preventDefault=function(){u--<=0&&i.cancel(r)})})}}}function tt(n,t,i){return{restrict:"A",controller:["$scope","$element","$attrs",function(t,r,u){function s(){h()?r.addClass(o):r.removeClass(o)}function h(){return"undefined"!=typeof u.uiSrefActiveEq?f&&n.is(f.name,e):f&&n.includes(f.name,e)}var f,e,o;o=i(u.uiSrefActiveEq||u.uiSrefActive||"",!1)(t);this.$$setStateInfo=function(t,i){f=n.get(t,at(r));e=i;s()};t.$on("$stateChangeSuccess",s)}]}}function yt(n){var t=function(t){return n.is(t)};return t.$stateful=!0,t}function pt(n){var t=function(t){return n.includes(t)};return t.$stateful=!0,t}var u=t.isDefined,h=t.isFunction,e=t.isString,y=t.isObject,a=t.isArray,f=t.forEach,r=t.extend,dt=t.copy,c;t.module("ui.router.util",["ng"]);t.module("ui.router.router",["ui.router.util"]);t.module("ui.router.state",["ui.router.router","ui.router.util"]);t.module("ui.router",["ui.router.state"]);t.module("ui.router.compat",["ui.router"]);rt.$inject=["$q","$injector"];t.module("ui.router.util").service("$resolve",rt);ut.$inject=["$http","$templateCache","$injector"];t.module("ui.router.util").service("$templateFactory",ut);l.prototype.concat=function(n,t){var i={caseInsensitive:c.caseInsensitive(),strict:c.strictMode(),squash:c.defaultSquashPolicy()};return new l(this.sourcePath+n+this.sourceSearch,r(i,t),this)};l.prototype.toString=function(){return this.source};l.prototype.exec=function(n,t){function l(n){function t(n){return n.split("").reverse().join("")}function i(n){return n.replace(/\\-/,"-")}var r=t(n).split(/-(?!\\)/),u=v(r,t);return v(u,i).reverse()}var o=this.regexp.exec(n),f,u;if(!o)return null;t=t||{};var i,e,r,s=this.parameters(),a=s.length,c=this.segments.length-1,h={};if(c!==o.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");for(i=0;c>i;i++){for(r=s[i],f=this.params[r],u=o[i+1],e=0;e<f.replace;e++)f.replace[e].from===u&&(u=f.replace[e].to);u&&f.array===!0&&(u=l(u));h[r]=f.value(u)}for(;a>i;i++)r=s[i],h[r]=this.params[r].value(t[r]);return h};l.prototype.parameters=function(n){return u(n)?this.params[n]||null:this.$$paramNames};l.prototype.validates=function(n){return this.params.$$validates(n)};l.prototype.format=function(n){function b(n){return encodeURIComponent(n).replace(/-/g,function(n){return"%5C%"+n.charCodeAt(0).toString(16).toUpperCase()})}var s,w;n=n||{};var h=this.segments,c=this.parameters(),k=this.params;if(!this.validates(n))return null;for(var l=!1,d=h.length-1,g=c.length,i=h[0],r=0;g>r;r++){var nt=d>r,o=c[r],u=k[o],y=u.value(n[o]),p=u.isOptional&&u.type.equals(u.value(),y),f=p?u.squash:!1,t=u.type.encode(y);if(nt)s=h[r+1],f===!1?(null!=t&&(i+=a(t)?v(t,b).join("-"):encodeURIComponent(t)),i+=s):f===!0?(w=i.match(/\/$/)?/\/?(.*)/:/(.*)/,i+=s.match(w)[1]):e(f)&&(i+=f+s);else{if(null==t||p&&f!==!1)continue;a(t)||(t=[t]);t=v(t,encodeURIComponent).join("&"+o+"=");i+=(l?"&":"?")+(o+"="+t);l=!0}}return i};o.prototype.is=function(){return!0};o.prototype.encode=function(n){return n};o.prototype.decode=function(n){return n};o.prototype.equals=function(n,t){return n==t};o.prototype.$subPattern=function(){var n=this.pattern.toString();return n.substr(1,n.length-2)};o.prototype.pattern=/.*/;o.prototype.toString=function(){return"{Type:"+this.name+"}"};o.prototype.$asArray=function(n,t){function r(n,t){function r(n,t){return function(){return n[t].apply(n,arguments)}}function f(n){return a(n)?n:u(n)?[n]:[]}function o(n){switch(n.length){case 0:return i;case 1:return"auto"===t?n[0]:n;default:return n}}function s(n){return!n}function e(n,t){return function(i){i=f(i);var r=v(i,n);return t===!0?0===nt(r,s).length:o(r)}}function h(n){return function(t,i){var u=f(t),e=f(i),r;if(u.length!==e.length)return!1;for(r=0;r<u.length;r++)if(!n(u[r],e[r]))return!1;return!0}}this.encode=e(r(n,"encode"));this.decode=e(r(n,"decode"));this.is=e(r(n,"is"),!0);this.equals=h(r(n,"equals"));this.pattern=n.pattern;this.$arrayMode=t}if(!n)return this;if("auto"===n&&!t)throw new Error("'auto' array mode is for query parameters only");return new r(this,n)};t.module("ui.router.util").provider("$urlMatcherFactory",ft);t.module("ui.router.util").run(["$urlMatcherFactory",function(){}]);et.$inject=["$locationProvider","$urlMatcherFactoryProvider"];t.module("ui.router.router").provider("$urlRouter",et);ot.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"];t.module("ui.router.state").value("$stateParams",{}).provider("$state",ot);st.$inject=[];t.module("ui.router.state").provider("$view",st);t.module("ui.router.state").provider("$uiViewScroll",bt);ht.$inject=["$state","$injector","$uiViewScroll","$interpolate"];ct.$inject=["$compile","$controller","$state","$interpolate"];t.module("ui.router.state").directive("uiView",ht);t.module("ui.router.state").directive("uiView",ct);vt.$inject=["$state","$timeout"];tt.$inject=["$state","$stateParams","$interpolate"];t.module("ui.router.state").directive("uiSref",vt).directive("uiSrefActive",tt).directive("uiSrefActiveEq",tt);yt.$inject=["$state"];pt.$inject=["$state"];t.module("ui.router.state").filter("isState",yt).filter("includedByState",pt)}(window,window.angular);angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]);angular.module("ui.bootstrap.tpls",["template/accordion/accordion-group.html","template/accordion/accordion.html","template/alert/alert.html","template/carousel/carousel.html","template/carousel/slide.html","template/datepicker/datepicker.html","template/datepicker/day.html","template/datepicker/month.html","template/datepicker/popup.html","template/datepicker/year.html","template/modal/backdrop.html","template/modal/window.html","template/pagination/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html","template/popover/popover.html","template/progressbar/bar.html","template/progressbar/progress.html","template/progressbar/progressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tabs/tabset.html","template/timepicker/timepicker.html","template/typeahead/typeahead-match.html","template/typeahead/typeahead-popup.html"]);angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(n,t,i){function u(n){for(var t in n)if(f.style[t]!==undefined)return n[t]}var r=function(u,f,e){e=e||{};var s=n.defer(),o=r[e.animation?"animationEndEventName":"transitionEndEventName"],h=function(){i.$apply(function(){u.unbind(o,h);s.resolve(u)})};return o&&u.bind(o,h),t(function(){angular.isString(f)?u.addClass(f):angular.isFunction(f)?f(u):angular.isObject(f)&&u.css(f);o||s.resolve(u)}),s.promise.cancel=function(){o&&u.unbind(o,h);s.reject("Transition cancelled")},s.promise},f=document.createElement("trans");return r.transitionEndEventName=u({WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"}),r.animationEndEventName=u({WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"}),r}]);angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(n){return{link:function(t,i,r){function e(t){function f(){u===r&&(u=undefined)}var r=n(i,t);return u&&u.cancel(),u=r,r.then(f,f),r}function h(){f?(f=!1,o()):(i.removeClass("collapse").addClass("collapsing"),e({height:i[0].scrollHeight+"px"}).then(o))}function o(){i.removeClass("collapsing");i.addClass("collapse in");i.css({height:"auto"})}function c(){if(f)f=!1,s(),i.css({height:0});else{i.css({height:i[0].scrollHeight+"px"});var n=i[0].offsetWidth;i.removeClass("collapse in").addClass("collapsing");e({height:0}).then(s)}}function s(){i.removeClass("collapsing");i.addClass("collapse")}var f=!0,u;t.$watch(r.collapse,function(n){n?c():h()})}}}]);angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function(n,t,i){this.groups=[];this.closeOthers=function(r){var u=angular.isDefined(t.closeOthers)?n.$eval(t.closeOthers):i.closeOthers;u&&angular.forEach(this.groups,function(n){n!==r&&(n.isOpen=!1)})};this.addGroup=function(n){var t=this;this.groups.push(n);n.$on("$destroy",function(){t.removeGroup(n)})};this.removeGroup=function(n){var t=this.groups.indexOf(n);t!==-1&&this.groups.splice(t,1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",function(){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(n){this.heading=n}},link:function(n,t,i,r){r.addGroup(n);n.$watch("isOpen",function(t){t&&r.closeOthers(n)});n.toggleOpen=function(){n.isDisabled||(n.isOpen=!n.isOpen)}}}}).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(n,t,i,r,u){r.setHeading(u(n,function(){}))}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(n,t,i,r){n.$watch(function(){return r[i.accordionTransclude]},function(n){n&&(t.html(""),t.append(n))})}}});angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function(n,t){n.closeable="close"in t;this.close=n.close}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}).directive("dismissOnTimeout",["$timeout",function(n){return{require:"alert",link:function(t,i,r,u){n(function(){u.close()},parseInt(r.dismissOnTimeout,10))}}}]);angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(n,t,i){t.addClass("ng-binding").data("$binding",i.bindHtmlUnsafe);n.$watch(i.bindHtmlUnsafe,function(n){t.html(n||"")})}});angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(n){this.activeClass=n.activeClass||"active";this.toggleEvent=n.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(n,t,i,r){var f=r[0],u=r[1];u.$render=function(){t.toggleClass(f.activeClass,angular.equals(u.$modelValue,n.$eval(i.btnRadio)))};t.bind(f.toggleEvent,function(){var r=t.hasClass(f.activeClass);(!r||angular.isDefined(i.uncheckable))&&n.$apply(function(){u.$setViewValue(r?null:n.$eval(i.btnRadio));u.$render()})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(n,t,i,r){function e(){return o(i.btnCheckboxTrue,!0)}function s(){return o(i.btnCheckboxFalse,!1)}function o(t,i){var r=n.$eval(t);return angular.isDefined(r)?r:i}var f=r[0],u=r[1];u.$render=function(){t.toggleClass(f.activeClass,angular.equals(u.$modelValue,e()))};t.bind(f.toggleEvent,function(){n.$apply(function(){u.$setViewValue(t.hasClass(f.activeClass)?s():e());u.$render()})})}}});angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$interval","$transition",function(n,t,i,r){function c(){l();var t=+n.interval;!isNaN(t)&&t>0&&(o=i(a,t))}function l(){o&&(i.cancel(o),o=null)}function a(){var t=+n.interval;s&&!isNaN(t)&&t>0?n.next():n.pause()}var u=this,f=u.slides=n.slides=[],e=-1,o,s,h;u.currentSlide=null;h=!1;u.select=n.select=function(i,o){function a(){if(!h){if(u.currentSlide&&angular.isString(o)&&!n.noTransition&&i.$element){i.$element.addClass(o);var t=i.$element[0].offsetWidth;angular.forEach(f,function(n){angular.extend(n,{direction:"",entering:!1,leaving:!1,active:!1})});angular.extend(i,{direction:o,active:!0,entering:!0});angular.extend(u.currentSlide||{},{direction:o,leaving:!0});n.$currentTransition=r(i.$element,{}),function(t,i){n.$currentTransition.then(function(){s(t,i)},function(){s(t,i)})}(i,u.currentSlide)}else s(i,u.currentSlide);u.currentSlide=i;e=l;c()}}function s(t,i){angular.extend(t,{direction:"",active:!0,leaving:!1,entering:!1});angular.extend(i||{},{direction:"",active:!1,leaving:!1,entering:!1});n.$currentTransition=null}var l=f.indexOf(i);o===undefined&&(o=l>e?"next":"prev");i&&i!==u.currentSlide&&(n.$currentTransition?(n.$currentTransition.cancel(),t(a)):a())};n.$on("$destroy",function(){h=!0});u.indexOfSlide=function(n){return f.indexOf(n)};n.next=function(){var t=(e+1)%f.length;if(!n.$currentTransition)return u.select(f[t],"next")};n.prev=function(){var t=e-1<0?f.length-1:e-1;if(!n.$currentTransition)return u.select(f[t],"prev")};n.isActive=function(n){return u.currentSlide===n};n.$watch("interval",c);n.$on("$destroy",l);n.play=function(){s||(s=!0,c())};n.pause=function(){n.noPause||(s=!1,l())};u.addSlide=function(t,i){t.$element=i;f.push(t);f.length===1||t.active?(u.select(f[f.length-1]),f.length==1&&n.play()):t.active=!1};u.removeSlide=function(n){var t=f.indexOf(n);f.splice(t,1);f.length>0&&n.active?t>=f.length?u.select(f[t-1]):u.select(f[t]):e>t&&e--}}]).directive("carousel",[function(){return{restrict:"EA",transclude:!0,replace:!0,controller:"CarouselController",require:"carousel",templateUrl:"template/carousel/carousel.html",scope:{interval:"=",noTransition:"=",noPause:"="}}}]).directive("slide",function(){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{active:"=?"},link:function(n,t,i,r){r.addSlide(n,t);n.$on("$destroy",function(){r.removeSlide(n)});n.$watch("active",function(t){t&&r.select(n)})}}});angular.module("ui.bootstrap.dateparser",[]).service("dateParser",["$locale","orderByFilter",function(n,t){function r(n){var u=[],r=n.split("");return angular.forEach(i,function(t,i){var f=n.indexOf(i),e,o;if(f>-1){for(n=n.split(""),r[f]="("+t.regex+")",n[f]="$",e=f+1,o=f+i.length;e<o;e++)r[e]="",n[e]="$";n=n.join("");u.push({index:f,apply:t.apply})}}),{regex:new RegExp("^"+r.join("")+"$"),map:t(u,"index")}}function u(n,t,i){return t===1&&i>28?i===29&&(n%4==0&&n%100!=0||n%400==0):t===3||t===5||t===8||t===10?i<31:!0}this.parsers={};var i={yyyy:{regex:"\\d{4}",apply:function(n){this.year=+n}},yy:{regex:"\\d{2}",apply:function(n){this.year=+n+2e3}},y:{regex:"\\d{1,4}",apply:function(n){this.year=+n}},MMMM:{regex:n.DATETIME_FORMATS.MONTH.join("|"),apply:function(t){this.month=n.DATETIME_FORMATS.MONTH.indexOf(t)}},MMM:{regex:n.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(t){this.month=n.DATETIME_FORMATS.SHORTMONTH.indexOf(t)}},MM:{regex:"0[1-9]|1[0-2]",apply:function(n){this.month=n-1}},M:{regex:"[1-9]|1[0-2]",apply:function(n){this.month=n-1}},dd:{regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(n){this.date=+n}},d:{regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(n){this.date=+n}},EEEE:{regex:n.DATETIME_FORMATS.DAY.join("|")},EEE:{regex:n.DATETIME_FORMATS.SHORTDAY.join("|")}};this.parse=function(t,i){var f,c,e,l,s;if(!angular.isString(t)||!i)return t;i=n.DATETIME_FORMATS[i]||i;this.parsers[i]||(this.parsers[i]=r(i));var h=this.parsers[i],a=h.regex,v=h.map,o=t.match(a);if(o&&o.length){for(f={year:1900,month:0,date:1,hours:0},e=1,l=o.length;e<l;e++)s=v[e-1],s.apply&&s.apply.call(f,o[e]);return u(f.year,f.month,f.date)&&(c=new Date(f.year,f.month,f.date,f.hours)),c}}}]);angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(n,t){function i(n,i){return n.currentStyle?n.currentStyle[i]:t.getComputedStyle?t.getComputedStyle(n)[i]:n.style[i]}function r(n){return(i(n,"position")||"static")==="static"}var u=function(t){for(var u=n[0],i=t.offsetParent||u;i&&i!==u&&r(i);)i=i.offsetParent;return i||u};return{position:function(t){var e=this.offset(t),r={top:0,left:0},i=u(t[0]),f;return i!=n[0]&&(r=this.offset(angular.element(i)),r.top+=i.clientTop-i.scrollTop,r.left+=i.clientLeft-i.scrollLeft),f=t[0].getBoundingClientRect(),{width:f.width||t.prop("offsetWidth"),height:f.height||t.prop("offsetHeight"),top:e.top-r.top,left:e.left-r.left}},offset:function(i){var r=i[0].getBoundingClientRect();return{width:r.width||i.prop("offsetWidth"),height:r.height||i.prop("offsetHeight"),top:r.top+(t.pageYOffset||n[0].documentElement.scrollTop),left:r.left+(t.pageXOffset||n[0].documentElement.scrollLeft)}},positionElements:function(n,t,i,r){var a=i.split("-"),h=a[0],e=a[1]||"center",u,c,l,f,o,s;u=r?this.offset(n):this.position(n);c=t.prop("offsetWidth");l=t.prop("offsetHeight");o={center:function(){return u.left+u.width/2-c/2},left:function(){return u.left},right:function(){return u.left+u.width}};s={center:function(){return u.top+u.height/2-l/2},top:function(){return u.top},bottom:function(){return u.top+u.height}};switch(h){case"right":f={top:s[e](),left:o[h]()};break;case"left":f={top:s[e](),left:u.left-c};break;case"bottom":f={top:s[h](),left:o[e]()};break;default:f={top:u.top-l,left:o[e]()}}return f}}}]);angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.position"]).constant("datepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!1,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","$parse","$interpolate","$timeout","$log","dateFilter","datepickerConfig",function(n,t,i,r,u,f,e,o){var s=this,h={$setViewValue:angular.noop},c;this.modes=["day","month","year"];angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","minMode","maxMode","showWeeks","startingDay","yearRange"],function(i,u){s[i]=angular.isDefined(t[i])?u<8?r(t[i])(n.$parent):n.$parent.$eval(t[i]):o[i]});angular.forEach(["minDate","maxDate"],function(r){t[r]?n.$parent.$watch(i(t[r]),function(n){s[r]=n?new Date(n):null;s.refreshView()}):s[r]=o[r]?new Date(o[r]):null});n.datepickerMode=n.datepickerMode||o.datepickerMode;n.uniqueId="datepicker-"+n.$id+"-"+Math.floor(Math.random()*1e4);this.activeDate=angular.isDefined(t.initDate)?n.$parent.$eval(t.initDate):new Date;n.isActive=function(t){return s.compare(t.date,s.activeDate)===0?(n.activeDateId=t.uid,!0):!1};this.init=function(n){h=n;h.$render=function(){s.render()}};this.render=function(){if(h.$modelValue){var n=new Date(h.$modelValue),t=!isNaN(n);t?this.activeDate=n:f.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.');h.$setValidity("date",t)}this.refreshView()};this.refreshView=function(){if(this.element){this._refreshView();var n=h.$modelValue?new Date(h.$modelValue):null;h.$setValidity("date-disabled",!n||this.element&&!this.isDisabled(n))}};this.createDateObject=function(n,t){var i=h.$modelValue?new Date(h.$modelValue):null;return{date:n,label:e(n,t),selected:i&&this.compare(n,i)===0,disabled:this.isDisabled(n),current:this.compare(n,new Date)===0}};this.isDisabled=function(i){return this.minDate&&this.compare(i,this.minDate)<0||this.maxDate&&this.compare(i,this.maxDate)>0||t.dateDisabled&&n.dateDisabled({date:i,mode:n.datepickerMode})};this.split=function(n,t){for(var i=[];n.length>0;)i.push(n.splice(0,t));return i};n.select=function(t){if(n.datepickerMode===s.minMode){var i=h.$modelValue?new Date(h.$modelValue):new Date(0,0,0,0,0,0,0);i.setFullYear(t.getFullYear(),t.getMonth(),t.getDate());h.$setViewValue(i);h.$render()}else s.activeDate=t,n.datepickerMode=s.modes[s.modes.indexOf(n.datepickerMode)-1]};n.move=function(n){var t=s.activeDate.getFullYear()+n*(s.step.years||0),i=s.activeDate.getMonth()+n*(s.step.months||0);s.activeDate.setFullYear(t,i,1);s.refreshView()};n.toggleMode=function(t){(t=t||1,(n.datepickerMode!==s.maxMode||t!==1)&&(n.datepickerMode!==s.minMode||t!==-1))&&(n.datepickerMode=s.modes[s.modes.indexOf(n.datepickerMode)+t])};n.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};c=function(){u(function(){s.element[0].focus()},0,!1)};n.$on("datepicker.focus",c);n.keydown=function(t){var i=n.keys[t.which];if(i&&!t.shiftKey&&!t.altKey)if(t.preventDefault(),t.stopPropagation(),i==="enter"||i==="space"){if(s.isDisabled(s.activeDate))return;n.select(s.activeDate);c()}else t.ctrlKey&&(i==="up"||i==="down")?(n.toggleMode(i==="up"?1:-1),c()):(s.handleKeyDown(i,t),s.refreshView())}}]).directive("datepicker",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{datepickerMode:"=?",dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(n,t,i,r){var f=r[0],u=r[1];u&&f.init(u)}}}).directive("daypicker",["dateFilter",function(n){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/day.html",require:"^datepicker",link:function(t,i,r,u){function f(n,t){return t===1&&n%4==0&&(n%100!=0||n%400==0)?29:e[t]}function o(n,t){var r=new Array(t),i=new Date(n),u=0;for(i.setHours(12);u<t;)r[u++]=new Date(i),i.setDate(i.getDate()+1);return r}function s(n){var t=new Date(n),i;return t.setDate(t.getDate()+4-(t.getDay()||7)),i=t.getTime(),t.setMonth(0),t.setDate(1),Math.floor(Math.round((i-t)/864e5)/7)+1}t.showWeeks=u.showWeeks;u.step={months:1};u.element=i;var e=[31,28,31,30,31,30,31,31,30,31,30,31];u._refreshView=function(){var p=u.activeDate.getFullYear(),h=u.activeDate.getMonth(),c=new Date(p,h,1),e=u.startingDay-c.getDay(),l=e>0?7-e:-e,a=new Date(c),i,r,f,v,y;for(l>0&&a.setDate(-l+1),i=o(a,42),r=0;r<42;r++)i[r]=angular.extend(u.createDateObject(i[r],u.formatDay),{secondary:i[r].getMonth()!==h,uid:t.uniqueId+"-"+r});for(t.labels=new Array(7),f=0;f<7;f++)t.labels[f]={abbr:n(i[f].date,u.formatDayHeader),full:n(i[f].date,"EEEE")};if(t.title=n(u.activeDate,u.formatDayTitle),t.rows=u.split(i,7),t.showWeeks)for(t.weekNumbers=[],v=s(t.rows[0][0].date),y=t.rows.length;t.weekNumbers.push(v++)<y;);};u.compare=function(n,t){return new Date(n.getFullYear(),n.getMonth(),n.getDate())-new Date(t.getFullYear(),t.getMonth(),t.getDate())};u.handleKeyDown=function(n){var t=u.activeDate.getDate(),i;n==="left"?t=t-1:n==="up"?t=t-7:n==="right"?t=t+1:n==="down"?t=t+7:n==="pageup"||n==="pagedown"?(i=u.activeDate.getMonth()+(n==="pageup"?-1:1),u.activeDate.setMonth(i,1),t=Math.min(f(u.activeDate.getFullYear(),u.activeDate.getMonth()),t)):n==="home"?t=1:n==="end"&&(t=f(u.activeDate.getFullYear(),u.activeDate.getMonth()));u.activeDate.setDate(t)};u.refreshView()}}}]).directive("monthpicker",["dateFilter",function(n){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/month.html",require:"^datepicker",link:function(t,i,r,u){u.step={years:1};u.element=i;u._refreshView=function(){for(var r=new Array(12),f=u.activeDate.getFullYear(),i=0;i<12;i++)r[i]=angular.extend(u.createDateObject(new Date(f,i,1),u.formatMonth),{uid:t.uniqueId+"-"+i});t.title=n(u.activeDate,u.formatMonthTitle);t.rows=u.split(r,3)};u.compare=function(n,t){return new Date(n.getFullYear(),n.getMonth())-new Date(t.getFullYear(),t.getMonth())};u.handleKeyDown=function(n){var t=u.activeDate.getMonth(),i;n==="left"?t=t-1:n==="up"?t=t-3:n==="right"?t=t+1:n==="down"?t=t+3:n==="pageup"||n==="pagedown"?(i=u.activeDate.getFullYear()+(n==="pageup"?-1:1),u.activeDate.setFullYear(i)):n==="home"?t=0:n==="end"&&(t=11);u.activeDate.setMonth(t)};u.refreshView()}}}]).directive("yearpicker",["dateFilter",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/year.html",require:"^datepicker",link:function(n,t,i,r){function f(n){return parseInt((n-1)/u,10)*u+1}var u=r.yearRange;r.step={years:u};r.element=t;r._refreshView=function(){for(var i=new Array(u),t=0,e=f(r.activeDate.getFullYear());t<u;t++)i[t]=angular.extend(r.createDateObject(new Date(e+t,0,1),r.formatYear),{uid:n.uniqueId+"-"+t});n.title=[i[0].label,i[u-1].label].join(" - ");n.rows=r.split(i,5)};r.compare=function(n,t){return n.getFullYear()-t.getFullYear()};r.handleKeyDown=function(n){var t=r.activeDate.getFullYear();n==="left"?t=t-1:n==="up"?t=t-5:n==="right"?t=t+1:n==="down"?t=t+5:n==="pageup"||n==="pagedown"?t+=(n==="pageup"?-1:1)*r.step.years:n==="home"?t=f(r.activeDate.getFullYear()):n==="end"&&(t=f(r.activeDate.getFullYear())+u-1);r.activeDate.setFullYear(t)};r.refreshView()}}}]).constant("datepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","dateParser","datepickerPopupConfig",function(n,t,i,r,u,f,e){return{restrict:"EA",require:"ngModel",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&"},link:function(o,s,h,c){function k(n){return n.replace(/([A-Z])/g,function(n){return"-"+n.toLowerCase()})}function d(n){if(n){if(angular.isDate(n)&&!isNaN(n))return c.$setValidity("date",!0),n;if(angular.isString(n)){var t=f.parse(n,p)||new Date(n);return isNaN(t)?(c.$setValidity("date",!1),undefined):(c.$setValidity("date",!0),t)}return c.$setValidity("date",!1),undefined}return c.$setValidity("date",!0),null}var p,g=angular.isDefined(h.closeOnDateSelection)?o.$parent.$eval(h.closeOnDateSelection):e.closeOnDateSelection,b=angular.isDefined(h.datepickerAppendToBody)?o.$parent.$eval(h.datepickerAppendToBody):e.appendToBody,l,a,v,w,y;o.showButtonBar=angular.isDefined(h.showButtonBar)?o.$parent.$eval(h.showButtonBar):e.showButtonBar;o.getText=function(n){return o[n+"Text"]||e[n+"Text"]};h.$observe("datepickerPopup",function(n){p=n||e.datepickerPopup;c.$render()});l=angular.element("<div datepicker-popup-wrap><div datepicker><\/div><\/div>");l.attr({"ng-model":"date","ng-change":"dateSelection()"});a=angular.element(l.children()[0]);h.datepickerOptions&&angular.forEach(o.$parent.$eval(h.datepickerOptions),function(n,t){a.attr(k(t),n)});o.watchData={};angular.forEach(["minDate","maxDate","datepickerMode"],function(n){var i,r;h[n]&&(i=t(h[n]),o.$parent.$watch(i,function(t){o.watchData[n]=t}),a.attr(k(n),"watchData."+n),n==="datepickerMode"&&(r=i.assign,o.$watch("watchData."+n,function(n,t){n!==t&&r(o.$parent,n)})))});h.dateDisabled&&a.attr("date-disabled","dateDisabled({ date: date, mode: mode })");c.$parsers.unshift(d);o.dateSelection=function(n){angular.isDefined(n)&&(o.date=n);c.$setViewValue(o.date);c.$render();g&&(o.isOpen=!1,s[0].focus())};s.bind("input change keyup",function(){o.$apply(function(){o.date=c.$modelValue})});c.$render=function(){var n=c.$viewValue?u(c.$viewValue,p):"";s.val(n);o.date=d(c.$modelValue)};v=function(n){o.isOpen&&n.target!==s[0]&&o.$apply(function(){o.isOpen=!1})};w=function(n){o.keydown(n)};s.bind("keydown",w);o.keydown=function(n){n.which===27?(n.preventDefault(),n.stopPropagation(),o.close()):n.which!==40||o.isOpen||(o.isOpen=!0)};o.$watch("isOpen",function(n){n?(o.$broadcast("datepicker.focus"),o.position=b?r.offset(s):r.position(s),o.position.top=o.position.top+s.prop("offsetHeight"),i.bind("click",v)):i.unbind("click",v)});o.select=function(n){if(n==="today"){var t=new Date;angular.isDate(c.$modelValue)?(n=new Date(c.$modelValue),n.setFullYear(t.getFullYear(),t.getMonth(),t.getDate())):n=new Date(t.setHours(0,0,0,0))}o.dateSelection(n)};o.close=function(){o.isOpen=!1;s[0].focus()};y=n(l)(o);l.remove();b?i.find("body").append(y):s.after(y);o.$on("$destroy",function(){y.remove();s.unbind("keydown",w);i.unbind("click",v)})}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(n,t){t.bind("click",function(n){n.preventDefault();n.stopPropagation()})}}});angular.module("ui.bootstrap.dropdown",[]).constant("dropdownConfig",{openClass:"open"}).service("dropdownService",["$document",function(n){var t=null,i,r;this.open=function(u){t||(n.bind("click",i),n.bind("keydown",r));t&&t!==u&&(t.isOpen=!1);t=u};this.close=function(u){t===u&&(t=null,n.unbind("click",i),n.unbind("keydown",r))};i=function(n){if(t){var i=t.getToggleElement();n&&i&&i[0].contains(n.target)||t.$apply(function(){t.isOpen=!1})}};r=function(n){n.which===27&&(t.focusToggleElement(),i())}}]).controller("DropdownController",["$scope","$attrs","$parse","dropdownConfig","dropdownService","$animate",function(n,t,i,r,u,f){var o=this,e=n.$new(),c=r.openClass,s,h=angular.noop,l=t.onToggle?i(t.onToggle):angular.noop;this.init=function(r){o.$element=r;t.isOpen&&(s=i(t.isOpen),h=s.assign,n.$watch(s,function(n){e.isOpen=!!n}))};this.toggle=function(n){return e.isOpen=arguments.length?!!n:!e.isOpen};this.isOpen=function(){return e.isOpen};e.getToggleElement=function(){return o.toggleElement};e.focusToggleElement=function(){o.toggleElement&&o.toggleElement[0].focus()};e.$watch("isOpen",function(t,i){f[t?"addClass":"removeClass"](o.$element,c);t?(e.focusToggleElement(),u.open(e)):u.close(e);h(n,t);angular.isDefined(t)&&t!==i&&l(n,{open:!!t})});n.$on("$locationChangeSuccess",function(){e.isOpen=!1});n.$on("$destroy",function(){e.$destroy()})}]).directive("dropdown",function(){return{controller:"DropdownController",link:function(n,t,i,r){r.init(t)}}}).directive("dropdownToggle",function(){return{require:"?^dropdown",link:function(n,t,i,r){if(r){r.toggleElement=t;var u=function(u){u.preventDefault();t.hasClass("disabled")||i.disabled||n.$apply(function(){r.toggle()})};t.bind("click",u);t.attr({"aria-haspopup":!0,"aria-expanded":!1});n.$watch(r.isOpen,function(n){t.attr("aria-expanded",!!n)});n.$on("$destroy",function(){t.unbind("click",u)})}}}});angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var n=[];return{add:function(t,i){n.push({key:t,value:i})},get:function(t){for(var i=0;i<n.length;i++)if(t==n[i].key)return n[i]},keys:function(){for(var i=[],t=0;t<n.length;t++)i.push(n[t].key);return i},top:function(){return n[n.length-1]},remove:function(t){for(var r=-1,i=0;i<n.length;i++)if(t==n[i].key){r=i;break}return n.splice(r,1)[0]},removeTop:function(){return n.splice(n.length-1,1)[0]},length:function(){return n.length}}}}}).directive("modalBackdrop",["$timeout",function(n){return{restrict:"EA",replace:!0,templateUrl:"template/modal/backdrop.html",link:function(t,i,r){t.backdropClass=r.backdropClass||"";t.animate=!1;n(function(){t.animate=!0})}}}]).directive("modalWindow",["$modalStack","$timeout",function(n,t){return{restrict:"EA",scope:{index:"@",animate:"="},replace:!0,transclude:!0,templateUrl:function(n,t){return t.templateUrl||"template/modal/window.html"},link:function(i,r,u){r.addClass(u.windowClass||"");i.size=u.size;t(function(){i.animate=!0;r[0].querySelectorAll("[autofocus]").length||r[0].focus()});i.close=function(t){var i=n.getTop();i&&i.value.backdrop&&i.value.backdrop!="static"&&t.target===t.currentTarget&&(t.preventDefault(),t.stopPropagation(),n.dismiss(i.key,"backdrop click"))}}}}]).directive("modalTransclude",function(){return{link:function(n,t,i,r,u){u(n.$parent,function(n){t.empty();t.append(n)})}}}).factory("$modalStack",["$transition","$timeout","$document","$compile","$rootScope","$$stackedMap",function(n,t,i,r,u,f){function c(){for(var t=-1,i=e.keys(),n=0;n<i.length;n++)e.get(i[n]).value.backdrop&&(t=n);return t}function a(n){var r=i.find("body").eq(0),t=e.get(n).value;e.remove(n);v(t.modalDomEl,t.modalScope,300,function(){t.modalScope.$destroy();r.toggleClass(l,e.length()>0);y()})}function y(){if(h&&c()==-1){var n=o;v(h,o,150,function(){n.$destroy();n=null});h=undefined;o=undefined}}function v(i,r,u,f){function e(){e.done||(e.done=!0,i.remove(),f&&f())}var o,s;r.animate=!1;o=n.transitionEndEventName;o?(s=t(e,u),i.bind(o,function(){t.cancel(s);e();r.$apply()})):t(e)}var l="modal-open",h,o,e=f.createNew(),s={};return u.$watch(c,function(n){o&&(o.index=n)}),i.bind("keydown",function(n){var t;n.which===27&&(t=e.top(),t&&t.value.keyboard&&(n.preventDefault(),u.$apply(function(){s.dismiss(t.key,"escape key press")})))}),s.open=function(n,t){var f,s,a,v,y;e.add(n,{deferred:t.deferred,modalScope:t.scope,backdrop:t.backdrop,keyboard:t.keyboard});f=i.find("body").eq(0);s=c();s>=0&&!h&&(o=u.$new(!0),o.index=s,a=angular.element("<div modal-backdrop><\/div>"),a.attr("backdrop-class",t.backdropClass),h=r(a)(o),f.append(h));v=angular.element("<div modal-window><\/div>");v.attr({"template-url":t.windowTemplateUrl,"window-class":t.windowClass,size:t.size,index:e.length()-1,animate:"animate"}).html(t.content);y=r(v)(t.scope);e.top().value.modalDomEl=y;f.append(y);f.addClass(l)},s.close=function(n,t){var i=e.get(n);i&&(i.value.deferred.resolve(t),a(n))},s.dismiss=function(n,t){var i=e.get(n);i&&(i.value.deferred.reject(t),a(n))},s.dismissAll=function(n){for(var t=this.getTop();t;)this.dismiss(t.key,n),t=this.getTop()},s.getTop=function(){return e.top()},s}]).provider("$modal",function(){var n={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function(t,i,r,u,f,e,o){function h(n){return n.template?r.when(n.template):u.get(angular.isFunction(n.templateUrl)?n.templateUrl():n.templateUrl,{cache:f}).then(function(n){return n.data})}function c(n){var i=[];return angular.forEach(n,function(n){(angular.isFunction(n)||angular.isArray(n))&&i.push(r.when(t.invoke(n)))}),i}var s={};return s.open=function(t){var f=r.defer(),s=r.defer(),u={result:f.promise,opened:s.promise,close:function(n){o.close(u,n)},dismiss:function(n){o.dismiss(u,n)}},l;if(t=angular.extend({},n.options,t),t.resolve=t.resolve||{},!t.template&&!t.templateUrl)throw new Error("One of template or templateUrl options is required.");return l=r.all([h(t)].concat(c(t.resolve))),l.then(function(n){var r=(t.scope||i).$new(),h,s,c;r.$close=u.close;r.$dismiss=u.dismiss;s={};c=1;t.controller&&(s.$scope=r,s.$modalInstance=u,angular.forEach(t.resolve,function(t,i){s[i]=n[c++]}),h=e(t.controller,s),t.controllerAs&&(r[t.controllerAs]=h));o.open(u,{scope:r,deferred:f,content:n[0],backdrop:t.backdrop,keyboard:t.keyboard,backdropClass:t.backdropClass,windowClass:t.windowClass,windowTemplateUrl:t.windowTemplateUrl,size:t.size})},function(n){f.reject(n)}),l.then(function(){s.resolve(!0)},function(){s.reject(!1)}),u},s}]};return n});angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse",function(n,t,i){var u=this,r={$setViewValue:angular.noop},f=t.numPages?i(t.numPages).assign:angular.noop;this.init=function(f,e){r=f;this.config=e;r.$render=function(){u.render()};t.itemsPerPage?n.$parent.$watch(i(t.itemsPerPage),function(t){u.itemsPerPage=parseInt(t,10);n.totalPages=u.calculateTotalPages()}):this.itemsPerPage=e.itemsPerPage};this.calculateTotalPages=function(){var t=this.itemsPerPage<1?1:Math.ceil(n.totalItems/this.itemsPerPage);return Math.max(t||0,1)};this.render=function(){n.page=parseInt(r.$viewValue,10)||1};n.selectPage=function(t){n.page!==t&&t>0&&t<=n.totalPages&&(r.$setViewValue(t),r.$render())};n.getText=function(t){return n[t+"Text"]||u.config[t+"Text"]};n.noPrevious=function(){return n.page===1};n.noNext=function(){return n.page===n.totalPages};n.$watch("totalItems",function(){n.totalPages=u.calculateTotalPages()});n.$watch("totalPages",function(t){f(n.$parent,t);n.page>t?n.selectPage(t):r.$render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function(n,t){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@"},require:["pagination","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(i,r,u,f){function h(n,t,i){return{number:n,text:t,active:i}}function a(n,t){var f=[],i=1,r=t,o=angular.isDefined(e)&&e<t,u,c,l,a;for(o&&(s?(i=Math.max(n-Math.floor(e/2),1),r=i+e-1,r>t&&(r=t,i=r-e+1)):(i=(Math.ceil(n/e)-1)*e+1,r=Math.min(i+e-1,t))),u=i;u<=r;u++)c=h(u,u,u===n),f.push(c);return o&&!s&&(i>1&&(l=h(i-1,"...",!1),f.unshift(l)),r<t&&(a=h(r+1,"...",!1),f.push(a))),f}var o=f[0],c=f[1],e,s,l;c&&(e=angular.isDefined(u.maxSize)?i.$parent.$eval(u.maxSize):t.maxSize,s=angular.isDefined(u.rotate)?i.$parent.$eval(u.rotate):t.rotate,i.boundaryLinks=angular.isDefined(u.boundaryLinks)?i.$parent.$eval(u.boundaryLinks):t.boundaryLinks,i.directionLinks=angular.isDefined(u.directionLinks)?i.$parent.$eval(u.directionLinks):t.directionLinks,o.init(c,t),u.maxSize&&i.$parent.$watch(n(u.maxSize),function(n){e=parseInt(n,10);o.render()}),l=o.render,o.render=function(){l();i.page>0&&i.page<=i.totalPages&&(i.pages=a(i.page,i.totalPages))})}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(n){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@"},require:["pager","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(t,i,r,u){var e=u[0],f=u[1];f&&(t.align=angular.isDefined(r.align)?t.$parent.$eval(r.align):n.align,e.init(f,n))}}}]);angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function r(n){var t="-";return n.replace(/[A-Z]/g,function(n,i){return(i?t:"")+n.toLowerCase()})}var i={placement:"top",animation:!0,popupDelay:0},n={mouseenter:"mouseleave",click:"click",focus:"blur"},t={};this.options=function(n){angular.extend(t,n)};this.setTriggers=function(t){angular.extend(n,t)};this.$get=["$window","$compile","$timeout","$document","$position","$interpolate",function(u,f,e,o,s,h){return function(u,c,l){function p(t){var i=t||a.trigger||l,r=n[i]||i;return{show:i,hide:r}}var a=angular.extend({},i,t),w=r(u),v=h.startSymbol(),y=h.endSymbol(),b="<div "+w+'-popup title="'+v+"title"+y+'" content="'+v+"content"+y+'" placement="'+v+"placement"+y+'" animation="animation" is-open="isOpen"><\/div>';return{restrict:"EA",compile:function(){var n=f(b);return function(t,i,r){function ot(){f.isOpen?g():d()}function d(){(!et||t.$eval(r[c+"Enable"]))&&(ht(),f.popupDelay?y||(y=e(ft,f.popupDelay,!1),y.then(function(n){n()})):ft()())}function g(){t.$apply(function(){nt()})}function ft(){return(y=null,v&&(e.cancel(v),v=null),!f.content)?angular.noop:(st(),h.css({top:0,left:0,display:"block"}),f.$digest(),ut(),f.isOpen=!0,f.$digest(),ut)}function nt(){f.isOpen=!1;e.cancel(y);y=null;f.animation?v||(v=e(k,500)):k()}function st(){h&&k();w=f.$new();h=n(w,function(n){b?o.find("body").append(n):i.after(n)})}function k(){v=null;h&&(h.remove(),h=null);w&&(w.$destroy(),w=null)}function ht(){ct();lt()}function ct(){var n=r[c+"Placement"];f.placement=angular.isDefined(n)?n:a.placement}function lt(){var t=r[c+"PopupDelay"],n=parseInt(t,10);f.popupDelay=isNaN(n)?a.popupDelay:n}function at(){var n=r[c+"Trigger"];tt();l=p(n);l.show===l.hide?i.bind(l.show,ot):(i.bind(l.show,d),i.bind(l.hide,g))}var h,w,v,y,b=angular.isDefined(a.appendToBody)?a.appendToBody:!1,l=p(undefined),et=angular.isDefined(r[c+"Enable"]),f=t.$new(!0),ut=function(){var n=s.positionElements(i,h,f.placement,b);n.top+="px";n.left+="px";h.css(n)},tt,it,rt;f.isOpen=!1;r.$observe(u,function(n){f.content=n;!n&&f.isOpen&&nt()});r.$observe(c+"Title",function(n){f.title=n});tt=function(){i.unbind(l.show,d);i.unbind(l.hide,g)};at();it=t.$eval(r[c+"Animation"]);f.animation=angular.isDefined(it)?!!it:a.animation;rt=t.$eval(r[c+"AppendToBody"]);b=angular.isDefined(rt)?rt:b;b&&t.$on("$locationChangeSuccess",function(){f.isOpen&&nt()});t.$on("$destroy",function(){e.cancel(v);e.cancel(y);tt();k();f=null})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(n){return n("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(n){return n("tooltipHtmlUnsafe","tooltip","mouseenter")}]);angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("popoverPopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html"}}).directive("popover",["$tooltip",function(n){return n("popover","popover","click")}]);angular.module("ui.bootstrap.progressbar",[]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig",function(n,t,i){var r=this,u=angular.isDefined(t.animate)?n.$parent.$eval(t.animate):i.animate;this.bars=[];n.max=angular.isDefined(t.max)?n.$parent.$eval(t.max):i.max;this.addBar=function(t,i){u||i.css({transition:"none"});this.bars.push(t);t.$watch("value",function(i){t.percent=+(100*i/n.max).toFixed(2)});t.$on("$destroy",function(){i=null;r.removeBar(t)})};this.removeBar=function(n){this.bars.splice(this.bars.indexOf(n),1)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},templateUrl:"template/progressbar/progress.html"}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(n,t,i,r){r.addBar(n,t)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(n,t,i,r){r.addBar(n,angular.element(t.children()[0]))}}});angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","ratingConfig",function(n,t,i){var r={$setViewValue:angular.noop};this.init=function(u){r=u;r.$render=this.render;this.stateOn=angular.isDefined(t.stateOn)?n.$parent.$eval(t.stateOn):i.stateOn;this.stateOff=angular.isDefined(t.stateOff)?n.$parent.$eval(t.stateOff):i.stateOff;var f=angular.isDefined(t.ratingStates)?n.$parent.$eval(t.ratingStates):new Array(angular.isDefined(t.max)?n.$parent.$eval(t.max):i.max);n.range=this.buildTemplateObjects(f)};this.buildTemplateObjects=function(n){for(var t=0,i=n.length;t<i;t++)n[t]=angular.extend({index:t},{stateOn:this.stateOn,stateOff:this.stateOff},n[t]);return n};n.rate=function(t){!n.readonly&&t>=0&&t<=n.range.length&&(r.$setViewValue(t),r.$render())};n.enter=function(t){n.readonly||(n.value=t);n.onHover({value:t})};n.reset=function(){n.value=r.$viewValue;n.onLeave()};n.onKeydown=function(t){/(37|38|39|40)/.test(t.which)&&(t.preventDefault(),t.stopPropagation(),n.rate(n.value+(t.which===38||t.which===39?1:-1)))};this.render=function(){n.value=r.$viewValue}}]).directive("rating",function(){return{restrict:"EA",require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(n,t,i,r){var f=r[0],u=r[1];u&&f.init(u)}}});angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function(n){var i=this,t=i.tabs=n.tabs=[],r;i.select=function(n){angular.forEach(t,function(t){t.active&&t!==n&&(t.active=!1,t.onDeselect())});n.active=!0;n.onSelect()};i.addTab=function(n){t.push(n);t.length===1?n.active=!0:n.active&&i.select(n)};i.removeTab=function(n){var u=t.indexOf(n),f;n.active&&t.length>1&&!r&&(f=u==t.length-1?u-1:u+1,i.select(t[f]));t.splice(u,1)};n.$on("$destroy",function(){r=!0})}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(n,t,i){n.vertical=angular.isDefined(i.vertical)?n.$parent.$eval(i.vertical):!1;n.justified=angular.isDefined(i.justified)?n.$parent.$eval(i.justified):!1}}}).directive("tab",["$parse",function(n){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(t,i,r){return function(t,i,u,f){t.$watch("active",function(n){n&&f.select(t)});t.disabled=!1;u.disabled&&t.$parent.$watch(n(u.disabled),function(n){t.disabled=!!n});t.select=function(){t.disabled||(t.active=!0)};f.addTab(t);t.$on("$destroy",function(){f.removeTab(t)});t.$transcludeFn=r}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(n,t){n.$watch("headingElement",function(n){n&&(t.html(""),t.append(n))})}}}]).directive("tabContentTransclude",function(){function n(n){return n.tagName&&(n.hasAttribute("tab-heading")||n.hasAttribute("data-tab-heading")||n.tagName.toLowerCase()==="tab-heading"||n.tagName.toLowerCase()==="data-tab-heading")}return{restrict:"A",require:"^tabset",link:function(t,i,r){var u=t.$eval(r.tabContentTransclude);u.$transcludeFn(u.$parent,function(t){angular.forEach(t,function(t){n(t)?u.headingElement=t:i.append(t)})})}}});angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).controller("TimepickerController",["$scope","$attrs","$parse","$log","$locale","timepickerConfig",function(n,t,i,r,u,f){function p(){var t=parseInt(n.hours,10),i=n.showMeridian?t>0&&t<13:t>=0&&t<24;return i?(n.showMeridian&&(t===12&&(t=0),n.meridian===v[1]&&(t=t+12)),t):undefined}function w(){var t=parseInt(n.minutes,10);return t>=0&&t<60?t:undefined}function l(n){return angular.isDefined(n)&&n.toString().length<2?"0"+n:n}function a(n){b();o.$setViewValue(new Date(e));y(n)}function b(){o.$setValidity("time",!0);n.invalidHours=!1;n.invalidMinutes=!1}function y(t){var i=e.getHours(),r=e.getMinutes();n.showMeridian&&(i=i===0||i===12?12:i%12);n.hours=t==="h"?i:l(i);n.minutes=t==="m"?r:l(r);n.meridian=e.getHours()<12?v[0]:v[1]}function s(n){var t=new Date(e.getTime()+n*6e4);e.setHours(t.getHours(),t.getMinutes());a()}var e=new Date,o={$setViewValue:angular.noop},v=angular.isDefined(t.meridians)?n.$parent.$eval(t.meridians):f.meridians||u.DATETIME_FORMATS.AMPMS,h,c;this.init=function(i,r){o=i;o.$render=this.render;var u=r.eq(0),e=r.eq(1),s=angular.isDefined(t.mousewheel)?n.$parent.$eval(t.mousewheel):f.mousewheel;s&&this.setupMousewheelEvents(u,e);n.readonlyInput=angular.isDefined(t.readonlyInput)?n.$parent.$eval(t.readonlyInput):f.readonlyInput;this.setupInputEvents(u,e)};h=f.hourStep;t.hourStep&&n.$parent.$watch(i(t.hourStep),function(n){h=parseInt(n,10)});c=f.minuteStep;t.minuteStep&&n.$parent.$watch(i(t.minuteStep),function(n){c=parseInt(n,10)});n.showMeridian=f.showMeridian;t.showMeridian&&n.$parent.$watch(i(t.showMeridian),function(t){if(n.showMeridian=!!t,o.$error.time){var i=p(),r=w();angular.isDefined(i)&&angular.isDefined(r)&&(e.setHours(i),a())}else y()});this.setupMousewheelEvents=function(t,i){var r=function(n){n.originalEvent&&(n=n.originalEvent);var t=n.wheelDelta?n.wheelDelta:-n.deltaY;return n.detail||t>0};t.bind("mousewheel wheel",function(t){n.$apply(r(t)?n.incrementHours():n.decrementHours());t.preventDefault()});i.bind("mousewheel wheel",function(t){n.$apply(r(t)?n.incrementMinutes():n.decrementMinutes());t.preventDefault()})};this.setupInputEvents=function(t,i){if(n.readonlyInput){n.updateHours=angular.noop;n.updateMinutes=angular.noop;return}var r=function(t,i){o.$setViewValue(null);o.$setValidity("time",!1);angular.isDefined(t)&&(n.invalidHours=t);angular.isDefined(i)&&(n.invalidMinutes=i)};n.updateHours=function(){var n=p();angular.isDefined(n)?(e.setHours(n),a("h")):r(!0)};t.bind("blur",function(){!n.invalidHours&&n.hours<10&&n.$apply(function(){n.hours=l(n.hours)})});n.updateMinutes=function(){var n=w();angular.isDefined(n)?(e.setMinutes(n),a("m")):r(undefined,!0)};i.bind("blur",function(){!n.invalidMinutes&&n.minutes<10&&n.$apply(function(){n.minutes=l(n.minutes)})})};this.render=function(){var n=o.$modelValue?new Date(o.$modelValue):null;isNaN(n)?(o.$setValidity("time",!1),r.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(n&&(e=n),b(),y())};n.incrementHours=function(){s(h*60)};n.decrementHours=function(){s(-h*60)};n.incrementMinutes=function(){s(c)};n.decrementMinutes=function(){s(-c)};n.toggleMeridian=function(){s(720*(e.getHours()<12?1:-1))}}]).directive("timepicker",function(){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(n,t,i,r){var f=r[0],u=r[1];u&&f.init(u,t.find("input"))}}});angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function(n){var t=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(i){var r=i.match(t);if(!r)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+i+'".');return{itemName:r[3],source:n(r[4]),viewMapper:n(r[2]||r[1]),modelMapper:n(r[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function(n,t,i,r,u,f,e){var o=[9,13,27,38,40];return{require:"ngModel",link:function(s,h,c,l){var st=s.$eval(c.typeaheadMinLength)||1,ft=s.$eval(c.typeaheadWaitMs)||0,ht=s.$eval(c.typeaheadEditable)!==!1,p=t(c.typeaheadLoading).assign||angular.noop,ct=t(c.typeaheadOnSelect),et=c.typeaheadInputFormatter?t(c.typeaheadInputFormatter):undefined,d=c.typeaheadAppendToBody?s.$eval(c.typeaheadAppendToBody):!1,lt=s.$eval(c.typeaheadFocusFirst)!==!1,at=t(c.ngModel).assign,v=e.parse(c.typeahead),g,a=s.$new(),w,b,y,nt,tt,it,ot,rt,ut,k;s.$on("$destroy",function(){a.$destroy()});w="typeahead-"+a.$id+"-"+Math.floor(Math.random()*1e4);h.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":w});b=angular.element("<div typeahead-popup><\/div>");b.attr({id:w,matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"});angular.isDefined(c.typeaheadTemplateUrl)&&b.attr("template-url",c.typeaheadTemplateUrl);y=function(){a.matches=[];a.activeIdx=-1;h.attr("aria-expanded",!1)};nt=function(n){return w+"-option-"+n};a.$watch("activeIdx",function(n){n<0?h.removeAttr("aria-activedescendant"):h.attr("aria-activedescendant",nt(n))});tt=function(n){var t={$viewValue:n};p(s,!0);i.when(v.source(s,t)).then(function(i){var u=n===l.$viewValue,r;if(u&&g)if(i.length>0){for(a.activeIdx=lt?0:-1,a.matches.length=0,r=0;r<i.length;r++)t[v.itemName]=i[r],a.matches.push({id:nt(r),label:v.viewMapper(a,t),model:i[r]});a.query=n;a.position=d?f.offset(h):f.position(h);a.position.top=a.position.top+h.prop("offsetHeight");h.attr("aria-expanded",!0)}else y();u&&p(s,!1)},function(){y();p(s,!1)})};y();a.query=undefined;ot=function(n){it=r(function(){tt(n)},ft)};rt=function(){it&&r.cancel(it)};l.$parsers.unshift(function(n){return g=!0,n&&n.length>=st?ft>0?(rt(),ot(n)):tt(n):(p(s,!1),rt(),y()),ht?n:n?(l.$setValidity("editable",!1),undefined):(l.$setValidity("editable",!0),n)});l.$formatters.push(function(n){var i,r,t={};return et?(t.$model=n,et(s,t)):(t[v.itemName]=n,i=v.viewMapper(s,t),t[v.itemName]=undefined,r=v.viewMapper(s,t),i!==r?i:n)});a.select=function(n){var t={},i,u;t[v.itemName]=u=a.matches[n].model;i=v.modelMapper(s,t);at(s,i);l.$setValidity("editable",!0);ct(s,{$item:u,$model:i,$label:v.viewMapper(s,t)});y();r(function(){h[0].focus()},0,!1)};h.bind("keydown",function(n){a.matches.length!==0&&o.indexOf(n.which)!==-1&&(a.activeIdx!=-1||n.which!==13&&n.which!==9)&&(n.preventDefault(),n.which===40?(a.activeIdx=(a.activeIdx+1)%a.matches.length,a.$digest()):n.which===38?(a.activeIdx=(a.activeIdx>0?a.activeIdx:a.matches.length)-1,a.$digest()):n.which===13||n.which===9?a.$apply(function(){a.select(a.activeIdx)}):n.which===27&&(n.stopPropagation(),y(),a.$digest()))});h.bind("blur",function(){g=!1});ut=function(n){h[0]!==n.target&&(y(),a.$digest())};u.bind("click",ut);s.$on("$destroy",function(){u.unbind("click",ut);d&&k.remove()});k=n(b)(a);d?u.find("body").append(k):h.after(k)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(n,t,i){n.templateUrl=i.templateUrl;n.isOpen=function(){return n.matches.length>0};n.isActive=function(t){return n.active==t};n.selectActive=function(t){n.active=t};n.selectMatch=function(t){n.select({activeIdx:t})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function(n,t,i,r){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(u,f,e){var o=r(e.templateUrl)(u.$parent)||"template/typeahead/typeahead-match.html";n.get(o,{cache:t}).success(function(n){f.replaceWith(i(n.trim())(u))})}}}]).filter("typeaheadHighlight",function(){function n(n){return n.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(t,i){return i?(""+t).replace(new RegExp(n(i),"gi"),"<strong>$&<\/strong>"):t}});angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function(n){n.put("template/accordion/accordion-group.html",'<div class="panel panel-default">\n  <div class="panel-heading">\n    <h4 class="panel-title">\n      <a href class="accordion-toggle" ng-click="toggleOpen()" accordion-transclude="heading"><span ng-class="{\'text-muted\': isDisabled}">{{heading}}<\/span><\/a>\n    <\/h4>\n  <\/div>\n  <div class="panel-collapse" collapse="!isOpen">\n\t  <div class="panel-body" ng-transclude><\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("template/accordion/accordion.html",[]).run(["$templateCache",function(n){n.put("template/accordion/accordion.html",'<div class="panel-group" ng-transclude><\/div>')}]);angular.module("template/alert/alert.html",[]).run(["$templateCache",function(n){n.put("template/alert/alert.html",'<div class="alert" ng-class="[\'alert-\' + (type || \'warning\'), closeable ? \'alert-dismissable\' : null]" role="alert">\n    <button ng-show="closeable" type="button" class="close" ng-click="close()">\n        <span aria-hidden="true">&times;<\/span>\n        <span class="sr-only">Close<\/span>\n    <\/button>\n    <div ng-transclude><\/div>\n<\/div>\n')}]);angular.module("template/carousel/carousel.html",[]).run(["$templateCache",function(n){n.put("template/carousel/carousel.html",'<div ng-mouseenter="pause()" ng-mouseleave="play()" class="carousel" ng-swipe-right="prev()" ng-swipe-left="next()">\n    <ol class="carousel-indicators" ng-show="slides.length > 1">\n        <li ng-repeat="slide in slides track by $index" ng-class="{active: isActive(slide)}" ng-click="select(slide)"><\/li>\n    <\/ol>\n    <div class="carousel-inner" ng-transclude><\/div>\n    <a class="left carousel-control" ng-click="prev()" ng-show="slides.length > 1"><span class="glyphicon glyphicon-chevron-left"><\/span><\/a>\n    <a class="right carousel-control" ng-click="next()" ng-show="slides.length > 1"><span class="glyphicon glyphicon-chevron-right"><\/span><\/a>\n<\/div>\n')}]);angular.module("template/carousel/slide.html",[]).run(["$templateCache",function(n){n.put("template/carousel/slide.html","<div ng-class=\"{\n    'active': leaving || (active && !entering),\n    'prev': (next || active) && direction=='prev',\n    'next': (next || active) && direction=='next',\n    'right': direction=='prev',\n    'left': direction=='next'\n  }\" class=\"item text-center\" ng-transclude><\/div>\n")}]);angular.module("template/datepicker/datepicker.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/datepicker.html",'<div ng-switch="datepickerMode" role="application" ng-keydown="keydown($event)">\n  <daypicker ng-switch-when="day" tabindex="0"><\/daypicker>\n  <monthpicker ng-switch-when="month" tabindex="0"><\/monthpicker>\n  <yearpicker ng-switch-when="year" tabindex="0"><\/yearpicker>\n<\/div>')}]);angular.module("template/datepicker/day.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/day.html",'<table role="grid" aria-labelledby="{{uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-primary btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"><\/i><\/button><\/th>\n      <th colspan="{{5 + showWeeks}}"><button id="{{uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-primary btn-sm" ng-click="toggleMode()" tabindex="-1" style="width:100%;"><strong>{{title}}<\/strong><\/button><\/th>\n      <th><button type="button" class="btn btn-primary btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"><\/i><\/button><\/th>\n    <\/tr>\n    <tr>\n      <th ng-show="showWeeks" class="text-center"><\/th>\n      <th ng-repeat="label in labels track by $index" class="text-center"><small aria-label="{{label.full}}">{{label.abbr}}<\/small><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-show="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}<\/em><\/td>\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{dt.uid}}" aria-disabled="{{!!dt.disabled}}">\n        <button type="button" style="width:100%;background-color:#fff;" class="btn btn-sm" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{dt.label}}<\/span><\/button>\n      <\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("template/datepicker/month.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/month.html",'<table role="grid" aria-labelledby="{{uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-primary btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"><\/i><\/button><\/th>\n      <th><button id="{{uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-primary btn-sm" ng-click="toggleMode()" tabindex="-1" style="width:100%;"><strong>{{title}}<\/strong><\/button><\/th>\n      <th><button type="button" class="btn btn-primary btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"><\/i><\/button><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{dt.uid}}" aria-disabled="{{!!dt.disabled}}">\n        <button type="button" style="width:100%;background-color:#fff;" class="btn" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="{\'text-info\': dt.current}">{{dt.label}}<\/span><\/button>\n      <\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("template/datepicker/popup.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/popup.html",'<ul class="dropdown-menu" ng-style="{display: (isOpen && \'block\') || \'none\', top: position.top+\'px\', left: position.left+\'px\'}" ng-keydown="keydown($event)">\n\t<li ng-transclude><\/li>\n\t<li ng-if="showButtonBar" style="padding:10px 9px 2px">\n\t\t<span class="btn-group">\n\t\t\t<button type="button" class="btn btn-sm btn-info" ng-click="select(\'today\')">{{ getText(\'current\') }}<\/button>\n\t\t\t<button type="button" class="btn btn-sm btn-danger" ng-click="select(null)">{{ getText(\'clear\') }}<\/button>\n\t\t<\/span>\n\t\t<button type="button" class="btn btn-sm btn-success pull-right" ng-click="close()">{{ getText(\'close\') }}<\/button>\n\t<\/li>\n<\/ul>\n')}]);angular.module("template/datepicker/year.html",[]).run(["$templateCache",function(n){n.put("template/datepicker/year.html",'<table role="grid" aria-labelledby="{{uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-primary btn-sm pull-left" ng-click="move(-1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-left"><\/i><\/button><\/th>\n      <th colspan="3"><button id="{{uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-primary btn-sm" ng-click="toggleMode()" tabindex="-1" style="width:100%;"><strong>{{title}}<\/strong><\/button><\/th>\n      <th><button type="button" class="btn btn-primary btn-sm pull-right" ng-click="move(1)" tabindex="-1"><i class="glyphicon glyphicon-chevron-right"><\/i><\/button><\/th>\n    <\/tr>\n  <\/thead>\n  <tbody>\n    <tr ng-repeat="row in rows track by $index">\n      <td ng-repeat="dt in row track by dt.date" class="text-center" role="gridcell" id="{{dt.uid}}" aria-disabled="{{!!dt.disabled}}">\n        <button type="button" style="width:100%;background-color:#fff;" class="btn" ng-class="{\'btn-info\': dt.selected, active: isActive(dt)}" ng-click="select(dt.date)" ng-disabled="dt.disabled" tabindex="-1"><span ng-class="{\'text-info\': dt.current}">{{dt.label}}<\/span><\/button>\n      <\/td>\n    <\/tr>\n  <\/tbody>\n<\/table>\n')}]);angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(n){n.put("template/modal/backdrop.html",'<div class="modal-backdrop fade {{ backdropClass }}"\n     ng-class="{in: animate}"\n     ng-style="{\'z-index\': 1040 + (index && 1 || 0) + index*10}"\n><\/div>\n')}]);angular.module("template/modal/window.html",[]).run(["$templateCache",function(n){n.put("template/modal/window.html",'<div tabindex="-1" role="dialog" class="modal fade" ng-class="{in: animate}" ng-style="{\'z-index\': 1050 + index*10, display: \'block\'}" ng-click="close($event)">\n    <div class="modal-dialog" ng-class="{\'modal-sm\': size == \'sm\', \'modal-lg\': size == \'lg\'}"><div class="modal-content" modal-transclude><\/div><\/div>\n<\/div>')}]);angular.module("template/pagination/pager.html",[]).run(["$templateCache",function(n){n.put("template/pagination/pager.html",'<ul class="pager">\n  <li ng-class="{disabled: noPrevious(), previous: align}"><a href ng-click="selectPage(page - 1)">{{getText(\'previous\')}}<\/a><\/li>\n  <li ng-class="{disabled: noNext(), next: align}"><a href ng-click="selectPage(page + 1)">{{getText(\'next\')}}<\/a><\/li>\n<\/ul>')}]);angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function(n){n.put("template/pagination/pagination.html",'<ul class="pagination">\n  <li ng-if="boundaryLinks" ng-class="{disabled: noPrevious()}"><a href ng-click="selectPage(1)">{{getText(\'first\')}}<\/a><\/li>\n  <li ng-if="directionLinks" ng-class="{disabled: noPrevious()}"><a href ng-click="selectPage(page - 1)">{{getText(\'previous\')}}<\/a><\/li>\n  <li ng-repeat="page in pages track by $index" ng-class="{active: page.active}"><a href ng-click="selectPage(page.number)">{{page.text}}<\/a><\/li>\n  <li ng-if="directionLinks" ng-class="{disabled: noNext()}"><a href ng-click="selectPage(page + 1)">{{getText(\'next\')}}<\/a><\/li>\n  <li ng-if="boundaryLinks" ng-class="{disabled: noNext()}"><a href ng-click="selectPage(totalPages)">{{getText(\'last\')}}<\/a><\/li>\n<\/ul>')}]);angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function(n){n.put("template/tooltip/tooltip-html-unsafe-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n  <div class="tooltip-arrow"><\/div>\n  <div class="tooltip-inner" bind-html-unsafe="content"><\/div>\n<\/div>\n')}]);angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(n){n.put("template/tooltip/tooltip-popup.html",'<div class="tooltip {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n  <div class="tooltip-arrow"><\/div>\n  <div class="tooltip-inner" ng-bind="content"><\/div>\n<\/div>\n')}]);angular.module("template/popover/popover.html",[]).run(["$templateCache",function(n){n.put("template/popover/popover.html",'<div class="popover {{placement}}" ng-class="{ in: isOpen(), fade: animation() }">\n  <div class="arrow"><\/div>\n\n  <div class="popover-inner">\n      <h3 class="popover-title" ng-bind="title" ng-show="title"><\/h3>\n      <div class="popover-content" ng-bind="content"><\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("template/progressbar/bar.html",[]).run(["$templateCache",function(n){n.put("template/progressbar/bar.html",'<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: percent + \'%\'}" aria-valuetext="{{percent | number:0}}%" ng-transclude><\/div>')}]);angular.module("template/progressbar/progress.html",[]).run(["$templateCache",function(n){n.put("template/progressbar/progress.html",'<div class="progress" ng-transclude><\/div>')}]);angular.module("template/progressbar/progressbar.html",[]).run(["$templateCache",function(n){n.put("template/progressbar/progressbar.html",'<div class="progress">\n  <div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: percent + \'%\'}" aria-valuetext="{{percent | number:0}}%" ng-transclude><\/div>\n<\/div>')}]);angular.module("template/rating/rating.html",[]).run(["$templateCache",function(n){n.put("template/rating/rating.html",'<span ng-mouseleave="reset()" ng-keydown="onKeydown($event)" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="{{range.length}}" aria-valuenow="{{value}}">\n    <i ng-repeat="r in range track by $index" ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < value && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')">\n        <span class="sr-only">({{ $index < value ? \'*\' : \' \' }})<\/span>\n    <\/i>\n<\/span>')}]);angular.module("template/tabs/tab.html",[]).run(["$templateCache",function(n){n.put("template/tabs/tab.html",'<li ng-class="{active: active, disabled: disabled}">\n  <a href ng-click="select()" tab-heading-transclude>{{heading}}<\/a>\n<\/li>\n')}]);angular.module("template/tabs/tabset.html",[]).run(["$templateCache",function(n){n.put("template/tabs/tabset.html",'<div>\n  <ul class="nav nav-{{type || \'tabs\'}}" ng-class="{\'nav-stacked\': vertical, \'nav-justified\': justified}" ng-transclude><\/ul>\n  <div class="tab-content">\n    <div class="tab-pane" \n         ng-repeat="tab in tabs" \n         ng-class="{active: tab.active}"\n         tab-content-transclude="tab">\n    <\/div>\n  <\/div>\n<\/div>\n')}]);angular.module("template/timepicker/timepicker.html",[]).run(["$templateCache",function(n){n.put("template/timepicker/timepicker.html",'<table>\n\t<tbody>\n\t\t<tr class="text-center">\n\t\t\t<td><a ng-click="incrementHours()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-up"><\/span><\/a><\/td>\n\t\t\t<td>&nbsp;<\/td>\n\t\t\t<td><a ng-click="incrementMinutes()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-up"><\/span><\/a><\/td>\n\t\t\t<td ng-show="showMeridian"><\/td>\n\t\t<\/tr>\n\t\t<tr>\n\t\t\t<td style="width:50px;" class="form-group" ng-class="{\'has-error\': invalidHours}">\n\t\t\t\t<input type="text" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-mousewheel="incrementHours()" ng-readonly="readonlyInput" maxlength="2">\n\t\t\t<\/td>\n\t\t\t<td>:<\/td>\n\t\t\t<td style="width:50px;" class="form-group" ng-class="{\'has-error\': invalidMinutes}">\n\t\t\t\t<input type="text" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="readonlyInput" maxlength="2">\n\t\t\t<\/td>\n\t\t\t<td ng-show="showMeridian"><button type="button" class="btn btn-default text-center" ng-click="toggleMeridian()">{{meridian}}<\/button><\/td>\n\t\t<\/tr>\n\t\t<tr class="text-center">\n\t\t\t<td><a ng-click="decrementHours()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-down"><\/span><\/a><\/td>\n\t\t\t<td>&nbsp;<\/td>\n\t\t\t<td><a ng-click="decrementMinutes()" class="btn btn-link"><span class="glyphicon glyphicon-chevron-down"><\/span><\/a><\/td>\n\t\t\t<td ng-show="showMeridian"><\/td>\n\t\t<\/tr>\n\t<\/tbody>\n<\/table>\n')}]);angular.module("template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(n){n.put("template/typeahead/typeahead-match.html",'<a tabindex="-1" bind-html-unsafe="match.label | typeaheadHighlight:query"><\/a>')}]);angular.module("template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(n){n.put("template/typeahead/typeahead-popup.html",'<ul class="dropdown-menu" ng-show="isOpen()" ng-style="{top: position.top+\'px\', left: position.left+\'px\'}" style="display: block;" role="listbox" aria-hidden="{{!isOpen()}}">\n    <li ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index)" role="option" id="{{match.id}}">\n        <div typeahead-match index="$index" match="match" query="query" template-url="templateUrl"><\/div>\n    <\/li>\n<\/ul>\n')}]),function(n,t){"use strict";var i=["ngInclude","ngPluralize","ngView","ngSwitch","uiCurrency","uiCodemirror","uiDate","uiEvent","uiKeypress","uiKeyup","uiKeydown","uiMask","uiMapInfoWindow","uiMapMarker","uiMapPolyline","uiMapPolygon","uiMapRectangle","uiMapCircle","uiMapGroundOverlay","uiModal","uiReset","uiScrollfix","uiSelect2","uiShow","uiHide","uiToggle","uiSortable","uiTinymce"],e,r,o,f,u,s,h;for(n.myCustomTags=n.myCustomTags||[],i.push.apply(i,n.myCustomTags),e=function(n){var t=[],e=n.replace(/([A-Z])/g,function(n){return" "+n.toLowerCase()}),u=e.split(" "),f,i,r;return u.length===1?(f=u[0],t.push(f),t.push("x-"+f),t.push("data-"+f)):(i=u[0],r=u.slice(1).join("-"),t.push(i+":"+r),t.push(i+"-"+r),t.push("x-"+i+"-"+r),t.push("data-"+i+"-"+r)),t},r=0,o=i.length;r<o;r++)for(f=e(i[r]),u=0,s=f.length;u<s;u++)h=f[u],t.createElement(h)}(window,document);angular.module("ui.alias",[]).config(["$compileProvider","uiAliasConfig",function(n,t){"use strict";t=t||{};angular.forEach(t,function(t,i){angular.isString(t)&&(t={replace:!0,template:t});n.directive(i,function(){return t})})}]);angular.module("ui.event",[]).directive("uiEvent",["$parse",function(n){"use strict";return function(t,i,r){var u=t.$eval(r.uiEvent);angular.forEach(u,function(r,u){var f=n(r);i.bind(u,function(n){var i=Array.prototype.slice.call(arguments);i=i.splice(1);f(t,{$event:n,$params:i});t.$$phase||t.$apply()})})}}]);angular.module("ui.format",[]).filter("format",function(){"use strict";return function(n,t){var i=n,r,u;return angular.isString(i)&&t!==undefined&&(angular.isArray(t)||angular.isObject(t)||(t=[t]),angular.isArray(t)?(r=t.length,u=function(n,i){return i=parseInt(i,10),i>=0&&i<r?t[i]:n},i=i.replace(/\$([0-9]+)/g,u)):angular.forEach(t,function(n,t){i=i.split(":"+t).join(n)})),i}});angular.module("ui.highlight",[]).filter("highlight",function(){"use strict";return function(n,t,i){return n&&(t||angular.isNumber(t))?(n=n.toString(),t=t.toString(),i?n.split(t).join('<span class="ui-match">'+t+"<\/span>"):n.replace(new RegExp(t,"gi"),'<span class="ui-match">$&<\/span>')):n}});angular.module("ui.include",[]).directive("uiInclude",["$http","$templateCache","$anchorScroll","$compile",function(n,t,i,r){"use strict";return{restrict:"ECA",terminal:!0,compile:function(u,f){var o=f.uiInclude||f.src,s=f.fragment||"",h=f.onload||"",e=f.autoscroll;return function(u,f){function v(){var v=++l,y=u.$eval(o),p=u.$eval(s);y?n.get(y,{cache:t}).success(function(n){if(v===l){c&&c.$destroy();c=u.$new();var t;t=p?angular.element("<div/>").html(n).find(p):angular.element("<div/>").html(n).contents();f.html(t);r(t)(c);angular.isDefined(e)&&(!e||u.$eval(e))&&i();c.$emit("$includeContentLoaded");u.$eval(h)}}).error(function(){v===l&&a()}):a()}var l=0,c,a=function(){c&&(c.$destroy(),c=null);f.html("")};u.$watch(s,v);u.$watch(o,v)}}}}]);angular.module("ui.indeterminate",[]).directive("uiIndeterminate",[function(){"use strict";return{compile:function(n,t){return!t.type||t.type.toLowerCase()!=="checkbox"?angular.noop:function(n,t,i){n.$watch(i.uiIndeterminate,function(n){t[0].indeterminate=!!n})}}}}]);angular.module("ui.inflector",[]).filter("inflector",function(){"use strict";function n(n){return n=n.replace(/([A-Z])|([\-|\_])/g,function(n,t){return" "+(t||"")}),n.replace(/\s\s+/g," ").trim().toLowerCase().split(" ")}function t(n){var t=[];return angular.forEach(n,function(n){t.push(n.charAt(0).toUpperCase()+n.substr(1))}),t}var i={humanize:function(i){return t(n(i)).join(" ")},underscore:function(t){return n(t).join("_")},variable:function(i){return i=n(i),i[0]+t(i.slice(1)).join("")}};return function(n,t){return t!==!1&&angular.isString(n)?(t=t||"humanize",i[t](n)):n}});angular.module("ui.jq",[]).value("uiJqConfig",{}).directive("uiJq",["uiJqConfig","$timeout",function(n,t){"use strict";return{restrict:"A",compile:function(i,r){if(!angular.isFunction(i[r.uiJq]))throw new Error('ui-jq: The "'+r.uiJq+'" function does not exist');var u=n&&n[r.uiJq];return function(n,i,r){function e(){var t=[];return r.uiOptions?(t=n.$eval("["+r.uiOptions+"]"),angular.isObject(u)&&angular.isObject(t[0])&&(t[0]=angular.extend({},u,t[0]))):u&&(t=[u]),t}function f(){t(function(){i[r.uiJq].apply(i,e())},0,!1)}r.ngModel&&i.is("select,input,textarea")&&i.bind("change",function(){i.trigger("input")});r.uiRefresh&&n.$watch(r.uiRefresh,function(){f()});f()}}}}]);angular.module("ui.keypress",[]).factory("keypressHelper",["$parse",function(n){"use strict";var t={8:"backspace",9:"tab",13:"enter",27:"esc",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",45:"insert",46:"delete"},i=function(n){return n.charAt(0).toUpperCase()+n.slice(1)};return function(r,u,f,e){var o,s=[];o=u.$eval(e["ui"+i(r)]);angular.forEach(o,function(t,i){var r,u;u=n(t);angular.forEach(i.split(" "),function(n){r={expression:u,keys:{}};angular.forEach(n.split("-"),function(n){r.keys[n]=!0});s.push(r)})});f.bind(r,function(n){var e=!!(n.metaKey&&!n.ctrlKey),o=!!n.altKey,h=!!n.ctrlKey,f=!!n.shiftKey,i=n.keyCode;r==="keypress"&&!f&&i>=97&&i<=122&&(i=i-32);angular.forEach(s,function(r){var s=r.keys[t[i]]||r.keys[i.toString()],c=!!r.keys.meta,l=!!r.keys.alt,a=!!r.keys.ctrl,v=!!r.keys.shift;s&&c===e&&l===o&&a===h&&v===f&&u.$apply(function(){r.expression(u,{$event:n})})})})}}]);angular.module("ui.keypress").directive("uiKeydown",["keypressHelper",function(n){"use strict";return{link:function(t,i,r){n("keydown",t,i,r)}}}]);angular.module("ui.keypress").directive("uiKeypress",["keypressHelper",function(n){"use strict";return{link:function(t,i,r){n("keypress",t,i,r)}}}]);angular.module("ui.keypress").directive("uiKeyup",["keypressHelper",function(n){"use strict";return{link:function(t,i,r){n("keyup",t,i,r)}}}]);angular.module("ui.mask",[]).value("uiMaskConfig",{maskDefinitions:{"9":/\d/,A:/[a-zA-Z]/,"*":/[a-zA-Z0-9]/},clearOnBlur:!0}).directive("uiMask",["uiMaskConfig","$parse",function(n,t){"use strict";return{priority:100,require:"ngModel",restrict:"A",compile:function(){var i=n;return function(n,r,u,f){function vt(n){return angular.isDefined(n)?(ti(n),!l)?lt():(bt(),kt(),!0):lt()}function yt(n){angular.isDefined(n)&&(c=n,l&&a())}function pt(n){return l?(e=p(n||""),s=ut(e),f.$setValidity("mask",s),s&&e.length?w(e):undefined):n}function wt(n){return l?(e=p(n||""),s=ut(e),f.$viewValue=e.length?w(e):"",f.$setValidity("mask",s),e===""&&u.required&&f.$setValidity("required",!f.$error.required),s?e:undefined):n}function lt(){return l=!1,dt(),angular.isDefined(ht)?r.attr("placeholder",ht):r.removeAttr("placeholder"),angular.isDefined(ct)?r.attr("maxlength",ct):r.removeAttr("maxlength"),r.val(f.$modelValue),f.$viewValue=f.$modelValue,!1}function bt(){e=tt=p(f.$viewValue||"");g=nt=w(e);s=ut(e);var n=s&&e.length?g:"";u.maxlength&&r.attr("maxlength",o[o.length-1]*2);r.attr("placeholder",c);r.val(n);f.$viewValue=n}function kt(){v||(r.bind("blur",at),r.bind("mousedown mouseup",b),r.bind("input keyup click focus",a),v=!0)}function dt(){v&&(r.unbind("blur",at),r.unbind("mousedown",b),r.unbind("mouseup",b),r.unbind("input",a),r.unbind("keyup",a),r.unbind("click",a),r.unbind("focus",a),v=!1)}function ut(n){return n.length?n.length>=d:!0}function p(n){var i="",t=k.slice();return n=n.toString(),angular.forEach(st,function(t){n=n.replace(t,"")}),angular.forEach(n.split(""),function(n){t.length&&t[0].test(n)&&(i+=n,t.shift())}),i}function w(n){var t="",i=o.slice();return angular.forEach(c.split(""),function(r,u){n.length&&u===i[0]?(t+=n.charAt(0)||"_",n=n.substr(1),i.shift()):t+=r}),t}function gt(n){var t=u.placeholder;return typeof t!="undefined"&&t[n]?t[n]:"_"}function ni(){return c.replace(/[_]+/g,"_").replace(/([^_]+)([a-zA-Z0-9])([^_])/g,"$1$2_$3").split("_")}function ti(n){var t=0;if(o=[],k=[],c="",typeof n=="string"){d=0;var i=!1,r=0,u=n.split("");angular.forEach(u,function(n,u){h.maskDefinitions[n]?(o.push(t),c+=gt(u-r),k.push(h.maskDefinitions[n]),t++,i||d++):n==="?"?(i=!0,r++):(c+=n,t++)})}o.push(o.slice().pop()+1);st=ni();l=o.length>1?!0:!1}function at(){h.clearOnBlur&&(it=0,y=0,s&&e.length!==0||(g="",r.val(""),n.$apply(function(){f.$setViewValue("")})))}function b(n){n.type==="mousedown"?r.bind("mouseout",ft):r.unbind("mouseout",ft)}function ft(){y=ot(this);r.unbind("mouseout",ft)}function a(t){var u,s,g;if(t=t||{},u=t.which,s=t.type,u!==16&&u!==91){var c=r.val(),v=nt,b,e=p(c),lt=tt,rt=!1,i=ii(this)||0,ut=it||0,ft=i-ut,h=o[0],l=o[e.length]||o.slice().shift(),a=y||0,at=ot(this)>0,st=a>0,ht=c.length>v.length||a&&c.length>v.length-a,k=c.length<v.length||a&&c.length===v.length-a,vt=u>=37&&u<=40&&t.shiftKey,yt=u===37,ct=u===8||s!=="keyup"&&k&&ft===-1,pt=u===46||s!=="keyup"&&k&&ft===0&&!st,d=(yt||ct||s==="click")&&i>h;if(y=ot(this),!vt&&(!at||s!=="click"&&s!=="keyup")){if(s==="input"&&k&&!st&&e===lt){while(ct&&i>h&&!et(i))i--;while(pt&&i<l&&o.indexOf(i)===-1)i++;g=o.indexOf(i);e=e.substring(0,g)+e.substring(g+1);rt=!0}for(b=w(e),nt=b,tt=e,r.val(b),rt&&n.$apply(function(){f.$setViewValue(e)}),ht&&i<=h&&(i=h+1),d&&i--,i=i>l?l:i<h?h:i;!et(i)&&i>h&&i<l;)i+=d?-1:1;(d&&i<l||ht&&!et(ut))&&i++;it=i;ri(this,i)}}}function et(n){return o.indexOf(n)>-1}function ii(n){if(!n)return 0;if(n.selectionStart!==undefined)return n.selectionStart;if(document.selection){n.focus();var t=document.selection.createRange();return t.moveStart("character",n.value?-n.value.length:0),t.text.length}return 0}function ri(n,t){if(!n)return 0;if(n.offsetWidth!==0&&n.offsetHeight!==0)if(n.setSelectionRange)n.focus(),n.setSelectionRange(t,t);else if(n.createTextRange){var i=n.createTextRange();i.collapse(!0);i.moveEnd("character",t);i.moveStart("character",t);i.select()}}function ot(n){return n?n.selectionStart!==undefined?n.selectionEnd-n.selectionStart:document.selection?document.selection.createRange().text.length:0:0}var l=!1,v=!1,o,k,c,st,d,e,g,s,ht=u.placeholder,ct=u.maxlength,nt,tt,it,y,h={},rt;u.uiOptions?(h=n.$eval("["+u.uiOptions+"]"),angular.isObject(h[0])&&(h=function(n,t){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]===undefined?t[i]=angular.copy(n[i]):angular.extend(t[i],n[i]));return t}(i,h[0]))):h=i;u.$observe("uiMask",vt);u.$observe("placeholder",yt);rt=!1;u.$observe("modelViewValue",function(n){n==="true"&&(rt=!0)});n.$watch(u.ngModel,function(i){if(rt&&i){var r=t(u.ngModel);r.assign(n,f.$viewValue)}});f.$formatters.push(pt);f.$parsers.push(wt);r.bind("mousedown mouseup",b);Array.prototype.indexOf||(Array.prototype.indexOf=function(n){var u,r,t,i;if(this===null)throw new TypeError;if((u=Object(this),r=u.length>>>0,r===0)||(t=0,arguments.length>1&&(t=Number(arguments[1]),t!==t?t=0:t!==0&&t!==Infinity&&t!==-Infinity&&(t=(t>0||-1)*Math.floor(Math.abs(t)))),t>=r))return-1;for(i=t>=0?t:Math.max(r-Math.abs(t),0);i<r;i++)if(i in u&&u[i]===n)return i;return-1})}}}}]);angular.module("ui.reset",[]).value("uiResetConfig",null).directive("uiReset",["uiResetConfig",function(n){"use strict";var t=null;return n!==undefined&&(t=n),{require:"ngModel",link:function(n,i,r,u){var f;f=angular.element('<a class="ui-reset" />');i.wrap('<span class="ui-resetwrap" />').after(f);f.bind("click",function(i){i.preventDefault();n.$apply(function(){r.uiReset?u.$setViewValue(n.$eval(r.uiReset)):u.$setViewValue(t);u.$render()})})}}}]);angular.module("ui.route",[]).directive("uiRoute",["$location","$parse",function(n,t){"use strict";return{restrict:"AC",scope:!0,compile:function(i,r){var u;if(r.uiRoute)u="uiRoute";else if(r.ngHref)u="ngHref";else if(r.href)u="href";else throw new Error("uiRoute missing a route or href property on "+i[0]);return function(i,r,f){function o(t){var r=t.indexOf("#");r>-1&&(t=t.substr(r+1));e=function(){s(i,n.path().indexOf(t)>-1)};e()}function h(t){var r=t.indexOf("#");r>-1&&(t=t.substr(r+1));e=function(){var r=new RegExp("^"+t+"$",["i"]);s(i,r.test(n.path()))};e()}var s=t(f.ngModel||f.routeModel||"$uiRoute").assign,e=angular.noop;switch(u){case"uiRoute":f.uiRoute?h(f.uiRoute):f.$observe("uiRoute",h);break;case"ngHref":f.ngHref?o(f.ngHref):f.$observe("ngHref",o);break;case"href":o(f.href)}i.$on("$routeChangeSuccess",function(){e()});i.$on("$stateChangeSuccess",function(){e()})}}}}]);angular.module("ui.scroll.jqlite",["ui.scroll"]).service("jqLiteExtras",["$log","$window",function(n,t){"use strict";return{registerFor:function(n){var i,u,s,r,f,e,o;return u=angular.element.prototype.css,n.prototype.css=function(n,t){var i,r;return r=this,i=r[0],(!i||i.nodeType===3||i.nodeType===8||!i.style)?void 0:u.call(r,n,t)},e=function(n){return n&&n.document&&n.location&&n.alert&&n.setInterval},o=function(n,t,i){var r,u,s,o,f;return r=n[0],f={top:["scrollTop","pageYOffset","scrollLeft"],left:["scrollLeft","pageXOffset","scrollTop"]}[t],u=f[0],o=f[1],s=f[2],e(r)?angular.isDefined(i)?r.scrollTo(n[s].call(n),i):o in r?r[o]:r.document.documentElement[u]:angular.isDefined(i)?r[u]=i:r[u]},t.getComputedStyle?(r=function(n){return t.getComputedStyle(n,null)},i=function(n,t){return parseFloat(t)}):(r=function(n){return n.currentStyle},i=function(n,t){var f,e,o,s,i,u,r;return f=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,s=new RegExp("^("+f+")(?!px)[a-z%]+$","i"),s.test(t)?(r=n.style,e=r.left,i=n.runtimeStyle,u=i&&i.left,i&&(i.left=r.left),r.left=t,o=r.pixelLeft,r.left=e,u&&(i.left=u),o):parseFloat(t)}),s=function(n,t){var f,c,l,a,v,u,o,s,y,p,w,b,h;return e(n)?(f=document.documentElement[{height:"clientHeight",width:"clientWidth"}[t]],{base:f,padding:0,border:0,margin:0}):(h={width:[n.offsetWidth,"Left","Right"],height:[n.offsetHeight,"Top","Bottom"]}[t],f=h[0],o=h[1],s=h[2],u=r(n),w=i(n,u["padding"+o])||0,b=i(n,u["padding"+s])||0,c=i(n,u["border"+o+"Width"])||0,l=i(n,u["border"+s+"Width"])||0,a=u["margin"+o],v=u["margin"+s],y=i(n,a)||0,p=i(n,v)||0,{base:f,padding:w+b,border:c+l,margin:y+p})},f=function(n,t,i){var e,u,f;return u=s(n,t),u.base>0?{base:u.base-u.padding-u.border,outer:u.base,outerfull:u.base+u.margin}[i]:(e=r(n),f=e[t],(f<0||f===null)&&(f=n.style[t]||0),f=parseFloat(f)||0,{base:f-u.padding-u.border,outer:f,outerfull:f+u.padding+u.border+u.margin}[i])},angular.forEach({before:function(n){var t,u,f,e,o,i,r;if(o=this,u=o[0],e=o.parent(),t=e.contents(),t[0]===u)return e.prepend(n);for(f=i=1,r=t.length-1;1<=r?i<=r:i>=r;f=1<=r?++i:--i)if(t[f]===u){angular.element(t[f-1]).after(n);return}throw new Error("invalid DOM structure "+u.outerHTML);},height:function(n){var t;return t=this,angular.isDefined(n)?(angular.isNumber(n)&&(n=n+"px"),u.call(t,"height",n)):f(this[0],"height","base")},outerHeight:function(n){return f(this[0],"height",n?"outerfull":"outer")},offset:function(n){var u,t,i,r,f,e;if(f=this,arguments.length){if(n===void 0)return f;throw new Error("offset setter method is not implemented");}if(u={top:0,left:0},r=f[0],t=r&&r.ownerDocument,t)return i=t.documentElement,r.getBoundingClientRect!=null&&(u=r.getBoundingClientRect()),e=t.defaultView||t.parentWindow,{top:u.top+(e.pageYOffset||i.scrollTop)-(i.clientTop||0),left:u.left+(e.pageXOffset||i.scrollLeft)-(i.clientLeft||0)}},scrollTop:function(n){return o(this,"top",n)},scrollLeft:function(n){return o(this,"left",n)}},function(t,i){if(!n.prototype[i])return n.prototype[i]=t})}}}]).run(["$log","$window","jqLiteExtras",function(n,t,i){"use strict";if(!t.jQuery)return i.registerFor(angular.element)}]);angular.module("ui.scroll",[]).directive("uiScrollViewport",["$log",function(){"use strict";return{controller:["$scope","$element",function(n,t){return this.viewport=t,this}]}}]).directive("uiScroll",["$log","$injector","$rootScope","$timeout",function(n,t,i,r){"use strict";return{require:["?^uiScrollViewport"],transclude:"element",priority:1e3,terminal:!0,compile:function(u,f,e){return function(u,f,o,s){var v,ut,b,fi,pt,nt,wt,h,ft,tt,l,ei,oi,y,ct,bt,si,hi,ci,kt,it,lt,dt,et,c,ot,gt,st,ni,rt,ti,pi,at,p,k,li,w,ht,d,ai,g,ii,ri,vi,yi,vt,a,yt,ui;if(pi=n.debug||n.log,at=o.uiScroll.match(/^\s*(\w+)\s+in\s+([\w\.]+)\s*$/),!at)throw new Error("Expected uiScroll in form of '_item_ in _datasource_' but got '"+o.uiScroll+"'");if(rt=at[1],ct=at[2],ot=function(n,t){var i;if(n)return(i=t.match(/^([\w]+)\.(.+)$/),!i||i.length!==3)?n[t]:ot(n[i[1]],i[2])},g=function(n,t,i,r){var u;if(n&&t)return!(u=t.match(/^([\w]+)\.(.+)$/))&&t.indexOf(".")!==-1?void 0:!u||u.length!==3?(!angular.isObject(n[t])&&!r,n[t]=i):(angular.isObject(n[u[1]])||r||(n[u[1]]={}),g(n[u[1]],u[2],i,r))},y=ot(u,ct),ni=function(){return angular.isObject(y)&&typeof y.get=="function"},!ni()&&(y=t.get(ct),!ni()))throw new Error(""+ct+" is not a valid datasource");return tt=Math.max(3,+o.bufferSize||10),ft=function(){return a.outerHeight()*Math.max(.1,+o.padding||.1)},ai=function(n){var t;return(t=n[0].scrollHeight)!=null?t:n[0].document.documentElement.scrollHeight},l=null,e(u.$new(),function(n){var i,o,h,t,r,e;if(t=n[0].localName,t==="dl")throw new Error("ui-scroll directive does not support <"+n[0].localName+"> as a repeating tag: "+n[0].outerHTML);return t!=="li"&&t!=="tr"&&(t="div"),e=s[0]&&s[0].viewport?s[0].viewport:angular.element(window),e.css({"overflow-y":"auto",display:"block"}),h=function(n){var i,t,r;switch(n){case"tr":return r=angular.element("<table><tr><td><div><\/div><\/td><\/tr><\/table>"),i=r.find("div"),t=r.find("tr"),t.paddingHeight=function(){return i.height.apply(i,arguments)},t;default:return t=angular.element("<"+n+"><\/"+n+">"),t.paddingHeight=t.height,t}},o=function(n,t,i){return t[{top:"before",bottom:"after"}[i]](n),{paddingHeight:function(){return n.paddingHeight.apply(n,arguments)},insert:function(t){return n[{top:"after",bottom:"before"}[i]](t)}}},r=o(h(t),f,"top"),i=o(h(t),f,"bottom"),u.$on("$destroy",n.remove),l={viewport:e,topPadding:r.paddingHeight,bottomPadding:i.paddingHeight,append:i.insert,prepend:r.insert,bottomDataPos:function(){return ai(e)-i.paddingHeight()},topDataPos:function(){return r.paddingHeight()}}}),a=l.viewport,yt=a.scope()||i,yi=function(n){return v.topVisible=n.scope[rt],v.topVisibleElement=n.element,v.topVisibleScope=n.scope,o.topVisible&&g(yt,o.topVisible,v.topVisible),o.topVisibleElement&&g(yt,o.topVisibleElement,v.topVisibleElement),o.topVisibleScope&&g(yt,o.topVisibleScope,v.topVisibleScope),typeof y.topVisible=="function"?y.topVisible(n):void 0},ti=function(n){return v.isLoading=n,o.isLoading&&g(u,o.isLoading,n),typeof y.loading=="function"?y.loading(n):void 0},d=0,c=1,p=1,h=[],k=[],it=!1,nt=!1,w=function(n,t){for(var i,r=i=n;n<=t?i<t:i>t;r=n<=t?++i:--i)h[r].scope.$destroy(),h[r].element.remove();return h.splice(n,t-n)},li=function(){return d++,c=1,p=1,w(0,h.length),l.topPadding(0),l.bottomPadding(0),k=[],it=!1,nt=!1,b(d)},wt=function(){return a.scrollTop()+a.outerHeight()},vt=function(){return a.scrollTop()},ii=function(){return!it&&l.bottomDataPos()<wt()+ft()},ei=function(){var i,u,f,e,o,r,n,c,t,s;for(i=0,n=0,u=t=s=h.length-1;s<=0?t<=0:t>=0;u=s<=0?++t:--t)if(f=h[u],o=f.element.offset().top,r=c!==o,c=o,r&&(e=f.element.outerHeight(!0)),l.bottomDataPos()-i-e>wt()+ft())r&&(i+=e),n++,it=!1;else{if(r)break;n++}if(n>0)return l.bottomPadding(l.bottomPadding()+i),w(h.length-n,h.length),p-=n},ri=function(){return!nt&&l.topDataPos()>vt()-ft()},oi=function(){var u,f,e,t,n,o,i,r,s;for(i=0,n=0,r=0,s=h.length;r<s;r++)if(u=h[r],e=u.element.offset().top,t=o!==e,o=e,t&&(f=u.element.outerHeight(!0)),l.topDataPos()+i+f<vt()-ft())t&&(i+=f),n++,nt=!1;else{if(t)break;n++}if(n>0)return l.topPadding(l.topPadding()+i),w(0,n),c+=n},kt=function(n,t){return v.isLoading||ti(!0),k.push(t)===1?dt(n):void 0},gt=function(n){return n.displayTemp=n.css("display"),n.css("display","none")},vi=function(n){if(n.hasOwnProperty("displayTemp"))return n.css("display",n.displayTemp)},st=function(n,t){var i,f,r;return i=u.$new(),i[rt]=t,f=n>c,i.$index=n,f&&i.$index--,r={scope:i},e(i,function(t){return r.element=t,f?n===p?(gt(t),l.append(t),h.push(r)):(h[n-c].element.after(t),h.splice(n-c+1,0,r)):(gt(t),l.prepend(t),h.unshift(r))}),{appended:f,wrapper:r}},fi=function(n,t){var i;return n?l.bottomPadding(Math.max(0,l.bottomPadding()-t.element.outerHeight(!0))):(i=l.topPadding()-t.element.outerHeight(!0),i>=0?l.topPadding(i):a.scrollTop(a.scrollTop()+t.element.outerHeight(!0)))},bt=function(n,t){var i,f,e,r,c,o,u,a,s;if(ii()?kt(n,!0):ri()&&kt(n,!1),t&&t(n),k.length===0){for(o=0,s=[],u=0,a=h.length;u<a;u++)if(i=h[u],e=i.element.offset().top,r=c!==e,c=e,r&&(f=i.element.outerHeight(!0)),r&&l.topDataPos()+o+f<vt())s.push(o+=f);else{r&&yi(i);break}return s}},b=function(n,t,i){return t&&t.length?r(function(){var o,s,r,h,u,f,e,c,l;for(u=[],f=0,c=t.length;f<c;f++)r=t[f],o=r.wrapper.element,vi(o),s=o.offset().top,h!==s&&(u.push(r),h=s);for(e=0,l=u.length;e<l;e++)r=u[e],fi(r.appended,r.wrapper);return bt(n,i)}):bt(n,i)},et=function(n,t){return b(n,t,function(){return k.shift(),k.length===0?ti(!1):dt(n)})},dt=function(n){var t;return t=k[0],t?h.length&&!ii()?et(n):y.get(p,tt,function(t){var f,r,i,e;if((!n||n===d)&&!u.$$destroyed){if(r=[],t.length<tt&&(it=!0,l.bottomPadding(0)),t.length>0)for(oi(),i=0,e=t.length;i<e;i++)f=t[i],r.push(st(++p,f));return et(n,r)}}):h.length&&!ri()?et(n):y.get(c-tt,tt,function(t){var r,f,i,e;if((!n||n===d)&&!u.$$destroyed){if(f=[],t.length<tt&&(nt=!0,l.topPadding(0)),t.length>0)for(h.length&&ei(),r=i=e=t.length-1;e<=0?i<=0:i>=0;r=e<=0?++i:--i)f.unshift(st(--c,t[r]));return et(n,f)}})},ht=function(){if(!i.$$phase&&!v.isLoading)return b(),u.$apply()},ui=function(n){var t,i;return t=a[0].scrollTop,i=a[0].scrollHeight-a[0].clientHeight,t===0&&!nt||t===i&&!it?n.preventDefault():void 0},a.bind("resize",ht),a.bind("scroll",ht),a.bind("mousewheel",ui),u.$watch(y.revision,li),lt=y.scope?y.scope.$new():u.$new(),u.$on("$destroy",function(){for(var t,n=0,i=h.length;n<i;n++)t=h[n],t.scope.$destroy(),t.element.remove();return a.unbind("resize",ht),a.unbind("scroll",ht),a.unbind("mousewheel",ui)}),v={},v.isLoading=!1,pt=function(n,t){var i,r,u,f,a,e,o,s,l,v,y,b;if(r=[],angular.isArray(t))if(t.length){if(t.length===1&&t[0]===n.scope[rt])return r;for(f=n.scope.$index,e=f>c?f-c:1,i=o=0,v=t.length;o<v;i=++o)a=t[i],r.push(st(f+i,a));for(w(e,e+1),i=s=0,y=h.length;s<y;i=++s)u=h[i],u.scope.$index=c+i}else for(w(n.scope.$index-c,n.scope.$index-c+1),p--,i=l=0,b=h.length;l<b;i=++l)u=h[i],u.scope.$index=c+i;return r},v.applyUpdates=function(n,t){var i,r,u,e,f,o;if(i=[],d++,angular.isFunction(n))for(f=h.slice(0),u=0,e=f.length;u<e;u++)r=f[u],i.concat(i,pt(r,n(r.scope[rt],r.scope,r.element)));else if(n%1==0)0<=(o=n-c-1)&&o<h.length&&(i=pt(h[n-c],t));else throw new Error("applyUpdates - "+n+" is not a valid index or outside of range");return b(d,i)},o.adapter&&(ut=ot(u,o.adapter),ut||(g(u,o.adapter,{}),ut=ot(u,o.adapter)),angular.extend(ut,v),v=ut),ci=function(n,t){var r,u,i,f,e;if(angular.isFunction(n))for(u=function(t){return n(t.scope)},i=0,f=h.length;i<f;i++)r=h[i],u(r);else 0<=(e=n-c-1)&&e<h.length&&(h[n-c-1].scope[rt]=t);return null},si=function(n){var t,r,i,o,s,u,f,e,l,a,v,y;if(angular.isFunction(n)){for(i=[],u=0,l=h.length;u<l;u++)r=h[u],i.unshift(r);for(s=function(r){if(n(r.scope))return w(i.length-1-t,i.length-t),p--},t=f=0,a=i.length;f<a;t=++f)o=i[t],s(o)}else 0<=(y=n-c-1)&&y<h.length&&(w(n-c-1,n-c),p--);for(t=e=0,v=h.length;e<v;t=++e)r=h[t],r.scope.$index=c+t;return b()},hi=function(n,t){var i,r,u,f,e;if(r=[],angular.isFunction(n))throw new Error("not implemented - Insert with locator function");else 0<=(e=n-c-1)&&e<h.length&&(r.push(st(n,t)),p++);for(i=u=0,f=h.length;u<f;i=++u)t=h[i],t.scope.$index=c+i;return b(null,r)},lt.$on("insert.item",function(n,t,i){return hi(t,i)}),lt.$on("update.items",function(n,t,i){return ci(t,i)}),lt.$on("delete.items",function(n,t){return si(t)})}}}}]);angular.module("ui.scrollfix",[]).directive("uiScrollfix",["$window",function(n){"use strict";function t(){if(angular.isDefined(n.pageYOffset))return n.pageYOffset;var t=document.compatMode&&document.compatMode!=="BackCompat"?document.documentElement:document.body;return t.scrollTop}return{require:"^?uiScrollfixTarget",link:function(i,r,u,f){function c(){var n=e?u.uiScrollfix:r[0].offsetTop+o,i=f?h[0].scrollTop:t();!r.hasClass("ui-scrollfix")&&i>n?(r.addClass("ui-scrollfix"),s=n):r.hasClass("ui-scrollfix")&&i<s&&r.removeClass("ui-scrollfix")}var e=!0,o=0,s,h=f&&f.$element||angular.element(n);u.uiScrollfix?typeof u.uiScrollfix=="string"&&(u.uiScrollfix.charAt(0)==="-"?(e=!1,o=-parseFloat(u.uiScrollfix.substr(1))):u.uiScrollfix.charAt(0)==="+"&&(e=!1,o=parseFloat(u.uiScrollfix.substr(1)))):e=!1;s=e?u.uiScrollfix:r[0].offsetTop+o;h.on("scroll",c);i.$on("$destroy",function(){h.off("scroll",c)})}}}]).directive("uiScrollfixTarget",[function(){"use strict";return{controller:["$element",function(n){this.$element=n}]}}]);angular.module("ui.showhide",[]).directive("uiShow",[function(){"use strict";return function(n,t,i){n.$watch(i.uiShow,function(n){n?t.addClass("ui-show"):t.removeClass("ui-show")})}}]).directive("uiHide",[function(){"use strict";return function(n,t,i){n.$watch(i.uiHide,function(n){n?t.addClass("ui-hide"):t.removeClass("ui-hide")})}}]).directive("uiToggle",[function(){"use strict";return function(n,t,i){n.$watch(i.uiToggle,function(n){n?t.removeClass("ui-hide").addClass("ui-show"):t.removeClass("ui-show").addClass("ui-hide")})}}]);angular.module("ui.unique",[]).filter("unique",["$parse",function(n){"use strict";return function(t,i){if(i===!1)return t;if((i||angular.isUndefined(i))&&angular.isArray(t)){var r=[],f=angular.isString(i)?n(i):function(n){return n},u=function(n){return angular.isObject(n)?f(n):n};angular.forEach(t,function(n){for(var i=!1,t=0;t<r.length;t++)if(angular.equals(u(r[t]),u(n))){i=!0;break}i||r.push(n)});t=r}return t}}]);angular.module("ui.uploader",[]).service("uiUploader",uiUploader);uiUploader.$inject=["$log"];angular.module("ui.validate",[]).directive("uiValidate",function(){"use strict";return{restrict:"A",require:"ngModel",link:function(n,t,i,r){function o(t){if(angular.isString(t)){n.$watch(t,function(){angular.forEach(u,function(n){n(r.$modelValue)})});return}if(angular.isArray(t)){angular.forEach(t,function(t){n.$watch(t,function(){angular.forEach(u,function(n){n(r.$modelValue)})})});return}angular.isObject(t)&&angular.forEach(t,function(t,i){angular.isString(t)&&n.$watch(t,function(){u[i](r.$modelValue)});angular.isArray(t)&&angular.forEach(t,function(t){n.$watch(t,function(){u[i](r.$modelValue)})})})}var e,u={},f=n.$eval(i.uiValidate);f&&(angular.isString(f)&&(f={validator:f}),angular.forEach(f,function(t,i){e=function(u){var f=n.$eval(t,{$value:u});return angular.isObject(f)&&angular.isFunction(f.then)?(f.then(function(){r.$setValidity(i,!0)},function(){r.$setValidity(i,!1)}),u):f?(r.$setValidity(i,!0),u):(r.$setValidity(i,!1),u)};u[i]=e;r.$formatters.push(e);r.$parsers.push(e)}),i.uiValidateWatch&&o(n.$eval(i.uiValidateWatch)))}}});angular.module("ui.utils",["ui.event","ui.format","ui.highlight","ui.include","ui.indeterminate","ui.inflector","ui.jq","ui.keypress","ui.mask","ui.reset","ui.route","ui.scrollfix","ui.scroll","ui.scroll.jqlite","ui.showhide","ui.unique","ui.validate"])